22.11.05 10:00 ~ 12:00, 4문제 결과부터 말하자면 시원하게 말아먹었다...... 사실 3번 빼고 다 풀긴 했는데 나머지 문제들 난이도가 크게 어렵지 않은 것 같아서 여지없이 컷 당할 것 같다. (300/400 코테 합격) 1번 -> 문자열 이용하는 문제로 생각보다 매우 금방 풀렸음 (예상 1렙) 2번 -> 우선순위 큐로 풀 수 있었던 문제였는데 시간을 너무 허비했다 (예상 2렙) 3번 -> 그래프 탐색(DFS/BFS) 보였는데 솔직히 읽어보지도 못했다 (예상 3렙?) 4번 -> SQL 문제. SQL 문제가 생각보다 꽤 난이도가 있었다. 인터넷 검색이 가능해서 망정이지 검색 불가였다면 손도 못댔을 듯;; YEAR(datetime), MONTH(datetime) 이용한 년/월 추출(?) S..
10월 24일 지원한 모 회사의 인턴십 모집에 감사하게도 서류 합격한지 어언 1주일이 지나고.. 11월 3일 오늘 인생 첫 코딩테스트를 응시했다. 두 문제에 110분의 시간이 주어졌다. 첫번째 문제의 지문이 꽤 길었는데 아무래도 시간제한이 있다는 부담 때문인지 지문이 눈에 잘 안들어왔다;; 그래서 2번 문제를 먼저 볼까 싶었는데 2번 문제도 처음에는 딱 어떻게 풀어야겠다는 해결방식이 안떠오르다보니 갑자기 불길한 예감이 싹 스쳐지나가는 느낌이 들었다..... 아 지금 생각해도 아찔하다.. 그래도 어째저째 마음을 다잡고 풀었고 결과는 다행히 좋았다! 1번문제는 구현문제였고 2번 문제는 완전탐색? 같은데 재귀로 풀 수 있었다. 프로그래머스 난이도로 따지면 2레벨 정도일 듯 싶었다. 보통 2~3레벨 정도 풀면 ..
작은 게시판 프로젝트를 진행하고 있다. 그 중에서 소소하게 비밀글 기능을 추가해서 맞는 비밀번호를 입력했을 때만 게시글 조회가 가능하도록 하는 기능을 추가하려고 했는데, 내 처음 계획으로는 대충 게시글 엔티티에 비밀번호 컬럼 하나 추가하고 대충 비교만 하면 되겠지? 싶은 생각으로 한두시간 정도면 끝낼 수 있는 작업으로 생각했었는데,,, 생각보다 훨씬 더 어려웠던 작업이었기에 기록으로 남겨본다. 사실 1인 프로젝트라 백엔드 + 프론트엔드를 동시에 다 만지려다보니 까다로웠던 것 같다. 풀스택 개발자여 아주 중요하지 않은 부분은 빠르게 넘어가고 핵심 작업만 다룬다! 작업 1. 게시글 생성 시 비밀글 유무 선택 / 암호화 저장 @Getter @Builder @NoArgsConstructor(access = Ac..
보호되어 있는 글입니다.
1. DTO를 왜 사용하는지? DTO(Data Transfer Object)는 말 그대로 데이터를 전송하는 객체이다. 벨덩에서는 "They are flat data structures that contain no business logic." 이라고 정의해뒀다. 1. @RequestParam으로 데이터를 일일히 받을 필요 없이 객체 하나로 한꺼번에 받을 수 있다 2. Bean Validation, Contoller에서 검증 기능을 분리할 수 있다. 3. 엔티티 내부를 캡슐화 할 수 있다 (뜬금없는 곳에서 엔티티의 값이 변경되지 않도록 한다) 1. 넘겨줄 필요가 없는 데이터를 보내지 않을 수 있다. (화면에 꼭 필요한 데이터만 보내줄 수 있다) 2. 순환참조를 예방할 수 있다 3. 엔티티 내부를 캡슐화 할..
@Valid는 자바 표준 진영에서 지원하는 검증 애노테이션이다. 단계별로 검증을 추가하는 식으로 진행해보자 # 검증 1단계 userId = 공백 X, 최대 30자 userPassword = 공백 X, 최대 30자 닉네임 = 공백 X, 최대 15자 이메일 = 공백 X 전화번호 = 공백 X, 최대 15자 @ToString @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class UserSignUpRequestDto { @Size(max = 30) @NotBlank private String userId; @Size(max=30) @NotBlank private String userPassword; @Size(max = 15) @NotBlank ..
Call by value - 값에 의한 호출 - 전달받은 값을 복사하여 처리하며, 전달받은 값을 변경해도 원본이 변경되지 않는다. - 복사된 변수는 메서드 내부에서 지역적으로만 사용된다. Call by reference - 참조에 의한 호출 - 전달받은 값을 직접 참조하며, 전달받은 값을 변경하면 원본도 같이 변경된다. 우리가 자바를 쓰다보면 메서드의 매개변수로 객체를 넘기고, 메서드 내부에서 객체를 수정했을 때 원본 객체의 값도 같이 변경되는 것을 항상 볼 수 있다. 즉, 자바는 메서드 내부에서 객체를 변경했을 때 원본 객체도 같이 변경되니 Call by reference가 이뤄지는 것일까? 정답은 아니다! 자바에서는 매개변수로 객체를 넘길 때, 객체의 주소 값을 복사해서 넘기기 때문에 원본 객체의 수..
보호되어 있는 글입니다.