profile
Backend Developer
post-thumbnail

[레디스] string, list operation 사용

레디스로컬에서 테스트 진행하므로 redis를 설치 후 구동한다.(맥 기준)lettuceLettuce 이용하여 DataSource와 함께 ConnectionFactory를 빈으로 등록한다.RedisTemplate과 StringRedisTemplate은 Spring에 자동

2024년 3월 9일
·
0개의 댓글
·

[레거시 개선] 2. 자료형에 대한 고민

현재 담당하고 있는 여신 시스템에서는 자주 쓰이는 데이터 종류와 타입들이 존재한다.첫 번째로는 대출 실행 금액, 상환 금액 등의 금액이며, 또 다른 데이터 타입들로는 원리금을 산출하는데 필요한 요소 중 하나인 금리와 날짜 정보가 많이 쓰인다.1.2%1.200%0.0%0

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

[레거시 개선] 1. 문제 인식 - DB 접근 및 데이터 전달

프레임워크(ex. 스프링) 미사용.기존 시스템의 내재화된 라이브러리만 사용함.순수 Java 8 기반 소스UI 구현 시 xx플랫폼 사용개발 요건 변경 시 이미 많은 공수 소요됨.2024.02 상당한 야근 진행 ㅠㅠㅠㅠ그래도 조금이라도 개선시키고자 해당 포스트를 작성하게

2024년 2월 27일
·
0개의 댓글
·
post-thumbnail

[디자인패턴] 프록시 패턴과 다이나믹 프록시

Real Subject는 자신이 할 일만 두고, Proxy를 사용해서 부가적인 기능을 추가하고자 할 때 사용할 수 있다. SRP에 의해서 Real Subject의 책임을 줄이는 역할을 하는데 기여할 수 있다.

2023년 5월 20일
·
0개의 댓글
·

[리얼월드 HTTP] 쿠키

웹 사이트의 정보를 브라우저 쪽에 저장하는 작은 파일.서버가 클라이언트(브라우저)에 '이 파일을 보관해줘' 라고 쿠키 저장을 지시.HTTP 헤더를 기반으로 구현 됐다.Set-Cookie: LAST_ACCESS_DATE=Jul/31/2016Set-Cookie: LAST_

2022년 5월 8일
·
0개의 댓글
·

[리얼월드 HTTP] 니고시에이션

Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, \*/\*;q=0.8q는 품질 계수라는 것으로 0에서 1까지의 수치로 설정한다.기본은 1.0이고, 이때는 q가 생략된다. 이 수치는

2022년 5월 8일
·
0개의 댓글
·

[리얼월드 HTTP] 폼 전송과 파일 전송

우선 아래와 같은 html 폼이 있다고 가정하자.curl 명령어 사용 시 폼과 같은 형식으로 전송할 수 있다.curl --http1.0 -d title="The Art of Community" -d author="Jono Bacon" http://localho

2022년 5월 8일
·
0개의 댓글
·

[리얼월드 HTTP] 바디

HTTP/0.9 스펙에서는 요청 시 데이터를 포함할 수 없었다.그런데 HTTP/1.0이 되면서 요청, 응답 양쪽에 헤더가 포함돼 바디와 헤더를 분리할 필요가 생겼다. 또한 요청 시에도 콘텐츠를 포함할 수 있게 되었다.HTTP 메서드 중 바디를 포함하는 것이 기대되지 않

2022년 5월 8일
·
0개의 댓글
·

[리얼 월드 HTTP] URL

URL은 RFC 1738에서 정의 되었다.RFC 1738이전에 RFC 1630에서 URI의 일부로 URL이 등장하긴 한다.URI에는 URN(Uniform Resource Name)이라는 이름 부여 규칙도 포함된다.URL은 장소로 문서 등의 리소스를 특정하는 수단을 제공

2022년 5월 8일
·
0개의 댓글
·

[리얼 월드 HTTP] 300번대 리다이렉트 설명

서버가 브라우저에 대해 리다이레트하도록 지시하는 상태코드.300번대 이외의 경우에는 Location 헤더를 사용해 리다이렉트할 곳을 서버에서 클라이언트로 전달함.두 개념은 이전 페이지가 이후에도 존재하는가?로 분류될 수 있음.만약 http에서 https로 전환되는 경우

