[Git] Squash Commit / Merge : 여러 개의 Commit 합치기
·
Git
이미 Commit 했는 데 추가적인 수정사항이 있거나 요건이 추가되어 여러 개의 Commit으로 이력이 너무 지저분해진 경우, Squash하여 하나의 Commit으로 이력을 깔끔하게 관리할 수 있습니다 😋 0. Squash 여러 개의 Commit을 하나의 Commit 이력으로 만드는데 사용하는 방법 가능하다면 원격 저장소에 push하지 않은 작업만 squash하기를 추천합니다 (push / pull 과정이 번거로워요) 여러 Commit을 Squash 할 수 있는 두 가지 방법을 소개하겠습니다 1. Rebase를 통한 Squash 2. Squash 옵션을 사용한 Merge 1. Rebase를 통한 Squash 다음처럼 3개의 commit을 확인해두었습니다 ( First ~ Third Commit : 합칠거..
[Oracle] 조건함수 DECODE 사용법
·
DB/Oracle
1. Oracle DECODE 개념 오라클에서 조건을 걸고 싶을 때, 조건이 =(일치)의 경우 간단하게 사용할 수 있는 함수 CASE문도 있지만, 더욱 간단하게 사용할 수 있습니다 오라클에만 존재하는 함수이므로 MySQL 등 과의 호환 예정이라면 사용을 피해야합니다 2. DECODE 사용법 DECODE(컬럼명, 조건1, '결과값1', 조건2, '결과값2', ... , 'ELSE 결과값') (ex) 사용 예시 DECODE(FRUIT, NULL, 'NOTHING', 1, 'APPLE', 2, 'BANANA', 3, 'GRAPE', 'OTHER') References 📌 https://devmoony.tistory.com/117
[Git] 원격 저장소까지 반영된 commit 되돌리기(Git Reset)
·
Git
remote 저장소까지 반영된 commit을 되돌릴 때에는 기록이 남도록 Revert하는 것이 맞지만? 흔적도 없이,,,,commit을 없애버리고 싶을 때,,,쓰는 방법을 기록해둡니다 원격 저장소에 반영된 Commit 되돌리는 방법 0. 되돌릴 commit 확인 아래 명령어로 몇 개의 commit을 되돌릴 건지 확인합니다 git log "I wanna remove this Commit" commit이 아래 사진에서처럼 원격 저장소까지 반영되었음을 확인할 수 있습니다 🤣 1. git reset 되돌릴 commit 수만큼 다음 명령어를 실행합니다 git reset HEAD~{되돌릴 commit 수} 명령어 실행 후, log를 확인해보면 해당 commit이 삭제된 것을 확인할 수 있습니다 🔎 Reset 할 때..
[Github] Issue 및 Issue Branch 생성하여 프로젝트 관리하기
·
Git
여러 사람과 함께 프로젝트를 할 때 브랜치명 만으로는 어떤 기능을 개발 중인지 알기 어렵죠 issue를 생성하여 개발할 기능에 대한 요건 등을 정리하고 해당 issue에 대한 branch를 생성하여 관리하면 내가 개발 중인 issue에 대한 관리도 쉽고, 다른 사람이 내 issue를 관리할 때에도 편하더라구요 😆 1. Issue Github에서는 issue를 통해 프로젝트에서 발생하는 문제(개발, 버그 등)를 관리할 수 있습니다 ▶ 공식 문서에서의 정의 : Use GitHub Issues to track ideas, feedback, tasks, or bugs for work on GitHub. Issues let you track your work on GitHub, where development h..
[Git] Cherry-pick 변경사항 다른 브랜치에 반영하기 / 충돌(Conflict) 해결
·
Git
이전에는 사용한 적 없는데, 회사에서 소스관리하면서 가장 많이 사용하는 명령어 cherry-pick❗ 사수님이 '체리픽' 알아두라고 했을 땐 체리..?🍒잘못들었나보다 그게 뭐람 했었는데 ㅋㄷㅋㄷ 잘 쓰는 중입니다 😉 1. Cherry-pick 다른 브랜치의 commit을 특정 브랜치에 적용할 때 사용하는 명령어 git cherry-pick 프로젝트에서 개발 브랜치에 commit하고 해당 기능이 잘 동작하는지 확인한 후에는 운영 브랜치에도 반영을 해야 하는데, 이 상황에서 다른 commit들로 인해 브랜치를 통째로 merge하지 못하거나 하는 등의 상황이 있죠 그럴 때 하나의 commit 만을 다른 브랜치로 반영할 수 있는 명령어 ! 🍒 2. cherry-pick 사용법 2.1. 변경사항 commit gi..
[Git] 윈도우에 Git 설치 및 사용자 이름/이메일 등록
·
Git
이번에 노트북을 한번 포맷하면서 개발 툴들을 다시 설치하는 중입니다 😑 (귀찮아..) 시간되는대로 개인 프로젝트도 하고싶기 때문에! 소스관리를 위한 Git 설치는 피할 수 없죠 고고 1. Git Downloads 설치파일 다운로드 아래 링크로 들어가 운영체제에 맞는 최신 버전의 Git 설치파일을 다운로드 합니다 📌 Git - Downloas : https://git-scm.com/download/ Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git..
[MyBatis] CDATA : XML 쿼리에서 부등호 / 비교연산자 에러 해결하기
·
MyBatis
스프링 프로젝트에서 SQL Mapper를 xml 파일에 작성할 때 다음과 같이 그냥 , 등의 비교연산자나 부등호를 사용하게 되면, 태그로 인식해서 오류가 발생합니다...! (빌드되면서 해당 모듈 전체를 사용할 수 없을 수도..저도 알고싶지 않았음 🙃) SELECT * FROM TEST_TABLE WHERE COL1 > 100 이와 같이 MyBatis에서 쿼리문 안에 를 사용해야할 때 방법입니다 🍉 이런 오류을 해결하기 위해 '태그가 아니라 실제 쿼리에 사용될 코드' 라고 알려주기 위해 사용하는 구문 CDATA의 사용 1. 비교연산자나 부등호만 CDATA로 감싸기 - 일반적으로 많이 사용 SELECT * FROM TEST_TABLE WHERE COL1 ]]> 100 2. 쿼리 전체 감싸기 100 ]]..
[Oracle] ALL_TAB_COLUMNS : 모든 테이블과 컬럼 조회하기
·
DB/Oracle
◾ ALL_TABLES & USER_TABLES ALL_TABLES : 모든 테이블에 대해 조회할 수 있다 (관리자 권한이 있을 때) USER_TABLES : 현재 User가 접근할 수 있는 모든 테이블에 대해 조회할 수 있다 SELECT * FROM ALL_TABLES;-- (관리자 권한일 때) 모든 테이블 SELECT * FROM USER_TABLES;-- 현재 USER가 접근 가능한 모든 테이블 😵 특정 컬럼이 어디 있는지 찾거나 특정 테이블의 모든 컬럼명을 가져올 때 사용하면 유용합니다! ◾ ALL_TAB_COLUMNS 활용 방법 (1) 컬럼명으로 테이블 찾기 SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME = '컬럼명'; - 컬럼명만 덩그라니 가지고 있을 때..
[Spring] 웹 개발을 하는 세 가지 방법(3) : API
·
Spring
웹 개발의 세 가지 방법 1. 정적 컨텐츠 2. MVC와 템플릿 엔진 3. API 👈 정적 콘텐츠가 아니라면 HTML로 내리냐 API 방식으로 데이터를 바로 내리느냐 두 가지만 생각하면 된다!! API > 간단한 String API 구현해보기 1. HelloController에 코드 추가 @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name) { return "hello " + name; //"hello spring" } @ResponseBody : HTML의 응답 Body에 직접 데이터를 넣어주겠다 뷰 없이 문자가 그대로 내려간다 2. 실행 localhost:8080/hell..
[Spring] 웹 개발을 하는 세 가지 방법(2) : MVC와 템플릿 엔진
·
Spring
웹 개발의 세 가지 방법 1. 정적 컨텐츠 👈 2. MVC와 템플릿 엔진 👈 3. API MVC와 템플릿 엔진 MVC : Model, View, Controller 과거 JSP 모델 1 방식에서는 View와 Controller가 구분되어 있지 않고, View에서 모든 역할을 다 수행했다 View는 화면을 그리는 데 모든 역량을 집중해야 한다 Controller는 비즈니스 로직, 내부적인 처리를 한 후, 화면에서 필요한 것을 모델에 담아 화면 쪽에 넘겨준다 > 실행해보기 controller 동작에 대해 살펴봅니다 1. HelloController 파일에 다음과 같은 내용을 추가 @GetMapping("hello-mvc") public String helloMVC(@RequestParam("name") St..