Hackers' Pub
조내

조내일

@tomorrowcho@hackers.pub
JLInvited by Jaeyeol Lee
Joined April 2025
@tomorrowcho@hackers.pub
·

[7일차] - 28p.

리액트에서 배열에 key를 쓰지 않으면 콘솔에 경고가 출력되기 때문에 key를 유일한 값으로 추가하는 것이 일반적이지만 정작 왜 추가해야 하는지는 모르는 경우가 많다. 왜 key가 필요할까? 리액트에서 key는 리렌더링이 발생하는 동안 형제 요소들 사이에서 동일한 요소를 식별하는 값이다. 앞서 리액트 파이버 트리 구조를 떠올려보면 해당 트리 구조에서 형제 컴포넌트를 구별하기 위해 각자 sibling이라는 속성값을 사용했다. 동일한 자식 컴포넌트가 여러 개 있는 구조를 상상해 보자. 리렌더링이 발생하면 current 트리와 workInProgress 트리 사이에서 어떠한 컴포넌트가 변경이 있었는지 구별해야 하는데, 이 두 트리 사이에서 같은 컴포넌트인지를 구별하는 값이 바로 key다. 이 변경 사항을 구별하는 작업은 리렌더링이 필요한 컴포넌트를 최소화해야 하므로 반드시 필요한 작업이다. key가 존재한다면 두 트리 사이에서 동일한 key를 가지고 있는 컴포넌트는 이를 기준으로 구별할 수 있지만, 이 key가 없다면 단순히 파이버 내부의 sibling 인덱스만을 기준으로 판단하게 된다.

@tomorrowcho@hackers.pub
·

[6일차] - 23p.

파이버 트리는 사실 리액트 내부에서 두 개가 존재한다. 하나는 현재 모습을 담은 파이버 트리이고, 다른 하나는 작업 중인 상태 를 나타내는 workInProgress 트리다. 리액트 파이버의 작업이 끝나면 리액트는 단순히 포인터만 변경해 workinProgress 트리를 현재 트리로 바꿔버린다. 이러한 기술을 더블 버퍼링이라고 한다.

조내일 shared

@geeknews_bot@sns.lemondouble.com
·
과제형 면접 프로젝트를 열어보니 조직적인 악성코드 작전이었다
- LinkedIn에서 월 $10,000~15,000 의 원격 Python 개발자 자리를 제안한 가짜 채용 담당자가 정상적인 FastAPI 과제로 위장한 ZIP 파일을 보내고, Git 작업 과정에서 악성코드가 설치되도록 구성함
- 저장소의 .git/hooks에는 운영체제별 원격 페이로드를 조용히 실행하는 pre-commit 훅 이 숨겨져 있었고, 과제 PDF의 Git 작업은 지원자가 이를 실행하도록 유도하는 장치였음
- Linux 페이로드는 ~/Documents에 2단계 스크립트를 내려받아 nohup으로 실행한 뒤, Node.js와 의존성 및 난독화된 parser.js 를 설치해 백그라운드에서 구동함…**
https://news.hada.io/topic?id=31736&utm_source=googlechat&utm_medium=bot&utm_campaign=5089
@tomorrowcho@hackers.pub
·

[12일차] 22p.

우리는 우리와 동물의 관계가 사람을 대하는 태도에 영향을 준다는 사실도 확실히 인지하지 못하고 있었다. 동물에게 친절하므로 사람에게도 친절할 거라고 생각하지는 않지만, 대개 동물을 잔인하게 다루는 사람은 사람에게도 잔인할 것이라고 믿는다. 우리는 유년기에 동물을 잔인하게 다루는 행동이 자라서 더 위험한 행동을 하게 될 조짐을 보여주는 것임을 안다. 이는 사이코패스의 유년기 징후 중 하나다. 동물과 사람의 연관관계는 극단적 형태의 정신질환에서만 뚜렷하게 드러나는 것이 아니다. 동물을 대하는 태도는 타인을 대하는 대중의 태도와의 상관관계도 입증할 수 있다. 심리학자 고든 호드슨과 크리스토프 돈트 Kristof Dhont는 사람이 동물보다 우월하다고 생각하는 사람들이, 사람 중에서도 우월한 집단과 열등한 집단이 있다고 생각하는 경향이 더 높게 나타나는지를 조사했다. 조사 결과, "사람을 동물과 다르다고 여기는 태도나 동물보다 우월하다고 여기는 태도가 이민자나 흑인이나 소수 민족 등 사람 외집단을 동물로 비유하는 비인간화에 주된 역할을 한다"는 것을 알 수 있었다.