Stay Hungry Stay Foolish

전체 글 430

[Git] 기존 원격 저장소를 삭제하고 다시 추가하고 싶을 때

git remote add origin 명령을 할 때 이런 오류가 나기도 한다. fatal : remote origin already exists 해결 방법 기존 저장소 삭제 git remote remove origin 기존에 연결되어 있는 원격 저장소와 연결을 끊어준다. 다시 연결 git remote add origin [새롭게 연결할 깃 리포지토리 주소] 확인 git remote -v 결과 origin 리포지토리 주소(fetch) origin 리포지토리 주소(push) origin 혹은 master라고 되어 있다. [참고링크] 👇 [Git] Git Remote origin already exists 에러해결 remote origin 삭제 깃의 Remote origin already exists 에러는..

TIL 2023.10.29

[Git Error] LF will be replaced by CRLF the next time Git touches it 해결

git add . 시 에러 warning: in the working copy of '파일경로', LF will be replaced by CRLF the next time Git touches it 해결 방법 $git config core.autocrlf true $git config --global core.autocrlf true global은 시스템 전체에 적용시킬 때 사용한다. 해당 프로젝트에만 적용시키고 싶다면 --global을 제거하면 된다. 에러 이유 OS마다 사용되는 줄바꿈 문자열이 다르기 때문에 git에서 어떤 의미로 받아들여야 할지 몰라 에러 메시지가 나타난 것이라고 한다. [참고링크] 👇 [Git] LF will be replaced by CRLF in 에러 해결법 평소와 같이 gi..

TIL 2023.10.29

[Git Error] [rejected] master -> master (non-fast-forward) 해결

git push -u master master 에러 ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '깃헙 리포지토리 주소' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 해결 방법 git ..

TIL 2023.10.29

[스프링 부트] 9. 게시판 만들기 페이징 처리

페이징이란? 운영체제 관점에서, 컴퓨터가 메인 메모리에서 사용하기 위해 2차 기억 장치로부터 데이터를 저장하고 검색하는 메모리 관리 기법이다. 예를 들어, 100개의 게시물이 있으면 한 페이지에 100개를 모두 보여주는 것이 아닌 10개씩 나눠서 보여주는 것을 페이징 처리라고 한다. 01. 페이징 처리 JPA에서 제공하는 Pageable 인터페이스를 사용해서 페이징 처리를 한다. 01-1. BoardController의 boardList 메소드 수정 메소드 인자에 Pageable 인터페이스를 추가한다. Pageable 인터페이스가 많은데 그 중에 org.springframework.data.domain 인터페이스를 import 해준다. • Pageable 요청한 페이지를 반환한다. JPA에서 제공해주는 ..

BOJ 11722번 : 가장 긴 감소하는 부분 수열 (Python/Silver 2)

