1. Nested Class(중첩 클래스)에 대한 자바 스펙 문서 정리 [ Nested Class(중첩 클래스)에 대하여 ] 자바에서는 한 클래스 내에서 다른 클래스를 정의할 수 있는데, 이를 nested 클래스라고 한다. nested 클래스는 다시 static 클래스와 non-static 클래스로 나눌 수 있다. static: static nested class라고 부름 non-static: inner class라고 부름 class OuterClass { // inner class 라고 부름 class InnerClass { ... } // static nested class 라고 부름 static class StaticNestedClass { ... } } nested 클래스는 해당 클래스를 둘러싸는..
1. 유용한 개발 관련 아티클 및 영상 #4 단축키 사용에 관한 일화 마우스로 인해 버려지는 시간들을 모아보면 생산성에 많은 영향을 줌 어찌보면 이는 팀의 생산성을 떨어트리는 것일 수 있으므로 연습해야 함 출처: http://www.chidoo.me/index.php/2022/12/29/keep-your-ide-shortcuts-in-mind/ 구글을 떠나는 것에 대한 FAQ 엔지니어링 디렉터로 "단지" 35명을 관리하는데, 일반적으로 80명 이상을 관리함으로써 어떤 휴리스틱에 의해 회사가 그가 없이도 잘 운영될 수 있다고 판단된 것 같음 Google에서의 장기 근속 후 해고된 한 인물의 경험을 통해 우리를 돌이켜볼 필요가 있을 것 같음 출처: https://news.hada.io/topic?id=129..

아래의 내용은 DZone의 포스팅을 바탕으로 참고하여 정리한 내용입니다. 1. 중복 문자열 제거를 통한 메모리 절약을 위한 -XX:+UseStringDeduplication GC 옵션 [ 중복 문자열의 개념과 예시 ]중복 문자열이란?자바의 literal string은 heap에 별도의 공간으로 존재하는 String Constant Pool에 저장되고, 같은 literal string은 String Constant Pool에 저장된 같은 문자열을 참조한다. 따라서 str == str2 는 true이다. 하지만 new String(”hello”) 로 생성된 객체는 String Constant Pool에 저장되지 않으며, 일반 객체로서 heap에 할당된다. 이렇듯 다음과 같이 동일한 내용을 갖지만 별도..

1. 유용한 개발 관련 아티클 및 영상 #3 MySQL의 VARCHAR와 TEXT MySQL의 VARCHAR 컬럼에는 최대 저장 가능 길이가 있음(65535 바이트) 하나의 VARCHAR 컬럼 길이가 너무 크면, 다른 컬럼들이 사용할 수 있는 최대 공간의 크기가 영향을 받게 됨 TEXT나 BLOB와 같은 LOB 컬럼은 이 제한 사항에 거의 영향을 미치지 않음 따라서 많은 컬럼을 가진 테이블에서는 VARCHAR 타입 대신 TEXT 타입을 사용해야 할 수도 있음 하지만 LOB 컬럼은 데이터가 크다면 외부 공간에 저장하게 되므로 조심해야 함 출처: https://medium.com/daangn/varchar-vs-text-230a718a22a1 구글 테스팅 블로그에 올라온 PR 꿀팁 출처: https://tw..

1. 기존 동시성 프로그래밍의 한계와 새롭게 도입될 구조적 동시성 (Structured Concurrency) [ 비구조적 동시성의 한계 ] ExecutorService를 이용한 동시성 적용 개발을 하다 보면 하나의 작업이 여러 개의 하위 작업(Task)들로 나누어지는 경우가 있다. 일반적인 단일 스레드 애플리케이션에서는 하위 작업들이 순차적으로 실행될 것이다. 하지만 만약 각각의 작업이 서로 독립적이고 하드웨어 리소스가 충분하다면, 이를 동시에 실행하여 전체 작업을 더 빠르게 그리고 더 적은 지연 시간으로 처리할 수 있을 것이다. 예를 들어 User와 Order API를 호출하여 얻어온 결과를 사용하는 코드가 있다고 하자. 이때 각각의 I/O 작업이 자체 스레드에서 동시에 실행된다면 더 빠를 것이므로,..