Technical Aspects of Programming - 25 Years Programming Experience

5 Просмотры
Издатель
I started to learn programming 25 years ago (1994–1995)! but It was 2002 that I made my first money with programming at age 16.
Here, I wanna talk about the technical aspects of the programming that I think every programmer should know and I learned over the years.

# Timeline

00:00 Introduction
00:16 Software Architecture
00:56 Design Pattern
01:31 SOLID Principles
02:02 Unit Testing
02:38 Type System
03:16 Function, The King of Isolation
04:43 Contribution Rules
05:11 Version Control
05:50 Frameworks
06:40 Regex in Database
07:12 Database Management System
07:54 Performance
08:53 Overly Engineered
09:17 Final Thoughts

# Textual Document


# Books and Websites

## Software Architecture

- Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin)


- Software Architecture in Practice (Len Bass, Rick Kazman, Paul Clements)


## Design Pattern

- Dive Into Design Patterns (Alexander Shvets)


## SOLID Principles

- Design Principles and Design Patterns (Robert C. Martin)


## Unit Testing

- Unit Testing Principles, Practices, and Patterns (Vladimir Khorikov)


- Test Driven Development: By Example (Kent Beck)


- Growing Object-Oriented Software, Guided by Tests (Steve Freeman, Nat Pryce)


## Type System

- Types and Programming Languages (Benjamin C. Pierce)


## Function, The King of Isolation

- Structure and Interpretation of Computer Programs (Gerald Jay Sussman, Hal Abelson)


- Purely Functional Data Structures (Chris Okasaki)


- Programming in Haskell (Graham Hutton)


## Contribution Rules

- Linux documentation


## Version Control

- Pro Git (Scott Chacon, Ben Straub)


- Version Control with Git: Powerful tools and techniques for collaborative software development (Jon Loeliger, Matthew McCullough)


## Regex in Database

- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (Martin Kleppmann)


- Beginning Database Design: From Novice to Professional (Clare Churcher)


## Database Management System

- Drupal


## Performance

- Model Management and Analytics for Large Scale Systems (Bedir Tekinerdogan, Onder Babur, Loek Cleophas, Mark van den Brand , Mehmet Aksit)


- Large-Scale C++ Software Design (John Lakos)


# Donation

Bitcoin: 1MdFyy7AGqf3vL7EtPJr5bfwpBNKctNzWL
Bitcoin Cash: qq4c94e9mh4gp5zzgxjknvvdfcmea73zycptwgl3zp
Ether: 0x170D57ed547c153B21A7BA8aaB9a8fb53C5EAD5f
Категория
Ремонт своими руками
Комментариев нет.