일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA공부
- 코테공부
- 스프링부트
- 스프링
- K8S
- Axon framework
- JPA예제
- 카프카
- nestjs
- nestjs공부
- DDD
- Flutter
- 기술면접공부
- 플러터 개발
- 알고리즘공부
- 기술공부
- 자바공부
- JPA 공부
- 코테준비
- 프로그래머스
- 스프링 공부
- Kafka
- JPA
- nestjs스터디
- 자료구조공부
- 스프링공부
- 플러터 공부
- 스프링부트공부
- JPA스터디
- querydsl
- Today
- Total
목록분류 전체보기 (715)
DevBoi
쉽게말해서, 2진수로 변환하고, 해당 1간의 간격의 최대값을 구하는게 키포인트이다. 이진수로 변환하는건 라이브러리가있기 때문에 변환해서, 값 index를 배열에 넣고, 빼주고 -1 을 더 뺴준다. index가 3,2 일경우 11 이기때문에 gap은 0이기때문에
위장 문제 문제의 키포인트는 각각의 옷에 대한 카테고리는 같지만 이름은 다 다르다는것이다. key 로만 구분해서, 해당 값들을 카운트한 값들을 넣어주고, 각각 경우의수를 곱해준다. 상의3개 하의2개인 경우 3 * 2 6가지의 옷을 입을수 있고, 해당 케이스처럼 * 해준뒤에 다 벗을수있는경우가 포함되어있는 경우 1은 빼준다. 그리고 상의가 2개여도, 안입을수도있기 떄문에 (하의 1개만 입을수 있음) 해당 경우를 생각해서 가지수 +1 해서 곱해준다.
1. 오버라이드 오버로딩 차이 둘다 메소드 구현 방식에 대한 개념 오버로딩 : 생성자 오버로딩, 메소드 오버로딩이 존재한다. (파라미터만 다르고 메소드 이름은 같은 것) 오버라이드 : 상속받은 class에서, 같은 메소드의 본문만 다르게 정의 하여 구현하는 것이다. (부모클래스의 메소드 재정의) 2. $,#차이 Mybatis #는PreparedStatement를 의미한다. select id from et_mbr_base where id = #{id} 라고하면, 해당 Oracle로 select id from et_mbr_base where id = ? 가 넘어가게 되고 실제 수행은 select id from test where id = 'devboi'가 된다. $는 Statement를 의미한다. selec..
JPA를 개발하면서, N+1문제에 대한 얘기가 많이나온다. N+1이란 어떤걸까? 어떻게 해결해야할까? 우선 N+1 이란, 어떤 게시물의 테이블을 POST라고 두고, Post에 달린 댓글을 Comment라고 두자 한게시물에는 여러개의 댓글이 달릴것이고, 우리는 이것을 @OnetoMany로 둔다. 자 그러면, 페이징을 뿌릴때나, 특정조건에 Post테이블을 findAll해본다고하자 우선, 그전에 JPA에서는 각각의 fetch방법이 존재한다. fetch란 뭘까? fetch란 특정 한개의 Entity 즉 테이블을 조회할때, 연관관계에 있는 객체들을 어떻게 가져올까? 라는 전략이다. 해당 전략은 크게 Eager, Lazy가 있다. Eager은 연관관계에 있는 Entity를 모두 가져오고 Lazy는 getter로 접..
간단하게, 전체적인 구조를 잡기 위해 회원가입에 대한 로직흐름을 구현하였다. 우선 회원 가입 창이다, jsp 쪽 꾸미는 소스는 귀찮아서, 그냥 bootstrap 아무거나 복붙했다 ㅋ; input name에 대한값을 Entity와 맞춰주었고, url에 회원가입 url을 넣었다. 해당 Entity이다, 간단하게 몇가지 정보만 받을수 있게끔 구현하였다. 컨트롤러로 매핑하였고, service를 호출하여, 객체를 넘긴다. 패키징은 간단하게 이렇게 구성하였다. 기존 mybatis를 사용할때는, controller - service(iml) - dao(mapper)였는데 JPA에 맞게, Controller - service - Repository로 설정을 하였다. Repository에선, 이렇게 간단하게 findby..
그리드 함수를 쓰는 체육복 문제이다. 난이도는 1이며, 푸는건 10분 정도 걸렸다. 우선 전체 탐색은 기본이고, 한번빌려줬으면, 해당 사람은 못빌려주니까, 다음 검색 조건에서 -음수대로 만들어야 한다. 그리고, 본인이 잊어버리고 여분이 있을수있으니, 우선 이 케이스는 먼저 음수처리를 하고, 전체 탐색을 진행 한다 일케하면, 빌려줌을 못받는 애들만 lost에서양수인채로 남아져있고, 나머지는 -99가 된다. 혹시 0의 인덱스에 걸려있을수도있으니 -1은 위험하다고 생각해서 -99로했다. 무튼 이렇게 되면 통과
가장 기초이기도 하지만 막상 물어보면... 주저리주저리 얘기할것같다. 동기 : 동시에 일어나는 것, 요청하면 바로 시간이 얼마나 걸리든 자리에서 바로 결과가 주어진다 비동기 : 동시에 일어나지 않는 것, 요청과 결과가 동시에 일어나지 않을 것이라는 약속이다. 동기방식 : 매우 간단하고 직관적이지만, 결과전에는 아무것도 못하고 대기 비동기 : 동기보다는 복잡하지만, 결과 전에 다른 작업이 가능하여, 자원을 효율적으로 사용이 가능하다. 쉽게말하면, form으로 페이지에 대한 값을 받아서 jstl로 세팅을 하거나, 페이지 이동간의 데이터 세팅및 결과 처리에 대한건 동기방식이고 비동기 방식은 다운로드 요청, 혹은 실시간 시간 별 이벤트 방식 혹은 처리 방식 등등 비동기 방식으로 쓰일수 있다. 비동기 방식으로 제..
최근에 많이 나온 지식중에 하나인 , webflux가 있다. 이게 뭘까...? 언뜻보기에는 프론트엔드 사용기술같기도하다... 스프링의 주요기능, IOC : 제어의 역전, 개발자가 프로그램 코드를 제어하고, 객체 생성 부터 생명주기를 관리했다면, 스필은 컨테이너가 이걸 제어한다. DI : 객체 내부가 아닌, 외부에서 값을 set해서 세팅해주는 것이다. 그러면 webflux 는? 이건 스프링 5에서 쓰는 것이다. Spring framework 5에서는 다음과 같은 특징들을 가진다. -JDK 8부터 지원 -Kotlin 지원 -호환 라이브러리 변경, -Reactive Progamming Reactive Programming??이건 뭥미? 프론트 리액트랑관련이 있는건가?? => 응 전혀 아니얌 1. Webflux..
간단하다. int 배열 들어오면, 정렬해서 단순 조건으로, 득정 인덱스의 값을 return 해주면 된다. 단 , 문제의 index를 한번 sort한거니까, 길이에서 -i를 한값을 answer에 넣어야한다 ㅋ 걍 간단하게 잔머리 쓴듯한 문제?ㅋ
많이들 사용하는 쿠키와, 세션 주로 로그인 및 회원 처리에서 많이 사용하는데, 해당 두가지 개념에 대해서 명확하게 익히고 가자. 우선 쿠키와 세션 사용이유 HTTP프로토콜의 특징이자 약점을 보완하기 위해서 사용한다. Http 프로토콜 환경에서는 서버는 클라이언트가 누구인지 확인해야한다. 그이유는, Http 서버는 connectionless, sateless하기 때문이다. 이게무슨 말이냐면, connectionless 클라이언트가 요청을 해서 서버가 response를 하게 되면, 바로 끊어진다. 헤더에 keep-alive라는 값을 줘서, 커넥션을 재활용한다. stateless는 뭘까, 통신이 끝나면, 상태를 유지하지 않는 특성, 연결을 끊는 순간, 상태정보는 유지하지 않는다 -> 그러면 회원이 계속 접속중..