Skip to content

juneyr.dev

WIKI: 최근 변경된 문서


2020년의 책

2020년에 읽은 책 모음



Java 8, 9 Optional 사용하기

11장. null 대신 Optional 클래스 NPE는 모든 자바 개발자를 괴롭히는 예외중 하나다. null 참조를 처음 설계할 때는 null 구현으로 값이 없는 상황을 가장 단순하게 구현할 수 있다고 판단했다. 후에 null 을 설계한 호어는 이를 10억달러짜리 실수라고 표현했다. 💵🦋 11.1 값이 없는 상황을 어떻게 판단할까? Car 필드가 @NotNull 로 설정되어있지 않은 이상, 위 코드에서 car…



쿼리와 로직

쿼리와 로직에 대한 단상



차알못 운전면허 도전기 2020 2종보통

서론, 그리고 후기 지금 이 글을 쓰고 있는 2020년 7월 17일.. 나는 새벽같이 9시 기능시험에서 떨어지고 재택근무를 하기 위해 멍하니 앉아있다. 기능은 이번이 두번째다. 그러니, 재수를 거쳐 삼수를 넘게 하게 생겼다. 사실 첫번째 시험에서 탈락했을 때의 좌절감이 더 했다. 점수가 나쁠지언정 실격을 당해본적은 없건만 이 시험은 점수를 깎아먹으면 실격처리 되니 그 자체가 기분이 나쁨이요, T…



모던자바인액션-CompletableFuture

15장 CompleteableFuture…



Java

모던 자바 인 액션: 6장, 7장

6장: 스트림으로 데이터 수집 이전에 배웠던 스트림의 중간 연산은 스트림의 요소를 소비하지 않는다. 반면 스트림의 최종 연산 은 스트림의 요소를 소비해서 최종 결과를 도출한다. 🙂 이 장에서는 최종 연산 collect 사용에 있어서 다양한 인수를 받아서 처리하는 방식을 배운다. Collection Collector collect (함수) 는 다른 것이니 헷갈리지 말도록하자. collect를 사용하면 Map, List…



유니버셜 링크 제공하기

히스토리 팀에서 유니버셜 링크 담당하시던 분이 휴직하시면서 이번 프로젝트에서는 어떻게 제공해야하는지 내용을 남기고 가셨다. 추적하면서 서버입장에서는 어떻게 해야하는 건지 다시 또 정리해보고싶다. 앱 스킴, 딥링크, 유니버셜 링크, 앱링크 앱 스킴, 딥 링크, 유니버셜 링크, 앱 링크는 전부 다른 내용을 의미한다. 그러니까 하나하나 알아두는게 일단 좋다. 1️⃣ 앱 스킴 App Scheme 혹은 URL scheme…



transactional

No Session Exception 을 마주한 적이 있다면 https://bebong.tistory.com/entry/JPA-Lazy-Evaluation-LazyInitializationException-could-not-initialize-proxy-%E2%80%93-no-Session 또한 @Transactional 어노테이션을 붙인 메소드는 반드시 접근자가 public…



Term, Spring

Inversion Of control

제어의 역전 Spring 을 처음에 배울 때 마주하는 개념이 IoC(Inversion Of Control) 혹은 DI(Dependency Injection)이다. 컴퓨터 용어는 전반적으로, 아는 사람이 보면 기가 막힌 용어지만 한눈에 알아보기는 어렵게 만들어진 것 같다. 이 역시 대표적인 사례이다. johngrib님의 블로그 를 복습차원에서 보다가 다시 이 개념을 마주했다. IoC를 가장 잘 설명한 것 토비의 스프링 3.…



모던자바인액션 1장, 2장, 3장

1. 자바 8,9,10,11 : 무슨일이 일어나고 있는가? 자바8는 자바 버전을 통틀어서 가장 큰 변화다. 자바 8 이전의 대부분 프로그램은 멀티코어 머신에서도 하나의 코어만을 지원했다. 나머지 코어를 활용하려면 스레드 를 활용하는 것이 일반적인 방법이었다. 하지만 스레드는 관리하기가 어렵고, 많은 문제가 발생할 수 있다는 단점이 있다. 이 부분을 보완하기 위해서 자바는 다양한 방식으로 발전해왔다.…



