[알고리즘] 2024.09.27 풀이
·
알고리즘 메모
풀이 사이트: 프로그래머스 고득점 Kit! # 해시📝 의상 (lv 2) - https://school.programmers.co.kr/learn/courses/30/lessons/42578* 체감 난이도 : ⭐️ - - - -- 해쉬의 매우 기본적인 문제였다.- 옷의 종류가 정해져 있고, 중복 된 종류의 옷은 함께 입을 수 없기 때문에 구분해서 저장해야 했다.- 그렇기 때문에 해쉬를 사용해야하며, Key는 옷의 종류로 하여 저장한다.- 종류마다 옷들을 리스트 형태로 저장할 필요 없이 단순히 개수만 카운트하면 된다. (얼굴 : 2, 상의 : 3, 하의 : 1 ..)- 이유는 옷의 경우의 수를 생각보면 알 수 있다.- 단순하게 생각해봤을때 상의 3가지, 하의 2가지가 있으면 단순 조합수는 6가지이다(2x3..
[스프링부트] 자동 답변 봇 구현 (AI 서버와의 연결)
·
스프링부트 메모
⭐️ 목적현재 진행 중인 캡스톤 프로젝트에 핵심 기능 중 하나가 AI를 이용한 자동 답변 기능이다. ChatGPT API를 활용하여 답변 생성을 하고자 했는데, AI 서버를 분리한 상태이기 때문에스프링부트 프로젝트에 연결해서 자동 답변 기능을 구현해야 했다.  ✅ 구현 과정 (간략)# 연결 로직 구상> 첫 번째 아이디어: 즉시 응답단순하게, 질문글 작성을 요청할 경우 글의 내용을 AI 서버에 전송하여,ChatGPT API를 이용하여 답변을 생성하고 해당 답변을 응답으로 받아 작성하는 방식이다. 하지만, 이런 방식으로 구현할 경우 챗 지피티의 답변 생성 시간만큼 질문글 생성에 딜레이가 생기게 되고,응답 시간의 딜레이가 생긴다는 것은 서비스 측면에서 일어나선 안 될 일이기 때문에 개선이 필요했다. > 두 번..
[스프링부트] 이메일 전송 기능 구현하기
·
스프링부트 메모
⭐️ 목적이메일 전송 기능은 인증코드를 통한 인증을 위해서 필요해졌다. 플랫폼 정책상 랜덤으로 생성된 인증 코드를 이메일로 전송하여 검증하는 방식을 채택했기 때문에프로젝트에 이메일 전송 기능을 구현해야만 했다.  ✅ 구현 과정 (간략)1. 구글 메일 설정이메일 전송에 사용할 SMTP 서버를 설정해야한다. 나의 경우 프로젝트 전용 구글 계정을 새로 생성하여 구글 SMTP 서버를 사용했다. 구글 계정을 통해 SMTP 서버를 사용하기 위해선 별도의 설정이 필요하다. 구글 메일 설정에 들어가서 다음과 같이 설정한다. 2. 구글 메일 연동구글 보안 상 연동을 위해선 2단계 인증이 된 계정의 앱 비밀번호를 설정하여 사용해야 한다. 먼저 스프링부트 build.gradle에 메일 전송을 위한 의존성을 추가한다.impl..
[스프링부트] 디스코드 웹훅 연동하기
·
스프링부트 메모
⭐️ 목적웹훅 연동의 필요성은 신고하기 기능 구현으로부터 나타났다. 사용자가 신고를 했을 경우 운영자가 직접 처리해야 했기 때문에운영측을 위한 알림 기능이 필요했다. 알람 구현 방법은 두 가지가 있었다.Amazon LambdaSlack 또는 Discord 웹훅 연동아무래도 아마존 람다의 경우 러닝커브가 굉장히 클 것이라는 팀원의 의견을 수용해서웹훅을 연동하기로 결정했다. 슬랙과 디스코드 중에 결정했어야 했는데 프로젝트 소통 플랫폼이 디스코드였기 때문에자연스럽게 디스코드 웹훅을 연동하게 되었다.  ✅ 구현 과정 (간략)1. 연동할 디스코드 채널 생성 및 설정 메시지를 받고 싶은 채널을 생성하고 웹후크 설정을 한다. 설정한 웹후크의 URL을 사용하여 스프링부트 프로젝트에 연동할 것이다. 2. 스프링부트 ap..
[스프링부트] 메모 시작
·
스프링부트 메모
본 카테고리의 캡스톤 프로젝트를 스프링부트로 진행하면서 익힌 기술들에 대한 기록이다. 최근 구현하는 내용에 대한 기록과 함께 이전에 했던 내용들을 생각나는데로 작성해 볼 예정이다.
[인턴] 회고록
·
인턴 메모
인턴 생활 소감을 짧게​인턴 덕분에 방학을 나름 재밌고 알차게 보낼 수 있었다.​라고 정리할 수 있겠다.​​인턴 기간동안 좋았던 점, 배운 점, 아쉬웠던 점을 정리해봤다.​​# 좋았던 점​1. 복지아무래도 출퇴근 시간 정해져 있지 않고, 재택도 아웃풋이 나온다는 전제 하에 자유롭다는 점이 정말 좋았다. 아침 일찍 일어나기 힘들어하는편이라 정말 최고의 복지였다.밥, 커피 맥여주는 복지도 짜릿했다. 카페인 중독이라 커피를 정말 많이 마시는 데 회사 내에 커피머신이 배치 돼있어서 땡길때마다 마실 수 있어서 실컷 마시다 왔다.​2. 프로젝트주 단위로 팀 미팅을 진행하면서, 즉시 피드백을 받는 구조이다보니 프로젝트 방향성이 크게 흔들리지 않고 잘 흘러 갈 수 있었다.반 강제적인 프로젝트 최종 발표가 있다보니 인턴..
PaaS vs Serverless
·
클라우드 메모
개요요즘 자주 보이는 용어인 Serverless. 처음 들었을 때 전공 강의 시간에 배운 PaaS와의 차이가 애매모호 해서 정확히 알고 싶어졌다.   PaaS란?서비스로서의 플랫폼(Platform-as-a-service, PaaS)은 애플리케이션 소프트웨어 플랫폼이 제3사를 통해 제공되는 클라우드 컴퓨팅의 한 형식보통 해당 프로세스와 관련된 인프라 또는 플랫폼을 구축하고 유지관리할 필요 없이 자체 애플리케이션을 개발, 실행 및 관리 할 수 있도록 함Java, Ruby, Python 등의 프로그래밍 언어와 같은 애플리케이션 실행 환경DB 등서버, 네트워크, 보안 부분 → 클라우드 사업자에게 위임클라우드와 온프레미스 인프라 환경에서 모두 실행 가능장점서버 유지 관리의 부담 완화인프라 소프트웨어를 최신 상태로..
[코드트리 조별과제] 6주차 레포트
·
알고리즘 메모
코드트리 방학 과제 마지막 주다. 한 달 좀 넘는 기간이 순식간에 지나버렸다. 이번 주는 현생 이슈로 마지막 주임에도 불구하고 문제를 거의 풀지 못했다. 아쉬운데로 급하게 쉬운 dp 한 문제, 좋아하는 dfs 한 문제씩 풀이 했다. 생각보다 별로 풀이하지 못해 아쉬운 마음이 크고, 또 이런 좋은 기회가 오면 좋겠다. (애플워치 받으면 좋겠다) > 문제 풀이# dfs📝 마을 구분하기 - https://www.codetree.ai/missions/2/problems/seperate-village/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree..