Eukleides project

from http://d.hatena.ne.jp/u5_h/

Weekly PR #9

本業が火の車で今週は1件だけ Google Kubernates teamによって作られたk8s softのリリースに使うユーティリティツールといったらいいのでしょうか?PRの内容自体はconfの内部validationで、goのnet/urlを使うように改良するものでした。net/urlのParseはfile…

Weekly PR #8 crypto

今週は2件。感謝祭よりも本業で忙しくてほとんど手がつかず…orz OSS界隈は感謝祭の連休でコードレビューが止まっているようで、週明けから徐々にレビューが返ってきています。 go-tikaというapache tikaのgoによるラッパーで、最新版のダウンロードするよう…

Weekly PR #7 go lint

今週は3件のPRを出しました。 lintに関するものが2件あります。 goのlintの場合、publicな関数の開始に関数名から始まるその関数の説明を書かなければならないエラーが大部分ですが、今回はいくつかその他のポイントがありました。 1件目 pionというwebrtcな…

Weekly PR #6 containers test

先週は件数が少なかったので、少し頑張って5件ほどこなしました。 github.com sshの設定を選択管理できるツールのapple scriptを実行するメンテされていないライブラリを言語標準のものに変更しました。 github.com kubernetesとdockerを使ったcloudネイティ…

Weekly PR #5 mycode inside redhat-developers

今週のPRは2件 少なめですが、でかいレポジトリにcontributeできたのでまぁまぁです。本当は本業が忙しかったという言い訳をしたいところですがねw 1件目 github.com goで実装されたBASICインタプリタにXOR計算を実装しました。論理演算子としてのXORもつい…

weekly PR report #4

今週は休みがあったのであまり大きなデバッグはなく。3件。 1件目 github.com VPNスイートのtravis-ciで標準エラー出力をハンドリングできてなかったので、修正しました。レビュワに囲まれてapprove貰うまで色々と大変でした。 2件目 github.com heptioとい…

weekly PR report #3

今週は4件github.com cwというAWS Cloudwatch Logsをtailしてterminalで見れるプログラムの 色出力をしないようにするフラグを作りましたgithub.com いわゆるライフゲームプログラムのイテレーションを修正しました。 1世代前の情報が参照渡しになっていたの…

weekly PR report still hacktoberfest...

今週のPR先週に引き続きvinyldnsというパブリックDNS APIのgoで書かれたラッパーの改修 record-set-createするときにCNAMEとA,AAAAを選択できるようにしました。 github.comDNS関連でもう一つ dnstraceと呼ばれるDNSのレゾルトをトレースするツールがあるの…

weekly PR report in hacktoberfest

hacktoberfestの時期ということで世界的なプルリク合戦の最中ですが、今週は5PRしました。 任意のOSSに5PRすると、Tシャツがもらえるらしいので頑張ってみました。 hacktoberfest.digitalocean.com goで書かれたgitのラッパーでgit prune時のバリデーション…

How to make a timed token path on h2o + mruby reverse proxy

前回はh2oとmruby,mruby-redis,mruby-base64を使って、proxy cache serverを作りましたが、今回はmruby-cipherとmruby-packを使って、一定時間だけ有効なpathによるアクセス制御を実装します。使用するmrubyのパッケージは以下ですGitHub - hanachin/mruby-c…

h2o+mruby+redisでproxy cache serverを作る2

cacheをbase64でエンコードして保存。前回はテキストデータのみだったが、mruby-base64を入れることで、バイナリデータのキャッシュをbase64にしてnull charを回避できそうです。 https://github.com/mattn/mruby-base64導入 [root@cac96f2dd83a h2o]# git s…

h2o+mruby+redisでproxy cache serverを作る

h2oとは CPU使用率の小さいユーザに対して、迅速なレスポンスを返答する新世代HTTPサーバ また、優先コンテンツ配信や、server push機能を含むHTTP2の機能をフルに活用し、webサイト訪問者に傑出した経験を提供する新世代HTTPサーバのようです(意訳) https…

Rustを勉強中4

実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 写経物 cargo いわゆるビルドツール rustcがgccなら、cargoはmake パッケージ管理も行うのでAnt,Maven,Gradle,cocoa podといった類? $ cargo new PROJECTNAME…

Rustを勉強中3

プログラムをよりオブジェクト指向チックに扱うために以下の構造を示す機能を勉強した。 実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 写経物 ジェネリクス 関数において、型による再定義をしなくて良くな…

Rustを勉強中2

