Skip to content

Instantly share code, notes, and snippets.

@fairjm
fairjm / XmlMapUtil.java
Last active December 7, 2015 09:57
XStream handle map with key value pair with CDATA embeded
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.commons.lang3.StringUtils;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.Converter;
@fairjm
fairjm / prime.fs
Created September 15, 2015 15:42
fsharp-prime
let prime () =
let infinity = Seq.initInfinite (fun i -> i + 1) |> Seq.filter (fun n -> n >= 2) |> Seq.cache
let rec inner (nums: seq<int>) = seq {
let i = Seq.item 0 nums
yield i
let next = nums |> Seq.filter (fun n -> n % i <> 0) |> inner
yield! next
}
@fairjm
fairjm / wrapper.fsx
Last active September 8, 2015 11:42
cmd wrapper
open System
open System.Text
open System.IO
open System.Diagnostics
let newProcess = new Process()
newProcess.StartInfo.FileName <- "cmd.exe"
newProcess.StartInfo.CreateNoWindow <- true
newProcess.StartInfo.UseShellExecute <- false
newProcess.StartInfo.RedirectStandardInput <- true
@fairjm
fairjm / ScanRequestMappingTool.java
Last active September 6, 2018 12:55
used to scan RequestMapping(SpringMVC)
import java.io.IOException;
import java.io.PrintStream;
import java.lang.reflect.Method;
import java.util.LinkedList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
open System.Text
open System.IO
open System.IO.Compression
let iso8859_1 = Encoding.GetEncoding("ISO-8859-1");
let compress (s:string) =
let sBytes = Encoding.UTF8.GetBytes(s)
use original = new MemoryStream(sBytes)
let oBytes = using(new MemoryStream())(fun out ->
public class StringCompressUtil {
private static final String DEFAULT_ENCODING = "UTF-8";
public static String compress(final String str) throws IOException {
if (StringUtils.isEmpty(str)) {
return str;
}
String result;
try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) {
@fairjm
fairjm / NMI.scala
Created May 6, 2015 08:28
NMI(Normalized Mutual Information) scala implementation
package com.cc.graph.algorithm
import com.cc.graph.base.Graph
import scala.collection.mutable.ListBuffer
import scala.collection.mutable.HashMap
object NMI {
/**
* NMI(A,B)=2*H(A)/(H(A)+H(B))
@fairjm
fairjm / Download.scala
Created December 5, 2014 17:27
record some scala code
// a simple script
// batch download from http://www.andrew.cmu.edu/course/15-749/READINGS/optional/
//extract file name
def getAllFiles(url:String):List[String] = {
import scala.io._
val regex = """<a href="(.+?\.pdf)">""".r
val content = Source.fromURL(url).mkString
regex.findAllMatchIn(content).map(_.group(1)).toList
}
@fairjm
fairjm / WordCount.ex
Created November 27, 2014 12:43
a simple word count model
defmodule Wordcount do
@moduledoc "a simple wordcount program by fairjm"
@nodecount 3
def start(file) do
s = self
spawn(fn -> count(file,s) end)
end
defp count(file,caller) do
@fairjm
fairjm / P5.scala
Last active August 29, 2015 14:06
projecteuler_problem
import scala.collection.mutable.ListBuffer
import scala.collection.mutable.HashMap
import scala.annotation.tailrec
/*
** author fairjm
** https://projecteuler.net/problem=5
*/
object P5 {
def getPrimesLEQ(num:Int):List[Int] = {