프리코스 2주차 리뷰 나에게는 정말 길고도 긴 프리코스 2주차가 종료되었다. 🎉🎉 이번 글에서는 2주차 소감문에 작성하였던 과제를 진행하며 학습한 "과정" 중 미쳐적지 못한 부분에 대해서 큰 단위로 나누어 조금 더 자세히 풀어보려고 한다. 자바 컨벤션에 관하여 맨 처음 과제가 숫자야구 인 것을 확인하고 솔직히 처음에는 "안심"했다. 난이도 자체가 어렵지 않기 때문에 빠르게 작성할 수 있을 줄 알았다. 하지만 여러 요구사항들을 보고 나서 나의 그런 마음은 자만이었다는걸 알 수 있었다. 우아한테크코스에서 이번 주차에는 여러 컨벤션과 제한사항을 갖고 프로그래밍을 하는 것을 요구했다. 그 중 알고 있었던 컨벤션은 단 하나 커밋과 관련된 템플릿 뿐이었는데 이 또한 잘못사용하고 있다는 사실에 경악했다. 그리고 딱 ..
분류 전체보기
프리코스 1주차 리뷰 커밋은 중요하구나! 드디어 우아한테크코스 1주차가 종료되고 2주차가 시작되는 11월 첫째 주가 다가왔다. 우아한테크코스 1주차는 여러 코딩테스트 사이트에서 볼 수 있는 문제들이 나왔었다. 나는 문제들을 한번 싹 훑어보고 문제의 난이도가 엄청높아 문제의 수준으로 사람들을 판별하겠다는 의도가 느껴지기 보다는 한문제 한문제 난이도는 높이되 문제를 푸는것이 주된 목적이 아닌 git의 사용법 이해를 주된 목적으로 보고 큰 부담감없이 문제를 풀었다. 물론 이후에 코드가 너무 solution에 뭉쳐있거나 예외 처리가 하나도 되어있지 않은거 같아 리팩터링을 거치며 조금 더 효율적인 코드를 작성하고자 했으나 알고리즘 뉴비인 나는 알고리즘은 거의 대부분 사용하지 못했다.. 여튼 나는 문제를 해결하는 ..
레코드란? 레코드가 무엇인지 모르는 분들을 위해 간략히 설명을 하자면 다음과 같다. 1. 불변(immutable) 데이터 객체를 쉽게 생성할 수 있게 돕는 새로운 타입의 클래스 파일이다. 2. JDK 16에서 정식 스펙으로 포함되었기 때문에 프로젝트에서 사용하기 위해선 build.gradle에서 반드시 16이상의 자바 버전을 맞추어 줘야한다. 기존의 불변 데이터 객체를 만들기 위해선 class를 하나 생성하고 여러 작업을 해줘야하며 그로 인해 생기는 불편한 점들이 다수 있었는데 정리해 보자면 다음 코드를 보면서 설명하겠다. 일반 객체 예시 @Getter @Setter @NoArgsConstructor public class PeopleDTO { @Getter @Setter public static cla..
아래 설명되는 코드는 해당링크의 Git 에 있다. 현재 스프링부트 개발자들이 사용하는 패키지 구조는 크게 레이어 계층형 구조와 도메인형 2가지의 유형이 존재한다고 생각한다. 각 유형에 대한 나의 개인적인 BP를 얘기하려고한다. 계층형 나는 이전까지의 모든 프로젝트에서 계층형 구조의 패키지관리를 시행해 왔었다. └── src ├── main │ ├── java │ │ └── learn │ │ └── jwt │ │ └── andsocket │ │ ├── AndSocketApplication.java │ │ ├── config │ │ ├── controller │ │ ├── exception │ │ ├── filter │ │ ├── handler │ │ ├── model │ │ ├── principal │ │..
Yaml 파일의 특정값을 읽어 Config 클래스 파일에 사용하려 할 때 최초로 Spring Boot Configuration Annotation Processor not Configured 에러가 발생하게 되었다. 그래서 구글링을 해본결과 dependency가 추가되어있지 않은 것 같아 build.gradle 파일에 ConfigurationProperties 어노테이션과 관련된 dependency를 추가하여주었다. dependencies { ... annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" } 그 후 다시 build를 진행할 경우 더이상 위의 에러는 발생하지는 않지만 Re-run Spring Boo..
백준 13458번 시험 감독 자바 (JAVA) 1) 문제 번호 : 13458 2) 문제 링크 https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 3) 문제 내용 총 N개의 시험장이 있고, 각각의 시험장마다 응시자들이 있다. i번 시험장에 있는 응시자의 수는 Ai명이다. 감독관은 총감독관과 부감독관으로 두 종류가 있다. 총감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 B명이고, 부감독관..
졸업작품으로 개발한 스마트 쇼핑카트 DAMA의 시연영상입니다. 개발 담당 부분으로는 API 서버를 단독으로 구축하고 운영하였고 서비스 로직 API들을 제작하였습니다
여러 JPA 기반의 프로젝트를 진행하면서 Service 계층과 Repository계층을 분리하여 관리하였지만 그때 마다 드는 의문이 하나 있었다. 어떤 방법으로 계층을 분리하여 사용하는게 관리하는 것이 좋은가? 이에 대해 오늘 나의 주관적인 말을 적어보도록하겠다. 참고로, 아직 JPA에 익숙하지 않은 사람을 위한 계층을 간략히 설명하자면 Service 계층은 서버측에서 실제적으로 비즈니스 로직을 실행하는 곳이고 Repository 계층은 실질적으로 DB에 Query를 날려 데이터의 입출력을 관리하는 계층이다. 우선 MVC 프로젝트를 진행할때 가장 관습적으로 사용되는 구조인 Service와 ServiceImpl을 각각 Interface와 Class로 나누어 사용하는 방법이다. 1.Service Interf..