Essential Book Series
Essential Object Oriented Analysis
This book covers the following topics.
- Domain Object
- Parts of Speech Technique
- Case Study : Buffet R Us
- How to Identify Services
- CRC Technique
- Interviewing Domain Experts
- Conceptual Category List
- Static Modeling
- Class Design
- Finding Operations from the Static Model
- Abstraction
- Choose Good Names
- Encapsulation
- Polymorphism
- Interfaces
- Domain Model
- Effective Use of Inheritance
Essential Object Oriented Design in Ruby
This book covers the basic Object Oriented Design concepts using Ruby programming language. Topics covered are:
- Basics of Abstraction
- Single Purpose Principle
- Stepwise Refinement
- Dependency Inversion Principle
- Basic Three Rules of Design
- The Art of Uniform Interface
- Localized Change vs Additive Change
- Coupling Basics : Dependency Direction
- Concrete Class vs Abstract Messages
- Flexible Design
- Open Closed Principle
Test Driven Development in Ruby: A Gentle Introduction for Beginners
This book covers the following topics:
- Kata
- What is a Coding Kata?
- Why Coding Kata?
- What is a Domain?
- What is a Problem Domain?
- What is a Solution Domain?
- What vs How
- Why distinguish the What and How?
- How to Separate the What from How?
- Focus of What
- Focus of How
- A Brief Introduction to TDD
- What is TDD?
- Why TDD?
- What are the steps in TDD?
- Why write a failing test first?
- How to Write a Failing Test?
- How to Make the Test Pass?
- How to Get All Benefits of TDD?
- Why is TDD Difficult to Learn?
- How TDD Separates the What from How?
- Problem Solving Skills
- How Does Problem Solving Skills Fit into TDD?
- Why do we Need to Separate these Four Phases?
- How Do You Analyze the Problem?
- How Much Analysis is Enough?
- Basics of Test Driven Development
- Designing Test Cases
- Why Design Test Cases?
- How Many Test Cases Do We Need?
- What Should Be the Sequence of Tests?
- What is a Starter Test?
- What is a Next Test?
- What is a Story Test?
- Assertion
- How Many Assertions Can You Use in a Test?
- Canonical Test Structure
- Minimal Implementation
- Why do we Aim for Simplicity?
- Ways to do Minimal Implementation
- Getting it Right
- Common Beginner Mistakes
- Techniques in TDD
- Obvious Implementation
- Fake it Till You Make It
- Triangulation
Essential SQL: A Gentle Introduction for Beginners
This book covers the following topics:
- Create, Insert and Select Statements
- Sorting
- Search Conditions
- Advanced Search Conditions
- Wildcard Search
- Calculated Fields
- Aggregate Functions
- Grouping Data
- Subqueries
- Joins
- Inner Joins
- Advanced Joins
- Update and Delete
- Constraints
- Indexes
Essential Git: Introduction to Git Basics for Beginners
This book covers the following topics.
- Create a Project
- Checking Status
- Making Changes
- Staging Changes
- Un-staging Changes
- Committing Changes
- Tracking Changes to Files
- Committing
- History
- Find the Hash for Previous Version
- Tagging Versions
- Revert Local Changes
- Undoing Staged Changes
- Reverting Committed Changes
- Removing Commits
- Remove Unnecessary Tag
- Modify Commits
- Moving Files
- Creating Branches
- Switching Branches
- Dealing with Different Changes
- Viewing Diverging Branches
- Merging
- Conflict
- Rebasing
- Create a Remote Repository
- Push Branch to Remote
- Get all Remote Branches
- Keep Branches Up to Date
- List all Branches
This book covers the following topics.
- What is a Class?
- What is an Object?
- Creating an Object?
- State and Behavior
- Hidden Instance Variables
- Sending a Message to a Receiver
- Message Passing
- Inheritance
- Module
- Symbol
- The yield Keyword
- Everything is not an Object
- Top Level Context
- Code Execution
- Binding
- Pseudo Variables
- The Default Receiver
- Message Sending Expression
- The Self at the Top Level
- The Dynamic Nature of Self
- When does Self Change
- The main Object
- Message Sender at the Top Level
- Top Level Methods
- Same Sender and Receiver
- Private Methods
- Scope of Variables
- Every Object has a Class
- Instance Methods and Instance Variables
- Block Object
- Focus on Messages
- Self and Scope
- Retry Library
- Class Methods
- Singleton Methods
- Objects and Inheritance Hierarchy
- Class, Object and Module Hierarchy
- Hierarchy of Class Methods
- The Method Lookup
- Modeling the Real World