전체 글

깃허브 https://github.com/kimtaesoo99 알고리즘 전용 블로그 https://javajoha.tistory.com/
활동

[부스트캠프 웹・모바일 8기] 챌린지 1주차 후기

이번 글을 개발일기로 분류할지 활동으로 분류할지 고민을 하였다. 결론은 부스트캠프 관련 내용이기에 활동으로 분류하였다. 이번 글의 주된 내용은 느낀 점이나 앞으로의 방향성에 대한 이야기이다. 1일 차 후기 기본적인 JS 문법을 익히자 첫날이라 설레는 마음도 컸고, 새로운 사람들과 함께 시작한다는 것이 너무 기대되었다. 오티가 진행된 이후에 처음 미션을 시작하였는데, 처음부터 쉽지는 않았다. 우선 js에 대한 무지함이 바로 드러나버렸다. 미션자체에 대해서는 괜찮다고 생각했는데, 문법을 너무 몰라서 오래 걸렸다. js를 조금 공부하고 시작했음에도 아직 많이 부족하다. 첫날은 그나마 일찍 미션을 종료할 수 있었다. 2일 차 후기 야생에서 살아남는 법을 배우자 우선 미션에 대한 정확한 이해를 못 하고 진행하였다..

프로젝트/ChatUniv

[프로젝트] ChatUniv Board API #3

이번에는 Board API에 관해 정리할 예정이다. 이번 글은 전반적인 코드 설명과 여러 시행착오에 대한 설명을 할 예정이다. Board는 일반적인 게시판과 일치한다. 하지만 코드를 작성할때 컨벤션 및 클린코드를 적용하려 노력하였다. 또한 여러 테스트를 통해 동작을 검증하였고, 그 과정에서 발생한 시행착오를 기록하겠다. Board는 현재 예외에 대한 문서화도 진행되어 있다. Board @Entity public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String title; @Column(nullable = false) @Lob ..

프로젝트/ChatUniv

[프로젝트] ChatUniv Member API #2

오늘은 Member API에 관해 정리할 예정이다. 전반적인 코드 설명과 구조 변경에 대한 설명을 할 예정이다. 기존에 Exception과 Advice를 전부 묶어서 관리하였다. 그 결과 각자 개발 후 머지를 하는 과정에서 conflict이 자주 발생하였다. 또한 예외가 많아질수록 관리하기 어렵다는 의견도 많았다. 따라서 도메인별로 예외를 관리하도록 하였다. Member API는 현재 간단하게 되어있다. 추후 추가될 예정이지만 현재는 Member 조회와 비밀번호 변경이 만들어져 있다. Member @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullab..

활동

[부스트캠프 웹・모바일 8기] 온보딩 키트 언박싱

오늘 온보딩 키트가 도착하였다. 신청할 때부터 어떤 게 들어있을까 궁금하여 구글링을 해봤다. 6기는 과자 스티커, 플래너가 있었고, 7기는 슬리퍼, 스티커, 플래너가 있었다. 사실 과자는 안 좋아해서 만약 과자를 준다면 관상용으로 둘 가능성이 매우 컸다. 또한 슬리퍼는 이미 너무 많기에 딱히 필요하지는 않았다. 말은 이렇게 했지만 사실 어떤 게 오더라도 감사할 따름이다 :) 그리고 오늘 도착하였다! 기대를 안 하려고 했지만 기대가 되는 게 어쩔 수 없는 사람의 심리인 것 같다. 포장부터 더욱 설레게 만들었다 이를 열어보면.. 여러 가지가 들어있는 것을 볼 수 있다. 내용물은 우산, 손풍기, 플래너, 스티커 볼펜이 있었다. 실제 필요한 물품이 들어있어서 매우 만족하였다. 스티커도 마음에 들고, 특히 볼펜이..

PS/알고리즘 문제풀이

[LeetCode] 2024 - Maximize the Confusion of an Exam(java)

https://leetcode.com/problems/maximize-the-confusion-of-an-exam/ Maximize the Confusion of an Exam - LeetCode Can you solve this real interview question? Maximize the Confusion of an Exam - A teacher is writing a test with n true/false questions, with 'T' denoting true and 'F' denoting false. He wants to confuse the students by maximizing the number of consecutive leetcode.com 오늘도 어제와 같은 윈도우 슬라이..

