전체 글 217

[2023 인천 송도 DEVFest] 원격 그룹 스터디

송도 DevFest에서 공부한 것들을 기록으로 남는 시간.. 적어야지 적어야지 하던 것들을 다른 공부에 치이고 미루고 하다 보니 메모한 것을 이제야 정리한다. 가장 먼저 적을 강연은 '원격 그룹 스터디'이다. 시간표를 보자마자 한 타임은 바로 이 강연을 선택했는데, 두 번의 팀 스터디를 진행하면서 좋았던 점과 피로했던 점들을 많이 느꼈기 때문에 현재는 팀 스터디를 진행하지 않고 있어서이다. 하지만 먼저 실무에 들어간 친구들을 보면, 팀 스터디는 잘만 하면 좋은 효과를 얻을 수 있는 방식이라고 느껴진다. 그럼에도 그것에 대해 어려움이 있어 도전하지 못하고 있는데, 두 번의 팀 스터디를 거치고 나서도 내가 몰랐던 점들을 이번 강연에서 보다 상세하게 느낄 수 있었다. 강연자 분은 현직에 계신 분으로, 약 7년..

etc./명사 특강 2023.12.21

OSI 7계층과 TCP/IP 4계층 비교

TCP/IP (Transmission Control Protocol / Internet Protocol)는 컴퓨터 네트워크에서 데이터 통신을 위한 표준 프로토콜 이다. 브라우저 표시줄에 https://www.naver.com을 쳤을 때, 이것이 네이버의 서버에 도달해 내 컴퓨터 화면 앞에 네이버를 띄워줄 때까지, TCP/IP의 약속을 따라 진행된다는 것이다. 이 TCP/IP에서는 내가 www.naver.com을 치고 그 화면을 받을 때까지, 데이터가 4계층에 걸쳐서 만들어지고, 다시 그 4계층을 역으로 거치는 과정이 일어난다. 그리고 이 과정에서 각 단계마다 캡슐화 라는 과정이 일어난다. 이는 데이터가 다음 계층에 의해 감싸지는 것이다. 이러한 캡슐화된 데이터는 운영체제에서 만들어지는데 운영체제는 사용자..

[AWS] EC2 추가 공부

저장소(Storage) 인스턴스 환경 설정 후, 저장소(Storage)를 결정해야 한다. EC2 인스턴스용 스토리지 유형은 '인스턴스 스토어'와 Amazon EBS(elastic blck store)로 나뉜다. 인스턴스 스토어는 인스턴스에 바로 붙어있는 저장소다. EC2 인스턴스를 생성하면 기본적으로 존재하는 스토리지다. 일부 인스턴스 유형은 이를 기본적으로 지원하지 않는데, 프리 티어에 의해 무료로 제공되는 t2.micro 역시 지원하지 않는다. 인스턴스 스토어는 기본적으로 붙어 있다는 특징으로 인해 Input, Output이 빠르다는 장점이 있으나, 인스턴스 중지/종료 시 스토어에 저장된 데이터가 모두 손실된다는 단점이 있다. 이러한 특징으로 인해 인스턴스 스토어는 데이터가 임시/단기적으로 저장이 필..

AWS 2023.12.21

[AWS] EC2. 인스턴스

EC2 : Elastic Container Service AWS에서 제공해주는 컴퓨팅 서비스(EC2, Lambda, Lightsail) 중 하나이다. Serverless의 특성을 가져 한계를 가지는 다른 두 서비스와는 달리, EC2는 AWS의 Public Cloud 환경에서 확장 가능한 컴퓨팅 자원을 제공하여 가상의 서버를 운영할 수 있는 서비스이다. 동시에 관리형 클러스터에서 실행되는 컨테이너 형태의 자원에 대해 배포, 스케줄링, 스케일링 등을 관리하는 서비스이다. EC2는 인스턴스라는 가상 컴퓨팅 환경을 기반으로 하고, AMI(Amazon Machine Image)를 이용해서 인스턴스에 필요한 소프트웨어 정보를 정의한다. EC2 인스턴스는 사용자가 요구하는 CPU, 디스크, 메모리, 소프트웨어, 운영..

AWS 2023.12.20

Django Template Engine은 무엇이고 어떤 기능을 제공합니까?

Django Template Engine은 Django 웹 프레임워크의 일부로서, 동적 웹 페이지를 생성하기 위해 사용되는 도구입니다. Template Engine은 템플릿 파일을 사용하여 데이터와 로직을 결합한 후, HTML 또는 다른 텍스트 기반 출력물을 생성합니다. 이를 통해 웹 애플리케이션의 프론트엔드와 백엔드 사이에 유연한 계층을 제공하며, 개발자와 디자이너간의 협업을 용이하게 합니다. Django Template Engine의 주요 기능은 다음과 같습니다. 변수 치환: 템플릿에서는 중괄호 {{ }} 안에 변수를 넣어 표시할 수 있으며, 이 변수는 런타임에 해당 변수의 값을 치환하여 출력합니다. 태그: Django 템플릿은 다양한 기능을 제공하는 태그를 사용하여 템플릿 로직을 수행할 수 있습니다..

