본문 바로가기

프로그래밍(TA, AA)

(249)
[자바] 자바를 잘 사용하기 위한 78가지 규칙 이펙티브 자바 2판에 수록된 내용입니다. 각 규칙에 대한 상세내용은 대중교통 오고가는 시간에 차례차례 읽어나가고 있습니다. java로 이런저런 개발시 단순히 문법 나열이 아닌, 잘 만들어진 SW를 작성하는데에 아주 유용한 팁이 될 것 같습니다. java 언어에 이런 기능이 있는데, 어떤 상황에서 어떠한 이유를 이런 것을 쓴다는 것을 아는 것은 매우 중요하다고 생각하며, 아래 규칙들을 또 정리하다보니 그동안 잘짜려고 노력했던 코드들이 상당부분 아래 규칙과 맞아떨어지는 부분들도 있었던 것 같습니다. 아래 규칙을 정의한 이펙티브 자바 저자는 더많은 경험과 지식을 갖고있는 훌륭한 개발자이니만큼 주니어개발자로서 모르는 부분은 배워서 실무에서 적용해보려고 합니다. 자바 코딩시 명료함(clarity)과 단순함(sim..
[자바] Effective Java 2/E 발 행: 2014년 9월 1일지은이: 조슈아 블로크(Joshua Bloch) 머리말 내용 일부 발췌: 프로그래밍 언어를 잘 사용한다는 것은 무엇일까요? 일단 언어의 핵심을 이해해야 합니다. 알고리즘적 언어인가, 함수형 언어인가, 객체 지향언어인가? 어휘도 알아야 합니다. 표준 라이브러리에 어떤 자료 구조와, 연산과, 기능이 포함되어 있는가? 그런 다음에는 코드 구조를 만드는 관례와 효과적 용법을 이해해야 합니다. 프로그래밍 서적들 상당수는 앞 두 가지에만 신경을 쓰며, 코딩 관례와 효과적 용법은 잠깐씩만 설명하고 넘어갑니다. 문법과 어휘는 언어에 고유한 속성이지만, 용례는 그 언어를 사용하는 커뮤니티의 특성입니다. 예를 들어 자바(Java)는 단일 계승(Single inheritance)만 지원하는 객체..
[스프링] 스프링의 기술 기술과 비즈니스 로직을 분리하고 POJO 방식의 애플리케이션 개발을 가능하게 한다는 스프링의 목적을 쉽게 이루려면 스프링과 같은 POJO 프레임워크가 필요합니다. 스프링에는 POJO 프로그래밍을 손쉽게 할 수 있도록 지원하는 세가지 가능 기술을 제공합니다. 앞서 살펴봤던 스프링 삼각형이라는 그림에 나와있듯이, 엔터프라이즈 개발에서 POJO 개발이 가능하려면 삼각형의 각 변을 이루고 있는 기술들이 뒷받침돼야 합니다. 그 세 가지 기술은 바로 IoC/DI, AOP, PSA입니다. 이 세가지 모두 스프링이 있기 이전에도 여러 가지 형태로 시도됐고 발전하고 있던 기술이었습니다. 사실 객체지향의 설계와 개발원리를 잘 적용하다 보면 자연스럽게 만들어지는 것이기도 합니다. 다만 스프링은 그것을 통일성 있게, 더 세련..
[스프링] 스프링이란 무엇인가? 스프링은 기본적으로 IoC와 DI를 위한 컨테이너로서 동작하지만 그렇다고 "스프링은 단지 IoC/DI 프레임워크다"라고는 말할 수 없습니다. 스프링은 단순히 IoC/DI를 편하게 적용하도록 돕는 단계를 넘어서 엔터프라이즈 애플리케이션 개발의 전 영역에 걸쳐 다양한 종류의 기술에 관여합니다. 그렇다면 과연 스프링이란 무엇이고 어떻게 설명할 수 있을까요? 스프링 프레임워크가 만들어진 이유와 존재 목적, 추구하는 가치는 무엇일까요? 스프링의 사상과 가치, 그리고 적용된 원칙을 깊이 있게 생각하는 과정을 통하면 스프링이란 도대체 무엇이고 왜 존재하는지를 좀 더 체계적으로 이해할 수 있다면 앞으로 스프링을 더 쉽게 이해하는 데 도움이 될 것입니다. 1. 스프링의 정의스프링이란 이런 것이다라고 한마디로 정의하기는 ..
[수학] 수학의 기본 정석 정리 {a1, a2, ..., an}의 부분집합의 개수는 => 2^n개 이다. 집합B의 원소의 개수가 n일때, 부분집합의 개수는 2^n개로 주어지는 이유는 임의로 B={a1, a2, a3, ... an}으로 두고, 우선 가능한 부분집합을 빈 공간 { }으로 보면, 여기에 각 원소를 넣을 것인지, 넣지 않을 것인지를 판단할 수 있습니다. 즉 n개의 모든 원소에 대해 부분집합을 꾸릴 수 있는 총 경우의 수는, 각 원소들을 포함시킬 것이냐, 제외시킬 것이냐 두 가지의 경울의 수를 각각 곱해줌으로써 구할 수 있습니다.예를 들어 빈 공간에 a1, a2, ... an이 모두 포함되지 않는다면 (모두 제외) 부분집합은 공집합이 될 것이고, 모두 포함시킨다면 부분집합은 n개의 원소가 모두 포함된 자기 자신으로 나올 것입니다..