본문 바로가기
  • 장원익 기술블로그

분류 전체보기579

[개발자 책읽기] 클린 아키텍처-소프트웨어 구조와 설계의 원칙 (2장 두가지 가치에 대한 이야기) 해당 글은 Robert C.Martin 클린 아키텍처 라는 책을 읽고 학습한 내용을 정리 및 회고하는 글 입니다. 자세한 사항은 YES 24 클린 아키텍처 - 소프트웨어 구조와 설계의 원칙 에서 확인해주세요. 클린 아키텍처 - 소프트웨어 구조와 설계의 원칙 (Robert C. Martin) 위키북스 지은이: Robert C.Martin (Uncle Bob) 옮긴이: 송준이 이번 장에서 이야기하고자 하는 것 소프트웨어가 이해관계자에게 제공하는 두가지 가치 행위 구조 개발자는 두가지 가치중 한가지에만 집중하거나 덜 중요한 가치에 집중함 행위 개발자는 이해관계자가 기능 명세나 요구사항 문서를 구체화할 수 있도록 도와줌 구조 (아키텍쳐) 소프트웨어는 변경하기 쉬워야 한다. 변경사항을 적용하는데에 어려움이 있다면.. 2022. 4. 11.
[개발자 책읽기] 클린 아키텍처-소프트웨어 구조와 설계의 원칙 (1장 설계와 아키텍처란?) 해당 글은 Robert C.Martin 클린 아키텍처 라는 책을 읽고 학습한 내용을 정리 및 회고하는 글 입니다. 자세한 사항은 YES 24 클린 아키텍처 - 소프트웨어 구조와 설계의 원칙 에서 확인해주세요. 클린 아키텍처 - 소프트웨어 구조와 설계의 원칙 (Robert C. Martin) 위키북스 지은이: Robert C.Martin (Uncle Bob) 옮긴이: 송준이 이번 장에서 이야기하고자 하는 것 좋은 소프트웨어 설계의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화함에 있다 즉, 나쁜 설계로 구성된 소프트웨어는 새로운 기능 출시마다 비용이 증가한다 지나친 과신이 가진 어리석음 개발자는 자신을 과신하는 실수를 저지름 코드는 나중에 정리하면 돼. 당장은 시장에 출시하는게 먼저.. 2022. 4. 10.
다형성을 위한 instanceof 를 Generic 으로 제거하는 방법 목차 서론 instanceof 란? 코드에서 instanceof 를 느껴보자 Generic 을 이용하여 우아하게 제거하기 그럼에도 존재하는 문제점 하지만? 서론 자바에서 다형성을 이용한 객체지향적 프로그래밍을 하다보면 종종 특정 객체가 지정된 유형의 인스턴스인지 확인해야 하는 경우가 있다. 그 경우 우리는 여러가지 선택지가 있지만, 오늘은 instanceof 에 대해 집중하고 이야기해보려 한다. 다형성을 이용한 프로그래밍을 하다 보면 특정 형으로 변환하기 위해 몇가지 작업을 해야 하는데, 그중 대표적인 것이 바로 instanceof 연산자이다. instanceof 란? 앞서 말했듯 Java 에서는 어떤 객체의 특정 type 에 대해서 동일한 type 인지 확인할 수 있는 연산을 instanceof 연산자.. 2022. 4. 3.
[개발자 책읽기] 클린 코드-애자일 소프트웨어 장인 정신 (14장-점진적인 개선) 해당 글은 Robert C.Martin 클린 코드 라는 책을 읽고 학습한 내용을 정리 및 회고하는 글 입니다. 자세한 사항은 YES 24 클린 코드 - 애자일 소프트웨어 장인 정신 에서 확인해주세요. 클린 코드 - 애자일 소프트웨어 장인 정신 (Uncle Bob) 위키북스 지은이: Robert C.Martin (Uncle Bob) 옮긴이: 박재호, 이해영 이번 장에서 이야기하고자 하는 것 이번 장에서는 Command Line 의 Argument 를 분석하는 유틸리티를 만들며 이를 점직적으로 개선하는 방안을 이야기한다. 점진적으로 개선하다 프로그램을 망치는 가장 좋은 방법중 하나는 개선이라는 이름 아래 구조를 크게 뒤집는 행위이다 TDD 를 해아하는 또 다른 이유가 추가된다 바로 TDD는 어느 때라도 시스.. 2022. 3. 22.
[알고리즘 문제풀이 스킬] 자바로 알파벳을 배열 인덱스로 변환하기 서론 알고리즘 PS 를 하다보면 알파벳을 인덱스로 변환해야하는 일이 종종 생긴다. 이를테면 백준 1316번 그룹 단어 체커 백준 10809번 알파벳 찾기 등등 이외에도 코딩테스트에서도 간간히 이와 비슷한 유형의 문제들에서 알파벳을 배열의 인덱스로 변환 하는 문제들이 몇가지 존재한다. 오늘은 그 문제들을 해결하기 위해서 알파벳을 배열의 인덱스로 변환하는 방법에 대해서 알아보려 한다. 알파벳을 배열의 인덱스로 변환하기 알파벳을 배열의 인덱스로 변환한다는 말은 다음과 같다. 알파벳은 총 26개의 문자가 존재한다. 그럼 이를 배열로 바꾼다면 a 는 0 번째 인덱스로 b 는 1번째 인덱스로 ... z 는 25 인덱스로 위치할 것이다. 이러한 것을 바로 배열의 인덱스로 알파벳을 변환한다고 한다. 이것을 코드로 봐보.. 2022. 3. 19.
[개발자 책읽기] 클린 코드-애자일 소프트웨어 장인 정신 (12장 창발성) 해당 글은 Robert C.Martin 클린 코드 라는 책을 읽고 학습한 내용을 정리 및 회고하는 글 입니다. 자세한 사항은 YES 24 클린 코드 - 애자일 소프트웨어 장인 정신 에서 확인해주세요. 클린 코드 - 애자일 소프트웨어 장인 정신 (Uncle Bob) 위키북스 지은이: Robert C.Martin (Uncle Bob) 옮긴이: 박재호, 이해영 이번 장에서 이야기하고자 하는 것 창발 (創發) 이라고 함은 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다. 이러한 창발성을 촉진하는 단순한 설계 규칙 4가지를 이번 장에서 설명하고 있다. 모든 테스트를 실행하라 중복을 없애라 프로그래머의 의도를 표현하라 클래스와 메서드 수를 최소로 하라 .. 2022. 3. 14.