[도커 방화벽 설정] 엘라스틱서치 특정 IP 클라이언트 접속만 허용하기

Intro 국비학원 최종 프로젝트때 잘 알지도 못하면서 검색 엔진을 도입 했었습니다. 물론 지금도 검색엔진에 대해 잘 모르다보니, 회사에서 진행중인 프로젝트에서 검색엔진을 활용하는 기능을 추가 할때면 SolrJ API를 이리저리 뒤져가며 낑낑대며 간신히 병목이 생기지 않을 정도만 하고 있습니다. 잘 알지도 못하는 검색엔진 도입의 대가는 실로 커서, 장점이라면 그때 당시 도와줄 사람이 없어 처음으로 공식 문서들을 뒤져가며 스스로 무언가를 바닥부터 만들어 내며 맨땅에서도 뿌리를 내릴 수 있는 야생성을 기르고 어떻게든 하면 된다는 자신감을 얻었습니다. 반면 단점도 만만치 않은데 일단 국비학원을 졸업한지 1년 4개월쯤 지난 지금도 그때 당시의 프로젝트를 여전히 띄워 두고 있습니다. 처음엔 집에 남는 노트북으로 ..

Development/DevOps 2022.10.29
[SpringBoot] 에러 발생시 Slack으로 알림 보내기

Intro 토이프로젝트로 단순하게 만들어서 배포 해둔 근무 및 스케줄 관리 웹 어플리케이션이 있습니다. 와이프가 저처럼 매일 매일 출근시간이 정해진게 아니고 쉬프트를 받아 근무를 하다 보니, 종종 근무시간을 까먹고 지각하는 경우가 있었습니다. 제가 와이프 근무시간을 확인하려면 항상 카톡 대화방에 들어가서 사진첩을 뒤적거려야 하는 불편함이 있었습니다. 이 두가지를 해소하고자 첫 버전을 하루만에 대충 만들고 클라우드에 배포까지 끝냈었는데, 동생도 쓰고 무엇보다 처제가 굉장히 유용하게 사용하고 기능 추가 요청도 많이 해주다 보니 처음 계획보다 확장이 꽤나 일어 나고 있습니다. 이 프로젝트 뿐만 아니라, 취업 전에 국비학원에서 진행했던 최종 프로젝트도 생각보다 참고용으로 방문해주는 분들이 있다 보니 지금까지 서..

Programming/JPA ⁄ Spring 2022.10.26
부트스트랩 기본 폰트 --bs-body-font-family 변경하기

Intro 부트스트랩을 사용 하고 있는데, 전체적으로 기본 폰트를 변경 하려고 하니 --bs-body-font-family가 적용 되어 있어서 변경하는데 까다로운 상황이 있었습니다. 물론 css를 덮어 쓰며 !important; 를 붙이는 방법이 있기는 하지만 애초에 important 는 css 작성 시 권장되지 않는 방법이기도 하고, 그렇게 한번 해 버리면 하위 요소들의 세부적인 폰트 설정이 어려워집니다. 이 문제 상황을 해결 해 보도록 하겠습니다. bootstrap.min.css 인 경우와 scss 인 경우 모두 해결 방법을 작성 해 두었습니다. 문제상황 main.ts import { createApp } from "vue"; import { createPinia } from "pinia"; impo..

Development/HTML ⁄ CSS 2022.10.22
[iRods] 데이터 오브젝트가 포함된 리소스 삭제하기 CAT_RESOURCE_NOT_EMPTY

iRods Resource 관련 명령어 iadmin 명령어를 사용하기 위해서는 iRods 호스트 (혹은 컨테이너) 에 접근해 iinit 을 먼저 실시 해 주어야 합니다. 모든 iadmin 명령은 한번의 iadmin 후에 iadmin> 상태에서 입력 가능. 보다 자세한 iRods 명령어는 https://docs.irods.org/ 를 참고. mkresc 리소스 생성. Valut 경로는 반드시 마운트가 이루어져 있어야 합니다. 사용방법 iadmin mkresc 이름 타입 [호스트:Path] [ContextString] 예시 # compound 부모 리소스 생성 iadmin mkresc compex compound '' auto_repl=on # replication 부모 리소스 생성 iadmi..

Development/Daily Error 2022.10.17
BCryptPasswordEncoder 사용시 인코딩 할때마다 결과가 달라져요

Intro BCryptPasswordEncoder를 빈에 등록 해놓고, 암호를 검증하는 AuthenticationProvider를 별도로 구현해 봐야 할 일이 있어서 구현을 하고 있었는데요, 아무리 비밀번호를 올바르게 입력 해도 자꾸 비밀번호가 틀리다고 나오는 문제가 발생했습니다. 디버그를 하다 보니 분명 입력된 암호는 같았는데요. 혹시나 각기 다른 비밀번호 인코더가 동작하는지 의심되어서 각각 암호를 저장 할 때와, 암호를 검증 할 때 사용하는 비밀번호 인코더를 확인 해 보았습니다. 확인 결과 완전히 동일한 객체인게 확인 되어서 혹시나 싶어 각각의 위치에서 "1234" 를 인코딩 하도록 해 보았는데요 결과가 당황스러웠습니다. @Test public void encoderTest() { BCryptPass..

Programming/JPA ⁄ Spring 2022.10.15