본문 바로가기

Spring24

[Spring] 스프링이란? 스프링은 여러가지의 기술의 모음이다. 필수 : 스프링 프레임워크, 스프링 부트선택 : 스프링 데이터(CRUD도움), 스프링세션, 스프링 시큐리티(보안), 스프링 RestDocs(API문서화), 스프링 배치, 스프링 클라우드  스프링 프레임워크핵심기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타웹 기술 : 스프링 mvc, 스프링 webflux데이터 접근 기술 : 트랜젝션, JDBC, ORM지원, XML지원기술 통합 : 캐시, 이메일, 원격접근, 스케줄링테스트 : 스프링 기반 테스트 지원언어 : 코틀린, 그루비이들을 통합해서 스프링 프레임워크라고 한다. 스프링 부트스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성tomcat 같은 웹.. 2024. 9. 13.
[백엔드 프로젝트] F!LB - AI가 알려주는 객관적인 감정인식 프로젝트 소개우리는 사용자의 일기를 ai가 분석해서 감정을 객관적으로 알려주는 서비스를 제작하였다.이 프로젝트로 해커톤에서 세종 테크노파크원장상을 수상하였다.위와 같이 회원가입을 하고 로그인을 하면사용자 별 달력이 뜬다. 달력의 색깔은 해당 날짜에 사용자가 작성한 일기의 감정을 나타낸다.  사용자가 일기를 쓰고 저장하면 위와 같이 일기의 전반적인 감정상태와 해당 일기에 대한 조언 그리고 통계자료가 나온다. 우리 서비스의 디자인은 정말 최고였다. 진짜 언제 봐도 너무 잘했다. 그리고 이걸 그대로 구현한 프론트도 너무너무 대단하다. 아이디어 도출우리의 주제는 현대인의 건강을 위한 서비스였다. 현대인의 건강을 위한 어플이면서, 사업성도 가진 서비스를 생각해내기가 조금 어려웠다. 수많은 회의 끝에 현대인이 자신.. 2024. 8. 30.
[Spring] RestTemplate로 ChetGPT 연결하기 이번 해커톤 프로젝트를 하면서 chetGPT를 연동해야 할 일이 생겼다.위와 같이 일기를 쓰면 그에 대한 코멘트를 챗지피티를 통해 보여준다.(일기 마저도 챗 지피티에서 따왔다ㅋㅋ) 팀원분이 지피티를 연동해보는 경험을 해봤으면 좋겠다고 하셔서 내가 하게 되었다. 처음에는 좀 어려워보이는 기능이라 겁먹었지만 막상 하니까 그렇게 어렵진 않았다. 역시 경험이 중요하다는 것을 깨닫게 되었다. 돈 넣고 키 발급받기 GPT를 그냥 쓸 때는 3.5는 무료로 쓸 수 있지만, OpenAI를 통해서 GPT를 쓰기 위해서는 3.5도 돈을 내야한다.새로 만든 계정에는 몇달러 준다는 말도 있던데 나는 아니었다..ㅜㅜ https://platform.openai.com/playground/chat?models=gpt-4oOpenAi.. 2024. 8. 7.
[나머지공부] RestTemplate 멋사 프로젝트와 이번 카테캠 과제에 RestTemplate이 쓰여서 공부해보려고 한다. RestTemplate이란? SpringBoot에서 RestTemplate는 HTTP 클라이언트를 쉽게 사용할 수 있도록 도와주는 라이브러리이다. GET,POST,DELETE,PUT 등을 사용하고, 원격 서버와 동기식 방식으로 JSON, XML등 다양한 데이터형식으로 소통한다.동기식 방식으로 요청을 보내고 응답을 받을 때까지 블로킹되며, 요청과 응답이 완료되기 전까지 다음 코드로 진행되지 않는다.원격서버와 통신할 때에는 응답을 기다리는 동안 대기해야한다.  위와 같은 방식으로 소통한다. RestTemplate 사용법 (요청명)ForObject 설정한 요청에 대한 결과를 객체로 반환한다. 예를 들면 getForObjec.. 2024. 7. 24.
[나머지공부] 테스트코드 작성법 카카오테크캠퍼스를 하다보니까 테스트코드의 중요성을 알게 되었다.근데 나는 남이 짜준 테스트코드를 돌리는 것 이외에는 딱히 해본 적이 없어서 이 부분을 구현하는데 힘들었다.그리고 테스트코드를 짜는 방법을 확실하게 몰라서 더 부담을 느끼는 것 같아서 이번에 쭉 정리를 해보려고 한다. 테스트코드를 작성하는 이유디버깅 비용 절감코드변경에 대한 불안감 해소더 나은 자료좋은 코드는 테스트하기 쉽다.테스트 자동화@SpringBootTest : 테스트에 필요한 핵심 기능 라이브러리@Junit : java에서 독립된 단위 테스트를 지원해주는 프레임워크 @Test 어노테이션마다 독립적으로 테스트가 진행된다. 단위테스트 VS 통합테스트 단위테스트는 시간과 비용면에서 좋고, test코드 자체가 하나의 문서가 되지만, 가짜객체.. 2024. 7. 21.
[카카오테크캠퍼스] JPA 연관관계 매핑 참고!객체는 파스칼 표기법(Line, Station,LineStation)을 따르고, 테이블은 스네이크 표기법을 따른다(line, station, line_station) 단방향 : 회원 -> 팀, 팀 -> 회원 둘 중 한 쪽만 참조하는 것양방향 : 회원 -> 팀, 팀 -> 회원 둘 다 참조하는 것 방향은 객체관계에서만 존재하고, 테이블 관계는 항상 양방향이다. 다중성다대일 일대다 일대일, 다대다가 있다. 연관관계 주인객체를 양방향 연관관계로 만들면 연관관계의 주인을 정해야한다. 단방향 연관관계 다대일 단방향 관계 회원과 팀이 있다.회원은 하나의 팀에만 소속될 수 있다.회원과 팀은 다대일 관계이다. 객체 연관관계회원 객체는 Member.team필드를 통해 팀을 알 수 있지만, 반대로 팀은 회원을 알 수 .. 2024. 7. 16.