Skip to content

Instantly share code, notes, and snippets.

View Dev-Dipesh's full-sized avatar

Dipesh Bhardwaj Dev-Dipesh

  • The Contentment Foundation
  • San Francisco, California
View GitHub Profile
{
"auto_complete_commit_on_tab": true,
"color_scheme": "Packages/Oceanic Next Color Scheme/Oceanic Next.tmTheme",
"draw_white_space": "all",
"font_face": "Fira Mono",
"font_size": 20,
"tab_size": 2,
"theme": "Brogrammer.sublime-theme",
"translate_tabs_to_spaces": true,
"trim_automatic_white_space": true,
@Dev-Dipesh
Dev-Dipesh / ServiceWorker.md
Last active July 11, 2017 19:54
Understanding Service Worker

Service Worker

The Goal of this gist is to help understand service worker. It's not for diving deep in the core, but to understand the concepts, benefits and trade offs.

I have listed three resources which helped me greatly to unfurl the curtains:

Service Worker Status

const sql = require("mssql");
require("msnodesqlv8");
const conn = new sql.Connection({
database: "db_name",
server: "server_name",
driver: "msnodesqlv8",
options: {
trustedConnection: true
}
};
@Dev-Dipesh
Dev-Dipesh / rabbitmq_notes.md
Last active May 5, 2024 02:09
Why RabbitMQ is better over Redis and notes on RabbitMq.

Redis is Database whereas RabbitMQ was designed as a message router or message-orientated-middleware (mom), so I'm sure if you look for benchmarks, you'll find that RabbitMQ will outperform Redis when it comes to message routing.

RabbitMQ is written in Erlang which was specifically designed by the telecom industry to route messages, you get clustering out of the box due to it being written in Erlang which means in a clustered environment, RabbitMQ will outperform Redis even further.

Furthermore, you get guaranteed delivery of messages due to the AMQP protocol, in other words, if the network drops while consuming the message, the consumer won't be able to say thanks for the message, so the consumer will drop the message and Rabbit will requeue the message, if you publish a message and the queue didn't say thanks to the publisher due to network problems or timeouts, Rabbit will drop the message and the publisher will keep on trying to publish the message. You can have publish retries with backoff policies, so

@Dev-Dipesh
Dev-Dipesh / kue_issues_debugging.md
Last active October 24, 2016 07:00
Kue (priority job queue) error debugging and repairs - Thanks to @dfoody ( https://github.com/dfoody )

Issue: Automattic/kue#130

Here's the rough set of steps we typically follow to repair various kue issues we see regularly: (note that some of these apply only to our fork - that has the ability to do "locks" so jobs for - in our case - a single user are serialized (users are differentiated based on their email address).

Failed Jobs Not Showing When there are failed jobs (the sidebar says non-zero), but none show in the list, use the follow this procedure to repair them:

@Dev-Dipesh
Dev-Dipesh / go-redis-amz-ami.md
Last active June 24, 2020 20:33
Golang and Redis Setup on Amazon 64 bit AMI Linux

Update Server

sudo yum -y update
sudo yum -y install gcc make

Golang Installation

Download Go binary

@Dev-Dipesh
Dev-Dipesh / nginx-ssl.md
Last active April 27, 2024 07:37
Setting SSL/TLS in Nginx Using Godaddy as CA Provider

CA PROVIDER - GODADDY

Certificates

Ones you have generated, downloaded and extracted the certificate zip, you will find 2 files in it:

  • gd_bundle-g2-g1.crt Intermediate Certificate
  • RANDOM_NUM.crt Your SSL Certificate

Creating single chained certificate

/**
* GET /api/scraping
* Web scraping example using Cheerio library.
*/
exports.getScraping = function(req, res, next) {
cheerio = require('cheerio');
request = require('request');
request.get('https://news.ycombinator.com/', function(err, request, body) {
if (err) return next(err);
@Dev-Dipesh
Dev-Dipesh / ELK with Nginx.md
Last active January 24, 2024 14:34
Setting up Elasticsearch, Logstash and Kibana with Nginx.

ELK (Elasticsearch Logstash Kibana)

Though we're focused more on server setup procedure in this document, I will still give a very brief explanation in laymen terms for ELK. To those who are starting new in this stack, must have already heard of MVC (Model View Controller), so take it like this:

  • Model => Elasticsearch (for Storage, Indexing & Search)
  • View => Kibana (for DataViz & G-Man, yeah the one in half life 😏)
  • Controller => Logstash (For Logs & Filtering)

const server = restify.createServer();
const https_server = restify.createServer({
certificate: fs.readFileSync('certs/ca.crt'),
key: fs.readFileSync('certs/key.pem'),
name: 'Sellnews-Trends',
}, err => {
console.log(err, err.stack);
});
const setup_server = function(server) {