読者です 読者をやめる 読者になる 読者になる

linkerdについて調べてみた

複雑化しやすいマイクロサービス間の連携の解決について気になっているところでlinkerdについて知ったので少し調べてみました。 ただ、思ったより日本語の情報は無いですね。。。 大規模なサービス連携でなければ、Consulなどでのサービスディスカバリ単体が…

Google Compute Engine における概念のまとめ

Google Compute Engineについて利用する機会ができたので、関連する概念の概要をまとめておこうと思います。 主に用語とその簡単な概要みたいな形になるかと思います。 Google Compute Engineとは Google Compute Engine(以降GCE)は、Google Cloud Platfor…

Portainerを利用して個人環境のコンテナ管理をする

Portainerとは PortainerはDockerホストのコンテナ等の情報をブラウザで確認・操作できるツールです。 知らずのうちに溜まっていくボリュームやイメージなどが視覚化されるので便利です。 またブラウザ上でコンテナにシェルでログインすることもでき、かなり…

木構造を描くアルゴリズムについて(Reingold-Tilford Algorithm)

最近、UnityでPlayable APIというものを調べる機会がありました。 その際にそのPlayableの木構造をUnity上で表示できるEditor拡張としてPlayableGraphVisualizerというものがあると知ったので軽く見ていて、「Reingold Tilford」というものが出てきて調べて…

Unityでスクリプトの一部分の処理をProfilerに表示してもらう

今日は非常に初歩的なTips的な話です。 Unityのドキュメントをちゃんと読んでれば知ってるくらいの知識、ということで。 Unityでゲームを開発していると(というよりはゲームを開発しているとよくあるとは思うのですが)、どうもダメージを食らったときにも…

ネットワーク周りの知識のまとめ (物理層)

ネットワーク周りの知識をまとめておこうと思います。 今回は物理層だけど、無線部分とかは全然かけていないので気が向いたら書きます。。。 (ツイストペアケーブルと光ファイバーケーブルについて書くだけで結構疲れたw)

MySQL(InnoDB)のインデックスについての備忘録

最近、インデックスについて調べることがあったので、忘れないうちに出来る限り情報を残しておこうと思います。 ちなみにMySQLのバージョンは5.5および5.6の情報を元にしています。

Eric EvansのDDDを読んでます(4)

今回は第6章(ドメインオブジェクトのライフサイクル)まで。 集約 集約はエンティティやバリューオブジェクトを1つのオブジェクトとみなし、扱います。 これにより関連をわかりやすくし、また不変条件を維持することで、オブジェクトの一貫性を保つようにし…

プログラミングで考えていることについて考察してみる

まえがき 前回までDDDの読書記事書いてたのですが、7章くらいまで読んだあたりで先にやりたいことができてしまったので、一旦中断しています。(6, 7章は年末年始の間に記事書きます) 今回は年末ということで今年の振り返り的な記事を書きます。

Eric EvansのDDDを読んでます(3)

今回は第5章まで。 忙しかったのと、他の本を参照したりしていたので読むペースが少し遅くなってしまっていますが、またペースを戻しつつ進めたいと思います。 あと、ブログのデザインを変えてみました。 もともと大画面で見ている時に幅が狭いかなーと思っ…

Eric EvansのDDDを読んでます(2)

今回は第4章まで。 第4章の要約 章のタイトルは「ドメインを隔離する」。 レイヤアーキテクチャによってドメインをその他のレイヤと分離する話が書かれています。 また、その対極にあるものとして『利口なUI「アンチパターン」』というものが書かれていまし…

Buffetってライブラリを作ってみた

何ヶ月かこそこそと裏で作ってたライブラリを公開しました。 naokirin/Buffet · GitHub よくあるExcel式データ駆動開発で、ファイルやシートを横断的に検索するのがキツいというのを感じていたので、気軽にデータ定義をするだけでExcelに入っているデータを…

Eric EvansのDDDを読んでます(1)

最近、アウトプットが疎かになりつつある感じがしていたので、読書記録でもつけていこうと思います。 最近読み始めた本がEric Evansのドメイン駆動設計(DDD)ですので、こちらの読んでいて感じたこととかを書いていきます。 ちなみに、ちょうどアジャイルソ…

