가독성을 높이려면 다음과 같이 구현해야 한다.네이밍이 잘 되어야 함오류가 없어야 함중복이 없어야 함의존성을 최대한 줄여야 함클래스 혹은 메소드가 한가지 일만 처리해야 함얼마나 코드가 잘 읽히는지, 코드가 지저분하지 않고 정리된 코드인지를 나타내는 것이 바로 '클린 코드
한가지를 제대로 한다.단순하고 직접적이다.특정 목적을 달성하는 방법은 하나만 제공한다.1) 중복 줄이기, 2) 표현력 높이기, 3)초반부터 간단한 추상화 고려하기. 이 3가지가 비결코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행하는 것즉, 가독성이 좋아야 한다.

우리는 보통 개발할 때, 설계(디자인)를 한 이후 코드 개발과 테스트 과정을 거치게 된다.하지만 TDD는 기존 방법과는 다르게, 테스트케이스를 먼저 작성한 이후에 실제 코드를 개발하는 리팩토링 절차를 밟는다.반복적인 '검토'와 '고쳐쓰기'를 통해 좋은 글이 완성된다.

초기 소프트웨어 개발 방법은 계획 중심의 프로세스였다.마치 도시 계획으로 건축에서 사용한느 방법과 유사하며, 당시에는 이런 프로세스를 활용하는 프로젝트가 대부분이었다.90년대 이후, 소프트웨어 분야가 넓어지면서 소프트웨어 사용자들이 '일반 대중들'로 바뀌기 시작했다.이

책 한 권이 나오기 위해서는 집필 → 디자인 → 인쇄 → 마케팅의 과정이 필요하다.소프트웨어 또한 개발 과정이 존재한다.각 과정 (=단계, =task)을 정의한 framework가 SDLC이다.여기서 반드시 SDLC와 Approach를 구분할 수 있어야 한다.SDLC:
객체지향 이전의 패러다임 객체지향 패러다임이 나오기 이전의 패러다임부터 간단하게 살펴보자. 패러다임의 발전 과정을 보면 점점 개발자들이 편하게 개발할 수 있도록 개선되는 방식으로 나아가고 있는 것을 확인할 수 있다. 순차적, 비구조적 프로그래밍 말 그대로 순차적으

'선언형' 프로그래밍으로, 애플리케이션의 상태는 순수 함수를 통해 전달된다.애플리케이션의 상태가 일반적으로 공유되고 객체의 메서드와 함께 배치되는 OOP와는 대조되는 프로그래밍 방식상태와 상태를 변경시키는 관점에서 연산을 설명하는 방식알고리즘을 명시하고, 목표는 명시하
소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 의미한다.결국, 소프트웨어 제품이나 서비스를 알맞은 시기에 출시하기 위해 개발과 운영이 상호 의존적으로 대응해야 한다는 의미로 많이 사용하고 있다.데브옵스의 개념은 애자일 기
간혹 써드 파티라는 말을 종종 볼 수 있다. 경제 용어가 IT에서 쓰이는 부분이다.하드웨어 생산자와 소프트웨어 개발자의 관계를 나타낼 때 사용한다.그 중에서 써드 파티는, 프로그래밍을 도와주는 라이브러리를 만드는 외부 생산자를 뜻한다.하드웨어 생산자가 '직접' 소프트웨

MSA가 도입되기 전, Monolithic 아키텍처 방식으로 개발이 이루어짐Monolithic이란, Monolithic의 사전적 정의에 맞게 '한 덩어리'에 해당하는 구조로 이루어져 있음모든 기능을 하나의 어플리케이션에서 비즈니스 로직을 구성하여 운영함개발이나 환경설정