본문 바로가기

공부기록/인터넷 강의

(10)
mvc2편 및 고급편 이제 인프런 졸업할래.. 다음 강의는 udemy- The Git & Github Bootcamp 를 들어보자 (2022년 2월 20일 기록) git의 내부동작원리를 이해??
프록시를 사용할때 자주보는 문제 김영한 강의듣고 메모 프록시를 타도록 의도했지만, 자기 내부 함수를 호출하면 → 해당 함수는 프록시를 거치지않음 자신을 호출하는 경우 → 프록시를 거치지 않음 외부에서 호출할때만 프록시를 거쳐서 실행된다. 이런 문제를 해결하는 방법? → aspectj를 사용하면 이런 문제가 발생하지 않음 → 코드에 직접 박히기 떄문( aspectj는 실제로 코드 주입) 자기 자신을 주입하는 것? → setter 주입(생성/주입 단계가 분리되어 있어서, setter 주입을 하면좋다...) → 지연 조회 → application context로 자신을 호출함, 또는 ObjectProvider 구조 변경 → (가장 권장됨) 호출되는 클래스 분리(내부함수호출을 하지않음) ( 다양한 방법이 있을 수 있음) client →1 → ..
프록시 데코레이터 - 김영한 스프링 핵심 원리 고급편을 듣고 느낀점들 RequestMapping, ResponseBody는 인터페이스에서 사용할 수 있음. ( 컨트롤러를 인터페이스화 시켜서 사용하기) 그러나 Controller, RestController는 인터페이스에서 사용할 수 없음. config를 component scan의 대상이 안되도록 하기 위해서 Import 애노테이션 → config class 정의 SpringBootApplication에 scanBasePackage를 설정하여 config를 스캔하지 않도록 한다. 수동등록, 자동등록 → 둘다 많이 사용함 원본 코드를 전혀 수정하지 않고, 부가 기능을 추가할 수 있을까? ⇒ 프록시, 또는 AOP 프록시 요청을 앞서 처리해주는 레이어? 네트워크 프록시, 프록시..
템플릿 메서드 패턴과 전략, 콜백 스프링에서 자주 사용되는 패턴들 김영한 스프링 핵심 원리 고급편을 듣고 느낀점들 핵심 기능 → 객체가 제공하는 고유의 기능 부가 기능 → 로그 추적, 트랜잭션 기능. 핵심 기능과 함께 사용됨 이 모든 것들의 핵심은... → 변하는 것과 변하지 않는 것의 분리 → 변하지 않는 코드는 중복될 수 있는데, 한번만 작성될 수 있도록 하자 좋은 설계는 변경이 일어날 때 자연스럽게 드러난다. 템플릿 메서드 패턴 프레임워크가 만들어놓은 abstact class에서 함수하나만을 구현하면 되는 경우 주로 템플릿 메서드 패턴이라고 한다. 변하는 부분 → 템플릿 메서드 나머지 부분 → 인터페이스, 또는 abstract class에 장착 상속 클래스를 사용하거나, 익명 내부 클래스를 사용한다. (또는 SAM인 경우, 람다를 ..
RestFul url로 의사소통을 말하는 걸까? 아키텍처 스타일 http의 장점을 활용하기 위한 원칙 자원의 표현으로 의사소통 url만 읽고도 어떤 api인지 이해가 가능 URI와 http method를 사용하여 자원과 행위를 표현한다. --- REst가 뭔가요? http로 의사소통을 잘하기 위한 아키텍처입니다. 주소로 의사소통을 하는 것이고, 주소 값과 http method의 종류만 봐도, 이게 대략적으로 어떤 역할을 하겠구나를 알 수 있습니다. 주소는 자원을 의미하며 http method는 행위를 의미합니다. http method는 crud로, get post update delete 기본적으로 있으며, 결국 해당 자원에 대한 crud를 지원한다는 것으로 알 수 있습니다.
생활코딩 OAuth 정리 저녁에 퇴근하고 머리가 안돌아가서 생활코딩이라는 것을 처음 들어봄 https://www.youtube.com/watch?v=UH5XnjkBqKE OAuth의 목적 - 액세스 토큰 발급 세 종류의 노드 - 나의 서버(서비스), 사용자 ,리소스 서버(구글, 페북 등) 리소스 서버에서 access token을 oauth를 통해 획득하고, 그들의 서비스로부터 데이터를 가져오는 것이 목적 등록 클라이언트가 리소스 서버에 미리 요청을 받아놔야함( 예를 들어, 페이스북 개발자 페이지에서 로그인 관련 자신의 사이트와 리다이렉트 페이지를 추가함) 로그인 버튼을 만약 클릭한다면 -> 구글의 oauth 관련 페이지 + 리다이렉트 주소 같이 보내서 , 액세스 토큰을 리다이렉트 페이지로 가져옴(백엔드에서 처리, 로그인처리) 클..
스프링 입문 복습(2회차) start.spring.io에서 프로젝트 생성 Spring web tomcat ( 톰캣 서버 포함) 스프링 웹 mvc thymeleaf : 템플릿 엔진 starter spring-core -logging(slf4j, logback) test mockito 테스트 도와주는 것 junit 테스트 프레임 워크 assertj 테스트 코드를 더 편하게 작성하게 도와주는 라이브러리 spring-test: 통합 테스트 작성 항상 spring.io → spring boot feature 을 참조하기 컨트롤러( 웹 애플리케이션의 최초 진입점) 배포: 이제는 jar 파일하나만 실행시키면 됨 mvc에서 view를 사용하는 방법 정적 컨텐츠, 템플릿 엔진, API 정적 컨텐츠 : 고정적인 html 파일을 사용 템플릿 엔진: ..
스프링 mvc 1편 수강완료 복습은 조금 해줘야할 것 같지만... 우선 수강 완료
모든 개발자를 위한 HTTP 웹 기본 지식 수강완료 대부분이 아는 내용이었지만, 머릿속에서 따로 놀고 있었다. 머릿속 정리에 도움이 되었다!
스프링 입문, 기본 시청완료 스프링 입문 - 스프링으로 사용할 핵심기술들을 간단하게 짚고 넘어가기 스프링 기본 - 스프링의 핵심 개념들과 스프링의 핵심기술들에 대한 설명