2024/05 5

두 가지 종류의 공백문자

일반 공백 (space)과 &nbsp(non-breaking space)는 서로 다른 문자이다. 이로 인해 디버그깅이 어려운 문제가 발생하기도 하고, 코딩할 때 어떤것을 사용해야할 지 헷갈릴 수도 있다. 그렇다면 왜 이 두개를 나눠 놓았을까? 이제부터 알아보도록 하자 특징일반 공백문자 (space)코드: U+0020키보드의 스페이스바를 눌러 생성되는 공백 문자.여러 개의 일반 공백문자는 HTML에서 하나의 공백으로 압축될 수 있다.nbsp (non-breaking space)코드: U+00A0HTML에서   로 표현된다.줄바꿈을 방지하고, 여러 개의 비깨짐 공백문자는 연속해서 표시된다.  위 내용에서 알 수 있듯이 두 종류의 공백은 코드부터 시작해서 표현되는 모양도 다르다. 또한 두 공백의 출력..

frontend 2024.05.23

Docker이미지를 ECS를 통해 배포해보기(2)

이전 내용은1편을 참고하자https://jjongsk.tistory.com/entry/Docker%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A5%BC-ECS%EB%A5%BC-%ED%86%B5%ED%95%B4-%EB%B0%B0%ED%8F%AC%ED%95%B4%EB%B3%B4%EA%B8%B0 Docker이미지를 ECS를 통해 배포해보기(1)ECS는 쿠버네티스와 같은 컨테이너 이미지 오케스트레이션 도구이다. 이를 사용하여 Docker이미지를 ECS에 배포하는 과정을 실습해보겠다.1. 테스트용 노드 서버 만들기여기서는 fastify를 사용한jjongsk.tistory.com 5. Load balancer 생성이 설정을 통해 밖에서 오는 HTTP 요청을 application 서버로 보내줄 수 있다.E..

devops 2024.05.16

Docker이미지를 ECS를 통해 배포해보기(1)

ECS는 쿠버네티스와 같은 컨테이너 이미지 오케스트레이션 도구이다. 이를 사용하여 Docker이미지를 ECS에 배포하는 과정을 실습해보겠다.1. 테스트용 노드 서버 만들기여기서는 fastify를 사용한 서버를 만들어보겠다. 먼저 아래 문서를 참고하여 노드 서버를 만들어보자https://fastify.dev/docs/latest/Guides/Getting-Started/디렉토리를 만들고 아래 명령어를 실행해준다.>yarn init >yarn add fastifypackage.json에 아래 코드를 추가해준다.{... "scripts": { "start": "node index.js" }, "type": "module"}index.js 파일을 루트에 만든 뒤 아래 코드를 추가한다.import Fa..

devops 2024.05.14

웹 성능 측정에 대한 주관이 많이 들어간 설명(feat.performance api)

프론트엔드에서 측정해야하는 성능 웹을 개발할 때 성능 관련하여 신경써야 하는 부분은 뭐가있을까?아래의 3가지가 가장 중요한 3가지 요소라고 생각하고 있으며 위에서 부터 아래순으로 더욱 중요하다고 봐도 무방할 것 같다.로딩렌더링메모리 로딩FCP(First Contentful Paint): 첫 요소가 로드 될 때까지 걸리는 시간* 로딩바, 텍스트 등FMP(First Meaningful Paint): 의미 있는 첫 요소가 로드 될 때까지 걸리는 시간* 많은 크기를 차지하는 부분 (이미지) , deprecated 되었다고 생각해도 됨LCP(Largest Contentful Paint): 주요 콘텐츠가 로드 될 때까지 걸리는 시간* 뷰포트 내에 있는 가장 큰 이미지, 텍스트의 렌더링 시간 * FMP가 부정확해서 ..

frontend 2024.05.08

EventLoop에 대한 완벽하지는 않지만 자세한 설명

개요 자바스크립트는 단일 스레드로 동작하며, 이는 한 번에 하나의 작업만을 처리할 수 있다는 의미를 갖는다. 그러나 자바스크립트가 이러한 단일 스레드 모델에도 불구하고 여러 이벤트를 동시에 처리할 수 있는 이유는 바로 **이벤트 루프**에 있다. 이벤트 루프는 이름 그대로 끊임없이 루프하여 현재 큐에 태스크가 있는지 확인하며 큐에 태스크가 있을 경우 이벤트 루프의 내부 동작 알고리즘에 따라 태스크를 처리해주는 역할을 하며 이를 통해 I/O와 같은 이벤트들을 차단하지 않고 부드럽게 동작하게 해준다. 물론 정확히 말하면 차단이 되지만 우선순위를 높여 마치 차단되지 않는 것처럼 동작하게 해준다.이벤트 루프의 역할 정리하자면 이벤트 루프의 주요 역할은 다음과 같다:이벤트 처리: 이벤트 루프는 비동기적으로 발생하..

javascript 2024.05.03