Skip to content

Instantly share code, notes, and snippets.

andrea jonnyjava

Block or report user

Report or block jonnyjava

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@jonnyjava
jonnyjava / LeanStartup.md
Created Jul 6, 2017
What i learnt about Lean Startup
View LeanStartup.md

LEAN STARTUP

Books

  • Business Model Generation and Value Proposition Design: - Alexander Osterwalder
  • The Lean Startup: - Eric Ries
  • The Startup Owner's Manual: The Step-By-Step Guide for Building a Great Company - Steve Blank / Bob Dorf
  • The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers - Ben Horowitz
  • The Four Steps to the Epiphany Hardcover – Steve Blank (Author)
  • The Lean Product Playbook: How to Innovate with Minimum Viable Products and Rapid Customer Feedback - Dan Olsen (Autor)
@jonnyjava
jonnyjava / roadmap.md
Last active Jun 12, 2017
Become a good programmer roadmap
@jonnyjava
jonnyjava / Refactoring.md
Created May 11, 2017
Refactoring - Ruby edition
View Refactoring.md

Refactoring

Preface

What is refactoring?

Refactoring is the process of changing a software system in such a way that it not alter the external behaviour of the code yet improves its internal structure It's a process of clean up to minimize the chances to introduces bugs. Refactoring means improve the code design

Chapter 1 - A first example

  • Start writing a good test coverage
  • First refactor, then add new features
@jonnyjava
jonnyjava / bash_aliases.txt
Last active May 20, 2019
Everyday aliases
View bash_aliases.txt
alias 1pass='wine ~/.wine/drive_c/Program\ Files\ \(x86\)/1Password\ 4/1Password.exe'
alias apalogs='cd && tail -f /var/log/apache2/error.log'
alias checkstyle='rubocop -a -f fuubar ; scss-lint'
alias gl='git lg'
alias openmysql='mysql --defaults-file=~/.local_db_conf'
alias quality_test='checkstyle ; rake traceroute ; rubycritic'
alias testall='bin/rspec'
alias update_me_motherfucker='git checkout master && git pull origin master && bundle install && rake db:migrate'
-----------------------------
@jonnyjava
jonnyjava / Tpp.md
Last active Apr 12, 2017
The Pragmatic Programmer: From Journeyman to Master
View Tpp.md

The Pragmatic Programmer: From Journeyman to Master

Tips collected

  1. Care About Your Craft
  • Why spend your life developing software unless you care about doing it well?
  1. Think! About Your Work
  • Turn off the autopilot and take control. Constantly critique and appraise your work.
  1. Provide Options, Don't Make Lame Excuses
  • Instead of excuses, provide options. Don't say it can't be done; explain what can be done.
@jonnyjava
jonnyjava / poodr.md
Last active Mar 6, 2017
Practical Object-Oriented Design in Ruby
View poodr.md

Practical Object-Oriented Design in Ruby

1 Introduction

  • OO is about managing dependencies. Objects interact between them exchanging messages
  • Code must follow S.O.L.I.D. principles
    • Single responsibility
    • Open/Closed
    • Liskow substitution
    • Interface segregation
@jonnyjava
jonnyjava / bashrc
Created Oct 14, 2015
git show branch and state in prompt
View bashrc
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working directory clean" ]] && echo "*"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
export PS1='\u@\h \[\033[1;33m\]\w\[\033[0m\]$(parse_git_branch)$ '
@jonnyjava
jonnyjava / CleanCode.md
Last active Apr 12, 2017
Clean Code summarized
View CleanCode.md

Clean Code

The boy scout rule

Leave the campground cleaner than you found it

Naming

  • If a name requires a comment, then the name doesn't reveal its intent
  • Use searchable, meaningful and pronounceable names
  • Avoid mental mapping
View personal_gitconfig
[user]
email = example@email.com
[color]
ui = true
[alias]
co = checkout
ci = commit
lg = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
[core]
editor = subl -n -w
You can’t perform that action at this time.