일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 오블완
- 스프링핵심원리
- k8s
- 카카오
- Effective Java
- Spring
- 스프링 핵심원리
- java
- kubernetes
- Sort
- 클린아키텍처
- ElasticSearch
- 자바
- 자바스크립트
- 김영한
- 스프링
- 스프링부트
- 엘라스틱서치
- effectivejava
- JavaScript
- 티스토리챌린지
- Effective Java 3
- 이펙티브 자바
- 이펙티브자바
- 이차전지관련주
- 코딩테스트
- 예제로 배우는 스프링 입문
- 카카오 면접
- 알고리즘정렬
- 알고리즘
- Today
- Total
목록클린아키텍처 (3)
Kim-Baek 개발자 이야기
객체지향이란 무엇일까? 면접에서 자주 물어보는 질문이기도 하다. "데이터와 함수의 조합" 이라고 말하는 사람도 있고, "실제 세계를 모델링하는 새로운 방법"이라고 대답하는 사람도 있다고 한다. 하지만 두 개 모두 만족스러운 답변이라고는 하지 않는다. 캡슐화, 상속, 다형성을 통해서 설명하는 사람들도 있는데 그렇다면 이 세 가지 개념이 어떤 것인지 한번 살펴보도록 하자. 캡슐화 데이터를 응집력 있게 구성하고, 구분선 바깥에 데이터는 숨겨지고, 일부함수만 외부에 노출되는 것을 말한다. 객체 지향 언어에서는 private, public 등을 통해서 이를 표현한다. 하지만 객체 지향에서만 해당 개념이 있는 것이 아니다. c언어에서의 사용하는 방법인데, point.c로 구현을 하고, point.h 파일로 해당 기..
이전에 본 1장과 이번에 보는 2장까지는 왜 클린 아키텍쳐가 중요한지를 알려주는 대목이라고 생각하고 편하게 보면된다. 소프트웨어 시스템이 이해관계자에게 두 가지 가치를 제공하는 데, 그것에 대한 설명을 하고 있다. 1. 행위 행위란 말그대로 프로그래머가 제품을 만들어서 어떠한 기능을 하도록 하게 하는 것이다. 이것을 통해서 기계가 수익을 창출하거나 기존에 사용하던 비용을 절약하는 것을 목표로 한다. 많은 사람들이 이것이 프로그래머게 해야할 일의 전부라고 생각한다. 2. 아키텍처 소프트웨어라는 뜻을 한번 살펴보자. "Soft"는 부드럽다는 것이고, "ware"는 제품이다. 소프트웨어는 부드러운 제품, 즉 변경하기 쉬운 제품이라는 것이다. 그렇기 때문에 소프트웨어에 대한 변경사항이 생기면 간단하고 쉽게 적용..
개발자에게 중요한 능력은 무엇일까라는 고민을 많이 하게된다. 신기술을 빠르게 배우고 적용하는 능력, 누구보다 빨리 코딩을 하는 능력 등 여러가지 가 있을 수 있겠다. 회사에서 일을 하다 보니, 여러 사람이 봐도 이해할 수 있는 코드를 짜는 것이 정말 중요한 능력이 아닐까? 라는 생각이 많이 든다. 그래서 해당 능력을 기르기 위해 클린아키텍처라는 책을 읽으면서 스터디를 진행하게 되었다. 1장 - 설계와 아키텍처란? 아키텍쳐는 고수준의 무언가 설계는 저수준의 무엇인가라고 생각하기 쉽지만, 둘은 아무런 차이가 없다고 한다. 중요한 것은 이것의 목표이다. 소프트웨어 아키택쳐의 목표는 필요한 시스템을 만들고 유지보수하는데 투입되는 인력을 최소화하는 데 있다. 좋은 설계로 만들어진 소프트웨어는 많은 사람이 없어도 ..