일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 개인 프로젝트 개발일지
- 자바 스터디
- 미국유학생
- 개발일지
- 유학생 준비물
- 부산외대
- 미국대학생활
- 케네스로그
- F1학생비자
- 2+2
- 미국유학
- 해외유학
- jpa
- 사이드프로젝트
- Kenneth Park
- 유학생대학생활
- 미국유학생활
- CSUS
- 복수학위제도
- JVM아키텍처
- i-20
- 비전공자 git
- java
- 만다라트프로젝트
- 미국대학
- 파이데이아창의인재학과
- 케네스
- California State University Sacramento
- Java 스터디
- 자바
- Today
- Total
목록Dev (79)
케네스로그
보호되어 있는 글입니다.
보호되어 있는 글입니다.
SQL 중심 개발의 문제점 SQL에 의존적인 개발 객체를 관계형 데이터베이스에 저장하여 관리하게 된다. 여기서 발생하는 문제는 직접적으로 데이터를 저장하기 위해 SQL을 통해 작업하게 된다. 이 과정에서 반복적인 작업을 해야하는 불편함이 발생한다. 또한, 객체를 SQL로, SQL로 받아와서 객체로 전환하는 패러다임 일치 작업이 요구되어 진다. public class Member { private String memberId; private String name; private String tel; } INSERT INTO MEMBER(MEMBER_ID, NAME, TEL) Values SELECT MEMBER_ID, NAME, TEL FROM MEMBER M UPDATE MEMBER SET .. TEL ..
프로그래머스 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 문제 각 유저는 한 번에 한명의 유저를 신고할 수 있다. 신고 횟수에 제한은 없다. 서로 다른 유저를 계속해서 신고할 수 있다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 간주한다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송한..
컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능을 말한다. 이 컴포넌트 스캔 기능을 통해서 설정 클래스에서 빈으로 등록하지 않고, 클래스 정의에 @Component 애노테이션을 통해 빈으로 등록할 수 있다. 컴포넌트 @Component 애노테이션을 통해 클래스를 정의하면 빈으로 등록된다. 이 때, 아래와 같이 빈 이름을 부여할 수 있고, 정의하지 않으면 자동으로 앞글자는 소문자로 하여 등록된다. @Component("forTest") public class TestClass() { } @Component // automadeClass public class AutomadeClass() { } @ComponentScan 애노테이션과 컴포넌트 스캔 @Component 애노테이션을 통해..
기존의 의존관계 주입 @Configuration public class AppCtx { @Bean public MemberRepository memberRepository() { return new MemberRepository(); } @Bean public ChangePasswordService changePwdSvc() { ChangePasswordService pwdSvc = new ChangePasswordService(); pwdSvc.setMemberRepository(memberRepository()); // setter() 의존 주입 return pwdSvc; } } 이전 챕터에서 배웠던 의존관계 주입의 예시를 가져왔다. ChangePasswordService객체를 생성하는 changeP..
의존이란? DI(Dependency Injection)은 의존성 주입을 뜻하는 말로 스프링의 주요 특징이다. 여기서 의존(Dependency)는 객체간의 관계 속에서의 의존성을 뜻한다. 좀 더 실질적으로, 한 클래스가 다른 클래스의 기능을 필요로할 때, 이를 의존 dependent 한다고 표현한다. 회원을 관리하는 서비스가 있다. 이 서비스는 특정 저장공간을 사용해야 한다. 저장공간은 로컬 파일, 클라우드, 또는 데이터베이스가 될 수 있다. 그럼 이 서비스는 저장공간을 필요로 하고 있으며, 이를 저장공간에 의존하고 있다고 표현할 수 있는 것이다. public class MemberService { private Repository repo = new Repository(); public void regi..
문제 중복되지 않는 정수로 이루어진 정렬된 배열 nums에 새로운 정수 target을 삽입하고자 한다. 정렬된 상태를 유지하면서 target이 삽입될 수 있는 index를 구하라. 만약, 배열 내에 target과 같은 값이 있다면 해당 index를 삽입 위치로 한다. 테스트케이스 nums = {1, 3, 5, 6} target = 5 output: 2 nums = {1, 3, 5, 6} target = 2 output: 1 nums = {1, 3, 5, 6} target = 7 output: 4 해설 및 풀이 주어진 배열의 처음과 끝, 이를 기반으로 중앙값을 정한다. 중앙값이 target보다 크다면 시작~중앙을 탐색한다 중앙값이 target보다 작다면 중앙~끝을 탐색한다. 자바 구현코드 class Sol..
문제 공장에서 상품을 생산할때 품질체크에 문제가 발생했다. 모든 상품은 이전의 상품을 기반으로 개발되었는데, 불량이 발생한 버전 이후의 모든 상품은 불량이다. isBadVersion(version)메소드는 해당 버전이 불량인지 여부에 따라 true/false를 반환한다. n개의 버전 [1,2, ... , n]일 때, 어느것이 가장 최초의 불량버전인지 찾아라. API 호출을 최소화하여 최초의 불량 버전을 찾아라. 테스트케이스 n = 5, bad = 4 output : 4 n = 1, bad = 1 output: 4 해설 우리가 찾아야하는 답은 최초의 불량이다. 즉, 불량인 제품 중 이전의 제품이 정상인 것을 찾아야한다는 것이다. 이 문제에서 주목해야할 점은 배열이 아니라 특정 api를 통해서 배열 형태의 ..
문제 정렬된 배열 nums와 찾고자 하는 정수 target이 주어질 때, target에 해당하는 nums의 index를 찾으세요. 만약 target이 배열 내에 존재하지 않는다면 -1을 리턴하세요. 테스트케이스 nums = {-1, 0, 3, 5, 9, 12} target = 9 output: 1 nums = {-1, 0, 3, 5, 9, 12} target = 2 output: -1 해설 및 풀이 로직 배열의 양 끝에 Left, right를 지정하고, 그 중앙에 위치한 값을 mid로 설정한다. target이 mid보다 크다면, left~mid구간을 탐색하며, target이 mid보다 작다면, mid~right구간을 탐색한다. 탐색하는 범위(길이)가 2가 될때까지 이를 반복한다. left, right값을..