21일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 회고71. 개인정보 수집 유효 기간 : https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 풀이 과정import java.util.*;class Solution { public int[] solution(String today, String[] terms, String[] privacies) { List ansLi = new ArrayList(); Map termsMap = new HashMap(); ..
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); } ..