본문 바로가기

반응형

Programming

익스트림 프로그래밍 한글제목(Korean) 익스트림 프로그래밍 영문제목(English) Title in English ISBN 8991268102 교보문고 , yes24 기간(Reading in) 2006/09/01-2999/12/31 평가(5단계,Rate) ★★★★★ 관련서적(Similar Books) 사용자 스토리 : 고객 중심의 요구사항 기법, ISBN:8991268137 요약(Summary) - 가치, 원칙, 실천방법(가치와 원칙을 연결하는 다리역할) - 가치 : 의사소통, 단순성, 피드백, 용기, 존중 - 원칙 : 인간성, 경제성, 상호이익, 자기유사성, 개선, 다양성, 반성, 흐름, 기회, 잉여, 실패, 품질, 아기 발걸음, 받아들인 책임 - 기본실천방법 함께 앉기: 의사소통을 최적화하는 수준에서 팀 구성원이 함.. 더보기
Collection ArrayList TreeSet : Keeps the elements sorted and prevents duplicates HashMap : Let's you store and access elements as name/value pairs LinkedList : Designed to give better performance when you insert or delete elements from the middle of the collection HashSet : Prevents duplicates in the collection, and given an element, can find that element in the collection quickly. LinkedHashMap : Like a r.. 더보기
객체 직렬화(Object Serialization) Object Serialization - 객체를 직렬화하는 경우, 참조변수와 관련있는 객체들도 함께 직렬화된다. - Serializable 인터페이스를 구현한 객체는 직렬화 가능 - Super클래스가 Serializable이면, Sub클래스는 명시적으로 구현하지 않아도 Serializable - 직렬화처리를 전체 성공하지 못하는 경우에는 fail처리됨(부분적으로 성공하는 경우는 있을 수 없음) - 직렬화에서 제외시키고자 할 때 : transient 키워드 사용하면 직렬화 처리시 제외됨 - 직렬화할 경우, 클래스 내부에 static final long serialVersionUID = *******L;을 명시하면, deserialize시 발생하는 사소한 클래스변경에 따른 문제를 해결할수 있다. - 명령창에.. 더보기
Wrapping a primitive Wrapping a primitiveBoolean Character Byte Short Integer Long Float Doublewrapping a valueint i = 288 Integer iWrap = new Integer(i);unwrapping a valueint unWrapped = iWrap.intValue();Head First Java, 2nd Edition, p.287Autoboxing In Java 5.0, the conversion from primitive to wrapper object automatically.public void doNumsNewWay() { ArrayList listOfNumbers = new ArrayList(); listOfNumbers.add(3);.. 더보기
객체지향언어(Object Oriented Language) I. C++의 다형성기능 템플리트구조 - 일반화 추상 자료형 - 매크로 대치구조이므로 사용시마다 동일한 템플리트 코드가 만들어짐II. 객체지향 프로그램의 개념 역사 - 1960년대 Simula 67이 기원 - 1980년 Smalltalk80에서 완전한 모습을 나타냄 객체 - 실세계에 존재하는 모든 것 - 자체의 정보 + 외부와 상호작용 프로그래밍 언어의 객체 - 객체기반의 언어 객체중심->객체에 필요한 연산을 요청 - 프로시저중심의 언어 연상중심->연산이 데이터를 처리 - 객체 : 추상 자료형에 의해 만들어진 것. (보호화된 데이터 + 데이터에 대한 연산) 객체를 기반으로 하는 언어 분류 - 객체기반언어 단순히 추상 자료형의 객체를 정의할 수 있는 언어 - 객체지향언어 추상자료형 + 계승/부프로그램 호출.. 더보기
대규모 프로그래밍 분할정복 - 복잡한 것을 여러 부분으로 분할 - 분할된 여러 부분을 좀 더 작은 문제로 나누어 해결 - 각 부분의 중요 특징만을 추출=>추상화추상화 - 프로그램의 추상화 : 모듈화 - 모듈 : 상호작용의 최소화 및 독립적 기능캡슐화 - 부프로그램과 데이터의 통합 - 정보은폐:모듈의 구체적인 표현 및 구현 내용 접근의 블랙박스화 - 구조 접속부 : 제공되는 서비스의 정의 및 서비스에 대한 접근방법 정의 구현부 : 서비스를 구현한 부분(사용자에게 은폐)독립컴파일 - 어떤 모듈을 다른 모듈에 관계없이 컴파일하는 것 - 예 : C분리컴파일 - 순서를 따라서 컴파일함 - Ada, Modula-2, FORTRAN 90 추상자료형 - 하나의 자료형에 대한 표현명세와 그 자료형에 대한 연산인 부프로그램의 캡슐화 - 접.. 더보기
범위 (Scope) 실체(변수,레이블의 속성)가 그 이름(변수이름,프로시저이름,레이블이름)으로 유효하게 사용(이름으로 접근 가능)될 수 있는 프로그램의 영역. Ada에서처럼 정의하는 방법에 따라서는 범위와 가시성을 별개로 구분할 수도 있다. 블록 ALGOL60에서 최초 제시된 개념. 특정 변수가 어떤 문맥 속에서 의미를 가지는 범위. 블록구조 언어 : 블록 안에 또 다른 블록이 포함되는 것을 허용하는 언어 경계 : 부호 또는 예약어를 사용하여 지정함 변수 사용 범위 : 지역변수 : 자기 블록에서 선언된 변수 비지역변수 : 상위 블록에서 선언된 것이지만 자기 블록에서 쓸 수 있는 변수 전역변수 : 제일 바깥 쪽 블록에서 선언되어 모든 블록에서 쓸 수 있는 변수 장점 : 블록 내에서는 변수명을 자유롭게 사용할 수 있게 됨. 프.. 더보기
기억장소와 생명시간 (memory and lifetime) 기억장소 할당 - 변수의 값을 기억시킬 기억장소를 할당(allocation)하면 변수의 메모리 위치가 바인딩됨 - 변수의 필요성이 없어지면 할당된 기억장소가 반납됨 생명 시간(lifetime) - 변수의 값과 기억장소가 바인딩되어 있는 시간간격 - 생명시간에 따른 변수 분류 : 정적변수, 스택변수, 명시적 히프변수, 묵시적 히프변수 1. 정적 변수(static variable) 기억장소가 실행 이전에 바인딩되어 실행종료까지 계속되는 변수이며, 실행시간 전체에 걸친 생명시간을 가진다. 해당 단위 프로그램이 실행중이 아닌 동안에도 바인딩이 유지됨. C/C++, Java에서는 static을 지역변수의 선언 앞에 붙이면 정적 변수로 선언된다. 전역 변수도 정적 변수로 볼 수 있다 (1) 장점 프로그램 실행중 기.. 더보기

반응형