이뮤터블 객체(Immutable Object) 이뮤터블 객체는 생성 후 그 상태가 변하지 않는 객체를 말한다. Java에서 대표적인 이뮤터블 객체로는 String, Integer, Float, Long 등이 있다. 정의만 보면 잘 와닿지가 않는다. 생성 후 상태가 변하지 않는다는 게 무슨말일까? 다음의 예시를 보면 이해가 쉽다. String s = "hello"; System.out.println(System.identityHashCode(s)); // 245257410 s += "world"; System.out.println(System.identityHashCode(s)); // 1283928880 System.identityHashCode(): 객체를 특정할 수 있는 식별값을 반환하는 메서드이다...
전체 글
발생상황@Column(nullable = false, length = 15)@ColumnDefault("'DEFAULT_THEMA'")private String thema; @ColumnDefault 어노테이션이 붙은 컬럼에 데이터를 넣으려 할 때 발생 오류메시지NULL not allowed for column "THEMA"; SQL statement: insert into Blog (commentAllowed,member_email,publicTF,thema,blog_id) values (?,?,?,?,default) [23502-224] 발생원인💡@ColumnDefault는 데이터베이스 수준에서 기본값을 제공하는 것이며, JPA나 Hibernate가 자동으로 Java 객체수준에서 값을 설정하는 것이..
Intro. 지난 글에선 ChatGPT API를 통해 깃허브 리포지토리를 요약해보았다. 이번에는 Gemini API, LLama API를 사용해보겠다. 전체적인 구조는 이전의 ChatGPT를 사용할 때와 다르지 않다. 단지 LLM의 종류만 바꿨을 뿐이다. Gemini API Gemini API를 기본적으로 사용하는 방법도 ChatGPT와 크게 다르지 않았다. API 키 가져오기 | Google AI for Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 API 키 가져오기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. API를 사용하려면 API 키가 ai.google.dev 해당 링크에서 API키를 발급받고 코드에..
Intro. 지금까지 Github API 사용법, ChatGPT API 사용법을 알아봤으니 둘을 사용해서 서비스를 개발해볼 시간이다. Fast API를 통해 간단히 API를 개발하고 PostMan으로 테스트 해보겠다. 시작에 앞서 구조를 한번 그림으로 정리해봤다 Github Repository의 정보를 가져오기 리포지토리의 어떤 정보를 받아와야 GPT가 잘 요약을 할 수 있을지 고민을 했었다. 1.Readme.md 사실 최고는 잘 정리된 readme.md 파일을 읽어오는 것이다. 하지만 모든 개발자가 readme를 제대로 정리 안해놓을 수도 있고 애초에 이 요약서비스를 사용한다는 것 자체가 그러한 정리에 익숙치 않거나 귀찮아 하는 사람들일 가능성이 크기 때문에 readme.md는 후보가 될 수는 있지만 ..