Skip to content

Instantly share code, notes, and snippets.

@cloverrose
cloverrose / main.dart
Last active May 7, 2022 05:55
[Flutter] Realtime ListView Demo with Provider and FutureBuilder
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class Message {
const Message({required this.id, required this.text, required this.create});
final int id;
final String text;
[user]
name = cloverrose
email = your_email@example.com
[core]
excludesfile = ~/.gitignore
[color]
ui = auto
@cloverrose
cloverrose / zeller.py
Created November 12, 2013 05:11
ゆゆ式版ツェラーの公式
# -*- coding:utf-8 -*-
"""
ゆゆ式版ツェラーの公式
======================
遊び方
------
$ python zeller.py 2013/11/11
2013/11/11は月曜日
@cloverrose
cloverrose / ReportJarSplit.md
Created November 5, 2013 11:27
ワークスアプリケーションズのアルバイトでjarファイルの分割に取り組んでいました。

ワークスアプリケーションズでのアルバイトでFindbugsへ入力するjarファイルを分割するという課題に取り組んでいました。 一区切りついたので試行錯誤なども含めてまとめておきます。

FindBugs

FindBugs - Find Bugs in Java ProgramsとはJavaのプログラムのバグを発見する オープンソースな解析ツール。

FindBugs Downloadsからダウンロード・解凍して java -jar lib/findbugs.jar -textui myjarfile.jar

@cloverrose
cloverrose / fibonacci.py
Created October 30, 2013 07:27
subprocessで実行した子プロセスを孫プロセス含めてタイムアウトしたらkillする。UNIX系でのみ動く
# -*- coding:utf-8 -*-
import sys
import os
import subprocess
def fib(n):
pid = os.getpid()
pgrp = os.getpgrp()
sys.stderr.write('[pgrp: {0}, pid: {1}] start calc fib({2})\n'.format(pgrp, pid, n))
@cloverrose
cloverrose / n_digits.py
Last active December 26, 2015 15:09
10進数を任意のN進数に変換する。戻り値は数値のリストになっているのでhexの用に適宜文字列に戻す。
def n_digits(val, n):
if n == 1:
return [1 for _ in range(val)]
if val == 0:
return [0]
result = []
while val > 0:
val, mod = divmod(val, n)
result.insert(0, mod)
@cloverrose
cloverrose / Kmeanspp.java
Created October 15, 2013 07:50
Kmeans++のJava実装(Python実装の単純な置き換え)
package kmeans;
import java.util.*;
public class Kmeans {
class Pair<X, Y>{
X x;
Y y;
Pair(X x, Y y){
this.x = x;
@cloverrose
cloverrose / remote_glob_environment_vars.yml
Created October 12, 2013 16:32
Ansibleでremoteのファイル名に関して*.javaと言った形で記述したい場合、またjavacのclasspathを通したい場合(環境変数として)
---
# file: roles/hoge/tasks/main.yml
- name: compile *.java
command: sh -c `javac\ /home/vagrant/hoge/*.java`
environment:
CLASSPATH: /usr/local/lib/foo.jar
@cloverrose
cloverrose / separate_variations.py
Created October 11, 2013 07:59
リストを2つに分ける全バリエーションを求める。 ありがとう @uchan_nos "整数を0からカウントアップして、1が立ってるビットの要素だけを含む集合と補集合に分ければどうだろう" https://twitter.com/uchan_nos/status/388568538174066688
def separate_variations(lst):
"""
separate a list into 2 lists
"""
n = len(lst)
assert n >= 2
s = set(lst)
for i in xrange(1, 2 ** (n - 1)):
x = {lst[c] for c, b in enumerate(reversed(format(i, 'b'))) if b == '1'}
y = s - x
@cloverrose
cloverrose / kmeanspp.py
Created September 30, 2013 06:37
k-means法の初期クラスタリングを改良したk-means++法(http://ja.wikipedia.org/wiki/K-means%2B%2B%E6%B3%95http://rosettacode.org/wiki/K-means%2B%2B_clustering#Python を参考にした
# -*- coding:utf-8 -*-
from __future__ import division
import random
import operator
import itertools
import sys
def calc_distance(point1, point2):
return sum([(x - y) ** 2 for x, y in zip(point1, point2)]) ** 0.5