라기보다는자기 점검을 위해 스스로 물어본 질문들SPA, MPA 페이지 렌더링 방식의 장단점을 이해하고 적용하고 있는가?API 응답으로 받은 데이터를 잘 보여줄 수 있는가?로딩 상태를 적절히 처리할 수 있는가?에러 상태를 구분하여 설명할 수 있는가?에러 핸들링에 대한 본인의 기준이 있는가?에러를 로깅하고 있는가?에러면 다 로깅하면 되는가?에러 로그에 포함되어야 하는 정보는 어떤 것들이 있고 왜 그렇게 생각하는가?에러 발생 시 빠른 대응을 위한 알림 체계가 세워져있는가?브라우저, 홉, 서버 등 레이어별 캐싱을 적절히 활용하고 있는가?페이지 성능 측정에 사용되는 요소들을 알고 있는가?페이지 성능을 개선해본적이 있는가?이미지 최적화를 해본적이 있는가?SPA의 배포 환경을 구성할 수 있는가?MPA의 배포 환경을 ..
전체 글
키워드별 간단 정리클래스객체 지향 언어인 자바의 기본 문법전공 때부터 지겹게 들어왔던 붕어빵 틀이다.붕어빵 틀로 붕어빵을 만들면 그 붕어빵은 인스턴스라고 불린다.변수의 데이터 타입 종류: 기본형과 참조형int, long, double, boolean 이런 데이터 타입이 기본형(primitive type).String, Array, Class가 참조형. 기본형은 메모리 위치에 그 데이터 값이 그대로 저장되는거고참조형은 변수에 그 데이터가 저장된 위치를 담아서 접근할 수 있게 하는 타입이다. 자바에서 대입은 항상 그 변수의 값을 복사해서 넣도록 동작한다.데이터 타입에 따라 해당 변수에 담긴 값이 기본형인지 참조형인지만 이해하면 동작은 쉽게 추론할 수 있다.2017년 당시나 JS를 배울때는 call by va..
입문타입(명시적, 묵시적 형변환)반복문조건문입출력(System.out, Scanner 클래스), 배열(1차원, 2차원, 선언 및 초기화 방법, Enhanced For Loop)메서드메서드 오버로딩메서드 이름이 같지만 파라미터의 타입(그리고 순서)을 다르게 호출하고 싶을 때 여러 종류로 메서드를 선언할 수 있는 방식오버로딩은 함수 선언, 호출 시 메서드 시그니처(함수이름 & 파라미터 타입(순서)로 식별한다. 음 재밌다 ^^
~인프라 용어는 AWS 기준임~사라지는? 유저IP브라우저에서 백엔드 API를 바로 호출하는 경우엔 HTTP Request Header에 IP가 담긴다.따라서 백엔드 ALB의 XFF 정책에 따라 그 IP를 X-Forwarded-For에 붙여주기 때문에 백엔드는 별도 작업 없이 유저 IP를 읽을 수 있다.(일반적인 SPA 환경의 경우이다) 하지만 Next.js 환경처럼 백엔드 API를 별도의 서버를 거쳐서 요청하는 경우에는 유저 요청을 전달하는 게 아니라 서버가 새로 만드는 요청이라, 백엔드에서 받는 HTTP Request Header Source IP가 유저가 아닌 NAT Gateway IP(Next.js 서버가 Private Subnet에 있는 경우로 가정)로 찍힌다. 그래서 Next.js서버에서 유저 ..
해당 끄적 글은 제가 경험한 서비스들의 일반적인 DNS 관리방식에 대해 다룹니다.나중에 이 글을 읽으며 쉽게 DNS 개념을 떠올리기 위한 스토리텔링입니다.1. 도메인 구매도메인은 가비아(Registrar)를 통해 등록한다.나는 가비아를 통해 kuma.com 을 구매했다.레지스트라(Registrar)는ICANN(국제인터넷주소관리기구)의 공인을 받아 도메인 등록을 대행하는 업체이다.최종 사용자를 대신해 도메인을 판매, 관리하며, 원하는 도메인을 직접 검색하고 구매할 수 있다.2. DNS 서버 등록 이제 .com DNS 서버에 kuma.com 레코드에 대한 라우팅 규칙을 추가해줘야하는데, .com은 미국회사인 Verisign이 관리하고있다(우리가 직접 추가할 수는 없다는 의미)개념: dns 쿼리는 상위 NS..
바로 사용해보기: OpenScreen 회사 내부 용 툴 만들면서 유저에게 사용법을 알려주기 위해 사용 영상을 녹화하기로 했다.그냥 녹화본 생으로 공유하는 것 보다는 편집해서 보기 좋게 만들고싶었다. 화면 녹화할 때 마우스를 따라 화면이 부드럽게 확대되는 효과를 적용하고싶었다.보통 앱 데모 영상에서 자주 보이는 그 기능이다. 이 분야 젤 유명한 앱이 Screen Studio인데, 요금제가 한달에 $29로 매우 비싸다.찾아보니 대안으로 누군가 OpenScreen 이라는걸 만들어서 오픈소스로 공개해두었다. 마우스 움직임에 맞춰 자동으로 줌 인/아웃하는 추천기능이 동작하고 수동으로 조정할 수도 있다.데모나 튜토리얼 영상을 만들 일이 있다면 한 번 써볼 만하다. 깃헙을 살펴보니 maintainer가 꽤 정성스럽게..
AWS CDK로 실무에서 흔히 쓰는 ALB + Auto Scaling Group 구조를 띄웠다. 헷갈렸던 개념들을 정리한다.만든 아키텍처인터넷 ↓IGW (Internet Gateway) ↓ALB (Public Subnet, AZ 2개) ↓EC2 (Private Subnet, ASG가 관리)VPC, Public/Private 서브넷, NAT Gateway는 별도 NetworkStack에서 만든다ALB는 Public 서브넷에 둬서 인터넷에서 접근 가능EC2는 Private 서브넷에 두고 ALB로만 트래픽 받음 (보안)ASG가 인스턴스 생성/삭제 + 자동 확장 담당CDK 코드 핵심const alb = new elbv2.ApplicationLoadBalancer(this, "Alb", { vpc, in..
CloudFormation으로 VPC, Subnet, IGW, NAT GW, Security Group, EC2를 만들어봤다. 이번에는 같은 인프라를 AWS CDK(TypeScript)로 다시 만든다. CDK가 TypeScript를 CloudFormation 템플릿으로 자동 변환해준다.CDK vs CloudFormation CloudFormationCDK언어YAML / JSONTypeScript, Python, Java 등VPC 생성17개 리소스, 80줄 YAMLnew ec2.Vpc() 10줄스택 간 참조Export + Fn::ImportValueTypeScript Props배포 순서직접 순서 지켜서 실행--all로 자동타입 검사없음 (배포 시점에 오류)TypeScript 컴파일 시점에 오류최종 결과물직..