21일차 - Spring강의(Spring MVC)
·
Java & Spring/Spring
□ Spring MVCMVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리 Model데이터와 비즈니스 로직을 담당데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다.View사용자 인터페이스를 담당사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현ControllerModel과 View 사이의 상호작용을 조정하고 제어사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트- 사용자가 (HTTP) API 요청했을 때 서버의 서블릿의 동작방식사용자가 Client(브라우저)를 통해 서버에 HTTP Req..
21일차 - Spring강의(테스트 코드, lombok)
·
Java & Spring/Spring
□ 테스트 코드 방법1)클래스 명에 우측 클릭(혹은 command + n)Generate클릭Test클릭혹은 (command + shift + t)로 가능ok를 눌러 생성 - 테스트 해보기테스트 코드는 main메서드 없이 사용이 가능하다.Test애노테이션을 추가DisplayName을 통해 테스트 이름을 정하고Assertions.assertEquasl(a,b)를 통해 예상값a가 기대값b와 일치하는지 확인한다.1) 테스트가 정상적으로 진행된경우2) 테스트의 예상값이 기대값과 다른경우 □ lombok필드가있는 클래스를 생성명령어(@~~)입력gradle의 build실행build - classes경로에 만들어진 코드파일 생성Getter, Setter : 클래스 필드의 getter, setter메서드 생성AllArg..
20일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 회고70. 바탕화면 정리 : https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 풀이 과정class Solution { public int[] solution(String[] wallpaper) { int[] answer = new int[4]; int cnt = 0; int y2 = 0; answer[1] = Integer.MAX_VALUE; for (int i = 0; i ..
git & github - fetch, rebase, merge, pull, stash
·
git & github
- git fetch : 원격 저장소의 변경 사항을 가져와 원격 추적 브랜치를 업데이트 하지만 로컬 브랜치에는 영향을 미치지 않음                  이후 merge나 rebase필요git fetch -p // github 원격브랜치 목록 동기화git checkout -t origin/ // 깃허브의 브랜치와 동일한 로컬브랜치 생성 후 그 브랜치로 checkout함 - git rebase : 현재 브랜치의 커밋들을 다른 브랜치의 최신 커밋 위로 재배치, 히스토리의 직선화※ 커밋 해시가 변경됨 - git merge : 두 브랜치를 하나의 브랜치로 병합하는 작업git checkout git merge 브랜치 변경 : 변경 사항을 통합할 브랜치로 체크아웃한다.병합 : 병합하려는 브랜치를 병합시킨다..
git & github - 되돌리기(push, commit 취소하기)
·
git & github
- git checkout : 아직 스테이징이나 커밋을 하지 않은 경우 파일의 변경내용을 취소하고 이전 커밋으로 되돌린다.git checkout [-- 파일명] - git diff : 작업 차이점 확인git diff --cashed // 스테이징영역과 저장소의 차이점 확인git diff HEAD // 저장소, 스테이징영역, 작업트리의 차이점 확인git diff --ours // merge이전과 이후 결과 비교 git reset : commit한 코드 취소하기HEAD~n : 마지막 n개의 커밋git reset --soft → 지정한 커밋 이후의 커밋을 취소하지만, 작업트리와 스테이징 영역은 유지git reset --mixed → 지정한 커밋 이후의 커밋들을 취소하고, 스테이징영역도 초기화, 작..
git & github - branch
·
git & github
□ branch란?서로 다른 작업을 독립적으로 진행할 수 있게 해주는 것예를 들어, 새 기능을 개발하거나 버그를 수정할 때 별도의 브랜치를 만들어 작업하면, 다른 브랜치에 영향을 주지 않고 작업할 수 있다. □ branch 명령어- git branch : 브랜치 목록보기git branch // 로컬 브랜치 목록보기git branch -r // 원격 브랜치 목록보기git branch -a // 모든 브랜치 목록보기→ 현재 체크아웃된 브랜치는 앞에 '*'이 붙음 - git branch : 새 브랜치 생성- git branch  - git branch -d : 브랜치 삭제- git branch -d // 병합된 브랜치를 삭제, 병합되지않았다면 삭제가 거부됨- git branch -D // 병합..
19일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 회고69. 성격 유형 검사하기 : https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krimport java.util.*;class Solution { public String solution(String[] survey, int[] choices) { Map map = new HashMap(Map.of( "R", 0, "T", 0, "C", 0, "F", 0, ..
18일차 - Java강의(쓰레드 명령어)
·
Java & Spring/Java
◇ 쓰레드 상태쓰레드 상태 : 실행과 대기를 반복하며 run()메서드를 수행, 메서드가 종료되면 실행을 멈춤일시정지 : 일시정지는 쓰레드가 실행 할 수 없는 상태, 다시 실행하기 위해서는 다시 실행대기로 넘어가야함쓰레드 상태 정리상태Enum설명객체생성NEW쓰레드 객체 생성, start()메서드 호출 전실행대기RUNNABLE실행 상태로 언제든지 갈 수 있는 상태일시정지WAITING다른 쓰레드가 notify할 때까지 기다리는 상태일시정지TIMED_WATING주어진 시간동안 기다리는 상태일시정지BLOCKED사용하고자 하는 객체의 Lock이 풀릴 때까지 기다리는 상태종료TERMINATED쓰레드 작업이 종료된 상태◇ 쓰레드 제어  sleep() : 현재 쓰레드를 지정된 시간동안 멈추게 한다.※sleep()는 쓰레..
18일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 회고68. 햄버거 만들기 : https://school.programmers.co.kr/learn/courses/30/lessons/133502# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr - 풀이 과정import java.util.*;class Solution { public int solution(int[] ingredient) { int answer = 0; List li = new ArrayList(); for (int n : ingredient) { li.add(n); } ..
git & github - clone부터 다시 push까지
·
git & github
1. git clone : 현재 위치에 원격저장소 내용 복사해오기(https://djhelloworld.tistory.com/124 에서 push한 내용을 가져옴)※ clone시 뒤에 clone(공백).(도트) clone .의 차이점은 .이있으면 현재 폴더에 파일을 복사하고, .이없으면 현재 폴더에    원격저장소명 폴더를 생성해서 복사한다.※ clone를 진행했는데 파일이 java 아이콘을 표시되는 경우다음과 같이clone한 폴더 우클릭Mark Diretocry asSources Root를 클릭해준다. 2. clone한 파일을 수정하고 commit, push를 진행하면된다.