前回の続き 所有権と参照とライフタイム 所有権 Rustでは値を使うとなくなるが、実際はソースの所有権が、別の所有者に移る。 右式の変数が以降で使えなくなる。 左式の変数がソース"this is a resource"の所有権をもつ fn main() { let s = "this is a reso…

Rustを勉強中

いい資料が見つかったので、Rustを勉強中。 Rublidfmでかつて元カヤックのtypester氏が紹介していて興味があった。 179:Rustacean 資料 最速で知る! プログラミング言語Rustの基本機能とメモリ管理【第二言語としてのRust】 写経物 rustのインストール for …

10年ぶりの更新?

ご機嫌いかがですか? 10年間色々ありましたが、生きてました。 C言語の勉強にハマり、Cで音声ストリーミングアプリをひたすら書くだけの研究を大学で3年間やり 震災があり、電機メーカーに就職して、プラスチックを削ったり、結局そこでもVBAでマクロをたく…

(お勉強)正規表現

久々です!こっちの世界のほうが居心地がいいwというわけでC言語に戻ってまいりました。っといっても今日はコードを打ちません。いきなり打てというほうが正直辛いわけで、別に嫌いではないけれども他の仕事も結構忙しいわけで(^^;)いままで実はDLLインジ…

(文字列)BMアルゴリズム簡易版(改良できた)

今日のアルゴリズムはは、非常に難解だが、実用上もっとも優れた文字列照合アルゴリズムである。それはBoyer-Mooreアルゴリズムと呼ばれている。ここではBMアルゴリズムという。岩波のソフトウエア科学PP307にそのソースがPascalで記述されていますが。goto…

(文字列)KMPアルゴリズム

しばらくサボってて申し訳ないです。 別にサボってたわけではなく。仕事がうまくいかなかったり、BIOSのサービスコールやIA32、16を勉強したりとより実装指向な話題に陶酔していました。こちらも近日活動公開できればなんですがどうも、趣味の中でも一番楽し…

(文字列)単純な文字列の照合改良版

前回のアルゴリズムを少しだけ高速にしてみる。ただし計算オーダーは変わらず 改良点 ・テキスト側とパターン側各々に番兵を用いる ・1文字目をループの外側に出すこれにより2番目のループ計算による無駄を少なくする。 2番目のループは文字列の照合で用いる…

*[アルゴリズム](文字列)単純な文字列照合

今回から文字列のアルゴリズムについて紹介していきます。 今回は単純な文字列照合のアルゴリズムです。 文字列照合はエディタにおける文字探索やテキストデータベースにおける文字検索に応用されます。 今回はC言語における文字列の添字表現とソースの可読…

祝1000人達成記念ソース

なぜか駄文ばかり書いていたこのブログも1000達成したので記念ソースを書きました。 見た目で理解できなそうなプログラムをちょっと目指しましたwmakeして実行してのお楽しみ☆ #include #include #define $C printf( #define c_ 0x54,0x49 cc(char *c){*c=0x…

(tcp/ip関連)TCPのTIME_WAIT状態の実験

まずは単純な文字列をループバック(127.0.0.1)で送る送受信プログラムを作る。 比較のためにSTREAM型(TCP)とDATAGRAM型(UDP)の送受信プログラムを用意する //DATAGRAM型(UDP)の文字列受信サーバプログラム #include #include #include #include #include #in…

(構造関係)整列アルゴリズム3

今回はマージソートについて扱う。 仕組みは簡単である。配列のデータを要素1つずつ細かく分けてそれを大小比較してマージ(併合)するこれを繰り返し行う。ソート一回における扱う要素は2つ、4つ…とふくれあがる。これにより単純なソーティングよりも高速な処…

(構造関連)整列アルゴリズム2

今回は前回に引き続き整列アルゴリズムの効率的手法である、クイックソートとヒープソートを述べる。 まずは、クイックソートから述べる。 クイックソートは前回の単純整列法を改良したものである。配列のindexの中間値にあるデータを基準値とし大小に別けて…

(構造関連)整列アルゴリズム(1)

比較的平易な整列アルゴリズムを示す。 //simplesort.c //This program is sorting upstair data gradually //author u5 //2006 7 AUG //how to Make // gcc simplesort.c -o simplesort //how to exec // %./simplesort #include void swap(int *p,int *q);…

(アルゴリズム構造関係)探索のまとめ1

構造体配列における線形探索と2分探索 #include #include #define SIZE 17struct cell{ int key; char info[20]; }; struct cell a[SIZE]; //構造体配列における線形探索関数 struct cell linear_search(int target){ int p; for(p=0;p if(target==a[p].key)…

(アルゴリズム構造関係)構造のまとめ

データ構造のまとめをしようと思い夏に向けてさまざまな関数や構造を扱うことにする。 1.構造 線形リスト スタック・キュー(待ち行列) 二分木2.サーチ 線形探索 二分探索 2文探索木 B木 AVL木 ハッシュ法3.整列 シンプルソート(バブルソート) セレクトソ…

(WIN32API、システム関連)waveプレーヤー

今回は関数だけは参考にしました。そして他の部分である再生の処理に アラームを組み込み再生時間後に終了処理をするように制御した。そのため再生中に停止もできる設計。 //■コンパイル方法 //gcc m1.c -o m1 -lwinmm // //■実行 //input file name>sample.…