-
How To Write Blog TOP NEW
새로운 포스트를 추가하려면, _posts 디렉토리에 YYYY-MM-DD-name-of-post.ext 형식을 따르는 파일을 추가 Code Chunk def print_hi(name) puts "Hi, #{name}" end print_hi('Tom') #=> prints 'Hi, Tom' to STDOUT. #include <iostream> using namespace std; int main() { cout << "Hello World!"; return 0; } // prints 'Hi, Tom' to STDOUT. class Person: def __init... Read More
-
제네릭과 와일드카드 TOP NEW
Generic 타입을 매개변수화한 것 클래스 혹은 메소드에 선언 가능 동시에 여러 타입 선언 가능 A Simple Box Class public class Box { private Object object; public void set(Object object) { this.object = object; } public Object get() { return object; } } 컴파일 시 클래스가 어떻게 사용되는지 확인할 방법이 없다. 타입 안정성 부족 Box box = new Box(); box.set(123); ... Read More
-
SpringBoot Java로 Gpt api 연동하기 TOP NEW
application-gpt.yml OpenAI에서 발급받은 key를 넣어준다. 나는 직접 학습시킨 모델을 사용했기에 모델명도 넣어주었다. OPENAI_API_KEY: asdf MODEL_NAME: asdf GptConfig TOP_P : 이전 단어들을 바탕으로 생성한 후보 중에서, 누적 확률 분포의 상위 p%에 해당하는 후보들을 선택하는 기법 MAX_TOKEN : 하나의 요청에서 처리할 수 있는 최대 토큰 수 TEMPERATURE : 갚이 높을수록 더 다양한 출력을 생성, 값이 낮을수록 보수적인 출력을 생성 TIME_OUT : API 호출의 타임아웃 기간 설정. 여기서는 3600초... Read More
-
Url 경로 한글 인식 TOP NEW
-
SpringBoot 스케쥴러(Scheduler) TOP NEW
사용 계기 나는 일정 시간마다 동작하는 기능을 구현해야 했다. 바로 아래의 동작이다. 매일 0시에 유저들의 오늘의 명언 설정하기 여러 자료를 찾아보니, 스프링부트에서 Scheduler기능을 제공한다고 한다. 따라서 이 기능을 사용해 구현하기로 결정했다. 스케쥴러 사용 클래스 생성 Scheduler를 관리할 클래스를 만든다. @Component @EnableScheduling @RequiredArgsConstructor public class ContentsScheduler { } 스케쥴러 클래스는 스프링 빈에 등록되어야 하기에 @Component를 붙인다. 스케쥴러가 동작하도록 해주는 어노... Read More
-
Redis Server TOP NEW
Redis 사용 계기 노숙인 공모전에 참가하여 SW개발을 진행중이었다. 로그인을 할 때 SMS 인증을 하기로 결정되었다. 따라서 문자로 보내는 인증 번호를 Redis에 저장하도록 구현하였다. 초반에는 local에만 redis를 설치하고 테스트하였는데, 배포까지 하고 나중을 생각하면 server에 redis를 설치해야 했다. Server에 Redis 설치 나는 AWS의 EC2서버를 이용하였다. 또한 git bash에서 모든 커멘드를 작성했다. EC2 접속 ssh -i [키페어경로] ubuntu@[퍼블릭 IPv4 주소] Redis 설치 sudo apt-get update sudo apt-get upgrade s... Read More
-
Java로 Python 코드 실행하기 TOP NEW
Java에서 Python코드를 실행한 이유 구현하려는 기능 중에, LangChain을 이용해 대화 분석이 필요한 기능이 있었다. LangChain을 Java로 쓴 예시는 하나도 나오지 않았기에, LangChain은 Python으로 코드를 작성하고 그 Python코드를 Java코드를 통해 실행하자! 라는 생각을 하게 되었다. (절대 하지 말길…실행 시간이 매우 느리다.) Jython Jython은 파이썬 2.7 문법을 따른다. 현재 내 파이썬 버전은 3.12 이다. Python을 다운그레이드하는 것은 좋지 않은 방법 같아 Jython을 과감히 포기했다. ProcessBuilder 나는 컨트롤러에서... Read More
-
CoolSMS TOP NEW
SpringBoot와 CoolSMS로 문자 인증 구현 문자 인증을 구현하려는데, CoolSMS가 제일 자료도 많고 편리해 보여 선택하였다. CoolSMS 사용 준비 CoolSMS 회원가입하고 API Key를 생성한다. CoolSMS 사이트 메뉴 -> 개발/연동 -> API Key 관리에서 발급한다. 한 건당 가격이 나가고, 첫 가입시 일정 포인트를 제공한다. build.gradle 의존성 추가 // cool SMS implementation 'net.nurigo:sdk:4.3.0' application-cool-sms.yml API_KEY: ㅁㄴㅇㄹ API_SECRET: ㅁㄴㅇㄹ FROM_PHO... Read More
-
Naver map crawling with Java TOP NEW
크롤링 크롤링이란? 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위다. 웹 사이트에서 태그를 이용하여 프로그래밍적으로 데이터를 가져온다. 크롤링 계기 전국의 카페와 카페의 아메리카노 정보가 필요했다. 외부 api를 찾는 것이 베스트였지만.. 카페와 커피까지 있는 api는 없었다. 따라서 특정 지역을 한정해서 네이버 지도의 정보를 크롤링 하기로 결정했다! Java 선택 이유 사실 크롤링이라 하면 대부분 Python을 이용한다. 하지만 나는 Spring Boot를 항상 사용하고 Java에 익숙했기 때문에 Java를 선택하였다! 본격적인 크롤링 어떻게 크롤링했는지 간단하게 정리해 보자. 크롤링할 정보... Read More
-
Spring Boot Querydsl setting TOP NEW
Querydsl 사용 이유 프로젝트에서 qeurydsl을 사용해야 하는 기능이 있었다. 동적 필터링이었다. 가격과 여러 커피의 특징들로 검색하는 기능이다. 여러 검색 조건을 동시에 적용해야 하다 보니 qeurydsl이 필요했다. Spring Boot 버전 우리 프로젝트의 spring boot 버전은 3.2.3이다. Querydsl 설정부 build.gradle 파일에 다음과 같이 추가한다. dependencies{ ... //querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.que... Read More
-
비사이드 포텐데이 TOP NEW
비사이드 포텐데이 비사이드 포텐데이 링크 10일 동안 하는 해커톤 기획자, 디자이너, FE 개발자, BE 개발자로 구성 100% 온라인 403 모집기간: 2024.02.26 ~ 2024.03.17 참가비 10만원 03.01까지는 얼리버드로 참가비가 5만원이다. (일찍 신청하면 할인) 내 스토리 이번 403 비사이드 포텐데이에 지원했다. 그냥 인터넷에서 사이드 프로젝트 하고싶어서 여러가지 찾다가 지원하였다. 처음 회원가입하고 정보 입력하다보니 10,000원 쿠폰?같은 것을 줘서 나는 4만원에 참가 신청을 하게 되었다. 가격이 부담되지 않아서 좋았다. 그리고 다른 홀라?같은 사이드 프로... Read More
-
개발 동아리 지원 후기 TOP NEW
Prograpy Prograpy 링크 ~ 2024.01.24 서류 신청 기간 2024.01.30 ~ 2024.02.03 과제 기간 2024.02.08 과제 결과 발표 나의 스토리 대학교 3학년이 끝나고 프로젝트 경험이 필요하다고 생각하였다. 그래서 여러 개발 동아리를 찾아보다가 프로그라피를 발견했다. (모집하는 날짜가 제일 빨랐다.) 나는 9기 Spring 파트에 지원했다. 서류 문항 특이하게 글자수 제한이 없었다. 본인의 장단점에 대해서 각각 서술해주세요. 계획 세우는 것을 좋아하는데 팀원이 그 계획을 지키지 않을 때 화를 잘 낸다.. 단체활동을 했던 사례와,... Read More
-
Spring Security Jwt TOP NEW
JWT JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. Header, Payload, Signature 3개의 부분으로 구성되어 있다. JWT.io Header Signature를 해싱하기 위한 알고리즘 정보들이 담겨있다. { "alg": "HS256", "typ": "JWT" } Payload Server와 Client가 주고받는, 시스템에서 실제로 사용될 정보에 대한 내용들을 담고있다. { "sub": "1234567890", "na... Read More
