전체 글

IT 엔지니어링에 대해 알고 싶은 분 모두 환영합니다.
JavaScript

async를 이용해 콜백 헬 벗어나보기

Node.js를 이용해 코딩을 하다보니 Javascript에서 쓰이는 콜백 패턴을 자주 사용하게 되는데, 함수를 사용하다보면 함수들을 실행하고자 할 때 코드가 복잡해지고 가독성이 떨어져 불편한 점이 이만저만이 아니였다. 그래서 이러한 단점을 보완하기 위해 Javascript에서 제공되는 프레임워크인 async를 사용해보고자 한다. https://github.com/caolan/async async는 자바스크립트의 고질적인 문제인 콜백 헬을 개선하기 위해서 개발되었다고 한다. 공식 Documentation을 읽어보면 async가 제공하는 다양한 기능들을 볼 수 있다. https://caolan.github.io/async/v3/ Home - Documentation For Async v1.5.x docum..

JavaScript

Node.js를 이용해 채팅 웹 어플리케이션 따라 만들어보기

아직 실력이 충분치 않은 개발자 지망생으로써 간단한 프로젝트라도 따라 만들 것이 있으면 좋겠다고 생각하여 찾다보니 https://codeflow.study/courses/96 채팅 서버와 웹 어플리케이션 데모 - Codeflow 2019년 02월 07일 업데이트 codeflow.study 이런 좋은 커리큘럼을 찾게 되어서 따라 만들어보게 되었다. 본 커리큘럼을 통해서 GUI 구조를 이해하고 JavaScript와 React.js, Node.js로 채팅 서버와 프론트 어플리케이션을 만들어 본다. 지금은 보이는 코드를 따라 치는 수준이지만 앞으로 이 코드와 구조를 하나하나 뜯어보면서 완벽히 이해하는 것이 목표이다. 우선 전체적인 구조는 채팅방에 사용할 유저 프로필을 만들 수 있는 페이지, 기존의 채팅방을 불러..

JavaScript

Gulp로 JavaScript 반복 작업 자동화 빌드 도구 사용해보기

gulp is a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something. -Gulp 공식 홈페이지 중 JavaScript 상에서 이루어지는 반복 작업들을 자동적으로 수행해주는 빌드 도구를 사용해보자. 현재 가장 널리 쓰이고 있는 빌드 도구는 Grunt와 Gulp가 있다. 본 글에서는 Gulp를 사용해 자동화 빌드 도구가 주는 이점을 확인해보자. Gulp 설치하기 우선 본 글은 Node를 설치했다고 가정하고 쓴 글이다. 노드를 설치하지 않았다면 https://nodejs.org/en/ 에서 Noide를 다운받도록 하자 ..

AWS

AWS Certified Solutions Architect-Associate(AWS SAA) 자격증 취득기 -2

2020/02/04 - [AWS] - AWS Certified Solutions Architect-Associate(AWS SAA) 자격증 취득기 -1 y.com/ko/ 불러오는 중입니다... 이전 글에 이어서 SAA 자격증 취득기를 올린다. 3. 문제 풀고 또 풀기 개념을 익히는 것도 중요하지만, 시험에 나오는 유형에 익숙해질때까지 문제를 풀어봐야 한다. 현재 많은 사이트들이 SAA 취득 준비를 위한 문제를 제공하고 있다. 덤프라고 하는 이 문제들을 풀면서 자격증 취득에 많이 가까워졌다. 내가 도움받은 사이트 몇개만 소개해본다. 1. https://www.examtopics.com/ Free Exam Prep By IT Professionals | ExamTopics ExamTopics The only..

AWS

AWS Certified Solutions Architect-Associate(AWS SAA) 자격증 취득기 -1

