Skip to content

Instantly share code, notes, and snippets.

View straybro's full-sized avatar
🐢
418 I'm a teapot

straybro straybro

🐢
418 I'm a teapot
View GitHub Profile
@straybro
straybro / sandibooks.txt
Created March 4, 2020 00:38 — forked from jonathankwok/sandibooks.txt
sandi's recommended references
(I've amended it to use Amazon.ca)
Things to Read:
Refactoring
Martin Fowler: Refactoring, Improving the Design of Existing Code
https://www.amazon.ca/Refactoring-Improving-Existing-Addison-Wesley-Technology-ebook/dp/B007WTFWJ6
Jay Fields: Refactoring, Ruby Edition
https://www.amazon.ca/Refactoring-Ruby-Addison-Wesley-Professional-ebook/dp/B002TIOYWG/

Smalltalk Best Practice Patterns in Ruby

1 – INTRODUCTION

  • We aren’t always good at guessing where responsibilities should go. Coding is where our design guesses are tested. Being prepared to be flexible about making design changes during coding results in programs that get better and better over time.

  • If you’re programming along, doing nicely, and all of a sudden your program gets balky, makes things hard for you, it’s talking. It’s telling you there is something important missing.

  • Some of the biggest improvements come from figuring out how to eliminate:

  • Duplicate code (even little bits of it)
@straybro
straybro / DesignPrinciplesOverview.md
Created March 4, 2020 00:49 — forked from dhana-git/DesignPrinciplesOverview.md
Design Principles - Overview

Object Oriented Design Principles

What are Design Principles?

A set of guidelines that helps us to avoid having a bad design.

Characteristics of Bad Design

  • Rigidity (Hard to change)

    The software / software-design is hard to change.

@straybro
straybro / LeanArchitecture.md
Created March 4, 2020 00:54 — forked from Teino1978-Corp/LeanArchitecture.md
Lean Architecture: for Agile Software Development (Jim Coplien, Gertrud Bjørnvig)

Subdivision

What the system is (User Thinking)

  • Classes & Objects
  • Domain Experts
  • Architects
  • Database schemas
  • Long-term stable structure
  • Form
@straybro
straybro / cs-resources.md
Created March 19, 2020 06:56 — forked from thekeenant/cs-resources.md
My CS bookmarks.

Cheatsheets

Learning & Practice

  • Pramp: Free forever peer-to-peer technical interview practice.
  • InterviewBit: Gamified practice for typical coding interview questions.
  • Project Euler: Math/CS related challenge problems. Try them and complete them at your own pace.

Grokking Algorithms

Aditya Bhargava

Note, you can find all my solutions to tasks.

Chapter 1. Intro to algorithms

Algorithms — is a set of instructions to accomplish the task.

@straybro
straybro / ilya-klimov-component.md
Created March 22, 2020 02:03 — forked from vre2h/ilya-klimov-component.md
Ilya's tips on good react code.

Tips

Note, all fields tagged with (?) symbol are my assumptions and can be discussed.

The component is good if it has good goals.

  • Criterias
    • Encapsulation
      • Private fields (?)
      • Closure (?)
  • Normalization