도커 개념 ⇒ 다양한 종류의 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. 하드웨어의 자원을 모두 가상화 하지 않고 프로세스들만을 격리시켜 빠르게 환경을 구축할 수 있다. ⇒ 서비스 환경을 갖춘 뒤 그것을 Docker Image로
참고 : https://jojoldu.tistory.com/267?category=635883 https://velog.io/@swchoi0329/NGINX-무중단-배포무중단 배포 구조하나의 EC2서버에 하나의 NGINX와 2대의 스프링부트 서브를
ec2 프리티어 사용 시 swap file 생서하여 용량 늘리는 방법 : https://okky.kr/article/884329보통 8080 포트를 사용하기 때문에 jenkins 포트는 따로 사용하는게 좋다.HTTP_PORT=8080 부분을 9090 으로 바꿔
모든 언어의 조합과 소스 코드 레포지토리에 대한 지속적인 통합(Continuous integration, CI)과 지속적 배포(continuous delivery, CD) 환경을 구축하기 위한 도구다. 빌드, 테스트, 배포 프로세스를 자동화하여 소프트웨어 품질과 개발
'상세페이지' 로직readOnly를 쓰지 않았을때 쿼리 결과readOnly를 썻을때 쿼리 결과상세페이지에서는 별반 차이가 없다'main'페이지 로직 - 불러오는 객체수가 많다.readOnly를 쓰지 않았을때 결과readOnly를 썻을때 결과미비한 차이를 보이지만 rea
정규화 비정규화 다이어그램정규화의 기본목표는 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Intergrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 또한 이상문제( 삽입이상, 삭제이상, 갱신
(HTTP) 알아둬야 할 HTTP X 헤더HTTP 헤더 - HTTP | MDN\[토막지식] X- 헤더 쓰지 말자
coolsms 사이트 가입 후 api key 설정api key 생성SDK 다운로드SDK 활용법다운로드받은 sdk를 압축해제 후 인텔리제이 file → open 으로 프로젝트를 연다.lib 파일안의 .jar 들을 본인의 프로젝트에 implement 한다..jar 확인적
ngrinder 는 controller, agent, targer 로 구성되어 있음ngrinder 구성 요소controller : 웹 기반의 GUI 시스템으로 테스트 전반적인 작업이 컨트롤러에 의해서 작동된다agent : 컨트롤러 명령어를 받아서 target 머신에 프
참고 \[Spring] @Component 애노테이션 및 함께 사용하는 애노테이션 정리@Scheduled 사용법, 스케줄러 커스터마이징을 통한 제어(+스케줄러에 등록한 작업 중지하는 방법, 배치 효과, 정확한 주기 작업 사용법)Springframework 에서 제공하
<전체적인 배포 순서>Github에 push 한다.circleci에 미리 github와 연동되어진 프로젝트로 build가 작동한다.2번에서 build와 동시에 docker hub pushMarketPlace 에서 Circle CI 검색 카드 정보 입력github
서버와 클라이언트 사이에 중계기로써 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 리버스 프록시는 클라이언트의 요청을 먼저 받아 서버에게 요청을 전달해주고 다시 데이터를 받아 클라이언트에 전달해 줍니다. 클
모임에 참가한 사람들에게 모임 시작 하루전에 알림 문자 전송회원가입시 휴대폰 번호 인증 (보류)모임 참가/취소 버튼 클릭 시 알림 문자 전송 (보류)모임 시작시 후기 작성 페이지 유도 알림 문자 전송 모임 시작시 모임장에게 출석체크 url 보내기다운 받았던 coolSm
JWT 토큰인증 예외처리클라이언트의 요청에 JWT토큰이 없거나, 오류가 있으면 Filter단계에서 바로 예외를 발생시켜 응답으로 내리고자 함 하지만, 예상과는 다르게 응답이 내려가는 것이 아니라 예외만 발생되버림.안되는 이유를 찾다가 스프링부트의 동작 순서도를 찾
백엔드 2번 째 챌린지 서버 아키텍쳐 개선 과정입니다. 3가지 단계를 거치면서 문제를 보완하고 백엔드 자체 목표를 달성 할 수 있었습니다. 1번그림 : 처음에는 서버를 한 대만 두었고 nginx와 젠킨스를 사용해서 무중단배포를 구현했습니다. 2번 그림 : 스케일 아
1. jwt 토큰 1) 의존성 추가 jwt 의존성을 추가해준다. > implementation 'io.jsonwebtoken:jjwt:0.9.1' 2) UserDetails 생성 스프링 시큐리티에서 관리하는 UserDetails 타입의 객체를 생성해야한다. p
추출(Extract), 변환(Transform), 적재(Load)추출이란 말을 너무 어렵게 생각하지 말자,SQL의 SELECT를 통해 데이터를 가져오는 걸 생각하면 된다.그냥 단순히 테이블에서 데이터를 꺼내왔다고 생각하면 된다.그럼 데이터를 분석을 위한 데이터로 변환하
데이터베이스 정규화란?이상 문제를 해결하기 위해 속성들 끼리의 종속 관계를 분석하여 여러개의 릴레이션으로 분해하는 과정 입니다. 일반적으로 테이블을 여러개로 분해하면 속도는 상대적으로 느려질 수 있지만, 분해하지 않으면 이상 문제들이 발생 합니다.이상 문제삽입 이상 :
우선 데이터의 기술적 개념부터 생각해보자. 우리가 흔히 말하는, 컴퓨터 화면을 통해 볼 수 있는 모든 데이터는 컴퓨터 밖 세상의 것들과 크게 다르지 않다. 책처럼 읽을 수 있는 인터넷 신문기사의 글자들, 눈으로 본 것과 똑같이 찍혀 sns에 업로드 된 사진들... 이런
프로세스는 프로그램을 실행 시킨 것프로그램은 내가 짠 코드들프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다.기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다.각 프로세스는 별도의 주소 공간에서 실행
Web Real-Time Communication클라이언트 웹 브러우저에 대한 지연 시간을 줄이는 것이 애플리케이션에 가장 중요할 때 가장 효과적이다. 영상 채팅 및 다자간 통화 소프트웨어가 가장 일반적인 사용 사례에 포함된다사전 레코딩 또는 렌더링 되는 동영상 컨텐츠
VPC 보다 VPN 먼저 VPN (Virtual Private Network) -> 가상 사설망 -> VPN은 한국어로 “가상사설망"이라합니다. 앞에 “가상"이라는 단어에서 알 수 있듯 실제 사설망이 아닌 가상의 사설망입니다. 만약 위 그림과같이 회사의 네트워크가
접근 주체(Principal) : 보호된 리소스에 접근하는 대상인증(Authentication) : 보호된 리소스에 접근한 대상에 대해 이 유저가 누구인지, 애플리케이션의 작업을 수행해도 되는 주체인지 확인하는 과정(ex. Form 기반 Login)인가(Authoriz