2의 10000제곱을 MOD로 나눈 나머지 구하기

Intro Leetcode 1498번 문제 Number of Subsequences That Satisfy the Given Sum Condition를 풀이하는데, 처음에는 Brute force로 풀다 안되어서 슬라이딩 윈도우 방식으로 시도를 해 보았습니다. 그런데 속도를 개선하고 보니 다른 문제가 있었습니다. 조건에 따르면 최대 2의 10000 제곱까지도 계산을 해야 하는데, 이 크기가 만만치 않습니다. 2의 1만제곱이 얼마나 큰지 long타입은 커녕 double로도 담을 수 없습니다. Double.MAX_VALUE 를 확인 해 보면 2의 1023 제곱까지는 담기는데, 1024제곱부터는 담기지 않습니다. 코드를 작성해서 확인 해보면 아래 보이는 것 처럼, 범위 밖의 숫자는 Infinity로 나옵니다. ..

Development/Fundamentals 2023.05.06
Heritrix를 사용한 웹 아카이브

Intro Heritrix는 웹 아카이빙을 위해 만들어진 웹 크롤러입니다. 2004년 미국의 Internet Archive 의해 최초 공개되었으며, 자바로 작성된 오픈소스입니다. 주요 인터페이스는 웹 브라우저를 사용하여 접근할 수 있으며, 크롤링을 시작하는 데 커맨드 라인으로도 조작할 수 있습니다. 또한, robots.txt 규칙을 존중합니다. 전체 소스코드는 https://github.com/internetarchive/heritrix3 에서 확인할 수 있습니다. Internet Archive에서 아카이브 하는 사이트가 얼마나 많은지, 무려 8,060억개 이상의 웹 페이지를 조회할 수 있다고 합니다. 궁금해서 제 블로그 주소를 입력 해서 확인을 해 보았더니 아래 보이는 것 처럼 처음 작성하기 시작한 2..

Development/Develop Tools 2023.04.30
스프링캠프 2023

Intro 스프링 프레임워크를 사용하여 월급을 받고 다닌것도 이제 겨우 2년이 되어갑니다. 처음 입사할때만 해도 어떻게든 게시판 하나정도는 만들 수 있다며 스프링을 할줄 안다고 생각했었는데, 지금 저에게 스프링은 너무나도 어렵고 방대합니다. 스프링 프레임워크는 우주의 팽창처럼 매일매일 뻗어가는데 제가 이해하거나 써먹는 부분은 빙산의 일각에 불과합니다. 게시판을 제대로 만드는건 원래부터 이렇게 복잡했던건지 아니면 점점 더 어려워지고 있는건지 모르겠지만 여전히 만만치 않습니다. 그래도 괜찮습니다. 새로운 배움은 여전히 즐겁고 스프링은 친해질수록 더 매력적입니다. 신청 3월 어느날 한국 스프링 사용자 모임 페이스북 그룹에 스프링캠프 2023 행사에 공지가 올라왔고, 얼마 후 인프런을 통해 선착순으로 신청을 받..

Development/DevLife 2023.04.25
여러개의 Datasource 등록중 겪은@ConfigurationProperties 적용 문제와 해결

Intro 여러개의 데이터베이스에 연결하는 스프링부트 프로젝트에서 커넥션풀 설정이 제대로 적용되지 않고 있다고 하여 확인을 해 보았습니다. 데이터베이스를 한개만 쓴다면, spring.datasource 에만 등록하면 충분합니다. 하지만 여러개를 등록하려고 하면 스프링부트의 autoconfigure 만으로는 부족합니다. 일단, 프로젝트를 열어 코드를 살펴보니 아래와같이 application.yml 에 각각의 데이터 소스를 설정 할 때, prefix를 주어서 각각의 데이터소스를 설정하고 있었습니다. ${code:application.yml} myapp.datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: org.postgresql.D..

Programming/JPA ⁄ Spring 2023.04.19
IRODS ) Quota 제한 넘기지 못하도록 강제하기

reference https://groups.google.com/g/irod-chat/c/2Fu71_sWv7Q/m/pL6D9yZVUW0J Intro 블로그 정리를 하고 있습니다. 모든 이미지 파일들을 webp 형식으로 바꾸다가, 작성해두었었지만 미처 블로그에 올리지 않았던 본 글을 발견했습니다. 오래전에 iRods의 Quota 설정을 하며 남겨두었던 글 입니다. 2021년 9월에 작성해두었던 문서로, 이미 19개월이나 지났지만, iRods의 경우 참고할 문서가 거의 없어 비록 늦었지만 남겨두는 의미로 올립니다. 본문 core.re 설정변경 docker를 통해 irods에 접속합니다. ​ core.re 파일을 찾습니다. find / -name core.re ​ core.re 파일을 수정합니다. vi /et..

Development/Daily Error 2023.04.11