전체 글

https://github.com/aeeazip
목차 1. OpenAI 설정 > Key 발급 2. SpringBoot 설정 3. 코드 작성 1. OpenAI 설정 > Key 발급 Chat AI를 사용하기 위해서 해당 사이트에서 Secret Key를 발급받아야 한다. https://platform.openai.com/account/api-keys OpenAI Platform Explore developer resources, tutorials, API docs, and dynamic examples to get the most out of OpenAI's platform. platform.openai.com 로그인 후 Usage를 클릭하면 현재 Free trial을 사용 중이며 무료로 $5.00 까지의 요청을 사용할 수 있다고 한다. 그리고 API Ke..
· Server/CI&CD
목차 0. 포스팅 계기 1. CI/CD 개념 2. OverView : GitLab + Jenkins + Nginx + AWS EC2 3. EC2에 Jenkins 설치 후 초기 설정 4. GitLab - Jenkins 설정 5. Jenkins - EC2 연결 6. 방화벽 설정 7. Nginx로 reverse_proxy 설정 8. 빌드 스크립트 (deploy.sh) 작성 0. 포스팅 계기 한이음 중간보고서 제출 전 구글링하다 얻어걸린 블로그에서 GitLab + Jenkins + Docker + EC2를 활용한 CI/CD를 구축했길래 우리도 비슷하게 하면 되겠거니 생각해서 보고서엔 멋드러지게 위의 기술들을 활용하겠다고 작성했다. 막상 본격적인 개발 시작 전에 다시 블로그를 읽어보니 1편만 작성하셔서... 어 ..
· Server/CI&CD
목차 0. 포스팅 계기 1. CI/CD 개념 2. OverView : Github Action + Docker + Nginx + AWS EC2 3. 스프링 프로젝트 내부에 .yml 파일 작성 4. 스프링 프로젝트 내부에 Dokerfile 작성 5. Github Actions의 Secrets 값 설정 6. Github Actions의 workflow 작성 7. EC2에 Docker 설치 + docker-compose.yml 파일 작성 8. 방화벽 설정 9. Nginx로 reverse_proxy 설정 0. 포스팅 계기 CI/CD 어느순간부터 귀에 딱지 앉게 많이 들은 단어지만 정확한 개념도 어떻게 구현하는건지도 찾아본 적도 없었다. 그러다 프로젝트 배포를 늘 수동으로!!!!!!!!!! 한 끝에 드디어 CI/..
1. Error 발생 프로젝트에서 매칭을 위해 Post 약속 장소 주변에 거주 중인 User 중 한 명을 추천해주는 쿼리를 작성했다. 코드는 다음과 같았다. User 클래스 @Getter @Entity @NoArgsConstructor @Table(name="User") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="user_id") private int userIdx; @Column(name="Keyword_keyword_id") private Integer keywordIdx; private String name; private String role; private String email..
· Github
1. .gitignore 파일 역할 사용자가 원하지 않는 파일이나 git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다. Example node_modules Java 컴파일된(.class) 파일 AWS 비밀키, Open API 인증키 2. .gitignore에 추가했지만 적용되지 않는 경우 로컬 폴더 구조의 모습이다. npm 모듈은 용량이 크기도 하고, 프로젝트를 클론 받았을때 package.json을 기준으로 npm install 해주는 것이 더 효율적이기 때문에 올리지 않는다. 따라서 node_modules을 .gitignore에 추가해주었으나, 반영되지 않았다!! 이런 경우 git의 캐시가 원인인 경우가 있다. 그래서 git에 있는 캐시파일을 지워주고 다시 add 해주면 된다. 순서는 다음과..
· Certificate
시험 일주일 전에 책을 사다 ㄴOㄱ 전공생이라면 SQLD나 리눅스 마스터는 금방 취득할 수 있다는 얘기를 주워듣고 따야겠다는 생각만 한채로 미루고 미루다 이번엔 진짜 보기로 결심하고 2월쯤 여니랑 같이 신청했다. 근데 2월엔 프로젝트 때문에 정신 없어서, 3월 초엔 벤처기업 아카데미 때문에 수강신청이 꼬여서 결국 휴학하는 바람에 3월 19일이 시험인데 일주일 전에 급하게 책을 구매했다. 나도 내가 지독하게 게으르다는건 알고 있지만, 일주일 전에 책을 사게 될 줄은 몰랐다. 변명해보자면 원래 책도 안사고 인터넷에 있는 기출 문제만 풀어보려고 했는데 여니가 책 사는게 좋을 것 같다고 해줘서 급하게 구매하게 됐다 ㅎㅎ 시험 공부 여니가 이 책을 구매했다고 해서 따라 샀는데 일명 "노랭이" 라고 해서 SQLD를..
JDBC로 작성했던 코드를 JPA로 변경하고 있는데 timezone 설정이 필요해서 Repository에 직접 쿼리문을 작성해주었다. @Query를 사용해서 직접 쿼리문을 작성해주었고 SQL 문법상의 오류도 없는 문장이기 때문에 코드 작성을 마치고 냅다 실행해보았다. antlr.NoViableAltException: unexcepted token: SET 에러가 발생했다. 내가 어노테이션 안에 직접 작성해주었던 쿼리문 속 SET 키워드를 인식하지 못하고 있는 것 같았다. JPA에서 직접 쿼리를 작성할 수 있는 방법은 일반 SQL로 작성 JPQL로 작성 2가지가 있다. JPQL은 JPA의 일부분으로 정의된 플랫폼 독립적인 객체지향 쿼리 언어를 의미한다. 따라서 JPA에서 일반 SQL은 데이터베이스의 관점에..
IntellJ 22.03 버전에서 메인 메소드를 실행하면 Gradle로 수행하기 위해 테스트 성능이 떨어지고, 속도가 느리다. File > Settings > Build, Execution, Deployment 탭을 선택하면 Build and run using과 Run tests using 이 Gradle(Default)로 설정되어 있기 때문이다. 따라서 위의 설정을 모두 IntelliJ IDEA로 변경해주면 속도가 빨라진다. 왜 Default는 Gradle 인가? 공식 문서에서는 아래와 같이 설명하고 있다. IntelliJ IDEA는 Gradle을 기본 실행기로 한다. 결과적으로 CI 서버에서 동일한 테스트 결과를 얻는다. 또한 명령 줄에서 실행되는 테스트는 항상 IDE에서 작동한다. 로컬 PC에서 G..
1. DHCP에 대하여 DHCP의 정의 DHCP는 Dynamic Host Configuration Protocol 즉 동적 호스트 구성 프로토콜을 의미한다. 자동으로 IP를 호스트하는 IP 주소 및 서브넷 마스크 및 기본 게이트웨이 등 기타 관련된 구성 정보를 제공한다. DHCP의 구성 1) DHCP 서버 DHCP서버는 네트워크 인터페이스를 위해 IP 주소를 갖고 있는 서버에서 실행되는 프로그램 → 일정한 범위의 IP 주소를 다른 클라이언트에게 할당해 자동으로 설정해주는 역할 → 서버는 클라이언트에게 할당된 IP 주소를 변경없이 유지해줄 수 있음 2) DHCP 클라이언트 클라이언트는 시스템이 시작하면 서버에 자신의 시스템을 위한 IP 주소를 요청 → TCP/IP 설정은 초기화 → 다른 호스트와 TCP/I..
· Cloud/AWS
PuTTY로 EC2 서버에 접속해서 스프링 프로젝트를 배포하는 과정을 정리할 예정이다. 1. PuTTY로 EC2 서버 접속 Host Name (or IP address)에 EC2 퍼블릭 IPv4 값을 적고, SSH 접속 방식이기 때문에 Port는 default인 22로 그대로 둔다. (퍼블릭 IPv4값은 AWS > EC2 > 인스턴스 정보 요약에서 확인 가능) 왼쪽 탭에서 SSH > Auth를 선택해서 Private key file for authentication에 EC2 생성 시 발급받았던 키페어 파일 경로를 넣어준다. EC2는 SSH를 통한 접근제어 시 보안을 위해 키페어 값을 사용한다. 완료 후 Open을 클릭한다. 2. 스프링 프로젝트 EC2에 배포하기 서버에 로그인하기 위해 아이디 값으로 ub..
aeeazip
워니의 개발 기록