본문 바로가기
728x90
반응형

개발 관련 강의 정리79

[10분 테코톡] 🐬히로의 웹 요청과 응답 정리 데이터를 주고받는 약속 : TCP/UDP TCP 연결 : 3-way 연결 끊을 때 : 4-way HTTP (HyperText Transfer Protocol) TCP와 IP 주소 기반으로 위에서 돌아가는 프로토콜 HTTP의 특징 단방향성 : 클라이언트가 서버로 요청을 보내고 이에 대한 응답을 받는 단방향적 통신(서버가 클라이언트로 먼저 요청을 보낼수 없음) 비연결성 : 연결이 계속 유지되지 않고 요청에 대한 응답이 끝나면 연결을 끊음(소켓 통신과 반대되는 특징) 무상태성 : 클라이언트가 서버와 연결된 상태가 아니기 때문에 기본적으로 상태를 가지지 않음 이를 보완하기 위해 쿠키, 세션, 토큰 등 사용 HTTP 응답 코드 2XX : 성공. 요청이 정상적으로 이루어졌음 3XX : 리다이렉션. 요청을 완료하기 .. 2023. 4. 27.
[10분 테코톡] 🎡토니의 인증과 인가 정리 인증 : 식별가능한 정보로 서비스에 등록된 유저의 신원을 입증하는 과정 인가 : 인증된 사용자에 대한 자원 접근 권한 확인(권한에 대한 허가) ex) 웹에 적용 유저가 게시판 글을 쓰고 싶어한다. 회원 가입과 로그인을 한다. -> 인증(로그인 하는 과정) 글을 쓸 수 있는 권한을 획득한다. -> 인가 다른 사람의 글도 읽을 수 있다. -> 인가 다른 사람의 글을 수정할 수 없다. 왜냐하면 그 권한은 없기 때문이다. ->인가가 적용 된 개념 인증과 인가 (우테코 강의라든가, 아니면 루터회관 14층 혹은 글을 쓰는 기능이나 글을 삭제하는 기능과 같은) 자원들을 적절하거나 유효한 (우테코 멤버나 혹은 일반사용자나 관리자 같은) 사용자에게 전달, 공개하기 위한 방법 인증 1. 인증하기 (Request Heade.. 2023. 4. 26.
[10분 테코톡] 🦊닉의 Spring vs Spring Boot 정리 스프링 부트 쉽게 만든다 단독적인 상용화 수준의 스프링 기반 애플리케이션 - dependency : 간결 / 버전관리도 권장 버전으로 자동 설정 / gradel 사용시 더 짧아짐 - configuration : application.properties 또는 application.yml으로 간결 - thymeleaf : 간결 - 내장 서버 : 서버 구동 시간이 절반 가까이 단축 / tomcat이 싫으면 간단하게 jetty로 java -jar $REPOSITORY/$JAR_NAME & 내장 서블릿 컨테이너 덕분에 jar 파일로 간단 배포! 결론 1. 간편한 설정 2. 편리한 의존성 관리 & 자동 권장 버전 관리 3. 내장 서버로인한 간단한 배포 서버 구축 4. 스프링 Security, Data JPA 등의 .. 2023. 4. 25.
[10분 테코톡] 🧀 제리의 MVC 패턴 정리 MVC => 유지보수가 편해지는 코드 구성 방식 Model : 데이터와 관련된 부분 View : 사용자한테 보여지는 부분 Controller : Model과 View를 이어주는 부분 MVC를 지키면서 코딩하는 방법 1. Model은 Controller와 View에 의존하지 않아야 한다. 2. View는 Model에만 의존해야 하고, Controller에 의존하면 안 된다. 3. View가 Model로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다. (공통적으로 보여하 하는 부분은 Model로 부터 받지 않는다.) 4. Controller는 Model과View에 의존해도 된다. 5. View가 Model로 부터 데이터를 받을 때, 반드시 Controller에서 받.. 2023. 4. 24.
[자바의 정석 - 기초편] 람다 정리 [자바의 정석 - 기초편] 람다 람다식 - 함수(메서드)를 간단한 식으로 표현하는 방법 람다식 작성 1. 메서드의 이름과 반환타입 제거하고 '->'를 블록{} 앞에 추가 int max(int a, int b) { return a > b ? a : b; } -> int max(int a, int b) -> { return a > b ? a : b; } 2. 반환값이 있는 경우, 식이나 값만 적고 return문 생략 가능(끝에 ';' 안 붙임) (int a, int b) -> { return a > b ? a : b; } -> (int a, int b) -> a > b ? a : b 3. 매개변수의 타입이 추론 가능하면 생략가능 (int a, int b) -> a > b ? a : b -> (a, b) ->.. 2023. 4. 20.
[자바의정석] 애너테이션 정리 [자바의 정석 - 기초편] ch12-23~26 표준애너테이션 package test; class Parent { void parentMethod() { } } class Child extends Parent { @Override @Deprecated void parentMethod() { } } @FunctionalInterface // 함수형 인터페이스는 하나의 추상 메서드만 가능 interface Testable { void test(); // 추상 메서드 // void check(); // 추상 메서드 } public class Test { public static void main(String[] args) { Child c = new Child(); c.parentMethod(); // depr.. 2023. 4. 19.
Filter, Interceptor, AOP 정리 자바 웹 개발시 공통으로 처리해야 되는 업무를 모든 페이지에 작성 한다면 중복된 코드가 많아지고 소스 관리도 어렵다. (공통으로 처리해야 하는 업무 : 로그인 관련(세션체크)처리, 권한체크, XSS(Cross site script)방어, pc와 모바일웹의 분기처리, 로그, 페이지 인코딩 변환 등) 공통 부분은 빼서 따로 관리하는게 좋다. 공통업무를 프로그램 흐름의 앞, 중간, 뒤에 추가하여 자동으로 처리할 수 있는 방법이 3가지가 있다. 1. Filter 2. Interceptor 3. AOP - Interceptor와 Filter는 Servlet 단위에서 실행된다. 반면 AOP는 메소드 앞에 Proxy패턴의 형태로 실행 1. 서버를 실행시켜 서블릿이 올라오는 동안에 init이 실행되고, 그 후 doFi.. 2023. 4. 18.
728x90
반응형