전체 글 (339) 썸네일형 리스트형 스프링 입문 강의 노트 정리(4) : 회원 관리 예제 - 웹 MVC 개발 회원 관리 예제 - 웹 MVC 개발 1) 홈 컨트롤러 및 홈 html package hello.helloSpring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } Hello Spring 회원 기능 회원 가입 회원 목록 *컨트롤러가 정적 파일보다 우선순위가 높다! 요청이 오면 먼저 스프링 컨테이너 안에 있는 컨트롤러부터 검색한다. 없는 경우 static 파일 검.. 스프링 입문 강의 노트 정리 (3) : 스프링 빈과 의존 관계 스프링 빈과 의존관계 1. 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원 서비스와 회원 레포지토리를 사용할 수 있게 하는 것을 의존관계를 맺는다고 표현 - @Controller 어노테이션이 있다면, 스프링 구동 시 그 클래스의 객체를 생성하여 스프링 컨테이너가 관리하게 되며 그 클래스의 메서드를 사용할 수 있게 된다 - @Autowired 어노테이션을 생성자에 사용하면 스프링 구동 시 그 생성자의 파라미터와 실제 객체를 연결한다, DI ! (생성자가 1개만 있다면 생략가능) ~ @Component 어노테이션이 있는 클래스는 스프링 구동 시 객체 생성 후 스프링 컨테이너에 등록된다 (@Controller, @Service, @Repository) ** 아무 클래스에서 @Component를 붙여도.. 03. 31 TIL 데일리 과제 프로세스와 스레드의 차이에 대해 설명해주세요 -> 프로세스란 컴퓨터에서 연속적으로 실행되고 있는 프로그램을 의미합니다. 각 프로세스는 다른 프로세스와 메모리를 공유하지 않습니다. 스레드는 프로세스 내 작업실행 단위로써, 프로세스는 스레드를 하나 이상 가질 수 있고 상위 프로세스와 동일한 메모리 공간에서 실행됩니다. 프로세스는 메모리에 올라갈 때 각각의 코드/데이터/스택/힙을 할당받게 되고, 스레드는 스택만 별도로 할당받고, 그외 나머지 영역은 메모리를 공유합니다. 그렇기 때문에 스레드 하나에서 오류가 발생하는 경우 다른 스레드도 모두 종료됩니다. 또한 멀티스레드의 경우 실행 순서를 결정할 수 없어 동기화 문제가 발생하기 때문에 락 및 뮤텍스, 세마포어 등의 동기화 메커니즘을 활용해 한 번에 .. 03. 30 TIL 데일리 과제 List, Set, Map, HashMap의 차이에 대해서 설명해주세요 -> 리스트 : 리스트는 각 요소를 인덱스로 식별할 수 있는 컬렉션입니다. 요소의 중복이 가능하고 어디에서나 요소의 추가/제거가 가능합니다. 그래서 일반적으로 순서가 중요하고 접근에 인덱스가 필요한 경우에 사용합니다. 셋 : 요소는 중복되지 않으며 정렬되지 않습니다. 순서를 보장하지 않고 인덱스 또한 없어 전체 조회 시 매번 순서가 다른 상태로 출력되는 것을 볼 수 있습니다. 그래서 요소가 컬렉션에 있는지 확인해야 하거나 합집합, 교집합 및 차이와 같은 작업을 수행해야 할 때 일반적으로 사용합니다. 맵 : 맵은 키와 값이 각각 한 쌍으로 연결되어 있는 요소의 컬렉션입니다. 값에 접근할 때 키를 사용해 값에 접근할 수 있고.. 03. 29 TIL 데일리 과제 MSA(Microservice Architecture)란? 참고한 글 : https://www.bucketplace.com/post/2021-11-19-%EC%98%A4%EB%8A%98%EC%9D%98%EC%A7%91-msa-%EC%97%AC%EC%A0%95-part-1-%EC%8B%9C%EC%9E%91/ 오늘의집 MSA Phase 1. 전환전략 - 오늘의집 블로그 오늘의집이 MSA를 채택하고 나아가는 과정을 공유합니다. www.bucketplace.com -> MSA는 애플리케이션을 느슨하게 결합하고 각 서비스를 독립적으로 배포, 수정이 가능하도록 연결한 아키텍처를 말합니다. 각 서비스는 잘 정의되고 독립적인 비즈니스 도메인을 가지며 경량프로토콜을 통해 다른 서비스와 통신하고 각각의 서비스.. 03.28 TIL 데일리 과제 1. DI에 대한 설명과 해당 기술의 장점에 대해 설명해주세요. -> DI는 클래스 간 의존성을 부여해 약한 결합을 실행시켜 코드 유지보수를 보다 편리하게 할 수 있고 나아가 확장할 때에도 효율적으로 진행할 수 있습니다. 또한 테스트를 진행할 때에도 결합도를 낮춰 문제 발생 지점을 더욱 쉽게 파악할 수 있습니다. 그리고 클래스에서 생성한 객체를 호출해 사용하기 때문에 다른 클래스에서 해당 객체를 재사용할 수 있습니다. 2. DB에서 인덱스를 잘 사용하면 어떤 장점이 있을까요? -> 데이터베이스에 있는 하나 이상에 컬럼에 인덱스를 생성하면 검색할 때 전체 테이블을 검색하지 않고도 관련 데이터를 빠르게 찾을 수 있습니다. 쿼리가 실행될 때 인덱스를 이용해 해당하는 인덱스로만 접근하기 떄문에 검색.. 03. 27 TIL 3월 취업대비반 등록 및 스터디 진행 03. 27 데일리 과제 객체지향 프로그래밍(OOP)에 대해 설명해주세요. 알고있는 원칙이나 키워드를 언급해주세요 참고 : https://www.codestates.com/blog/content/%EA%B0%9D%EC%B2%B4-%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8A%B9%EC%A7%95 객체 지향 프로그래밍의 4가지 특징ㅣ추상화, 상속, 다형성, 캡슐화 - 객체 지향 프로그래밍은 객체의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임을 의미합니다. 객체 지향 프로그래밍의 기본적인 개념과 그 설계를 바르게 하기 위 www.codestates.com -> OO.. 3월 넷째 주 : 50제 정리 1) 배열과 링크드리스트를 비교해서 설명할 수 있나요? -> 가장 큰 차이점은 구조의 유연성입니다. 배열은 한 번 크기를 선언하고 난 후에는 크기의 변경이 불가능하지만, 링크드 리스트는 요소의 추가와 제거 등에 따라 크기의 제한 없이 변경할 수 있습니다. 또한 배열은 연속된 메모리 주소를 부여 받기 때문에 인덱스를 사용하여 데이터 조회시 요소를 빠르게 찾을 수 있지만 링크드 리스트는 메모리 주소가 연속되어 있지 않기 때문에 요소를 검색할 경우 인덱스를 사용하는 것이 아닌 순차적으로 요소를 검색해야 하는 차이점이 있습니다. 2) CORS란 무엇이고 어떻게 허용할 수 있나요? -> CORS란 웹페이지가 해당 페이지를 제공하는 도메인이 아닌 다른 도메인으로 요청을 전송하는 것을 방지하기 위해 웹 브라우저에서 .. 이전 1 ··· 15 16 17 18 19 20 21 ··· 43 다음