분류 전체보기 (1018) 썸네일형 리스트형 Podman 설치하고 intelliJ 연동하기(docker desktop 대체) 1. podmandocker desktop은 기업에서는 유료인 반면, podman은 apache 2.0 license로 기업에서도 무료다. 주요 특징1. 무료 & 오픈소스 • Docker와 유사한 기능을 제공하지만, 비용 없이 사용할 수 있습니다. 2. 루트리스(Rootless) 지원 • 사용자가 root 권한 없이 컨테이너를 실행할 수 있어 보안성이 높습니다. 3. Docker와 높은 호환성 • podman run, podman build 등 명령어가 Docker와 거의 동일합니다. • alias docker=podman을 설정하면 Docker처럼 사용할 수 있습니다. 4. 시스템 서비스 불필요 • Podman은 데몬(daemon)이 필요하지 않아서, 시스템 리소스를 절약할 수 있습니다. 5. Kube.. keycloak User 정보 마스킹 처리 보호되어 있는 글입니다. [비공개] Weekly Report - 25/02/24~24/03/02, 1709일차 보호되어 있는 글입니다. keycloak 비밀번호 알고리즘 argon2, pbkdf2-sha256, 마이그레이션 필요 여부 keycloak 기본 설정keycloak 25버전 이상의 기본 비밀번호 해싱 알고리즘은 argon2로 되어있다. argon2는 2015년 알고리즘 대회에서 우승한 알고리즘이고, 기존 알고리즘들을 보완하여 나온 최신의 알고리즘이다. argon2에 대해기존 알고리즘들은 해싱이 빠르고, 그만큼 해킹할 수 있는 brute force식 공격이 편했다. 그래서 salt를 추가하고, 해싱을 반복하여 해킹 시도 한 번에 들어가는 시간이 늘어나도록 하였다. 그런데, 성능을 위해 빠른 해싱을 했다가 다시 시간이 늘어나도록 하는 것은 비효율적이고 동적이지도 못했다. 이에 따라 argon2와 같은 알고리즘은, 해싱을 시도하는 컴퓨터의 cpu, memory 등 리소스를 자동으로 탐색하고 그에 맞게 해싱 반복 횟수를 조절하여 환.. [TIL] 문자열 LIKE 검색 인덱스 MYSQL DB 컬럼 설계 시 name과 같이 사람이 알아볼 수 있는 문자열의 컬럼이 있고, 그를 검색하는 로직이 있는 경우가 흔하다. 이 때, name을 index로 잡더라도 LIKE 검색 시에는 무조건 동작하지 않는다. MYSQL에 한해, 다음과 같은 조건으로만 인덱스가 적용된다. 인덱스가 적용되지 않을 경우 full scan이 적용되어 주의해야한다. • Containing → %값% (부분 검색) → 인덱스 사용 X• StartingWith → 값% (접두어 검색) → 인덱스 사용 O• EndingWith → %값 (접미어 검색) → 인덱스 사용 X JPA의 경우의 예시이다. 위 규칙에 따라 적용된다고 생각하면 된다. findByNameContaining("abc") WHERE name LIKE '%abc%.. .jar java SPI 모듈 개발: Factory Pattern(w/o Spring), ServiceLoader, @AutoService 배경Java용 SPI .jar 파일을 build하여 다른 프로젝트에 dependency 형태로 추가하여 사용하는 작업이 필요했다. 구체적으로는 keycloak의 provider를 .jar로 개발해야하는 상황이였다. 순수 Java로 개발하는 경우, Spring의 의존성을 최대한 지양하는 것이 좋다. 다른 프로젝트에서는 Java만을 통해 해당 .jar를 사용할 것이기 때문이다. 1. Factory Pattern기존에 Spring을 사용할 때는 dependency injection을 위해 @Autowire 등을 사용하여 한 객체에서 다른 객체의 Bean을 참고하도록 처리했다. 그러나 Spring을 사용하지 않을 때는 직접 구현체를 넣으면 될 것이다. 예시를 들자면 아래와 같다. public class Tes.. [비공개] Weekly Report - 25/02/17~24/02/23, 1702일차 보호되어 있는 글입니다. Spring actuator 기본 개념 feat. Chaos Monkey 1. 배경 프로젝트의 성능 테스트를 위해서 실제 로직을 Chaos Monkey를 이용하여 대체했다. 실제 로직 수행에 1초가 걸리면, 아래와 같이 설정하여 chaos monkey가 1초간의 지연을 모사하도록 할 수 있다. 이를 통해 성능 테스트를 했는데, management는 어떤 설정인지가 궁금했다. enabled: true는 chaos monkey를 적용하는 것일텐데, 그럼 endpoints는 뭘까? chaos: monkey: enabled: true watcher: bean-classes: - {chaos monkey를 적용할 서비스 구현체의 패키지명 ex. com.exmample.service.TestServiceImpl} assaults: late.. 이전 1 2 3 4 5 ··· 128 다음