드디어 마지막 주차가 되었다...백엔드 작업은 다 마쳐서 프론트엔드와 맞춰 보면서 버그를 잡는 일만 남았다. 프론트엔드 기능이 구현이 되는 동안 먼저 우리는 좀 더 디테일을 챙길 수 있는 부분과 코드 간결화를 시킬 수 있는 곳을 찾아 고치기로 하였다.if else문을
어느정도 프론트엔드의 피그마 작업이 끝나서 피그마를 보면서 백엔드가 구현해야할 기능들이 무엇이 있는지, 세세하게 볼 수 있었다. 회원가입을 할 때 어떤 정보가 들어가는지, 검색은 어떠한 방식으로 진행이 되는지, 또 검색을 했을 때, 어떠한 정보가 보여야 하는지를 주로
좀 늦은감이 있지만 생각나는데로 회고록을 작성해보자면, 드디어 정규과정이 끝나고 팀프로젝트 과정에 들어가게 되었다. 총 3주동안 진행이 되고 3주중에 첫번째 주에 대한 회고록이다.먼저 짜여진 조대로 만나서 가볍게 얘기를 한 후, 앞으로 어떻게 할지 이야기를 해보는 시간
자바스크립트는 싱글 스레드 언어이다. 즉 일처리를 하는 사람이 혼자라는 뜻이다. 이를 봤을 땐, 자바스크립트에서 병렬처리가 불가능해보이지만, 이를 해석하고 실행하는 엔진에서 내부적으로 병렬처리가 가능하게 작동하도록 구현이 되어있다.callback은 함수가 매개변수로 받
내가 사용해본 언어 중에 자바스크립트와 가장 다른 점이 구조분해할당이었다. 보통 함수에 전달인자로 보낼 때, {}를 치지 않고 그냥 보내게 된다. 이럴 때 문제가 생길 수 있다. 전달인자로 보내는 것과 매개변수로 받는 것이 갯수가 다르면 제대로 받지 못해 데이터가 잘못
Undefined는 원시값으로 어떤 변수를 선언하고 값을 할당하지 않고 출력하는 경우 뜨는 문구이다. 이를 보면 어떠한 값도 우리가 할당을 하지 않은 경우 자동으로 그 변수에 할당되게 된다. 이 값은 전역 객체의 속성 중 하나로, 전역 스코프에서의 변수이기도 하다.Nu
자바스크립트에는 원시값과 참조값이 존재한다. 원시값은 Number, String, Boolean, Null, Undefined가 있으면 이를 뺀 나머지는 모두 참조값이다. 그래서 변수에 원시 타입의 값을 할당하면 메모리에는 실제 데이터 값이 저장이 된다. 그래서 할당된
자바스크립트는 브라우저와 문서에서 다루는 즉 클라이언트에 대한 개발을 하는 것이다. node.js는 백엔드에서 다룰 수 있는 도구이다.우리는 기존에 자바스크립트 코드를 실행시킬려면 크롬 브라우저에서 콘솔 창을 켜서 실행시켜야되는 아주 귀찮은 방식으로 했어야 했다. 이를
8주가 아이스크림 녹듯이 사라졌다. 바쁘다면 바쁘고, 여유로웠다면 여유로웠던 날이다. 1주차는 오프라인으로 수업을 받기위해 강의실에 왔고 정신없이 이것저것을 배우다 보니 적응하는 것이 힘들었다. 알고리즘 수업을 듣고, 오후에는 백엔드 수업을 듣는데, 오랜만에 고등학교에
깃 플로우는 메인 브랜치, 보조 브랜치, feature, release, hotfix 5가지로 구성이 되어있다. 먼저 메인 브랜치는 제일 기본적인 브랜치이다. 이 브랜치 안에는 master와 develop으로 구성이 되어 있는데, 마스터는 배포 가능한 브랜치이고, de
애플리케이션 개발 단계를 자동화하여 개발을 더욱 짧은 주기로 고객에게 제공하는 방법이다. CI/CD의 3개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포이다. 그리고 CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 생명주기 전체
서버리스는 개발자가 별도로 서버를 관리할 필요가 없고, 자동으로 애플리케이션을 빌드하고 실행하도록 해주는 방법이다. 서버리스라 서버가 없다고 생각할 수 있지만, 그저 특정 작업을 수행하기 위해 컴퓨터를 vm에서 서버를 설정하고, 이를 통하여 처리하는 것이 아니다라는 것
많은 사람들이 도커를 사용하면서 쿠버네티스 또한 인기가 급상승하게 되었다. 도커를 사용함에 따라 컨테이너를 사용하게 되었는데, 쿠버네티스는 이 컨테이너화된 애플리케이션을 배포, 확장, 관리할 수 있게 해주는 오픈소스 시스템이다.이 쿠버네티스의 이점은 먼저 운영자동화이다
secure socker layer의 약자로 송수신되는 데이터들을 암호화하는 보안 기능을 갖고 있는 인증서이다. 그리고 TLS라는 것이 있는데, 이는 SSL의 업그레이드 버전이라 생각하면 된다. 일반적으로는 SSL을 많이 사용한다. 도메인에 SSL인증서가 없다면 우리는
방화벽우리는 흔히 방화벽을 불이 났을 때, 불을 막아주는 벽으로 알고있지만, 네트워크에서는 의미가 다르다. 검색을 해보면 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템이라고 나온다. 그래서 네트워크에서의
접속자가 많아 두 대이상의 서버운용을 통해 트래픽을 분산시켜야 하는 경우에 사용하는 것이 로드밸런서, 로드밸런싱이라 한다.위와 같이 접속자가 많아 웹서버를 2대로 운용을 한다면, DNS를 통해 로드밸런싱을 구현할 수 있다. 하지만 DNS를 이용한 로드밸런싱은 라운드로빈
TDD는 Test Driven Development의 약자로 해석해보면 테스트 주도 개발이란 뜻이다. 먼저 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 것을 단계적으로 만들면서 구현해나아가는 방법이다.요즘 많이 쓰이는 애자일에서의 xp의 테스트
마이크로서비스는 주로 규모가 큰 프로젝트에서 주로 사용한다. 프로젝트를 가장 작은 모듈이 될 때까지 분리해서 느슨한 결합을 가지는 구조로 만들어서 서로 api를 통해 통신을 한다. 그래서 이 아키텍쳐를 사용하면 각각의 기능들은 작고 독립적이며 느슨한 결합으로 되어있게
REDIS비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 DMBS이다. 데이터는 객체와 비슷하게 키와 값들로 구성되어 DB에 저장이 된다. 주로 데이터베이스, 캐시 메세지 브로커로 이용되며 인메모리 데이터 구조를 가진 저장소이다.REDIS의 특징은 객
Transaction을 번역기로 번역해보면 거래라는 뜻이 나온다. 보통은 거래겠지만 데이터베이스의 Transaction은 db의 상태를 변화시키기 위해서 수행하는 작업을 의미한다. 데이터베이스의 상태를 변화시킨다는 것은 즉, sql query을 통해 db에 접근하는 것