Skip to content

Instantly share code, notes, and snippets.

View heimdallrj's full-sized avatar

Indika heimdallrj

  • Berlin
  • 01:06 (UTC -12:00)
View GitHub Profile

OOP in JavaScript

Creating a JavaScript Object

Object.create

function Book({name, author, year}) {
	const constructor = {
		getTitle: function() {
@heimdallrj
heimdallrj / clean_code.md
Created October 17, 2021 17:27 — forked from wojteklu/clean_code.md
Summary of 'Clean code' by Robert C. Martin

Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.


General rules

  1. Follow standard conventions.
  2. Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
  3. Boy scout rule. Leave the campground cleaner than you found it.
  4. Always find root cause. Always look for the root cause of a problem.

Design rules

Move directory from one repository to another but still preserve the history

Source Repository

git clone git@github.com:<user|org>/<src-repo>.git

cd <src-repo>
git remote rm origin
git filter-branch --subdirectory-filter  -- -- all

Keybase proof

I hereby claim:

  • I am thinkholic on github.
  • I am thinkholic (https://keybase.io/thinkholic) on keybase.
  • I have a public key ASBnhPdIw8TKISqTf0fcisC4vS0eIjr90WWjm7RvpXlQygo

To claim this, I am signing this object:

Object.prototype.isEmpty = function() {
var obj = this;
for (var key in obj) {
if (obj.hasOwnProperty(key)) return false;
}
return true;
}
@heimdallrj
heimdallrj / Validator.js
Last active October 26, 2017 11:18
Validator.js
class Validator {
schema = null;
constructor(schema) {
this.schema = schema;
}
run(values) {
const schema = this.schema;
const errors = {};
@heimdallrj
heimdallrj / snakecoin-js.js
Last active October 11, 2018 02:33
JS/nodejs version for aunyks/snakecoin.py
// JS/nodejs version for aunyks/snakecoin.py
// Original: https://gist.github.com/aunyks/8f2c2fd51cc17f342737917e1c2582e2
const sha256 = require('js-sha256');
// Define the Block Class
class Block {
constructor(index, data, previousHash) {
this.index = index;
this.timestamp = new Date();
toTitleCase(str: string) {
console.log('str: ', str);
return str.toLowerCase().split(' ').map(function(word) {
return (word.charAt(0).toUpperCase() + word.slice(1));
}).join(' ');
}
https://medium.freecodecamp.org/three-ways-to-title-case-a-sentence-in-javascript-676a9175eb27
// function helloEmail(){
// var helper = require('sendgrid').mail
// from_email = new helper.Email("test@example.com")
// to_email = new helper.Email("test@example.com")
// subject = "Hello World from the SendGrid Node.js Library"
// content = new helper.Content("text/plain", "some text here")
// mail = new helper.Mail(from_email, subject, to_email, content)
// email = new helper.Email("test2@example.com")
// mail.personalizations[0].addTo(email)
.alerts {} /* block */
.alerts__error {} /* element */
.alerts--show {} /* state */