문제 링크 Map을 활용하여 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 스트림을 써볼까 하다가 직관적인 코드를 짜볼까해서 다음과 같이 풀이하였습니다. 놓치지 말아야 할 것 containsKey 메서드를 사용해서 그리워하는 인물인지 파악해도 되지만, 저는 getOrDefault를 사용해서 그리워하지 않는 인물이면 0을 더해주는 로직으로 구현했습니다. 마무리 level 1 문제답게 아주 간단하게 풀이할 수 있었습니다.
자기 전 틈틈이 도파민네이션 책을 읽어보았습니다. 도파민네이션 - YES24 “피로사회에서 도파민으로 버텨내는 현대인을 위한 인간, 뇌, 중독 그리고 회복에 대한 안내서”*** 최신 뇌과학, 신경과학 그리고 풍부한 임상 사례로 풀어낸, 탐닉의 시대에서 균형 찾는 법* www.yes24.com 잽싸게 독서 시리즈는 꼼꼼하게 읽기보다는 가볍게 읽다가 인상 깊은 한두 구절이나 느낀 점을 기록하기 위함입니다. 읽게 된 계기 이 책은 침착맨 유투브 방송 중 도파민에 대한 이야기가 나와서 관심을 가지게 되었습니다. 방송 링크 참조해드리겠습니다. (영상 초반에 나옵니다.) 침착맨의 번아웃에 대해서 쫓기는 느낌에 대한 이야기를 할 때 김풍 작가가 도파민을 언급했습니다. 저는 다음과 같은 두 가지 내용에 꽂혀서 읽게 되..
인덱스와 관련해서 받은 면접 질문을 정리한 포스팅입니다. 제가 경험한 면접 질문에 대한 대답을 정리하다보니 저만의 대답 방식으로 인해 간결할 수 있는 점 양해바랍니다. 인덱스는 보통 왜 사용하나요? 인덱스는 데이터베이스의 성능 향상 수단으로 사용되는 가장 일반적인 방법입니다. 응답 시간이 늦은 SQL이 발견되면 우선 인덱스로 해결할 수 없는지를 검사하는 것이 튜닝의 제 1선택입니다. 인덱스의 장점으로는 SQL 문을 변경하지 않아도 성능을 개선할 수 있다는 점과 테이블의 데이터에 영향을 주지 않는다는 점이 있습니다. 보통 INDEX를 어느 컬럼에 걸어주나요? (⭐) 보통 Cardinality(카니널러티)가 높은 열에 만듭니다. Cardinality란 값의 분산도를 나타내는 단어로, 특정 열에 대해 많은 종..
오프라인으로 진행되는 인프런 퇴근길 밋업에 운좋게 당첨되어 참여해봤습니다. 아래 이미지와 같이 두 세션과 네트워킹 시간으로 이루어졌습니다. KotlinConf is back! (부제: after the party) 발표자는 당근마켓 동네생활을 개발하신 박용권님입니다. 당근마켓에서의 Kotlin 사용률과 K2 컴파일러 및 새로운 문법에 대해서 간단하게 설명해주셨습니다. 당근마켓에서의 Kotlin 사용률 : 10% K2 컴파일러 : 현재 코틀린의 문제점 중 하나인 컴파일 속도를 2배 이상 빨라지게 하는 컴파일러 Static Extensions Explicit Fields Context Receivers Named-Based Destructuring Collection Literals 키워드 중심으로 메모했으..
펫프렌즈라는 회사에 신입으로 입사해 2년 6개월간 일하고 있습니다. 2023년 사내 목표 중 하나로 내세웠던게 기술 블로그 활성화였습니다. 2월에 커미티가 모집되고, 커미티 회장으로 선출되어 약 4개월 간 활성화에 힘썼습니다! 정책 세우기 활성화 이전에 다음과 같은 정책을 세웠습니다. 운영 위원회 구성은 필요한지? 얼마나 자주 모일지? 운영비는 얼마가 적당할지? 기술 블로그는 어떤 매체를 사용할 것인지? 기술 블로그 포스팅을 어떻게 독려할 것인지? 기술 블로그 작성 방식은 어떻게 진행할 것인지? 위같은 정책이 세워지고 처음 포스팅은 챕터별 문화소개로 시작하기로 협의했습니다. 매월 첫째수 수요일에 만나서 회의를 진행하였습니다. 틈틈히 제가 속해있는 백엔드 챕터의 문화를 소개하는 포스팅도 작성하여 마침내 어..
문제 링크 BFS로 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 이번 문제는 프로그래머스 감을 익히고자 IDE이 아닌 프로그래머스 자체에서 풀었는데, 익숙하지 않았습니다. 연습이 더 필요할 것 같아요.. 놓치지 말아야 할 것 이번 문제의 핵심은 이동 중 장애물을 만나는지에 대한 확인입니다. 저는 주어지는 값이 크지 않아서 하나씩 움직이면서 비교해주었습니다. private boolean check(int[] c) { return parkBoard[c[1]][c[0]] == 'X'; } private int[] moving(int[] position, String direct, int move) { int[] movedPosition = ..
문제 링크 BFS로 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 놓치지 말아야 할 것 이 문제의 첫 번째 핵심은 미끄러지듯 움직이는 로봇입니다. 제가 생각하는 이 문제의 핵심 메서드입니다. private int getMoveX(int x, int y, int moving, String[] board) { if (moving == 0) { return x; } while (true) { if (isLimit(x, y) || board[x].charAt(y) == 'D') { break; } x += moving; } return x - moving; } private int getMoveY(int x, int y, int moving, ..
저는 querydsl을 실무에서 주로 사용하고 있습니다. 제대로 알고 사용하고 있는지 점검할 겸, JPQL과 QueryDsl의 차이점을 정리해보는 시간을 가졌습니다. 먼저, JPQL과 QueryDsl이 무엇인지 가볍게 알아보겠습니다. JPQL이란? JPQL(Java Persistence Query Language)은 엔티티 객체를 조회하는 객체 지향 쿼리 언어입니다. JPQL은 SQL과는 다르게 엔티티 객체를 대상으로 쿼리를 작성하며, 데이터베이스의 특정 열에 대한 쿼리는 지원하지 않습니다. JPQL은 엔티티 객체의 속성을 사용하여 쿼리를 작성하며, 결과는 엔티티 객체의 컬렉션으로 반환됩니다. JPQL은 JPA(Java Persistence API)의 일부이며, JPA 구현체에서 지원됩니다. QueryD..
- Total
- Today
- Yesterday
- 이팩티브 자바
- 디자인 패턴
- Java
- kkoon9
- JPA
- 객체지향
- Effective Java
- Kotlin
- 코테
- 프로그래머스
- MSA
- 클린 코드
- C++
- 테라폼
- 정규표현식
- 디자인패턴
- AWS
- Olympiad
- 이펙티브 자바
- programmers
- node.js
- Algorithm
- BAEKJOON
- 백준
- BOJ
- kotest
- Spring Boot
- 알고리즘
- 클린 아키텍처
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |