본문 바로가기

전체 글20

Spring의 @Schduled 어노테이션으로 어느 구현체가 스케쥴링을 실행할까? 안녕하세요, 졸린 개발자입니다. Spring에서 @Schduled 어노테이션을 붙이면 스프링이 마법같이 스케쥴링을 해주는데요, 그 이면에 어떤 구현체들이 실제 스케쥴링 코드를 실행시켜주는지 한번 살펴보도록 해보겠습니다. 코드를 따라가며 하나하나 살펴봅시다. 그럼 어디서부터 코드를 봐야할까요? SpringBoot에서 스케쥴링이 동작할 수 있게, 관련 빈을 Auto configuration을 해줄테니 해당 Configuration을 한번 살펴봅시다. TaskSchedulingAutoConfiguration이라는것이 나오는군요. 주석을 보니, 제대로 찾아온게 맞는거 같군요. 하나하나 살펴보기에는 너무 글이 길어지니, 제가 관심있는 ScheduledExecutorService 관련된 설정만 글로 적겠습니다... 2024. 2. 17.
MySQL Caching SHA-2 Pluggable Authentication 안녕하세요, 졸린 개발자입니다. 오늘은, MySQL의 Authentication Plugin 중 하나인, Caching SHA-2 Pluggable Authentication에 대해서 알아보도록 하겠습니다. MySQL 8.0으로 오면서, default값이 Native Password 방식에서, Caching SHA-2 방식으로 바뀌였기 때문에, 기초적인 사항을 알면 더 재밌게 MySQL을 즐기실 수 있습니다. Authentication Plugin이 뭐죠? MySQL에 접속할때 사용자 인증을 담당하고 있는 플러그인입니다. 제가 mysql에 접속할때 가장 많이 쓰는 명령어는 mysql -uroot -p 인데요, 이때, root계정으로 패스워드를 입력받아 로그인처리를 해주는 것이 Authentication .. 2023. 8. 1.
데이터를 식별하기 위한 Unique한 ID생성하기 (트위터 스노우플레이크의 java구현) 안녕하세요. 졸린개발자입니다. 오늘은, 데이터를 저장할 때 왜 Unique한 ID를 왜 생성해야하고, Unique한 ID를 어떻게 생성하는지에 대해 설명하기 위해, 포스트를 작성합니다. 추가적으로, 제가 생각하는 가장 좋은 방법인 트위터 스노우 플레이크의 java구현을 마지막으로 해보겠습니다. 데이터를 저장하는데, 왜 Unique한 ID가 필요할까요? 당연한 말로 들릴 수도 있는데, 하나하나의 데이터를 식별하기 위해서 입니다. 예를 들어볼까요? 데이터베이스에 (철수, 2), (영희, 10), (길동, 15)가 저장되어 있다고 합시다. 이 데이터는 (이름, 나이)입니다. 이때, 철수의 나이를 찾으려면 어떻게 해야할까요? 이름에 철수가 있는 데이터 부분의 2번째에 나이가 존재합니다. 여기서 여러분들은 방금,.. 2022. 10. 12.
Java에서의 정규표현식 Flag 안녕하세요. 졸린 개발자입니다. 정규표현식에 대해서는 개발을 하다보면 한 번씩 들어보셨을 거라 생각합니다. 그만큼, 정규표현식이 많은 곳에 쓰이는 것이겠죠. 오늘은 정규표현식 자체를 설명하는 것은 아니고, java에서 사용하는 정규표현식 엔진에서 사용하는 Flag에 대해서 설명하려고 합니다. 따라서 본 글을 읽는 독자는 정규 표현식에 대해 어느정도 이해한다고 가정하고, java에서의 Flag에 대해 설명하려고 합니다. 정규표현식에서 Flag란? 정규표현식 엔진에서 어떻게 정규 표현식을 해석할지에 대한 힌트입니다. 간단한 예를 들어보죠. [a-z] 가 있습니다. 위의 표현은 소문자 영어로 한개의 글자가 있는 문자열이 해당되겠죠? 이때 정규표현식 엔진에 case insensitive하게 해석을 해달라고 힌트.. 2022. 9. 30.