분류 전체보기
-
Java Optional 1JAVA 2022. 1. 25. 15:15
요즘 느끼는거지만. Stream만 자주쓰다보니 다른 java8 에관련된걸 조금씩 잊어간다 하나씩 정리하면서 예제를좀 올려야 될듯 합니다 1. Optional 이란? Java8에서는 Optional 클래스를 사용해 NPE(Null Point Exception)를 방지할 수 있도록 도와준다. Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스로 , 참조하더라도 NPE가 발생하지 않도록 도와준다. Optional 클래스는 아래와 같은 value에 값을 저장하기 때문에 null이더라도 바로 NPE가 발생하지 않으며, 클래스이기 때문에 각종 메소드를 제공해준다. 예제 1-1> npe 예제 public class OptionalJavaOptional memberOptional = Option..
-
Git의 간단한 기능들GIT 2022. 1. 18. 17:44
여태 다룬 GIT의 기본적인 사용법 정리를 위해 할 예정 (사진 X) Global Setup config 설정 → 원하는 위치에 git init 해주면 됩니다. git config --list : 현재 global 값을 보여줍니다. git config --global user.name : gitHub 등의 유저 이름을 설정 합니다. git config -- global user.name "userName" : gitHub username 으로 설정 git config --global user.email : gitHub 등의 email 설정 합니다. git config -- global user.email "EmailAddr" : gitHub userEmail 로 설정 설정 삭제 방법 git config ..
-
War 배포 [내 + 외장 톰켓](feat.gradle)IntelliJ 2022. 1. 18. 11:03
intellij (gradle) 에서 내장톰캣- 외장톰캣 순으로 실행시켜보면서 각각 필요한 설정이 무엇인지 정리할 예정입니다. 1. bulid.gradle 수정 두방법으로 사용 가능합니다. 스프링문서는 apply plugin : ‘war’로 소개되어 있으므로 다른 이슈가 없으면 이방법을 사용하는것이 좋습니다. plugins{ .... id 'war' } OR ... apply plugin:'war' 2. WAR파일 생성 및 확인 (내장톰캣) ide terminal 에서 ./gradlew bootwar 커맨드 라인으로 boot war 호출이 가능합니다. build.gradle 을 통하여 자동 설정된 이름을 지정할 수 있습니다. dependencies{ .... } bootWar{ archiveName("u..
-
Apache Tomcat War 배포 (Window)Apache Tomcat 2022. 1. 17. 10:41
Apache Tomcat 10.0.14 버전을 사용 하였습니다. Apache Tomcat® - Apache Tomcat 10 Software Downloads Welcome to the Apache Tomcat® 10.x software download page. This page provides download links for obtaining the latest version of Tomcat 10.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification versi tomcat.apache.org 다운로드 창에서 우리한테 필요한 windows zip 파일을 다..
-
Github push, pull, cloneGIT 2022. 1. 13. 16:20
github에 push, pull, clone을 해봅시다. 더보기 gitHub이란 분산서버 관리가 가능한 클라우드 저장소 입니다. > github에 myApp repository 생성 > ex_compay, ex_home 폴더를 생성 -> 각 폴더에 myApp(github repository와 같은 이름) 생성 git push git init github을 부르는 키워드 -> origin git remote add origin [github repository address] git remote -v (git ls-remote 도 같은 의미로 사용 가능) git add, commit 파일을 만들고 commit 하여야 한다 > touch ProjectConfigComplete.txt > add, commi..
-
REBASE카테고리 없음 2022. 1. 6. 17:33
코드에 관한 로그를 깔끔하게 정리 [환경설정 - 로그인 퇴근 - 로그인 아픔 - 로그인 완료] → 여기서 로그인 부분을 압축(squash) 하여 [환경설정 - 로그인] 이런 형태로 만들 예정 여기서 압축을 하는건데 [로그인 완료, 로그인 아픔 부분]을 로그인 퇴근으로 압축 시켜야한다. 여기서 r, d 부분은 이해가 되지만 우리가 원하는건 한곳으로 합쳐야한다. 압축할 부분을 선택하고 다시 지정해야한다. → 과거쪽으로 찌그려뜨려야 하며 pick, s, s로 되어야한다. 왼쪽을 실행하면 오른쪽과 같은 형태가 되며 마지막 commit message 부분을 수정후 나머지는 지우면 된다.
-
merge conflictGIT 2022. 1. 6. 16:13
3way merge가 일어날때 브랜치 끼리 같은 파일의 내용이 서로 다를때 일어나는 사항이다. (master) login.txt → commit → checkout branch → (other branch) login.txt 수정 commit → branch master -> (master) login.txt 수정 commit → merge 시 conflict 발생 이대 login.txt를 열면 아래그림처럼 된다. 보는바와 같이 현재 head 부분은 위에부분을 가르치고 있고 merge 하려고 하는부분이 충돌이 생긴다 conflict 를 하는 방법은 왠만하면 같은 파일을 건드리지 않는게 좋다. (pull 받고 계속 작업하자)
-
Git mergeGIT 2022. 1. 5. 17:13
git merge 머지는 각 분기된 커밋을 하나의 커밋으로 다시 합치고 싶을때 사용하는 명령어 merge를 하기 위해선 기본이되는 커밋을 선택해 해당 커밋으로 체크아웃 -> git merge 합병원하는 브랜치 이름 - 3way merge 서로 다른 브랜치의 커밋을 머지할 경우 발생 충돌에 대해서 깃은 3way merge라는 방법을 통해 충돌을 해결한다. 이를 조금 더 자세히 살펴보면 1. 3way merge는 base의 내용을 참고한다. (base에서 해당 파일이 어떤 내용을 담고 있었는지를 파악한다.) 2. 한 브랜치의 파일만 바뀐 경우 바뀐 쪽으로 변경이 된다. (바뀐 쪽이 더 진보된것이므로..?) 3. 두개 다 바뀌지 않았을 때는 base의 내용을 그대로 따른다. 2. 이름이 같은 두 파일의 내용이..
-
Git Reset & ReflogGIT 2022. 1. 4. 11:13
아래의 그림처럼 2.2. sec pic 이 아닌 2. sec pic 으로 커밋을 되돌리고 싶을 때 사용한다. 돌아가고 싶은 log head 의 번호를 써줘야 한다 (5글자 정도) git reset soft : head 만 삭제 -> commit 한 로그만 삭제 (commit 전) -> 커밋 로그 변경시 mixed : commit 한 head 와 add 한 부분을 삭제 -> add 전 (파일 수정 및 생성은 그대로) -> 작업 영역 내용 변경시 hard : 지정한 head 부분과 파일을 완전히 삭제 -> 파일 수정 및 생성 전 -> 이전 커밋 상태로 돌아갈때 git reset --soft[log head] git reset --mixed [log head] git reset --hard [log head]..