본문 바로가기

전체 글

(215)
소프트 스킬 | 1 ~ 10장 정리 책 중요 문장 정리. 백종원씨가 예전에 TV에서 음식 장사가 성공하려며 "맛이 30 퍼센트,나머지가 70퍼센트"라는 말을 한 적이 있다. 맛은 있는데 손님이 많지 않은 식당이나 손님은 많은데 그리 맛이 뛰어나지 않은 식당을 경험한 적이 있을 것이다. 개발자 세계에서도 비슷한 원칙이 적용된다. 많은 개발자가 처음 사회생활을 시작할 때 개발자 세계에서는 실력만 갖추면 될 거라고 착각한다. 많은 시행착오를 겪은 저자는 지금에 이르러서는 실력의 비중이 생각보다 크지 않다는 사실을 깨달았다고 한다. 여전히 가장 중요한 요소라고 생각하지만, 실력만 좇다보면 더 큰 부분을 놓칠수 있다는 것이다. 이 책의 저자는 그 큰 부분을 가르켜 "소프트 스킬"이라고 했다. 소프트 스킬은 핵심 업무 능력을 의미하는 "하드 스킬"과..
Build your own React Rodrigo Pombo An overengineer building tools for better code reading comprehension pomb.us 우리는 React를 처음부터 다시 작성할 것입니다. 실제 React 코드의 아키텍처를 따르지만 모든 최적화 및 비필수 기능은 제외합니다. 처음부터 시작하여 다음은 React 버전에 하나씩 추가할 모든 것입니다. - Step 1: createElement 함수 - Step 2: render 함수 - Step 3: Concurrent Mode - Step 4: Fibers - Step 5: Render and Commit Phases - Step6: Reconciliation - Step7: Function Components - Step8: Ho..
쉽게 배우는 운영체제 | 교착 상태 시스템 내에 임계 구역이 존재하면 프로세스간 상호 배제를 보장해야한다. 운영체제가 상호 배제를 보장하기 위해 잠금을 사용하다 보면 더 이상 진행되지 않는 교착 상태에 빠지는 경우가 있다. 이 장에서는 교착 상태가 무엇인지 그리고 이를 해결하는 방법에는 어떤 것이 있는지 살펴본다. 교착 상태의 개요 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태를 교착 상태(dead lock)이라고 한다. 이는 교통 체증이 심하여 서로 비켜주기를 기다리며 꼼짝 못하는 상태에 비유할 수 있다. 컴퓨터 시스템에서 교착 상태는 시스템 자원, 공유 변수(또는 파일), 응용 프로그램 등을 사용할 때 발생할 수 있다. 교착 상태는 다른 프로세스와 공유할 수 없는 자원을 사용할 때..
Automatic batching for fewer renders in React 18 https://github.com/reactwg/react-18/discussions/21 React 18은 기본적으로 더 많은 일괄 처리를 수행하여 버전을 18로 올리는 것만으로 성능이 향상됩니다. 애플리케이션 및 라이브러리 코드에서 업데이트를 수동으로 일괄 처리할 필요가 없습니다. 이 게시물에서는 일괄 처리가 무엇인지, 이전에는 어떻게 작동했는지, 변경된 사항은 무엇인지 설명합니다. 이것은 대부분의 사용자가 생각할 필요가 없는 심층 기능입니다. 그러나 교육자 및 라이브러리 개발자와 관련이 있을 수 있습니다. What is batching? 일괄 처리는 React가 성능 향상을 위해 여러 상태 업데이트를 단일 리렌더링으로 그룹화하는 것입니다. Batching is when React groups mul..
쉽게 배우는 운영체제 | 공유 자원과 임계구역 공유 자원의 접근 공유 자원(shared resource)은 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등을 말한다. 공유 자원은 공동으로 이용되기 때문에 누가 언제 데이터를 읽거나 쓰느냐에 따라 그 결과가 달라질 수 있다. 따라서 프로세스들의 공유자원 접근 순서를 정하여 예상치 못한 문제가 발생하지 않도록 해야한다. 2개 이상의 프로세스가 공유 자원을 병행적으로 읽거나 쓰는 상황을 경쟁 조건(race condition)이 발생했다고 한다. 임계 구역과 관련된 전통적인 문제로 생산자-소비자 문제가 있다. 생산자-소비자 문제에서는 생산자 프로세스와 소비자 프로세스가 독립적으로 작업을 한다. 생산자는 물건을 계속 생산해서 버퍼에 넣고 소비자는 계속 버퍼에서 물건을 가져온다. 또한 버퍼가 비어이는..
Why useEffect is a bad place to make API calls 아래 글을 번역한 글 입니다. Why useEffect is a bad place to make API calls The design choices react team have made in useEffect hook are still a heated debate. Some people like it and some don’t. articles.wesionary.team React 팀이 useEffect hook에서 선택한 디자인 선택은 여전히 열띤 토론입니다. 어떤 사람들은 그것을 좋아하고 어떤 사람들은 그렇지 않습니다. 여러분이 React 세계에서 오지 않았다면 기본 동작이 두려운 무한렌더 루프이기 때문에 확실히 이상하게 들릴 것입니다. (의존성 배열에 아무것도 없으면 매 렌더마다 실행) 예를 들어 ..
쉽게 배우는 운영체제 | 프로세스 동기화 프로세스 간 통신 프로세스는 시스템 내에서 독립적으로 실행되기도 하고 데이터를 주고받으며 협업하기도 한다. 프로세스가 다른 프로세스와 데이터를 주고 받는 프로세스간 통신(IPC)에는 컴퓨터 내에 있는 프로세스뿐만 아니라 네트워크로 연결된 다른 컴퓨터에 있는 프로세스와의 통신도 포함된다. 프로세스 간 통신의 종류 - 프로세스 내부 데이터 통신: 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우의 통신이다. 프로세스 내부의 스레드는 전역 변수나 파일을 이용하여 데이터를 주고받는다. - 프로세스 간 데이터 통신: 같은 컴퓨터에 있는 여러 프로세스끼리 통신하는 경우로, 공용 파일또는 운영체제가 제공하는 파이프를 사용하여 통신한다. - 네트워크를 이용한 데이터 통신: 여러 컴퓨터가 네트워크로 연결되어 있을..
How to useMemo and useCallback: you can remove most of them 원문: https://www.developerway.com/posts/how-to-use-memo-use-callback React가 처음이 아니라면 적어도 useMemo 및 useCallback 훅에 익숙하실 것입니다. 중대형 애플리케이션에서 작업하는 경우 앱의 일부가 읽고 디버그 할 수 없는 useMemo, useCallback들로 도배되어 있는 것을 볼 수 있습니다. 이러한 훅은 제어할 수 없을 정도로 코드 주위에 퍼져있습니다. 또한 주변 동료들이 모두 작성하고 있다는 이유만으로 작성하는 자신을 발견하게 됩니다. 이 모든 것은 완전히 불필요합니다. 지금 바로 앱에서 모든 useMemo 및 useCallback을 90% 제거할 수 있으며 앱은 문제가 없고 약간 더 빨리질 수 있습니다. 오해하지 마세요..