Skip to content

Instantly share code, notes, and snippets.

Avatar
🌩️
Brainstorming...

Ali Sawari AliSawari

🌩️
Brainstorming...
View GitHub Profile
@AliSawari
AliSawari / BlockChain.js
Last active May 14, 2018
A simple BlockChain example via Nodejs
View BlockChain.js
// A simple BlockChain example via Nodejs
// this example shows the core functionality of a BlockChain system and how it works
// want to add more options? here's the GitHub rep: https://github.com/AliSawari/SimpleBlockChain
// THIS EXAMPLE IS INSPIRED BY : youtu.be/zVqczFZr124
// requiring Hash function
const {createHmac} = require('crypto');
// simplify some functions
function str(val){
@AliSawari
AliSawari / tcp-server.js
Created Oct 28, 2018
a small TCP-based chat room server application with Node.js
View tcp-server.js
// including the net module
const net = require('net');
// clients array
let clients = [];
// a nice little logger with a time stamp
// loggin messages for both server and Client
function logger(m){
let d = new Date().toLocaleString();
@AliSawari
AliSawari / run.js
Created Feb 22, 2019 — forked from m-esm/run.js
Node.js sending and receiving file using only 'http' and 'fs' module (no framework)
View run.js
var http = require("http");
var fs = require("fs");
var server = http.createServer().listen(3000);
server.on("request", function(req, res) {
if (req.method != "POST") return res.end();
var imageName = "received-" + Date.now() + ".jpg";
var writeStream = fs.createWriteStream(imageName);
req.pipe(writeStream);
@AliSawari
AliSawari / index.js
Created Mar 17, 2019 — forked from akexorcist/index.js
Axios post method requesting with x-www-form-urlencoded content type
View index.js
const axios = require('axios')
...
const requestBody = {
name: 'Akexorcist',
age: '28',
position: 'Android Developer',
description: 'birthdate=25-12-1989&favourite=coding%20coding%20and%20coding&company=Nextzy%20Technologies&website=http://www.akexorcist.com/',
awesome: true
@AliSawari
AliSawari / callback.js
Last active Jun 4, 2019
a good way to get rid of the callbacks in nodejs
@AliSawari
AliSawari / then.js
Created Jun 4, 2019
the arguments in then calls are the returns of the previous ones
View then.js
// with each return , the value goes for the next then in chain
// you can chain as many thens as you want, even if you dont return a value
doSomething(args).then(result => {
return result + 2
}).then(plusTwo => {
return plusTwo + 2
}).then(plusFour => {
// and the chain continues as many thens as you want...
}).catch(err => console.log(err))
@AliSawari
AliSawari / promise.js
Created Jun 4, 2019
here's how to create promise-based functions
View promise.js
// say take a number and return its double
// resolve : the success call . which goes in the first then
// reject : the error call, which goes in .catch
function double(number){
return new Promise((resolve, reject) => {
if(typeof number == 'number'){
resolve(number * 2)
} else reject("the argument should a Number")
View callback.js
function double(number, callback){
if(number > 2){
callback(null, number * 2)
} else {
callback(new Error("number should be more than 2"))
}
}
View promisify-example.js
// import it!
const { promisify } = require("util")
// turn your ordinary func into a promise func!
const doublePromise = promisify(double)
// use it!
doublePromise(14).then(res => {
console.log(res)
}).catch(err => console.log(err))
View readFilePromise.js
const { readFile } = require('fs')
const { promisify } = require('util')
const readFilePromise = promisify(readFile)
readFilePromise('myFile').then(data => {
console.log(data.toString())
}).catch(e => console.log(e))
You can’t perform that action at this time.