WIL

    20220821_WIL(프로젝트 협업)

    20220821_WIL(프로젝트 협업)

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

    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..

    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 라이브러리는 우리가 ..

    20220731_WIL(feat.항해 3주차 회고) /  DI, IoC, Bean

    20220731_WIL(feat.항해 3주차 회고) / DI, IoC, Bean

    들어가며 항해99 3주차도 이제 마무리되어가고 있다. 회고에 앞서 Java Spring Boot를 이용하며 끊임없이 접하게 될 DI, IoC, Bean에 대한 개념정리를 해보고자 한다. 강한 결합의 문제점 강한 결합은 어떠한 객체가 다른 객체에 강한 의존성을 가지고 있음을 뜻한다. public class Controller1 { private final Service1 service1; public Controller1() { this.service1 = new Service1(); //new 생성자를 통한 객체 생성이 강한 결합을 부여 } } 위 코드를 예시로, Controller1은 service1라는 멤버 타입 변수에 강한 의지를 하게된다. 즉 Controller1은 service1이 없으면 정의할..

    20220724_WIL(feat.항해99 2주차 회고)

    20220724_WIL(feat.항해99 2주차 회고)

    20220724_WIL 객체지향 프로그래밍 Object Oriented Promgramming 객체지향 프로그래밍이란 무엇일까? 간단하게는 코드를 잘 작성, 정리하는 방법이며 데이터에 대한 생각 및 구조의 일종이라고 말할 수 있다. 프로그래밍을 진행하다보면 수 많은 객체를 만들어야하는 상황이 계속적으로 발생한다. 대부분의 경우 객체를 생성함에 있어 객체를 구성하는 각각의 속성(Property)가 겹칠 때가 많다. 이 때 이러한 속성들을 중복적으로 작성하는 것은 코드를 길어지게 만들 뿐만 아니라 효율적인 측면에서도 썩 좋지만은 않다. 이러한 문제점들을 해결해주는 방법이 객체지향 프로그래밍이다. 객체지향 프로그래밍의 핵심 개념은 Class. Class는 Object(객체)를 만들기 위한 일종의 공장같은 것이..

    20220717_WIL(feat.항해99 1주차 회고)

    20220717_WIL(feat.항해99 1주차 회고)

    들어가며✍️ TIL과 같은 맥락에서 매주 WIL을 작성하며 한 주를 되돌아보고 정리하는 시간을 가지려고 한다. 또 일일 목표와는 별개로 주간 목표를 두고 어느 정도 달성하였는지, 어떤 부분에서 미흡했는지 되돌아볼 예정이다. 이를 바탕으로 느릴 순 있으나 꾸준히 성장해나가는 개발자가 되고자 한다. JWT - Cookie🍪 서버와 브라우저 사이에 오고가는 정보 데이터(서명뿐만 아니라 사용언어 등 유저정보도) 유효기간이 존재 특정 도메인으로부터 받은 쿠키는 특정 도메인에서만 소비 session 방식에서는 session ID가 쿠키를 통해 브라우저에서 서버로 전달 쿠키는 길이 제한이 있음 - Sessions 개념적 부분에서의 이해가 좀 더 필요할 것 같음... 받은 정보를 DB와 맞춰보는 방식(?) sessio..