이미 소장하고 있다면 판매해 보세요.
|
Part 1 루비 개요
1장 루비 개요 2 1-1 루비에 대해 2 1-2 이 책을 읽는 법 5 1-3 루비 자료 활용법 6 1-4 루비 컴파일러 설치 방법 7 1-5 루비를 사용해 보자 11 1-6 코딩 스타일 16 1-7 여러 종류의 루비 18 1-8 루비 커뮤니티와 관계자 24 1-9 루비 개발에 대해 알기 24 Part 2 루비 언어 규격 2장 루비 기초 28 2-1 Hello, Ruby 28 2-2 변수와 상수 33 2-3 조건 분기와 진릿값 36 2-4 식 37 2-5 클래스 38 2-6 모듈 44 2-7 주요 내장 클래스 45 2-8 다양한 대입식 55 2-9 예외 56 2-10 외부 파일 읽기 57 2-11 예약어 58 2-12 내장 변수 및 상수 58 3장 제어 구조/메소드/내장 함수 62 3-1 연산자 62 3-2 기본적인 제어 구조 64 3-3 예외 처리 73 3-4 대역 탈출 80 3-5 메소드 정의와 호출 81 3-6 기본적인 내장 함수 99 4장 클래스와 모듈 108 4-1 클래스 108 4-2 모듈 123 4-3 객체 130 5장 주요 내장 클래스/모듈 136 5-1 Numeric 136 5-2 String 144 5-3 Regexp 151 5-4 Comparable 161 5-5 Enumerable 162 5-6 Time 190 5-7 IO/File 197 5-8 Dir 210 5-9 스레드 213 5-10 파이버 223 5-11 Process 226 5-12 Struct 229 5-13 Marshal 231 5-14 ObjectSpace 233 Part 3 메타 프로그래밍 6장 루비의 클래스 객체 236 6-1 Class 클래스로 클래스를 만든다 236 6-2 클래스 객체 240 6-3 싱글톤 클래스 250 6-4 메소드 탐색 방법 257 6-5 Module#prepend 265 7장 동적 프로그래밍 273 7-1 오픈 클래스 273 7-2 BasicObject#method_missing 275 7-3 eval 279 8장 Proc 객체 291 8-1 Proc 클래스 291 8-2 Proc#new 이외의 Proc 객체 생성 방법 295 8-3 Proc.new/Kernel.proc/Kernel.lambda 296 8-4 루비의 클로저 300 9장 Method 클래스 302 9-1 Method 객체 302 9-2 Method 클래스와 UnboundMethod 클래스 307 9-3 Method 객체와 Proc 객체 310 10장 루비의 리플렉션 프로그래밍 313 10-1 객체를 조사 313 10-2 클래스를 조사 323 10-3 이벤트를 후크(hook)한다 336 Part 4 기본 탑재 라이브러리 11장 라이브러리 348 11-1 멀티 스레드 프로그래밍(thread) 348 11-2 손쉬운 비동기 프로그래밍(Fiber) 354 11-3 고급 파일/디렉터리 조작(pathname/fileutils/tmpdir/tempfile) 356 11-4 특정 형식의 텍스트 데이터를 간단히 조작(yaml/json/csv) 365 11-5 상급자를 위한 문자열 객체(StringIO) 378 11-6 집합 활용하기(Set) 381 11-7 상세한 시간/날짜(Time/Date) 387 11-8 심플한 HTTP 클라이언트(net/http) 394 11-9 가장 기본적인 템플릿 라이브러리(ERB) 402 11-10 루비 벤치마크를 간단하게(benchmark) 407 11-11 로그 파일 처리(Logger) 411 12장 내장 툴 416 12-1 irb 416 12-2 RDoc 422 12-3 Rake 429 12-4 RubyGems 445 Part 5 실전 프로그래밍 13장 gem 패키지 작성법 462 13-1 모형 생성 462 13-2 gemspec에 대해 464 13-3 gem 패키지 작성 470 13-4 Rake 태스크 471 13-5 C 언어로 라이브러리 작성 475 14장 자주 사용되는 외부 툴 481 14-1 번들러 481 14-2 카피스트라노 496 14-3 YARD 518 14-4 Pry 544 15장 커맨드라인 애플리케이션 개발 562 15-1 개발할 Todo 관리 애플리케이션에 대해 562 15-2 Todo 관리 애플리케이션을 개발하기 전에 567 15-3 CLI 애플리케이션 작성 572 15-4 데이터베이스 접속 처리와 Command 클래스 575 15-5 커맨드라인 인수 해석 590 15-6 Command 클래스와 결합 602 15-7 Todo 관리 애플리케이션 완성과 gem 패키지화 608 16장 웹 애플리케이션 개발 612 16-1 웹 애플리케이션 개발 환경 612 16-2 Todo 애플리케이션 2.0.0에서 사용할 라이브러리 623 16-3 웹 인터페이스 추가 637 16-4 다시 todo 명령 668 16-5 Todo 애플리케이션 2.0.0 완성 671 찾아보기 674 |
|
루비에서는 라이브러리 관리를 위해서 RubyGems라는 관리 시스템을 사용한다. 그리고 RubyGems를 통해 설치되도록 패키징되어 있는 라이브러리를 gem 패키지라고 한다.
이 RubyGems를 이용해서 gem 패키지를 설치할 때는 빌드가 필요한 것도 있다. RubyInstaller를 이용해서 루비를 설치했다면, 같은 다운로드 페이지에 있는 ‘Development Kit’를 사용해서 컴파일 환경을 설치해 두는 것이 좋다. 그림 1.4처럼 다운로드 페이지에 있는 ‘Development Kit’를 다운로드한 후 exe 파일을 실행한다. _9p 루비에는 유사 변수(pseudo variable)라고 하는 참조 전용 변수가 있다. 표 2.4는 유사 변수 목록이다. true, false, nil 이외의 유사 변수는 위치나 구문에 따라 참조하는 값이 달라진다. 유사 변수에는 값을 대입할 수 없다. _58p Object 클래스에는 대소를 비교하는 비교 연산자가 정의돼 있지 않다. 때문에 새롭게 정의한 클래스 객체를 비교 연산하고 싶은 경우에는 비교 연산자 메소드를 독자적으로 정의할 필요가 있다. 이때, Comparable 묘듈을 이용하면 조금 더 간단하게 비교 연산자 메소드를 사용할 수 있다. _161p 클래스 인스턴스 변수를 사용함으로써 해당 클래스에만 국한되는 기능을 구현할 수 있었다. 이처럼 해당 클래스 내에서만 정보를 보유하고 싶다면 클래스 인스턴스 변수를 사용하고, 클래스에 관련된 모든 곳에서 정보를 공유하고 싶다면 클래스 변수를 사용한다. _245p 간단한 파일 조작이라면 File이나 Dir 같은 내장 클래스만으로도 충분하다. 하지만 처리를 더 쉽게 기술하고 싶거나, 복잡한 파일 조작을 하고 싶은 경우도 있다. 바로 이런 때 도움이 되는 것이 기본 탑재 라이브러리로 제공되는 파일/디렉터리 관련 라이브러리다. _356p 작성한 gem 패키지는 rubygems.org 등에 업로드하지 않고 자신이 가진 장비에 설치할 수 있다. 설치할 때는 먼저 gemspec 파일에 기술된 내용에 따라 빌드를 실행해야 한다. 모형 작성 방법에 따라 빌드 방법이 다른데, 이번에는 번들러가 제공하는 Rake 태스크를 이용하자. ‘rake build’ 명령을 통해 빌드 처리를 실행할 수 있다. ---p.472 |