전체 글 41

플러스 심화주차 개인과제 회고

이 부분이 문제였다.처음에는 Dto를 만들고 weather과 startTime, endTime를 LocalDateTime 타입으로 필드를 만들어서@RequestBody로 받을 생각이였고서비스에서 if(request.getWeather != null)로 사용하려고 했는데 안된다...혹시나 하는 마음에 스타트타임과 엔드타임도 개발해서 테스트 해봤는데 역시나 안된다..여기서 시간을 제일 많이 쓴거 같다.. 혹시나해서 gpt한테 물어보니 컨트롤러에서 @RequestParam을 사용해서 날씨, 시작, 끝 시간을 받아오던데 이건 조금 신선했다.문제는 repository였는데...  난생 처음보는 신기한 쿼리문이 나왔다.애초에 이렇게 쓸거라곤 상상도 못해봤다.떠듬 떠듬 읽어보면 읽히긴한다. 어쨋든 파라미터로 넣어보니..

개발공부 2024.10.10

나 꽤나 멍청하네

class Solution { public int solution(int n) { int answer = 0; for(int i = 2 ; in에 어떤수가 입력이 되든 나머지가 1인 숫자를 찾는 로직이다.여기서  for문의 인덱스 값이 왜 계속 2여야 하는지 궁금했다. 대부분의 for문에서 인덱스 값은 0으로 시작했는데 말이다. 계속 왜? 를 되풀이하면서 씨름하다가 답을 알았다.i는 나눗셈을 위한 인덱스인데 0은 나눗셈에 사용할수없다. 멍청해...그러므로 여기서는 인덱스에 1을 넣는것도 의미가 없다...무조건 나머지가 0이 되기 때문에 2부터 넣는것이 타당하다. 이거 초등학생도 풀수있는 문제일텐데 그 동안 너무 산수를 안하면서 살아온티가 나는구나.

개발공부 2024.09.13

KTP 회고

KTP 프로젝트 회고록팀장성장 경험: 이번 프로젝트에서 실시간 문제 해결과 팀워크를 통해 깊이 있는 협력 경험을 쌓았으며, 이를 통해 많은 성장을 할 수 있었습니다.문제점: 실시간 문제를 해결하는 과정에서 종종 상황을 빠르게 파악하고 우선순위를 정하는 데 어려움을 느꼈습니다.시도해야 할 것: 앞으로는 문제의 우선순위를 명확히 정리하고, 문제 해결 과정에서 타임 매니지먼트를 더 효율적으로 할 수 있도록 개선해 나가겠습니다.팀원1성장 경험: 프로젝트를 진행하면서 팀원들과의 원활한 소통과 협업을 통해 어려움을 극복하고, 문제 해결 능력을 크게 향상시킬 수 있었습니다.문제점: 기술적인 문제 해결 과정에서 충분한 테스트를 진행하지 않고 넘어가는 경우가 있어, 종종 예기치 않은 문제에 직면했습니다.시도해야 할 것:..

개발공부 2024.09.06

Thraed pool이란?

좋은 서버의 개념은 응답이 빠른 서버가 좋은 서버. 쓰레드풀이란?미리 우리가 사용할 쓰레드를 여러개 생성해두는 개념 쓰레드를 미리 생성하는 이유는?쓰레드를 생성할때는 시스템을 자원을 할당해야하고 제거할 때는 자원을 해제해야한다.특히 많은 쓰레드를 생성하고 제거하는 경우에는 많은 시스템 자원을 할당하게 된다.때문에 미리 쓰레드를 미리 생성하여 생성하고 삭제하는 일을 미리 처리하는것. 쓰레드가 5개가 있었는데 갑자기 7개가 필요해진다면?작업큐에 들어온 요청을 담아두고 남는 쓰레드가 생기면 작업을 할당해준다.즉 요청을 완료한 쓰레드는 다시 쓰레드풀로 돌아가 추가 요청을 해결한다. 하지만 작업큐까지 꽉 차게 된다면?작업 큐에 더이상 작업을 요청 할 수 있는 공간이 없다면쓰레드 풀에 쓰레드가 더 추가된다. 그럼에..

개발공부 2024.09.05

강제로 git pull하기

git pull을 할때 stash 또는 merge를 먼저 하라고 할때중요하지 않은 파일 또는 덮어쓰기 해도 무방한 파일일때는 덮어쓰기 하는 것이 빠르다.왜 나에게만 이런일이 발생하는지는 모르겠으나 덕분에 내 바탕화면은 git clone했던 흔적들이 많다. 사실 오류코드는 너무 다채로워서 뭐가 문제인지 전혀 모르겠다팀원들에게 화면 공유해서 알려달라그래도 다들 똑같은 방식으로 pull 하는데 유독 나만 오류가 많이 생긴다.아직은 왜 그러는지 모르겠고 있단 강제로 Pull 하는 방법부터 기록하고자 한다. 1. git pull 받을 목록을 repository 에서 업데이트git fetch --all 2. git reset 으로 head를 최신으로 가리킨다git reset --hard origin/main 3. ..

개발공부 2024.09.04

중간 간단정리

1. 객체 지향 프로그래밍이란? 객체 지향의 특징은 크게 4가지로 분류 할 수 있다.캡슐화캡슐화란 외부에서 해당 클래스를 잘못사용하는것을 방지하기 위해 접근제어자로 필드나 매서드를 숨기는것을 의미한다. 상속부모클래스와 자식클래스를 구분하여 사용하는것을 의미한다.부모의 매서드를 자식이 물려받아 사용할 수 있다. 추상화객체에서 공통된 부분들을 모아 상위 개념으로 새롭게 정의하는것.추상화 된 매서드는 반드시 하위 객체에서 구현해야한다. 다형성각각의 고유한 매서드를 상위클래스에서 새롭게 정의하여 여러가지 형태로 재구성하여 사용하는것. 2. restful한 API 설계의 장점은?http 기반으로 제작되며 restful api의 자원은 즉 데이터이다.restful Api는 crud를 직관적으로 보여줌으로써 가독성이..

개발공부 2024.08.30

나누어 떨어지는 숫자 배열 JAVA

import java.util.*;class Solution { public int[] solution(int[] arr, int divisor) { int count = 0; int num = 0; // 첫 번째 for 루프: 배열에서 divisor로 나누어 떨어지는 요소의 수를 세기 for (int i = 0; i  "for문을 써서 나누어 떨어지는값을 구한다." 는 논리 말고내가 직접 생각한 알고리즘이 단 하나도 없다.일단 하나하나 이해해 가면서 쌓아가면 1인분은 하게 되겠지?..

개발공부 2024.08.29