프로젝트/단기 프로젝트8 [BetterDay] #3. AWS Route 53 & GoDaddy 도메인 연동 / HTTPS LetsEncrypt(Certbot) 설정 API 서버를 HTTPS 프로토콜로 적용하기 위해 도메인을 사야 했다.웹 프론트까지 신경 써야할 필요는 없었다.저렴한 가격을 우선 고려했지만, 이왕이면 짧은 도메인을 원했다. (욕심만 많은...) 가비아와 이런 저런 곳에서 팀원들과 찾았다.그러던 중 GoDaddy(이하 고대디)에서 첫 해 2$, 이듬해 20$ 정도 하는 도메인을 발견했다.회의하기 전에 빠르게 결제하고 도메인을 연동했다. AWS Route 53 네임서버를 고대디에 등록도메인을 구매하면 아래 사진처럼 확인할 수 있다.'프로필 > Account | My Products > All Products and Services > Domains' 에서 확인한다. 구매한 도메인 항목의 DNS 버튼을 눌러, DNS 설정 페이지로 접속한다.잠시 대기한다.A.. 프로젝트/단기 프로젝트 2024. 6. 25. [BetterDay] #2. 일기 내용을 암호화하기 (Converter, @DataJpaTest) 최근에 올린 강의 글을 프로젝트에 적용한 결과다. [JPA] 민감한 데이터 암호화 / 마스킹하기 (Attribute Converter, @Converter)어느 여름 낮.시원한 에어컨 아래, 냉커피를 마시며,막바지 API 개발을 하고 있는 다람쥐 사원. 그러던 중 메신저 알림이 울립니다. PM님 : 람쥐님 안녕하세요~ 😊오전에 전달주신 기능들 테스트itchipmunk.tistory.com 민감한 정보가 들어갈 수 있는일기 내용을 데이터베이스에 암호화했다.그리고 데이터베이스에서 가져올 때 복호화를 진행해 응답한다. Attribute Converter 와 AES 암호화 모듈을 사용했다.@DataJpaTest 으로 JPA 관련 설정을 불러와 이를 테스트했다. 모듈 구조 모듈 구조는 위와 같습니다.adapte.. 프로젝트/단기 프로젝트 2024. 6. 23. [BetterDay] #1. 잡담 - 분리된 모듈에서 @DataJpaTest BetterDay 백엔드 서비스는 멀티 모듈 프로젝트다. 한 프로젝트에 기능과 레이어를 나눈 모듈로 이뤄져 있다. MySQL(로컬 - h2)와 통신하는 모듈은 JPA 기반이다. 분리된 JPA 모듈을 테스트하며 느낀 점이다. 본 글은 잡담이다. 출근하며 적고 있다. 자세한 기술 내용은 다음 글을 참조하길. 테스트 목적테스트 목적은 암호화/복호화다. BetterDay 서비스는 일기를 저장한다. 일기는 개인적이고 민감한 데이터가 들어간다. 따라서 데이터베이스 저장 시 암호화해야 한다. 암호화 / 복호화 모듈 의존성암호화/복호화는 보안 모듈에 의존한다. ‘:security:core' 모듈에 정의된 PrivacyEncryptor 인터페이스에 의존한다. 따라서 보안 모듈의 특정 구현체를 참조한다. 현재는 AES 암.. 프로젝트/단기 프로젝트 2024. 6. 14. [커리어리 디스코드 봇] RSS XML에서 유효하지 않은 문자 제거 - Invalid bytes in character encoding 안녕하세요.최근 디스코드 봇 용으로 커리어리 RSS 피드를 조회해 디스코드 웹훅으로 보내주는 스크립트를 만들었습니다. 커리어리 디스코드 봇 제작기안녕하세요, 다람쥐입니다. 최근에 병원에 입원을 했는데요. 예상 외로 회복이 빨라서 바로 손이 근질거리더군요. 새벽에 일찍 일어나서 만들만 만한 게 없을까, 고민하던 차에 자주 이용하는itchipmunk.tistory.com 트러블 슈팅 5번으로 RSS 피드를 불러올 때 XML에 아래처럼 오류가 나는데요.Invalid bytes in character encoding 오류로 유효하지 않은 문자가 들어가 읽을 수 없다는 오류였습니다.아주 가끔~ 해당 인코딩이 잘못 들어갔겠거니 싶어서 임시로 replace 를 해줬습니다. 그 이후로도 간간히 RSS 피드를 읽을 수.. 프로젝트/단기 프로젝트 2024. 5. 4. 커리어리 디스코드 봇 제작기 안녕하세요, 다람쥐입니다. 최근에 병원에 입원을 했는데요. 예상 외로 회복이 빨라서 바로 손이 근질거리더군요. 새벽에 일찍 일어나서 만들만 만한 게 없을까, 고민하던 차에 자주 이용하는 커뮤니티에 커리어리 글을 가져오는 봇을 만들어봤습니다. 배경 저는 커리어리를 알고 있었지만, 이용하지는 않았는데요. 전 직장에서의 사수님도, 최근 멘토님도 커리어리를 자주 보시는 것 같아서 나도 봐야 하나~ 싶더라고요. 가까운 사람의 유행에 민감한 편입니다. 😁 커리어리 글의 내용이 대체로 길지 않은 편이라, '다 가져올까?'도 생각했지만... 메시지 개수가 늘어나기도 하는 단점이 있어요. 최근 인기 있는 게시글만 링크로 가져오는 게 메시지 테러(?)가 되지 않을 것 같네요. 따라서 매 주 / 매 달에 한 번 씩 가져오는.. 프로젝트/단기 프로젝트 2024. 4. 17. [Node.js] 도메인 접속 오류 / Typescript Declare Global 오류 / EAI_AGAIN getaddrinfo 오류 해결 방법 어제 잠깐 조수로(?) 도와주고 있는 사이드 프로젝트에서 오류가 발생했다. 분명 얼마 전 까지 잘 되었는데 갑자기 도메인이 먹통되는 등 tsconfig 설정이 말을 안듣는 등 하더니, 이번엔 RDB 연결까지 안 되더라... 그만 죄 없는 노드를 탓해버리고 말았다. 도메인 문제도 역대급이었는데... 잘 되던 서버가 갑자기 안되었다. 무료로 SSL 인증서를 발급해주는 LetsEncrypt(Certbot) 이 이상이 생겼나 싶어서 제한 걸릴 때 까지 셋팅해보고, NginX 재설치도 해보고, 별의 별 거 다 해봤는데 해결이 안되었는데... 혹시나 싶어서 구매한 도메인 문젠가 싶어서 AWS Route 53 에 들어갔더니 인증 메일 기간이 지나서 다시 메일 요청하라는 메시지가 보였다...🤣🤣 덤으로 도메인은 중지되.. 프로젝트/단기 프로젝트 2024. 1. 25. 온라인 방탈출 기록지 프로젝트 후기 '샘' 이란 방탈출 은어를 아시나요? 방탈출 세계에서 '샘' 이란 은어가 있습니다. 샘은 아침샘, 밤샘을 뜻합니다. 방탈출 매장을 영업 외 시간인 이른 아침과, 밤(새벽)에 대관하여 모든 테마를 하는 걸 의미합니다. 주로 한 타임에 모든 테마에 입장할 수 있게, 테마에 맞게 인원을 구성합니다. 한 매장에 6개의 테마가 있다면, 3명씩 6팀으로 주최자 포함 총 18명이 함께 합니다. 샘을 하면 좋은 점은 단체로 입금하다보니 조금 더 할인을 받을 수 있다는 장점이 있습니다. 참고로 모든 매장이 대관이 가능하지는 않아요. 매장에 먼저 문의하여 해당 일정에 대관이 가능한지 확인해야 합니다. 방탈출 기록지가 있는 이유!? 샘을 가게 되면 꼭 한 분은 아래처럼 기록지를 출력해서 옵니다. 맨 윗 칸은 테마 사진과 테.. 프로젝트/단기 프로젝트 2023. 11. 22. [단기 프로젝트 #1] 에브리타임 청소기 구글 크롬 플러그인 토이 프로젝트 후기 반갑습니다람쥐. 다람쥐예요! 얼마 전 지인의 집에서 다 같이 해커톤을 한다는 소식을 들었어요. 그 날 휴가에다 오후에 일정이 있었어서 저녁에 스리슬-쩍 저도 찾아갔었어요. 😀 갑자기 뜬금 없는 구글 크롬 확장 플러그인? 예전부터 구글 크롬 플러그인이 어떻게 만드는 지 궁금해서 토이 프로젝트로 한 번 만들어보고 싶었어요. 서버 개발자다보니 주제가 딱히 떠오르지 않아 잠시 접어두었었는데요. 예전부터 이용하던 에브리타임에서 자동화 스크립트를 작성하여 사용하고 있었는데 매번 복사하고 텍스트로 관리하기 귀찮아서 토이 프로젝트로 구글 크롬 플러그인을 제작해보았어요. 부하를 일으킬 수 있는 특정 스크립트를 대신 실행 시키는 거라 따로 배포는 하지 않았어요! 완성 화면을 보여줘 ! 구글 크롬 확장 플러그인 완성 화면입.. 프로젝트/단기 프로젝트 2022. 3. 9. 이전 1 다음