Welcome to my writing playground

about Translation, Ruby, Javascript, Practical Dev etc.

'Node.js 교과서' 감상평 - 2018/08/28 Review

제가 처음 신입 웹 개발자로 모 회사에 들어갔을 때는 정말 아는게 전혀 없다시피 했습니다. 국비지원 교육과정에서 보낸…

[번역] 자바스크립트 & 타입스크립트의 순환 참조를 한방에 해결하는 방법 - 2018/07/21 Typescript

부제: 시행착오를 거쳐 모듈 로딩 순서를 이해하기 Michel Weststrate 의 How to fix nasty circular dependency issues once and for all in JavaScript & TypeScript 를 번역한 글입니다 제가 관리해왔던 많은 프로젝트들은 빠르거나 늦거나 언제나 같은 문제에 부딪혔습니다. 바로 순환 모듈 의존 문제입니다. (역주: circular module dependency…

타입스크립트에서 헬퍼 타입을 정의하고 활용하기 - 2018/07/08 Typescript

타입스크립트를 사용한지 어느덧 6개월정도 지났습니다. 아직 타입을 잘 활용하고 있다는 생각이 들진 않지만, 리액트 + 타입스크립트로 작업하는데 별다른 어려움 없이 작업에는 더 도움이 되고 있다고 생각합니다. 지난 프로젝트에서도 React + Typescript + Next.js…

[번역] 나는 어떻게 더 나은 프로그래머가 되었는가 - 2018/06/09 Translation

이 글은 James Long 의 ‘How I Became a Better Programmer’ 의 번역본입니다 React Conf…

[번역] 리액트 테스팅 튜토리얼: 테스트 프레임워크와 컴포넌트 테스트 방법 - 2018/05/15 React

본 튜토리얼은 Robin Wieruch 님의 React Testing Tutorial…

함수형 자바스크립트(루이스 아텐시오 저) 리뷰 - 2018/03/14 Javascript

책 링크 일단 자바스크립트 초급자가 읽기 좋은 책은 아니다. 하지만 자바스크립트를 좀 다루면서, Redux 나 RxJS 같은 라이브러리를 접해본 사람들이 '왜 이런 방식으로 코드를 작성해야하는지' 단서를 얻을 수도 있고, 더 나아가서 함수형 프로그래밍의 기본 개념을 자신에게 익숙한 자바스크립트로 익힐 수 있다. 특히…

[번역] 두려움, 믿음, 그리고 자바스크립트 - 언제 타입 시스템과 함수형 프로그래밍이 먹히지 않는가 - 2018/03/04 Javascript

이 포스트는 Nicholas Kariniemi 의 Fear, trust and JavaScript: When types and functional programming fail…

자바스크립트로 함수형 프로그래밍 아주 살짝 맛보기 - 2018/02/19 Functional Programming

제가 요즘 프론트엔드 개발을 하면서 주로 관심을 가지고 있는 분야는 CSS로 레이아웃을 더 잘 잡아보기 (without Grid, Flex - 하위호환 때문에…) + 더 사용자 친화적인 UI…

[번역] 리액트 + 리덕스 앱을 Jest와 Enzyme으로 테스트 하며 얻은 교훈 - 2018/01/27 Testing

더 좋은 테스트를 위한 번역 시리즈 그래서, 자바스크립트 테스트가 뭔가요? 테스트를 작성하라. 너무 많이는 말고. 통합 테스트를 많이 써라. 리덕스 앱을 저비용 고효율로 통합 테스트 하기 리액트 + 리덕스 앱을 Jest와 Enzyme…

[번역] 리덕스 앱을 저비용 고효율로 통합 테스트 하기 - 2018/01/19 Testing

더 좋은 테스트를 위한 번역 시리즈 그래서, 자바스크립트 테스트가 뭔가요? 테스트를 작성하라. 너무 많이는 말고. 통합 테스트를 많이 써라. 리덕스 앱을 저비용 고효율로 통합 테스트 하기 리액트 + 리덕스 앱을 Jest와 Enzyme…

TypeStyle 사용하기 - 2018/01/16 TypeStyle

다음 프로젝트에서 본격적으로 타입스크립트를 사용한 리액트 애플리케이션을 도입하고자 하는데, CSS를 입히기 위한 도구로 TypeStyle 을 활용하는 방안을 검토중이다. 그래서 egghead의 강좌 를 가볍게 따라가며 내용을 정리해보았다. 이 정도면 충분히 도입할 만한 가치가 있어 보인다. 적어도 스타일 속성 이름으로 오타가 날 일은 없어 보이며 JS…

[번역] 테스트를 작성하라. 너무 많이는 말고. 통합 테스트를 많이 써라. - 2018/01/15 Testing

더 좋은 테스트를 위한 번역 시리즈 그래서, 자바스크립트 테스트가 뭔가요? 테스트를 작성하라. 너무 많이는 말고. 통합 테스트를 많이 써라. 리덕스 앱을 저비용 고효율로 통합 테스트 하기 리액트 + 리덕스 앱을 Jest와 Enzyme…

[번역] 그래서, 자바스크립트 테스트가 뭔가요? - 2018/01/14 Testing

더 좋은 테스트를 위한 번역 시리즈 그래서, 자바스크립트 테스트가 뭔가요? 테스트를 작성하라. 너무 많이는 말고. 통합 테스트를 많이 써라. 리덕스 앱을 저비용 고효율로 통합 테스트 하기 리액트 + 리덕스 앱을 Jest와 Enzyme…

MobX로 상태 관리하기 - 2017/12/31 MobX

MobX를 리액트에 쓰기 위해 필요한 기본 구성은 , 패키지이다. 그리고 각각 , 데코레이터(이자 그냥 함수)를 가져다 쓸 수 있다. Observer 생성한 스토어가 로 구성되어 있고, 컴포넌트가 데코레이터로 감싸져 있다면 스토어를 사용할 조건은 충족된다. 그래서 다음의 코드로 간단한 카운터를 만들 수 있다. MobX…

'속깊은 Javascript' 감상평 및 추천사 - 2017/12/21 Review

감상평을 적기에 앞서 몇 가지 가벼운 질문이 있다. 혹시 아래의 문제를 보았을 때 모르는 내용이 2가지 이상 있거나, 알더라도 바로 명확한 답변이 떠오르지 않는지 생각해보라. (ES…

Advanced React Component Patterns 내용 정리 - 2017/12/10 React

Advanced React Component Patterns 강좌 강좌에 수록된 코드 Kent C. Dodds 의 강좌가 egghead에 한정된 기간동안 무료로 올라왔다. 때문에 다른 강의들을 제쳐두고 일단 이 강의부터 끝내기로 했다. HOC, Render props…

TDD(Test Driven Development) 를 연습하면서 참고하기 좋은 팁 10가지 - 2017/11/04 TDD

이 글은 Twitter @ageldama 님의 TDD 조언에 관한 글타래를 허락 받고 정리한 내용입니다. 정리하면서 말씀하신 의도가 약간 달라진 부분 혹은 제 지식이 부족하여 제대로 표현하지 못한 부분도 있을 수 있습니다. 피드백환영합니다. 해당 포스팅은 Medium…

Javascript Roadmap Questions - 답안 - 2017/10/09 Javascript

앞서 제시된 질문들 질문을 번역한 이후 따로 공부를 위해 가볍게 온라인 스터디를 진행하여 서로 조사한 부분을 이야기하고, 참고할만한 링크가 있다면 첨부하는 형식의 스터디를 진행하였습니다. 작성된 내용 중에 오답이 있을 수도 있으니 참고용으로 봐 주시기 바라며, 보충 설명 혹은 수정을 요청하시려면 하단 프로필의 이메일로 요청 부탁드립니다. (중복된 문제에 대한 답안은 작성하지 않았습니다.) Baby phase 자바스크립트의…

Javascript Roadmap Questions - 2017/10/06 Javascript

오늘은 저도 공부할 겸 학습거리를 하나 제공해드리려 합니다. 자바스크립트 초심자를 대상으로 학습 로드맵을 제공하는 뉴스레터입니다. 총 7개의 챕터로 좋은 내용들을 전달해주었는데, 자바스크립트 학습의 단계를 Baby -> Child -> Teenage -> Adult…

Gatsby를 활용한 블로그 재구성 - 2017/10/05 Gatsby

새로운 도전의 시작 올 여름 이런저런 일을 겪고 나서, 많은 고민 끝에 한동안 프론트엔드 개발자로 커리어를 쌓아가기로 결정하였습니다. 이전에는 루비 백엔드를 기반으로 한 그냥저냥한 웹 개발자였습니다만.. 오랫동안 업무에서 루비를 쓸 일이 없겠네요. (물론 여전히 루비라는 언어 자체는 사랑하고 관심은 계속 가지고 있습니다) 기존에도 프론트엔드 라이브러리로 React와 Vue.js…

[번역] Boostnote vs Notes: Choosing a note-taking Tool - 2017/08/09 Translation

이 포스팅은 Boostnote 팀의 요청에 의하여 번역되었습니다. 원문을 보시려면 이 링크 를 클릭해주세요. 안녕하세요, Boostnote 개발자 kazup 입니다. 예상 외로 맥의 순정 메모 어플리케이션에서 Boostnote로 갈아타는 분들이 많아보여서, 이번 기회에 두 앱을 간단히 비교하는 글을 작성해보았습니다. What is Boostnote? 프로그래머를 위한 오픈 소스 노트입니다. 마크다운을 기본적으로 지원하고 15…

[번역] 루비에서 상속을 피하는 방법 - 2017/07/16 Translation

이 글의 원문은 Michał Konarski…

파이썬 코딩의 기술(Effective Python) 리뷰 - 2017/06/28 Review

자바를 맛만 보고, 실질적으로 루비를 첫 프로그래밍 언어로 접하여 지금까지 사용해오고 있습니다. 어느 덧 2년이 다 되어가네요. 루비는 비교적 간단하면서도 강력한 언어이지만, 현재는 루비 온 레일즈(이하 레일즈) 라는 걸출한 웹 프레임워크의 기반이 되는 언어라는 인식 이외에는 그다지 유명세를 얻지 못하고 있습니다. 반면 비슷하게 간단하면서 강력한데다 전 세계적인 인지도를 가지고 있는 프로그래밍 언어가 있습니다. 파이썬(Python…

[번역] 진짜배기 코드 평가자라면 하지 말아야 할 네 가지 - 2017/05/27 Translation

이 글의 원문은 Yegor Bugayenko가 작성하였습니다. 오역 지적 및 더 나은 번역을 위한 제안은 언제나 환영합니다. 코드 평가 (다른 말로 동료 평가)는 모든 소프트웨어 개발 팀의 필수 원칙이 되어야합니다. 제 말에 이견이 없기를 바랍니다. 어떤 팀은 머지가 되기 전에 코드 평가를 하여 master/development…

Hanamirb + Vue.js 로 간단 가계부 구현 (프론트엔드 편 - 2) - 2017/05/02 Vue.js

Hanamirb + Vue.js 시리즈 목차 API 서버 로그인 & 회원가입 페이지 가계부 페이지 로그인 페이지를 만드는데도 꽤 많은 노력이 들었지만, 기존에 사용하시던 방법으로 같은 페이지를 작성한다고 했을 때 얼마나 시간과 노력이 드는지 한번 생각해보시면 Vue.js…

Hanamirb + Vue.js 로 간단 가계부 구현 (프론트엔드 편 - 1) - 2017/04/30 Vue.js

Hanamirb + Vue.js 시리즈 목차 API 서버 로그인 & 회원가입 페이지 가계부 페이지 지난 시간에 하나미로 JSON API 서버를 만들었습니다. 이제 가계부 클라이언트를 Vue.js로 구현해보겠습니다. 처음에는 vue-cli나 Nuxt…

Hanamirb + Vue.js 로 간단 가계부 구현 (API 서버 편) - 2017/04/27 Hanami

Hanamirb + Vue.js 시리즈 목차 API 서버 로그인 & 회원가입 페이지 가계부 페이지 업데이트 BCrypt 관련 설명 수정 (2017-05-02) 들어가며 하나미 정식 버전이 지난 4월 6일에 발표되었습니다. 기존에 레일즈에 여러모로 아쉬움을 느끼고 있던 해외의 루비 개발자들은 많은 관심을 가지고 있나봅니다. 제가 처음 하나미를 접했을 때 버전이 0.7.2였는데 어느새 1.0.…

[번역] 내가 StackOverflow를 사용하는 방법 - 2017/04/15 Translation

이 글의 원문은 Simone Carletti가 작성하였습니다. 오역 지적 및 피드백은 더 나은 번역을 위한 밑거름이 됩니다. 저는 제 자신을 활발한 StackOverflow 사용자라고 생각합니다. 사이트 활동이 하루의 업무량에 크게 좌지우지되긴 하지만요. 2009년에 StackOverflow에 가입하여 이 글을 쓰는 시점(2016년 12월)까지, 저는 12만 4천의 명성치를 얻었고 상위 30…

하나미 프로젝트에서 webpack 설정하기 - 2017/04/09 Webpack

기존에 Learn Vue.js 2 강좌를 보면서 Form 제출에 대한 프로젝트를 레일즈로 작성하는 부분까지 따라했었는데, 이번에 다시 익혀보면서 백엔드 구축을 하나미로 작성해보았다. 그 과정에서 webpack을 밑바닥부터 설정하는 에피소드를 참고하여 하나미를 기반으로 설정해 보았다. application.rb…

[번역] 메타언어 길들이기 - 2017/04/04 Translation

이 포스트는 Alex Kotliarskyi 의 글 을 번역한 것입니다. 오역 지적 및 피드백은 언제나 환영합니다. 저는 드디어 Cheng Lou 가 ReactConf'17에서 발표한 내용을 이해했습니다. 20분정도 시간을 내실 수 있다면 이 영상을 먼저 봐 주세요. 요약: 언어가 있으면 메타언어 (고차 언어)도 있다. 여기서 언어는 실제 소스 코드이고, 메타 언어는 그 위에 있는 모든 것(테스트, 주석, IDE…

[번역] 나는 'puts' 디버거다 - 2017/03/19 Translation

본 포스트는 Aaron Patterson 의 포스트 의 번역본입니다. 기본적인 루비 및 레일즈 지식을 가지고 있는 독자 대상의 글입니다. 피드백은 언제나 환영합니다. 저는 콘솔 디버거입니다 (역주1: 원 제목의 'puts debuggerer'를 의역하였습니다. 루비의 puts는 전달받은 인자를 표준 출력(stdout)해주는 메서드입니다. 이후에도 puts debugging…

[번역] C++와 Python 중 무엇을 먼저 배울까? - 2017/03/11 Translation

본 포스트는 Gerald Weinberg 의 포스팅 의 번역본입니다 피드백은 언제나 환영합니다 제가 처음 이 질문을 Quora에서 보았을 때, 이미 4…

‘Remote - 사무실 따윈 필요 없어!’ 를 읽고 - 2017/02/26 Review

Ruby on Rails(이하 레일즈) 를 쓰는 사람이라면 DHH(데이비드 하이네마이어 한슨)의 이름을 모르는 사람은 거의 없을 것이다. 레일즈 프레임워크의 창시자일 뿐 아니라 거침 없는 입담과 자신만의 확고한 방식으로 레일즈라는 거대한 프로젝트를 이끌고 있는 개발자이기 때문이다. 사실 나도 그냥 DHH의 이름을 들으면 떠오르는 점은 ‘레일즈의 창시자’ 정도밖에 없었다. 덧붙이면 그 전에는 PHP…

[번역] 초심자의 마음가짐 - 2017/02/20 Translation

이 포스트는 Ian C. Anderson…

[번역] 도우면서 배우기 - 2017/02/13 Translation

이 글은 Joël Quenneville 의 글 을 번역한 것입니다 번역 및 내용에 관한 피드백은 언제나 환영합니다 수 년에 걸쳐 저는 Elm 을 배워왔습니다. 보통 저는 새로운 언어를 배울 때 이러저러한 과정을 거칩니다: 튜토리얼을 따라가본다 많은 토이 프로젝트를 만든다 블로그 글을 읽는다 해당 언어의 주간 뉴스레터를 구독한다 그런데 기대하지 않던 순간에 제 고정관념을 바꾸는 일이 생겼습니다. 저는 elm-lang…

[번역] 세상은 루비의 의존성 주입에 대한 다른 글을 원한다 - 2017/02/04 Translation

이 포스팅은 Piotr Solnica 의 글 을 번역한 것입니다 번역 내용에 대한 조언 및 의견은 언제나 작성자에게 큰 도움이 됩니다 저는 우리 루비스트들이 의존성 주입(Dependency Injection)에 대해 요즘은 어떻게 생각하는지 궁금해졌습니다. 제가 기억하는 한 의존성 주입에 대한 몇몇 토론은 대부분 자바로 인해 굳혀진 개념(post-java-trauma…

[번역] 루비 블록을 5분 이내에 마스터하기 - 2017/01/26 Translation

이 포스팅은 Cezar Halmagean…

[번역] 테스트가 없는 앱을 이용하여 TDD를 배우는 방법 - 2017/01/16 Translation

이 번역글은 Justin Weiss의 포스팅 을 번역한 글입니다 오류 지적 및 피드백은 언제나 환영합니다. 댓글이나 메일로 알려주세요 당신은 자신이 만든 앱을 보고 매우 흥분한 상태이다. 한가지 문제가 있다는 점만 빼고 - 테스트를 전혀 작성하지 않았다는 점 말이다. 당신은 TDD(Test-Driven Development…

[번역] 펭귄은 날 수 없다(The Penguin That Can't Fly) - 2016/12/31 Translation

이 포스팅은 Luca Guidi의 포스팅 을 번역한 글입니다 오역이나 잘못된 표현 지적은 언제나 환영합니다 객체 지향 프로그래밍, 인터페이스, 동적 타입에 대한 짧은 이야기 역주: 이 글은 가상의 이야기를 기반으로 객체 지향의 개념을 일부 짚어주는 글입니다 '루비 3'는 아직 개발 중이며, 어떤 형태로 나오게 될 지 모릅니다. 오늘은 주식회사 활빈당(Spectacular Foo Ltd…

[번역] 전역 상태를 격리하라 - 2016/12/30 Translation

본 포스트는 Luca Guidi의 포스팅을 번역한 글입니다 문제를 설명하는데 나온 하나미(Hanami…

[번역] 오픈 소스에 참여하는 가장 쉬운 방법 - 2016/12/09 Translation

이 포스팅은 Justin Weiss의 블로그 포스팅 을 허가 아래 번역한 글입니다 본 번역물의 저작권은 따로 없으며 인용하실 때 출처를 밝혀주신다면 무척 고맙겠습니다 표현이 부족한 부분이나 오타를 발견하시면 댓글이나 트위터를 통해 알려주세요 Thom Parkin…

레일즈(Ruby on Rails)와는 또 다른 루비 웹 프레임워크, Hanami(하나미) - 2016/12/03 Hanami

본 포스팅은 루비 대림절 달력 을 위해 제작하였습니다 기본적인 루비 언어 및 루비 온 레일즈의 이해도가 있는 독자를 대상으로 작성하였습니다 작성자의 지식이 부족하여 설명이 부족하거나 잘못된 정보가 있다면 제보 부탁드립니다 들어가며 아직 갓…

Easylunch Api 서버 제작기 - 3 - 2016/08/10 Rails

MealMeetUpTask 구현 이번엔 개별 구성원의 상태를 변경해주는 메서드를 작성해야 한다. 유저의 정보를 받고, 그 사람의 MealLog를 업데이트 해 주고, 마지막으로 MealMeetUpTask도 업데이트 해 주는 과정으로 이어질 것이다. Task - menu 작업을 하기에 앞서 작성해놓은 API…

Easylunch Api 서버 제작기 - 2 - 2016/08/02 Rails

Members 구현 이번엔 생성된 에 새로운 맴버를 추가하는 기능을 구현할 것이다. 필요한 메서드는 하나 뿐이라 생각보다 복잡하진 않을 것이라 생각된다. 먼저 Members 컨트롤러를 생성한다. 그리고 routes.rb 파일에 api 경로를 추가해준다. 텅텅 빈 Members 컨트롤러에는 기본적으로 들어갈 메서드들이 있다. Strong parameters 맴버들을 등록하기 위한 정보가 충분한지 검사 기본적인 약속 (email…

Easylunch Api 서버 제작기 - 1 - 2016/07/24 Rails

Clone repository 금방 하지 못했던 easylunch api 서버 프로젝트를 작성하기 시작했다. 프로젝트 생성과 Gem 세팅 등은 이미 되어 있어서 github에 있는 레포를 클론하였고 Issue #10 으로 분류되어 있어서 브랜치를 생성하였다. 이번에는 Bitbucket에서 작성했던 프로젝트와 다르게 development 브랜치를 두지 않고 이슈 브랜치에서 바로 master…