전체 글

전체 글

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 1)

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 1)

    CH 1. 소프트웨어 엔지니어링이란? 프로그래밍과 소프트웨어 엔지니어링의 가장 큰 차이는 시간, (규모) 확장, 실전에서의 트레이드오프, 이렇게 세 가지이다. 시간: 시간의 흐름과 언젠가 변경될 가능성에 더 신경 써야 함 확장: 소프트웨어 자체뿐 아니라 제작하는 조직까지 양 측면 모두에서의 확장과 효율에 더 집중해야 함 트레이드오프: 대체로 수명과 성장 속도를 정밀하게 예측하기 어려운 상황에서, 결과에 더 큰 영향을 주는 보다 복잡한 결정을 내려야 함 더보기 시간 소프트웨어 엔지니어링에서 프로그래밍이 큰 비중을 차지하지만 결국 프로그래밍은 새로운 소프트웨어를 제작하는 수단이다. 코드의 예상 수명에 대해 생각하라. 단명하는 시스템은 '그저' 프로그래밍 문제와 다를 게 없지만 수명이 길어질수록 변경이라는 요..

    [Effective Python] BETTER WAY 13 - 슬라이싱보다는 나머지를 모두 잡아내는 언패킹을 사용하라

    기본 언패킹의 한계점은 언패킹할 시퀀스의 길이를 미리 알고 있어야 한다는 것이다. 따라서 보통 파이썬을 처음하는 사람들은 다음과 같은 코드를 작성한다. car_ages = [0, 9, 4, 8, 7, 20, 19, 1, 6, 15] car_ages_descending = sorted(car_ages, reverse=True) oldest = car_ages_descending[0] second_oldest = car_ages_descending[1] others = car_ages_descending[2:] 인덱스와 슬라이싱을 사용한 방법으로 시각적으로 잡음이 많으면서 인덱스로 인한 오류가 발생하기 쉽다. 이런 상황을 위해 파이썬에서는 별표 식을 사용해 모든 값을 담는 언패킹을 할 수 있도록 지원한다. ..

    [Effective Python] BETTER WAY 10 - 대입식을 사용해 반복을 피하라

    1. 대입식 대입식은 영어로 assignment expression이며 왈러스 연산자(walrus operator)라고도 부른다. 이 대입식은 파이썬 언어에서 고질적인 중복 문제를 해결하고자 파이썬 3.8에서 새롭게 도입된 구문이다. 일반 대입문은 a = b라고 쓰며 'a 이퀄(equal) b'라고 읽지만, 왈러스 연산자는 a := b라고 쓰며 'a 왈러스 b'라고 읽는다. 대입식은 대입문이 쓰일 수 없는 위치에서 변수에 값을 대입할 수 있으므로 유용하다. 예를 들어 if 문의 조건식 안에서 대입식을 쓸 수 있다. 대입식의 값은 왈러스 연산자 왼쪽에 있는 식별자에 대입된 값으로 평가된다. 2. 예제 2-1. 레모네이드 다음은 주스 바에서 사용할 신선한 과일 바구니를 관리하는 예제이다. fresh_frui..