Skip to content

Instantly share code, notes, and snippets.

View GurdeepSS's full-sized avatar

Gurdeep Singh Sabarwal GurdeepSS

  • san jose ,CA,USA
View GitHub Profile
@GurdeepSS
GurdeepSS / latency.txt
Created April 18, 2019 16:23 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@GurdeepSS
GurdeepSS / maxSubArray.cc
Created April 9, 2019 18:37 — forked from safeng/maxSubArray.cc
Maximum Subarray Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [−2,1,−3,4,−1,2,1,−5,4], the contiguous subarray [4,−1,2,1] has the largest sum = 6.
class Solution {
public:
int maxSubArray(int A[], int n) {
if(n<=0)
return 0;
int maxSum = A[0];
int sum = A[0];
for(int i = 1; i<n; ++i)
{
if(sum < 0) // no positive gain for following numbers
@GurdeepSS
GurdeepSS / python-cheat-sheet-basic.py
Created February 13, 2019 06:06 — forked from filipkral/python-cheat-sheet-basic.py
Basic Python Cheat Sheet
#!/usr/bin/env python
"""Basic Python Cheat Sheet by Filip Kral on 2015/02/16"""
"""
Python is a cross-platform, interpreted, object-oriented programming language.
That means you can run it on Linux, Windows, Mac, and other platforms,
you don't need to compile your code to execute it because it is compiled on
the fly, and you can use classes and objects.
#!/usr/bin/env python
"""Basic Python Cheat Sheet by Filip Kral on 2015/02/16"""
"""
Python is a cross-platform, interpreted, object-oriented programming language.
That means you can run it on Linux, Windows, Mac, and other platforms,
you don't need to compile your code to execute it because it is compiled on
the fly, and you can use classes and objects.
#!/usr/bin/env python
"""Basic Python Cheat Sheet by Filip Kral on 2015/02/16"""
"""
Python is a cross-platform, interpreted, object-oriented programming language.
That means you can run it on Linux, Windows, Mac, and other platforms,
you don't need to compile your code to execute it because it is compiled on
the fly, and you can use classes and objects.
@GurdeepSS
GurdeepSS / LinkedList.java
Created February 13, 2019 06:05 — forked from ericrswanny/LinkedList.java
A linked list class implemented in Java
/*============================================================================
Name : LinkedList.java
Author : Eric Swanson
Date : Sep 7, 2011
Version :
Description :
Copyright (C) 2011 Eric Swanson
This program is free software: you can redistribute it and/or modify
@GurdeepSS
GurdeepSS / LinkedList.java
Created February 13, 2019 06:05 — forked from ericrswanny/LinkedList.java
A linked list class implemented in Java
/*============================================================================
Name : LinkedList.java
Author : Eric Swanson
Date : Sep 7, 2011
Version :
Description :
Copyright (C) 2011 Eric Swanson
This program is free software: you can redistribute it and/or modify
@GurdeepSS
GurdeepSS / System Design.md
Created October 27, 2018 07:45 — forked from vasanthk/System Design.md
System Design Cheatsheet

System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
@GurdeepSS
GurdeepSS / README.md
Created May 19, 2018 07:55 — forked from hallazzang/README.md
Deploy JSP website using Docker + Apache Tomcat from scratch(without IDEs like Eclipse, IntelliJ, etc.)

Docker + Apache Tomcat + JSP

This article describes how to deploy a JSP website using Docker, Apache Tomcat.

Directory structure

I found a way to make a minimal JSP web application from scratch, without any IDE. (ref: https://www.youtube.com/watch?v=JEBR_KJdzSk)

First, organize your working directory like this:

@GurdeepSS
GurdeepSS / SpringAdLdapTest.java
Created July 27, 2017 06:53 — forked from mpilone/SpringAdLdapTest.java
A simple example of using Spring LDAP to authenticate a user against Active Directory.
// Setup the LDAP client (normally done via Spring context file).
LdapContextSource contextSource = new LdapContextSource();
contextSource.setUrl("ldap://adserver.mycompany.com:3268");
contextSource.setBase("DC=AD,DC=MYCOMPANY,DC=COM");
contextSource.setUserDn("readonlyuser@ad.mycompany.com");
contextSource.setPassword("password1");
contextSource.afterPropertiesSet();
LdapTemplate ldapTemplate = new LdapTemplate(contextSource);
ldapTemplate.afterPropertiesSet();