Skip to content

Instantly share code, notes, and snippets.

@ywjno
ywjno / lexical_search_with_gzip.py
Created July 17, 2023 06:33 — forked from kyo-takano/lexical_search_with_gzip.py
Lexical Search with gzip (gzipによる語彙検索)
import gzip
def gzip_search(query: str, candidate_chunks: list[str], top_k: int=1):
"""
文字列ベースで類似したテキストチャンクを推定するアルゴリズム.
`query`, `chunk`, および`query + " " + chunk`をそれぞれgzipで圧縮し、編集距離のようなものをベースに評価する.
Parameters:
query (str): 検索クエリとして使用する文字列.
top_k (int, optional): 返される類似チャンクの上位k個を指定する (default: 1).
@ywjno
ywjno / PaginationUtil.java
Created August 18, 2022 03:05
pagination util
import java.util.Comparator;
import java.util.stream.IntStream;
public class PaginationUtil {
private final int pageNumber;
private final int blockSize;
private final int pageCount;
@ywjno
ywjno / D3jm.html
Created August 26, 2021 15:26
都道府県別日本地図(D3 + topojson)
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.12.0/d3.min.js" type="text/JavaScript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/topojson/1.6.20/topojson.min.js"></script>
</head>
<body>
<svg></svg>
@ywjno
ywjno / D3jm.html
Created August 26, 2021 14:58
都道府県別日本地図(D3 + GeoJSON)
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.12.0/d3.min.js" type="text/JavaScript"></script>
</head>
<body>
<svg></svg>
<script>
@ywjno
ywjno / map.js
Last active May 9, 2017 08:25
map object in javascript
/*
* MAP对象,实现MAP功能
*
* 接口:
* size() 获取MAP元素个数
* isEmpty() 判断MAP是否为空
* clear() 删除MAP所有元素
* put(key, value) 向MAP中增加元素(key, value)
* remove(key) 删除指定KEY的元素,成功返回True,失败返回False
* get(key) 获取指定KEY的元素值VALUE,失败返回NULL
@ywjno
ywjno / debian_shadowsocks_tennfy.sh
Last active January 11, 2016 07:35
debian_shadowsocks
#! /bin/bash
#===============================================================================================
# System Required: Debian or Ubuntu (32bit/64bit)
# Description: Install Shadowsocks(libev) for Debian or Ubuntu
# Author: tennfy <admin@tennfy.com>
# Intro: http://www.tennfy.com
#===============================================================================================
clear
echo "#############################################################"
@ywjno
ywjno / XssFilter.java
Created July 29, 2015 03:23
xss filter by nutz
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import com.google.android.maps.GeoPoint;
public class DistanceCalculator {
private double Radius;
// R = earth's radius (mean radius = 6,371km)
// Constructor
DistanceCalculator(double R) {
Radius = R;
@ywjno
ywjno / EmojiFilter.java
Created January 27, 2015 07:57
EmojiFilter.java
import org.apache.commons.lang.StringUtils;
public class EmojiFilter {
/**
* 检测是否有emoji字符
* @param source
* @return 一旦含有就抛出
*/
public boolean containsEmoji(String source) {
if (StringUtils.isBlank(source)) {
@ywjno
ywjno / Sizeof.java
Created January 27, 2015 05:37
判断某个java对象占用内存情况
public class Sizeof {
public static void main(String[] args) throws Exception {
// "warm up" all classes/methods that we are going to use:
runGC();
usedMemory();
// array to keep strong references to allocated objects:
final int count = 10000; // 10000 or so is enough for small ojects
Object[] objects = new Object[count];