한 달 반에서 두달 사이 쯤 공부한 끝에 고대하던 AWS-SAA 자격증을2020년 1월 30일 취득하게 되었다. 본 글은 내가 SAA를 취득하기까지 겪었던 불편(?)함과 막막함을 이 글을 보는 이들이 덜 겪었으면 하는 마음에서 적는 글이다. 아래에 소개되어 있는 방법은 본인이 직접 찾아보고 여러 지식인들에게 전수받은 공부 방법이다. 비전공자인 본인이 취득했을 정도면 이 글을 보는 전공자 및 비전공자 분들도 어렵지 않게 취득할 수 있을 것이라고 생각한다. AWS Certification FAQ 1. SAA를 취득하기까지 걸린 시간은? 기간상으로 보면 두 달쯤 걸렸지만, 순 공부시간이 하루 3시간이고 이마저도 일주일에 5일만 공부했기 때문에 맘잡고 하면 한 달 만에 취득하는 것도 가능하다고 생각한다. 2주만..

Network

용어를 확실히- Sharding 이란?

데이터베이스의 샤딩이란 같은 테이블 스키마를 가진 데이터들을 다수의 데이터베이스에 나누어서 저장하는 것을 의미한다. 샤딩은 프로그래밍 상의 어려움과 복잡도가 증가해 가급적 피해야 하지만, 하나의 DB가 많은 데이터를 처리하기 어려우므로 분산 저장해야할 필요가 생긴다. 해쉬 샤딩, 다이나믹 샤딩 등, 어떻게 분산해서 저장할 것인지에 따라 방법이 다양하다. 한 DB로 몰리지 않게 데이터를 저장하는 것이 중요.

Network

용어를 확실히- RTO,RPO

가용성에 대해 말할 때 빠지지 않는 것이 Recovery 정책이다. RTO는 Recovery Time Objective의 준말로, 시스템이 고장났을때 이를 복구하기 위해 걸리는 시간을 의미한다. 이를 표현하는 수치로는 시간,일 등의 시간단위가 사용된다. RPO는 Recovery Point Objective의 준말로, 시스템이 고장나서 손실된 데이터의 양을 의미한다. 이를 표현하는 수치로 데이터의 크기 단위를 사용하지만 시간,일 등의 시간단위도 사용된다.

Network

용어를 확실히 - 가용성(Availability)

High availability VS Fault Tolerance HA(High availability)는 고가용성으로 소프트웨어에 기반한 서버 부하 감소 아키텍쳐이다. FT(Fault tolerance)는 downtime이 zero(0)임을 보장하는 아키텍쳐로, 두 개의 동일한 시스템으로 구성된다. 두 아키텍쳐는 서로 장단점이 있다. HA는 소프트웨어적인 문제로 일어나는 downtime에 효율적인 비용으로 대처할 수 있지만 downtime에 민감한 시스템에는 사용이 어렵다. FT는 정의 그대로 downtime을 허용하지 않지만, 두 개의 시스템을 구축하는 비용이 막대하다는 단점이 있다.

잡담

Werner Vogels : "Everything fails, all the time"

아마존의 CTO인 베르너 보겔은 "모든 것은 항상 실패한다"고 했다. 이 말을 염두해두자.

Network

용어를 확실히 - multi-tier 아키텍쳐

멀티티어(multitier) 아키텍처는 n-tier 아키텍처 혹은 멀티레이어드(multilayered)아키텍처라고 부르기도 한다. 애플리케이션을 여러 개의 계층으로 나눠서 개발을 하고 이들을 연결해서 하나의 통합된 서비스를 만드는 아키텍처다. 일반적으로 프리젠테이션, 애플리케이션, 데이터베이스 3개의 계층(tier)을 가진다. 이러한 아키텍처를 3 티어 아키텍처라고 부르며, 가장 널리 사용되는 아키텍처다. 각 계층은 서버/클라이언트아키텍처를 따른다. 결과적으로 서버/클라이언트 모델이 몇 개의 계층을 구성하는 아키텍처다. 멀티티어 아키텍처를 사용하는 이유는 유연하고 재활용 가능한 응용 프로그램 개발환경을 제공하기 때문이다. 응용 프로그램을 몇 개의 계층으로 분리함으로써, 개발자는 전체 응용 프로그램을 개발..

Seungwoo Lee
Seungwoo Lee와 About IT 엔지니어링