アジャイルソフトウェア開発の奥義を読み終えた

苦節2年、ついに読み終えました。 買ってから半年寝かせ、そこから1年半書けてようやく読み終えました。 とは言っても、結局まだまだ実際のコーディングやらに結び付けられているというのは結構少ない感じがしています。 それとだらだらと読んだせいで、細か…

Developers Summit 2014 Kansai に参加しました

タイトル通り、デブサミ関西に参加してきました! 今回はその記録です。 会場入りまで 休暇をとって参加したんですが、休みの日にあんまり早く起きたくないなぁみたいな考えのもとに午後から参加にしてました(ぉ あとから発表資料見たりして、行ってもよか…

MonoGame + Xamarin Androidで書き方が変わってた

最近、Xamarin AndroidのIndieライセンス契約をして、MonoGameをいじってみたりしています。 先週、MonoGameを入れた時に気になっていたこととして、Xamarin Androidでアプリを作成した場合に起動後2回目のResumeでExceptionが発生していました。 そのときは…

忘れられがちなプログラマの真のしごと

誇大な感じのタイトルになってしまっている気がするけど気にしないでおこう。。。 大学で趣味でプログラミングを行い、自由気ままに好きなようにコードを書いていた頃とは違い、仕事でコードを書くようになって感じていたことの1つを書いてみます。 プログラ…

mutableな参照渡しについて

mutableな参照渡しというものが、たまに出てくる。 あれがどうにも苦手で、コードの理解が約1/4に落ちているような感覚になる。 私自身はあまり記憶の才はないので、こっちの関数でこの変数はこう変更されて、次の関数に渡されて…と考えてるとわけが分からな…

C#の素晴らしさを語る会に参加させていただきました

C#の素晴らしさを語る会に参加させていただきました。C#愛に溢れた発表が多く、C#の良さはすごく伝わる内容だったと思います。また、内容は.NET Frameworkのプラットフォームについてから、言語仕様、LINQ、他言語連携(ネイティヴ)、unsafe利用、Roslynな…

ラムダ計算について勉強中(途中まで)

現在ラムダ計算とかを勉強中です。ついでにpbsk氏にプログラム意味論を教えると言うことになっているので勉強がてら資料作成しています。現状では、λ 式の定義、λ 式の等式関係、不動点コンビネータ、リダクション、データとその演算の表現、λ 定義可能と計…

TDD Boot Camp Fukuoka 2013に参加してきました

TDD

TDDBCはスタッフ参加を含めて今回が3回目です。今回は一参加者として参加させてもらいました。 今回のTDDBCの傾向 今回3回目なのでこれまで参加した、また見聞きした感覚として今回のTDDBCは Githubを使っていたペアが多かった 1ペアごとのレビュー時間が長…

「JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)」を頂きました!

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行本(ソフトカバー)購入: 14人 クリック: 273回この商品を含むブログ (65件) を見るレビュアーとして参加…

ソフトウェアテストの技法をよんだ

ソフトウェア・テストの技法を読み終えました。ソフトウェア・テストの技法 第2版作者: J.マイヤーズ,M.トーマス,T.バジェット,C.サンドラー,Glenford J. Myers,Todd M. Thomas,Tom Badgett,Corey Sandler,長尾真,松尾正信出版社/メーカー: 近代科学社発売日…

Haxeでusing Lambda !

