Skip to content

Instantly share code, notes, and snippets.

View rasheedamir's full-sized avatar

Rasheed Amir rasheedamir

View GitHub Profile
@rasheedamir
rasheedamir / .gitconfig
Last active August 29, 2015 14:05 — forked from pksunkara/config
[user]
name = <Your Name>
email = <Your Email>
[core]
autocrlf = input
editor = vim
whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol
excludesfile = ~/.gitignore
@rasheedamir
rasheedamir / .gitignore
Last active January 18, 2016 09:05
.gitignore
######################
# Project Specific
######################
*.*~
*~
logs/
node_modules/
src/main/webapp/dist/
######################
@rasheedamir
rasheedamir / DDD, CQRS & ES.md
Last active January 25, 2022 12:09
DDD, CQRS & ES!

To implement command processing we need the following pieces:

  • Commands which request that something should happen, i.e. some state change
  • Events which indicate that something has happened
  • Aggregates that handles Commands and generates Events based on the current state
  • Event store which stores all events that has happened
  • Application services that receives Commands and routes it to the appropriate aggregate

https://github.com/rasheedamir/event-sourcing-in-practice

@rasheedamir
rasheedamir / Frontend Development.md
Last active August 29, 2015 14:06
Frontend Development

A problem we regularly face in this industry is an abundance of choice. We have a plethora of tools, frameworks, languages, abstractions and platforms. Choice is ultimately good for competition and innovation, however when faced with too many choices, we can feel paralysis. Rather than making a choice we feel frozen and alone with the indecision of having too many options in front of us. This isn’t necessarily an industry problem — it’s a human problem.

JavaScript has “Yet another framework syndrome” (how many solutions do we have for MVC, template rendering or data-binding?),

Front-end Choice Paralysis: http://addyosmani.com/blog/front-end-choice-paralysis/

Must Read Books!

Recommended Books!

@rasheedamir
rasheedamir / Testing
Last active August 29, 2015 14:06
Testing
Definition:
The methodology known as test-driven development (TDD) substantially changes the way traditional software development is done. This methodology wants you to write tests even before writing the application code. Instead of just using testing to verify your work after it’s done, TDD moves testing into the earlier application design phase. You should use these tests to clarify your ideas about what you are about to program. Here is the fundamental mantra of TDD:
* Write a test and make it fail.
* Make the test pass.
* Refactor.
* Repeat.
This technique is also referred to as red-green-refactor because IDE's and test runners use red to indicate failed tests and green to indicate those that pass.
@rasheedamir
rasheedamir / Backend Development.md
Last active August 29, 2015 14:06
Backend Development
@rasheedamir
rasheedamir / Jenkins CI on EC2.md
Last active August 29, 2015 14:06 — forked from jsuwo/BankAccount.java
Jenkins CI on EC2

The practice of automated continuous deployment ensures that the latest checked in code is deployed, running, and accessible to various roles within an organization.

Jenkins is a popular continuous integration server that is easy to install and configure

Continuous Delivery is about automation of the software development process. It combines four core disciplines:

  • continuous integration,
  • continuous testing,
  • continuous deployment and
  • continuous inspection
@rasheedamir
rasheedamir / Install & Configure SonarQube.md
Last active May 29, 2023 15:58
Install & Configure SonarQube

Create Amazon EC2 Instance

  • Ensure that inbound MySQL port 3306 is opened
  • chmod 700 "keypair-name.pem"

Install MySQL

To install MySQL, run the following command from a terminal prompt:

  • sudo apt-get install mysql-server
@rasheedamir
rasheedamir / Install SSL Certificate for Apache2.md
Created October 3, 2014 20:53
Install free “recognized” SSL certificates for Apache2
@rasheedamir
rasheedamir / httpd.conf
Last active August 29, 2015 14:07 — forked from bendo01/httpd.conf
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure