분류 전체보기 328

소켓 프로그래밍

소켓 프로그래밍이란? 소켓을 이용한 통신 프로그래밍을 뜻한다. 소켓이란 프로세스 간의 통신에 사용되는 양쪽 끝단을 의미한다. ex) 전화기 자바에서는 java.net패키지를 통해 소켓 프로그래밍을 지원하는데, 소켓통신에 사용되는 프로토콜에 따라 다른 종류의 소켓을 구현하여 제공한다. 1. TCP와 UDP tcp는 연결기반, 연결 후 통신, 1:1 통신방식이다. 데이터의 경계를 구분 안 하고 신뢰성 있는 데이터를 전송한다. 데이터의 전송 순서가 보장되고 데이터의 수신 여부를 확인한다. 관련 클래스로는 Socket, ServerSocket이 있다. 반면, udp는 비연결기반이며, 연결 없이 통신이 되며, 1:1, 1:n, n:n 통신방식이다. 데이터의 경계를 구분하고(datagram) 신뢰성 없는 데이터를 ..

CS/Network 2022.04.21

브랜치 전략

1. git-flow : 5가지의 브랜치를 이용해 운영하는 브랜치 전략 1) 2개의 메인 브랜치와 역할을 완료하면 사라지는 3개의 보조 브랜치로 구성되어있다. -메인 브랜치 : 항상 유지 가. master : 제품으로 출시될 수 있는 브랜치 나. develop : 다음 출시 버전을 개발하는 브랜치 -보조 브랜치 : merge되면 사라진다. 가. feature : 기능을 개발하는 브랜치 나. release : 이번 출시 버전을 준비하는 브랜치 다. hotfix : master 출시 버전에서 발생한 버그를 수정하는 브랜치 2) 개발자는 develop 브랜치로부터 본인이 개발할 기능을 위한 feature 브랜치를 만든다. feature브랜치에서 기능을 만들다가, 기능이 완성되면 develop 브랜치에 merg..

CS/ETC. 2022.04.17

Nuxt.js etc

1.mixin https://joshua1988.github.io/vue-camp/reuse/mixins.html#%E1%84%86%E1%85%B5%E1%86%A8%E1%84%89%E1%85%B3%E1%84%8B%E1%85%B5%E1%86%AB-%E1%84%8F%E1%85%A9%E1%84%83%E1%85%B3-%E1%84%92%E1%85%A7%E1%86%BC%E1%84%89%E1%85%B5%E1%86%A8 Mixins | Cracking Vue.js 믹스인 믹스인(Mixins)은 여러 컴포넌트 간에 공통으로 사용하고 있는 로직, 기능들을 재사용하는 방법입니다. 믹스인에 정의할 수 있는 재사용 로직은 data, methods, created 등과 같은 컴포넌트 옵션 joshua1988.github.io 2..

CloudFront

1. Upload your content to Amazon S3 and grant object permissions 절차 Stores the original versions of your objects in an Amazon Simple Storage Service (Amazon S3) bucket ( S3말고 웹서버에 저장해도 된다.) Makes your objects accessible to everyone (signed URL이나 쿠키를 통해 콘텐츠에 접근 제한할 수 있다.) Uses the CloudFront domain name in URLs for your objects (for example, http://d111111abcdef8.cloudfront.net/index.html) Keeps ..

DevOps/AWS 2022.04.11

Part 2. Storage System

Pattern 5. 백업 온프레미스 환경에 있는 시스템 데이터를 AWS에 백업하는 설계 패턴 백업 개요 - 대부분의 경우 사내 시스템은 온프레미스 환경에, 기업 사이트는 AWS 환경에 위치시킨다. - 백업 대상은 용량이 큰 이미지 파일, 데이터베이스, 각 서버의 로그파일, 파일 서버에 있는 파일이다. - 로그 파일과 데이터베이스 파일은 장기간 보관한다. - 비용을 절감하면서도 운영에 손이 많이 가지 않는 방식으로 진행한다. 1. 스토리지 게이트웨이를 이용한 자동 백업 - 온프레미스 환경에 스토리지 게이트웨이를 사용하여 백업용 스토리지를 만들어 S3에 자동 백업한다. 2. S3와 글레이셔로 수명주기 관리 - 로그 파일을 S3 기능으로 백업하면서 온라인 보관 기간을 넘은 파일을 글레이셔에 아카이브 한다. 3..

DevOps/AWS 2022.04.10

Pattern 3. 성능 요구사항을 만족하는 설계하기, 다섯 배 빠른 AWS 전용 DB 엔진 도입

인트라 웹 시스템 설계 -회계, 급여, 등의 업무 시스템을 AWS에 구축, 처리량이 증가하는 마감 전후 온라인 트랜잭션의 응답을 3초 이내로 안정 인프라 핵심 설계 1. 오토스케일링을 사용한 동적 프로비저닝(오토스케일링은 모니터링 서비스인 아마존 클라우드 워치와 함께 사용) - 업무 스케줄이나 피크 시의 리소스 상황에 맞추어 처리능력을 증감시킨다. 2. 인메모리 데이터 액세스 사용 - 높은 빈도로 액세스 되는 데이터는 인메모리 캐시를 사용하여 데이터 액세스 지연을 줄인다. 3. 고속의 RDB 서비스 이용 - 새로운 RDB 서비스인 Amazon RDS for Aurora 사용 1. 인메모리 캐시와 고속 RDB 활용 데이터 액세스에서 발생하는 처리시간, 성능에 따른 병목현상 줄이기 위한 2가지 방법 1)인메..

DevOps/AWS 2022.04.09

Nuxt.js Middleware & Authentication

1. Middleware page가 로드되기 이전에 작동한다. client, server 두 곳에서 다 작동한다. 1) middleware폴더 하위에 log.js, auth.js 파일 작성 2) pages, layout 폴터 하위 컴포넌트에 middleware : 'log' 로 사용가능하다. 3) authentication을 필요로 하는 페이지 있으면 middleware에서 처리하기 2. Cookie, localStorage page refresh되면 server에서 쿠키 받아오면 된다.

Nuxt.js Config & Plugins & Modules & Mixins

1. nuxt.config.js Nuxt.js.org - configuration 파트 참조 1) mode : 'universal ' - pre rendering 필요할 때, 필요 없으면 spa로 해도 된다. 2) head - html의 head 영역이랑 같다. - 특정 페이지에만 적용하고 싶으면 해당 pages 하위 component에 head:{ } 이렇게 넣어주면 된다. 3) loading : 맨위에 처리되는 것 보여준다. 비 활성화 하려면 loading:false 작성 spa에서 -> loadingIndicator:{ name: ' circle ', color: '#dddd' } 가운데 동그라미~~ 로딩될 때 4) css : global css assets 하위 경로 넣어주면 된다. 5) env ..