스크랩 11

시니어 없이 주니어끼리 일하는 방법

지금 다니는 회사는 올 여름 개발팀이 새로 꾸려진 곳으로 구성 인원은 (나를 포함한) FE 신입 2명, BE 1명 등 총 세 명으로 프론트엔드 사수가 없는 곳이다. PM도, 기획도, QA도 없이 세 명이서 일을 분담하여 진행해야 하는 환경이어서 팀 내 개발 문화를 정립해 나가거나 시니어 없이 일을 하는 방법에 대해 늘 관심을 가지고 있던 찰나 지난 우아콘에서 비슷한 고민을 공유해 주는 세션을 발견했다. 30여 분 가량의 세션을 들으며 개인적으로 적용해 보고 싶은 내용들을 정리해 보고자 한다. 시니어 엔지니어란? - 팀 내/외 영향력을 가진다. - 때로는 가장 지루하고 시시한 일(예: 레거시 코드 개선)들을 도맡아 하기도 한다. - 가장 어려운 기술 문제를 풀어낸다. 출처: 윌 라슨, 시니어 엔지니어가 없..

스크랩 2024.01.21

[TypeScript] Clean Code 예제 (1) : 변수와 함수

GitHub - labs42io/clean-code-typescript: Clean Code concepts adapted for TypeScript Clean Code concepts adapted for TypeScript. Contribute to labs42io/clean-code-typescript development by creating an account on GitHub. github.com 이렇게 하지 마라(Bad) vs. 이렇게 해라(Good) 버전의 쉬운 예제들로 정리된 클린 코드 예제이다. 예제들을 쭉 보면서 내가 자주 하는 실수만 따로 모아서 정리해 본다. 1. 변수 단락 평가(short circuiting)나 조건부 대신 default arguments 사용 Bad : func..

스크랩 2024.01.10

좋은 질문을 하는 법

질문을 잘하는 개발자 … jbee.io 💡 질문을 하고 답변을 얻기 위해서는 Context를 맞추는 작업이 선행되어야 한다 1. 지금 이슈가 된 것이 무엇인가? - 정확한 상황 설명 - 부연 설명을 최대한 줄이기 위해 자신이 무슨 프로젝트를 하고 있는지 알고 있는, 또는 자신의 수준을 알고 있는 동료 개발자에게 질문을 하는 것이 좋다. 예시) - 지금 개발 중인지, QA 중인지, 배포 후 긴급 대응인지 - 이슈가 발생한 환경은 무엇인지 (OS, 브라우저 등) - 어떠한 상황에서 이슈가 발생했는지 2. 어디까지 해보았나? - 발생한 이슈의 원인이 무엇이라고 생각하는지 - 그 원인을 토대로 내린 결론은 무엇인지 - 결론대로 시도를 해보았는지 이러한 질문을 하면 답변자는 다음과 같은 행동을 할 수 있다. - ..

스크랩 2023.01.11

[알고리즘] 하노이의 탑 - 재귀

