Java 5

클린코드 7주차: 점진적인 개선

230918클린코드7주차: 14장 점진적인개선 이번 주차에는 14장 "점진적인 개선"을 읽었습니다. 처음에 저자는 명령행 인수 분석을 위한 깔끔한 클래스인 "args"를 보여주고, 깔끔한 클래스가 어떤 지저분한 모양새로 시작헀으며, 깔끔해질 때까지 거친 과정을 볼 수 있었습니다. 14장 점진적인 개선 명령행 인수부터 막혔습니다. 명령행 인수가 무엇인지 몰라서 arg 클래스가 어떤 역할을 하는 것인지 이해하기 어려웠습니다. 찾아보니 자바에서는 한 파일의 코드가 "public void main"으로 선언된 클래스로 시작하고, 해당 main 클래스의 초기화 인수를 편집기나 여러 환경 설정도구를 통해 넣을 수 있다고 합니다. 그 인수가 바로 명령행 인수입니다. public static void main(Stri..

클린코드 6주차: SerialDate 리팩터링, 냄새와 휴리스틱

230912 클린코드 6주 차 클린코드 북스터디를 하며 작성한 독후감 겸 요약글입니다. 이번주에는 16장 Serial Date 리팩터링, 그리고 17장 냄새와 휴리스틱을 읽었습니다. 16장에서는 JUnit에 이어 또 다른 라이브러리 코드를 분석 및 개선하고, 17장은 지금까지 책에서 다룬 기법을 총정리합니다. 이제 책의 거의 마지막 부분을 달려가고 있네요. 최근에 리액트 스터디를 시작해서, 책에서 읽은 기법들을 하나하나 검토하고 개선하여 적용해 볼 생각에 힘이 납니다. 16장 Serial Date 리팩터링 JUnit 들여다보기에 이어서 또 다른 클래스를 리팩터링 하는 쳅터입니다. 리팩터링 대상: David Gilbert - SerialDate Class https://www.jfree.org/jcommo..

클린코드 5주차: 동시성, 그리고 JUnit

230904 클린코드 5주차 클린코드 북스터디를 하며 작성한 독후감 겸 요약글입니다. 5주 차 동안 13장인 "동시성"과 15장 "JUnit 들여다보기"에 대해 읽었습니다. 13장 동시성 동시성 개념과, 동시성 코드를 깨끗하게 작성하는 방법을 이야기합니다. 저는 이 책이 일종의 디자인패턴/소프트웨어 공학적 지식을 다루는 것으로만 알았는데 OS개념이라고 할 수 있는 동시성에 대한 설명이 나와 반갑기도 하고 신기하기도 했습니다. 책을 읽고 보니 사실 동시성이야말로 클린코드에서 다루어야 할 부분이더군요. 일반 싱글 스레드 프로그램보다 코드가 복잡하고, 기상천외한 오류가 많이 발생하기 때문입니다. 이 장의 직접적인 코드예제는 많이 적어서 아쉬웠지만 그래도 동시성 개념에 대한 공부 방향과 테스트 코드 작성 방법에..

클린코드 2주차: 주석, 형식맞추기, 그리고 객체와 자료구조

클린코드 북 스터디를 하며 작성한 독후감 겸 요약글입니다. 이번주에는 4장 주석, 5장 형식 맞추기, 그리고 6장 객체와 자료구조를 읽고 이야기를 나누기로 했습니다. 4장 주석 첫인상 4장은 신선한 쳅터였습니다. 저는 주석은 코드가 아니라고 생각하고 있었습니다. 그래서 좋은 주석을 작성하는 법에대한 쳅터가 상당히 독특하게 다가왔습니다. 주석은 기껏해야 필요악이다. 저자는 주석을 개발자가 코드로 정확한 의도를 표현하는 것에 대해 실패했을 때 사용하는 필요악으로 묘사합니다. 주석은 거짓말을 한다. 개발자가 코드를 작성할 때 실수를 하는 것처럼, 주석을 작성할 때에도 으레 실수를 합니다. 하지만 잘못 쓰인 주석을 테스트할 수 있는 방법은 없으므로 주석은 때로 거짓말을 하거나 혼란을 줍니다. 주석은 의무적으로 ..

아주 쉽게 이해하는 환경변수, window에서 환경변수 설정 및 python에서 사용하기

접근영역을 기준으로 한 다른 변수들과의 비교 지역변수 실행단위를 묶어주는 괄호내부나, 하나의 함수안에서만 접근 가능한 변수 전역변수 프로그램 모든곳에서 접근 가능한 변수 환경변수 프로그램의 실행 환경에서 접근 가능한 변수 지역,전역변수가 결국 프로그램 내부에 소속된 변수라면, 환경변수는 그 프로그램의 실행환경 자체에 소속된 변수다. 환경변수는 프로그램 내부가아닌 프로그램의 실행환경 전체에서 접근 가능하다. 여기서 말하는 환경은ide가 제공해주는 가상환경이나, 당신의 컴퓨터 전체를 뜻한다. 당신도 쓴적있다. 개발을처음시작하면 대부분 프로그램 설치경로를 path 라는 시스템 환경변수에저장한다. cmd에서 python이나 java등을 실행할때 프로그램 설치 주소를 일일이 타이핑 할 수고를 덜어주기 위해 하는 ..

it공부 (개념) 2022.12.24