$ ls -lt posts/ | sed -n 161,180p
SY Tech Blog_
-
AWS Node.js SDK로 S3 사용해보기 & multer-S3
설치 자격증명 global credential file을 통해 자격증명을 할 수도 있고 다양한 방법이 있다. 나는 간단하게 파일을 생성하여 사용했다. (IAM 사용자 생성 후 sdk 사용을 위한 키 밸류 값들은 받아놓은 상태) 파일은 다음과 같이 불러올 수 있다. S3 생성 및 리스팅 S3 접근 권한이 있는 계정이라면…
[cloud] -
Github page AWS Route53 custom domain으로 서비스하기
Route53은 AWS의 클라우드 DNS 웹 서비스 이다. DNS 서비스를 제공하는 다른 서비스들도 많지만 Route53을 사용할 경우 EC2 또는 CloudFront 등 AWS에서 실행되는 인프라에 효과적으로 연결된다. 이번에는 Route53에서 도메인을 사서 github page로 연결시켜보았다. 다른 더 저렴한 같…
[cloud] -
S3 & CloudFront 연동
AWS CloudFront 공식문서 CloudFront html, css, js 및 이미지 파일과 같은 정적 & 동적 웹 컨텐츠를 사용자에게 더 빨리 배포하도록 지원하는 AWS의 웹 서비스이다. 전세계의 엣지 로케이션을 통해 뛰어난 전송 능력을 가지고있다. 파일의 사본이 여러 위치에 보관되므로 안정성과 가용성도 향상된다…
[cloud] -
S3
Amazon S imple S torage S ervice 인터넷 스토리지 서비스를 위한 AWS 서비스 구성요소 bucket : container와 같은 개념. 파일이 저장될 프로젝트를 말한다. Data Object : 저장되는 파일. 객체 형식으로 저장된다. 실제 ’파일’과 파일을 설명하는 ’메타데이터’로 구성된다.…
[cloud] -
window.resize throttle 설정
window.resize throttle 설정 이벤트에 리스너를 걸게되면 사이즈가 바뀌는 매순간 이벤트가 발생하기 때문에 성능 저하가 발생할 수 있다. 이것을 막기 위해 취하는 해결방법에 와 이 있다. 이전에 정리 포스팅을 올린 것 같은데 아무리 찾아도 없다..ㅠㅠ? 이벤트에 걸린 핸들러를 이벤트가 종료된 시점에 한 번…
[frontend] -
[Node.js] operation not permitted 오류
Operation not permitted 실행 중 위와 같은 오류가 발생했다. 이 작업을 하기 전 다른 프로젝트의 security issue들을 해결하기 위해 몇가지 스크립트를 실행하다가 오류가 났었는데 그 작업중에 npm에 문제가 생긴것 같다. 여기서 해결법을 찾아냈다. 1. cache clean 2. 최신 버젼 n…
[backend] -
Javascript 30 Day 17
Day 17 Sort Without Articles Articles : 관사, 즉 관사 없이 영어 문자열을 배열하는 방법이다. 완성본 기존 데이터 sorting 이후 소스 코드 sort를 하기 위해서 를 사용한다. 는 두개의 인자를 받는다. , 를 받는다고 했을 때 가 더 크면 을 반환하고 그렇지 않은 경우 을 반환한다…
[frontend] -
Javascript 30 Day 16
Day 16 Mouse Move Shadow 마우스 이동에 따라 텍스트에 그림자 효과 주기 완성본 <style .hero { display: flex; justify content: center; align items: center; color: black; min height: 40vh; } </style <div c…
[frontend] -
[프로그래머스] 실패율
문제 링크 문제 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로…
[algorithms] -
Slack bot 만들기
Slack bot 만들기 슬랙 봇을 처음 만들어 보려고 했던 것은 몇개월 전의 일이다. BOJ 문제 풀이 슬랙 스터디 방을 만들었고, 매일 도장판 같은 이미지에 푼 문제들을 표시해서 스터디 방에 올려야 했다. 날짜가 바뀔 때 마다 누구 한 명이 새로운 날짜로 thread를 올리면 거기에 reply 하는 형식으로 도장판을…
[history] -
for in, for of, forEach의 차이
for in, for of, forEach의 차이 forEach 는 자료형의 prototype이다. 따라서 와 같은 유사 배열 자료형에 를 사용하기 위해서는 배열로 바꾸는 작업이 필요하다. 인자로 callback을 받는다. Array의 각 element를 callback 함수의 인자로 하나씩 넘겨준다. for ... i…
[frontend] -
closer / curring
:rotating light: 초보자를 위한 Node.js 200제 정리 내용 closer 클로저 클로저는 내부함수가 참조하는 외부함수의 지역변수 가, 외부함수가 리턴된 이후에도 유효성이 유지될 때 , 이 내부함수를 부르는 단어이다. 와 함수는 각자 지역변수를 가지고 있고 ( , ) 또다른 함수를 return 하고 있다…
[frontend] -
[Javascript] Generator
Generator 는 여러 개의 값을 필요에 따라 하나씩 반환( )할 수 있는 함수이다. 일반 함수는 하나 또는 0개의 값만을 반환할 수 있다는 것이 둘의 차이점이다. 실행되는 순서에 따라 동적으로 값을 반환한다는 것이 핵심이다. 사용법 제너레이터 함수 생성하기 제너레이터 함수는 키워드를 사용해 생성한다. 일반적인 함수…
[frontend] -
ES6 문법
ES6 ES5에서 ES6로 넘어오면서 표준안이 생기게 되었고 많은 문법상 변화가 생겼다. 편리한 기능이 많이 추가되었고 최근에 나오는 많은 JS 문서의 코드들이 ES6 문법으로 쓰여진 경우를 많이 봤다. 기업에서도 ES6사용을 선호하고 있기 때문에 달라진 문법들을 잘 알아두는 것이 좋겠다. W3C ES6? 오래된 브라우…
[frontend] -
[BOJ] 16234. 인구이동
문제 링크 문제 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는…
[algorithms] -
[BOJ] 14888. 연산자 끼워넣기
문제 링크 문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N 1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈( ), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주…
[algorithms] -
[Node.js] EventLoop
Node.js 동작 방식 Node.js를 창시한 라이언 달이 노드를 만든 이유로 꼽은 것은, 기존에 많이 사용되고 있는 WAS라고 불리는 Apache, Tomcat 같은 서버들은 오래걸리는 blocking 작업에서 원활한 사용에 문제가 생겨 동시성 프로그래밍을 위해 Node.js를 만들었다고 한다. Node를 사용하는…
[backend] -
Promise
Promise 는 비동기 로직을 구현할 때 유용하게 사용되는 기능이다. ES6부터 도입된 기능으로 JS의 다양한 비동기 함수들을 쉽게 컨트롤 할 수 있게 되었는데, Node.js 등에서 Promise를 사용하지 않으면 callback 지옥에 빠지게 된다. 구식 구현 방식.. 가독성이 정말 많이 떨어진다 ES6의 Prom…
[frontend] -
Hoisting
Hoisting Hoisting이란 선언되기 전에 호출한 변수나 함수를 사용하더라도 JS 특성상 사용이 가능한 특징이다. 출력 선언되기도 전에 사용한 변수가 정상적으로 불러와짐으로 인해서 개발자에게 혼란을 가져왔는데, 주로 키워드를 사용할 때 이러한 문제들이 발생했다. 이런 문제점들은 을 사용하면 해결할 수 있다. 키워…
[frontend] -
Git 명령어 정리
Git 명령어 git은 CLI 버젼과 GUI 버젼 두 개의 버젼이 있다. 자신에게 편한 것으로 사용하면 될것 같다. : git으로 버젼관리를 시작하는 명령어다. 명령어를 입력하면 프로젝트 폴더 내부에 이라는 숨은 폴더가 생성된다. : 버젼 관리에 추가될 파일들을 선택할 수 있다. 을 작성해도 되고 폴더 내부의 모든 파일…
[misc]