본문 바로가기

비전공개발자93

Milestone(23년 9월 9일) 2023년 09월 ~ 현재- 외국계 회사로 이직(23년 9월 11일 첫 출근) 2022년 10월 ~ 2023년 08월- 현직 서버 개발자 스터디 시즌1(Effective Java 완료)- 현직 서버 개발자 스터디 시즌2(가상 면접 사례로 배우는 대규모 시스템 설계 기초 완료)- 현직 서버 개발자 스터디 시즌3(토비의 스프링 v1 완료)- 첫 회사 퇴직(11개월 근무, 23년 8월 31일 퇴사) 2022년 10월 18일(취업 완료)  2022년 8월까지의 목표1. 코딩 테스트- Java로 자료구조 구현(완료)- LeetCode 문제 풀기 (완료)- 프로그래머스 (고득점 kit, 완료) 2. 기술면접- 컴공 기초 지식 복습(컴공 기초, 자료구조/알고리즘, 네트워크, SQL, Spring) 3. 백엔드 공부-.. 2023. 9. 9.
10. 배포 완료 1. SAI의 RestAPI 서버를 소개합니다. https://restsai.herokuapp.com/sai-api Swagger UI restsai.herokuapp.com - 올해 6월에 시작하여, 4개월이 지난 오늘 드디어 프로젝트 SAI RestAPI 서버의 마침표를 찍었다. - 개발 기간은 4개월이지만, 여기까지 오는데 2년이 걸렸다. - 지난 2년 동안 매일을 실수하고 개선하고 실패하고 도전하고 배우고 연습하며 스스로의 멱살을 부여잡고 왔다. - 이전에 무언가 꾸준히 하는 것을 은은하게 달리는 것이라 표현했는데, 은은하기 보다는 꽤나 치열했다. - 이제 유종의 미를 거둘 시간이다. 좋은 결과가 있기를 바란다. 2022. 9. 14.
LeetCode 36(Valid Sudoku, java) 0. 문제 https://leetcode.com/problems/valid-sudoku/ Valid Sudoku - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 문제 설명 - 문제에서 이중 배열(board)이 주어진다. - 이중 배열(board)은 수도쿠 문제를 만들기 위해서 생성된 것이다. - 이 문제의 핵심은 주어진 이중 배열(board)이 수도쿠로써 이상이 없는지 파악하는 것이다. 2. 문제 해설 a) 전제 조건 - 우선 문제에서 주어진 조건을 보자.. 2022. 4. 13.
4. Entity Mapping 0. 개요 - 이번 포스팅에서는 JPA의 가장 기본이 되는 Entity Mapping에 대해서 알아보자. 1. Entity Mapping - DB의 테이블을 Java 클래스로 표현한 것을 Entity라고 한다. - JPA는 이 Entity 객체를 이용하여 DB에게 데이터를 전달하거나, DB로부터 가져온 데이터를 담는다. - 즉, DB 테이블의 내용(column)이 일대일 대응하도록, Java 클래스로 구현한 것이다. 2. Entity Mapping을 위한 Annotation a) @Entity - @Entity가 붙은 클래스는 JPA가 관리하는 Entity이다. - 그러므로 테이블과 매핑할 클래스는 반드시 @Entity를 부착해야 한다. - @Entity 사용에 대해 몇 가지 주의사항이 있다. → 기본 .. 2022. 3. 25.
2. JPA의 기본 구조와 기능 0. 개요 - JPA를 본격적으로 배우기에 앞서 기본적인 프로젝트 구성과 사용 방법에 대해서 간단히 알아보자. - 참고로 본 프로젝트는 Maven을 사용한 빌드 구성임을 알려드립니다. 1. JPA 설정 파일 - 기본적인 설정 파일에 대해서 알아보자. a) pom.xml - 프로젝트 빌드 설정 파일 - 기본적으로 Spring을 사용하기 때문에, Spring 프로젝트와 관련된 설정을 작성한다. - JPA를 사용하기 위해서 JPA의 구현체 중 하나를 import 한다. - 아래의 예시 코드는 Hibernate 라이브러리를 설정하는 코드다. org.hibernate hibernate-entitymanager 5.3.10.Final b) persistence.xml - JPA 설정 파일 - JPA의 기본적인 옵션.. 2022. 3. 23.
0. JPA를 사용하는 이유 0. 개요 - Spring과 Spring MVC를 익혔다면 이제는 JPA를 배울 차례다. - JPA는 현재 현업에서 가장 활발히 사용되는 기술이다. - 그렇다면 왜 JPA를 사용하는지 알아보자. 1. SQL 중점적 개발의 문제점 a) 무엇이 문제일까? - 다양한 종류의 DB가 존재하지만, 아직까지 관계형 DB가 중점적으로 사용되고 있다. - 그러므로 대부분의 애플리케이션은 OOP를 통해 관계형 DB를 처리 및 관리하는 형태의 구조를 갖는다. - 큰 흐름을 보면 웹 애플리케이션은 프런트와 백엔드의 네트워킹을 이용한 데이터 처리과정이다. - 그리고 그 처리과정 내부에는 DB를 필수적으로 거치게 된다. - 아무리 백엔드를 화려한 Java 코드로 만들었더라도, 결국 DB가 이를 이해할 수 있어야 한다. - 그러.. 2022. 3. 21.
13. Annotation 기반의 URL 매핑 0. 개요 - 이전 포스팅에서 Front Controller의 동작을 Annotation을 이용하여 적용하는 방법에 대해서 알아보았다. - 이번 포스팅에서는 Spring Boot가 지원하는 다양한 URL 매핑 방식 및 annotation에 대해서 알아보자. 1. URL 매핑 형식 지원 - 백엔드에서 URL을 매핑하는 작업은 굉장히 중요한 작업이다. - 매핑 URL에 오타가 있다면 완전히 다른 주소가 되기 때문이다. @RequestMapping("/springmvc/view") @ReqeustMapping("/springmvc/view/") - 사실 "/springmvc/view"와 "/springmvc/view/"는 엄연히 다른 URL이다. - 그러나 Spring Boot에서는 위의 예시에 나온 URL을.. 2022. 3. 10.
12. Annotation 기반의 Spring MVC 0. 개요 - 직접 Front Controller를 구현했을 때를 생각해보자. - Front Controller를 시작으로 HandlerMapping, HandlerAdapter를 직접 구현했다. - 그러므로 전체적인 Front Controller의 흐름을 직접 구현했다. - Spring Boot를 사용하면 이를 직접 구현하지 않는다. - Spring Boot 내부에는 이미 모든 것이 구현되어 있기 때문이다. - 그렇다면 내부적으로 구현된 클래스 또는 인터페이스들을 어떻게 사용할까? - 더불어 DispatcherServlet의 내부 동작 과정에 어떻게 컨트롤러를 전달(주입)할 수 있을까? → 내부 동작 과정이란, 이전 포스팅에서 다룬 DispatcherServlet의 동작원리를 의미한다. - 그 해답은 .. 2022. 3. 9.
11. Spring MVC의 특징 0. 개요 - 이전 포스팅에서 Adapter 패턴에 대해 이야기하며, 최종적인 Front Controller의 구조를 알아보았다. - 이를 기반한 Spring MVC는 어떤 특징을 가지며, 어떤 차이점이 있는지 알아보도록 하자. * 본 포스팅은 Front Controller 시리즈의 내용입니다. 이전 포스팅을 읽는 것을 권장합니다. 1. Spring MVC의 특징 a) 명칭의 차이 - Spring MVC는 Front Controller를 기반한다. - 그러나 각 컴포넌트의 명칭의 차이가 존재한다. - 다음 우측의 명칭들이 Spring MVC에서 사용하는 명칭이다. 1. Font Controller → DispatcherServlet 2. HandlerMappingMap → HandlerMapping(인터.. 2022. 3. 8.