이펙티브자바 서적에 아이템49. 매개변수가 유효한지 검사하라 스터디 진행 중에 Java9에서 추가된 Objects 클래스의 checkIndex 메서드를 확인해보다가 처음보는 애너테이션이 있어 궁금증에 찾아보았다. // Object class (In openjdk-18.0.2.1) @ForceInline public static int checkIndex(int index, int length) { return Preconditions.checkIndex(index, length, null); } 참고로 java 버전은 openjdk-18.0.2.1이다. javadoc 읽어보기 A method or constructor may be annotated as "force inline" if the standa..
선 요약 설정을 바로 여는 단축키가 동작하지 않으니, 아래 순서로 열자. Command + Option + i (Windows : ctrl + shift + i) 로 개발자 도구 열기 Console tap에서 __enhancerElectronApi.focusMenu() 입력 (추가) 설정 메뉴 → core → menu → toggle focus hotkey 수정 다음에 설정 창 접근이 편해진다. Notion Enhancer 공식 docs에 설명을 보면 다운로드 후 실행하면 설정 탭이 활성화된다고 적혀있다. 하지만 저 설정 탭이 활성화되지 않는 이슈가 Github에 많이 올라왔고, Notion 측에서 막고 있는지 잘 수정되지 않고 있다. https://github.com/notion-enhancer/des..
인프런 강의(스프링 핵심 원리 기본) 내용 중 Spring Container는 Bean을 싱글톤으로 관리하고 이를 확인하는 테스트 코드를 실행하다가 @Configuration class에서 Bean을 등록하는 method가 static인 경우 싱글톤이 보장되지 않아 이유가 궁금해서 찾아보았다. 기존 코드 @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } ..
Docker로 MySQL DB를 띄우면 사용자를 생성하고 권한을 부여해줘야 한다. Mysql Container에 접속해서 Database와 User를 생성하고 해당 User에게 DB에 대한 모든 권한을 부여하는 명령어를 알아보자. 1. Docker Container 접속 docker로 구성하지 않았으면 MySQL 서버에 접속하면 됩니다. docker exec -it {컨테이너_이름} bash # docker container(or server) 접속 후 mysql -u root -p password: {root_password} 2. Database 생성 show databases; 조회했을 때 필요한 DB가 없다면 생성부터 해주자. # DB 생성 CREATE DATABASE blog; 3. User ..
먼저 docker가 설치되어있어야 합니다. 로컬 환경에 Docker를 통해 Kafka 서버를 구축해보자! Kafka docker image는 wurstmeister/kafka 가 가장 많이 사용되고 있다. Github에서 Release 버전 및 튜토리얼도 확인이 가능하다. 1. docker-compose.yml 작성 및 실행 Kafka를 통한 pub/sub 기능만 테스트해볼 것이기 때문에 싱글 브로커만 구성한다. 또한, topic의 Partition과 Replica 개수도 각각 하나씩만 설정하였다. version: '2' services: zookeeper: container_name: local-zookeeper image: wurstmeister/zookeeper:3.4.6 ports: - "2181..