전체 글

전체 글

    1일 1로그 100일 완성 IT지식 - 통신 75~77

    1일 1로그 100일 완성 IT지식 - 통신 75~77

    1일 1로그 100일 완성 IT지식 - 통신 75~77 쿠키 HTTP - Stateless Stateless는 직역하자면 비연결성이다. 비연결성이란 클라이언트가 요청을 하고, 서버가 해당 요청에 적합한 응답을 하게되면 바로 연결이 끊어지는 성질을 의미한다. 즉 HTTP는 상태를 저장하지 않음을 의미하며 이로인해 HTTP 자체는 사용자 구별을 하지 못한다. 쿠키(Cookie) 그렇다면 Stateless한 HTTP를 Stateful하게 만들 수 있는 방법이 없을까? 쿠키가 그에 대한 답 중 하나가 될 수 있다. 쿠키는 웹 브라우저가 보관하는 데이터이다. 웹 서버는 쿠키를 생성하여 웹 브라우저에 정보를 전송할 수 있다. 쿠키는 Key - Value 형태로 웹 브라우저(클라이언트)의 쿠키 저장소에 저장된다. 서..

    20220821_WIL(프로젝트 협업)

    20220821_WIL(프로젝트 협업)

    20220821_WIL 들어가며 지난주 금요일부터 금주 목요일까지 항해를 시작하고 첫번째 FE와의 협업 프로젝트 - 미니 프로젝트를 진행하였었다. 이번주 WIL은 다른 개념정리보다 협업의 중요성에 대해서 한 번 이야기해보고자 한다. 프로젝트 협업 프로젝트 설계 "API 명세서와 ERD 설계가 정말 중요하다." 풀스텍 프로젝트(1주차) 때 부터 매니저님 및 튜터님들께서 반복적으로 강조하시던 말씀이다. 중요하다는건 물론 알았지만 BE끼리 일할 때만은 설계를 조금 엉성하게 해놓더라도, 극단적으로다가 설계를 하지 않고 하면서 짜나아가더라도 진짜 심각한 문제가 발생되진 않았던 것 같다. (아직까지 우리가 대규모 프로젝트를 경험해보지 않았던 탓에 그럴 수 있었을테지만) 하지만 프로젝트를 본격적으로 진행하고 FE와 ..

    20220820_클론코딩(항해인사이드) 2일차

    20220820_클론코딩(항해인사이드) 2일차

    항해99 7주차, 클론코딩 주차가 시작되었고 어떤 것을 클론코딩할지 조원들과 논의하던 와중 실전 프로젝트를 앞두고 FE, BE 모두 CRUD를 반복적으로 해볼 수 있는 커뮤니티 사이트를 클론해보자는 쪽으로 얘기가 되었다. 다수의 국내외 커뮤니티 사이트를 살펴보았고 그중 디시인사이드가 1주일(정확히는 6일)이라는 시간동안 기능적인 부분이나 보여지는 부분에서 우리가 연습하기에 가장 좋은 사이트라 FE, BE 모두 생각하였고 항해99 게시판을 만든다는 가정 하에 본격적으로 프로젝트를 설계해 나가였다. 금주 내가 맡은 부분은 댓글, 대댓글, 좋아요(개념), 싫어요(비추) 부분이다. CLOB ERD를 설계하던 중 기존 VARCHAR 타입으로 설정하던 CONTENT를 CLOB 타입으로 설정해보자는 이야기가 나왔다...

    20220814_WIL(Spring Security CORS)

    20220814_WIL(Spring Security CORS)

    20220814_WIL 들어가며 금주부터는 프로젝트 구성에 있어 BE뿐만 아니라 FE 조원들까지 합류하여 진행되니 만큼 FE-BE 협업과 관련된 부분들을 필수적으로 익힐 필요가 있었다. 그 중 중요한 한 가지가 바로 CORS였고, 금주는 WIL 작성함에 있어 이 CORS에 대해 함께 정리해보고자 한다. CORS(Cross-Origin Resource Sharing) CORS(Cross-Origin Resource Sharing), 직역하자면 교차 출처 리소스 공유라 해석되며, 서로 출처가 다른 웹 애플리케이션에서 자원을 공유하는 것을 말한다. 보안상의 이유로 SOP(Same Origin Policy) 정책 하에 Cross Origin HTTP Request를 제한하고 있다. 하지만 개발에 있어 React..

    자바스크립트/파이썬은 어떻게 작동할까?

    자바스크립트/파이썬은 어떻게 작동할까?

    자바스크립트/파이썬은 어떻게 작동할까? 자바스크립트는 어떻게 작동할까? 컴파일 언어? 인터프리터 언어? 자바스크립트는 어떻게 동작할까? 기본적으로 컴파일 언어일까? 인터프리터 언어일까? 명확하게 답변을 내리기는 어려우나 현대의 V8 엔진 등을 사용하는 자바스크립트는 인터프리터 언어 라고 할 수 있다. 하지만 자바스크립트 또한 컴파일 과정을 거친다. 다만 자바스크립트 엔진 내부에서 실행중 컴파일이 필요한 경우에 내부에서 컴파일 한다. 위 그림을 바탕으로 자바스크립트 엔진의 작동방식에 대해서 알아보자. 먼저 엔진이 실행할 JS 파일을 받게 된다. 파싱, AST(Abstract Syntax Tree)를 구축하는 과정을 거친다. 다음으로 Interpreter가 코드를 읽으며 실행한다. 코드를 수행하는 과정에서 ..

    20220807_WIL(feat.항해 4주차 회고) / ORM, SQL, MVC

    20220807_WIL(feat.항해 4주차 회고) / ORM, SQL, MVC

    20220807_WIL 들어가며 항해에 합류하고 이제 4주차가 끝나가고 있다. 금주도 한 주간의 회고록 작성에 앞서 Spring Boot를 사용하며 끊임없이 접하게될 ORM, SQL, MVC라는 개념에 대해 정리해보고자 한다. ORM(Object Relational Mapping) ORM(Object Relational Mapping)이란, 객체지향 패러다임을 이용하여 데이터베이스로부터 데이터를 쿼리하고 조작할 수 있도록 해주는 기술이다. 즉, 객체와 데이터베이스를 연결(매핑)해주는 역할 을 한다. ORM에 대해서 말할 때, 대부분의 사람들은 ORM 기술을 구현하는 '하나의' 라이브러리를 지칭하고 있는 것이다. 그러므로 '하나의' ORM('an' ORM)으로 표현하는 것이다. ORM 라이브러리는 우리가 ..