본문 바로가기

전체보기

(47)
프레임워크와 라이브러리의 차이 "프레임워크와 라이브러리의 차이점이 뭔가요?" 얼마 전에 받은 질문인데 명확하게 대답하지 못했다. 내가 아는 프레임워크의 대표적인 종류는 'Spring framework', 'Angular framework'이다. 반면 라이브러리는 'React library', 'jQuery' 대표적이다. 과연 프레임워크와 라이브러리는 어떻게 다른지, 어떨 때 써야 하는지 알아보자. 호출을 누가 하는가? "Who calls Whom" 누가 누구를 호출하는지? 가 프레임워크와 라이브러리의 차이점의 핵심이다. 코드를 작성하는 '우리'가 '라이브러리' 코드를 호출하고, '프레임워크' 코드가 '우리'가 작성한 코드를 호출한다. 조금 더 자세히 알아보자. 라이브러리 라이브러리는 특정 기능을 위해 동작하는 유용한 함수/객체/모듈들..
JavaScript의 Eventing이란? Eventing 전파를 막는 세 가지 기법 최근 동아리에서 FE 스터디를 진행하고 있다. web.dev 사이트에서 글을 하나 골라서 읽고 자료조사 후 설명하기가 스터디의 목적이다. 나의 발표 차례가 되었고, 어떤 내용을 공부해볼까? 하다가 흥미로운 글을 하나 발견했다. JavaScript의 eventing에 대한 글이었다.Eventing Style capturing, bubbling에 대해 알아보고 이벤트 전파를 막는 세 가지 기법 stopPropagation, stopImmediatePropagation, preventDefault에 대해 자세히 적혀있다. 이 글은 해당 내용을 다룬다. 아래 부분은 web.dev에 기재된 JavaScript eventing deep dive를 번역한 내용이다. (모든 내용을 번역하진 않았고, 핵심 내용만 진행했..
[ESLint] imports/exports 구문의 순서 자동 정렬하기 이 글은 ESLint를 통해 typescript(혹은 javascript)의 imports/exports 구문을 정렬하는 방법에 대해 공부하며 작성한 글이다. ESLint에 관심이 있거나, imports를 자동으로 정렬하는 방법을 찾고 고민하고 계신 분들이 읽으면 좋을 글이다. 사건의 발단 여러 명이서 작업하고 있는 Angular 프로젝트가 있었다. 요즘에는 개발을 시작할 때, 초기 세팅(tsconfig, eslint, babel, webpack 등등)을 다 한 상태에서 작업을 하지만(심지어 boilerplate도 너무 잘 나와있다.) 사건의 발단이 된 프로젝트는 그렇지 않았다. Linter 설정이 되어있지 않아서 사람마다 코드 스타일도 달랐고, 무엇보다 코드 리뷰할 때 PR 작업과 전혀 관련없는 오로지..
AWS Solutions Architect Associate(SAA) C02 자격증 취득 후기 2월 6일! 드디어 Solutions Architect Associate(이하 SAA) 자격증을 취득했다. 까먹기 전에 후기를 올리고자 이렇게 글을 쓰게 되었다. 시험을 준비하게된 과정 AUSG 1기로 2017년에 활동을 시작하여 어느덧 4년 차가 되었다. 작년 하반기에 자격증 취득 스터디가 생겨서 같이 스터디 계획 공유하면서 취득하게 되었다. 원래는 자격증을 취득할 생각이 전혀 없었는데 AWS re:Invent 2019를 다녀와서 조금 마음이 바뀌었다. 정말 좋은 기회로 Community Leader Diversity Grant로 선정되어 다녀왔었는데 리인벤트에 AWS 자격증 소지자만 따로 출입할 수 있는 라운지가 있다는 걸 알게 되었다.(사실 미국가기전부터 알았으나 의욕만 앞서고 이래저래 하다가 시험..
AWS SAA 준비하면서 공부한 내용들 Snowmobile - 초대용량 데이터를 AWS로 이전하는 데 사용하는 엑사바이트 규모의 데이터 전송 서비스 - 최대 100PB Snowball - 데이터 마이그레이션 및 엣지 컴퓨팅 디바이스 - S3와 호환되는 객체 스토리지 제공 - Snowball Edge Storage Optimized: TB~PB사이즈의 데이터를 AWS로 빠르고 안전하게 전송해야할 때 사용 - Snowball Edge -> S3 -> Glacier(수명주기 정책) 패턴으로 많이 사용 S3 스토리지 클래스 아래와 같이 스토리지 클래스를 전환할 수 있다(폭포수 모델) Standard IA: 수명이 길지만 자주 엑세스하지 않는 데이터, 즉시 접근 가능해야할 때 Intelligent Tiering: 데이터 엑세스 패턴이 변경될 때 스토리..
[AWS] VPC 기본 개념 정리 VPC(Virtual Private Cloud) VPC를 통해 사용자가 직접 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있다. VPC를 이해하는데 필요한 핵심 개념은 다음과 같다. VPC Subnet Routing Table Internet Gateway NAT Gateway Security Group, Network ACL AWS VPC & Subnets | Amazon Web Services BASICS 위 영상을 보면서 공부를 해보았다. 하나의 Region에는 여러 개의 Availability Zone이 있다. 각 AZ에는 EC2, RDS 등 내가 원하는 AWS 리소스들을 배치할 수 있다. 하나의 AZ가 장애가 발생하게 될 경우, 다른 AZ를 사용할 수도 있다. VPC를 생성할 때 어떤 Re..
[AWS] SNS vs SQS 차이점 SNS, SQS 이름도 비슷하고 얼핏 보면 하는 일도 비슷한 것 같아 보이는 서비스들이다. 그래서 막 검색을 하던 중, SNS와 SQS에 대해 잘 설명해둔 영상이 있어서 보면서 정리를 해보았다. https://www.youtube.com/watch?v=mXk0MNjlO7A SNS SQS Simple Notification Service Simple Queue Service Publisher(게시자)가 Subscriber(구독자)에게 메세지를 전송하는 관리형 서비스 마이크로서비스, 분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있도록 지원하는 완전관리형 메세지 대기열 서비스 Publisher는 Topic(주제)에 메세지를 발행한다. Topic은 수많은 Subscribers(구독자들)에게 ..
위상 정렬이란? - python 파이썬 오늘은 위상 정렬(Topological Sort)에 대해서 공부했다. 위상 정렬이란? '순서가 정해져 있는 작업'을 차례로 수행해야 할 때, 순서를 결정할 때 사용하는 알고리즘이다. 방향 그래프에 존재하는 각 정점들의 선행 순서를 위배하지 않으며 모든 정점을 나열하면 된다. 하나의 방향 그래프에는 여러 개의 위상 정렬이 가능하다. 그럼 그래프를 통해서 이해해보자 위와 같은 그래프가 주어졌다고 가정해보자. 이 그래프가 의미하는 것은 다음과 같다. 1번의 선행 노드: 없음 2번의 선행 노드: 없음 3번의 선행 노드: 1번 4번의 선행 노드: 1번 5번의 선행 노드: 2번 6번의 선행 노드: 3번, 4번, 5번 1,2번은 선행 노드가 없다. 이런 정점을 진입 차수가 0인 정점이라 부른다. 진입 차수가 0인 정..