'하노이의 탑' 이해하기 '하노이의 탑' 문제를 이해하고 문제 해결을 위한 핵심 통찰을 살핀 뒤 코드로 작성합니다. 이후 탑의 개수에 따른 총 이동 횟수를 구하는 일반항까지 수학적으로 유도합니다. shoark7.github.io 💡 재귀 문제의 핵심 1. 문제 정의: 재귀 함수의 입출력값 정의 2. 문제를 작게 만들어 해결하기 3. 작게 쪼갠 문제를 재귀식으로 표현하기 4. 재귀식을 그대로 코드로 구현 function _move(N, start, to) { return console.log(`${N}번 원반을 ${start}에서 ${to}로 이동시킨다`); } function hanoi(N, start, to, via) { if (N === 1) _move(1, start, to); else { hano..

스크랩 2022.12.24

클래스 기반 언어 vs. 프로토타입 기반 언어

자바스크립트는 왜 프로토타입을 선택했을까 프로토타입으로 검색하면 으레 나오는 서두처럼 저 또한 자바스크립트를 처음 접했을 때 가장 당황스러웠던 게 프로토타입이었습니다. medium.com 한줄평: 클래스와 프로토타입의 차이를 아주 근원으로 올라가 서양 철학으로 풀어낸 최고의 포스팅 👏🏼👏🏼👏🏼 1. 클래스 기반 언어 (대표적인 언어: Java) : 소크라테스의 이데아를 구현한 프로그래밍 언어 2. 프로토타입 기반 언어 (대표적인 언어: JavaScript) : 비트겐슈타인의 의미사용론(단어는 사용에 의해 의미가 결정되기 때문에 맥락context이 중요하다는 이론)을 구현한 프로그래밍 언어 💡 자바스크립트의 주요 개념 정리 - 호이스팅: 실행 컨텍스트 생성시 렉시컬 스코프 내의 선언이 끌어올려지는 것 - ..

스크랩 2022.12.06

불변성 Immutable 이란 무엇인가

변하지 않는 상태를 유지하는 방법, 불변성(Immutable) 이번 포스팅에서는 순수 함수에 이어 함수형 프로그래밍에서 중요하게 여기는 개념인 에 대한 이야기를 해보려고 한다. 사실 순수 함수를 설명하다보면 불변성에 대한 이야기가 꼭 한번은 나오 evan-moon.github.io - 실제 프로그램을 짤 때 함수형 프로그래밍과 객체지향 프로그래밍의 차이 - 값에 의한 호출(call by value) vs. 참조에 의한 호출(call by reference) - 상태 관리의 개념과 어려움 - React에서 setState 메소드를 써서 상태를 변경할 때 뒷단에서 일어나는 일 너무나 훌륭한 포스팅이다. 이 포스팅 말고 블로그 전반적으로 포스팅 퀄리티가 훌륭해서 어제 이 블로그 탐독하다가 원래 하려던 건 하나..

스크랩 2022.12.05

평생 학습자로 살아가는 우리 모두에게 필요한 이야기

오늘 아침식사를 하면서 본 클립인데 너무 좋아서 중학교 영어 교사인 친구와 아이를 키우고 있는 두 명의 친구에게 클립을 공유했다. 한편으로는 소프트웨어 교육에 대한 이야기이지만 그보다 폭넓게 평생 학습자로 살아가야 하는 현대인의 교육에 대한 이야기라고 생각한다. 키워드 : 배우는 법을 배우기, 연결 능력 필요에 맞춰 무엇을 학습해야 하는지를 알고, 학습을 위한 구체적인 계획을 세우는 능력이 너무나 중요하다. 세 달 전 무엇을 어디서부터 공부해야 할 지 몰라 막막하던 때도 있었는데, 역시 처음 허들이 가장 높다. 첫 번째 장애물만 통과하면 그 다음부터 시야가 넓어진다. 유체역학의 나비에-스토크스 방정식을 활용해 영화 에서 바다의 풍랑을 CG로 표현하는데 혁혁한 공을 세워 아카데미 기술상을 두 번이나 수상한..

스크랩 2022.11.30

Javascript로 할 수 있는 것들

1. 모바일 앱 제작 - iOS 앱은 Swift로, 안드로이드 앱은 Kotlin으로 만드는 것이 정석 - 하지만 React Native를 사용해서 자바스크립트로도 모바일 앱을 만들 수 있다! - 실제 사례: 인스타, 페이스북 등 2. 비디오 앱 (화상회의) - 실제 사례: 구글 행아웃, 디스코드 등 (앱 설치 없어도 브라우저에서 작동) - 사용 기술: WebRTC (웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API) 3. 로봇 및 IoT 디바이스 앱 - Ardouino, Raspberry Pi : 하드웨어 제어 가능하게 해주는 초소형 컴퓨터 - 사용 라이브러리: Johnny-Five - Johnny-Five가 지원하는 분야: 각종 모터, GPS, 적외선 센서, 근접 센서 등 4..

스크랩 2022.11.10