프로그래밍

끄적끄적/Book Review

2023년 1월 독서 정리

2023년 1월에는 총 5권의 책을 읽었다. 1. 이와타씨에게 묻다 ⭐⭐⭐ 호보닛칸이토이신문 엮음 / 이큰 출판 / 경영 분야 회사 동료분들과 같이 북 스터디를 하면서 읽은 책. 닌텐도 전 CEO 이셨던 이와타 사토루씨에 대한 에피소드를 엮은 책. 한 줄 요약 : 닌텐도가 괜히 오랫동안 잘 팔리는게 아니다. 거기엔 다 이유가 있었다. 원 픽 구절 : 지금까지의 흐름을 전부 돌이켜보면, 과정 중 작은 부분에서 "그랬더라면 좋았을걸"이라는 말은 얼마든지 나올 수 있지만, 완성된 Wii 자체에는 "그랬더라면 좋았을 걸"이라는 말이 이상할 정도로 없습니다. p135 2. Continuous Discovery Habits ⭐⭐⭐⭐ Teresa Torres 저 / 경영 분야 재은님 PM 북 스터디에 (비록 PM은 ..

끄적끄적

나는 어쩌다 프로그래밍을 시작하게 되었나

본문은 교보문고 7호 - 개발하는 마음 에 기고한 글입니다. 안녕하세요. 저는 의료 도메인의 문제를 해결하는 헬스케어 스타트업 굿닥에서 웹 프론트엔드 엔지니어로 일하고 있는 오원종입니다. 저는 비전공자 출신 개발자입니다. 대학에서는 신소재공학을 전공했고 군 전역 후 스물다섯이라는 다소 늦은(당시에는 그렇게 생각) 나이에 프로그래밍에 입문하게 되었습니다. 개발을 시작한지는 약 5년, 개발자로 커리어를 쌓은지는 이제 3년이 되어가는 시점에서 저는 지금 적성에 잘 맞는 일을 하고 있다고 생각해서 그 점은 정말 다행이고 감사합니다. 이번 글에서는 제가 어떠한 계기로 프로그래밍을 시작하게 되었는지 저에 대한 소소한 이야기를 들려드릴까 합니다. 스타트업에 관심을 가지다 제가 군 전역을 한 2016년 여름, 저는 여..

끄적끄적/회고록

Adios 2022 (Part 1. 회사편)

올 해도 어김없이 한 해가 마무리가 되는 시점이 왔다. 나는 연례 행사로 연말에 한 해를 정리하면서 회고록을 쓴다. 올 해도 마찬가지로 2022년 회고록을 써보려고 한다. 정리를 하다 보니 내용이 많아서 Part 1. 회사편, Part 2. 개인편 으로 나누어서 회고를 작성해 보려고 한다. 지난 회고록이 궁금하다면? Adios 2021 Adios 2020 Adios 2019 올해 여름 회사에서 프로필 사진을 다시 찍었다. Table of contents DropBox Career Framework SWE 2 기준표 점검 잘 한 부분 잘 못한 부분 프로덕트 (Product) 비대면진료 서비스 V4 전사 마이그레이션 B2B 웹 B2C 모바일 비즈니스 (Business) 시리즈 A 투자 유치 안드로이드 의료 ..

끄적끄적/Book Review

[구글엔지니어] Ch05 요약 및 토론

Ch 05. 팀 이끌기 구글은 리더 역할을 두 가지로 구분 관리자(manager) : 사람을 이끔 테크 리드(tech lead) : 기술 관련 책임을 짊 5.1 관리자와 테크 리드 5.1.1 엔지니어링 관리자 구글은 엔지니어링을 아는 사람만이 소프트웨어 관리자가 될 수 있도록 한다. → 소프트웨어 경험이 있는 관리자를 고용하거나, 기존 소프트웨어 엔지니어를 관리자로 훈련시킨다. 거시적인 측면에서 엔지니어링 관리자는 자신이 관리하는 팀의 구성원 모두(테크 리드도 포함) 성과(performance), 생산성(productivity), 행복(happiness)을 책임져야 한다. 동시에 팀에서 만드는 제품의 사업적 요구까지 충족시켜야 한다. 5.1.2 테크 리드 테크 리드는 제품의 기술적인 면, 즉 기술과 관련..

Computer Sci./Design Pattern

Law of Demeter (디미터 법칙)

사내에서 디미터 법칙을 주제로 작은 세미나를 준비했었는데, 그 내용을 정리해 보았습니다. Table Of Contents 디미터 법칙(Law Of Demeter) 결합도 통제(Coupling Control) 정보 은닉(Information Hiding) 메시지와 인터페이스 참고 자료(Reference) 디미터 법칙 위키피디아에서는 디미터 법칙에 대해 다음과 같이 정의하고 있다. 💡 The Law of Demeter (LoD) or principle of least knowledge is a design guideline for developing software, particularly object-oriented programs. In its general form, the LoD is a specif..

Computer Sci.

[한.권.컴.구] Ch1. 컴퓨터 내부의 언어 체계

0. 들어가며 P34 자바는 부분적으로 당시 널리 쓰였던 C 프로그래밍 언어를 본떠 만들어졌다. C에는 메모리 자동 관리가 없었고, 메모리 관리 오류는 당시 프로그래머에게 자주 두통을 일으키게 하는 오류였다. 자바는 언어 설계를 통해 이러한 종류의 오류(메모리 관리 관련 오류)를 없앴다. 이것이 자바가 초보자에게 좋은 언어가 된 이유 중 하나다. 하지만 좋은 프로그래머와 좋은 프로그램을 탄생시키려면 좋은 프로그래밍 언어 이상의 것이 필요하다. 그리고 자바로 인해, 디버깅하기 더 어려운 새로운 버그 종류가 생겨났음이 드러났다. 이런 버그 중에는 감춰진 메모리 관리 시스템으로 인해 생긴 형편없는 성능이 포함된다. P36 요즘 프로그래밍은 미디를 사용하는 것처럼 되고 있다. 더 이상 프로그램을 작성하기 위해 ..

Computer Sci.

[동시성 프로그래밍] Ch3. 동기 처리 1 (상)

동시성 프로그래밍에서 여러 프로세스 사이의 협조가 필요한데, 프로세스 사이에 타이밍 동기화, 데이터 업데이트 등을 협조적으로 수행하는 처리를 동기 처리(synchronous processing)라 부른다. 3.1 레이스 컨디션 레이스 컨디션(race condition)은 경합 상태라고 불리며, 여러 프로세스가 동시에 공유하는 자원에 접근함에 따라 일어나는 예상치 않은 이상이나 상태를 의미한다. 동시성 프로그래밍에서는 이 레이스 컨디션을 일으키지 않고 올바르게 프로그래밍을 하는 것이 중요한 문제이다. 예를 들어 공유 메모리 상에 있는 변수를 여러 프로세스가 증가시킨다고 가정하자. 이 때 메모리에 읽기와 쓰기를 동시에 수행할 수는 없고, 각각 다른 타이밍에 수행한다고 가정한다. 아래 그림은 프로세스 A, B..

Computer Sci.

[동시성 프로그래밍] Ch1. 동시성과 병렬성

1.1 프로세스 존재론적으로 설명하는 물질에는 사물과 프로세스가 있다. 사물은 공간상에서 넓이를 갖지만 시간적인 넓이는 갖지 않는 것이며, 프로세스는 공간과 시간의 넓이를 모두 갖는 것이다. 즉, 사물은 특정한 시점에 전체가 존재하지만 프로세스는 특정한 시점에 일부만 존재한다. 다만, 이 책에서는 어떤 계산을 수행하는 추상적인 계산 실행 주체라는 계산과 관련된 프로세스만 가리킨다. 이 책에서는 프로세스를 다음과 같이 정의한다. 프로세스란 계산을 실행하는 주체를 가리키며 크게 다음 네 가지 상태를 변경하면서 계산을 진행한다. 실행 전 상태 : 계산을 실행하기 전의 상태. 실행 상태로 전이할 수 있다. 실행 상태 : 계산을 실행하고 있는 상태. 대기 상태 또는 계산 종료 상태로 전이할 수 있다. 대기 상태 ..

DevOwen
'프로그래밍' 태그의 글 목록