구글 엔지니어는 이렇게 일한다 낙서장
우리는 우리가 올바른 일을 하고 있는지, 제대로 하고 있는지, 그리고 다른 누군가가 이미 해놓은 일은 아닌지를 확인해봐야 합니다. ‘초기’ 단계에서 이런 실수를 범할 확률은 상당히 높습니다. 검증된 주문인 ‘일찍 실패하고, 빨리 실패하고, 자주 실패하라’를 기억해두세요. 혼자 일하게 되면 버스 지수 외에 전반적인 진행 속도도 해롭다. 프로그래머는...
우리는 우리가 올바른 일을 하고 있는지, 제대로 하고 있는지, 그리고 다른 누군가가 이미 해놓은 일은 아닌지를 확인해봐야 합니다. ‘초기’ 단계에서 이런 실수를 범할 확률은 상당히 높습니다. 검증된 주문인 ‘일찍 실패하고, 빨리 실패하고, 자주 실패하라’를 기억해두세요. 혼자 일하게 되면 버스 지수 외에 전반적인 진행 속도도 해롭다. 프로그래머는...
5_ 트랜잭션과 잠금 트랜잭션이 선택 사항인 MySQL 어떤 사용자는 트랜잭션을 상당히 골치 아픈 기능 쯤으로 생각한다. 필수 요소라고 생각했는데 선택이고, 골치 아픈 기능이라고 생각하는 사람이 있다니, 어떤 부분에서 골치 아픈 기능이라 생각하는지 궁금하다. 잠금과 트랜잭션은 비슷한 개념 같지만 목적이 다르다. ...
3_ 사용자 및 권한 역할과 계정은 내외부적으로 동일한 객체라고 했는데, 왜 MySQL 서버에서는 굳이 CREATE ROLE 명령과 CREATE USER 명령을 구분해서 지원할까? 데이터베이스 관리의 직무를 분리할 수 있게 하여 보안을 강화하는 용도로 사용될 수 있게 하기 위해서 4_ 아키텍처 MySQL 서버 MySQL 엔진...
189가지 프로그래밍 문제와 해법 코드숨 스터디(2022.09.21 - 2022.11.23) 9주간 스터디를 진행했다. 매주 같이 문제를 풀었다. 이 책은 무엇을 말하고 있지? 🤔 이 책은 면접자가 가져야 할 태도부터 기술까지 알려주고 있다. 단순히 알고리즘만 푸는 것이 아니라 실전에서 접할 문제들도 포함되어 있다. 추상적이라고...
코드로 이해하는 객체지향 설계 코드숨 스터디(2022.09.3 - 2022.11.12) 두달간 스터디를 진행했다. 인상 깊었던 부분이나 몰랐던 부분들에 대해 이야기를 나눴다. 책에서 나온 예제들을 실습하기도 했다. 처음으로 진행해본 스터디였다. 올해 초에 사두고 초반만 잠깐 읽었던 오브젝트라는 책을 스터디를 통해 다 읽었다. 질문도...
디자인 패턴과 프레임워크 디자인 패턴 : 소프트웨어 설계에서 반복적으로 발생하는 문제에 대해 반복적으로 적용할 수 있는 해결 방법 디자인 패턴의 목적은 설계를 재사용하는 것이다. 디자인 패턴과 프레임워크 모두 협력을 일관성 있게 만들기 위한 방법이다. 1. 디자인 패턴과 설계 재사용 패턴 정의는 하나의 실무 컨텍스트에서 유용하게 사용해 왔...
1. 개요 나무만 보면 숲을 보기 어렵듯이, 설계 세부 사항에서 아키텍처를 찾기란 어렵다. 하지만 아키텍처가 다른 여러 유사한 시스템을 비교해서 무엇이 다른지 알아야 하고, 아키텍처를 식별할 수 있어야 한다. 시스템 아키텍처는 기능과는 별개의 선택이다. 이키텍처 전문가는 도메인 사실, 설계 결정, 구현 세부 정보를 구분하고 묶을 수 있다. ...
일관성 있는 협력 객체지향 설계의 목표는 적절한 책임을 수행하는 객체들의 협력을 기반으로 결합도가 낮고 재사용 가능한 코드 구조를 창조하는 것이다. 객체지향 패러다임의 장점은 설계를 재사용할 수 있다는 것이다. 재사용을 위해서는 객체들의 협력 방식을 일관성 있게 만들어야 한다. 일관성은 설계에 드는 비용을 감소시킨다. 일관성 있는 설꼐가 가져다 주...
서브클래싱과 서브타이핑 상속의 첫 번째 용도: 타입 계층을 구현 타입 계층 안에서 부모 클래스는 일반적인 개념을 구현하고 자식 클래스는 특수한 개념을 구현한다. 타입 계층의 관점 부모 클래스는 자식 클래스의 일반화(generalizati...
1. 인적 자원 관리 1 지금 어디선가 프로젝트가 실패하고 있다 수많은 프로젝트들 중 어느 하나는 실패하고 있다. 기술이 부족해서가 아니다. 뭔가 다른 원인이 있다. 문제 본질적으로 기술적인 문제가 아니라 사회학적인 문제다. 관리자가 업무에서 인간적인 측면보다 기술적인 측면에 집중한다. 기술적인 부분이 해결하기 쉽다. 하지만 기술에 집중하는 관...