본문 바로가기

전체 글

📝 Spring Bean이란 무엇이며 어떻게 등록해야 할까? 1. Spring Bean이란? Spring의 Bean은 Spring IOC Container가 관리하는 객체들을 의미한다. 자바 애플리케이션은 동작을 제공하는 객체들로 이루어져있다. 이 때 객체들은 독립적으로 동작하는 것보다 서로 상호작용하며 동작하는 경우가 많다. 이렇게 상호작용하는 객체를 ‘객체의 의존성(dependency)’이라고 표현한다. 스프링에서는 스프링 컨테이너가 객체들을 생성하고 객체끼리 의존성을 주입하는 역할을 한다. 스프링 컨테이너가 생성한 객체들을 Bean이라고 하며 Bean은 Spring에서 사용하는 어플리케이션 객체라고 이해할 수 있다. Spring Bean을 사용하면 여러 클래스에서 따로 new 연산을 하여 동일한 객체를 만들 필요가 없이 spring IOC Container에.. 더보기
📝 gradle이란 무엇이며 어떠한 장점이 있을까? Gradle(그래들)은 빌드 자동화,개발 지원에 중점을 둔 도구를 말한다그래들은 그루비(Groovy)를 기반으로 Ant,maven의 장점을 취합하여 만들어졌다. 장점 직관적임 Maven과 다르게 xml로만 이루어져있지않아 내가 원하는 것을 찾기가 쉬움. 각 작업에 필요한 라이브러리들만 가져올수있음 필요한 범위에 따라서 다른 라이브러리를 가져오는 방식 점진적 컴파일링을 지원하기에 부분적으로 수정된 내용은 빠르게 재 컴파일링이 가능함. 즉 그래들은 Ant -> Maven -> Gradle 순으로 나왔기 때문에 앞에 나온 자동화 도구들의 단점을 해결한 자동화 도구이다. 더보기
📝 NoSQL이란? Not Only Structured Query Language의 약자 행과 테이블을 사용하는 전통적인 관계형(SQL) 데이터베이스보다 훨씬 다양한 방식으로 빠르게 바뀌는 대량의 비정형 데이터 처리 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용해 데이터의 저장 및 검색을 위한 매커니즘 제공 특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 데이터베이스로서 개발의 용이성, 기능성 및 확장성을 널리 인정받고 있음 확장을 통해 더 많은 데이터를 처리하거나 고도로 분산된 서버 클러스터 내에 규모가 큰 단일한 데이터베이스 보관 보다 빠르고 반복적인 개발 가능 고가의 강력한 서버를 추가하는 대신 분산형 하드웨어 클러스터 이용 각 데이터 모델에 맞춰 특별히 구축된 뛰어난 기능의 API와 데이터 유형 제공 .. 더보기
📝 도메인 주소가 aws EC2서버까지 전달되는 과정 우리가 브라우저에서 구매한 도메인 주소를 입력하면 만들어 놓은 aws EC2 서버까지 전달이 되어서 해당 서버에게 요청을 보낼 수 있습니다. 이 과정이 상세하게 어떻게 진행되는지 그림으로 한번 그려볼까요? 브라우저에 주소를 입력하면 DNS Server로 전달 되고, DNS서버에서는 해당 도메인 주소의 IP를 보내준다. IP를 웹서버로 보내면 해당 요청에 맞게 응답한다. 더보기
📝 restAPI의 put 과 patch 는 어떤 차이점이 있을까요? 어떤 경우에 사용하면 좋을까요? PATCH와 PUT은 둘 다 데이터의 수정을 위한 method이다. PATCH : which is used to apply partial modifications to a resource PUT : method requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload 예를 들어, PUT 요청 시 요청을 일부분만 보낸 경우 나머지는 default 값으로 수정되는 게 원칙이므로, 바뀌지 않는 속성도 모두 보내야 한다. (만약 전체가 아닌 일부만 전달할 경우, 전달한 필드외 모두 null 혹은.. 더보기
📝 Controller, Service, Repository 가 무엇인가요? 📝 Controller, Service, Repository 가 무엇인가요? Component: 스프링에서 관리하는 컴포넌트 Controller, Service, Repository는 컴포넌트의 하위 개념 Controller는 Service를 호출하고 Service는 Repository를 호출함 Controller: 제일 바깥 쪽에서 요청을 받고, 응답을 되돌려주는 역할 Service: 중간에서 구체적인 작업 순서를 결정 Repository: DB와 직접 소통함으로써 자료를 생성하고, 조회하고, 변경하고, 삭제하는 역할 더보기
📝 JPA 가 무엇인가요? 1. JAP (Java Persistence API, 자바 ¹영속성 ²API) 자바로 만든 객체와 데이터베이스 테이블을 ³ORM 기술을 이용하여 매핑하고, 사용하는 방식을 정의한 ⁴인터페이스 cf) Spring Data JPA: JPA 사용 편이를 위해 만들어진 모듈로, JPA를 한 단계 추상화시킨 Repository라는 인터페이스 사용 1) 영속성(Persistence): 지속적인 것, 영원한 것을 뜻하는 단어로 자바로 만든 객체를 DB에 지속하는 것 2) API(Application Programming Interface):어플리케이션(소프트웨어) 간 서로 통신할 수 있게하는 약속 3) ORM(Object Relational Mapping): 애플리케이션 클래스와 RDB(Relational DataB.. 더보기
[TIL] 사이드 프로젝트 2일 1. 개발 진행 상황 FE 1) 와이어 프레임 작성 완료 2) 사용할 라이브러리 의견 공유 BE 1) 기능 구현 역할 분담 완료 2) 이번 프로젝트는 해보지 않은 개발 방법인 TDD(Test Driven Development)를 도전하기로 함 -> TDD로 개발하는건 처음이라 공부하면서 맡은 기능 구현하기 3) 코드 컨벤션, 깃플로우 의견나누고 개발 rule 정하기 완료 공통 깃허브 Organizaion 생성 및 공유 완료 2. 새로 배운 것 - TDD를 간략하게만 알고 있어서 TDD에 대해 구체적으로 찾아보았음 3. 오늘 한 일 / 회고 - 기존에 들었던 강의 중에 테스트 부분 다시 수강하고 실습해봄 4. TO-DO LIST TDD를 좀 더 공부해야한다. 기존에 들었던 강의들은 테스트를 먼저 만들고.. 더보기