\-In-Memory : 모든 데이터를 RAM 에 저장 (백업/ 스냅샷 제외)\-Single Threaded : 단일 thread에서 모든 task 처리\-Cluster Mdoe : 다중 노드에 데이터를 분산 저장 -> 안전성,고가용성 제공\-Persistence
배포자동화를 위한 대표적인 예로서는 TravisCi와 Jenkins가 있다. 빌드 -> 테스트 -> 배포 까지 자동화를 시켜보자 요즘은 보통 Jenkins를 많이 사용하므로 TravisCi는 간단하게 사용법만 알아보자 TravisCi Travis Ci를 활용해 코
다 까먹었던 도커를 다시 반복하면서 공부내용을 간략하게 정리 해봤다.컨테이너 기반의 오픈소스 가상화 플랫폼컨테이너는 코드와 모든 종속성을 패키지화하여 응용 프로그램이한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 하는 소프트웨어의 표준 단위도커는
대용량의 비즈니스 데이터를 복잡한 작업으로 처리해야하는 경우특정한 시점에 스케쥴러를 통해 자동화된 작업이 필요한 경우 (ex. 푸시알림, 월 별 리포트)대용량 데이터 의 포맷을 변경, 유효성 검사 등의 작업을 트랜잭션 안에서 처리 후 기록해야하는 경우Spring Bat
'IP주소를 외우기 힘들어 이름으로 치면 해당 IP가 나온다' 라고만 생각해왔다 DNS에 대해 다시 알아보자Domain Name Servicewww.naver.com -> HostName(www) +DomanName(naver.com)우리가 실제로 컴퓨터에서 www.n
저번시간에는 컴퓨터 기초에 대해 알아봤다면 이번에는 네트워크 기초에 대해 알아보자네트워크 공부를 하게 되면 꼭 마주치는 OSI7 Layer 라는것이 있는데 여기서는 깊게 다루지는 않을 예정이다.여기서 쓰인 Layer라는 단어의 뜻은 It세계에서는 존립이 의존적이다라는
이직을 하고 적응하면서 공부를 좀 못했던것 같다. 이직이 끝날때까지 기술을 어떻게 쓰는지 기술위주로 공부했다면 이번에는 좀더 core 쪽을 공부해 보고 싶었다. 뭐 예를들어 비전공자인 나에게는 컴퓨터라는 물체에 대한 공부, 혹은 네트워크..그래서 이번기회에 깊게는 아니
액츄에이터로 해왔던 정보들은 한눈에 알아보기가 쉽지 않다. 한눈에 알아보기위해서는 모니터링 툴을 사용해야 하는데 요즘 같은 경우는 그라파나, 핀포인트 를 주로 사용한다.모니터링 툴을 어떻게 사용하는지 알아보자모니터링 툴에 지표 전달특정 모니터링 툴을 사용하려면 그 모니
코드를 쳐서 기능 개발만이 아닌 실제로 서비스를 운영하다 보면 서비스가 잘 돌아가는지, 문제는 없는지 모니터링도 상당히 중요하다. 운영 환경에서 서비스를 할 떄 필요한 기능들을 프로덕션 준비 기능 이라고 한다.1.지표(metric)2.추적(trace)3.감사(audit
하나의 애플리케이션을 여러 다른 환경에서 사용할때 사용 (Ex: 개발서버,운영서버)과거예전 방식은 그 애플리케이션에 해당하는 외부 설정값을 넣어준뒤 빌드해서 사용한다OS환경 변수자바 시스템 속성 : JVM안에서 사용자바 커맨드 라인 인수 : 커맨드 라인에서 전달하는 외
스프링 부트는 자동 구성(Auto Configuration)이라는 기능을 제공하는데, 일반적으로 자주 사용하는 수 많은 빈들을 자동으로 등록해주는 기능ex: JdbcTemplate, DataSource, TransactionManager..@AutoConfigurati
최근에는 계속 사용하던 SpringBoot도 병행하며 좀 더 깊게 공부한는 중이다. 이와중에 테스트 코드를 작성 하던 도중 문득 JUnit에 대해서도 깊게 알지 못한다고 느꼈다. 무작정 테스트 코드를 작성하지 말고 깊게 알아보자일반적으로 의존성 주입을 받을때 생성자,
스프링부트의 장점을 알아보기위해 저번시간에 부트의 내장 톰켓을 사용하지않고 톰켓을 직접깔고,서블릿,서블릿컨테이너, 스프링컨테이너, 디스패쳐서블릿 과 스프링컨테이너 연결 까지 해봤다.이제 부트의 장점중 하나인 내장톰켓에 대해 알아보자 기존 톰켓은 따로 설치해줘야하며 버전
스프링 부트로 개발을 시작했으며 지금까지 당연하게 그냥 써왔다. 이번 기회에 스프링부트에 조금더 깊게 파악해보자스프링을 편리하게 사용할 수 있도록 지원,최근에는 기본으로 사용 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성관례에 의한 간결한 설정=> 기존 스
AOP가 뭔지는 대략적으로 알고는 있었지만 사용은 해본적이 없었다. 언제 써야 됄지도 모르겠고...그러던 와중 우연히 코드 피드백을 받을 기회가 생겼는데 로그, 중복코드 제거시 AOP를 사용하는 방법을 피드백 받아 적용해 봤다.Aspect Oriented Program
오류 내용만 복사해서 검색하다가 죄다 안드로이드 글만 보게되서 미치는줄 알았다. 다행히 okky의 도움으로 답을 찾았다 예전에도 자바에서 querydsl 설정할떄 비슷한 문제에 직면했던거 같은데.. 그때 기록을 안해서 또 겪은것 같다. 기록의 중요성을 다시 느낀다.
병원도 여러곳 가보듯이 코틀린도 문법을 배우고 나서 뭔가 부족한 느낌이 들어서 다른 강의를 들었다. 확실히 빠진내용에 대한 보충이 많았다. 이전 코틀린문법 정리한 내용에서 핵심내용 + 빠진 부분들을 다시 정리해봤다.코틀린은 모든값을 객체로 관리본 타입간의 변환은 명시적
개인 프로젝트를 하던도중 문득 사용하던 애노테이션에 가지는 비슷한 기능인것 같은데 라는 생각에 차이점에 궁금해서 알아봤다.우선 @Column(nullable = false)을 사용할 때와 마찬가지로 @NotNull 역시 테이블 생성시 NOT NULL DDL이 입력된
Git 브랜치 전략을 알기전 그냥 현업에서 시키는 대로 무작정 따라했다.그 이후로 면접에서 질문을 받았을때도 솔직히 대답을 잘하지 못했고 그냥 해왔던 방법을 설명한것 같았다. 이번 기회에 깃 브랜치 전략에 대해 다시 공부해봤다.브랜치 전략은 크게 Git flow, Gi
1.요구사항 (제공해야 할 기능) 을 찾고 세분화 한다. 그리고 그 기능을 알맞은 객체로 할당한다.2.기능을 구현하는 데에 필요한 데이터를 객체에 추가한다.3.해당 데이터를 이용하는 기능을 구현한다. (기능은 최대한 캡슐화)4.객체 간에 어떻게 메소드 호출을 주고받을