Framework/Django 2023.12.18

_meta

Django의 _meta API는 모델 클래스의 메타데이터에 접근할 수 있게 해주는 기능이다. 이 API를 사용하면 모델의 속성, 필드 및 다양한 메타 정보에 프로그래밍적으로 접근할 수 있다. _meta 속성은 보통 일상적인 웹 애플리케이션 개발에서는 직접적으로 _meta를 사용할 일이 많지 않다. 대부분의 경우에는 간단한 쿼리와 모델 정의만으로 충분하다. 하지만 특정 상황에서 _meta를 사용하는 것이 유용할 수 있다. 동적 쿼리 빌드 모델 간 관계 탐색 일반화된 코드 작성 앱 내 모델 동적 처리 프로젝트 유틸리티 및 도구 개발 정보 가져오는 방식 상수로 남기기 1번에 대한 예시 from django.db import models class Product(models.Model): name = mode..

Framework/Django 2023.12.17

ORM이란?

ORM은 "Object-Relational Mapping"의 약어로, 객체와 관계형 데이터베이스 간의 매핑을 의미한다. 관계형 데이터베이스는 테이블, 행, 열 등의 구조를 가지고 있고, 객체 지향 프로그래밍에서는 클래스, 객체, 상속 등의 구조를 가지고 있다. ORM은 이러한 두 가지 다른 데이터 모델 간의 간극을 줄이기 위해 사용된다. ORM은 개발자가 객체 지향 언어를 사용하여 데이터베이스와 상호 작용할 수 있도록 도와준다. 객체와 데이터베이스 테이블 간의 매핑을 자동으로 처리하며, 개발자는 SQL 쿼리를 직접 작성하는 대신 객체에 대한 조작을 통해 데이터베이스와 상호 작용할 수 있다. 일반적으로 ORM은 언어나 프레임워크에 종속적일 수 있으며, 대표적인 ORM 도구는 Hibernate(Java), ..

Framework/Django 2023.12.16

reverse, reverse_lazy

장고에서 두 함수는 모두 from django.urls import _하여 url을 생성하는 함수이다. 하지만 이름이 다르듯, 함수의 차이도 존재한다. reverse() : 함수 호출 시 즉시 URL 생성 reverse_lazy() : URL이 필요한 시점까지 생성을 미루고 필요 시 생성, 지연평가(lazy evaluation)를 사용 * 지연 평가(Lazy Evaluation) : 특정 연산이 필요한 시점까지 실행을 연기하는 컴퓨터 프로그래밍의 패턴. 즉, 데이터나 연산의 평가를 가능한 최후 순간으로 미루는 것을 의미한다. 이는 성능 최적화, 자원 효율성, 그리고 필요한 경우에만 계산을 수행하는 효율적인 방법을 제공한다. 파이썬에서는 앞서 공부한 제너레이터가 예시이다. 장고에서 reverse_lazy ..

Framework/Django 2023.12.16

DevFest SongDo 2023 후기

제대로 된 Dev 관련 박람회는 이번이 처음이다. 상반기에 파이썬 공부를 시작하면서 처음 프로그래밍 언어에 접하게 되고 캠프를 수료하면서 자아 없이 공부한 느낌이 많이 강했는데, 스스로 그 점에 부끄러움을 느끼고 있는 요즘이다. 자아는 없고 로봇만 못한 지식을 이겨내기 위해 우선은 무엇이든 참가하면서 나는 어떤 개발자가 되고 싶은지를 느끼고 싶었다. 이번 데브페스타는 함께 코딩캠프를 수료한 팀원 분의 제의를 따라 가게 되었다. 박람회를 다수 참여한 분이라 믿고 따라가는데 장소가 인천 송도인 것을 제외하고는 전체적인 시간표가 너무 좋았다. 어쨌든, 갈정을 해소하기 위해 버스에 몸을 싣고 넘어가게 되었다. 도착한 송도컨벤시아는 정말 컸다. 1층에서도 상당히 많은 공간을 데브페스타가 차지하고 있고, 약 900..

etc./명사 특강 2023.12.12

프로그래머스 LV.1 크레인 인형뽑기 게임

https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카카오 문제들은 상당히 복잡했는데, 그림을 보면 알 수 있듯이 스택을 사용하라는 것을 강조했기 때문에 스택에 맞게 풀었다. 이중 for문을 통해서 문제를 어렵지 않게 풀었다. def solution(board, moves): answer = 0 stack = [] # 바구니 # 순서대로 크레인의 움직임 위치를 받는다. # 이차원 배열이라 이중 for 문 사용 for i in moves: for j..

cording test 2023.12.08