profile
꾸준히
post-thumbnail

netty 공부

Bootstrap에서 bossGroup과 workerGroup을 받는다. 둘다 eventLoop이고 자체 selector를 가지고 있다. bossGroup은 네트워크 레이어를 구성하는 컨테이너. bossGroup과 workerGroup을 받는다.생성자가 빌더패턴으로 되

2022년 10월 4일
·
0개의 댓글
·

카프카

카프카와 다른 시스템을 연결을 더 편리하게 하기 위해서이다. 예를 들어서 카프카 커넥트가 없다면 실패한 데이터를 추적한다거나, 데이터 분산처리, 작업을 배포하는 등의 작업을 직접 구현하여야 한다.

2020년 7월 18일
·
0개의 댓글
·

기타등등 두근두근 면접준비

스프링 부트 \- 내장 톰캣자동 환경 구성: 트랜잭션 등 자주 사용하는 몇몇 라이브러리들을 자동적으로 설정해줌. 미리 구성된 스타터 패키지 제공http://dveamer.github.io/backend/SpringBootAutoConfiguration.htm

2020년 5월 18일
·
0개의 댓글
·

JPA

데이터베이스와 자바 간 패러다임의 불일치를 해결하기 위한 도구. 개발자들이 비즈니스 로직에 집중할 수 있게 도와준다.패러다임 불일치 해결 \- 반복되는 SQL 자동 생성자바에서의 상속을 데이터베이스와 매핑해서 객체지향적인 구조를 유지할 수 있게 도와줌패러다임의 불일치

2020년 5월 17일
·
0개의 댓글
·

트랜잭션

트랜잭션 추상화 \- 서비스의 종류나 환경이 변화되더라도 트랜잭션을 사용하는 코드는 그대로 유지 가능 트랜잭션 동기화PlatformTransactionManager의 구현체들을 사용getTransaction -> commit or rollbac 메서드 사용위

2020년 5월 15일
·
0개의 댓글
·

ORM

오브젝트와 RDB 사이에 존재하는 패러다임의 불일치 때문에 요구되는 불편한 작업들(sql 작성, 자바 객체에서의 상속 - DB에서는 외래키로, 다형성, 레퍼런스, 오브젝트 합성)을 대신 해결해준다. DB와 자바 객체의 자동 매핑, SQL자동생성 등이 존재.mybatis

2020년 5월 15일
·
0개의 댓글
·
post-thumbnail

bean

스프링은 이전에 프레임워크와 의존성이 매우 높았던 EJB대신 POJO객체를 쓰는 것을 강조한다. POJO란 프레임워크에 독립적인 객체를 의미한다.singleton: 한번만 생성해서 캐시해두고 계속해서 사용(디폴트) \- 상태가 없을 때이뮤터블 할 때상태가 있어도 생성

2020년 5월 11일
·
0개의 댓글
·

이펙티브 자바

생성자에 이름을 가질 수 있음 인스턴스를 새로 생성하지 않아도 됨 \- immutable이기 때문에 객체를 만들어놓고(캐싱해놓고) 재활용 가능 \- 싱글턴 인스턴스를 하나만 만들고 재활용하는 방식정적 멤버 클래스: 바깥 클래스의 private멤버에도 접근

2020년 5월 11일
·
0개의 댓글
·

Spring

객체지향적인 프로그래밍을 위해서aop, ioc, di, psa를 사용하여 훨씬 간단한 프로그래밍 가능aop는 분산된 책임을 한 곳에 집중시키므로 srp원칙을 지킬 수 있음ioc는 객체의 생성과 라이프사이클 관리를 프레임워크에 맡기는 방식이므로, 의존성을 줄일 수 있음p

2020년 5월 6일
·
0개의 댓글
·
post-thumbnail

QR코드 에러

QR코드를 일반 script 에서 type="module"로 바꾸니 문제가 생겼다.갑자기 undefined에서 값을 불러오려고 한다는 것이다.에러난 부분의 코드는 아래와 같다. 왜 갑자기 이전에는 window에 잘 바인딩되던 this가 이번에는 undefined로

2020년 3월 7일
·
0개의 댓글
·

오브젝트 4~ 정리

상태를 분할의 중심축으로 삼기책임을 분할의 중심축으로 삼기두가지 방법이 있다. 물론 후자가 더 적합한 방법이다. 객체의 데이터(상태)는 구현에 속한다. 구현을 중심으로 삼으면 인터페이스에 구현의 세부사항이 들어가고, 캡슐화의 원칙이 무너진다. 결과적으로 상태가 변경되면

