[Spring Boot] Spring AI + Google vertex ai gemini 이미지 처리하기
·
Backend/Spring Boot
https://spring.io/projects/spring-ai Spring AISpring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain. Feaspring.io   Spring AI란 Spring에서 만든,  여러가지 Generative AI(GPT, gemini 등등..)을 Spring Framework에 쉽게 ..
[AWS] EC2 인스턴스 만들기
·
Cloud/AWS
AWS 로그인후 나오는 화면에서 아래에 보이는 EC2 버튼을 클릭.   인스턴스 시작 버튼을 눌러 새로운 인스턴스를 생성한다.  인스턴스 이름은 자유롭게, OS는 개발하려는 환경에 맞추어 설정하면되나 linux환경에서 터미널 빌드 방식의 배포가 익숙하여Ubuntu로 선택하였음.    key는 키페어 생성을 하게되면 개인키가 내 로컬 컴퓨터에 저장된다.나중에 ssh접속에 해당 개인키가 사용되니 꼭 보관을 해두어야 한다.   그렇게 인스턴스를 생성하고 해야할 중요할 2가지 일이 있다.   Elastic IP - 탄력적 IP (웹 서버 운영시)  탄력적IP란, 인스턴스의 퍼블릭 IP를 변하지않고 고정시켜주는 기능을 말한다.웹서버의 배포에서 웹 서버의 IP를 고정시킬 수 있기때문에 필수적이다.기본적으로는 생성되..
[JAVA] 백준 1759 - 암호만들기
·
PS/브루트포스(dfs,bfs,backtracking)
https://www.acmicpc.net/problem/1759 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; public class Main { public static int L; public static int C; public static char[] words; public static char[] pwd; public static boolean[] visited; public s..
[JAVA] 백준 12865 - 평범한 배낭
·
PS/다이나믹프로그래밍
import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[][] dp; // 마지막 상자가 i번째인 가장 큰 가치 . int[] weight; int[] value; for (int k = 1; k = weight[i]) { //i번째 인덱스를 넣을수 있다면 ..
[JAVA] 백준 1987 - 알파벳
·
PS/브루트포스(dfs,bfs,backtracking)
dfs + 백트래킹을 구현만 하면 정답인 문제였고HashSet의 add(), remove(), contains()가 O(1)인것을 이용해 HashSet을 통해 풀었다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashSet; public class Main { public static int max = Integer.MIN_VALUE; public static int R ; public static int C ; public static String[][] map; public static HashSet set = n..
[Kson] IntellJ 플러그인 - .json to .java
·
Projects/plugin
개발 동기 학교 전공수업 모바일 앱 프로그래밍실습을 들으며 Gson 라이브러리에대해 알게되었다.Gson이란, 구글에서만든 Java, Kotlin 용 Json 파서로, Json 문자열을 class로 파싱해 인스턴스를 생성해주는 라이브러리이다. Gson 라이브러리를 사용하던 중, json 객체가 복잡하게 nested되거나, JsonArray가 혼합되는등,  복잡한 유형의  json파일은 클래스로 만들기 굉장히 까다로웠다. 내가 미리 일일히 클래스를 생성해주어야 하기때문에,조금만 실수하면 파싱이 안되고, 또 어디서 실수가발생했는지도 찾기 굉장히 까다로웠다. 문득 든생각으로, json파일만가지고 클래스(.java)를 자동으로 생성해주는 라이브러리를 만들고싶어졌다. 그 라이브러리를 만들고, Gson()과 같이 사..
[JAVA] 백준 2096 - 내려가기
·
PS/다이나믹프로그래밍
https://www.acmicpc.net/problem/2096   맨 처음 풀었을떄 코드 :  bfs -> 메모리초과import org.w3c.dom.Node;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main { public static int N; public static int[][] map; public static int max = Integer.MIN_VALUE; public static int min = Integer.MAX_VALUE; public static Queue queue = new LinkedList(); public ..
[JAVA] 백준 9935 - 문자열 폭발
·
PS/자료구조
https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모www.acmicpc.net   문제를 보고 .replace()같은 라이브러리를 쓰면 무조건 시간초과가 날것이 뻔했으므로O(N)혹은 최대 O(KN) (K = 36)안에 문제를 해결하는 방법을 찾다가문자열 수식에서 괄호의 유효성을 체크하는 문제가 떠올라서스택으로 풀었다. 처음에 한번 풀다가 틀렸었는데 틀린 이유는 모든 문자를 일단 스택에 집어넣어야한다는점을 간과했다. 나는 PS를 할때 자바를 사용하는데 그 이유는 클..