일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DDD
- 기술공부
- JPA
- 자료구조공부
- JPA스터디
- 플러터 공부
- 기술면접공부
- Flutter
- nestjs공부
- K8S
- Axon framework
- 스프링 공부
- 알고리즘공부
- 스프링부트공부
- 코테공부
- JPA 공부
- querydsl
- Kafka
- 코테준비
- JPA예제
- nestjs
- nestjs스터디
- 자바공부
- JPA공부
- 프로그래머스
- 카프카
- 스프링부트
- 플러터 개발
- 스프링공부
- 스프링
- Today
- Total
목록기술면접공부 (6)
DevBoi
Mybatis 로 개발을 진행하다면, 해당 prepared statement와 일반 statement의 차이에 대해서 알아두어야 할 필요가 있다. Mybatis에서 단적인 예로, 쿼리의 파라미터에 대한 방법을 다르게 줄 수 있다. 1. #{storeNo} , ${storeNo}가 있다. mybatis에선 해당 #, $를 다르게 쓸수가 있는데, 해당 방법에 대해서는, 어떤 차이가 있는지 살펴보자, 우선 #{} 과 같은 쿼리문은, 같은 쿼리문을 바인드 변수값만 바꿔서 반복적으로 실행하기 위해 사용하는 prepared statement이다. 해당 방법은 어떻게 동작할까? 우선 Prepared statement를 동작시키면, 해당 쿼리는 ?가 표함된, 쿼리문을 DBMS로 보내게 된다. 해당 DBMS는 해당 쿼리..
Spring framework에 대해설명 1. oop란? 데이터를 객체로 취급하여, 프로그램에 반영한다. 순차적으로 프로그램이 동작하는 것과 다르게 객체의 상호작용을 통해, 프로그램이 동작한다. 객체를 사용함으로써 코드 재사용을 증가시키고, 유지보수를 감소시켜준다. 2. 자바의 메모리 영역에 대해서 설명 - 메서드 영역 : static변수, 전역 변수, 코드에서 사용되는 클래스 정보들이 올라간다. 코드에서 사용되는 클래스들을 로더가 읽고, 클래스 별로 분류해서 저장한다. 처음에 로드 될때, 필요한 것들이 메모리에 저장된다. 이때 클래스 정보가 없거나, 전역 변수에대한 오류가있으면 기동시에, 오류가 난다. -스택 : 지역변수, 메서드 등이 할당되는 LIFO 방식의 메모리이다. -힙 : new 연산자를 통해..
1. Filter와 Interceptor filter 와 interceptor 의 실행시점은 다르다. - filter 는 web application 에서 동작을 하고 - interceptor는 spring 의 context에 등록을 한다. 이말은 즉, filter는 dispatcher servlet 이전에 실행이되고, interceptor는 dispatcher servlet 이후에, 실행이되는 시점을 가진다. Filter 에서 예외가 발생하면 Web Application 에서 처리를 해야한다. 선언 이나, Filter내에서 예외를 잡아, request.getRequestDispatcher 으로 핑퐁하듯이 예외를 처리한다. Interception 에서 예외 발생시에는, ExceptionHandler 나,..
데이터베이스에서 이상이란? 이상은 왜 발생하는가? 그 종류는? 데이터 베이스 이상현상이란, 3가지가 있다. - 갱신 이상 : 반복된 데이터 중 일부를 갱신할 시 데이터의 불일치가 발생 - 삽입 이상 : 불필요한 정보를 함께 저장하지 않고서는 어떤 정보를 저장하는 것이 불가능하다 - 삭제 이상 : 필요한 정보를 함께 삭제하지 않고서는 어떤 정보를 삭제하는 것이 불가능하다 -갱신 이상 : 만약에 한가지의 데이터가 변경되었다면, 연관된 다른데이터들이 한꺼번에 같이 변경되지 않아 불일치가 발생한다. 이렇게 될경우, 바뀌게 되는 데이터에 따른 모든 데이터를 일일히 바꿔서 수정해줘야한다. -삽입 이상 : 내가 원하는 값만 테이블에 삽입하고 싶은데, 테이블에 필요하지 않은 필드들 때문에 원치 않는 필드의 값도 삽입해..
직렬화(serialization)란? 자바에서 입출력을 할때 스트림이라는 통로를 통해, 데이터가 이동한다. 객체는 바이트형이 아니라서 파일에 저장 하거나 네트워크로 전송이 불가하다 따라서 객체를 스트림을 통해 입출력 하려면, 바이트 배열로 변환해야 하는데, 이를 직렬화라고 한다. 반대는 역직렬화 박싱과 언박싱이란? 박싱은 기본 자료형을 wrapper class로 바꾸어주는 것을 박싱 반대를 언박싱이라고 한다. Synchronized(동기화)란? 동기화는 여러개의 쓰레드가 하나의 자원에 접근하려 할때 주어진 순간에 단 하나의 쓰레드만 접근 가능하도록 하는것이다. 둘 이상의 쓰레드가 공동의 자원을 공유하는 경우, 순서가 잘 맞추어 다른 쓰레드가 자원을 사용하고 있는 동안 한 쓰레드가 절대 자원을 변경 할수 ..
JAVA에서 싱글톤 패턴을 쓰는 이유 싱글톤 : 최초 한번만 메모리를 할당하고, 그 메모리에, 객체를 만들어 사용하는 디자인 패턴 1) 객체를 여러번 생성하지 않아도 되기 때문에, 비용이 적다. 2) 객체가 무조건 한번만 생성되는 것을 보장 3) 한번 만들어서 여러곳에서 사용하면 수정하기 힘들다. 4) 테스트하기 어렵다 5) 많이 사용하게 된다면, 다른 객체들과 결합도가 높아져, 객체지향 프로그래밍의 의미를 벗어나게된다. 또한 수정의 경우, 사이드 이팩트 발생 환경이 높아지고, 멀티 쓰레드 환경에서 동기화 문제가 발생한다. 6.Thread 가 3개 생성 되었을 때 t1, t2, t3의 순서가 보장 되는 코드를 짜 보세요. 이건 Tread Safe한 상황에 대한 코드를 짜는것에 대한 테스트이다. 우선 Tr..