본문 바로가기

프로그래밍68

Chapter03 연결 리스트(Linked List) 1 03-1 추상 자료형: Abstract Data Type 컴퓨터 공학에서의 추상 자료형(Abstract Data Type)추상 자료형! 간단히 ADT라고 불린다. 자료구조에서의 추상 자료형추상 자료형(ADT): 구체적인 기능의 완성과정을 언급하지 않고, 순수하게 기능이 무엇인지를 나열한 것연산의 종류를 결정하는 것도 자료형 정의의 일부로 보아야 하고, 이러한 연산의 종류가 결정되었을 때 자료형의 정의는 완성된다.'자료형'의 정의에 '기능' 혹은 '연산'과 관련된 내용을 명시할 수 있다는 것이다. 따라서 추상 자료형이라 하여 그것에 기능 혹은 연산과 관련된 내용을 명시할 수 없다는 생각을 버리기 바란다. 자료구조의 학습에 ADT의 정의를 포함합니다.학습순서리스트 자료구조의 ADT를 정의한다.ADT를 근거로.. 2017. 12. 8.
[6부 정상으로부터의 조망] Chapter24 다음엔 어디서? 끝이 좋으면 다 좋다 어떤 상황에서든 항상 최고의 코드를 작성하려고 노력하고, 다른 사람들과 함께 일을 잘 하고, 소프트웨어 회사에서 한창 일을 하고 있을 때 실용주의적인 결정을 내릴 수 있는 사람이 되자 그러면 이젠 뭘 하지? 코드 장인의 가장 중요한 특성은 발전하고 싶어하는 욕망 - 지속적인 발전 상태 이 책을 읽는 것만으로는 충분하지 않을 것이다. 책 밖으로 나와서 코딩을 해야 한다. 제대로 해야 한다. 그러면 우리가 이 책이 내용을 실전에 어떻게 옮길 수 있을까? 이 책을 책꽂이에 꽂아 두자 훌륭한 코더들이 있는 곳으로 가서 일을 하자. 그리고 그들로부터 얻을 수 있는 모든 것을 얻자 새로운 테크닉을 시험해 보자 실수하는 것을 두려워하지 말자 기술 지식의 좌표로 삼을 수 있는 외부에 대한 관심을 .. 2017. 12. 7.
[6부 정상으로부터의 조망] Chapter23 외적인 한계 여러 가지 프로그래밍 분야 이장의 내용 여러 가지 프로그래밍 분야 비교 자기 분야에서 효과적으로 일하는 방법 각 분야에서 요구되는 스킬 단 하나의 프로그래밍 언어는 없다 특별한 프로그래밍 분야가 주어졌을 때 코드 장인은 자기 일을 하는 방법 자기 코드를 다루는 방법, 자기가 가진 툴을 가장 잘 사용하는 방법을 안다 애플리케이션 프로그래밍 독립적인 프로그램을 프로그래밍하는 것 애플리케이션 프로그래밍에 관한 주요 시장은 두 종류가 있다 비닐 포장 소프트웨어 비닐 포장 소프트웨어는 대량 판매 시장을 위해 개발 된다 코드는 모든 버전의 운영체제, 여러 가지 컴퓨터 구성, 서로 다른 라이브러리와 설치되어 있는 다른 애플리케이션들과 함께 우아하게 돌아가면서, 이 모든 것들에 올바르게 대처해야만 한다 맞춤형 애플리케.. 2017. 12. 5.
Chapter02 재귀(Recursion) 재귀 (Recursion)자료구조와 알고리즘에 있어서 매우 중요한 요소재귀함수는 자료구조나 알고리즘의 어려운 문제를 단순화하는데 사용되는 중요한 무기이다.재귀의 활용재귀함수는 이해하는 것도 중요하지만 잘 정의하는 것도 중요하다. 그리고 재귀함수를 잘 정의하기 위해서는 사고의 전환이 필요하다.피보나치 수열: Fibonacci Sequence 2017. 12. 5.
[6부 정상으로부터의 조망] Chapter22 프로그램의 요리법 코드 개발 방법론과 프로세스 이장의 내용 프로그래밍 스타일 소프트웨어 개발 프로세스 이것이 코드에 어떤 영향을 미치나 훌륭한 프로그래머는 프로그래밍을 어떻게 하는지 알고 있다; 즉 자기 일에 영향을 미치는 프로그래밍 방법과 습관에 대해 알고 있따 프로그래밍 스타일 소프트웨어 문제를 상세하게 기술하는 방법과 그 문제에 대한 솔루션을 분할해서 타깃 언어로 모델화하는 방법을 묘사한다 당신이 선택한 프로그래밍 언어는 당신의 설계 스타일 결정에 어느 정도 영향을 미칠 것이다 구조적 프로그래밍: 제어 중심의 모델이고, 톱다운 설계 테크닉을 따른다 객체지향 프로그래밍 추상화: 선택적으로 모르게 만드는 기술 캡슐화 응집력 있는 실행 단위들을 단단하게 묶어서 꾸러미 안에 넣고, 잘 정의된 API를 통해서만 접근할 수 있.. 2017. 12. 3.
[5부 프로세스의 일부] Chapter21 얼마나 걸릴까? 얼마나 걸릴까? 소프트웨어 소요 시간 추정이라는 마술 이 장의 내용 소요 시간의 추정이 필요한 이유는? 추정이 어려운 이유는? 실무적인 추정 방법 일정 지키기 복잡하지만 소프트웨어 개발 프로세스에 필수적으로 필요한 일부이고, 모든 프로그래머들이 반드시 배워야 하는 것 소프트웨어 회사의 경비 대부분은 인적 자원에 들어가기 때문에 시간을 추정하는 것은 중요하다 상업적으로 성공적인 소프트웨어를 만들어내기 위해서는 엄청난 통찰력과 계획이 필요고 배짱도 필요하다. 우리가 계획을 하지 않으면 의도한 대로 제품을 만들게 되는 것이 아니라, 되는 대로 만들게 될것이다. 추정은 프로젝트 계획 과정의 필수적인 일부이다. 소요 시간에 관한 정보를 제공할 수 있는 유일한 사람은 그 일을 해야 하는 프로그래머이다 눈감고 찍기 .. 2017. 12. 1.