JAVA

[JAVA] 체스를 구현하면서 배운점

저번 블랙잭을 이후로 이번에는 체스를 구현해 보았다. 우선 설계를 조금 디테일하게 잡아서 진행하였다. 물론 첫 설계를 끝까지 가져가지는 못했다.. 중간에 추가된 부분이 조금은 있다. 그래도 처음보단 설계하는 실력도 늘었다고 생각한다. 진행하면서 고민하고 배운 것을 정리하였다. 고민했던 것 우선 첫 번째 고민은 각각의 기물들의 위치와 기물을 Map으로 관리하였다. 이때 위치를 단순하게 String으로 관리하려 했다. 하지만 이럴 경우 예외처리를 하는 경계도 애매해지고, 관리하기가 힘들 것 같다고 판단하였다. 그래서 위치 즉 Location도 객체로 관리하여 예외를 처리하도록 하였다. 위치도 더욱 나눌 수 있기 때문에 행과 열을 체스의 용어에 맞게 분리하여 코드를 작성했다. 또 다른 고민으로는 기물이 없는 ..

PS/알고리즘 문제풀이

[LeetCode] 209 - Minimum Size Subarray Sum(java)

https://leetcode.com/problems/minimum-size-subarray-sum/ Minimum Size Subarray Sum - LeetCode Can you solve this real interview question? Minimum Size Subarray Sum - Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarr leetcode.com 전형적인 윈도우 슬라이딩 문제이다. 난이도가 높지 않고 매우 ..

활동

네이버 부스트캠프 8기 웹, 모바일 합격 & 후기

우선 제목에서 알 수 있듯이 네부캠 8기 풀스택 분야에 합격하였다. 그 과정에서 내가 느낀 감정이나 약간의 팁을 공유하려고 한다. 서류 접수 서류 접수의 경우 요구하는 글자수나 문항수가 많지 않았기에 처음에는 간단하다고 생각하였다. 하지만 오히려 글자수 제한이 적다 보니 모든 것을 담아내는데 어려움이 있었다. 내 생각에는 솔직함이 가장 중요하다고 생각했다. 물론 본인이 어필할 수 있는 부분은 어필하면서 솔직함을 드러내자. 자기 주도적 학습 열정/실천/몰입 의견 공유/ 협업 이러한 키워드를 가지고 본인을 표현하고자 한다면 큰 무리가 없다고 생각한다. 1차 온라인 코딩 테스트 cs 객관식 10문제 + 프로그래밍 2문제, 검색 가능, IDE 불가능 우선 정말 솔직하게 말하자면 준비를 안 했다. 알고리즘의 경우..

프로젝트/ChatUniv

[프로젝트] ChatUniv 전반적인 설계 및 Auth구조 #1

방학 동안에 프로젝트를 진행하기로 하였다. chat ai를 사용하여 대학생들에게 여러 정보를 전달해 주는 등 여러 기능을 추가할 생각이다. 이 프로젝트는 실제 서비스를 할 생각이기에 꼼꼼하게 코드를 작성하고 서로 리뷰를 할 생각이다. 또한 서비스를 통해 트래픽을 받아보는 경험을 할 수 있을 것이라 생각된다. 각자 맡은 파트가 있기에 초반 Auth 구조의 경우 내가 개발을 하지는 않았지만 이 프로젝트를 통해 서로 모두 공부의 목적도 있기에 모든 코드를 이해하고, 분석하며 코드리뷰를 진행했다. 또한 컨벤션을 정하여 이를 기준으로 작성하기로 하였다. 코드의 통일성 및 가독성을 위한 선택이다. Merge도 매우 신중하게 진행되며, 코드리뷰를 2인 이상 받아야지만 Merge가 가능해진다. 또한 백엔드의 경우 Lo..

PS/알고리즘 문제풀이

[LeetCode] 1601 - Maximum Number of Achievable Transfer Requests(java)

https://leetcode.com/problems/maximum-number-of-achievable-transfer-requests/ Maximum Number of Achievable Transfer Requests - LeetCode Can you solve this real interview question? Maximum Number of Achievable Transfer Requests - We have n buildings numbered from 0 to n - 1. Each building has a number of employees. It's transfer season, and some employees want to change the building they re leetc..

javajoha
기록하는 개발자가 되자