タグ

2009年12月15日のブックマーク (8件)

  • oinume journal

    大規模なコードベースでリファクタリングを省エネ化するためにcodemodを最近調べていて、軽く試行錯誤したのでそのメモ。 やりたいこと 例えば以下のようなTable Driven TestなコードをBEFOREからAFTERに書き換えたい。コード量が多いため人間がやるのは現実的ではなく、codemodで機械的に書き換えたい。 BEFORE package main import ( "slices" "testing" ) func TestContains(t *testing.T) { type args struct { ss []string s string } tests := []struct { name string args args want bool }{ { name: "empty: false", args: args{[]string{}, ""}, wan

    oinume journal
  • ドキュメントとテストコードつきのPerlスクリプトを書く方法 - kazuhoのメモ置き場

    Re http://d.hatena.ne.jp/perlcodesample/20091130/1258979624, http://mt.endeworks.jp/d-6/2009/12/scriptsubimport.html スクリプトとコードとテストを単一のファイルにまとめたい*1という需要が、かねて自分の中であったので教えを請うた結果、以下のような感じで書けばいいことがわかった。 #! /usr/bin/perl use modules...; my $global = ...; sub foo { ... } sub bar { ... } run_tests() if $ENV{HARNESS_ACTIVE}; # メインのコード foo(); bar(); ... sub run_tests { ... exit; } __END__ =head1 NAME my_scr

    ドキュメントとテストコードつきのPerlスクリプトを書く方法 - kazuhoのメモ置き場
    tyru
    tyru 2009/12/15
  • 属性?みたいなの - 足跡

    メソッドでの場合はすぐ忘れるからメモ。 virtual - クラス定義の中でだけvirtualを書く。 static - 同上。 inline - クラス定義内で定義したメソッドには不要。そうじゃない場合は同一ファイル内で関数定義してる場合のみ有効。

    属性?みたいなの - 足跡
    tyru
    tyru 2009/12/15
    よく忘れる
  • Diff algorithm - 枕を欹てて聴く

    id:smoking186 さんの指摘を受け, First Authorの名前などを付加しました. どうもです. 記事内のcodeは最適化などを施しておらず, 冗長に, 定義どおりに書いています. ifがまとめられたりとかしますが, そのあたりはご容赦を... Rubyでlevenshtein距離を見て以来, 個人的にdiffブームが来ていた. 計算量O(ND) / O(NP)のalgorithmなどがあるのは知っていたが, 論文(英語)および, 解説のみ, またはソースコードのみなど分かれているものが多く, algorithmに疎い自分には理解するのに大変時間がかかってしまった. しかしやっとわかったので, 解説+JS実装してみる. 解説とソースコードがセットだと, 多少はわかりやすくなるかと... 自分は正直これくらい細かく言われないとすぐにはわかんない人なので(the O(ND)だけ

    Diff algorithm - 枕を欹てて聴く
  • [プログラミング] ビット並列アルゴリズムを使った編集距離 - tsubosakaの日記

    ふと、ビット並列アルゴリズムを使った編集距離を計算するアルゴリズムを書きたくなったので書いてみた。 まず、通常の編集距離であるLevenshtein Distanceを求めるアルゴリズムは以下のように書ける int levenshteinDistance(String A, String B) { int m = A.length(); int n = B.length(); int dp[] = new int[n + 1]; int next[] = new int[n + 1]; for (int i = 0; i <= n; i++) dp[i] = i; for (int i = 1; i <= m; i++) { next[0] = i; for (int j = 1; j <= n; j++) { if (A.charAt(i - 1) == B.charAt(j - 1))

    [プログラミング] ビット並列アルゴリズムを使った編集距離 - tsubosakaの日記
  • MySQL Query Browserが便利な気がする « **deadwinter**

    MySQL Query Browserというものがあります。Windowsだと「Common SQL Environment」とかあったりするんですが、ことLinuxだと、GUIツールがあまり無いので。。 Ubuntu 9.10では簡単にインストールできます。 sudo aptitude install mysql-query-browser なお、他の環境についてはMySQL公式でインストール手順を教えてくれます。英語、ですけど。 諸機能 「アプリケーション」>「プログラミング」に「MySQL Query Browser」が登録されます。 接続後の画面です。 基的に、テーブルを上のSQL入力フォームにドラッグ&ドロップすればいいです。 図解するとこうです!! わかりますね!!! SQLは「ctrl+Enter」で実行できます。 なお、テーブルジョインをしたい際などは、四角い所の下の方に

    tyru
    tyru 2009/12/15
    タイムリーなエントリ
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    tyru
    tyru 2009/12/15
  • Vim で PHP 関数の辞書を作成する方法についてのメモ

    説明と環境 PHP の辞書作成方法をまとめてみました。 また、ctags などを使って、Vim をさらに便利に使うことができるようになりますので、その時に調べたり、行ったりした作業のメモをまとめておきます。 このメモは、Gentoo Linux で作成しました。ツールのバージョンや、Vim のバージョンなどによってはうまくいかない場合もあると思いますが、何か気になった点や問題などがありましたら、メールで連絡してください。 Vim 用の PHP 関数辞書を作成する Vim では、:set dictionary に辞書ファイルを指定し、Ctrl+x, Ctrl+k で、辞書補完が行えるようになりますが、辞書ファイルをどのように作成するかという問題がありますので、思いついた方法をメモしておきます。良いと思われる方法で辞書を作成してください。PHP スクリプトから定義済み関数を出力する方が、PHP