Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
About This eBook Title Page Copyright Page Dedication Page Contents at a Glance Table of Contents Acknowledgments About the Author We Want to Hear from You! Reader Services Introduction: Why I Wrote This Book
Why You Should Read This Book Your Project
1. “Hello, World!” Writing Your First Program
Choose a Text Editor
Core Features
Making Your Choice
Sublime Text TextMate Notepad++ Gedit Vim Eclipse IntelliJ Xcode Visual Studio
Create a Project Directory Start Small: Create a Test File
How HTML and JavaScript Work Together in a Browser The Value of Small Changes
Build on Your Success
Reference Your JavaScript in manifest.json Let It Run!
Great Power, Great Responsibility Summing Up
2. How Software Works
What Is “Software”? Software Life Cycle Source Code—Where It All Starts
A Set of Instructions Programming Languages From Source Code to 0’s and 1’s Compiled vs. Interpreted Languages: When Does the Source Code Become Binary? Runtime Environment Execution by the Processor
Input and Output
Making Software Useful (and Reusable) with Input Where Does the Input Come From? How the Software Gets the Input Types of Output GIGO: Garbage In, Garbage Out State Add State to Kittenbook
Memory and Variables
Variables Variable Storage A Finite Resource Memory Leaks
Summing Up
3. Getting to Know Your Computer
Your Computer Is Stupid Your Computer Is Magic
Standing on the Shoulders of Giants
Computer Guts
Processor Short-Term Memory Long-Term Memory
Using Your Computer
The File System The Command Line: Take Control
Summing Up
4. Build Tools
Automate (Almost) Everything
Install Node Install Grunt Software That Helps You Create Software Avoid Mistakes Work Faster
Tasks to Automate
Compile Test Package Deploy
Build Your Own Build
Gruntfile.js Use Grunt Plug-ins Load Grunt Plug-ins Register Tasks
Watch This! Summing Up
5. Data (Types), Data (Structures), Data(bases)
Data Types
Why Different Data Types Exist Primitive Data Types Composite Data Types Dynamically and Statically Typed Languages
Data Structures
Set Stack Tree Graph How to Choose an Effective Data Structure
Databases
Long-Term (Persistent) Storage Relational Databases A Brief Introduction to SQL
Summing Up
6. Regular Expressions
Ctrl+F on Steroids: Looking for Patterns Using Regular Expressions in JavaScript Repetition
? + * Special Characters and Escaping {1,10}: Make Your Own Super Powers Match Anything, Period Don’t Be Greedy
Understanding Brackets from [A-Za-z]
Lists of Characters Ranges Negation
A Pattern for Phone Numbers I Need My \s
Shortcuts for Brackets Limitations Capture the Tag Advanced Find and Replace The Beginning and the End (of a Line)
Flags
Global Ignore Case Multiline
When Will You Ever Use Regex?
grep Code Refactoring Validation Data Extraction
Summing Up
7. if, for, while, and When
Operators
Comparison Operators Logical Operators Unary Operators Binary Operators Ternary Operators “Truthy” and “Falsy” “Syntactic Sugar” Looping Through an Array Looping Through Images Nested Loops You Need a Break Infinite Loops Take Another Break When You Don’t Know When to Stop
When
Events Listeners Cron Jobs Timeouts Catch When Things Go Wrong Writing Robust Code
Summing Up
8. Functions and Methods
Function Structure
Definition Invocation Arguments Call Stack
Code Encapsulation
Do One Thing Well Divide and Conquer A Place for Everything and Everything in Its Place
Code Reuse
Solve the General Problem Do More with Less Don’t Repeat Yourself (DRY)
Scope
Global Local How Variable Lookups Happen
Summing Up
9. Programming Standards
Coding Conventions
Setting Standards To Hack or Not to Hack Pay Now or Pay Later Writing Maintainable Code
Code Formatting
Keep It Consistent Whitespace
It Doesn’t Happen on Its Own: Make Rules Using the Work of Others
Build Faster Open Source Software Built by the Community When to Build It Yourself
Best Practices
Documentation Planning Testing
Summing Up
10. Documentation
Document Intentions
Self-Documenting Code Don’t Document the Obvious The Danger of Outdated Documentation Find Bugs Using Documentation
Document for Yourself
How Good Is Your Memory? Document to Learn Documentation Beyond Comments
Document for Others
Document Your Decisions Document Your Resources Document to Teach
Summing Up
11. Planning
Think Before You Build Create a Specification Design an Architecture
Draw Diagrams Try to Break Your System
Iterative Planning Design for Extensibility What Are Your Priorities?
User Experience Performance Security Scalability Deadlines
The Balancing Act
Identify and Create Constraints Know What You Can and Can’t Do
Summing Up
12. Testing and Debugging
Manual Testing
Test As You Work Try Something Crazy Eat Your Own Dog Food
Automated Testing
Unit Tests Set Up Tests for Kittenbook Epic Fail! Spies Like Us (and We Like Spies)
Integration Tests
Catch Problems Early
Debugging
Errors Logs Breakpoints Inspecting, Watching, and the Console Stepping Through the Code Call Stack Find the Root Cause Code, Test, Debug, Repeat
Summing Up
13. Learning to Fish: How to Acquire a Lifetime of Programming Knowledge
How to Search
Finding the Right Terms Working Backward Identifying Quality Resources Personal Blogs: Hidden Gems
Where, When, and How to Ask Programming Questions
Where When How Learn by Teaching
Summing Up
14. Building Your Skills
Make kittenbook Your Own
Restyle Facebook Add New Functionality Share Your Version of Kittenbook
Find Your Own Project
Solve Your Own Problem Be Ambitious Get Help, Give Help
Open Source Projects
GitHub Finding a Project Different Ways to Contribute Create Your Own
Free Online Education
Project Euler Udacity Coursera codecademy Khan Academy Tutorials
Paid Education
Read a Book Udacity and Coursera Treehouse
Summing Up
15. Advanced Topics
Version Control
Why Use Version Control? Working with a Team Subversion Git
OOP (Object-Oriented Programming)
Classes Inheritance Instances
Design Patterns
Pub Sub Mediator Singleton
Summing Up
Glossary Index Code Snippets
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion