반응형

전체 글 172

큰 단위의 설계만이 설계가 아니다.

https://shoark7.github.io/programming/algorithm/tower-of-hanoi '하노이의 탑' 이해하기 '하노이의 탑' 문제를 이해하고 문제 해결을 위한 핵심 통찰을 살핀 뒤 코드로 작성합니다. 이후 탑의 개수에 따른 총 이동 횟수를 구하는 일반항까지 수학적으로 유도합니다. shoark7.github.io 위 블로그의 글을보고 많은 것을 느꼈다. 크게 느낀점 하나를 적고자 한다. 설계라는 단위가 클래스 더 나아가 큰 아키텍쳐 설계만이 설계가 아니라 느꼈다. 메소드 단위의 설계도 중요하다 라는 것이다. 알고리즘 테스트 뿐만 아니라 실무에서 클래스 단위의 설계 밑에 메소드 단위의 설계에도 더 신경써야할것!

개발 2021.09.04

Spring - flyway (using RoutingDataSource)

이번엔 flyway를 다중 데이터베이스 커넥션 환경에 적용해보자 AbstractRoutingDataSource 를 사용하여 DataSource를 유동적으로 변경할 수 있는 환경을 만들었다. @Slf4j public class TenantRoutingDataSource extends AbstractRoutingDataSource { @Override protected Object determineCurrentLookupKey() { log.info(">>> determineCurrentLookupKey thread: {},{}",Thread.currentThread().getId(), Thread.currentThread().getName() ); log.info(">>> RoutingDataSource:..

Spring 2021.08.18

Spring - flyway

Flyway 데이터베이스를 위한 형상관리 툴 데이터베이스에 대한 변화를 버전으로 관리하고 마이그레이션 해줌 스프링에 flyway를 적용해보자 build.gradle 디펜던시 추가 필자는 스프링 부트를 사용하고 있어 버전은 따로 입력하지 않았다 implementation 'org.flywaydb:flyway-core 버전에 따른 sql 파일을 resources > db > migration 에 위치해준다. sql 파일 네이밍은 위 주소의 문서에서 확인할것 drop table user if exists; create table user (id bigint not null, name varchar(200), primary key (id)); 테스트 용으로 위와같이 테이블 생성 쿼리를 V1__init.sql 로..

Spring 2021.08.18

QueryDsl with Lombok

QueryDsl 과 Lombok 같이 사용시 cannot find symbol 에러를 만났다 Lombok이 코드를 만들기 전에 QueryDsl 이 먼저 컴파일을 작업하여 롬복이 만들어낼 코드를 찾을수 없다고 에러를 띄운다. 아래와 같이 build.gradle에 Lombok 작업후 QueryDsl 컴파일을 지시하도록 하자 project.afterEvaluate { project.tasks.compileQuerydsl.options.compilerArgs = [ "-proc:only", "-processor", project.querydsl.processors() + ',lombok.launch.AnnotationProcessorHider$AnnotationProcessor' ]

Spring 2021.08.05

Firebase messaging 기초1

우선 Firebase 프로젝트를 생성한다. 생성후 google-services.json 파일을 받아 프로젝트 app 폴더에 추가한다. 이후 Firebase 관련 dependency를 추가하라고 설명이 나와 있는데 그대로 설정해주자 내가 하고 싶은건 푸시를 보내는것 따라서 dependency에 아래와 같이 firebase-messaging 을 추가하자 dependencies { // 기본 firbase 설정 implementation platform('com.google.firebase:firebase-bom:28.3.0') implementation 'com.google.firebase:firebase-analytics-ktx' // firebase 푸시 설정 implementation 'com.goog..

Android 2021.07.30
반응형