전체 글 244

[H2Database] H2 데이터베이스 설치 방법

H2 데이터베이스 설치 과정에서 최초에 한 번 파일로 직접 접근해야 하는데 여기서 문제가 생겨 블로그를 찾던 중 좋은 블로그를 찾았다. 일단 문제는 해당 파일 연결시 자동으로 생성되지 않고 연결 실패가 뜨는 문제였는데 이 문제는 서버를 처음 접속하는 상태에서 연결을 눌러주면 바로 파일이 생성되면서 연결이 된다. 블로그 링크는 다음과 같다. H2 Database 설치, 서버 실행, 접속 방법 (Windows, MacOS) H2 Database 설치, 서버 실행, 접속 방법 (Windows, MacOS) H2 데이터베이스는 설치가 필요 없고 용량이 매우 가벼우며 웹용 콘솔(쿼리툴)을 제공하여 개발용 로컬 DB로 사용하기 좋은 데이터베이스이다. H atoz-develop.tistory.com

카테고리 없음 2023.11.02

[프로그래머스]최고의 집합 JAVA

문제는 다음과 같다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 1. n개의 1로 s를 만들수 있는지 판별한다. 만약 만들 수 없다면 집합으로 표현할 수 없다. 2. s를 n으로 나눈 몫에 s를 n으로 나눈 나머지만큼 반복해서 1을 더해준다. 접근 방법 풀이 1. n개의 1로 s를 만들수 있는지 판별한다. 만약 만들 수 없다면 집합으로 표현할 수 없다. s를 구성할 수 있는 수들중 가장 작은 수는 1이다. 그러나 1을 n번 더하여 s를 만들 수 없다면 어떤 방법으로도 만들 수 없다. 예를 들어 n=5일때 s=4이면 5개의 자연수를 가지고 4..

카테고리 없음 2023.11.02

<그대들, 어떻게 살 것인가?> 감상평

주의! 영화에 대한 내용이 포함된 감상평입니다. 만약 영화를 보시지 않았거나 스포일러를 원치 않으시면 다음에 찾아와 주세요! 이번에 본 영화 는 미야자키 하야오 감독의 마지막 작품이자 감독 인생을 모두 담은 영화라고 하여 영화관에서 보았다. 솔직히 미야자키 하야오 감독의 영화를 좋아하지도 싫어하지도 않는다. 초중학교때 기말고사가 끝나고 선생님들이 틀어주시던 원령공주, 하울의 움직이는 성, 센과 치히로의 행방불명을 보며 "이런 만화도 있구나" 정도의 인식이었다. 지금도 많은 사람들이 미야자키 하야오 감독을 천재라고 말하지만 필자는 이 분야에 무지하기에 왜 천재인지는 모르겠다. 그러나 항상 작품 안에는 메세지가 담겨있고 그 메세지는 필자의 생각을 자극했다. 그런 의미에서 라는 영화는 필자에게 많은 메세지를 ..

카테고리 없음 2023.10.29

[django] 테이블 다시 만드는 법

django로 프로젝트를 하다가 테이블 수정해야 할 일이 생겨서 수정하려고 이것 저것해보다 좋은 방법을 찾아서 적는다. 이 방법은 데이터베이스를 모두 날리고 처음부터 다시만드는 작업이다. 혹시나 중요한 정보가 있다면 이 방법말고 정말로 수정하는 방법을 찾아보길 바란다. 1. DB에서 수정하고자 하는 테이블을 삭제한다. 2. DB에서 django_migrations 테이블에 해당 APP 데이터 삭제 DELETE FROM django_migrations WHERE app = 'APP이름' 3. 해당 APP의 migrations 디렉토리 안에 있는 파일 삭제 (__init__.py 파일은 삭제하지 않음) 4. 스키마 생성 python3 manage.py makemigrations 5. 마이그레이션 진행 pyt..

카테고리 없음 2023.10.13

[JAVA] Field와 Property