2020년 2월 24일
·
0개의 댓글
·

오브젝트 1~3 정리

책임을 분산시킨다.응집도를 높이고 결합도를 낮춘다.결합도를 낮추는 방법으로 캡슐화, 책임분산, 데이터와 프로세스의 통합이 있다.객체 사이의 의존성이 과한 경우 결합도(coupling)이 높다고 말한다. 의존성이 있을 경우, 어떤 객체가 변경될 때 그 객체에게 의존하는

2020년 2월 23일
·
0개의 댓글
·
post-thumbnail

시스템 설계

시스템 설계는 대용량 서비스를 빠르게 제공하기 위해 도입된다. 현재 우리 서비스와 같은 경우에는 하루에 1000명 정도의 사용자를 예측하고 있으므로 큰 필요성이 없지만예상 사용자를 늘릴 경우좀더 빠른 서비스 제공을 목표로 할 경우이렇게 두 가지의 경우를 추구한다면 생각

2020년 2월 19일
·
0개의 댓글
·

spring의 특징

유연성 \- aop, di를 통해 기능을 조립하는 것이 가능하다.psa실용적인 javaEE 사용과 빠른 스펙의 반영pojo기반의 개발을 많이 하여 테스트에 용이하다.어노테이션을 사용하여 편리한 개발이 가능AOP(Aspect Oriented Programming)는 관

2020년 2월 10일
·
0개의 댓글
·

[코드스피츠] 객체지향1

함수지향 vs 객체지향 함수지향 끝없는 복사본 상태 변화에 안전: 계속 복사하니 기존의 값은 안전함. 3 + 1을 한다면 새로 연산된 4는 불변성을 통해서 안전하지만, 예전의 3의 문제가 해결되는 것도 아니고 3과 1은 그대로 존재한다. 안전하게 상태를 보관했다고 보기는 어려움. 연산을 기반으로 로직을 전개 객체지향 하나의 원본: 값이 mutable함 상...

2020년 2월 2일
·
0개의 댓글
·

[면접] 예상질문

자기소개 해주세요 자신있는 분야가 뭐에요? 지원동기가 뭐에요? 가장 도전적이었던 프로젝트 설명해주세요 어떤 부분이 제일 힘들었어요? webflux가 뭐에요? webflux왜 사용했어요? mysql왜 사용했어요?

2020년 1월 14일
·
0개의 댓글
·

Mysql utf8mb4설정

우리 프로젝트에서 db에 이모지가 들어가야 한다는 사실을 깨달았고, 이모지가 지원되는 utf8mb4로 이동해야 한다는 것을 발견했다. 기본적인 내용은 아래의 블로그를 따라가면 된다. 하지만 내가 고생했던 부분과 팁을 첨부해 글을 적어 놓으려고 한다. 참고로 mysql 5.6이상만 utf8mb4를 지원한다. 우리는 다행히 5.6.6을 사용하고 있었다. H...

2020년 1월 8일
·
0개의 댓글
·

[코드스피츠] ES6+ 기초편 2

흐름에 따른 레코드의 종류 식은 하나의 값으로, 일반 문은 실행 단위(레코드)로 등록되고 flow를 따른다. flow control를 할 수 있는 문들을 이용하면, 레코드를 선택하거나 레코드를 순환할 수 있게 된다. 이런 문들을 completion record로 바뀐다. 직접 flow control label 문이 아니라 record에 달아주는 태그같은...

2020년 1월 7일
·
0개의 댓글
·

[코드스피츠] ES6+ 기초편 1

프로그램이란? 컴파일 프로그램 컴파일 언어 프로그램의 생명주기는 Language Code(Lint Time) -> Machine Language(Compile Time) -> File -> Load -> Run(Run time) -> Terminate 이다. Load되어 컴퓨터에 올라간 것을 프로그램이라고 한다. 스크립트 프로그램 스크립트 언어 프로그램의...

2020년 1월 5일
·
0개의 댓글
·

[C++ 알고리즘] map

include 유용한 방식 넣고 빼기 하지만 m[4]와 같은 식으로 접근할 경우 원소가 없으면 0을 리턴에 원소가 실제로 존재하지 않는지 확실히 알 수 없다. 따라서 m.find(4)와 같이 접근해야 원소가 있는지 없는지 확실히 알 수 있다. find는 원소가 없을 시 마지막 원소를 리턴한다. 삭제 순회 map에는 pair을 넣기에 pair와 똑...

2020년 1월 5일
·
0개의 댓글
·