-
Good code bad code 정리 - 3장: 코드 계약
소프트웨어 개발은 보통 팀 단위로 이루어진다. 1장에서 언급된 코드 품질의 핵심 요소에 있었던 ‘예측 가능하고, 오용하기 어렵...
-
Good code bad code 정리 - 2장: 추상화 계층
코드 작성의 본질적인 목적은 ‘문제 해결’이다. 큰 문제는 하위 수준의 작은 문제들로 쪼개진다. 문제를 해결하기 위해 코드를 ...
-
Good code bad code 정리 - 1장: 코드 품질
코드 품질이 좋아야 하는 이유는 여러가지이다. 고품질의 코드는 신뢰할 수 있고, 유지보수가 쉬우며, 버그가 적다. 개발자는 코...
-
NestJS - Serialization
Serialization 즉 직렬화다. 한국어로 놓고 보면 의미가 잘 와닿지 않는다. 직렬화란 네트워크 응답을 보내기 전에 발...
-
Nest.js 에러 처리 깔끔하게 하기
Nest.js는 Java Spring 프레임워크의 영향을 많이 받은 객체 지향형 프레임워크이다. 모듈간 의존성 주입 방식으로 ...
-
Bitbucket에서 ECR로 push하는 Pipeline 구축하기
Bitbucket pipeline으로 ECR 자동 배포 구성하는 방법이다....
-
Rxjs 알아보기
RxJS는 비동기적이고 이벤트 기반의 프로그램을 다루기 위한 라이브러리이다. RxJS는 observable한 sequence를...
-
Linux tail 명령어 - 실시간 로그 출력
Linux tail 명령어...
-
AWS ECS
Amazon ECS(Elastic Container Service)는 컨테이너 애플리케이션을 쉽게 배포하고 관리할 수 있는 완...
-
Dockerfile과 Multi-stage
Dockerfile과 Multi stage 도커파일은 도커 이미지를 생성하기 위한 선언형 스크립트다. 기본 규칙만 익혀두면 다...
-
Redis Stream 알아보기
Redis stream은 append only 로그와 비슷하게 동작하는 데이터 구조다. O(1)의 랜덤 액세스가 가능하며 컨슈...
-
verdaccio private npm registry 구축하기
내부에서 사용하기 위한 npm 라이브러리를 만들게되었다. 테스트를 위해 private npm에 배포하려고 보니 유료 서비스였다...
-
rollup.js
rollup.js는 javascript module 번들러이다. 번들링 라이브러리라는 면에서 webpack과 같은 역할을 한다...
-
NodeJS 구조 및 성능 향상 시키기
Node.js 서버 튜닝을 진행해야 해서 동작 원리부터 정리해 두기로 했다. 분명히 많이 공부한 내용인데 왜 다시보면 새로운 ...
-
serverless esbuild로 패키지 사이즈 줄이기
serverless로 AWS Lambda를 패키징 하다보니 코드가 늘어날 수록 패키징 및 deploy 시간이 점점 더 늘어났다...
-
Javascript 비동기 에러핸들링
유틸 함수로 만든 함수에서 에러 핸들링에 작성한 코드가 작동하지 않는 것을 발견했다. 원인을 분석하다가 단단히 잘못 작성했다는...
-
React 모바일 디바이스 100vh 사용하기
브라우저는 정책이 시시때때로 바뀌어서 언제 에러가 발생할지 모른다. 모바일 디바이스의 경우 iPhone은 하단바 때문에 를 사...
-
React 컴포넌트 테스트 하기
테스트에 사용한 라이브러리는 과 이다. React 뿐만 아니라 UI 컴포넌트 테스트를 위한 툴을 가지고 있는 패키지이다. te...
-
EC2 스토리지 용량 변경하기
’No space left ...’ 에러가 발생했을 때 스토리지 용량을 수정하는 방법이다. 그 전에 먼저 스토리지가 모두 사용...
-
AWS cli credential helper로 codecommit 인증하기
이미 저장된 Codecommit credential이 있어서 다른 계정의 codecommit을 이용하려 할 때 credenti...
-
serverless environment variable
serverless 프레임워크에서 환경 변수를 사용하는 방법은 여러가지가 있다. 그중 가장 간단하다고 생각되는 방법은 비교적 ...
-
VPC 내부 AWS Lambda DynamoDB 연결하기
Elasticache를 사용하려는데 같은 VPC 내부에서만 접근이 가능해서 Lambda를 VPC 내부에 위치시켰다. 그랬더니 ...
-
AWS AppSync DynamoDB Resolver update Add 사용
AppSync DynamoDB Javascript Resolver에서 update increment, decrement는 이미...
-
NextJS 14 AWS Amplify로 배포하기
Amplify로 새 애플리케이션을 만들고 자동으로 선택되는 이미지는 Node v16을 사용해 Next.js 빌드 과정에서 에러...
-
AWS AppSync & AWS Amplify
AWS AppSync AWS AppSync는 AWS의 Managed GraphQL 및 Pub/Sub API 서비스이다. 서버리...
-
Node.js 설치 GLIBC_x 에러
node 설치 후 아래와 같은 에러가 발생할 때가 있다. 에러의 발생 원인은 Node.js를 설치한 서버의 Operating ...
-
Mac 관리자권한으로 앱 실행하기 (Eclipse)
MacOS에서 관리자권한으로 앱을 실행하는 방법은 Windows에 비해 까다롭다. 나의 경우 Eclipse 실행을 관리자권한으...
-
Webpack Bundle Analyzer
페이지 로드 속도는 매우 중요한 요소이다. 페이지 컨텐츠가 전부 그려지지 못하더라도 무언가 화면에 그려지는 first pain...
-
React Native 절대경로 설정
점점 더 지저분해지는 import 경로를 도저히 볼 수 없어서 절대경로를 추가하기로 했다. 우우.. 👎 리팩토링을 진행하면서...
-
React typescript type 지정하기
각종 리액트 변수 및 함수들을 파라미터로 넘기려는 데 type을 알 수 없어서 몇 번 검색하다가 자주쓰는 건 정리해놓기로 했다...
-
OAuth2.0 이란
OAuth(Open Authorization)는 클라이언트 디벨로퍼가 다양한 환경에서 개발할 때 더 간단한 인증 플로우를 가질...
-
React에서 setInterval 사용하기
React에서 를 사용했는데 설정한 것 보다 여러번 실행되었다. 문제를 찾아보니 컴포넌트가 리로드 될 때마다 hook으로 감싸...
-
React class component lifecycle
외부 라이브러리를 다운받아 쓰다보니 class 컴포넌트를 쓸 일이 있어서 한 번 정리하기로 했다. lifecycle 순서 DO...
-
Next.js란
Next.js란 풀스택 애플리케이션을 만들 수 있게 해주는 React 프레임워크이다. React를 사용해 프론트를 개발한 뒤 ...
-
Typescript reducer object key type
문제 를 이용해 빈 객체에 대상 배열의 string 값을 key로 사용해 값을 지정하려고 했더니 타입 에러가 발생했다. 해결법...
-
webpack 빌드 속도 향상시키기
webpack 빌드가 갑자기 너무 느려져서 개발 속도가 정체되었다. 최근 webpack 옵션을 바꾼 적이 있었는데 그 때문인가...
-
Nest.js dependency injection constructor & property based
NestJS에는 dependency injection을 하는 다양한 방법이 존재한다. base service를 상속받는 구조로...
-
React Native New Architecture
React Native는 버전 0.68부터 새로운 구조를 도입했다. 새로운 구조는 기존 구조에 있던 RN의 고질적인 성능 이슈...
-
Wowza Streaming Engine으로 LL-HLS 스트리밍 하기
HLS와 LL HLS LL HLS는 기존의 HLS를 확장한 프로토콜이다. HLS는 미디어를 segment라는 쪼개진 단위로 잘...
-
[AWS] SQS batch item failures
Snowball anti patterns SQS에서 실패 처리된 메세지 핸들링은 매우 중요하다. 보통의 경우 Lambda가 b...
-
[AWS] DLQ(Dead Letter Queue) 리드라이브
DLQ SQS에서 란 성공적으로 처리되지 않은 메세지를 담고있는 큐를 말한다. DLQ는 자동으로 설정되는 것은 아니고, 일단 ...
-
[AWS] aws-sdk v3 마이그레이션 (Node.js 18.x 런타임)
serverless로 Labmda를 컴파일하는데 aws sdk v3를 사용하라는 warning이 계속 나타나서 이참에 업그레이...
-
[Error] Typescript process.env undefined 이슈
아무 세팅없이 를 사용하면 그 타입은 이다. 타입스크립트가 실제로 그 환경 변수가 있는지 알 수 없기 떄문이다. 그래서 타입에...
-
[CS] Singleton pattern(JS)
Singleton pattern은 생성자가 여러 차례 호출되더라도 실제 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성...
-
[AWS] serverless AWS Labmda testing - SQS & DynamoDB
AWS Lambda 테스트 코드를 작성한다. 나는 serverless 프레임워크 위에서 작업을 진행하고 있다. SQS 테스트 ...
-
[Error] Serverless DynamoDB local 설치 이슈
테스트를 위해 local DynamoDB를 serverless에 설치하려는데 에러가 발생했다. 설치 명령어를 입력하면 아래 에...
-
[React Native] 배포 및 릴리즈 기록
React Native로 개발한 앱을 여러번의 수정을 거쳐 빌드를 마치고 앱 스토어 심사를 기다리고 있다. 순탄하게 흘러갔던 ...
-
[React] ref 전달하기
React에서 자식 컴포넌트에 ref를 전달하려고 하면 오류가 발생한다. 위 코드를 실행하면 의도한대로 동작하지 않는 것을 볼...
-
[React] setInterval 내부에서 state 업데이트 하기
[React] setInterval 내부에서 state 업데이트 하기...
-
[Javascript] Closure란
클로저란 함수의 레퍼런스와 함수를 둘러싼 state, 즉 lexical 환경을 합쳐서 부르는 말이다. 클로저는 내부 함수에서 ...
-
React Native Xcode archive 실패 - Operation not permitted
Archieve를 진행하려고 하는데 계속해서 에러가 발생했다. 권한 관련 문제 같아서 설정에서 디스크 접근 권한을 XCode,...
-
svg 파일 크기 변경
로고 이미지로 svg 파일을 받아서 앱 아이콘 사이즈에 맞게 파일 변환이 필요했다. 이미지 비율은 유지하면서 로고가 중앙에 오...
-
Type 'false | Element' is not assignable to type 'ReactElement<any, string | JSXElementConstructor<any>> | ComponentType<any> | null | undefined'.
에러가 발생했던 코드는 아래와 같다. 이 구문은 를 사용하는 inline logical 구문이다. React 공식 문서에서도 ...
-
TypeScript : Element implicitly has an 'any' type because expression of type 'string' can't be used to index
타입스크립트 에러가 발생했다. 실행에는 문제가 없었지만 빨간 줄이 너무 거슬렸다. index signature 관련 에러였다....
-
context로 global data 관리
React에서는 주로 parent 컴포넌트에서 child 컴포넌트로 를 이용해 데이터를 넘긴다. 이때 많은 데이터에서 공통적으...
-
React Native 폰트 적용하기 (native-base)
폰트 적용하는데 꽤 어려움을 겪었다. 그래서 내용을 정리 해놓으려 한다. iOS와 Android 각각 적용해야 한다. 구글링을...
-
Reat hooks 정리
사용할 때마다 틈틈이 정리해놓기 ✨ useMemo 리렌더링 과정에서 사용할 수 있는 캐싱 기법이다. 함수형 컴포넌트는 과정을 ...
-
React Native bottom modal 넣기
내가 선택한 라이브러리는 @gorhom/bottom sheet이다. 위클리 다운로드 10만을 넘는 라이브러리로 깔끔한 도큐먼트...
-
React Native Animated로 애니메이션 구현하기
란 React Native에서 애니메이션을 구현하기 위해 사용되는 라이브러리이다. Animated는 / 메소드를 사용해 시간에...
-
React Native 휴대폰 설정 화면 열기
OS 별로 설정 화면을 여는 메서드가 다르다. 다음에도 참고 하기 위해 기록해둔다. Linking React Native의 기...
-
React useRef hook 사용하기
는 렌더링이 될 필요 없는 값을 참조하기 위한 리액트 훅이다. 사용법 는 라는 한 개의 프로퍼티를 가지는 object를 반환한...
-
React Native 기기 사용 권한 설정하기
Application permission 이란 앱에서 장치 수준 기능에 대한 액세스를 제어하고 규제하는 수단이다. 일반적으로는...
-
head meta 태그로 Kakao 메세지 미리보기 설정하기
og (Open Graph) Tag 카카오톡 메세지에 URL만 붙여넣어도 컨텐츠의 이름, 썸네일, 설명이 나타날 때가 있다. ...
-
Jest function mocking과 context
문제 테스트 코드를 작성하던 중 함수가 실행되었는지 테스트하는 부분이 계속 정상적으로 실행되지 않았다. 콘솔을 찍어보면 실행된...
-
Typescript declare
는 이미 다른 파일에서 정의된 변수를 사용할 때 type 오류가 발생하는 것을 막는 용도로 사용할 수 있다. html 파일에서...
-
yarn 전체 라이브러리 upgrade
yarn upgrade 에 명시된 버전 범위 내에서 패키지들을 업데이트 한다. 파일도 재생성된다. yarn upgrade la...
-
Method Naming Convention
Apple 개발자 문서를 참고하여 정리한다. 일반적인 Rule 이름은 소문자로 시작한다. 뒤에 붙은 단어의 첫번째 글자는 대문...
-
NestJS Service 상속을 해도 될까?
현재 만들고있는 app의 구조를 개선하던중 service 상속과 dependency injection에 대해 고민하게 되었다....
-
Dependency Injection
Understanding dependency injection Dependency injection, 또는 DI는 Angula...
-
Webhook 테스트 사이트
Callback url 동작을 테스트 해야 했는데 좋은 사이트를 찾았다. webhook.site 접속하면 uuid를 붙여서 새...
-
cloudwatch log insights query sdk
javascript sdk를 사용해 cloudwatch log insight를 사용하는 법을 정리한다. 코드 참고 Stacko...
-
Web Components
Web Components는 재사용이 가능한 커스텀 element를 만들 수 있게 해주는 기술이다. 캡슐화를 함으로써 나머지 ...
-
pm2 permission denied 에러
pm2로 프로세스를 시작하려고 했는데 에러가 발생했다. 를 사용해 root 사용자로 사용하고 있었다. 권한 문제인 것 같아 r...
-
AWS RDS Aurora MySQL DataGrip으로 접속하기
DataGrip이 그렇게 좋다고해서 사용해보려고 설치했는데 연결이 잘 안돼서 좀 헤맷다. 데이터 소스 리스트를 보면 MySQL...
-
실시간 집계 데이터 처리 프로세스 개선 기록
무려 2년 전 입사한지 얼마 지나지 않았을 때 작성한 건데 생각보다 잘 썼다..?? 저때 열심히 살았나보다. 서비스에 라이브 ...
-
Web Component 대신 iframe을 선택한 이유
내가 개발한 페이지에서 커스텀 플레이어를 만들 수 있는 부분만 기존 서비스에 추가하기 위한 작업을 시작했다. 기존 페이지에 영...
-
SOLID 원칙
SRP (Single Responsibility Principle) ’클래스를 변경하는 이유가 한 가지 이상 있어서는 안 된다...
-
Code Deploy 배포 자동화 이슈
온프레미스 인스턴스에 작업 codedeploy agent config 파일이 없다는 이슈 명령어 사용시 config file이...
-
Step Functions 작성하기
나중에 또 쓸 일이 있을 것 같아서 기록해둔다. SQS에 쌓여있는 Queue를 10초에 한 번씩 처리하도록 했다. Step 1...
-
Ubuntu18.04 CodeDeploy agent cli 설치
AWS 공식 문서에서는 Codedeploy agent 설치시 AWS Systems Manager를 사용할 것을 권장한다. 하지...
-
ElasticBeanstalk yarn 적용 및 Javascript heap out of memory 오류
ElasticBeanstalk에서 Node.js 엔진을 선택하면 default 패키지 매니저가 npm으로 설정된다. 대부분의 ...
-
CodeCommit, CodePipeline, ElasticBeanstalk을 사용한 CI/CD 구축
CodeCommit 레포지토리는 이미 생성했다고 가정한다....
-
서비스 운영 서버 분류 (local, dev, stg, prod)
현재 내가 맡고있는 프로젝트는 CI/CD 구축이 되어있지 않고 번거로운 방법으로 배포를 진행중이다. 서비스 특성상 로컬 환경에...
-
Ubuntu14.04 CI/CD 구축
Codedeploy agent 설치 agent 파일을 설치한다. ruby 설치 후 agent를 설치한다. 이 때 ruby 버전...
-
[HTML] 모바일 디바이스에서 double-tap 줌인 disable
모바일 디바이스에서 더블탭 동작 시 화면인 줌인 되는 이벤트가 있다. 추가 구현중인 기능에 해당 동작이 방해가 되어 disab...
-
암호화 해시 함수 / 메시지 인증 코드
암호화 해시 함수 해시 함수의 일종으로, 해시 값으로부터 원래의 입력값과의 관계를 찾기 어려운 성질을 가지는 경우를 의미한다....
-
helmet.js 버전업 이슈
helmet.js는 Express 앱에 보안을 위한 HTTP 헤더를 추가해 앱을 보호해주는 라이브러리다. 모듈 업데이트가 한참...
-
Jest 경로 에러
테스트 코드를 실행하려고하는데 아래와 같은 에러가 발생했다. 서치를 좀 하다가 Jest 설정을 수정했는데 아래와 같은 에러도 ...
-
TypeORM Query builder로 Join
TypeORM에서 서로 다른 테이블을 조인하여 값을 가져오는 작업은 Query Builder를 사용해야 한다. SQL quer...
-
create-react-app 에러
문제 을 실행하려고 하는데 아래와 같은 에러로 실행이 되지 않았다. 옛날에 create react app을 설치한 적이 있어서...
-
SSR & CSR 그리고 NextJS
SPA (Single Page Application) 현재의 페이지를 동적으로 작성함으로써 사용자와 소통하는 웹 애플리케이션이...
-
SQS Lambda Trigger
SQS Lambda Trigger란 Lambda trigger로 SQS를 등록할 수 있다. Standard 큐와 FIFO 큐 ...
-
serverless 사용해보기
Serverless는 개발 프로세스를 단순화하기 위해 만들어졌다. AWS에서 Lambda를 작성한다면 각 Lambda마다 함수...
-
Skipping start: DynamoDB Local is not available for stage Issue
Serverless로 serverless dynamodb local 플러그인을 설치 후 실행시 오류가 발생했다. serverl...
-
CodeDeploy
CodeDeploy는 Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 ECS 서비스로 애플...
-
AWS SAM init 에러
에러 명령어로 stage stack을 생성하던 중 에러가 발생했다. 해결법 정해진 해결법은 없다. 구글링을 하면 aws cre...
-
AWS SAM (Lambda Typescript로 작성하기)
SAM은 Serverless Application Model의 줄임말이다. 서버리스 애플리케이션을 빌드하는 데 사용할 수 있는...
-
Kinesis
Amazon Kineses를 사용하면 실시간 스트리밍 데이터를 손쉽게 수집, 처리 및 분석할 수 있으므로 새로운 정보에 신속 ...
-
[React Native] dotenv 사용하기
dotenv를 쓰려고 추가하다가 생각지도 못하게 시간을 잡아먹어서 정리해놓으려고 한다. 모듈을 사용하면 된다. react na...
-
[React Native] screenshot 다루기
보호된 영상 컨텐츠의 스크린샷을 막기위해 리서치를 진행했다. 몇가지 방법을 찾았는데 결론부터 말하자면 IOS / Android...
-
Github OAuth 로그인
Github OAuth 로그인 깃허브에서 제공하는 API를 사용하면 쉽게 유저 정보를 불러와 사용할 수 있다. 위 공식문서를 ...
-
NodeJS pm2 ProcessContainer.js 오류
NodeJS pm2 ProcessContainer.js 오류 Node 앱을 따로 시작하는 것은 문제가 없는데 PM2로 실행하는...
-
Actor model framework
Actor model 프레임워크 참고 링크 액터 모델...
-
Event handler의 등록 및 삭제
Event handler의 등록 및 삭제 이벤트 등록 EventTarget.addEventListener() Argument ...
-
Cloudwatch Log Insights query
Cloudwatch Log Insights는 로그 그룹을 쿼리하는 데 사용할 수 있는 쿼리 언어를 지원한다. 로그 유형의 필드...
-
Express.js Typescript 보일러플레이트 만들기 (for WEB)
Express는 Nest와 달리 정해진 구조가 없기때문에 구글링을 해도 개발자에 따라 코드 작성 방식이 크게 차이가난다. Ne...
-
[Node.js] Handlebar Missing helper 에러
express에서 핸들바로 개발하는 중.. ’partial’ 기능을 사용하려는데 에러가 잡히지가 않았다. 스택오버플로우에서 알...
-
Git submodule 추가
hexo로 블로그를 생성해 테마를 설치해서 사용하면 다른 로컬 환경에서 블로그 프로젝트를 clone 했을 때 디렉토리 내부의 ...
-
Webpack file-loader 경로 오류
Webpack file loader 경로 오류 문제 jpg, gif 등 이미지 파일 처리를 위해 검색을 하다보면 ’file l...
-
[React Native] babel plugin config 이슈
IOS 15 업데이트가 나오고 시뮬레이터에서 하도 많은 오류를 보다보니 어떤 오류가 나도 다 xCode 때문일 거라고 생각했다...
-
Webpack loader 사용하기
Webpack Loader Webpack은 기본적으로 자바스크립트 번들러이기 떄문에 다른 형식의 파일을 번들링 하기 위해서는 ...
-
Webpack
Webpack이란 webpack 은 Javascript용 static module bundler이다. 한 개 이상의 entry...
-
TypeORM
TypeORM TypeORM 은 다양한 플랫폼에서 TypeScript와 JS로 실행되는 ORM이다. ORM이란 ’Object ...
-
NestJS란
NestJS NestJS? NestJs는 Node.js용 프레임워크이다. Typescript를 전격 지원하고 OOP(Objec...
-
Context
GraphQL에서 란 특정 실행에서 모든 resolver에 의해 공유되어지는 object를 말한다. 사용자 인증 정보나 현재 ...
-
Middleware
Middleware 미들웨어는 route handler 이전에 실행되도록 하는 함수이다. , 객체에 접근할 수 있고 라는 미들...
-
JWT(Json Web Token)
JWT 토큰 기반 인증방식이다. 제공되는 API를 유지보수 하던 중 jwt를 처음 봤다. 유저와의 인증 작업을 수행하는 어플리...
-
ConfigService로 환경변수 사용하기
ConfigService 사용하기 프로젝트 환경에 관련된 변수들이 있다. 예를들면 DB에 관한 정보라던가 AWS 접근 정보라던...
-
InputType vs ArgsType
InputType vs ArgsType InputType GraphQL의 Mutaion 인자로 object를 받아야 하는 경우...
-
NestJS Entity 파일과 dto의 동기화
Nest.js Entity 파일과 dto의 동기화 typeorm방식으로 Entity.ts 파일을 사용해 graphql 스키마와...
-
NestJS, Graphql 연동
NestJS + Graphql 함께 사용해보기 \ \ Mutations\ \ Mutation은 GraphQL에서 서버 사이드 ...
-
Heroku deploy error - devDependency module 설치 이상
Heroku devDependency Module ’not found’ Error Problem GraphQL yoga로 만든...
-
React 기본 내용 정리
리액트 라이브러리를 설치함으로써 시작할 수 있다. 기본적으로 Node.js가 설치되어있어야 한다. 리액트 프로젝트를 처음부터 ...
-
graphql-yoga로 GraphQL 시작하기
기본 사용법을 익히기 위해 를 사용했다. 서버 열기 서버를 열면서 스키마 파일을 지정하고, resolver 또한 설정해준다. ...
-
특정 포트 listening 강제 종료
vs code에서 서버를 열고 사용하다보면 창을 reload 한다던가 하여 터미널 창이 지워질 때가 있다. 이 경우 더이상 이...
-
GraphQL 이란
<style img + em { display: block; text align: center; } </style GraphQ...
-
Gulp 사용 오류 정리
Gulp 이슈 정리 Gulp 사용 실습을 따라하다 발생한 오류들을 해결했던 방법들을 정리 해놓으려한다. gulp image 설...
-
Gulp.js
Gulp.js Gulp는 오픈소스 자바스크립트 toolkit이다. Node.js로 만들어진 task runner로 시간을 잡아...
-
Data analytics3 - Athena, Glue 실습
: 로그 데이터를 Athena Glue로 분석하기 CloudWatch 로그 데이터를 S3 로 옮기는 방법은 두 가지가 있다. ...
-
Data analytics2 - DataLake
DataLake Data lake는 정형화된 그리고 비정형화된 그 어떤 데이터도 모두 저장할 수 있는 중앙화된 집중식 레파지토...
-
Data Analytics1 - Athena
표준 SQL을 사용하여 AWS S3에 저장된 데이터를 쉽게 바로 분석할 수 있는 대화형 쿼리 분석 서비스 특징 사용하기 쉽다....
-
AWS - DynamoDB6
DynamoDB로 집계내기 문제 DynamoDB는 pure ’key value’ NoSQL로 집계와 같은 메서드는 제공하지 않...
-
AWS - DynamoDB5
DynamoDB 설계 키 설계 DynamoDB는 NoSQL이기 때문에 어떤 쿼리를 사용하게 될 지 생각해보고 해당 작업을 빠르...
-
AWS - DynamoDB4
DynammoDB 요금 정책 요금 정책에는 두 가지가 있다. 1. 온디맨드 용량 모드 요금 해당 APP이 테이블에서 수행하는 ...
-
AWS - DynamoDB3
Dynamodb + Lambda 주의할 점 이전에는 event, context, callback 을 사용했지만 세번째 인자 c...
-
AWS - DynamoDB
DynamoDB AWS의 종합 관리형 NoSQL DB 서비스이다. 원활한 확장성과 성능을 제공한다. NoSQL vs RDBMS...
-
AWS - DynamoDB2
DynamoDB 활용가능성 DynamoDB를 사용할 수 있는지 계속해서 활용방안을 생각해보고있다. 현 상황 재생량을 전송하는 ...
-
Node.js + Lambda + APIGateway + DynamoDB
Lambda 람다는 서버리스 코드 실행 컴퓨팅 서비스이다. 항상 가동되는 것이 아니라 필요 시에만 코드를 실행하기 때문에 경제...
-
CodeCommit
CodeCommit AWS CodeCommit은 클라우드에서 asset을 비공개로 저장하여 관리할 수 있도록 AWS에서 호스팅...
-
AWS Node.js SDK로 S3 사용해보기 & multer-S3
설치 자격증명 global credential file을 통해 자격증명을 할 수도 있고 다양한 방법이 있다. 나는 간단하게 파...
-
Github page AWS Route53 custom domain으로 서비스하기
Route53은 AWS의 클라우드 DNS 웹 서비스 이다. DNS 서비스를 제공하는 다른 서비스들도 많지만 Route53을 사...
-
S3 & CloudFront 연동
AWS CloudFront 공식문서 CloudFront html, css, js 및 이미지 파일과 같은 정적 & 동적 웹 컨텐...
-
S3
Amazon S imple S torage S ervice 인터넷 스토리지 서비스를 위한 AWS 서비스 구성요소 bucket ...
-
window.resize throttle 설정
window.resize throttle 설정 이벤트에 리스너를 걸게되면 사이즈가 바뀌는 매순간 이벤트가 발생하기 때문에 성능...
-
[Node.js] operation not permitted 오류
Operation not permitted 실행 중 위와 같은 오류가 발생했다. 이 작업을 하기 전 다른 프로젝트의 secur...
-
Javascript 30 Day 17
Day 17 Sort Without Articles Articles : 관사, 즉 관사 없이 영어 문자열을 배열하는 방법이다....
-
Javascript 30 Day 16
Day 16 Mouse Move Shadow 마우스 이동에 따라 텍스트에 그림자 효과 주기 완성본 <style .hero { ...
-
[프로그래머스] 실패율
문제 링크 문제 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용...
-
Slack bot 만들기
Slack bot 만들기 슬랙 봇을 처음 만들어 보려고 했던 것은 몇개월 전의 일이다. BOJ 문제 풀이 슬랙 스터디 방을 만...
-
for in, for of, forEach의 차이
for in, for of, forEach의 차이 forEach 는 자료형의 prototype이다. 따라서 와 같은 유사 배열...
-
closer / curring
:rotating light: 초보자를 위한 Node.js 200제 정리 내용 closer 클로저 클로저는 내부함수가 참조하는...
-
[Javascript] Generator
Generator 는 여러 개의 값을 필요에 따라 하나씩 반환( )할 수 있는 함수이다. 일반 함수는 하나 또는 0개의 값만을...
-
ES6 문법
ES6 ES5에서 ES6로 넘어오면서 표준안이 생기게 되었고 많은 문법상 변화가 생겼다. 편리한 기능이 많이 추가되었고 최근에...
-
[BOJ] 16234. 인구이동
문제 링크 문제 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 ...
-
[BOJ] 14888. 연산자 끼워넣기
문제 링크 문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N...
-
[Node.js] EventLoop
Node.js 동작 방식 Node.js를 창시한 라이언 달이 노드를 만든 이유로 꼽은 것은, 기존에 많이 사용되고 있는 WAS...
-
Promise
Promise 는 비동기 로직을 구현할 때 유용하게 사용되는 기능이다. ES6부터 도입된 기능으로 JS의 다양한 비동기 함수들...
-
Hoisting
Hoisting Hoisting이란 선언되기 전에 호출한 변수나 함수를 사용하더라도 JS 특성상 사용이 가능한 특징이다. 출력...
-
Git 명령어 정리
Git 명령어 git은 CLI 버젼과 GUI 버젼 두 개의 버젼이 있다. 자신에게 편한 것으로 사용하면 될것 같다. : git...
-
[css] @media을 사용하는 반응형 웹
반응형 웹 페이지 css 속성에서 자주 보던 속성이다. 태블릿이나 휴대폰 등 다양한 크기의 디바이스에서 웹에 접속하는 트렌드에...
-
[BOJ] 14502. 연구소
연구소 문제 링크 문제 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않...
-
[BOJ] 18428. 감시피하기
문제 링크 문제 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장...
-
[BOJ]18352. 특정 거리의 도시 찾기
문제 링크 문제 어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다. 이 때 ...
-
AWS ubuntu18.04 FTP 설치하기
파일관리를 좀 더 편하게 하기위해 FTP를 설정했다. 인스턴스를 만들 때 마다 필요하기 때문에 설정방법을 알아두면 편하다. v...
-
Flask앱 AWS로 배포하기
도커를 사용해 간편하게 배포한다. 서버 세팅을 직접 하는 방법은 [’[FLASK] FLASK와 NGINX 클라우드 서비스 구동...
-
AWS 시작하기
AWS 계정 만들기 AWS 계정을 만드는 것은 간단하다. AWS Console로 이동하여 회원가입하고, 클라우드 서비스는 비용...
-
클라우드 컴퓨팅
클라우드 컴퓨팅이라는 단어는 사실 굉장히 넓은 범위를 포함하고 있다. 2000년대 초 부터 많이 사용되기 시작한 단어로, 구름...
-
인터넷 기초
IP 인터넷에 연결되어있는 장치들을 식별할 수 있는 주소 IP : Internet Porocol 예) 192.168.0.1 도...
-
[BOJ] 3190. 뱀
3190. 뱀 문제 링크 문제 ’Dummy’ 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 ...
-
[css] position 속성
:rotating light:CSS 속성을 정리한 자료입니다. CSS 배치 HTML 엘리먼트의 위치를 설정하는 속성이다. po...
-
[css] flex
:rotating light:CSS Flex완벽 가이드정리 내용입니다. 는 html요소의 수평 배열을 아주아주 간단하게 구현해...
-
CSS 복합 선택자
CSS 복합 선택자 Basic Combinator E 와 F를 동시에 만족하는 요소를 선택한다. 이면서 class인 요소를 선...
-
[Node.js] 에러페이지 핸들링
에러페이지 핸들링 Node.js의 Express 에서 에러 처리를 하려면 어떡헤 해야 할까? 아래의 방식이 내가 주로 사용하던...
-
[Node.js] Global Variable
전역 변수 설정하기 서비스의 전체 페이지에서 접근해야 하는 변수들이 있다. 예를 들면, 사용자가 로그인한 상태를 나타내는 bo...
-
[Node.js] POST 처리하기
body parser http 연결에서 클라이언트는 get과 post 방식으로 서버에 요청을 보낼 수 있다. get 방식은 정...
-
[Node.js] Nunjucks
View Engine Nunjucks Node.js로 응답 페이지를 구성하는 방법은 여러가지가 있다. 그 중 하나는 아래 코드...
-
[Node.js] Routing과 Middleware
Routing Node.js의 는 전역 변수이다. 이 변수를 사용해 Express 프로젝트 또한 모듈화로 깔끔하게 관리할 수 ...
-
[Node.js] Express.js
Express.js Express란? Node.js로 개발을 할 때 가장 많이 사용되는 웹 프레임워크이다. 2020 Node....
-
[프로그래머스] Lock and key
문제 링크 구현 문제이다. 문제에서 요구하는 조건을 잘 파악해 모두 구현하면 풀어낼 수 있다. 문제 고고학자인 튜브는 고대 유...
-
Javascript 30 Day 15
Day 15 Local Storage local storage에 값을 저장해 새로고침을 해도 데이터가 유지되는 페이지를 만든다...
-
Javascript 30 Day 14
Day 14 Javascript References vs Copying value copy & reference copy 어느...
-
Javascript 30 Day 13
13. Slide in on Scroll 스크롤을 내릴 때 마다 본문에 포함된 이미지들에 없어져다가 나타나는 효과를 적용한다....
-
Python web scrapping (Beautiful Soup)
Web Scrappping 이란 웹페이지에서 데이터를 수집하는 모든 과정을 말한다. 크롤링과 혼용되어 사용되는 일이 많은데, ...
-
[Node.js] Module Pattern
Module Pattern 모든 코드를 App.js 에 몰아넣기 보다는 기능에 맞게 모듈화 하여 분리해 관리하는 것이 전체 프...
-
Binary Search
🚨 ’이것이 취업을 위한 코딩테스트다’ 교재 정리 이진탐색 이진탐색은 데이터의 크기가 클 때 효율적인 탐색 알고리즘이다. 한...
-
[HTML] 태그
태그 구성요소 w head 태그에는 웹페이지에 대한 정보를 담는다. 페이지 인코딩 방식이나 css 파일 링크, 페이지의 제목 ...
-
Javascript 30 Day 12
Key Sequence Detection(KONAMI CODE) Konami Code 위키피디아 Konami Code란 몇몇 ...
-
Codeforces 맛보기
Codeforces 첫 도전 몇 개월 간 알고리즘 공부를 꽤 했다고 생각해 말로만 들었던 코드포스 알고리즘 대회에 참가해봤다....
-
Javascript 30 - Day 11
Javascript30 Day11 Custom Video Player <br/ <link href="/images/test.c...
-
[css] Block & Inline block
Block & Inline Block HTML element는 블럭 요소와 인라인블럭 요소로 나뉜다. Block 종류 div ...
-
[css] margin & padding
margin 은 element의 바깥 여백 속성이다. 두 요소가 붙어있을 경우 marign이 상쇄되는 상황이 있는데 잘 정리된...
-
Sorting
🚨 ’이것이 취업을 위한 코딩테스트다’ 교재 정리 정렬 정렬을 위한 알고리즘은 여러가지가 있다. 대부분 언어의 라이브러리에는...
-
Blogger 에서 Hexo로 전환하기
Blogger에 남겨둔 많은 포스트들을 어떻게 할까 생각했는데 아무래도 앞으로는 계속 Hexo에서 포스팅을 하게 될 것 같아 ...
-
Javascript 30 Day 10
Javascript30 Day10<br Hold Shif and Check Checkboxes 프로그램 기능 구현해야 하는 기...
-
Windows에서 WSL 사용하기
:rotating light: \ nomadecoders의 윈도우 세팅 강좌 정리 내용 WSL : Windows Subsyst...
-
Javascript 30 - Day 9
Javascript30 Day9 Dev Tools Domination Javascript로 수행하는 동작을 확인하기 위해서는 ...
-
[이코테] Greedy - 무지의 먹방 라이브
🚨 ’이것이 취업을 위한 코딩테스트다’ 교재 정리 프로그래머스 문제 링크 문제 평소 식욕이 왕성한 무지는 자신의 재능을 뽐내...
-
[이코테] Greedy - 만들 수 없는 금액
🚨 ’이것이 취업을 위한 코딩테스트다’ 교재 정리 문제 N개의 동전이 주어질 때 만들 수 없는 양의 정수 금액 중 최솟값을 ...
-
Javascript 30 - Day 8
Javascript30 Day8 Fun with HTML5 Canvas W3C 튜토리얼 HTML element는 웹 페이지에서...
-
Javascript 30 - Day 7
Javascript30 Day7 Array Cardio Day 2 Array 자료형의 유용한 메서드를 공부한다. test da...
-
[Node.js] API 구현하기
API API : Application Programming Interface 프로그램은 여러가지 모듈을 이용해 만들어진다. ...
-
[BOJ] 11724. 연결 요소의 개수
문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오...
-
[Node.js] 패키지 매니저와 PM2
패키지 매니저와 PM2 Node.js를 사용하다보면 다양한 모듈을 설치해 외부 기능을 사용해야 할 때가 많다. 다양한 패키지 ...
-
[Node.js] 동기 & 비동기
Synchronous & Asynchronous 동기 vs 비동기 ’동기’와 ’비동기’는 그 이름 그대로 동작한다. 동기적 작...
-
[Node.js] Node.js의 CRUD
fs module File System 파일을 읽고 쓰는데 필요한 많은 메서드가 포함되어있는 모듈이다. CRUD 프로그래밍에서...
-
Javascript 30 - Day 6
Javascript30 Day6 Type Ahead fetch를 사용한 서버와의 비동기적 통신을 이용해 필요하 데이터를 불러와...
-
Javascript 30 - Day 5
Javascript30 Day5 Flex Panel Gallery Flex box를 다루는 방법을 공부한다. Flex flex...
-
[Node.js] Node.js의 기본 기능
노드는 주로 서버 쪽 기능을 담당하는 자바스크립트 기반의 프로그래밍 언어이다. 이벤트 기반으로 동작하는 언어이므로 이벤트를 어...
-
Javascript 30 - Day 4
Javascript30 Day4 Array Cardio Day 1 Array 자료형에 내장된 여러 유용한 함수들을 사용하면, ...
-
Javascript 30 - Day 3
Javascript30 Day3 CSS Variables css 속성을 웹 페이지에서 실시간으로 수정하는 기능을 자바스크립트로...
-
Javascript 30 - Day 1
Javascript 30? Javascript30 위 링크에서 누구나 무료로 들을 수 있는 30여개의 자바스크립트 강의 동영상...
-
Github 블로그 Hexo로 만들기
Git Page로 블로그를 만들었다 이미 써오던 블로그에 글이 점점 많아져서 더욱더 열심히 쓰고 있었는데 아무리 봐도 <str...
-
[BOJ] 7569. 토마토
문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하...
-
Flask + Nginx로 클라우드에 서비스 배포하기
ubuntu 18.04 환경에서 Flask앱 Nginx로 서비스하기 먼저 NHN TOAST 서버에서 인스턴스를 생성하고 플로팅...