자바를 공부하다보면 필드(field)와 프로퍼티(property)에 대한 내용이 나온다. 이 개념을 설명할 때 getter와 setter가 있으면 프로퍼티고 없으면 필드라고 하는데 그렇다기에는 조금 의미가 빈약하다는 생각이 들어 조금 더 찾아보았다. 먼저 자바 공식 문서에서 단어에 대한 정의를 찾아봤다. https://docs.oracle.com/javase/tutorial/information/glossary.html Glossary of Terms A browser with JavaScript enabled is required for this page to operate properly. Glossary of Terms For simplicity, "the JavaTM platform" is cal..

Java 2023.10.02

[AI] roboflow 사용법

인공지능 과제를 수행하다 데이터셋 부족으로 인터넷의 바다를 여기저기 떠돌아 다녔다. 그러던 중 roboflow라는 좋은 툴을 봤는데 이게 사용방법이 조금 헷갈려서 이것 저것 만져보다가 알아낸 방법을 기록으로 남겨보려고 한다. 먼저 roboflow에 가입을 한다. https://roboflow.com/ Roboflow: Give your software the power to see objects in images and video With just a few dozen example images, you can train a working, state-of-the-art computer vision model in less than 24 hours. roboflow.com 가입을 하고난 후 get sta..

인공지능 2023.09.26

[Thymeleaf] 타임리프 header와 footer 관리하기

처음엔 가장 사용하기 쉬운 mustache를 이용하여 header와 footer를 중복해서 쓰지 않는 방법을 배웠다. 그러나 스프링 진영에 공식적으로 밀고있는 타임리프는 아직 사용방법이 미숙하여 관리하는 법을 모르고있었는데 책을 읽다 알게 되어 정리하려고 한다. 먼저 Thymeleaf layout dialect를 의존성에 추가한다. nz.net.ultraq.thymeleaf thymeleaf-layout-dialect 그리고 header, footer, layout, index 파일을 만들어준다. 스프링에서는 resources 밑에 자원을 넣는다. 폴더 구조를 잘 보고 주의해서 넣자! 각 파일의 코드는 다음과 같다. header 파일 header 영역입니다. footer 파일 footer 영역입니다. l..

Java/Spring 2023.09.12

[자바 디자인 패턴] 이터레이터 패턴

문제 프로그래밍을 하다보면 반복문을 많이 사용한다. 그러나 반복문이 사용되는 목적은 다양한다. 일정 횟수를 반복하는 경우도 있고 탐색을 위해 반복하는 경우도 있다. 또는 모든 요소를 수정하는 것이 목적일 수 있다. 이때 반복의 대상이 어떠냐에 따라 다양한 방식으로 반복문을 만들어야 한다. 그러면 우리는 이런 생각을 할 수 있다. 어떻게 하면 반복문을 쉽게 만들 수 있을까? 이터레이터 패턴이란? 위와 같은 문제를 해결할 수 있는 디자인 패턴이 바로 이터레이터(iterator) 패턴이다. 이터레이터 패턴은 반복에 사용되는 요소를 추상화한 후 이를 일반화한 패턴이다. 예를 들어 다음과 같은 코드가 주어진다고 해보자. for(int i = 0; i < 10; i++) { ... } 여기서 반복을 제어하는 변수는..

o.s.b.d.LoggingFailureAnalysisReporter 에러 해결

스프링 프로젝트 환경설정을 위해 spring initializer를 이용했다. 이떄 의존성으로 lombok, web-starter, mustache, spring JPA를 동시에 의존성으로 받아줬다. 그리고 바로 실행했는데 다음과 같은 에러가 나왔다. 찾아본 결과 해당 에러는 데이터베이스 설정과 관련된 에러였다. 그런데 기본 설정만 한 상태로 바로 스프링을 실행했기에 크게 에러가 나올 상황이 없었는데 에러가 나서 당황했다. 일단 데이터베이스 문제가 있을 때 생기는 에러라는 것을 알았기 때문에 spring JPA를 삭제하고 다시 돌려보니 문제가 없어졌다. 위 나온 오류와 경험을 토대로 판단한 결과 보통 JPA를 사용할 때 사용할 데이터베이스를 같이 설정해주는데 여기서는 데이터베이스 설정을 하지 않아 JPA..

Java/Spring 2023.09.01