JAVA22 프로그래머스 레벨 2 - 코딩테스트 고득점kit 해쉬 : 전화번호 목록[자바] 문제난이도 : 레벨2문제 :전화번호부에 적힌 전화번호 중 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하고 결과에 따라 true, false를 리턴하는 문제.전화번호는 String[] phoneBook형태로 주어지게 된다.제한사항 :1 각 전화번호의 길이는 1이상 20이하중복되는 전화번호는 없음답제가 처음 생각한 것은 배열을 정렬한 뒤 가장 작은 수를 가진 배열의 원소를 기준으로 다른 원소들과 비교하여 접두어에 속하는지 판단하는 것이었습니다. import java.util.*;class Solution { public boolean solution(String[] phone_book) { boolean answer = true; ArrayList phone_save_l.. 2024. 6. 12. 스프링 부트 DI - 필드 주입과 생성자 주입의 초기화 시점 DI(의존성 주입)의존성 주입이란 객체가 스프링 빈에 등록된 다른 객체를 필요로 할 경우 해당하는 객체를 가져오는(주입해주는) 행위이다.전통적인 자바에서는 스스로 객체를 생성하거나 찾지만 스프링 부트에서는 이 과정을 외부에서 처리한다. (SOLID원칙을 지켜 객체 간 결합도를 낮추고 코드의 유연성을 증가함.)의존성 주입의 유형생성자 주입수정자(setter) 주입필드 주입일반 메소드 주입포스팅을 하게 된 배경과거 실무에서 저는 이 필드 주입만을 사용하여 DI를 진행했습니다. 그러나 김영한 선생님의 강의를 들으며 이 필드 주입은 그다지 권장하지 않는 방법이다, 라는 것을 배웠습니다.why?-> 필드 주입을 할 경우 객체가 생성되고 난 뒤에 의존성 주입이 일어나기 때문에 객체가 가변적이게 됩니다.-> 이는 다.. 2024. 6. 12. 스프링 부트 유효성 검증 예외처리하는 방법(jakarta validation) 시작SI 회사에 재직할때부터 유효성 검증하는 방법은 꽤 자주 바뀌었다. 자바 jsp를 주로 사용해서 그냥 jsp에서 모두 처리를 하고 백엔드에서 처리해야할 로직이 있을 경우에만 service단에서 처리하기도 했다. 나중에는 컨트롤러와 jsp에서 더블체킹하기도 했고 dto의 어노테이션을 사용하여 컨트롤러에서 BindResult 객체를 사용하여 처리를 하기도 했다.사이드 프로젝트를 진행하며 이에 대해 고민하다 나름대로 길을 정하여 그 과정을 포스팅해보고자 한다.Service 처리재직 초반에 사용했던 방법이다. 로그인 API를 예로 들자면, 아이디나 패스워드가 공백은 아닌지, 패스워드 정규식을 만족하는지 등의 체크사항들이 있을 것이다. 그중 프론트엔드에서 처리 가능한 로직은 jsp단에서 전부 체크한다.if(x.. 2024. 6. 12. [스프링부트] 외부(이카운트) API 연동하여 데이터 통신 feat:HttpUrlConnection 서론 업무 중 외부 API 연동해야 하는 일이 생겼다. 원래라면 만들어둔 소스를 갔다 쓸텐데 Content-Type 관련해서 맞지 않는지 제대로 작동하지 않아서 직접 만들어썼다(라고 말하고 다른 프로젝트에 있던 소스 커스텀만 한거지만). 기능들에 대해 간단히 정리하고 기억하기 위해서 포스팅을 한다. (더 간단하고 쉽거나 효율적인 방법이 있을 수 있으므로 참고만 하시길.) 외부 API 연동관련 정보 연동하기 위해선 몇가지 알아야할 정보가 있다. 나같은 경우 재고관리를 위해 이카운트API라는 것을 사용해야 했고 해당 안내페이지에서 찾을 수 있었다. 다른 API도 홈페이지에 들어가보면 연동에 필요한 기본 정보를 제공하고 있을 것이다. (혹시 모르니 이카운트 URL을 남겨둔다.) https://sboapi.ec.. 2023. 12. 8. [이클립스] Spring boot 스프링부트 외부 프로젝트 import 시 오류났을 때 체크할 부분 및 해결법(feat.maven clean, 개요 git을 사용하여 외부 프로젝트를 받아오면 여러 설정을 변경해주어야 할 일이 생긴다. 하지만 외부 연동 문서 가이드를 참조하여 차례대로 설정을 변경하였음에도 실행이 되지 않는 일은 비일비재하다. 개인의 실수로 뭐 하나 빼먹었을 가능성도 있지만 변경한 설정이 프로젝트에 제대로 적용이 안됐을 확률도 크다. 이럴 경우 컴퓨터가 다운됐을 때 본체를 재부팅하면 정상적으로 실행이 되는 것처럼 이클립스의 프로젝트 또한 재부팅을 과정을 거쳐줘야 변경된 설정이 정상적으로 적용된다. 이클립스 내에서 재부팅이란 서버나 프로젝트를 Clean한 후 재실행하는 과정을 말한다. 만약 자신이 설정 관련한 변경사항을 제대로 적용했음에도 불구하고 예상치 못한 곳에 뜨는 빨간 줄이나 오류 메세지를 발견한다면 다음 클린 과정을 한번 .. 2023. 4. 12. [이클립스]java.lang.IllegalStateException: Logback configuration error detected 해결법 : logback 경로 설정 개요 깃허브에서 스프링 프로젝트를 내려받아 서버를 세팅하고 실행하는 도중에 위와 같은 에러가 발생하면서 실행이 되지 않았다. 외부에서 이렇게 프로젝트를 받아 실행하면 설정 관련한 오류가 종종 발생하곤 하는데 위와 같은 오류도 그중 하나이다. 그래서 왜 위와 같은 에러가 발생했는지, 그리고 해결법은 어떻게 되는지 작성해보고자 한다. 에러 먼저 logback은 간편하게 로그를 관리할 수 있도록 로그 출력 방법을 지정하는 로깅 프레임워크 중 하나이다. 기존 프로젝트를 진행 중 에러가 뜬다면 logback의 경로가 제대로 지정되어 있는지 확인해야 한다. 먼저 logback에 관련된 properties나 logback-spring.xml 파일에 logback에 관련된 경로가 제대로 지정되어 있는지 확인해야 한다... 2023. 3. 16. 이전 1 2 3 4 다음