자바스크립트에는 변수를 선언하는 키워드 var, let, const가 존재한다. 3가지 키워드의 차이는 무엇일까? 개념을 정확히 이해하기 위해 자바스크립트에서 변수의 의미와 변수를 선언, 할당하는 과정, 그리고 스코프에 대해 알아보자. 변수(Variable) 자바스
웹사이트에 이미지를 넣는 방법에 ` 태그를 사용하는 것과 태그에서 background-image를 사용하는 것이 있고, 글의 제목을 넣는 방법도 태그를 사용하는 것과 ` 태그를 사용하는 방법이 있다. 겉으로 보기엔 같아보이는 이 방식의 차이는 도대체 무엇일까?
HTML은 원래 위에서 아래로, Element들을 순차적으로 나열하며 내용을 표시한다. 그러나 Layout의 핵심은 단순 나열이 아닌 우리가 원하는 구성, 위치에 따라 Element들을 적절히 배열하는 것이다. HTML을 구성하는 요소인 Block Level Eleme
HTML은 원래 위에서 아래로, Element들을 순차적으로 나열하며 내용을 표시한다. 그러나 Layout의 핵심은 단순 나열이 아닌 우리가 원하는 구성, 위치에 따라 Element들을 적절히 배열하는 것이다.
파이썬은 배우기 쉽고, 강력한 프로그래밍 언어다. 효율적인 자료 구조들과 객체 지향 프로그래밍에 대해 간단하고도 효과적인 접근법을 제공하고 개발에 이상적인 환경을 제공한다. 파이썬을 효과적으로 다루기 위해 먼저 기초 문법을 간단하게 정리하고자 한다.
개발에 대해 공부하면서, 우리가 사용하게 되는 여러가지 용어들에 대해 접하게 된다. 운영체제, 프로그래밍 언어, 프레임워크, 라이브러리, 터미널, 데이터베이스 등등.. Linux나 Django, MySQL 등을 공부하게 되지만 단순히 우리가 사용하기 때문에 배우는 것보
Git은 개인 혹은 팀간 프로젝트를 관리하는데 가장 널리 사용되고 있는 툴이다. 따라서 Git을 잘 다루는 것은 개발자에게 중요한 기술 중 하나이다. Git이란 어떤 개념이고 어떻게 사용하며, Git과 Github의 개념은 어떻게 다를까? Git은 컴퓨터 파일의 변경사
HTTP 는 Hyper Text Transfer Protocl의 약자로 말 그대로 HyperText, HTML같은 파일을 컴퓨터끼리 주고받을 수 있도록 하는 소통방식, 즉 컴퓨터끼리의 소통을 위한 규약이다. HTTP 통신의 특징과 Request, Response 구조에
String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.예를 들어,For문으로 Iteration을 돌려서 해당하는 str인자와 중복되는 다음 str인자 사이의 길이를 측정그 길이가 Iteration중 나온 최대길이보다 크
프로젝트를 진행하면서 Database를 생성하고 웹사이트의 각종 기능을 구현하다 보니 Modeling한 DB에 편하게 Data를 입력할 필요성을 느끼게 되었다. Python이 어떻게 외부 파일을 다루고, CSV 형태의 데이터를 어떻게 데이터베이스에 입력하는지 간단하게
프로젝트를 진행하면서 작성한 코드에 대해 Review를 받았다. 메인 페이지와 메뉴 페이지 GET 기능을 나누어 만들었는데, 삼항연산자를 사용해 데이터를 Main에 필요한 데이터와 Menu에 필요한 데이터를 나누어 보내주는 방식으로 처리하라는 리뷰를 받았다. 삼항연산자
위코드를 시작하기 전에는 사전스터디를 진행하며 HTML, CSS, Python에 대해 공부했다. 온라인으로 진행되었기 때문에 매우 어색하기도 하고, 스터디를 함에 있어 미흡한 점이 많아서 생각보다 큰 성과를 얻지는 못한 것 같다. 지금은 사전스터디 팀원들이 공통적으로
1차 프로젝트를 진행하면서 상품을 컨셉과 카테고리 별로 정렬해 보여주는 페이지를 구현하는 기능을 만들었다. 그런데 컨셉을 필터링하는 과정에서 QuerySet에 동일한 Instance가 중복되어 들어간다는 사실을 깨닫게 되었다. 이를 해결하기 위해 distinct() m
WeeteWeete 프로젝트를 진행하며 구현하는 기능 중에 상품의 구매와 결제가 있다. 구매를 위해 선택된 상품의 상태를 보여주기 위해 status라는 Table을 만들었는데, status를 Enum으로 관리하는게 좋다는 조언을 듣고 Enum을 적용해봤다.기존 코드는
1차 프로젝트를 통해 많은 경험을 하고 더 발전하기 위한 2차 프로젝트가 시작한지 벌써 3일이나 지났다. 새로운 팀원들과 같은 방식으로 협업하지만, 좀 더 효율적으로 코딩하기 위해 새로운 지식과 기술스택을 쌓는 것도 중요하다. 이번엔 Testing Pyramid라는 개
Django ORM, QuerySet API 의 특징과 작동원리를 파악하고 API의 Loading 개념과 ORM 최적화에 관한 세션을 듣게 되었다. Django ORM의 특징인 Lazy Loading, Caching, EagerLoading에 대해서 간단하게 살펴보고
TDD에 대해 블로깅 하기 전 중요한 개발 철학 혹은 사상인 Agile 개념에 대해 살펴보자.지난 Velog를 통해 Testing Pyramid와 Unit Test의 중요성에 대해 알아보았다. 추가로, 세션을 통해 개발의 테스트 전략과 방법에 대해 알아보며 TDD(T
협업과 피드백을 중심으로 유연하게 일하고, 변화에 잘 대응하자는 Agile 개념에 대해 먼저 알아봤다. Agile의 핵심을 잘 이해한 후 소프트웨어 방법론 중 하나인 TDD를 살펴보자.TDD란 Test Driven Development의 약자로 테스트가 개발을 이끌어
2차 프로젝트에서는 내가 만든 기능에 대해 Unit Test를 적용해야 한다. View의 Unit Test가 실행되기 위해서 Json Body, Header, Query Parameter 등의 데이터가 필요하다. 이들을 TestCase에서 어떻게 활용해야 하는지 알아보
HTTP(Hyper Text Transfer Protocol)란 클라이언트와 서버 사이에 이루어지는 요청과 응답에 대한 통신규약(Protocol)입니다. HTTP의 특징은 무엇이고, 어떻게 발전해왔는지 알아보겠습니다. HTTP(Hyper Text Transfer Pro
개발과 관련된 좋은 영상을 찾아보다가 객체지향 프로그래밍에 대한 이야기를 듣게 되었습니다. OOP에 대한 최소한의 이해는 있었다고 생각하지만 객체의 책임, 역할, 메시지와 관련된 이야기를 듣다 보니 객체지향 프로그래밍에 대한 이해도가 낮다고 생각했습니다. 따라서 객체지
프로그램이란 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태를 말합니다.프로그램이 실행되기 위해서는 운영체제가 실행되기 위한 메모리 공간을 할당해주어야 합니다. 메모리에 올라가 있지 않다는 뜻은 아직 운영체제가 프로그램에게 독립적인 메모리