전체 글 75

IoC와 DI

IoC (Inversion of Control) : 제어의 역전, 설계원칙DI (Dependency Injection) : 의존성 주입, 디자인패턴 비슷한 기능을 하는 객체로 변경을 하는 경우!강하게 결합되어 있다면 의존하는 객체의 코드도 수정이 되어야 한다그러나 비슷한 기능을 하는 객체들을 Interface로 묶어준다면?-> Interface의 객체를 사용하여 새로 추가된 객체라도 코드 수정이 간단해진다 DI를 통한 IoC의존성 주입을 통한 제어의 역전 강한결합/* 강한 결합 */public class Consumer { void eat() { Chicken chicken = new Chicken(); chicken.eat(); } public static ..

면접준비 2024.08.14

프로그래머스 코딩테스트연습 133499 '옹알이 (2)'

https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요...

알고리즘, SQL 2024.08.13

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

240809

Spring 강의 학습노트 정리 Server란 무엇인가?네트워크여러대의 장비가 서로 연결되어 정보를 주고받는 기술 Client와 ServerClient는 Server의 IP주소로 요청을 보냄 IP Adress (Internet Protocol)IP (192.168.***.***)port (8080, ...) Web ServerClient의 용청에 응답하는 일종의 컴퓨터Web Server가 요청을 받으면 HTTP Response를 통해 데이터를 브라우저에 전송 API (Application Programming Interface)일종의 "약속", 서로 다른 Application이 정해진 방식의 API 요청을 수행하면 정해진 결과물을 반환 RESTful API (Representational State Tr..

면접준비 2024.08.09

240808

프로그래머스 모의고사 문제 바로가기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr우선은 문제 해결을 목표로 하고좀 더 효율적인 코드는 이 후에 생각하는 방식으로 진행하고 있다아래 코드로 작성을 했는데 논리적으로 어디가 잘못됐는지 모르겠는데10, 11, 12 케이스에서 실패를 했다import java.util.*;class Solution { public int[] solution(int[] answers) { int[] answer = {}; int[] stu1 = {1, 2, 3, 4, 5}; int[] stu2 ..

알고리즘, SQL 2024.08.08

7.22~8.8 27조 KPT회고

Keep - 현재 만족하고 있는 부분👍 회의를 통한 프로젝트 기획개인 개발은 회의를 통한 기획 이라는 단계가 존재하지 않는다. 스스로 요구사항을 분석하고, 그를 토대로 개발을 진행하기 때문에 자기 주관적인 생각만을 이용해서 작업을 진행한다. 하지만 이런 특성이 팀 개발에서도 이어질 수 있다. 팀원들이 매우 소극적인 경우 팀장의 주도하에 개발을 진행하면 팀장의 생각대로만 개발이 행해지는 경우도 있는데, 본 프로젝트의 경우 모두가 의견을 제시해서 각자의 의견중 타당한 부분을 채택해 개발을 진행했다. 이 부분이 팀 프로젝트의 장점을 살린거 같아서 만족스럽다.👍 정기적 회의로 상황 공유 및 코드리뷰업무를 분담하고 기능을 구현할때 까지 개발만 진행하면, 같은 객체를 이용해서 다른 기능을 구현하는 사람과 메소드..

KPT 2024.08.08

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