전체 글(63)
-
[Project] Google Gemini API 활용
이번 프로젝트 컨셉이 여행 관련 사이트를 만드는 것인데, 요즘 또 대 AI 시대인 만큼 나도 AI 챗봇 등에 관심이 많아서 프로젝트에 AI를 활용한 시스템을 한 번 만들고 싶어졌다.그래서 여러가지 챗봇 API 중 현재 무료로 사용 가능한 Google Gemini를 내 프로젝트에 적용시켜 보기로 했다. Chat GPT도 일정 크레딧 까지는 무료로 사용이 가능하다고 나와있었는데, 내 계정엔 크레딧이 없어서 다른걸 찾던 중 Gemini를 사용하게 되었다.그럼 Gemini API를 어떻게 불러와서 사용하는지, 내 프로젝트에 어떻게 적용시켰는지를 포스팅 해보겠다.가장 먼저, Gemini API를 사용하기 위해서는 API 키를 발급받아야 한다. https://ai.google.dev/ Gemini Developer..
-
[Project] Spring Security를 활용한 회원기능
개인 프로젝트를 진행하면서 처음으로 Spring에서 지원하는 Spring Security를 활용하여 회원기능을 구현해보았다.나도 아직 Spring boot를 배우면서 프로젝트를 진행하는 중이라 기능들을 구현하는 데에 시간이 좀 오래걸렸다.잘 모르는 부분들은 Chat gpt를 활용하면서 하나씩 해결해 나갔다. 오늘은 그럼 Spring Security가 무엇인지, 그리고 이를 어떤식으로 프로젝트에 적용 시켰는지 기록 해볼것이다.Spring Security란?먼저 왜 Spring Security를 사용하여 회원 기능을 구현해야 하는지에 대해서 말하자면, 웹사이트에서 로그인, 로그아웃 등의 기능을 구현하면 이에 대한 권한 부여 / 관리 등이 필요하다. 이를 Spring에서 쉽고 효율적으로 구현할 수 있게 개발된..
-
[Spring] Thymeleaf
저번 포스트에서 미리 예고 했듯이, Thymeleaf에 대해서 알아 볼 것이다.일단 Thymeleaf가 무엇일까?Thymeleaf란?Thymeleaf(타임리프)는 템플릿 엔진의 일종으로 흔히 View Template(뷰 템플릿) 이라고 부른다.기존에 사용했던 JSP 같은 템플릿 엔진의 한 종류라고 할 수 있다. JSP와 Thymeleaf 차이점그럼 이때까지 사용했던 JSP와 어떤 차이점이 있을까?먼저, 기존에 사용했던 JSP는 Servlet으로 변환되어 실행된다.Servlet은 Java 소스이기 때문에 HTML 코드에 Java 코드를 합하여 동적으로 웹 페이지를 구성한다.(때문에 JSP 파일 내부에 자바 코드를 작성하는 것도 가능하지만 웬만하면 그렇게 하지 않는 것을 추천한다.) 반면, Thymeleaf..
-
[Spring] Spring Boot 시작하기
STS에서 Spring Framework로만 프로젝트를 하다가, 이번에 아예 Spring Boot를 시작해보려고 한다.Spring Boot는 기존의 Spring보다 의존성 관리, 초기 설정 등에 대해서 훨씬 간단하고 편리한 서비스를 제공한다고 생각하면 된다. Spring Boot는 대부분 IntelliJ를 많이 사용한다고 하여, 나도 이번 기회에 넘어가보기로 했다. https://www.jetbrains.com/ko-kr/idea/ IntelliJ IDEA – Java 및 Kotlin을 위한 최고의 IDE www.jetbrains.com위 링크에서 다운을 받으면 되는데, 인텔리제이는 유료 버전이 있기 때문에 무료로 사용하려면 "community" 버전을설치 해주어야 한다. Spring Boot는 http..
-
[Java] StringBuffer
오늘은 StringBuffer 클래스가 무엇인지 알아보자.StringBufferString클래스는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없기 때문에 문자열 결합시 계속해서 새로운 인스턴스를 생성한다.하지만 StringBuffer클래스는 변경이 가능하다.내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며,StringBuffer인스턴스를 생성할 때 그 크기를 지정할 수 있다.크기를 지정할 때 나중에 편집을 고려하여 버퍼의 길이를 충분히 잡아주는 것이 좋다.버퍼의 길이를 넘어서게 되면 버퍼의 길이를 늘려주는 작업을 추가적으로 해야 하기 때문이다. StringBuffer의 생성자StringBuffer클래스의 인스턴스를 생성하면 동시에 char형 배열이 생성된다.이 배열은 이후 문자열을 ..
-
[Spring] DispatcherServlet
Spring MVC에서는 DispatcherServlet을 도입하여 모든 과정을 중앙에서 처리한다.이전에는 요청된 URL과 매핑된 각각의 Servlet class를 찾아갔다면, Spring MVC는모든 요청을 DispatcherServlet에서 받는다는 말이다.그리고 DispatcherServlet은 이 요청을 분석하여 그 요청에 맞는 컨트롤러를 불러온다.[이전(모델1)에는 servlet과 controller가 분리되지 않았지만, Spring MVC(모델2)는 분리되었다.) 그럼 이 DispatcherServlet은 어떻게 구현해야 되는지 알아보자.사실 직접적으로 구현할 필요는 없고, DispatcherServlet 라이브러리를 설치해주기만 하면 된다.Spring Web MVC 라이브러리https://m..