jopemachine. dev blog

개발 관련 개인적인 일상, 후기, 생각, 스터디, 문서 번역 등 각종 포스팅을 정리하고 공부하고, 공유합니다.

2022 Lablup Autumn Internship 후기 / 회고

인턴십 회고

Lablup Internship 처음엔 오픈소스에 막연히 흥미를 갖게 되어 작은 자바스크립트 기반 모듈들을 디버깅해보면서 간단한 기능을 구현하거나 버그를 고치는 경험을 통해 오픈소스 컨트리뷰션을 시작하게 되었다. 몇 개월이 지난 후 좀 더 큰 규모의 오픈소스 프로젝트에 긴 시간에 걸쳐 지속적인 컨트리뷰션을 경험해보고 싶다는 생각으로 오픈소스 컨트리뷰...

In Search of an Understandable Consensus Algorithm 번역 및 정리

Paper Study

In Search of an Understandable Consensus Algorithm 번역 및 정리 Raft란? Raft는 tikv, etcd, MongoDB 등 다양한 분산 시스템에서 사용되는 실용적인 합의 알고리즘이다. 기존의 Paxos 같은 합의 알고리즘에 비해 훨씬 이해하거나 구현하기 쉬우면서 이에 필적할만한 성능을 제공한다. 특히 ...

Backend.AI Jail 삽질 / 디버깅 경험기

Troubleshooting Review

Backend.AI Jail이란? 비록 아직 Backend.AI Jail에 대해 모두 이해하진 못했지만, 내 이해를 토대로 간단하게 설명하면 Backend.AI Jail은 시스템 콜을 후킹해 특정 시스템 콜이 호출되었을 때 로그를 남기거나, 아예 프로세스를 종료시켜 버리도록 만들어주는 샌드박스이다. 좀 더 자세한 (그리고 정확한) 내용은 해당 pp...

오픈소스 컨트리뷰션 아카데미 2022 참가 후기 (RustPython 팀)

프로그램 참가 후기

오픈소스 컨트리뷰션 아카데미 (OSSCA)란? 공개 SW 사업 홈페이지에선 오픈소스 컨트리뷰션 아카데미 프로그램에 대해 아래와 같이 이야기하고 있다. 컨트리뷰션 아카데미를 통해 선배 개발자가 직접 기여하는 오픈소스 프로젝트 가이드와 함께 오픈소스 기여에 대한 진입장벽을 뚫어 참여·공유·협업 방식의 글로벌 개발문화와 다양한 기여(Contribu...

번역 - 당신의 코드 베이스를 향상시키기 위한 5개의 TypeScript 라이브러리

Typescript

번역 - 당신의 코드 베이스를 향상시키기 위한 5개의 TypeScript 라이브러리 TypeScript 언어는 지난 몇 년 동안 계속해서 성장해왔습니다. 많은 웹 개발자들이 가장 좋아하는 언어로 평가되었습니다. Plain JavaScript 코드베이스에서 작업해야 하는 빈도는 점점 줄어들고 있습니다. 그러나 때로는 TypeScript는 충분히 가능...

번역 - Lexical Environment, 클로저를 이해하기 위한 숨겨진 조각

자바스크립트 세부사항 스터디

Lexical Environment, 클로저를 이해하기 위한 숨겨진 조각 JavaScript 세계를 처음 접하는 경우 클로저는 어려운 개념일 수 있습니다. 인터넷을 검색하면 클로저가 무엇인지에 대한 수많은 정의를 접할 수 있습니다. 그러나 저는 이러한 정의들 대부분이 모호하고 클로저가 존재하는 근본적인 원인을 설명하지 못한다고 느꼈습니다. 오늘...

번역 - JavaScript의 내부 작동 원리, 입문자를 위한 설명

자바스크립트 세부사항 스터디

JavaScript의 내부 작동 원리, 입문자를 위한 설명 JavaScript가 내부적으로 작동하는 방식을 이해하여 더 나은 코드를 작성하세요 매일 JavaScript를 작성하면서 알았을 수도 있지만, 브라우저가 작성된 코드를 읽는 방법과 내부에서 실제로 어떤 일이 일어나는지 궁금했었던 적이 있나요? 당신은 텍스트 편집기에서 코드를 작성...

번역 - JavaScript 실행 컨텍스트 — lexical environment와 block scope (part 3)

자바스크립트 세부사항 스터디

JavaScript 실행 컨텍스트 — lexical environment와 block scope (part 3) JavaScript에는 ES6 업데이트 이후 세 가지 유형의 scope가 있습니다. Global Scope Function Scope Block Scope 실행 컨텍스트 관점에서...

번역 - React — The hidden function for keys

React 세부사항

번역 - React — The hidden function for keys React가 당신에게 화를 내지 않도록, 리스트들에 key를 전달해줘야 한다는 사실을 알고 있나요? 당신은 생각할 것입니다: 왜 모든 key를 무작위로 만들어서 사용하면 안 되는거지? Keys! 대부분의 튜토리얼들에선 리스트를 매핑하는 맥락에서만 key를 언급합니다....

번역 - Javascript Generators와 Iterators 이해하기

자바스크립트 세부사항 스터디

Javascript Generators와 Iterators 이해하기 당신의 가장 친한 친구가 매우 창의적인 화가라고 생각해보세요. 이 친구는 매일 그림을 그립니다. 매일 다른 아름답고 화려한 그림들을 창조합니다. 그러나 그녀의 창의성은 항상 일관적이지는 않습니다. 그래서 가끔은 더 많은 그림을 그리기도 하고, 다른 날은 좀 덜 그리기도 합니다. 매일...