전체 글156 [IntelliJ] tdd 라이브 템플릿 1. preference에서 live template을 찾습니다. 2. 오른쪽에 +버튼을 누르고 Template Group을 Custom으로 추가합니다. 3. + 버튼으로 Custom 그룹에 Live template tdd를 추가합니다 4. 템플릿 코드를 입력합니다. 5. application context를 Java로 선택합니다. 코드는 다음과 같습니다 @Test public void test(){ //given //when //then } 자바파일에서 tdd를 입력하면 다음과 같이 템플릿이 생성됩니다. 2021. 8. 24. [SpringBoot] 게시판 만들기 필요 클래스 및 동작 1. 도메인 패키지 Posts 엔티티 클래스 생성 데이터베이스와 맞닿은 핵심 클래스 수정이 최소로 되도록 보장해야함 Controller에선 Dto를 사용 JpaRepository을 상속받은 PostsRepository 인터페이스 생성 PostsRepository의 메소드로 Posts 생성과 조회 가능 2. Request 데이터를 받을 Dto 게시글 저장 PostsSaveRequestDto 클래스를 생성 게시글을 저장할 때, PostsRepository는 해당 Dto를 받아서 저장 Posts 엔티티와 필드가 동일 toEntity로 Dto를 PostsEntity로 변환하여 전달 3. 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service 각종 로직 처리 및 PostsRepository의 메소드를 실행 4.. 2021. 8. 17. [백분] 1107: 리모컨 파이썬 풀이 - 부르트포스 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 다행히 리모컨은 부시지 않았습니다. 처음에는 그리디로 접근을 하다가 반례 해결이 도저히 안돼서, 부르트포스 방식을 생각하게 됐습니다. 풀이는 다음과 같습니다. 1. 채널 버튼을 누르지 않고 이동하는 경우를 구한다. 2. 누를 수있는 채널 버튼들로 중복조합을 구한다. 3. 중복 조합을 통해서 이동하는 경우가 버튼을 최소로 누르는 방법이면 업데이트한다. 풀이는 좋았으나, 실수를 연속해.. 2021. 8. 16. [Git] 커밋 메시지 변경 - git commit --amend, git rebase, vi 모드 커밋 메시지를 변경하는 등 git log를 수정할 때는 vi 편집기를 이용하는데, 이에 익숙하지 않아 삽질했던 경험을 작성합니다. 가장 최근 커밋 메시지 수정 git commit --amend -m "changed commit" 최근 커밋 메시지는 -m 으로 vi 편집기를 거치지 않고 바로 수정이 가능합니다. 이번엔 vi 편집기를 사용하는 방법을 보겠습니다 git commit --amend 해당 명령어를 입력하면 터미널이 vi 편집 화면으로 바뀝니다. 커서는 깜빡거리지만 입력이 되지 않습니다. 키보드에서 i를 눌러 편집모드(INSERT)로 변경할 수 있습니다. 이 모드에서 글자 수정이 가능합니다. 첫 줄에 있는 커밋 메시지를 수정하고 esc -> :wq 를 입력하여 vi를 종료할 수 있습니다. (:wq .. 2021. 8. 9. [Git] Please use a personal access token instead 에러 해결 remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information. fatal: unable to access 'https://github.com/yoonho0922/Algorithm.git/': The requested URL returned error: 403 깃 허브에서 최근에 git 로그인을 기존 아이디/패스워드에서 아이디/access token 으로 바꾸면서 발생한 문제인듯하다. access token에 관한 얘기는 다른 블로그들에서 간단히 다루니, 여기서는 당장에 원격 저장소를 접근하는 방법을 알아보자. 1. Setting-.. 2021. 7. 28. [백준] 1011: Fly me to the Alpha Centauri 파이썬 풀이 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 문제설명 어떤 이동거리에 대해 움직이는 최소 횟수를 구하는 문제입니다. 이동 방법은 1칸 점프 부터 시작해서, n 번째에 x칸 점프 했다면 n+1 번째는 x-1 or x or x+1 칸 점프할 수 있습니다. 끝 지점은 반드시 1칸 점프로 도착해야합니다. 풀이과정 1. 이동거리가 n일 때, 최소 이동횟수를 구해봤습니다. 2. 위를 구해보니, 특정 이동 횟수에 대해 갈 수 있는 최대 거리의 규칙이 보였습니다. 3. 이동횟.. 2021. 7. 28. [백준] 17367: 공교육도박 파이썬 풀이 17367번: 공교육 도박 공교육의 수호자 수찬이는 공교육의 정수라고 할 수 있는 한국정보올림피아드의 문제를 가지고 게임을 하려고 한다. 수찬이는 2010년도 한국정보올림피아드 시·도 지역본선 중등부 1번 문제를 www.acmicpc.net 풀이 게임의 진행 주사위를 굴릴 기회가 있으면, 현재 상태에 대해 기댓값(현 상태에서 한 번더 주사위를 굴렸을 때의 기댓값)을 판단한다. 판단한 기댓값이 현재 상금(현재 게임을 멈췄을 때 얻을 수 있는 상금)보다 높다면 go 아니라면 멈추고 현재 상금을 받음 이러한 메커니즘 때문에, 주사위를 굴릴 기회가 많을 수록 기댓값이 높아짐 풀이 d[x][i][j][k] : 굴릴 기회가 x 번 남았을 때, 주사위 눈이 i, j, k가 나왔을 때 얻을 수 있는 상금(혹은 상금의 .. 2021. 7. 15. [gradle] 서블릿 Hello World - Gradle 프로젝트 생성 및 실행 Mac intelliJ JDK 1.8.0 1. 프로젝트 생성 생성하고 나면 다음과 같은 폴더구조를 갖습니다. 2. build.gradle 수정 build.gradle의 코드를 다음과 같이 수정합니다. (전체코드) buildscript{ repositories { jcenter() } dependencies { classpath 'org.akhikhl.gretty:gretty:+' } } apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty' apply plugin: 'idea' sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { jcenter() } comp.. 2021. 7. 7. 이전 1 ··· 3 4 5 6 7 8 9 ··· 20 다음