목록2024/08 (20)
Nonamed Develog
ERD란?ERD는 Entity Relationship Diagram의 약자로 데이터베이스 설계 과정에서 사용되는 모델링 기법중 하나이다.데이터베이스에 저장될 데이터 엔터티(Entity) 간의 관계(Relationship)를 시작적으로 표현한다.데이터베이스 설계 초기 단계에서 개념적 모델을 만드는데 사용된다.*데이터베이스 설계 단계: 개념적 모델링 ➡️ 논리적 모델링 ➡️ 물리적 모델링데이터베이스 구조를 시각화하여 개발자와 설계자 간 소통을 원활하게 하고, 데이터베이스 구조의 논리적 모순을 조기에 발견할 수 있다.Entity란?Entity: 현실에 존재하는 개별적으로 식별할 수 있는 물리적/추상적인 개체를 의미한다. 각 Entity는 특징을 나타낼 수 있는 Attribute 들을 가지고 있다. 그림과 같이..
그림 한장과 비유로 이해하는 웹 서버의 구조1. Web Server Engine 웹 서버(Web Server)웹 서버는 클라이언트(주로 웹 브라우저)에서 요청한 웹 콘텐츠(HTML 페이지, 이미지, 동영상 등)를 제공하는 소프트웨어/하드웨어다. 주로 HTTP(S) 프로토콜을 사용하여 클라이언트의 요청을 수신하고, 요청된 콘텐츠를 찾아 클라이언트에게 응답한다.*마치 레스토랑의 웨이터와 같다. 고객(클라이언트)이 메뉴(웹 콘텐츠)를 요청하면, 웨이터는 주방(서버 컴퓨터)에서 해당 메뉴를 가져와 고객에게 제공한다. 주로 사용하는 메뉴판(HTTP 프로토콜)을 통해 고객과 소통하며, 요청된 메뉴를 전달한다.웹 서버의 주요 구성 요소웹 서버는 웹 애플리케이션의 출입구와 같다. 모든 클리아언트 요청은 웹 서버를 통해..
그림 한 장(?)으로 웹 구조를 이해해 보자!(A) 클라이언트 → 브라우저사용자가 웹 브라우저를 통해 특정 URL(www.google.com)을 입력하면, 브라우저는 해당 URL에 대한 웹 리소스를 요청하기 위한 작업을 시작한다.클라이언트는 이 과정에서 사용자의 역할을 하며, 브라우저를 통해 인터넷과 상호작용한다.이때 브라우저는 URL을 해석하고 프로토콜(HTTP/HTTPS), 도메인 이름, 경로, 쿼리, 매개변수 등을 분리해 각 요소를 사용하여 다음 단계를 준비한다.요청 메서드(GET 데이터 요청): 사용자가 웹 브라우저에 https://www.example.com을 입력하면 브라우저는 해당 웹 페이지를 서버로부터 가져오기 위해 GET 요청을 보낸다.(B) 브라우저 - DNS(Domain Name Sy..
FACTS(사실, 객관): 이번 일주일 동안 있었던 일, 내가 한 일많은 이벤트가 있었던 한 주였다. CS & SQL 주차가 마무리되고 Django 주차가 시작했고, CS & SQL 주차 마지막 날에는 기술 면접과 밍글데이가 있었다.지난주 CS 주차임에도 불구하고 알고리즘 공부가 부족하다는 것을 깨닫고 알고리즘에 더 시간을 할애했기 때문에, 이번 SQL 주차는 사전캠프에서 미리 예습한 것도 있기에 기술 면접 준비 겸 CS 학습에 비중을 조금 더 두었다. 추가로 알고리즘도 스쿼드 진도에 맞춰서 학습을 진행했다.장고 주차가 시작 됐음에도 장고 기초 강의만 볼게 아니라 알고리즘/CS/SQL은 조금이라도 학습을 해야겠다고 생각이 들어 하루 루틴에 조금씩 녹여내 봤다. 밀도 있는 하루를 보내기 위해 계획 수정이 ..
어떤 문제가 있었나?오늘 Django의 Template System을 이해하고 활용하는 내용을 배웠다. 그중 HTML 파일 내에서 동적인 데이터를 표현하기 위해 DTL(Django Template Lanuage)을 사용하는 방법이 어려웠다. 처음 접하는 DTL 문법이 익숙하지 않아 변수를 출력하거나 반복문을 사용할 때 올바르게 작성하지 못해 예상대로 동작하지 않는 문제가 있었다.무엇을 시도했나?먼저 DTL 문법의 기본적인 규칙들을 학습하기 위해 강의 노트와 튜터님의 말씀대로 Django 공식 문서를 참고했다. 이를 통해 변수를 출력하는 방법과 반복문을 작성하는 기본적인 구조를 익히고, 간단한 예제를 따라 해봤다. 변수를 Template에 전달하고, 그 변수를 올바르게 출력하는 것을 위주로 연습해 봤다.어..
어떤 문제가 있었나?예전 웹개발 종합반을 수강하고 있을 당시, 팀 프로젝트로 플라스크를 이용한 간단한 웹페이지를 개발했다. 하지만 가상환경과 의존성 관리에 대해 제대로 이해하지 못한 상태였고, git pull 할 때마다 프로젝트 환경에서 설치해야 하는 라이브러리들이 제대로 설치되지 않아 오류가 발생했다.무엇을 시도했나?이 문제를 해결하기 위해 팀원들에게 도움을 요청했더니, 한 팀원이 아래의 명령어를 추천해주셨다.pip install -r requirements.txt 이 명령어를 사용하면 프로젝트에 필요한 모든 라이브러리를 자동으로 설치할 수 있다고 설명해 줬다. 당시 나는 이 명령어의 의미를 깊이 있게 이해하지 못했지만, 문제를 해결하기 위해 그대로 따라 했다.어떻게 해결됐는가?"pip install ..
어떤 문제가 있었나?사전캠프, 웹개발, 파이썬, 자료구조 알고리즘, CS & SQL까지 달려오고 이제 Django 주차를 앞두고 꼭 정리하고 넘어가야겠다는 부분이 있었는데, 바로 데코레이터 Decorator였다. 팀 프로젝트를 할 때 의미도 모르고 사용했었고, 클래스를 학습할 때 사용하곤 했었지만 이해하고 있다고 생각이 들지 않는 부분이었다. 더불어 우연히 튜터님의 데코레이터의 중요성을 강조하는 연설을 들어서 꼭 정리하고 넘어가야겠단 생각을 했다.무엇을 시도했나?데코레이터를 이해하기 위해 classmethod와 staticmethod의 개념부터 차근차근 정리해 보기로 했다. 기본적인 사용법과 함께 차이점 및 용도를 살펴보고, 데코레이터의 원리를 이해하기 위해 간단한 데코레이터를 작성해 봤다. 이를 바탕으..
어떤 문제가 있었나?CS & SQL 주차가 거의 끝나간다. 사실 알고리즘이 부족한 것 같아 알고리즘에 더 많은 시간을 할애하고, CS와 SQL을 등한시 했다. CS는 정보처리기사를 준비할 때 공부하면 되고, SQL 또한 SQLD 준비할 때 공부하고 파이썬에서 DB를 가공할 때 사용할 수 있는 정도만 공부하면 된다고 생각했다. 하지만 모의 기술 면접 시간이 다가오면서 발등에 불 떨어진 기분이었다.무엇을 시도했나?일단 튜터님 특강과 강의 자료로 학습을 하고, 부족한 부분을 온라인 강의를 들으면서 채워가려 했다. 하지만 양이 너무 많아 공부는 되겠지만 면접 준비에 효율적이지 않다고 판단하고 튜터님 방에 찾아갔다. 이미 나와 같은 생각을 한 사람들이 튜터님 방에 모여 있었고 어떻게 공부를 해야하는지에 대한 힌트..