1인 개발을 이제 시작하시려는 분들에게 드리고 싶은 조언
수익의 크기와 상관없이, 작더라도 하나의 서비스를 끝까지 완성해서... 내가 만든 서비스를 누군가 실제로 필요로 하고 사용해주는 그 느낌은 정말 특별한 경험이 될 것입니다.
너무 큰 목표를 처음부터 잡게 되면 당연히 시작이 두렵고, 생각만으로도 숨이 막히면서 힘들어지기 때문에 앞으로 나아가는 발걸음 자체가 무거워집니다.
- 사이드 프로젝트도 항상 그러하지 않을까
- 사이드로 내려놓은 사이드 프로젝트
[번역] 리액트에서 INP를 효과적으로 최적화하는 5가지 팁
-
항상 최적화를 한다고 하는데 눈 비비고 다시 보면 문제가 항상 발견 되는 신기한 세상
-
반응성을 최적화한다라는 목표를 가지고 있다
-
화면에 반응해야하는 DOM 자체를 최소화한다
- DOM 자체가 작다면 연산이 필요할때 절대적인 수치가 작아진다
- 그렇다면 한번에 유지되어야하는 DOM을 줄여서 연산을 줄여볼 수 있겠다
-
그 예시로 한번에 화면에 보여지는 것을 최소화 하는 것인데
- 화면 밖에 미리 그려두는 요소를 최대한 지연시키는 방법
- 그리고 불필요한 뷰를 그리지 않는 것으로 뷰 + 뷰 + 뷰 조합 대신 CSS 로 그리는 이미지를 예시로 들었다
// DOM 크기를 낭비하는 아주 전형적인 예시 🙈 <StarRating> <SVGStar /> <SVGStar /> <SVGStar /> <SVGStar /> <SVGStar /> </StarRating>
-
화면 밖의 요소를 지연시키는 방법 외에 지금 노출되어야하는 화면 구성에서도 중요도에 따라 우선 순위를 줄 수 있다
- 화면이 노출된다고 해도 사용자가 모든 컴포넌트를 한번에 다 보지는 못한다
- 그 화면에서 가장 중요하다고 생각되는 부분을 우선하고
- 사용자를 집중시키는 방법
-
화면이 완료되지 않았음에도 useEffect는 호출될 수 있다는 문제가 존재한다
- 사용자는 화면이 그려지기 전에 무언가 요청할 수 있으며
- 이때 호출되는 것들은 화면을 더 지연시킬 수 있다
- 렌더링이 완료된 이후 실행되기를 기대하는 경우 이슈에서 이야기한 useDeferredEffect 로 지연시키는데
-
모든 상황에 어려움이 존재하는데 DOM 자체를 작게 구성하는 것이 최선일까 🤔
[번역] 레고 인터페이스 패널로 알아보는 UX
- 사용자 인터페이스가 얼마나 중요한가
- 서로 다른 기능을 어떻게 쉽게 구분할 수 있을지
- 수많은 기능을 어떻게 구성해야 헷갈리지 않고 이해할 수 있을지
- 자동차 스피드 모드 버튼이 엔진 버튼과 바로 옆에 위치하고 있다면
- 운전 하며 시야를 앞에 그대로 유지한채 스피드 모드로 전환하고자 했을때
- 잘못해서 엔진을 꺼버린다면?
- 이러한 문제들은 좋은 인터페이스를 구현하는 방법으로도 해결할 수 있다
- 항상 시야를 두고 있지 않는 경우 촉각이나 모양, 방향을 다르게 동작하도록 하여 구분한다던지
- 같은 모양이나 동작이더라도 위치를 분리하여 둔다던지
(번역) Electron에 대해 사람들이 잘못 알고 있는 것들
- 데탑앱에 왜 Electron인걸까
- 이미 웹뷰가 있다 그럼에도
왜 크로미움의 일부를 번들링하는 수고를 감수하는 걸까요?
- 이미 웹뷰가 있다 그럼에도
- 네이티브 코드와 결합할 수 있다
Electron의 진정한 강점은 UI를 위한 HTML과 원하는 만큼의 네이티브 코드를 결합할 수 있다는 점입니다.
- 네이티브 UI 컴포넌트만을 사용하여 구현할 수 있지만 네이티브, 웹앱 모두 각각 장점이 있다