Web
1. .git 파일이 있는 폴더로 들어간다. 2. rebase 명령어를 입력한다. git rebase HEAD~[거슬러 올라가고 싶은 커밋 수] -i 예를 들어, 바로 전 커밋의 메세지를 변경하고 싶다면 git rebase HEAD~1 -i 를 작성한다. 3. 이후 뜨는 메시지에서 pick -> reword로 변경하고 :wq로 저장 및 종료한다. 4. 커밋 메시지리스트가 나오면 i를 눌러 편집을 실행하고 다시 :wq로 저장한다. 5. 강제 push 를 하여 수정 내용을 원격 저장소에 반영한다. git push --force 현재 브랜치에 강제 푸시하는 법 git push origin [브랜치명] -f
일반적으로 Pageable에 sort 포함 defualt 값을 줄 때는 @PageableDefault()를 사용한다. @PageableDefault(direction = Sort.Direction.DESC, sort = "name") Pageable pageable, 하지만 @PageableDefault()는 한 가지의 sort조건만 줄 수 있다. Pageable 다중 sort 1. pageable에 여러 sort 조건을 주고 싶을 때는 @SortDefault.SortDefaults를 사용하면 된다. @SortDefault.SortDefaults( { @SortDefault(sort = "name", direction = Sort.Direction.ASC) , @SortDefault(sort = "age..
Part1. CI/CD란? CI란 Continuous Integration 즉, 지속적인 통합이라는 의미이다. 지속적인 통합이란, 어플리케이션의 소스 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레파지토리에 통합하는 것을 의미한다. CD는 Continuous Delivery 혹은 Continuous Depolyment 두 용어 모두의 축약어이다. 전자인, Continuous Delivery는 공유 레파지토리로 자동으로 Release 하는 것을 의미하며, 지속적인 서비스 제공을 뜻한다. 후자인, Continuous Depolyment는 Production 레벨까지 자동으로 deploy 하는 것을 의미하며, 고객에게 배포하는 것을 뜻한다. 정리하면, CI는 에플리케이션의 소스를 빌드, 테스트, 병합하는 ..
가장 간단한 탭 만들기를 해보겠습니다. 메뉴1 메뉴2 메뉴3 tab1입니다. tab2입니다. tab3입니다. [html] 1. 형식으로 탭 매뉴를 만들어줍니다 2. 형식으로 탭 content를 만들어줍니다. 3. 첫번째 탭의 class에 current를 넣어줍니다. [css] 1. 모든 탭 메뉴와 contents를 display: none으로 설정해줍니다. 2. class에 current가 붙혀있는 것은 display: inherit로 표출합니다. [javascript] 1. 탭을 클릭하면 해당 탭의 data-tab을 가져옵니다. 2. 모든 탭 메뉴와 contents에 current class를 없애줍니다. -> removeClass 3. 클릭한 탭($.(this))의 클래스에 addClass를 이용해 ..
기본 자바 지식 jvm의 역할 : 자바를 실행하기 위한 가상 기계이다.Java 코드를 OS에 맞게 해석해주는 역할을 한다 자바 프로그램은 완전한 기계어가 아니기 때문에 jvm(자바 가상기계)가 해석하고 실행해줌 = 가상운영체제 jdk와 jre 차이 : 둘다 jvm과 라이브러리api가 들어있는데 jdk는 개발에 필요한 컴파일러 등의 개발 도구가 포함 되어 jre는 실행할수만있다 자바 구동 순서 : .java생성 → 컴파일러로 .class파일 생성 → jvm으로 클래스 파일 메모리에 로드 → jvm이 main()메소드 찾아 실행 자바 장점 - 객체지향언어이다, 이식성이좋다(jvm이 운영체제에 독립적이다) , 다양한 오픈소스라이브러리를 가지고 있다 등 클래스블록과 메인블록 메소드블록으로 구성 클래스 : 필드 ..
1. Report https://www.notion.so/springboot-46aac7a13b3241eda52a6f873846febe Spring의 핵심 3가지 IoC, AOP, PSA Ioc(Inversion of Control) - 제어역전 [일반적인 의존성에 대한 제어권] class OwnerController { private OwnerRepository repository = new OwnerRepository(); } 쓸 생성자를 class안에서 직접 만들어서 사용 의존성을 자기 자신이 관리 [IoC 제어역전에 의한 의존성 주입] class OwnerController { private OwnerRepository repo; public OwnerController(OwnerRepositor..
RetryTemplate을 이용하려고 하는데 Class not found 오류가 떴다. pom.xml에 retryTemplate dependency를 추가 안해줘서 생긴 오류였다 pom.xml에 dependency를 추가 헀더니 오류가 없어졌다. dependency를 추가 했는데 오류가 뜬다? 제대로 설치가 안된다? 찾을수 없다면?? 1. 프로젝트 우클릭 2. Spring Tool -> Remove Spring Project Nature 3. Spring Tool -> Add Spring Project Nature
크롬으로 검색하는데 스페이스 바를 칠때마다 계속 노란색 줄이 뜨고 글이 반복해서 써졌다 ㅠㅠ.. 설정에서 쿠키 삭제해도 안돼서 진짜 너무 짜증났다. 맨날 컴퓨터 껏다 킬수도 없고!!! 드디어!! 해결방법을 유튜브 보고 찾았다. 먼저 검색창에 chrome://flags/#enable-npapi 을 친다. 그 다음 Reset all 버튼을 누르고 Relaunch를 누르면 열려있던 크롬창이 전부 닫히고 원래대로 다시 창이 뜬다. 출처 : youtu.be/adb8gqGtPzU ㅠㅠ감사하다..
웹소켓 프로젝트를 Rabbit MQ로 Docker위에서 진행해보려 한다. 내 컴퓨터는 Window지만 Docker는 Linux에서 돌아가기 때문에 WSL2을 이용해서 Docker을 띄워보겠다!! WSL이란? WSL (Linux 용 Windows 하위 시스템)은 기존 Windows 데스크톱 및 앱과 함께 Windows에서 직접 기본 Linux 명령줄 도구를 실행할 수 있도록 하는 Windows 10의 기능이다. 주로 개발자, 오픈 소스 프로젝트에서 작업 하는 도구 또는 Linux server 환경에 배포 하는 도구이다. 즉, 리눅스용으로 제공되는 각종 프로그램과 편리한 도구들을 윈도우용으로 포팅하거나 윈도우용 버전을 구하지 않아도 된다. 가상 머신을 이용하는 것 혹은 우분투를 따로 설치하여 부팅 때 OS를..