BackEnd263 [Thymeleaf] 기본 객체들 인프런 김영한님의 Spring강의에서 공부한것을 올리며, Thymeleaf의 경우 unit 단위로 공부후 각각 정리하는 글을 작성하겠습니다. 기본 객체들 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 타임리프는 기본 객체들을 제공한다. #ctx: the context object. #vars: the context variables. #locale: the context locale. #request: (only in Web Contexts) the HttpServletRequest object. #response: (only in Web Contexts) the HttpServletResponse object. #session: (only in Web Contexts).. BackEnd/Thymeleaf 2022. 1. 26. [Thymeleaf] SpringEL, 지역변수 인프런 김영한님의 Spring강의에서 공부한것을 올리며, Thymeleaf의 경우 unit 단위로 공부후 각각 정리하는 글을 작성하겠습니다. SpringEL, 지역변수 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 타임리프에서 변수를 사용할 때는 변수 표현식을 사용한다. => 변수 표현식 : ${...} 우선 데이터를 넘기는 컨트롤러를 만들어 봅시다. 코드는 다음과 같습니다. @GetMapping("/variable") public String variable(Model model){ User userA = new User("userA", 10); User userB = new User("userB", 20); List list = new ArrayList(); list.. BackEnd/Thymeleaf 2022. 1. 26. [Thymeleaf] 텍스트 - text, utext 인프런 김영한님의 Spring강의에서 공부한것을 올리며, Thymeleaf의 경우 unit 단위로 공부후 각각 정리하는 글을 작성하겠습니다. 텍스트 - text, utext " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 가장 기본이 되는 text를 출력하는 방법에 대하여 알아보자. 타임리프는 기본적으로 HTML 테그의 속성에 기능을 정의해서 동작한다. HTML의 콘텐츠(content)에 데이터를 출력할 때는 다음과 같이 th:text 를 사용하면 된다. HTML 테그의 속성이 아니라 HTML 콘텐츠 영역안에서 직접 데이터를 출력하고 싶으면 다음과 같이 [[...]] 를 사용하면 된다. 컨텐츠 안에서 직접 출력 = [[${data}]] 우선 데이터를 뷰에 전달할 컨트롤러부.. BackEnd/Thymeleaf 2022. 1. 26. [HTTP] URI와 웹 브라우저 요청 흐름 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. URI " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 URI는 로케이터(locator) 와 이름(name) 또는 둘다 추가로 분류될 수 있다. https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN ● URI(Uniform Resource Identifier) - Uniform: 리소스 식별하는 통일된 방식 - Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) - Identifier: 다른 항목과 구분하는데 필요한 정보 ● URL과 URN URL - Locator : 리.. BackEnd/WEB 2022. 1. 25. [HTTP] 인터넷 네트워크 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. IP (인터넷 프로토콜) " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 Client가 지정한 주소, IP Address에 데이터를 전달하게 된다. 이때 단위가 Packet이라는 단위로 통신하게 된다. (패킷에는 출발지IP, 목적지IP, 등 이 담겨있다) 패킷이 Client로부터 출발하면 인터넷망 상에있는 여러 라우터들얼 거쳐가면서 목적지 서버까지 도달하게 된다. 서버는 잘 전달받았음을 알리기위해 Client에게 긍정 응답을 해준다. 패킷 교환방식의 장점 네트워크 리소스 점유 시간이 적으므로 나머지 컴퓨터들이 기다리게되는 문제를 해결할 수 있다. 클라.. BackEnd/WEB 2022. 1. 25. [Java] 람다와 익명클래스의 scope 주말에 팀 slack에 재미있는 내용이 올라와 공부후 정리해 본다. 1. 문제 상황 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 내가 읽었던 유명한 자바 책 에서는 람다는 익명클래스 라고 나와있었다. 이는 틀린말이 아니다. 다만 정확하게 "익명클래스 == 람다" 가 아니라는 점에서 문제점이 발생한다. 다음 예시를 살펴보자. anonymous 는 익멱 클래스를 활용한 코드이며, lambda는 람다식을 활용한 코드이다. 두 코드 하는 역할은 동일한데, lambda 쪽에서 number 라는 변수를 사용할려 할면 문제가 발생한다. (" 'number' 라는 변수는 초기화 되어있지 않기 때문" 이라는 경고를 보여준다) 다음 코드의 일부를 살펴보자. private final in.. BackEnd/Java 2022. 1. 23. [Mockito] Mock 객체 만들기, Mock 원리, 프록시 원리 너무 궁금해서 미칠것 같은 내용을 공부후 정리한 내용입니다. 영혼을 갈아서 정리해 보았습니다! 항상 모든 인터페이스의 구현체를 만들어야만 테스트가 가능할까요? 컨트롤러를 테스트 하고 싶은데, 서비스의 구현체 없이 인터페이스 만을 활용하여 테스트 할수는 없는것 일까요? 이에 대한 궁금증에서 시작한 공부 내용을 정리해 봅니다. ▶ 목차 1. Mock의 의미 2. Mock 객체 만들기 3. CGLIB 프록시를 활용한 Mock의 원리 이해하기 Mock? Mocking? MockUp? " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 - Mock의 의미는 "테스트를 위해 만든 모형" 을 의미합니다. - Mocking의 의미는 테스트를 위해 실제 객체와 비슷한 모의 객체를 만든는 것을.. BackEnd/TDD 2022. 1. 21. [Java] 자바 함수형 프로그래밍 함수형 프로그래밍이란 무엇일까? 스스로의 궁금증에 답하기 위해 공부하며 기록해 본다. 함수형 프록래밍이 엄청 특별하고 그런것은 아니다. 우리가 일반적으로 익숙한 절차지향적 프로그래밍과 같은 프로그래밍 패러다임중 하나이다. 보통 객체지향 패러다임 에서는 객체 스스로가 상태를 가지고 있고, 객체간에 메시지를 전달하면서 협력하게 된다. 하지만 함수형 패러다임 에서는 작은 단위의 함수들이 모여 처리된다. 함수들은 외부와의 관계는 없고 단지 함수 자신만으로 존재한다. 객체지향 프로그래밍의 경우, 클래스 디자인과 객체들의 관계를 중심으로 코드 작성이 이루어진다. 따라서 상태, 멤버변수, 메서드 등이 긴밀한 관계를 가지고 있다. 특히 멤버변수가 어떤 상태를 가지고있는가에 따라 결과가 달라진다. 함수형 프로그래밍의 경.. BackEnd/Java 2022. 1. 21. [Spring] 스프링은 객체 컨테이너 공부하며 중요하다 싶은 내용들을 블로그에 공부겸 정리한 내용입니다! 지적 댓글 환영합니다~ 스프링은 객체 컨테이너 이다! " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 스프링의 핵심 기능은 객체를 생성하고 초기화하는 것 이다. 이와 관련된 기능은 ApplicationContext라는 인터페이스에 정의되어 있다. AnnotationConfigApplicationContext 클래스는 이 인터페이스를 알맞게 구현한 클래스 중 하나다. AnnotationConfigApplicationContext 클래스는 자바 클래스에서 정보를 읽어와 객체 생성과 초기화를 수행하게 됩니다! XML, 그루비 설정코드를 사용하여 객체 생성/초기화를 하는 클래스도 존재합니다. 우선 다음 다이어그램.. BackEnd/Spring 2022. 1. 14. [Spring] AOP : Aspect Oriented Programming 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 섹션 7. AOP " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 1. AOP가 필요한 상황 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우리가 작성한 코드에 함수가 1000개 있다고 해보자. 문제는 갑자기 위에서 모든 함수들의 시간을 측정해보라는 명령이 내려왔다는 것 이다. AOP를 아직 모르는 사람은 함수 하나를 다음과 같이 변경하였다. public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicat.. BackEnd/Spring 2022. 1. 14. [Spring] 스프링 DB 접근 기술 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 섹션 6. 스프링 DB 접근 기술 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 1, 2 단원의 JDBC 노가다 방식은 생략하였습니다. 저도 예전에 JDBC 써써 손수 다 해본적 있으니.. 정리는 생략하는걸로.. 1. 스프링 통합 테스트 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이번시간에는 전체적인 Spring 코드를 테스트 하는 시간을 갖었다. 우선 코드를 살펴보자. package hello.hellospring.service; import hello.hellospring.domain.Member; imp.. BackEnd/Spring 2022. 1. 14. [Spring] 회원 관리 예제 - 웹 MVC 개발 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 섹션 5. 회원 관리 예제 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 1. 회원 웹 기능 - 홈 화면 추가 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 컨트롤러 하나를 추가해 주었다. package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeControl.. BackEnd/Spring 2022. 1. 14. 이전 1 ··· 17 18 19 20 21 22 다음