전체 글
-
Spring boot 초기 세팅 및 DB 연결개발/개발일지 2023. 12. 3. 20:43
portpolent의 백엔드를 위해 Spring Boot와 DB를 설정하고 연결해 HTTP 요청을 잘 처리하는지 확인한다. IntelliJ Ultimate와 MariaDB를 사용한다. Spring Boot 프로젝트 시작하기인텔리제이에 spring boot프로젝트를 바로 만들 수 있는 기능이 있어서 그걸 사용했지만 https://start.spring.io/ 에서 생성해도 동일하다. 자바는 17 버전, Gradle은 Kotlin, 프로젝트 언어는 자바, 스프링 부트 3.2 버전을 사용한다. 개발에 필요한 여러 의존성도 같이 추가한다.WebMariaDB DriverJPAValidationSecurityLombok DB 연결하기JPA를 추가하고 스프링 프로젝트를 실행하면 오류와 함께 바로 종료된다. DB와 ..
-
[테트리스] 기본 HTML 레이아웃, Canvas 구현개발/개발일지 2023. 11. 13. 21:30
이전글 2023.11.13 - [개발/개발일지] - [테트리스] 프로젝트 구상 [테트리스] 프로젝트 구상 1. 프로젝트 구상 웹으로 간단하게 할 수 있는 테트리스이다. 백엔드까지 확장해 점수를 저장하거나 멀티플레이 기능을 지원한다. 주요 기능 HTML5 Canvas 기반 테트리스 유저 기능 플레이 결과 저 yeahx4.tistory.com 개요 테트리스는 10x20의 맵을 채워가는 게임이다. 복잡한 그래픽이 들어가진 않기 때문에 단순히 table이나 다른 방법으로도 구현이 가능하지만, 연습 겸 HTML5의 Canvas를 이용해서 진행해 보기로 한다. Canvas HTML의 Canvas HTML에서 canvas태그를 이용하면 바로 사용이 가능하다. 참고로 canvas를 지원하는 브라우저의 버전은 아래와 같..
-
[테트리스] 프로젝트 구상개발/개발일지 2023. 11. 13. 20:51
1. 프로젝트 구상 웹으로 간단하게 할 수 있는 테트리스이다. 백엔드까지 확장해 점수를 저장하거나 멀티플레이 기능을 지원한다. 주요 기능 HTML5 Canvas 기반 테트리스 유저 기능 플레이 결과 저장 및 통계 멀티플레이 2. 개발 환경 OS - MacOS 14.0 Sonoma (M1) Browser - Chrome 119 IDE - WebStorm, IntelliJ Professional DB - MariaDB VCS - Github Deploy - AWS
-
[백준] 16985번 Maaaaaaaaaze C++개발/알고리즘 & PS 2023. 10. 19. 22:21
https://www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 www.acmicpc.net 3차원 BFS에 층별 재배치, 회전까지 들어가 있는 문제이다. 단순하게 모든 경우의 수에 BFS를 해보면 된다. 구현이 살짝 많다. 풀이 구상 층별 배열 순서를 결정한다. 각 층을 회전시킨다. BFS를 수행하고 최단거리를 구한다. permutation → 백트래킹 → BFS 순으로 알고리즘을 사용했다. next_permutation 각 층을 배열하는 경우의 수를 모두 구하려면..
-
[백준] 1062 가르침 C++개발/알고리즘 & PS 2023. 10. 18. 23:19
https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 풀이 구상 모든 단어가 anta로 시작하고 tica로 끝나므로 a, n, t, i, c의 5글자는 무조건 배워야 읽을 수 있다. 저 5글자를 모두 배운 후 k - 5개의 글자를 추가로 배워 최대로 읽을 수 있는 단어의 개수를 세면 된다. 백트래킹을 활용하면 구현할 수 있다. k가 5보다 작은지 확인하고 작다면 모든 단어를 읽을 수 없으므로 0을 출력하고 종료한다. 또는, 모든 글자를 배울 ..