Skip to content

Instantly share code, notes, and snippets.

View lobster1234's full-sized avatar
🎯
Focusing

Manish Pandit lobster1234

🎯
Focusing
View GitHub Profile
@lobster1234
lobster1234 / serverless_framework_java_maven.md
Last active January 23, 2024 21:18
Tutorial for running the templated maven-java serverless project using the serverless framework.

Working with Serverless and Java - Part 1

In this tutorial, we will create and deploy a java-maven based serverless service using the serverless project (https://serverless.com/). In this part we will not modify any code, or even look at the generated code. We will focus on the deployment and the command line interface provided by serverless. Serverless is a node.js based framework that makes creating, deploying, and managing serverless functions a breeze. We will use AWS as our FaaS (Function-as-a-Service) provider.

Pre-requisites

Here is what the setup on my Mac looks like (Sierra)

  • brew (1.1.10) - you will need this if you do not have node/npm installed already.
  • node (v7.6.0)
  • npm (4.1.2)
  • Apache Maven (3.2.5)
@lobster1234
lobster1234 / DecimalToAnyBaseConverter.java
Created December 25, 2023 09:05
Java code to convert any decimal number to any base
import java.util.Stack;
public class DecimalToAnyBaseConverter {
/*
We use base 62 array for all base conversions
*/
char[] base62 = new char[62];
/*
@lobster1234
lobster1234 / Dockerfile
Created July 27, 2017 09:49
Dockerfile to run tomcat in an ubuntu container
FROM ubuntu:latest
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install openjdk-8-jdk wget
RUN mkdir /usr/local/tomcat
RUN wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz -O /tmp/tomcat.tar.gz
RUN cd /tmp && tar xvfz tomcat.tar.gz
RUN cp -Rv /tmp/apache-tomcat-8.5.16/* /usr/local/tomcat/
EXPOSE 8080
CMD /usr/local/tomcat/bin/catalina.sh run
@lobster1234
lobster1234 / localstack.md
Last active August 8, 2023 20:06
Working with localstack on command line

Starting localstack

C02STG51GTFM:localstack mpandit$ make infra
. .venv/bin/activate; exec localstack/mock/infra.py
Starting local dev environment. CTRL-C to quit.
Starting local Elasticsearch (port 4571)...
Starting mock ES service (port 4578)...
Starting mock S3 server (port 4572)...
Starting mock SNS server (port 4575)...
@lobster1234
lobster1234 / serverless_multiple_functions.md
Last active July 6, 2023 18:02
Serverless Framework Java : Multiple Functions in same class

Specify packaging as individual in serverless.yml

service: aws-java-maven # NOTE: update this with your service name

provider:
  name: aws
  runtime: java8

package:
def reverse_string(s):
if len(s)==1:
return s
else:
return s[-1]+reverse_string(s[0:len(s)-1])
@lobster1234
lobster1234 / TokenBucketRateLimiterTest.java
Created October 29, 2022 22:49
Test for the token bucket rate limiter
package org.lobster1234.misc;
import junit.framework.TestCase;
import java.util.concurrent.TimeUnit;
public class TokenBucketRateLimiterTest extends TestCase {
public void testTokenBucketRateLimiter() {
try {
@lobster1234
lobster1234 / TokenBucketRateLimiter.java
Last active October 30, 2022 02:00
Token Bucket Rate Limiter Implementation
package org.lobster1234.misc;
import java.util.concurrent.*;
import java.util.function.Consumer;
/**
* Implementation of a token bucket rate limiter.
*/
public class TokenBucketRateLimiter {
@lobster1234
lobster1234 / LinkedList.java
Last active October 12, 2021 22:24
A generic, singly LinkedList Implementation
public class LinkedList<T> {
private LinkedListNode<T> first = null;
/**
* Insert at the front of the list
* @param node
*/
public void insert(LinkedListNode<T> node) {
node.setNext(first);
@lobster1234
lobster1234 / WaitNotifyExample..java
Created March 6, 2013 08:05
A very simple wait/notify example
public class WaitNotifyExample {
public static void main(String[] args) {
Integer lock = new Integer(0);
Thread waiter = new Thread(new Waiter(lock));
waiter.start();
Thread notifier = new Thread(new Notifier(lock));
notifier.start();
}