gradle facts

gradle build가 느린 이유 daemon을 띄우고, 원격으로 붙여서 빌드를 하기때문이다. intelliJ 에서 빌드를 하면 그래서 상대적으로 빠르다. 하지만 intelliJ의 경우 hook을 걸수가 없고, 걸려고 해도 전체 test에 가서 따로 붙여줘야한다. 자동화가 안된다는 단점이 있다. 정작 jenkins 등 CI 툴에서 빌드 명령을 내리려면 ./gradlew…



vim, blog

vim-wiki 새 머신에서 세팅하는 법

왜 vimwiki인가? vim이라고 하면 굉장히 어려워보이고, 나에게는 아직도 굉장히 어렵다. 그럼에도 서버 개발자로 길을 시작한 이상 vim은 넘어야할 산이었다. 언제까지 마우스를 만지작하며 GUI 를 그리워할 것인가! 더해, 블로그에 포스팅하기 어려운 자투리 지식 역시 기록하고 싶어졌다. 날로 약해지는 기억력을 보조하고, 일상적인 내용도 적기 위해서. 존경하는 개발자 리스트에 있는 johngrib…



팀에 기여할 수 없는 순간, 그래도 할 수 있는 것

기여하기 어렵다고요? 할일이 없다고요?



Linux, CLI, Network

리눅스 시스템 관리 cheatsheet

Linux shell scripting Shell 이란 사용자와 OS간의 징검다리 Shell script 빠르고 간단한 프로토타입으로서의 역할 반복되는 일련의 커맨드나 유틸리티 실행 작업을 한번에 묶어서 처리한다 스크립트 첫줄의 # 는 스크립트를 해석할 프로그램을 지정 shell 종류 bash : 리눅스 기본 shell. 전통 shell인 sh와 호환 csh : c 와 비슷한 문법의 shell ksh : sh…



IDEA

Checkstyle 셋업하기

checkstyle은 코드 컨벤션을 자동으로 잡아줄 수 있는 플러그인입니다. eclipse에도 존재하고, intelliJ 버전도 있습니다. 이번에는 intelliJ 버전의 checkstyle 적용을 후다닥 알아봅니다. intelliJ에서 checkstyle 셋업하기 tab을 두번 눌러 actions 를 호출 plugins 를 선택 marketplace 에 checkstyle을 검색 설치 후 리로드한다. System…



Jenkins 사용기

ghpr builder 말고 polling jenkins주소 + /github-webhook/ 마지막 slashes 를 안붙이면 .. 302



식사는 독립이다

킴의 요리도전기



가장 간단한 CS 지식

인터넷 🤔 Internetworking protocol 이라는 개념으로 처음 등장했음. Vint Cerf 와 Bob kahn이 제안 ! 연결 지향 링크 : 목적지가 어딘지 주소를 만들고 전송 제어 프록그램 : 안전하게 가자 레이어가 있는 상태에서 두개의 레이어를 거치기가 힘들어서, TCP/IP 로 분리됨 TCP (통신 제어 프로토콜)로서 역할, IP…



leetcode 자바로 풀자! (easy)

알고리즘 바보의 도전



자바 이야기

Java , 그리고 T 메모리 메모리에서 스태틱 영역은 클래스들, 스택은 메소드들, 힙은 객체들의 놀이터다. 멀티스레드와 멀티프로세스 멀티 스레드의 T 메모리 모델은 스택 영역을 스레드 개수 (n) 만큼 분할해서 사용하는 것이다. 멀티 프로세스는 다수의 데이터저장 영역 (T메모리)를 갖는 구조다. 그러니까 각자의 T…



맥 hacks

유용한 맥 앱 http://ptsochantaris.github.io/trailer/ trailer - github pull request 를 실시간으로 알림 받을 수 있다 (사실 실시간은 아닌듯, 배치로 보인다) Github enterprise에도 약간의 설정만으로 연동가능. intellij 에 연동된 비슷한 프로그램을 사용하면 될 것 같은데, 여기에서 코드리뷰가 직접적으로 가능한건 아니다. 그 프로그램이름이 뭐더라?



queryDSL 팁

조각모음