2022년 5월 8일
·
0개의 댓글
·

[플러터] 기본 프로젝트 구조

안드로이드 프로젝트 관련 파일.안드로이드 스튜디오로 실행 가능iOS 프로젝트 관련 파일.엑스코드로 실행 가능 (맥 전용)플러터 앱 개발을 위한 다트 파일.플러터 SDK 설치 필요플러터 앱 개발 중 테스트 파일테스트 편의성 제공패키지, 이미지, 폰트 설정프로젝트 소개깃에

2022년 4월 13일
·
0개의 댓글
·
post-thumbnail

[플러터] 외부 패키지 사용, 핫 리로드, 비동기 처리

pub.dev 홈페이지에서 원하는 패키지를 찾는다.찾아서 pubspec.yaml 파일에 넣어준다.그리고 pub get 이나 get dependecies 클릭 시 가져오게 된다.

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

[플러터] 카메라 사용하기

사용자가 어떻게 찍히고 있는지 미리보기 제공camerapath.providerpath위의 3개 dependecies를 추가한다.runApp을 실행 전에 호출

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

[플러터] 탭 컨트롤러

화면을 이동시키는 역할 수행TabController에서 length에는 몇 개의 탭을 만들지 지정하고vsync에는 탭이 이동했을 때 호출되는 콜백함수를 어디서 처리할지 지정.탭이 이동할 때 어떤 동작을 추가하고 싶으면 탭이 이동할 때 호출되는 addListener()

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

[플러터] UI 디자인 개념 및 설정 정리

구글에서 2014년부터 사용한 플랫 디자인 지침.통일이 안되니까 다 힘듬..구글이 제시해서 앱의 용량을 줄이고 속도까지 개선하는 효과를 가짐.일관된 UI를 경험플러터 앱의 환경 설정과 관련된 파일.플러터 버전 관리.새로운 패키지 추가 가능이미지 & 폰트 추가 가능이미지

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

[플러터] main()함수, Statless&Stateful, 위젯 생명주기

main함수에서는 runApp()함수를 호출한다. runApp()함수는 binding.dart클래스에 정의되어 있으며 플러터 앱을 시작하는 역할을 한다.플러터 앱을 시작하면서 화면에 표시할 위젯을 전달한다.어떠한 위젯을 만들 것인지 정의그림을 그리는데 필요한 함수tit

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

[JPA] 플젝 상황 적용

카페 프로젝트에서 데이터 구조는 아래 사진과 같다. 기존 user와 cafe 테이블만 독립적으로 있던 상황에서 review, scrap, survey가 추가됐다. 연관관계를 적용시켜보자. 다대일 적용 (1) Entity 정의 reveiw, scrap, survey 모

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

[JPA] 프록시와 즉시로딩, 지연로딩

프록시가 필요한 이유 아래 두 Entity가 정의되었다고 가정하자. 아래와 같은 코드를 실행한다고 했을 때, 문제가 team.getName()에서 나타난다. team.getName()이 없다면? member를 가져왔는데... team을 안 쓸 거라면? ★★★굳이 M

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

[JPA] 엔티티 매니저와 영속성 관리

: Entity Manager를 만든다.엔티티 매니저 팩토리를 생성하는 코드.생성비용이 큼.따라서 어플리케이션 전체에서 공유하도록 설계되어 있다.여러 쓰레드가 동시에 접근해도 안전하다.그런데 Entity Manager는 여러 쓰레드가 동시에 접근하면 동시성 이슈가 존재

2022년 4월 4일
·
0개의 댓글
·
post-thumbnail

[테스트코드] Data Access Layer를 테스트 하고 싶을 때 (JPA)

기본적으로, @DataJpaTest의 테스트는 각각의 test가 끝나고 롤백한다.그리고 인메모리 DB를 활용한다.@AutoConfigureTestDatabase어노테이션은 이러한 설정을 오버라이드할 수 있다.spring.jpa.show-sql을 true로 설정하면 쿼리

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