본문 바로가기

전체 글220

[사이드 프로젝트] EP11. 삐걱삐걱 하루 일기 🍺 DATE : 2023.02.16 THU 📁 삐걱삐걱 하루 일기 오늘은 정말 삐걱삐걱의 연속이었다...ㅎ Kafka 실행에 문제가 생겨서 모든 properties 확인 후 재설치 하고 (1차) 깃허브 연결이 끊겨서 토큰 발급하고 (2차) 소셜 로그인 중에 리다이렉트가 http로 들어가서 바꿔주고, Redis 호스트가 로컬이었어서 바꿔주는 (3차) 문제들이 연속해서 나타났다 ^_^ 그래도 확실히 이렇게 부딪히면서 알게되는 게 기억에 오래 남는다..! 그러니 오늘도 기억에 오래오래 남겠지!!! 📎 Kafka 실행 및 확인하기 어제 만들어둔 Kafka 채팅을 확인하기 위해 Kafka를 실행해주었다. 먼저 zookeeper를 실행해 주고, Kafka를 실행해주었다. 근데 이 두 개를 실행하면 계속 8080 포.. 2023. 2. 17.
[사이드 프로젝트] EP10. ElastiCache 연결 및 Kafka 시작 🍺 DATE : 2023.02.15 WED 📁ElastiCache 연결 및 Kafka 시작 📎 ElastiCache 연결 : 로그인 과정에서 RefreshToken을 Redis에 저장하고 있다. 그렇기 때문에 배포 할 때에 Redis를 켜줘야 했다. EC2에 바로 Redis를 깔아서 하기에는 프리티어 인스턴스라는 부담이 있었다. 다행히도 ElastiCache에 프리티어로 사용이 가능한 타입이 존재했다. (cache.t2micro) 그래서 해당 타입으로 ElastiCache를 연결하였다. 혹시나 과금이 나지 않도록 설정 하나하나를 찾아보고 생성해주었다. 그래서 복제 노드가 존재하지 않고 다중AZ도 선택하지 않았다. 이번에 해당 서비스를 처음 알게 되어 사용해보는 것이었다. 그래서 더 알아가고 싶었고, 더 .. 2023. 2. 15.
[AWS] Mac 터미널에서 EC2 접속하기 맥의 경우 터미널에서 EC2 접속이 가능하다. 따라서 편의를 위해 터미널에서 접속하는 방법을 찾아보았고, 직접 해보았다. 📍 터미널로 EC2 접속하기 1️⃣ 키 페어가 저장된 경로로 이동 접속하려는 EC2의 키 페어가 저장된 경로로 이동 cd Documents 필자는 문서에 저장해두었기 때문에 해당 문서 폴더로 이동해 주었다. 해당 경로로 이동하여 작업을 하는 이유는, 경로를 표시하지 않고 바로 키 페어 파일로 작업을 하기 위함이다. 2️⃣ pem 파일 권한 변경 chmod 600 [키 페어 이름].pem 예시 : chmod 600 example.pem "나"에게만 읽기 및 쓰기 권한을 부여 3️⃣ SSH 프로토콜을 이용해 인스턴스에 접속 ssh -i [키 페어 이름].pem [기본 사용자 이름]@[인스.. 2023. 2. 15.
[AWS] EC2 인스턴스 생성하기 진행하고 있는 프로젝트에서 배포를 해볼 수 있게 되었다. 그래서 그 과정에서 작업한 내용을 정리해보려고 한다. 틀린 내용이 있을 수도 있으며, 수정이 될 수도 있다. 📍들어가기 전에 EC2란? Elastic Compute Cloud AWS에서 제공하는 클라우딩 컴퓨터 시스템 아마존으로부터 컴퓨터를 임대하는 것 프리티어 계정으로 1년간 사용 가능 (월별 750시간) 1️⃣ EC2 이동 : 기존의 기록이 있다면 그 기록으로, 기록이 없다면 검색을 통해 EC2로 이동 2️⃣ 인스턴스 시작 : 우측의 EC2 대시보드 혹은 인스턴스를 클릭한 후, 인스턴스 시작을 클릭하여 인스턴스 생성을 위한 작업을 시작 3️⃣ 인스턴스 생성을 위한 설정 인스턴스 이름을 정해준 후, 사용할 AMI를 선택한다. (필자는 리눅스로 생.. 2023. 2. 15.
[사이드 프로젝트] EP 9. QueryDsl 조회 커스텀 및 이미지 수정 보호되어 있는 글 입니다. 2023. 2. 15.
[사이드 프로젝트] EP 8. 한 주를 마무리하며 보호되어 있는 글 입니다. 2023. 2. 10.
[사이드 프로젝트] EP 7. 아직도 어려운 연관관계 보호되어 있는 글 입니다. 2023. 2. 7.
[사이드 프로젝트] EP 6. 도메인 연결 및 HTTPS 설정 🍺 DATE : 2023.02.06 MON 📁 도메인 연결 및 HTTPS 설정 이번 사이드 프로젝트를 하면서 꼭 배포를 해보고 싶었다. 그래서 배포 부분을 맡았고, 1차 배포를 위해 도메인을 연결하고, HTTPS연결을 시도하였다. 1️⃣ 도메인 연결 혹시다 다른 path로 문제가 생길 수 있어서 하위 도메인으로 설정하기로 하였다. 그래서 가비아에서 도메인을 구매하고, 하위 도메인을 등록하였다. 그리고 ACM(AWS Certificate Manager)로 인증서를 받았다. 2️⃣ 로드 밸런서 생성 HTTPS를 사용해야 하기 때문에 로드 밸런서를 생성하고 설정해주었다. 기본 포트인 80과 HTTPS 포트인 443포트를 리스너에 추가해주고, 대상 그룹도 생성해주었다. Heath Check가 계속 Unhealt.. 2023. 2. 7.
[SQL 전문가 가이드] 데이터 모델링 📎 SQL 전문가 가이드를 보고 공부 중 입니다. 📎 수정될 수도 있습니다. 📍세 가지 관점 1️⃣ 데이터 관점 (What) : 어떤 데이터와 관련이 되어 있는지, 데이터간의 관계는 무엇인지 2️⃣ 프로세스 관점 (How) : 무엇을 해야하는 지 3️⃣ 데이터와 프로세스의 상관 관점 (Interaction) : 프로세스에 따라 데이터가 어떻게 영향을 받는지 📍데이터 모델링 데이터 모델 데이터 베이스의 골격을 이해 이해를 바탕으로 SQL 문장을 기능과 성능적인 측면에서 효율적으로 작성하기 위해 알아야하는 핵심 요소 목적 업무 내용을 정확하게 분석하는 것 분석된 모델을 가지고 실제 데이터 베이스를 생성하여 개발 및 관리 중요성 1️⃣ 파급 효과 (Leverage) : 시스템이 구축이 완성 되어가는 시점에 데.. 2023. 2. 4.
[사이드 프로젝트] EP 5. ImageUpload 구현하기 (+NPE...) 🍺 DATE : 2023.02.03 FRI 📁 ImageUpload 구현하기 (+ 그리고 NPE) S3를 이용하여 이미지 업로드를 하기로 하였다. 이번에 처음으로 이미지 업로드를 구현해보았고, 생각보다 금방 할 수 있었다. 해당 코드와 작업 내용들은 따로 블로깅을 하는 것이 좋을 것 같다. 우선 생각보다 코드가 복잡하지 않고, 가져오고 업로드 하는 메서드 과정도 흐름을 금방 이해했다. 하지만 오늘 이미지 부분에서 나의 모든 시간을 가져갔다. 그 이유는 바로... 리사이징 때문이었다. 자바 내장 라이브러리를 이용해서 리사이징을 하고 싶었다. 그래서 BufferedImage로 변환하고, 다시 조정하는 코드를 참조해서 구현해보았다. 하지만 조정하는 걸 확인할 수 조차 없었다.. 바로 MultipartFile을.. 2023. 2. 3.
[사이드 프로젝트] EP 4. QueryDsl 과 친해지기 🍺DATE : 2023.02.02 THU 📁 QueryDsl 과 친해지기 이번에 프로젝트에서 QueryDsl을 꼭 활용해보고 싶었다. 그래서 페이지를 조회하는 부분에서 많이 사용해보려고 했다. 기초적인 응답을 받는 것, 그리고 해당 응답을 통해 페이지 네이션 처리하는 것은 이제 조금 익숙해 진 듯 하다. 저번에 대댓글을 구현할 때에 List 형태가 Projection을 사용해서 대입이 어렵다는 것을 알게 되었고, 이번에 forEach를 통해 해당 내용들을 추가해주었다. 아직 활용도가 초급 수준이라 기초적인 부분밖에 사용하지 못하였다. 시간이 조금 난다면 더 공부해서 join도 사용해보고 싶다. 데이터 베이스에서 join은 아직도 낯설다. 그래서 자주 자주 써보고 싶은 것이다.... (마음만 굴뚝..) 다.. 2023. 2. 3.
[사이드 프로젝트] EP 3. 알고리즘을 열심히 해야하는 이유 🍺DATE : 2023.02.01 WED 📁 알고리즘을 열심히 해야하는 이유 프로젝트를 본격적으로 진행한지 삼 일만에 알고리즘의 중요성을 또 한 번 깨닫게 되었다. 현재 구현하고 있는 부분은 페어링 부분이다. 페어링과 페어링 이미지를 두 가지 방식으로 연관 관계를 주고 구현해보고 있다. 첫 번째는 '페어링 : 페어링 이미지 = 1 : 1 ', 즉 일대일 연관관계로 두 엔티티의 관계성을 주는 방식이다. 페어링에서 총 받는 이미지가 3장이기 때문에 해당 이미지를 하나의 엔티티에 저장하는 방법으로 일대일 관계성을 생각해보았다. 두 번째는 '페어링 : 페어링 이미지 = 1 : N ', 즉 일대다 연관관계로 두 엔티티의 관계성을 주는 방식이다. 첫 번째 방식과 두 번째 방식 모두 장단점이 존재하기 때문에 어떤 방.. 2023. 2. 2.