본문 바로가기

SW LAB

Clean Code : (1) 깨끗한 코드 프롬스의 SWDEVLAB 깨끗한 코드 이 책을 읽는 이유는 두 가지가 있습니다. 첫째, 프로그래머이기 때문에 .. 둘째, 더 나은 프로그래머가 되고 싶기 때문에 .. 코드를 최대한 다양한 각도에서 살펴보고 사방으로 돌리고 안팎으로 뒤집으며 꼼꼼히 따져봅니다. 코드가 존재하리라 자동으로 코드를 작성해주는 시대가 다가오고 있지만, 코드가 사라질 가망은 없습니다. 코드는 요구사항을 상세히 표현하는 수단이기 때문입니다. 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍입니다. 궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심해야 합니다. 요구사항에 더욱 가까운 언어를 만들 수도 있고, 요구사항에서 정형 구조를 뽑아내는 도구를 만들 수도 있습니다. 하지만 어느 순간에는 정밀.. 더보기
Clean Architecture : (2장) 소개 - 두 가지 가치에 대한 이야기 프롬스의 SWDEVLAB 두 가지 가치에 대한 이야기 모든 소프트웨어 시스템은 이해관계자에게 서로 다른 두 가지 가치를 제공합니다. 행위(Behavior)와 구조(Structure)가 바로 그것입니다. 소프트웨어 개발자는 두 가치를 모두 반드시 높게 유지해야 하는 책임을 집니다. 개발자들은 불행하게도 한 가치에만 집중하고, 다른 하나는 배제하거나.. 덜 중요한 가치에 집중하여 쓸모없는 소프트웨어를 만들게 됩니다. 행위 소프트웨어의 첫번째 가치는 바로 행위(Behavior)입니다. 프로그래머를 고용하는 이유는 이해관계자를 위해 기계가 수익을 창출하거나 비용을 절약하도록 만들기 위해서입니다. 이해관계자가 기능 명세서나 요구사항 문서를 구체화할 수 있도록 돕고, 기계가 이러한 요구사항을 만족하도록 코드를 작성.. 더보기
Clean Architecture : (1장) 소개 - 설계와 아키텍처란 ? 프롬스의 SWDEVLAB 설계와 아키텍처란? 설계와 아키텍처 사이에는 오랫동안 많은 혼란이 있었습니다. 두 사이에는 어떤 차이가 있는 것일까? 이 책의 목적은 이러한 혼란을 없애고, 설계와 아키텍처가 무엇인지를 완전하게 정의하는 것입니다. 우선 첫째로 주장하고 싶은 바는 둘 사이에는 차이가 없다는 것입니다. 아무런 차이가 없습니다. 아키텍처는 저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 사용하는 반면, 설계는 저수준의 구조 또는 결정사항 등을 의미할 때가 많습니다. 하지만 아키텍처가 실제로 하는 일을 살펴보면 이러한 구분은 무의미합니다. 새로운 집을 설계하는 아키텍트가 있고 아키텍처를 살펴보면, 집의 형태, 외관, 입면도, 공간이나 방의 배치 등을 볼 수 있습니다. 그리고 자세히 살펴보면 도.. 더보기
Clean Architecture : 서론 프롬스의 SWDEVLAB 서론 두달 전쯤 .. 회사 지원해주는 도서구입 혜택을 누리며 여러 IT 서적을 주문하였지만 .. 자격증 취득이라는 핑계로 미루던 책을 하나하나 보고 있습니다. 예전부터 보려고 했었던 Clean Architecture ! 저녁마다 시간을 내어서 꾸준히 보도록 해야겠습니다 :-) 추천사 아키텍처를 이야기할 때 우리는 무엇에대해 이야기하나요 ? 비유라는 것이 늘 그렇듯이 아키텍처라는 렌즈를 통해 소프트웨어를 살펴보면, 알 수 있는 것만큼이나 숨겨진 것도 있게 마련입니다. 그래서 아키텍처가 실제로 제공할 수 있는 것 이상을 약속하기도 하지만, 약속한 것보다 많은 것을 제공할 때도 있습니다. 아키텍처의 매력은 그 구조에 있다고 합니다. 구조란 패러다임을 지배하고 소프트웨어 개발 논의를 지.. 더보기
Clean Code : (0) 서론 프롬스의 SWDEVLAB Clean Code : 서론 요즘 다른 공부를 하느라 IT 서적을 좀 멀리한 듯 싶습니다. 다시 힘을 내어, Clean Code를 읽으며 포스팅을 꾸준히 다루어볼까 합니다. 서론 장인 정신을 익히는 과정은 두 단계로 나뉩니다. 바로 이론과 실전입니다. 첫째, 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 합니다. 둘째, 열심히 일하고 연습해 지식을 몸과 마음으로 체득해야 합니다. 깨끗한 코드를 작성하는 방법은 배우기 어렵습니다. 단순히 원칙과 패턴을 안다고 깨끗한 코드가 나오지 않습니다. 고생을 해야 합니다. 스스로 연습하고 실패도 맛봐야 합니다. 남들이 시도하다 실패하는 모습도 봐야 합니다. 그들이 넘어지고 일어서는 모습도 봐야 합니다. 결정을 내리느라 고민하.. 더보기
AWS SA Professional 자격증 : 시험 대비 용어 정리 프롬스의 SWDEVLAB AWS SA Professional 자격증 : 시험 대비 용어 정리 자격증 대비로 공부를 하면서 모르는 용어에 대해 간단하게 정리를 하였습니다. 용어 목록 컴퓨팅 Fargate 서버리스 컴퓨팅 엔진 비용 : 시간당 사용된 CPU, Memory Lambda 비용 : 요청수, 메모리 함수 실행 초 SAM Stateless Application Model. YAML 템플릿을 사용하여 애플리케이션 (lambda, API End Point, DynamoDB 등) 을 설명하는데 사용. 배포과정에서 CloudFormation으로 변환 ECR Elastic Container Registry. Docker 컨테이너 이미지를 손쉽게 저장, 관리, 배포할 수 있게 해주는 완전 관리형 Docker C.. 더보기
InfluxDB : InfluxQL Functions 목록 InfluxDB - InfluxQL Functions InfluxQL은 Aggregate, Select, Transform, Predict Data 측면에서 함수들을 제공합니다. Index - Aggregations 1. COUNT 2. DISTINCT 3. INTEGRAL 4. MEDIAN 5. MODE() 6. SPREAD() 7. STDDEV() 8. SUM() - Selectors 1. BOTTOM() 2. FIRST() 3. LAST() 4. MAX() 5. MIN() 6. PERCENTILE() 7. SAMPLE() 8. TOP() - Transformations - Predictors - Technical Analysis Aggregations 1. COUNT() 널이 아닌 필드 값의 수를 .. 더보기
AWS CLI를 이용하여 S3 다루기 AWS CLI를 이용하여 S3 다루기 계정 확인 프로그래밍 방식 엑세스 유형을 갖고 있는 AWS 사용자가 필요합니다. 없다면, 프로그래밍 방식 엑스스 유형을 지닌 사용자를 IAM에서 생성합니다. 그리고 Access Key, Secret Key에 대한 정보를 담은 CSV 파일을 잘 보관하도록 합니다. AWS CLI 설치 AWS의 Command Line Interface를 이용하기 위해서는 AWS CLI를 설치해야 합니다. AWS CLI 사용설명서에 더 자세한 내용이 있습니다. 본문은 Windows에 AWS CLI 버전 2 설치 항목에 해당하는 내용을 참고하여 설치를 진행하였습니다. 파일 다운로드를 하고, 설치를 진행합니다. AWS CLI Version 2는 WindowsXP 이상, 64Bit 에서만 지원합.. 더보기