유진 Blog

「주니어 개발자의 티끌모아 장기기억 만들기 프로젝트」

[Spring] DI(Dependency Injection)란?

DI(Dependency Injection)란? 객체를 직접 생성하는 것이 아니라 외부에서 생성 후 객체 간의 관계(의존성)를 결정해주는 방식 지난 IoC 포스팅에서 언급되었듯이, Spring에서 의존 관계를 주입(DI)하는 방법은 3가지이다. Setter Insection (수정자 주입) Contructor Injection (생성자 주입...

[Spring] IoC(Inversion of Control)란?

IoC(Inversion of Control)란? 제어의 역전. 메소드나 객체의 호출 작업을 개발자가 결정하는 것이 아니라, 외부에서 결정하는 것을 의미함. 코드를 예시로 들어보자. 1 2 3 4 5 6 7 public class A { private B b; public A(){ b = new B(); } }...

[운영체제] 스레드(Thread)와 실무에서 마주친 관련 이슈

프로세스 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행중 인 것. 프로그램에 사용되는 데이터, 메모리 등의 자원, 스레드로 구성됨. 프로세스는 독립된 객체로서 생성되면 각각의 메모리 자원을 할당받고 서로에게 접근이 불가능함. 프로세스간의 상태 자원을 공유하려면 IPC라는 커뮤니케이션 기법이 필요함. IPC는 커널의 공유 메모리...

[Spring] Spring Boot에 Sqlite3 연동하기

회사에서 RDBMS를 사용한 프로젝트를 SQLite로 아키텍처를 바꾸어야하는 일이 있어, Spring boot에 SQLite를 연동하게 되었는데 그 기록을 남겨두려 한다. 1. 설정 방법 1-1. Dependency 추가 1 2 // https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc implem...

[Linux] Linux/Unix 명령어 모음

명령어를 쓸 일이 거의 없었고, 실무에서도 많이 쓸 일이 없는 환경에서 일했었다보니 새로 명령어를 쓸 일이 많은 일을 하게 됬을 때 당황했었던 기억이 있다. 하지만 필요성을 점점 더 느끼고 있고, 자주 사용하는 명령어부터 장기기억으로 옮기기 위해 정리해보기로 했다. 오늘은 옵션마다 상세히 정리하기 보다는 실무에서 사용하고 있는 명령어들을 우선 한...

[Java] SOLID

SOLID (객체 지향 설계) : 객체 지향 프로그래밍 및 설계의 기본 원칙 5가지 SRP (Single responsibility principle) 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 그 책임을 완전히 캡슐화해야 한다. OCP (Open/closed principle) 개방-폐쇄 원칙 확장에는 열려 있으나...

[강의노트] 스프링 입문 - 스프링 빈과 의존관계

스프링 빈과 의존관계 @Controller, @Service, @Repository와 같은 어노테이션들을 이용해 스프링 빈을 등록할 수 있다. @Autowired는 각 빈의 연관관계를 나타내준다. 스프링 빈을 등록하는 방법은 2가지가 있다. 컴포넌트 스캔과 자동 의존관계 설정 (1) @Component 어노테이션이 있으면 스프링 빈으로 자동 등록...

[강의노트] 스프링 입문 - 회원 관리 예제(백엔드 개발)

비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인...

[강의노트] 스프링 입문 - 프로젝트 환경설정

프로젝트 생성 직접 IDE에서 프로젝트를 생성하는 방법도 있지만, spring initializr에서 생성하는 방법을 추천한다. spring boot 기반으로 spring 프로젝트를 생성할 수 있게 도와주는 사이트이고, 실무에서도 많이 사용하는 것 같다. 예전에는 maven을 많이 사용했지만, 점차 gradle을 많이 사용하는 추세라고 한다....

[Spring] Framework와 Library의 차이점, 그리고 Framework

Framework와 Library Framework 뼈대나 기본 구조. 애플리케이션 개발에 기본적으로 필요한 구조와 구성을 갖춤으로써 뼈대를 제공하고 그 위에 개발자가 코드를 작성한다. 프레임워크가 원하는 방식대로 다양한 기능을 제공한다. 개발자가 구현한 메서드가 프레임워크에 의해 ...