분류 전체보기139 TIL(39) 21-11-15 : 도커를 사용해서 컨테이너를 구성해보기 🧭 도커 컨테이너 구성 및 활용 1. 도커, 컨테이너에 대한 이해 2. MariaDB를 컨테이너로 구성 및 Python Flask 연동 3. docker compose를 통해 여러개의 컨테이너를 효과적으로 관리 1️⃣ 도커, 컨테이너에 대한 이해 ✏️ Container (1) Definition ✔️ Container : 하나의 컴퓨팅에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 dependencies를 패키징하는 소프트웨어 표준 단위이다. EX) 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정을 패키징한다. Container vs VM 컨테이너 기술을 이해하려면, VM과 비교해보면 쉽다. 컨테이너 = 각각의 프로세스들을 격리시키는 기술 (가상머신 달리 격리된 프로세스들을 .. 2021. 11. 15. TIL(38) 21-11-10 : Spring Security + OAuth2 💫 Facts ✅ Spring CRUD API, Auth API(인증 및 인가)의 데이터 흐름 파악 ✅ 토큰 이해 💫 Findings 🧩 Token 토큰 기반 인증 : 인증받은 사용자들에게 토큰을 발급하고, 서버에 요청을 할 때 헤더에 토큰을 함께 보내 유효성을 검사하는 방식 👉🏻 세션과 달리 토큰 기반 인증방식은 다양한 도메인에 대응할 수 있고, 서버의 메모리 부담을 줄일 수 있다. 또한, 서버가 여러 대를 두고 사이트를 운영할 때, 세션 유지가 제대로 안될 수 있지만, 토큰 인가 방식으로는 서버에서 토큰을 발급하고 보내주고 이를 서버에 저장하지 않기에 서버가 여러 대여도 상관없다. 🤯 하지만, 치명적인 단점이 있다. 이미 발급된 토큰에 대해서는 돌이킬 수 없다. 세션/쿠키의 경우 만일 쿠키가 악의적으.. 2021. 11. 10. TIL(37) 21-11-09 : Object Oriented Programming 💫 Facts ✅ 객체지향에 대해 나만의 언어로 정립하기 ✅ 쿠키와 세션 이해 ✅ 스프링 시큐리티를 통해 로그인, 회원가입 기능 구현 💫 Findings 🧩 객체지향 (1) 클래스, 인스턴스, 메소드 ✏️ 클래스 : 표현하고자 하는 대상의 공통 속성을 한 군데에 정의해 놓은 것이다. 즉, 객체의 속성을 정의해 놓은 것을 말한다. ✏️ 인스턴스 : 어떠한 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. ✏️ 메소드 : 어떤 작업을 수행하는 코드를 하나로 묶어 놓은 것을 말한다. (2) 생성자 ✏️ 생성자 : 인스턴스가 생성될 때 사용되는 '인스턴스 초기화 메소드'다. 생성자를 이용해서 인스턴스가 생성될 때 수행할 동작을 코드로 짤 수 있다. 대표적으로 인스턴스 변수를 초기화 하는 용도로 사용한.. 2021. 11. 9. TIL(36) 21-11-08 : Spring DI / IoC Facts ✅ 스프링의 중요한 내부 기능인 DI, loC에 대해 이해 ✅ 스프링 프레임워크에 대해 이해 Findings 🧩 DI, loC DI DI란 클래스 사이에 존재하는 의존관계를 주입해주는 것을 말한다. Spring에서 관리하는 객체를 Bean이라고 부르는데, 이를 Spring Framework가 직접 생성해서 필요한 곳에 주입해준다. 🤔 의존관계? 어떤 클래스가 다른 클래스에 접근할 수 있는 경로를 가지거나 다른 클래스의 객체의 메소드를 호출하는 경우 두 클래스 사이에 의존관계가 있다고 말합니다. IoC IoC는 프로그램의 제어의 흐름을 관리하는 주체가 개발자에서 프레임워크로 역전되는 것을 말한다. Spring에서는 Spring Container에서 객체를 생성하고 관리한다. 🤔 DI / IoC가.. 2021. 11. 9. TIL(35) 21-11-05 : Spring은 고마운 친구 Facts ✅ All In One Servlet의 문제점, All In One Controller의 문제점 파악을 통해, Spring Framework의 편리함 이해 Findings MVC 패턴 MVC 패턴은 애플리케이션을 Model, View, Controller 이 3가지 역할로 구분한 개발 방법론이다. Model은 데이터와 행동을 갖는 객체로서, 비즈니스 로직을 수행한다. View는 데이터의 시각화로, 모델이 처리한 데이터를 받아서 사용한다. Controller는 사용자의 요청을 해석하여 처리하고 결과를 반환한다. Model과 View의 사이를 연결해주며, 데이터의 흐름을 제어한다. 🤔 MVC 패턴을 사용하는 이유는 무엇일까? MVC 패턴을 사용하지 않는 경우에는 로직 코드와 출력 코드가 한 페이지.. 2021. 11. 5. TIL(34) 21-11-04 : JPA를 이용하여 CRUD 기능 구현 Facts ✅ JPA를 이용하여 데이터베이스 CRUD 기능을 구현 ✅ 클라이언트 화면 추가 Findings ✏️ Lombok Lombok : 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리 @Getter : object의 Getter 메소드를 자동으로 생성 @NoArgsConstructor : parameter가 없는 기본 생성자를 자동으로 생성 @RequiredArgsConstructor : final이나 @NoNull인 필드값만 paramter로 받는 생성자를 자동으로 생성 ✏️ DTO 데이터(ex. 객체)를 주고 받을 때, Entity를 사용하는 것이 아니라, 새로운 클래스를 사용하기 위해, DTO가 나왔다. 🤔 W.. 2021. 11. 4. 이전 1 ··· 14 15 16 17 18 19 20 ··· 24 다음