intro sort パッケージは slice などをソートするデフォルト実装や、独自の比較ロジックを定めるインタフェースなどが提供されています。 Go のインタフェース、継承による拡張などの考え方的にも面白いので解説メモ。 Sort function sort パッケージには Sort 関数が定義されている。 そのシグネチャは以下。 つまり、ここに sort.Interface インタフェースを満たしたものを渡すと、中で Quick Sort, Heap Sort, Insertion Sort を、条件に応じて使い分け、いい感じに並べ替えてくれる。 Sort Interface sort.Interface のインタフェースは以下。 (Go では、メソッドを持っていればインタフェースは満たされる) type Interface interface { // Len is the num
旅行中に自宅の様子をモニターしたり、別荘の暖房をあらかじめ入れておいたりするときも、モノのインターネット(IoT)を利用する場合は、こっちとあっちのコミュニケーションのためにインターネット・プロトコルを使用する。そのため私は、3年間に書いた著書『Getting Started with the Internet of Things』の中で、IoTを、インターネット・プロトコルで接続されたコンピューター、センサー、アクチュエーターのグローバルネットワーク」と定義した。 これは、大幅に単純化して理想化したIoTの姿だ。美しく澄み渡った技術的な風景だ。そこではIPパケットが温度センサーからクラウドデータセンターを通り、暖房のコントローラーへと伝わる。その間には、厄介なプロトコルの変換や、設定やプログラムで苦労させられる複雑なゲートウェイもない。 しかし、現実はその逆だ。ときには補完し合い、ときに
最近はAngularJSの記事をQiitaにたくさん投稿していたのですが、久しぶりにこっちのブログにも書いてみます。 AngularJSでリアクティブプログラミングをするためのフレームワーク「ReactiveProperty for AngularJS」を作ったので、その紹介記事です。 https://github.com/zoetrope/reactiveproperty-angular リアクティブプログラミングとは 簡単に言うと、ユーザーの入力や外部イベントなどに応じて変化した値が、自動的に他の場所に伝搬されていき、それに反応する形で処理をするようなプログラミングパラダイムのことです。 詳細についてはこちらの記事が分かりやすいです。 なぜリアクティブプログラミングは重要か。 - Conceptual Contexture やさしいFunctional reactive program
ベーコン・スモークチーズ・スモークサーモンなどの燻製食品はスーパーなどで販売されており、誰でも気軽に食べることができるわけですが、自分で好きな食材を燻製にできる、アウトドアへの持ち運びも簡単な段ボール製スモークボックスが「ソト(SOTO) 燻家 スモークハウス ST-114」です。約1300円という低価格で段ボール製ながら耐久性は高く、簡単なチーズや玉子などから燻製を始めたところ、グングンと燻製レベルが上達していき、果ては超本格的なベーコンまで完成してしまうという、計り知れぬ潜在力を秘めたスモークボックスとなっており、壊れる寸前まで使い倒してみました。 ◆外観&組み立て というわけでこんな感じのパッケージで「燻家スモークハウス ST-114」が到着。 中身は段ボールのボックス本体・お試し用のスモークウッド・金棒×2・金網・フック×4・アルミ皿で、食材さえ用意すればとりあえず燻製できるように
そういえば、Red Hat Enterprise Linux Developer Suite 持ってたら RHELのSubscriptionついてくるんだったよなあと 思い出してRHEL7をインスコ。これは年間たったの$99なのでお得だと思う。 普通に入ったけど、カットアンドペーストをサポートするための guest addition CD が インストール不可 このへんに有志パッチがあるので、それを使った。 RHEL 7 VirtualBox Guest Additions Patched http://matthewcasperson.blogspot.com/2014/06/rhel-7-virtualbox-guest-additions.html
2014-01-23 Pythonのデバッグとユニットテストのテクニック Python assert文 変数testが偽ならAssertionError例外を発生させる。 test = 0 data = "assertion error" try: assert test,data except AssertionError: print data finally: print "the end" assert文の部分のみなら、次のように書く事で代用もできる。 if __debug__: if not test raise AssertionError, data 例外の分離処理や内容の表示 somedata = 1 # キャッチしたい例外をタプルでまとめておく。 fatal_exceptions = (KeyboardInterrupt, MemoryError) try: assert
Python nose でユニットテストを書いてみた chocolablog は Python で書かれていますが、これまであまりユニットテストの整備に時間を割いてこれませんでした。しかし初期バージョンの開発から 2 年以上が経ち、その間に何度か sqlite3 をとりまく DB アクセス部分を中心に、処理を書き換えています。他のロジックはともかく、コアとなるコードはしっかり動作を担保しておくべきだなと感じ、ユニットテストの整備に着手することにしました。 Python では 2.1 移行、ユニットテストフレームワークとして unittest が組み込まれています。これは個人的に大好きな JUnit をベースに作られているそうです。ただネット上で目にした Python 系のオープンソースプロジェクトでは、この uniittest モジュールではなく nose というモジュールを使ってテストコ
とりあえずメモがてらに記述しておく。 対象読者 LLを使ったサーバサイドWebアプリケーションエンジニア tl;dr この記事に結論はない。思いを馳せたことを記述するのみである。 あと長いのでだらだらしたのを読みたくない方はブクマせず閉じるボタンをどうぞ。 ポエムなのでそういう苦手な方はブクマせず閉じるボタンをどうぞ。 ポジション 仕事ではPerlを使ったネイティブアプリケーションのサーバサイドAPIを書く。 趣味ではPerlを使ったWebアプリケーションやGolangを使ったライブラリやミドルウェア等々 Ruby on Railsは触ったことがない。 rapid developmentというコンテキスト 僕がWebアプリケーションフレームワークなるものを初めて触ったのはCakePHPで、それまではPHPでベタッと書いていたのを覚えている。Traditional PHPと言われる手法である
横田です。Dockerが盛り上がっておりますが、Dockerの盛り上がりと同時に「Dockerを利用してPaaSを構築できるツール」や「DockerにUIを追加するツール」さらに「Dockerの利用を前提としたOS」など「Docker専用ツール」も登場してきています。 今回は、そのような「Docker専用ツール」を色々とご紹介したいと思います。 《PaaS》 Docker上にPaaSを構築するツールがいくつか登場してきています。かつては「Dokku」が人気でしたが、最近では「Flynn」と「Deis」というツールに人気が集まっているようです。 日本だとWeb上のドキュメントが少ないですが、先日の「Docker meetup tokyo #3」で発表されたtaichi nakashimaさんの記事が「flynn」関連のドキュメントを多く公開してくださっているので「Flynn」の方がやりやすい
Deisは、Heroku的なワークフローを実現する Docker/CoreOSベースのPaaSです。オープンソースのプロジェクトですが、既にOpDemandが運営会社になっており、同社はこれまでに約2.5億円の資金調達も完了してます。フルタイムでオープンソース開発を担当する正社員の募集も始まって、最新バージョンは0.9.1という段階のようですので、これから本格的に立ち上がっていくのでしょうか。 Deisのクリエーターであり、OpDemandのFounderでもあるGabriel Monroyのが、dockdercon 2014でDeisのこれまでの進捗を紹介しています。 Deisは最初のマルチホストDocker PaaS。最初はPythonで書いていたが、最近はGoが中心。 フルタイム5名 + ~40名のコントリビューター すぐにプロトタイプをだしてコミュニティからのフィードバックをもらお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く