본문 바로가기

전체 글

(18)
Environment Record - 맛보기 + 2017과 2020 비교 한스푼 이 글은 ECMAScript2017과 ECMAscript 2020을 기준으로 작성된 글입니다. 오타, 오역, 부정확한 표현/정보가 있으면 지적해 주시면 감사하겠습니다. 드디어 Lexical Environment에서 한 발짝을 때 본다. 이번 글에서는 Environment Record가 뭐고, 어떤 게 있는지에 대해서 간략히 알아보고자 한다. 각 종류에 대한 세부 설명은 몇 편에 걸쳐서 소개되지 않을까 싶다. (물론 연휴에 올릴 것 같다 ㅋ) Environment Record 지난 번에는 Environment Record의 정의를 살펴봤다. 아래 정의를 한번 보자. An Environment Record is a specification type used to define the association of..
핵심만 말하기 이 글은 개인적인 경험, 감상을 주로 서술합니다. 혹시 비슷한 문제가 있으시다면 함께 고민해보면 좋겠습니다. 근래에 내가 욕심이 너무 많다는 것을 새삼 깨달았다. 어떤 욕심이냐 하면 말하는 욕심이다. 나는 말할 때, 나의 맥락 전체를 상대방에게 전달시키고자 한다. 그렇지 않으면 안되는 것처럼 정말 1부터 100까지 세세하게 말하려고 한다. 그러다보니 듣는 입장에서는 이놈시끼가 뭘 말하려는지, 문제가 무엇인지 파악하기 어렵다. 이는 실제 다른 사람과 대화하는데 큰 장애물이 되고 있다. 따라서 이 글에서 나름대로 규칙을 세워서 따라보고자 한다. 1. 문제상황을 정확하게 제시한다. (a.k.a 제목을 붙인다.) 서점에 가서 책을 고르는 상상을 해보자. 만약 특정한 책을 사러 간 것이 아니라면, 어슬렁거리며 책..
Lexical Environment 종류 이 글은 ECMAscript 2017을 기준으로 작성된 글입니다. 오타, 오역, 부정확한 표현/정보가 있으면 지적해 주시면 감사하겠습니다. 지난번 맛보기에서 하지 못했던 종류를 슬쩍 들고 왔다. 오늘의 내용은 Lexical Environment의 종류이다. 오늘의 대상 오늘은 아래 소개할 Lexical Environment의 3가지 종류에 대해 알아보고자 한다. Global Environment Module Environment Function Environment Global Environment Global Environment는 우리가 지난번에 이야기했던 Lexical Environment의 구성요소 중 outer Lexical Environment가 null인 Lexical Environment이..
Lexical Environment 맛보기 이 글은 ECMAscript 2017을 기준으로 작성된 글입니다. 오타, 오역, 부정확한 표현/정보가 있으면 지적해 주시면 감사하겠습니다. 다시 한번 맛보기로 돌아왔다. 할 말은 많지만, 이 글의 제목이 맛보기인 이유는 다음 사진으로 대체하겠다. 맛보기 대상 그래서 뭘 맛 볼거냐? 위의 사진에서 조금 알아챌 수 있듯이 굉장히 방대한 내용을 다루고 있으니, 차근차근 접근할 것이다. 이번 편에서는 Lexical Enviroments 개괄을 해보고자 한다. scope와 관련된 이해가 조금 있으면 좋습니다. 진짠가?라는 느낌으로 읽어주시면 감사드리겠습니다. 애매하면 댓글을 남겨주시면 감사드리겠습니다. Lexical Environments A Lexical Environmentis a specification t..
컴퓨터책을 읽어보자1 - 리팩터링 2판 (2) 그러타. 이번에 4.15총선을 맞아 4장까지 읽었다. 이번에도 역시 책을 소개하기 보다 읽으면서 느낀점, 생각한 것을 정리하고자한다. 5장부터 이어지는 리펙토링 방식에 대해서는 (3)편이 아니라 따로 '컴퓨터 지식' 따위의 카테고리를 신설하여 소개할 것 같다. (3)은 1~4장의 내용을 정리하는 글이 될 것 같다. 쨌든, 이번에도 굉장히 재미있는 이야기가 많았다. 2장 2장은 리펙토링의 당위성과 관련된 내용이 담겼다. 간단히 리펙토링은 왜 필요하고, 왜 좋은지에 대해서 적혀있는 '장'이다. 이 장에서 가장 인상깊었던 것은 '리펙토링이 코드를 보기 좋게 수정한다는 심미적인 용어가 아니라 수정, 확장하기 용이하도록 코드를 수정하는 것'이라는 필자의 의견이었다. 평소 추상적으로 '리펙토링하면 코드가 이뻐진다...
1300 - K번째 수 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. www.acmicpc.net 이 문제는 단계별로 풀어보기의 '이분탐색'에 포함된 문제이다. 굉장히 신기한 문제였기에 그만 구글링의 힘을 빌리고야만 문제다. 부끄럽지만 찬란한 제출 현황을 공개하면서 내가 구글링을 한 이유에 대해 조금이나마 변명해 보겠다. 알고리즘 이 문제에서 구하고자 하는 것은 'K번째 수'이다. 우리가 알 수 있는 것은 1~n*n까지의 값이 존재 할..
컴퓨터책을 읽어보자1 - 리팩터링 2판 (1) 동기 이번에 동아리 단톡방에 선배님께서 책을 한권 소개시켜주셨다. 책 이름은 '리팩터링 2판'. 소개글을 보니 상당히 괜찮아보여서 사수님께 말씀드렸다. '사수님! 이번에 '리팩터링 2판'이 나온대요! 자바스크립트로 예시코드가 쓰여져 있대요.' 사수님은 한없이 멍청하게 웃는 날처다보시곤 말씀하셨다. '살까요? 필요하면 사죠.' 그리고는 바로 구매하셨다. 내가 너무 찐따라 그런가 굉장히 당황했지만 그래도 책을 얻었다. (물론 회사책이다) 쨌든 이번에 좋은 기회가 되서 긴 글을 읽게 되었으니 천천히 읽으면서 이 시리즈를 이어나가고자 한다. 절대 금요일에 무심코 올린 뭉텅이 코드 커밋이 빌드가 안되서 메인스트림에서 난리를 치는 바람에 작업이 전부 날아가서 꿀꿀한 기분에 책을 다 읽지도 않고 글을 쓰는게 아니다...
내가 문제해결하는데 잘못된 점들 문제 이번에 회사에서 FB pixel을 다루게 되었다. 아는 사람은 다 알고 있다는 pixel은 Facebook에서 광고비 대비 수익율 등을 측정하기 위해 제공하는 도구이다. 이번에 나는 기존에 회사의 pixel을 관리하는 도구가 가지고 있는 문제점을 찾아 고치는 역할을 맡았다. 초기는 순항이었다. 최초 일주일간 코드를 분석하고 연구하는 시간을 받았는데 2일만에 끝냈고, 또 2일 만에 로직의 중요한 결함을 찾아 해결했다. (물론 사수분의 insight가 결정적이었다.) 그 결과, 원래 3주 뒤에 배포 예정이었던 프로젝트가 1주일 만에 해결되는 상황이 눈앞에 있었다. 하지만 문제는 여기서부터 시작되었다. 총 3가지 이슈가 있었는데, 하나는 백만 단위(1,000,000)의 가격을 돔에서 뽑아올 때 앞의 ,만..