안녕하세요. 이번에는 요구사항에 따라 프로젝트가 실행될 때 데이터베이스 테이블이 생성된다거나 생성된 테이블에 데이터를 미리 넣어놔야하는 경우, 즉 DDL, DML 같은 스키마를 좀더 SQL 형태로 미리 정의하여 실행하는 방법에 대해서 포스팅해보고자 합니다. 1. 프로젝트 생성 먼저 간단한 스프링부트 프로젝트를 생성해야합니다. 예제이므로 어떠한 의존성도 추가할 필요가 없기 때문에 그냥 생성만 해줍니다. 프로젝트를 생성했다면 Eclipse나 IntelliJ 같은 IDE를 통해 작업을 하실텐데 XXXApplication 클래스가 생성되었는지 확인하시고 main 메소드가 존재하는지 확인합니다. 여기까지는 프로젝트 생성만 하면 별 다른 내용없이 확인 가능하실겁니다. 2. DB 연동 설정 프로젝트가 빌드되면서 sq..
개발자로써 공부하는 동기부여방법(2) 안녕하세요. 오늘은 개발자로써 흑구의 공부 동기부여 방법 두번째입니다. 지난 시간에는 제 블로그 url의 어원인 sas(Slow And Steady)에 기반하여 작성했었는데요. 오늘도 이렇게 꾸준히 올려보고자 합니다. ^^ https://sas-study.tistory.com/352 일단 오늘의 동기부여방법의 키워드는 열등감과 자기반성입니다. 개발자로써 혹은 프로그래머로써 항상 마주하게되는 것이 기술적 토론일 것입니다. 이것은 신입개발자 or 취준생에게는 기술면접이 될 수도 있고, 경력개발자는 특정 회사 혹은 개발자와의 서로 다른 경험에서 오는 다름에 대한 이야기가 될 수 있습니다. 연차가 낮은 사람이 있을 것이고, 높은 사람이 있을 것입니다. 상대적으로! 확률적으로..
개발자로써 공부하는 흑구만의 동기부여방법(1) 안녕하세요. 오늘은 개발자로써 어떻게 동기부여를 팍팍 불어넣으면서 공부에 매진할 수 있는지에 대하여 이야기해보려합니다. 제가 감히 이런 부분을 이야기한다고해서 많은 영향력이 있진 않겠지만 세상에는 다양한 개발자가 존재하고 그 다양함에서 많은 소스들이 발생하기 때문에 이번 글이 누군가에겐 소스가 되길 바라며 시작해보겠습니다. 급하지 않기를!! 일단 먼저 제 블로그의 url을 보시면 sas-study라는 도메인으로 시작하는 것을 볼 수 있을 것입니다. 주변분들이 제가 블로그를 하는 것을 알지만 한번도 이 부분에 대해서 질문을 하시거나 제가 따로 말씀드린적이 없어서 최초공개!! 가 되는데요. Slow and Steady의 약자입니다. url의 마지막 path를 보..
안녕하세요. 최근 사이드 프로젝트를 하면서 JPA를 활용하고 있는데요. JPA가 MyBatis를 추격하며 꽤 많이 채용공고나 라이브러리 검색 비율을 높여가고 있는걸로 알고있습니다. 이에 따라 저도 사이드 프로젝트에서 JPA를 활용해서 프로젝트를 진행중입니다. 그 중 스펙이 Spring Boot 2.2 버전, Spring Data JPA, H2 Database 를 이용하여 개발하고 있습니다. 일단 H2 데이터베이스는 Test 에서만 활용하고자 하였으나 AWS RDS 비용이 얼마나 나오게 될지 두려워서.. 이미 EC2로 임시서버 배포한 후, IOS/React 웹이 붙어서 AWS 요금이 얼마나 과금될지 두려워서 H2를 쓰려고 하였습니다. 그렇게 발생된 문제는! 서버를 내렸다가 배포하게되면 그동안 쌓였던 데이터..
문제 설명 다음과 같은 2차원 문자열 배열이 주어질 때, [A, B, C, E] [S, F, C, S] [A, D, E, E] 지정 문자열 "ABCCED" 에 대하여 위의 배열에서 찾아서 존재하는지를 반환하는 dfs 풀이를 작성하시오. 단, 지정 문자열을 찾을 때 문자열은 연결되어있어햐 한다. 결과 : true 나의 풀이 public static void main(String[] args) { String[][] grid = { {"A","B","C","E"}, {"S","F","C","S"}, {"A","D","E","E"} }; Main m = new Main(); String word = "ABCCED"; System.out.println(m.solve(grid, word)); } int m, n;..
문제 설명 시작 문자 : hit 끝 문자 : cog 문자 리스트 : hot, dot, dog, lot,log, cog 다음과 같이 parameter가 제공되고 시작 문자에서 한글자씩만 바꿔서 문자리스트에 있는 문자들을 통해 끝문자인 cog로 변경되는데까지의 횟수를 구하시오. 예를 들어, hit ->(ait..zit , hat..hzt , hia..hiz) -> hot -> dot -> dog -> log -> cog. => 총 5회. 나의 풀이 class Main { public static void main(String[] args) { Main a = new Main(); String beginWord = "hit"; String endWord = "cog"; List wordList = Arrays..
JPA 관련 학습을 하는 도중에 일반적인 비즈니스 로직은 다 짰고 테스트로 돌려보고싶어서 테스트코드를 작성하는 도중에 다음과 같은 에러가 발생했다. No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call 일단 내용을 읽어보니 현재 스레드에 Enti..
다음과 같은 다이어그램을 구현한 아래의 코드를 이용하여 노드 다이어그램의 최대 깊이를 구하는 코드를 작성하시오. DFS(깊이우선탐색) 과 BFS(너비우선탐색) 탐색방법을 이용하여 각각 작성하시오. TreeNode 클래스 class TreeNode { public int val; TreeNode left; TreeNode right; TreeNode(int val) { this.val = val; } } 메인 메소드 public static void main(String[] args) { TreeNode root = new TreeNode(10); root.left = new TreeNode(9); root.left.left = new TreeNode(7); root.left.right = new Tree..