Skip to content

Instantly share code, notes, and snippets.

View sri-rang's full-sized avatar

Sri sri-rang

View GitHub Profile
@sri-rang
sri-rang / LoadUrlTask.scala
Created March 10, 2011 17:19
LoadUrlTask.scala
package net.srirangan.simplewebcrawler.tasks
import java.lang.String
import java.util.{List,ArrayList}
import org.gridgain.grid._
import net.srirangan.simplewebcrawler.jobs.LoadUrlJob
class LoadUrlTask extends GridTaskNoReduceSplitAdapter[String] {
def split(gridSize:Int, url:String):List[GridJob] = {
@sri-rang
sri-rang / LoadUrlJob.scala
Created March 10, 2011 17:21
LoadUrlJob.scala
package net.srirangan.simplewebcrawler.jobs
import java.lang.String
import java.util.{List,ArrayList}
import org.gridgain.grid.GridJobAdapterEx
import org.gridgain.scalar.scalar._
import net.srirangan.simplewebcrawler.tasks.{LoadUrlTask,IndexKeywordsTask}
class LoadUrlJob(url:String) extends GridJobAdapterEx {
def execute():Object = {
@sri-rang
sri-rang / IndexKeywordsTask.scala
Created March 10, 2011 17:22
IndexKeywordsTask.scala
package net.srirangan.simplewebcrawler.tasks
import java.lang.String
import java.util.{List,ArrayList}
import org.gridgain.grid.GridJob
import org.gridgain.grid.GridTaskNoReduceSplitAdapter
import net.srirangan.simplewebcrawler.jobs.IndexKeywordsJob
class IndexKeywordsTask extends GridTaskNoReduceSplitAdapter[String] {
@sri-rang
sri-rang / IndexKeywordsJob.scala
Created March 10, 2011 17:22
IndexKeywordsJob.scala
package net.srirangan.simplewebcrawler.jobs
import java.lang.String
import org.gridgain.grid.GridJobAdapterEx
import org.gridgain.scalar.scalar._
class IndexKeywordsJob(data:String) extends GridJobAdapterEx {
def execute():Object = {
println(data)
// .. actual indexing logic comes here
public class UserContext {
private Long userId;
private String userName;
private UserAddress userAddress;
private CustomerInfo customerInfo;
@sri-rang
sri-rang / gist:1519440
Created December 25, 2011 15:46
Functional Programming in JavaScript - 1
function justAFunction() {
console.log("functions can be declared");
}
var justAnotherFunction = function () {
console.log("functions can be expressed as objects");
};
console.log("All functions are objects of type 'function'");
console.log(typeof justAFunction);
@sri-rang
sri-rang / gist:1519443
Created December 25, 2011 15:47
Functional Programming in JavaScript - 2
var logArguments = function () {
console.log(arguments);
};
console.log("All functions can have dynamic arguments");
logArguments("hello", "world");
logArguments("hello", "world", 42, ["huh", "wtf!"], {hello:"world"});
var logThis = function () {
console.log(this);
@sri-rang
sri-rang / gist:1519445
Created December 25, 2011 15:48
Functional Programming in JavaScript - 3
(function (name) {
console.log(name + " functions can be auto-executed on definition")
})("Anonymous");
console.log("JavaScript provides functional scoping instead of block scoping");
(function () {
if (true) {
var x = true;
console.log("Is 'x' available inside the block? " + x);
}
@sri-rang
sri-rang / gist:1519447
Created December 25, 2011 15:48
Functional Programming in JavaScript - 4
var forEach = function (list, action) {
for (var i = 0; i < list.length; i++) {
action(list[i]);
}
};
var logItem = function (item) {
console.log(item);
};
@sri-rang
sri-rang / gist:1519448
Created December 25, 2011 15:50
Functional Programming in JavaScript - 5
var forEach = function (list, action) {
for (var i = 0; i < list.length; i++) {
action(list[i]);
}
};
var map = function (mappingFunction, list) {
var result = [];
forEach(list, function (item) {
result.push(mappingFunction(item));