TIL 39

Spring Boot MVC Controller @Controller 와 @RestController

@RestController를 사용하면 해당 클래스의 모든 Method에 @ResponseBody Annotation이 부여된다@Controller의 클래스에서 내부 Method에 @ResponseBody가 붙어 있는 것과 같다 ControllerHTTP Response@ResponseBodyReturn TypeReturn ValueHeaderBodyXString"{View name}"Content-Type: text/htmlView (HTML)의 text 내용 타임리프 기준/templates/{View name}.html"redirect:/{redirect URL}"Location:{Host URL}/{redirect URL}XOString"{Text}"Content-Type:text/html"{Tex..

TIL 2024.08.12

240807

내일배움캠프 4주차두번째 팀프로젝트가 끝나간다 기본세팅 되어있는 프로젝트로 시작을 했고코드 분석에 충분히 시간을 썼는데도고려하지 못했던 부분이 있어서 어려움을 겪었다 기능 구현을 우선으로 두고 진행을 했더니중간에 객체 나누는 것을 적용하면서 코드 구조를 다 바꿔야 했다이미 작성된 코드도 많았고 각자 작업을 나눠서 개발을 했기때문에서로 사용하는 메소드들이 다 얽혀있어서 수정이 쉽지 않았다 구조를 바꾸면서 에러가 나는 부분을 고치다가답이 없는것 같아서 아예 다 밀고 새로 작성했다(구현이 어려운 프로젝트가 아니라 다행..)네시간정도 소요됨.. 프로젝트 진행 시 기획단계에서 꼭 체크해야 할 부분1. 객체지향 구조 (Static을 쓰지 않고 각 클래스를 객체로 생성하여 쓸것)2. 기능 세분화 (하나의 method..

TIL 2024.08.07

240805

내배캠 4주차! 아좌잣! 가보자고! IntelliJ의 *.iml(IntelliJ 모듈)파일 때문에 일부 로컬에서 실행이 되지 않는 상황이 발생했다명확한 에러메세지를 띄워주지는 않고 다음과 같은 상황이 반복됐다프로그램 실행시 분석중 로딩이 끝나지 않음한번은 정상실행 되지만 이후 RUN버튼이 비활성화됨캐시를 지우면 실행 가능 (한번 실행 후 다시 실행되지 않음).gitignore 파일에 ".iml" 설정을 하지 않아서push를 하는 과정에서 각 로컬의 iml파일이 모두 Github에 업로드 되었고pull을 하게 되면 iml파일이 여러개가 되면서 충돌이 일어나는 현상 우선 Github에 업로드된 iml파일을 모두 삭제하고 .gitignore에 설정을 추가해줬다*.iml이 과정에서 iml파일이 없는 상태를 pu..

TIL 2024.08.05

240802

팀프로젝트 3일차기본 기능 구현이 완료되어 1차 code formatting을 진행했다개발할때는 문제 없지만 개발이 완료된 시점에서는 꼭 해주는 것이 좋다마지막 제출전에도 주석과 출력을 전체적으로 점검할 계획 이중맵을 사용하면서 어려움이 있었다// 구조 -> Map>// 기능 -> 점수 인스턴스 등록// 내가 생각한 로직if(scoreStore.get(studentId).get(subjectId) == null){ scoreStore.put(...,new Score(...));}// 결과 -> ERROR!// 점수를 등록한 적이 없다면 get(studentId)에서 이미 null이기 때문에 오류가 난다// 수정한 로직if (!scoreStore.containsKey(studentId) || !sco..

TIL 2024.08.02

240801

뭐했다고 8월이지 내일배움캠프도 벌써 3주차 중반이 넘었고두번째 팀프로젝트가 시작됐다 이번에도 기본 프로젝트 기반 추가 기능 구현 방식으로 진행오늘은 협업을 위해 기본 프로젝트 파악하는데 시간을 거의 다썼다 Diagram우선 구현되어 있는 코드의 흐름도와 클래스 구조를 명세화했다추가해야할 항목과 삭제할 항목들을 회의를 통해 정하고 정리했다기능별 로직프로그램에 필요한 기능들에 대한 로직코드를 작성할 때 예외처리, 입출력을 참고할 수 있도록 작성했다클래스 구조클래스별 Field와 Method를 정리했다Diagram에도 정리했지만 해당 목록에는 설명들을 추가해서문서를 보면서 내가 구현하지 않은 코드를 사용할때 참고할 수 있도록 작성했다

TIL 2024.08.01

120731

진법변환 문제를 풀며 새로 알게된 parseInt 사용법java에서 String을 Integer 형태로 변환할때 사용하는 코드String str = "12";int num = Integer.parseInt(str);이런식으로만 사용 했는데 진법변환에 대한 사용법도 있다 문제 링크 바로가기직접 계산하여 변환하는 코드class Solution { public int solution(int n) { int answer = 0; String str = ""; while(n >= 1){ str += Integer.toString(n % 3); n = n / 3; } String[] strArr..

TIL 2024.07.31

240730

알고리즘 문제를 풀면서 데이터 다루는 코드 작성에 어려움을 겪고있다아직 간단한 문제를 풀고있어서 로직은 바로바로 생각이나는데구현에 시간을 많이 쓰는것 같아 자주 사용하는 내용들을 확실히 정리해서 외워야 할 것 같다 /* Java Algorithm 문법 정리 */ // 정수형 to 문자열 long num1 = 1324L; String str1 = Long.toString(num1); int num2 = 12342; String str2 = Integer.toString(num2); // 숫자의 자리수 구하기 long num3 = 12L; Long.toString(num3).leng..

TIL 2024.07.30

240729

Algorithm숫자의 자리수 계산-> 문자열로 변환하여 length 사용 (toString)int num = 1328723;int len = Long.toString(num).length(); 정수 내림차순으로 배치하기 Java 풀이숫자를 문자로 변환해 사용할 수 있는 함수들을 외워야겠다public long solution(long n) { long answer; // 배열 정렬 후 str문자열에 저장 String str = ""; // 숫자를 String 배열로 변환 String[] strArr = Long.toString(n).split(""); // 숫자가 하나씩 담긴 String 배열 정렬 Arrays.sor..

TIL 2024.07.29

240726

정적 멤버를 정의하는 static 키워드 계산기 프로젝트에 사칙연산 외에 원의 넓이 계산 기능을 넣으면서 오류가 발생했다프로젝트1 Caclulator 클래스에서 모든 연산을 처리 CalculatorFieldprivate static Queue calcResultQueueprivate static Queue areaRedultQueueMethodcalculate() // 사칙연산removeResult() // 결과 삭제inquiryResult() // 결과 출력calculateCircleArea() // 원의 넓이 계산getCalcResultQueue()setCalcResultQueue()getAreaResultQueue()setAreaResultQueue()프로젝트2resultQueue가 static으로..

TIL 2024.07.26