일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 저장소 이전
- 저장소 복제
- 스프링부트 OpenAI API
- HttpServletResponse
- 두수의 합 자바
- JDBC
- 넘파이
- swap 메모리
- 서버 배포
- MySQL
- JPA
- 스프링 이메일 전송
- springboot
- Git
- 비밀번호 재설정 API
- jar빌드
- JPQL
- 값 타입
- 우분투
- 프로그래머스
- github 복제
- 페이징 정렬
- api 개발
- MVC
- Json 객체
- 파이썬
- 자바
- Chat GPT
- git 충돌 해결
- Servlet
- Today
- Total
목록분류 전체보기 (106)
현의 개발 블로그

1. 사전 작업 1-1. SDK 파일 다운로드 https://apis.map.kakao.com/android/guide/ 파일 다운로드 후 libs 폴더 안에 있는 jar파일과 폴더들을 아래처럼 배치시킨다. (jniLib 디렉토리 추가 후 아래 세 폴더 넣기, libs 디렉토리 추가 후 jar 파일 넣기) 1.2 앱 등록 및 해시 키 추가 Kakao Developers에서 앱을 등록한 후 안드로이드 플랫폼을 추가한다. 프로젝트 패키지명과 해시 키를 등록하면 된다. 해시키는 안드로이드 프로젝트 내에서 아래 코드를 실행시키면 알 수 있다. private fun getHashKey() { try { val info = packageManager.getPackageInfo(packageName, PackageM..

프로젝션 프로젝션은 SELECT 절에 조회할 대상을 지정하는 것이다. 프로젝션 대상 엔티티 프로젝션 List result = em.createQuery("select m from Member m", Member.class) .getResultList(); //영속성 컨텍스트에서 관리됨 Member findMember = result.get(0); findMember.setAge(20); 임베디드 타입 프로젝션 em.createQuery("select o.address from Order o",Address.class) .getResultList(); 스칼라 타입 프로젝션 스칼라 타입은 숫자, 문자 등 기본 데이터 타입을 의미한다. DISTINCT로 중복을 제거할 수 있다. em.createQuery("s..

객체 지향 쿼리 언어 JPQL 기본 문법에 대해 살펴보자. 규칙 엔티티와 속성은 대소문자를 구분한다. ex) Member, age JPQL 키워드는 구분하지 않는다. ex) SELECT, from 테이블명이 아니라 엔티티명을 사용한다. 별칭은 필수로 있어야 하고 as는 생략 가능하다. select m from Member as m where m.age > 18 집합과 정렬 select COUNT(m), SUM(m.age), AVG(m.age), MAX(m.age), MIN(m.age) from Member m 결과 조회 API query.getResultList() 결과가 하나 이상일 때, 리스트를 반환한다. 결과가 없으면 빈 리스트를 반환한다. query.getSingleResult() 무조건 결과가 ..

JPQL JPA를 사용하면 엔티티 객체를 중심으로 개발한다. 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색한다. 하지만 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능하다. 애플리케이션에 필요한 데이터만 DB에서 불러오려면, 검색 조건이 포함된 SQL이 필요하다. JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어를 제공한다. SQL 문법과 유사한데 SELECT, FROM, GROUP BY, HAVING, JOIN 등이 지원된다. SQL은 데이터베이스 테이블을 대상으로 쿼리를 한다면, JPQL은 엔티티 객체를 대상으로 쿼리한다. JPQL은 SQL을 추상화 하였으므로 특정 데이터베이스에 의존하지 않는다. List result = em.createQuery("select m ..

Open AI API를 호출하기 위해 이전 글에서 설정 및 request DTO까지 생성 완료하였다. 스프링부트에서 Open AI API 호출하기(1) 스프링부트에서 Open AI를 활용해 응답을 받아오는 API를 구현할 것이다. build.gradle 설정 아래 라이브러리를 import 해준다. GitHub - TheoKanning/openai-java: OpenAI Api Client in Java OpenAI Api Client in Java. Contribute hyun-keepdeving.tistory.com Controller 작성하기 라이브러리로 OpenAiService가 잘 구현되어 있으니 사용하자. DEFAULT_TIMEOUT이 10으로 되어 있어 긴 답변을 요청할 때 socket tim..
스프링부트에서 Open AI를 활용해 응답을 받아오는 API를 구현할 것이다. build.gradle 설정 아래 라이브러리를 import 해준다. GitHub - TheoKanning/openai-java: OpenAI Api Client in Java OpenAI Api Client in Java. Contribute to TheoKanning/openai-java development by creating an account on GitHub. github.com implementation 'com.theokanning.openai-gpt3-java:service:0.14.0' DTO 생성 GPT에 요청을 할 DTO를 생성한다. @Getter @RequiredArgsConstructor public ..