タイトルとおりなんだけど、golang使ってみたいと思うケースが出てきて、入門のためまずはlifegameを書いてみた。 ルール ライフゲーム - Wikipedia 結果 github.com 16/7/16修正しました package main import ( "fmt" "math/rand" "time" ) type game struct { field [][]bool row int column int } func newGame(row, column int) *game { rand.Seed(time.Now().UnixNano()) p := new(game) p.row = row p.column = column p.field = make([][]bool, row) for r := 0; r < row; r++ { p.field[r]
An empirical study of working speed differences between software engineers for various kinds of task プログラマーの作業速度には差がある。作業速度が早いことだけをもって優秀なプログラマーとは限らない。そのソフトウェアの保守性が悪いかもしれないからだ。しかし、やはり作業速度の早いプログラマーは優秀と見られがちだ。特に、転職界隈では、優秀なプログラマーは、その作業速度の速さを形容して、「ニンジャ」とか「10倍プログラマー」などというタイトルで喧伝されている。さて実際には、プログラマーの作業速度は、全体としてどの程度違うのか。 プログラマーの作業速度が早いものと遅いものの比は、従来、28:1であると言われてきた。この数字には根拠となる研究がある。1967年にGrantとSackmanが公開した論文
なぜ golang に移植したかというとまあ以下のような理由です。 https://github.com/tokuhirom/jailingo/ capabilities で制御したかった jailing は perl で記述されているために、setuid/setcap などで制御することが難しい 今時 suid-perl 使うのもなあ、という。 C で書くと getopt の処理とかだるい C++ で書くと、ビルドとかで悩むのがめんどい golang は segv しにくくて楽 golang で記述することにより、良い面もあるが一方で、普通に golang で記述すると、clone() したあとに処理を挟むことができないので、CLONE_NEWPID | CLONE_NEWNS とかしたあとに mount したいという要望が叶えられない。ので、いったん /proc/self/exec を
7/16(土)〜18(月)の2泊3日で開発合宿に参加していて、前々からやりたかった tachikoma_ai の gem のアップデートをしました。 開発合宿について、詳しくは id:niwatako さんが記事を書かれているので、興味ある方はそちらを参照して下さい。 niwatako.hatenablog.jp TachikomaAi について TachikomaAi は sanemat/tachikoma の拡張で、 bundle update のときプルリクに github の比較URLをつける gem です。 実は tachikoma_ai を仕事でも使っているのですが、使っていて機能不足なところやバグを見つけたので、今回直しました。 変更内容 v0.2.0 ✨ 0.1.0 のような v のついてないタグに対応 v0.3.0 ✨ .gemspec の homepage が gith
前回からの続き。 Rubyのリファクタリングでオブジェクト指向設計に沿った美しいコードになるまでの方法を書いた。 「イケてない」から「マシ」にするためのリファクタリング 「マシ」から「いいね」にするためのリファクタリング 「いいね」から「スゲーいいね」にするためのリファクタリング 今回は3.の「いいね」から「スゲーいいね」にするためのリファクタリング 「いいね」から「スゲーいいね」にするためのリファクタリング 前回までの変更点を反映した全体像 class OrdersReport def initialize(orders, date_range) @orders = orders @date_range = date_range end def total_sales_within_date_range orders_within_range.map(&:amount).inject(0
みなさんこんにちは お元気ですか。私は元気です。 Jupyter Notebookの次世代版、JupyterLabを紹介したいと思います。 ※7/17 誤字脱字、一部画像を修正 JupyterLab JupyterLabとは JupyterLabのインストール Jupyter Labの凄い点 1.画面分割が可能 2.タブによる画面切り替え 3.ファイルの操作機能 4.コマンドの検索機能 5.csvを綺麗に表示する 6.Widgetが1度のみの表示がされる。 感想 JupyterLab JupyterLabとは JupyterLabはJupyter Notebookをベースに拡張したものである。 所謂IDEと呼ばれるツールと同様である。 現在はAlpha版がリリースされています。 ※Scipy2016のカンファレンスビデオはこちらにあります。 JupyterLab: Building Blo
LinuxConに3日間参加してきました。 開催日付は7/13~7/15という感じです。 英語のセッションが全てでなかなか理解が出来ない部分が多くて難しかったです。 それでも良い経験になりました。 LinuxConでは本当に色々な人と知り合えました。 なおたさんやおおたさんやおるみんさんやがちゃぴん先生やひろさんやてまーくんや縦方向に潰れた人など、本当にたくさんの人たちと知りあえて良かったです。 そして!1番印象に残った出来事は... 2日目にセッションをサボってなおたさん(Gentoo開発者)にいろいろ教えてもらいながら、 Gentooのパッケージのパッチを書いてGithubにプルリクエストしてそのパッケージのブランチを作ってコミットした事です。(gitよくわからないから説明が合ってるかわからない、間違ってたら許してちょ♡) プルリクをして思ったのがgentooのリポジトリにコミットする
タスクサポート 並列コレクションは、演算のスケジューリングに関してモジュール化されている。 全ての並列コレクションはタスクサポートというオブジェクトによりパラメータ化されており、これがタスクのスケジューリングとプロセッサへの負荷分散 (load balancing) を担当する。 タスクサポートは内部にスレッドプールの実装への参照を持っており、タスクをより小さいタスクにいつどのように分割するかを決定している。 この内部の振る舞いに関してより詳しく知りたい場合はこのテクノロジーレポートを参照してほしい [ 1 ]。 現行の並列コレクションにはいくつかのタスクサポートの実装がある。 JVM 1.6 以上でデフォルトで使われるのは、 ForkJoinTaskSupport で、これは内部でフォーク/ジョインプールを使う。 JVM 1.5 とその他のフォーク/ジョインプールをサポートしない JVM
PHPカンファレンス関西2016の基調講演です。
Flux は Smalltalk の MVC を実装したフレームワークと言われています。 MVC の流れでは GUI で利用される Smalltalk の MVC が原点です。 また、MVC の歴史では Web で利用される サーバーサイド の MVC(Model 2) が登場します。 この GUI-MVC(クライアントサイド) と Web-MVC(サーバーサイド) の実装を個別に説明して さらに 2つの MVC を コラボレーション するまでを紹介します。 Agenda GUI-MVC は Smalltalk の MVC を React と Flux(簡易) で説明 Web-MVC は Rails の MVC を API only apps で説明 GUI-MVC と Web-MVC の接続を client-server(C/S) モデル で説明 GUI-MVC と Web-MVC の依
JavaScriptの3つある変数宣言、varとletとconstは、よく混乱を生みます。どれも変数を宣言することに変わりはないので、違いがわかりにくいのです。このことが初学者を混乱させている場面をたびたび目にしますし、プログラミングに慣れ親しんだ人でも役割を意識しないまま書いていることがあります。 そこでこの記事では、3つの変数宣言の役割とその使い分けについて、それぞれ簡単に紹介してみます。 3種類の変数宣言とその使い分け var – 変数を宣言する varは、JavaScriptにおいて変数を宣言する上で、最も基本的な方法になります。varで宣言された変数は関数スコープとなり、宣言のスコープ先頭への巻き上げ(Hoisting)が行われます。(※変数のスコープおよび巻き上げについてはここでは解説しません。) var x = 10; x = 20; もともと、JavaScriptの変数宣言
本日、東京でRedmine生誕10周年記念パーティが開催されたらしい。 僕は参加できなかったが、謎のフランス人コミッタJPLのショートビデオメッセージもあったらしく、JPLはイケメン、という声も上がったらしい笑。 最近のRedmineコミュニティに関するリンクと考えていることをラフなメモ。 【参考】 「Redmine 10周年を祝う会」 松江・大阪・東京で企画 | Redmine.JP Blog Redmine生誕10周年記念パーティ - redmine.tokyo akipiiさんのツイート: "日本人が貢献できて良かった。RT @netazone: Redmine作者のJPLからのメッセージ。Toshi と Go に感謝といっている #redmineT https://t.co/meoUBSkZn0" akipiiさんのツイート: "Redmine コミッタJPLはイケメンではないか、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く