11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 설명 부분 수열의 최대 길이를 구해야 하는 문제이다. 부분 수열이란 주어진 수열의 일부 항을 원래 순서대로 나열하여 얻을 수 있는 수열이다. 쉽게 말해서 이전 수보다 작으면 수열이 이루어진다. 흔히 수학에서 보았던 두 항의 차이가 일정한 등차수열을 말하는 것이 아니다. 예를 들어, A : { 10, 30, 10, 20, 20, 10 } 이라는 수열이 있을 때, 부분 수열은 A : { 10,..

[스프링 부트] 8. 게시판 만들기 메시지 창 띄우기

01. 게시글 작성을 완료할 때(버튼을 누를 때), 메시지 창을 출력 01-1. 메시지 파일 생성(message.html) board > src > main > resource > templates 에 메시지 페이지를 만든다. • 컨트롤러에서 메시지를 message 변수에 전송해준다. • alert는 메시지를 출력(창을 띄워주는) 함수이다. alert에 메시지를 담아 띄워준다. • location.replace는 페이지를 이동시키는 함수이다. 따라서 이동시킬 경로를 담아준다. 01-2. BoardController에서 boardWriteDo 메소드 수정(Model 객체 추가) Model 객체를 추가하고 위와 같이 작성한다. 로직 : model에 담겨서 message.html로 넘어오게 된다. 실행하기(h..

[스프링 부트] 7. 게시판 만들기 수정 처리

01. 수정 버튼 생성 앞 장에서 했던 삭제 처리와 비슷하게 버튼을 클릭하여 수정할 수 있도록 만든다. 01-1. boardview.html에서 버튼을 추가 view 파일에 수정 버튼을 추가하고, thymeleaf를 통해서 선택한 게시물이 수정 페이지로 넘어가게 한다. button일 때 수정하기 a 태그일 때 수정하기 01-2. 수정 페이지 생성(boardmodify.html) 작성 board > src > main > resource > templates 에 수정페이지를 만든다. (boardwrite와 같아서 코드를 복사/붙여넣기 함) 01-3. BoardController에서 url Mapping • path variable url을 이용해 파라미터 처리를 할 수 있다. Rest API 호출 시 주로..

BOJ 9461번 : 파도반 수열 (Python/Silver 3)

9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 설명 첫 정삼각형이 1일 때 변의 길이는 1이다. 아래와 같은 그림처럼 나선형으로 삼각형이 이어진다. 만약 1, 1, 1, 2, 2, 3, 4, 5, 7, 9 가 있을 때 10번째 삼각형의 변의 길이는 9이다. N이 주어졌을 때 N번째 삼각형의 변의 길이를 출력하면 된다. 풀이 • Dynamic Programming 문제 피보나치 수열과 비슷하다. 규칙성을 찾아보면 아래 그림에서 1번째와 2번째를 더하면 4번째 값이 나온다. 고로, 4만큼 차이가 난다. 또한, 아래 ..

[IntelliJ Error] Commit checks failed (Windows)

Commit을 했는데 알림이 떴다. 전부터 알림이 떠도 Commit Anyway가 있길래 무시하고 했는데 이게 언젠가 큰 돌이 되어서 날아올 것 같았다. 그러나 구글링을 해도 해결 방법을 찾아볼 수 없었다... 해결 방법 지금까지 인텔리제이 우측 상단에 있는 Git 아이콘을 클릭해서 처리했는데 이렇게 하면 버전? 문제 때문에 그런 것 같다고 추측한다. 그래서 과정이 번거롭긴 하지만 안전하게 터미널에서 처리하기로 했다. • staging 추가: git add . or git add -A • 커밋: git commit -m '커밋메시지' • 푸시(업로드): git push 기억 안 날 때마다 참고하기 좋은 블로그 터미널에서 깃 사용 방법 ➜ 참고 링크

TIL 2023.10.25

[스프링 부트] 6. 게시판 만들기 삭제 처리

01. 삭제 버튼 생성 삭제 버튼을 생성하고, 버튼을 클릭하면 삭제 처리를 한다. html 파일에 버튼을 추가 처리 service controller에 url 매핑 thymeleaf로 처리 01-1. boardview.html에 삭제 버튼 추가 제목입니다. 내용이 들어갈 부분입니다. 글삭제 버튼으로도 가능( 태그 대신에 아래 코드를 넣어주면 된다.) 삭제하기 실행하기(http://localhost:8080/board/view?id=1) 01-2. BoardService에 메소드 추가 (처리 Service) • deleteById Entity의 id를 넘겨 삭제 처리를 한다. Spring Data CrudRepository interface의 구현체인 SimpleJpaRepository에 정의되어있다. (..

[IntelliJ Warning] Lombok requires enabled annotation processing (Windows)

Lombok을 사용하니깐 이런 알림이 실행할 때마다 계속 뜬다. 에러는 아니고 경고 수준인 것 같다. 해석하면 "Lombok에서는 주석 처리를 활성화해야 합니다." 해결 방법 1 알림창에서 탭 클릭하면 'Don't show again'이라는 게 있는데 더 이상 알림을 보지 않겠다라는 말이다. 이걸로 해결이 안 되면 아래의 해결 방법 2로 해보기. 해결 방법 2 File > Settings or Ctrl + Alt + S 하면 Settings창 활성화 Build, Execution, Deployment > Compiler > Annotation Process Enable annotation processing 체크 그럼 이제 알림이 안 뜬다.

TIL 2023.10.25

[스프링 부트] 5. 게시판 만들기 게시물 리스팅

01. 테스트 프로시저 테스트 데이터를 만드는 것과 같다. 게시글 리스트를 보려면 어느 정도의 글이 있어야 하는데 데이터가 없으면 개발하는데 불편하다. 즉, 직관적으로 보고 개발하기 위한 것이다. 실행 결과 120개까지 생성되게 했는데 테이블의 결과를 보면 120개의 데이터 생성된 것을 볼 수 있다. 02. 리스트 페이지 생성 board > main > resource > templates에 게시물 리스트를 만들어줄 html 파일을 생성한다. (boardlist) 글번호 제목 1 제목입니다. html 코드는 중요한 게 아니므로 디자인은 신경쓰지 않는다. 02-1. BoardController에 메소드 추가 BoardController에 List메소드를 추가한다. 앞에서 만들었던 html 파일의 이름과 동..

[스프링 부트] 4. 게시판 만들기 게시글 작성폼 생성과 처리

01. HTML 파일 생성 board > src > main > resources > templates에 HTML 파일을 생성한다. 그리고 아래와 같이 작성해준다. 태그 해석 • - 타이틀 명은 '게시물 작성 폼'이라고 한다. • - 분할하다는 뜻의 Division의 준말로, HTML문서 내에서 한 개의 가로 공간(Block)을 만드는 태그이다. id, class 속성 모든 태그에는 id 속성과 class 속성을 지정해 줄 수 있는데, 이를 이용하면 CSS나 JavaScript에서 태그를 좀더 쉽게 다룰 수 있다. id는 원칙상 하나의 id당 하나의 태그에만 적용 할 수 있으며, class는 하나의 class를 여러 태그에 적용 할 수 있다. • - 사용자가 여러 줄의 텍스트를 입력할 수 있는 텍스트 입..

BOJ 11053번 : 가장 긴 증가하는 부분 수열 (Python/Silver 2)

11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 설명 부분 수열의 최대 길이를 구해야 하는 문제이다. 부분 수열이란 주어진 수열의 일부 항을 원래 순서대로 나열하여 얻을 수 있는 수열이다. 쉽게 말해서 이전 수보다 크면 수열이 이루어진다. 흔히 수학에서 보았던 두 항의 차이가 일정한 등차수열을 말하는 것이 아니다. 예를 들어, A : { 10, 20, 10, 30, 20, 50 } 이라는 수열이 있을 때, 부분 수열은 A : { 10..

[스프링 부트] 3. 게시판 만들기 테이블 생성

01. MySQL Workbench 접속 Board 스키마에서 Tables을 오른쪽 마우스로 클릭하면 Create Table라는 게 있다. Create Table을 클릭하면 테이블을 생성할 수 있다. 02. 테이블 생성 테이블 명과 컬럼 명을 위와 같이 설정한다. id - 인덱스를 표현하고, datatype은 역시 int로 설정한다. id를 기본키로 지정하고 NOT NULL을 해준다. AI는 Auto Increment라는 것인데, AUTO INCREMENT를 사용하면 레코드의 값이 중복되지 않고 1씩 자동 증가하게 된다. title - 제목을 표현하고, datatype은 VARCHAR(45)로 설정한다. 최대 45자의 가변길이를 사용할 수 있다. content - 내용을 표현하고, datatype은 TE..