OTW for FE

프론트엔드 아키텍쳐에 대한 생각

2024. 2. 20.

AWS LLRT 런타임 출시

GitHub - awslabs/llrt: LLRT (Low Latency Runtime) is an experimental, lightweight JavaScript runtime designed to address the growing demand for fast and efficient Serverless applications.
LLRT (Low Latency Runtime) is an experimental, lightweight JavaScript runtime designed to address the growing demand for fast and efficient Serverless applications. - awslabs/llrt

심윤섭: AWS Lambda가 많은 곳에서 인기를 끌고 있지만 속도와 cold start는 항상 단점으로 따라옵니다(Cloudflare Workers는 V8을 기반으로 한 자체 엔진을 구성함) 이를 위해서 Lambda도 새로운 런타임을 출시하였습니다. 이제 serverless 플랫폼에서 AWS Lambda쪽에 장점이 하나 추가될 수도 있겠다라는 생각이 드네요.

리액트에서 아키텍쳐

Clean Architecture in React | Alex Kondov - Software Engineer
The more information we have up front when we’re building a software product, the better it will come out. But I’ve only heard legends about the days when…

심윤섭: 리액트 어플리케이션에서 실제 요구사항을 기반으로 데이터를 어떻게 받아오는 코드, 조건부 렌더링 코드를 효과적으로 보여주는 방식을 자신의 논리를 바탕으로 구현하는 글입니다. 이 글에서도, 다른 글에서도 말하지만 수많은 아키텍쳐 이론이 있지만 프론트엔드에 걸맞고 자신의 상황에 걸맞는 구조를 만들어야 합니다. 글에서는 React-Query로 데이터 Fetching을 구사하지만 다른 Hook을 가진 라이브러리나 Relay(GraphQL 구현체)를 사용할 수 있고 에러 핸들링이나 조건부 렌더링 또한 사용하는 것이 모두 다르기 때문에 자신의 프로젝트에 맞는 구조를 선택해야 합니다. 개인적으로 기능 분할 설계(한국어 번역)도 코드를 폴더로 분할할 때 일정한 규칙이 없는 상황에서 일부 수용할 수도 있으니 이 글도 참고했으면 좋겠습니다!

김대관: 프로덕트를 개발할 때 가장 많이 하는 고민이 코드를 어떤 기준으로 분할하는가?를 많이 고민합니다. 글에서 말하는 내용 중 백엔드(서버)에서 내려주는 데이터를 통해 보여주는 화면에서 에러핸들링과 조건부 렌더링을 처리하는 것에 따라서 구조를 커스텀하는게 중요하다는 내용에 많은 공감이 됩니다.

Protobuf로 개발 공수 줄이기

[SaaS] 프론트엔드 개발자가 API를 설계하는 이유
IDL을 이용한 효율적인 인터페이스 관리 전략

심윤섭: API 문서를 관리하기 보다는 인터페이스 타입(여기서는 Protobuf)을 설계한 이후 이 타입을 프론트엔드와 백엔드에 적용해 type-safety와 문서화를 동시에 챙기는 이점을 소개한 글입니다. 문서화 유지와 프론트엔드-백엔드 동시 개발의 어려움을 해결하는 문제 중 하나로 알고 계시면 좋겠습니다! 이외에도 MSW로 모킹을 하는 방법(블로그), 같은 언어를 사용하는 방법(trpc, PHP, …)도 있으니 여러 방법 중 적합한 하나를 찾는 것이 중요하겠네요.

Git 명령어 팁

Git Tips and Tricks
Some things that people don’t tend to know about Git anymore, and some new things you might not have noticed.

GitBulter 팀의 여러가지 알면 좋을만한 명령어와 기능을 알려줍니다. 물론 Git GUI Client들이 훌륭한 역할을 해주지만 이런 기능도 있다를 알아두시면 좋습니다.

Express팀 일한다.

https://github.com/expressjs/discussions/issues/160

5.0 계획을 2020년도에 냈는데 진행이 안 되고 있었는데 다시 시작한다는 이슈가 생성되었습니다. 아직 갈 길은 멀어보이네요.