전체 글

취준일기

취업에 대한 불안감

개발자로 취업준비중인 사람들은 누구나 그럴 것 같다. 여전히 실력에 대한 자신감이 없어 더 불안한 요즘이다. 잠도 잘 안오고 스트레스에 몸도 나빠진 것 같다. 사실 이런 이야기는 하고 싶지 않지만 진실된 내 모습을 말하는 것도 의미있지 않을까 지금도 일어나자마자 컴퓨터앞에 앉아 기술면접 내용들을 보고 있다. 글쎄.. 나에게는 참 쉽지가 않구나 조금더 힘을 내야겠다.

Spring

JPQL

JPQL (Java Persistence Query Language) 란? JPA (Java Persistence API) 의 일부로 정의된 플랫폼 독립적인 객체지향 쿼리 언어이다. 객체지향 쿼리이므로 테이블이 아닌 엔티티를 대상으로 한다. JPQL은 SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다. 하지만 결국 SQL로 변환된다. SQL과 비슷하게 SELECT, UPDATE, DELETE 문을 사용할 수 있다. (참고로 엔티티 저장은 그냥 entityManager.persist를 사용하면 되므로 INSERT 문은 없다.) JPQL에서 UPDATE, DELETE 문은 벌크 연산이라고 해서 뒤에서 따로 설명할 것이고, SELECT 문 먼저 작성하겠다. 기본 문법 SELECT m FROM Me..

알고리즘/문제

<다시풀기성공>[프로그래머스] lv2 JadenCase문자열만들기 / Java

https://school.programmers.co.kr/learn/courses/30/lessons/12951# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 class Solution { public String solution(String s) { // boolean isNew = true; // StringBuilder sb = new StringBuilder(); // for(int i=0; i

JAVA

[JAVA] char 타입 사칙연산

char type + int type 유니코드를 반환 char type - int type 에러 int type + char type 유니코드를 반환 int type - char type 에러 char type + char type 유니코드를 반환 char type - char type 유니코드를 반환 알고리즘 문제를 풀며 알게된 사실.

Spring/Spring Data JPA

JPA, JDBC, SPRING, TRANSACTION

보호되어 있는 글입니다.

Spring/Spring Data JPA

[JPA] 즉시로딩과 지연로딩(FetchType.LAZY or EAGER)

연관관계를 가진 두 엔티티 중 한쪽의 데이터만 필요해서 조회하려고 할 때, 나머지 반대쪽 엔티티도 조회할 필요는 없을 것이다. 그것은 리소스 낭비이다. JPA에서 이와 관련된 문제가 즉시로딩과 지연로딩이다. 코드로 먼저 지연로딩(LAZY) 이해하기 member 엔티티와 team 엔티티가 N:1 관계로 양방향 설정이 되어있다. FetchType 속성은 @ManyToOne 에서 사용한다. 이번 코드에서는 FetchType.LAZY 를 설정하였다. member 엔티티 @Entity @Getter @Setter public class Member extends BaseEntity { ​ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long i..

알고리즘/문제

[프로그래머스] Lv2 최댓값과 최솟값 / JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public String solution(String s) { String answer = ""; ArrayList list = new ArrayList(); for(String item : s.split(" ")){ list.add(Integer.parseInt(item)); } Collections.sort(list); a..

기술면접

HTTP의 GET, POST 비교

둘 다 HTTP 프로토콜을 이용해 서버에 요청할 때 사용하는 방법이지만 차이가 있다. GET 요청 데이터가 HTTP Request Message의 Header에 url 에 담겨 전송된다. url 의 끝에 ? 뒤에 데이터가 붙는다.(=쿼리스트링) url 에 담겨가므로 데이터 크기가 제한적이다. url 에 담겨가므로 노출되므로 보안이 필요한 데이터는 담을 수 없다. 서버에서 어떤 데이터를 가져오는 용도이다. POST 요청 데이터가 HTTP Request Message의 Body 에 담겨 전송된다. 바이너리 데이터는 POST 방식만 담아 보낼 수 있다. 데이터 크기가 GET 에 비해 크다. 서버의 값이나 상태를 변경, 추가하는 용도이다. 용도에 맞는 방식을 사용해야 한다. 예를 들어 GET 의 경우 cache..

알고리즘/문제

<다시풀기성공>[프로그래머스] lv2 귤고르기 / JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(int k, int[] tangerine) { /* 1. 배열을 순회하며 하나씩 Map에 넣으면 시간복잡도는 n^2 이된다. 2. 먼저 정렬하면 n, 순회하며 비교하며 Map에 넣으면 n, Map 에서 찾는것 n -> 시간복잡도 n */ /* 1. Arrays.sort(tangerine) ..

develop06
DEVELOP06