백엔드 개발에서 가장 중요한 것은 데이터를 관리하는 일이라고 할 수 있다. 그리고 데이터를 관리하기 위해 사용하는 것이 바로 데이터베이스, DB이다. 그렇다면 데이터베이스를 사용하기 위해서는 어떻게 해야 할까? 먼저, 어떻게 사용해야 하는지를 알아보기 전에, 자바
ERD를 짜다보면 두 테이블의 관계를 M:N으로 정의해야 하는 경우가 생긴다.예를 들어, 대학교의 데이터베이스를 생각해볼 때 학생과 강의의 테이블을 생각하면, 한 학생이 여러 개의 강의를 수강할 수 있고 한 강의도 여러 학생이 수강하므로 M:N 관계이다.그런데 두 테이
왜 나눠야 하지? 하나의 객체, 데이터가 Repository까지 들어가면? > 장점 관리 포인트가 하나뿐이어서 개발자가 편함 (개발자만 편함) > 단점 필요 없는 정보까지 갖고 다니기 때문에 효율성도 떨어지고 보안 측면에서도 좋지 않다. DB에 저장되는 데이
스프링을 사용하면서, 클래스를 생성할 때마다 매번 getter와 setter 메서드를 추가하는 것이 귀찮았는데, 알고 보니까 Lombok 라이브러리를 추가하면 @Getter, @Setter만으로 끝낼 수 있었다.그렇다면 라이브러리를 추가해줘야 하는데, 이 라이브러리는
스프링이 객체를 생성하고 관리하는 제어권을 개발자한테서 가져가면서 IoC가 일어난다. 이때 스프링이 객체를 생성하게 하기 위해서 클래스에 @Component를 명시하고, 이를 통해 클래스 내부 메서드에서 스프링 빈을 생성해서 스프링 컨테이너에 저장한다.한편, 이렇게 스
스프링을 처음 시작하면 이 용어들을 마주하게 된다.그리고 IoC를 번역한 '제어의 역전', DI를 번역한 '의존성 주입' 이런 말을 들으면 더 미궁으로 빠지고...이게 대체 뭔 소린가 싶게 된다.하지만 생각보다 이 개념들은 어렵지 않다.IoC(Inversion of C
블로그 제목을 어떻게 할까 고민하던 중, 마침 듣고 있던 김영한님 강의에서 SOLID를 다루고 있길래...이렇게 제목을 베껴...아니 차용해왔다.먼저, SOLID란 무엇일까?사실 SOLID라는 개념은 정말 많이 돌아다니고, 많은 사람들이 학습하는 개념이지만 제대로 알고
예상했던 대로, 우아한형제들의 '배달의 민족' 서비스를 참고하여 진행한 프로젝트이다.배달의 민족으로 잘못 읽으신 분들께 심심한 사과의 말씀을...스프링이나 프론트엔드 없이 순수하게 자바만 사용하여 진행된 프로젝트이며, 그런 만큼 자바의 이해 자체에 초점이 맞춰져 진행되
TDD? Test-Driven Development. 줄여서 TDD. 말 그대로 테스트가 개발의 주체가 되는 개발 방법으로, 테스트를 먼저 작성하고 그 테스트를 통과하는 코드를 나중에 작성하는 방법론이다. 한때 배달의 민족의 어떤 팀에서 TDD를 강조한다는 사실이 알
"주력 언어가 무엇인가요?" 이런 질문을 받으면 항상 난감했다. 주력 언어가 없기 때문이다. 이게 무슨 소리냐고 할 수 있는데, 일단 나는 프로젝트용 언어와 코딩테스트용 언어가 다르다. 프로젝트용 언어는 주로 자바스크립트를 써왔고, 코딩테스트용 언어로는 C++을 사용한
약 2년 전쯤, 개발 동아리를 하면서 첫 프로젝트이자 첫 해커톤을 진행했다.Personal 지극히 개인적인, 나만의 감각을 찾아주는 Personalhttps://github.com/wlsdk9803/personal-onlyFE위 프로젝트인데, 사실 이 프로젝트
웹 개발에 있어서 HTTP 얘기는 빼놓을 수 없다. 백엔드, 프론트엔드 개발자 모두에게 중요한 개념이고, 따라서 이걸 좀 정리해볼까 한다. HTTP란 뭘까? 먼저, HTTP가 무엇인지부터 짚고 넘어가야겠다. > HTTP란 'Hypertext Transfer Proto
1. 상속 관계를 결정하는 클래스란 뭘까? > 2. 생성자도 상속되는 걸까? > 3. 아래 사진에서 A와 B 중 어떤 것이 부모클래스일까? 객체지향프로그래밍에는 4가지 중요한 특징이 있다. 추상화, 상속, 다형성, 캡슐화인데 지금은 그 중 '상속'에 대해 얘기해보려고
보통의 많은 전공자들이 처음 프로그래밍 언어를 배우면 C언어로 프로그래밍에 입문한다. 하지만 우리나라는 자바 공화국이고...특히 백엔드 개발을 시작하면 자바는 필수적이라서 자바는 무조건 알아야 한다. 그리고 이때 자바를 배우는 과정에서 자연스럽게 기존에 알았던 C언어와