Skip to content

Instantly share code, notes, and snippets.

View komiya-atsushi's full-sized avatar
🏠
Working from home

KOMIYA Atsushi komiya-atsushi

🏠
Working from home
View GitHub Profile
@komiya-atsushi
komiya-atsushi / week_of_month.rb
Created August 6, 2012 01:57
指定された日付が、その月において何週目にあたるのかを計算する Ruby のメソッド
require 'date'
#
# 指定された日付が、その月において何週目にあたるのかを計算し、返却します。
#
# 週始まりは月曜です。初週を 1 としています。
#
def week_of_month(date)
first_week = (date - (date.day - 1)).cweek
this_week = date.cweek
@komiya-atsushi
komiya-atsushi / Base64Demo.java
Created August 31, 2014 17:51
Java 8 より導入された java.util.Base64 の利用デモ。
import java.io.PrintStream;
import java.util.Base64;
/**
* Java 8 より導入された java.util.Base64 の利用デモ。
*/
public class Base64Demo {
private static final PrintStream o = System.out;
public static void main(String[] args) {
@komiya-atsushi
komiya-atsushi / JsonStringifyPrettyPrinter.java
Last active September 3, 2021 08:59
Jackson による JSON シリアライズにおいて、JS の ``JSON.stringify()`` ぽい pretty print を実現する PrettyPrinter 実装です。
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.PrettyPrinter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Stack;
/**
* Google Chrome における JSON.stringify() pretty print 実現します
* <p>
@komiya-atsushi
komiya-atsushi / PropertiesWithUtf8.java
Created September 14, 2014 18:05
UTF-8 エンコーディングされたプロパティファイルを Properties クラスで取り扱う。
import java.io.*;
import java.util.Properties;
/**
* UTF-8 エンコーディングされたプロパティファイルを {@link Properties} クラスで取り扱う。
*/
public class PropertiesWithUtf8 {
static Properties loadUtf8Properties(String resourceName) throws IOException {
try (InputStream is = PropertiesWithUtf8.class.getResourceAsStream(resourceName);
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
@komiya-atsushi
komiya-atsushi / ResourceBundleWithUtf8.java
Created September 14, 2014 18:04
UTF-8 エンコーディングされたプロパティファイルを ResourceBundle クラスで取り扱う。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Locale;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
/**
* UTF-8 エンコーディングされたプロパティファイルを {@link ResourceBundle} クラスで
@komiya-atsushi
komiya-atsushi / Markdown.java
Created April 15, 2014 05:53
GitHub API の /markdown を呼び出す Java コード。
import com.google.gson.Gson;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import java.io.BufferedReader;
import java.io.IOException;
@komiya-atsushi
komiya-atsushi / DartsMap.java
Created September 22, 2012 09:43
Double Array Trie の Java 実装を Map インタフェースでラップしたもの。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
@komiya-atsushi
komiya-atsushi / apriori.rb
Created June 9, 2013 13:37
アルゴリズムの理解のために、Apriori algorithm を Ruby で実装してみました。 お勉強用なので、性能は度外視しています。
# -*- coding: utf-8 -*-
# Apriori algorithm の実装です
#
# http://en.wikipedia.org/wiki/Apriori_algorithm の擬似コードと
# http://www.codeproject.com/Articles/70371/Apriori-Algorithm を
# 参考にしています
require 'set'
@komiya-atsushi
komiya-atsushi / HtmlCharsetDetector.java
Created April 6, 2018 07:27
HTML の meta 要素から文字エンコーディングを抽出するやつ。
package me.k11i.hoge;
import java.util.Arrays;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import me.k11i.hoge.HtmlCharsetDetector.FiniteStateMachine.State;
import static me.k11i.hoge.HtmlCharsetDetector.FiniteStateMachine.State.*;
@komiya-atsushi
komiya-atsushi / BinaryLogLossEvaluator.scala
Created December 12, 2015 07:42
評価メトリクスとして Logarithmic loss (LogLoss) を利用する Evaluator の実装。
package org.apache.spark.ml.evaluation
import org.apache.commons.math3.util.FastMath
import org.apache.spark.ml.param.ParamMap
import org.apache.spark.ml.param.shared.{HasLabelCol, HasProbabilityCol}
import org.apache.spark.ml.util.{Identifiable, SchemaUtils}
import org.apache.spark.mllib.linalg.{Vector, VectorUDT}
import org.apache.spark.sql.types.DoubleType
import org.apache.spark.sql.{DataFrame, Row}