mixin Haxeにはmixinという機能があります。mixinは例えば次のようなクラス class Foo { public static function foo<T> (list : List<T>) : Void { for (x in list) { trace (x); } } }があった場合に通常の呼び出しとしては var list = new List<Int> (); list.push (</int></t></t>…

NME : Haxeでクロスプラットフォーム開発のできるライブラリ

Haxeの勉強を始めたばかりですが、NMEが面白いのでちょっとだけ紹介します! Haxe自体、様々な言語へ変換出来ると言う面白い言語です。さらにNMEでは様々な環境向けにビルドができ、GUI開発ができます。(とはいえ、今はゲーム開発専用と言っても良さそうで…

NMEでhtml5にエクスポートする際にTextFieldの中央寄せができない

つい1週間ほど前にHaxeの勉強を始めました。ついでにクロスプラットフォーム開発のために、NMEを使っています。 そのときに var textField = new TextField (); textField.text = "aaa"; var textFormat = new TextFormat ("_sans", 30, 0x333333); textFiel…

ちょっと気軽なOUnit:pa_ounit

OCamlを使っている皆さん。テストコードは書きますよね。 そこでOUnitの登場です。 OUnitはOCamlのユニットテスティングフレームワークです。OSSなどでも良く使われています。…が、OUnitは結構冗長、というよりテスト自体の本質が見えにくくなることがありま…

コミットを自動化する第一歩

釣りなう(ぉgit nowでのコミットをディレクトリの変更を wait_on コマンドで検知して、保存時に自動的にやってもらおうというだけだったりする。ビルド成功時のみ?テストが成功したら?なにそれおいしいの?トピックブランチに入ったら、管理するファイル…

OCamlのテスティングフレームワークを作ってみたり

練習もかねて、テスティングフレームワークを書いてみてました。最初はこんなに大きなものを作る気がなかったので、バージョン管理してなかった(汗正直言ってあまり出来は良くない。複雑だし、いろいろメンドイ。それにOUnitよりいい点があまり無い。 方向…

StateモナドをOCamlで実装してみるという不相応な事をやってみた

ずいぶんとエネルギーを持っていかれた気がする…最近、モナドも使い慣れるといろいろ好都合だったりするので、自分用にほぼ最小に近いレベルでOCamlにモナドを実装していこうといろいろなモナドの実装をしています。とはいえ、まだMaybe, List, Lazyくらいで…

標準理論とHiggsについて、一般の人に誤解なく語るには

答えがあるわけじゃないです。私も考え中です。 つまりここでは一般人に『分かりやすく』教える事を目的にしていません。ちなみに標準理論というのは現在、素粒子の理論の中でももっとも成功していると言える理論です。実験的にも非常にいろいろな検証がなさ…

OUnitで遊ぶ (2)

前回とはうって変わって、ちょっとだけassert文をどうにか出来ないかなぁという感じの方向性で作ってみました。 module type ASSERT = sig type t val cmp : (t -> t -> bool) val printer : (t -> string) end module MakeAssert(AssertType:ASSERT) : sig …

OUnitで遊ぶ

OUnitはOCamlでは関数がオーバーロード出来ないとかそういう関係で複雑な処理に対してや、パラメタライズドなテストコードが非常にコード自体が見にくくなる傾向にあります。なので遊びがてらいろいろ試してみようと思いました。 open OUnit open List let (…

TDDBC参加 メモ

TDDBCにスタッフとして参加したので、つれづれにメモ書き。 TDDBCで発表があったことの内容よりも、参加した中で考えたりしたことをちょっと書きだしておきたいと思います。Keep グリーンの安心さと同時に細かいテスト実行を伝えられたのは大きかった。 最後…

実用期を迎えた関数プログラミング 参加レポート

実用期を迎えた関数プログラミング 最新動向と今後の展望 - http://atnd.org/events/27376「実用期を迎えた関数プログラミング」参加してきました。福岡では関数プログラミングの勉強会は少ないので、福岡で関数プログラミングのお話が聞けるというのは非常…

「ダニエル・カーネマン 心理と経済を語る」の感想(2)

前回の続き。今回は第一章を読んでみたまとめと感想を書きます。 第一章 ノーベル賞記念講演 限定合理性の地図 知覚表象 感覚表象とも。人間が感じる様々な感覚が脳の連合野で分析的に統合されたのもの。 例えば、「重い」という感覚は、皮膚への強い圧力と…

「ダニエル・カーネマン 心理と経済を語る」の感想(1)

今「ダニエル・カーネマン 心理と経済を語る」という本を読んでいるので、感想を書きつつ読んだところで気になったことを軽くまとめておこうと思います。今回は監訳者解説で気になった用語や事柄をまとめておきます。 監訳者解説 カーネマンの行動経済学での…

Relaxed value restriction (2. covariant と relaxed value restriction)

前回の続きです。Value restrictionによって let x = fst ([], ()) val x : '_a list = [] となってしまっていた。うん、非常に残念。これは別に多相的にあつかってもいいはず。 Relaxed value restriction ここで、Relaxed value restriction。 これはValue…

Relaxed value restriction (1. let polymorphism と value restriction)

皆さん、いかがお過ごしでしょうか。楽しいOCamlライフ送ってますか?私は紆余曲折あって「なぜだ・・・なぜ自分が使っている型システムすら知らないんだ!?」ということで、OCamlの型システムを勉強しようと思ってます。そのあたりで論理学の知識がどうし…

Macにsml#入れたったー(というログ)

sml#入れました。とりあえず、ML系の言語は拡張のされ方だったりが非常に面白い(というかたまに風変わり)だったりするので、興味があります。なのでsml#も少しばかし試してみようと思ってインストールしてみました。で、そのログです。この通りやれば絶対…

私の貧弱なOCaml力を晒す 第七回 「#variant <パターンマッチ、できるんだぜ」

ヴァリアントってパターンマッチできるんですねー、なんて言ったら流石に初心者すぎるかも知れませんが、次のようなパターンマッチが可能なことは知りませんでした。 # type myvariant = [`A | `B];; type myvariant = [ `A | `B ] # let f x = match x with…

私の貧弱なOCaml力を晒す 第六回 「関数型だけど、オブジェクトなんだもん」

なんかこのシリーズ、増えれば増えるほど自分のOCamlへの知識のなさが見えてくる… 今回はFunctional Objects.「あー、それね。はいはいChapter 3あたりに書いてあるのでしょ」と思った人は正解です。いやはや、私は今"O"縛り中なので、クラスとかオブジェク…

OCamlのGADTを試す

今回はOCamlの現在のlatest versionである3.12.1には実装されていない、GADTについて試してみました。とりあえず、現状でOCamlのGADTを試すにはOCamlのsvnリポジトリからgadtsをとってきてビルドとインストールを行う必要があります。ただし、これを行うと、…

私の貧弱なOCaml力を晒す 第五回 「OCamlの怪」

今日は夏に向けていっちょOCaml界に伝わる怪談話でも… ではなくて、幽霊型について。使えたら面白そうだと思うのですが正直未だに実践で使ったことがないので、非常に残念な気分になりつつも書いていきます。幽霊型は次のように定義できます。 # type 'a num…

私の貧弱なOCaml力を晒す 第四回 「findlibと対話」

ターミナルで $ ocamlと叩くとOCamlのインタラクティブシェルが起動します。 Objective Caml version 3.12.1 # で、さぁてモジュール読み込もうと思ったときに「あっ、しまったぁ!インストールしたモジュール試したかったから、cmaファイル読み込ませないと…

オンラインゲームの課金制度の問題について

内定をもらった会社はオンラインゲーム開発の企業なので、こういうことも耳にすれば考えたりしてます。最近はアイテム課金制度が問題視されているみたいです。一昔前であれば私も「その人が欲しいと思って金を出したのだから、それをどうこう言うのも変な話…

私の貧弱なOCaml力を晒す 第三回 「整数の尻尾」

第三回にして、v 3.12の新機能ではなく前からあった機能を書きます。皆さんはリテラルのsuffixをご存知でしょうか。 浮動小数点数を『1.0f』なんて書いているのは見かけたことないですか?見たことない?さすがOCamlばかりやってきた人は違いますね!(違リ…

私の貧弱なOCaml力を晒す 第二回 「module(´ω):つ sig」

今回はmodule type ofによるモジュールのシグネチャの取得。・・・あれ、また3.12の新機能じゃないか!それはいいんです、それは。最近ちょうど使う機会があったんですっ!たまたま使っただけですっ! module type of シグネチャを書くときに、モジュール同…

私の貧弱なOCaml力を晒す 第一回 「ローカルオーッ、\プンッ!/」

今回は私の貧弱ぅなOCaml力を晒すべく、最近知ったばかりのOCamlの知識を書いていこうと思います。自分が知らなかったOCamlネタが見つかり次第、随時記事として追加していくつもりです。今回はlocal open。これは3.12で追加された機能ですね。まあ、知らなか…

型による安全なWebプログラミングライフ 〜 OCaml & Ocsigen〜

というタイトルの通りのことを目指して、現在OCamlとOcsigenというWebアプリケーションフレームワークでWebアプリケーションを作ってみようと思ってます。ちなみにこのOCamlとOcsigenというのはかなり癖のある環境で、私は今のところDebian上でしかOcsigenま…