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 옵션 [ 중복 문자열의 개념과 예시 ] 중복 문자열이란? JDK 개발팀의 조사에 따르면 다음과 같은 자바 애플리케이션의 특징이 있다고 한다. 프로세스의 25%는 문자열임 그 중 13.5%는 중복 문자열임 평균 문자열의 길이는 45자임 중복된 문자열이라 함은 다음과 같이 동일한 내용을 갖지만 별도로 저장된 객체를 의미한다. 둘을 equals로 비교하면 true가 나오지만, ==으로 비교하면 false가 나온다. 이러한 문자열을 우리는 중복 문자열이라고 한다. String string1 = new String("MangKyu"); ..
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 작업이 자체 스레드에서 동시에 실행된다면 더 빠를 것이므로,..