エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

2012-01-01から1年間の記事一覧

プログラムコードの、ひとつ上の視点で

今年の後半は、鍋谷さんが主催されている「オフラインリアルタイムどう書く」にオンラインで非リアルタイムで参加させてもらいました(参加というか、勝手にコード書いてアップしてただけですが)。以前にも書きましたが、鍋谷さんが出題される問題の難易度…

HTMLのheadに自動的に番号を振る

明日の自分のためにメモ。 counter.css · GitHub counter-resetで変数のリセット、 counter-incrementで変数のインクリメントをしています。変数名はLaTeX準拠。 実施例(HTMLのソースは上記のリンク先を参照してください)。

組み合わせ(combination)と部分列(subsequence)

備忘録。 Combination - Wikipedia Subsequence - Wikipedia C++で vector以外でキチンと動作するか、まだ確かめてないです。 combination #ifndef COMBINATION_H #define COMBINATION_H #include <vector> #include <iterator> template<typename iterator_t> void combination(iterator_t begin, i</typename></iterator></vector>…

「失敗することのできる環境を提供すること」ということ

検索で7年前に書いた自分の記事を見つけてしまいました。 「降格がないことによるメリット」 - エンジニアのソフトウェア的愛情 昔も今と変わらず悩んでいたようです。というか悩みっぱなし。文章が青いのがイタイ…。文章力自体は進歩がないようです。 それ…

組み合わせ(数学の) 〜 combination

C++で ベクタから指定した個数の要素を持つ部分集合のベクタを生成します。 #include <vector> template<typename T> struct Combination { typedef std::vector<T> source_type; typedef std::vector<source_type> values_type; Combination(const source_type& source, int n) { std::vector<int> v(</int></source_type></t></typename></vector>…

Prologとステートマシン

相変わらず「どう書く」から。 今回は第3回の参考問題と本題から。 オフラインリアルタイムどう書く第三回の参考問題 / ボールカウント(野球) Y字路巡り 〜 横へな 2012.9.7 Prologで書くステートマシン 野球のボールカウントは、現在の状態があって、入力が…

Prologでビットテトリス

Prologにハマっています。いろんな意味で。 今日も「どう書く」の過去問から。 Bit Tetris 〜 横へな 2012.7.25 前回に引き続き、ビット操作です。 今回も数値のままビット操作をする根性がなかったので、0と1からなるリストに変換して操作しています。が、…

Prologはビットマップイメージの夢を見るか

Prologにハマっています。今日も「どう書く」の過去問から。 第2回 オフラインリアルタイムどう書くの参考問題 / 二値画像の回転 Prologでビットマップイメージを扱う。さてどうしたものか。 結局のところ。Prolog界に足を踏み入れたばかりの初級者では想像…

PrologでTick-Tack-Toeをどう書く

Prologのトレーニング中。今日も「どう書く」の過去問から。 Tick-Tack-Toe 〜 横へな 2012.7.6 今回は、条件分岐を使ってみたのですが、見事にハマりました。 gameの3番目の定義ですが、最初は次のように書いていました。 game([H|Hs], Player, Board, Resu…

「どう書く」を最初から解こうとして1問目で脳ミソが煮えそうになった件

Prologのトレーニングのために「どう書く」を最初から解いてみようと考えたまではよかったのですが。 第一回 オフラインリアルタイムどう書くの参考問題 - Qiita 1問目で頭から湯気が出そうになりました。 いま使っているPrologの処理系SWI-Prologのライブラ…

フカシギのPrologな通行止め

オフラインリアルタイムどう書く第四回の参考問題、「フカシギの通行止め」。絶対にPrologはこの問題を解くのに向いているはず…と思いつつも力量が追いつかずにそのままになっていました。 で、Prolog力をもっと身につけようとこちらのPrologのTutorialを読…

左右がつながっている場合、左右の番兵はひとりで兼任できる

いつも絶妙で楽しい問題を提供してくださっている@Nabetaniさん。すでに第5回の募集と参考問題の公開が始まっています。興味のある方はぜひ参加して、また問題を解いてみてください。問題の絶妙さが実感できます。 第5回 オフラインリアルタイムどう書く : A…

HaskellのUnitTest、HUnitについて学ぶ

恥ずかしながら。ごく最近までHaskellにUnitTestのライブラリがあるのを知りませんでした。恥ずかしい。 調べてみたところ、思ったよりも簡単にUnitTestを書けることがわかったので、ちょっとまとめてみました。 間違いありましたらご指摘いただけるとたいへ…

論理型言語Prologと関数型言語Haskellを比較してみた

PrologとHaskellで同じ問題を解いてみました。Prologで同程度の問題を解けるくらいのプログラミングができたのは初かもしれない…。 お題は鍋谷さんが開催されている「オフラインリアルタイムどう書く」の第4回のお題を利用させてもらいました。 テトロミノ認…

人の思考片は(もしかしたら)円錐形をしている(のかもしれない)

もう1つは、物事を具体的に考えるのが得意なタイプです。 「どのように、それをするのか?」を考えるのが好きで それを実現するためにはどうすればいいのか(プロセス)を常々考えています。 「思考のクセ」に気づけば、新しい思考パターンが身についていく…

Prologは(たぶん)面白い、あるいは「40 - 32 / 2 = 4!」Prolog篇ふたたび

前回「むずいよ」と音を上げたPrologでの挑戦。半年以上を経ての再挑戦です。今回使用したPrologの実装はSWI-Prolog。本屋で手に取った参考書がSWI-Prologで解説されていたのでそれにならった次第。 SWI-Prolog 今のスキルレベルでは数値演算以外をできそう…

自分の取扱説明書

想いの会社に自分を知ってもらうために、履歴書や業務経歴書といったものを見てもらうわけですが。自分がどういう仕事をしたいのか、どういう仕事だと力を出せるのか、そもそもどういう扱いをしてほしいのか、過去の経歴もさることながらそういったことを伝…

Objective-C 2.0のARCについて学ぶ

先のエントリで書いたように、かつてObjective-Cで挫折したのはメモリ管理の手法を身につけることができなかったからでした。今、Objective-Cに再挑戦中ですが、やっぱり従来の手動のメモリ管理の手法はよくわかりません(>_ とはいえ動作の基礎をキチンとお…

iOS プログラミング 始めました

そんなこんなで。トレーニング中 GitHub - mattsan/iOSsampleApp1 Objective-Cに最初に手を出したのが2006年だったと思います。Mac OS Xでネイティブなプログラミングだーっ、と手を出したまではよかったのですが。Objective-C Mac OS Xプログラミング作者: …

ボクの家にはよくできたMacがいる

世間の片隅で三文小説を書いて暮らしている そんなボクの家にはよくできた女中さんがいる アサミ・マート「木造迷宮」 Macを新調しました。わたしにとって三機目のMacで初めてのIntel Macです。今まで使っていたiBook G4はPowerPCプロセッサなのでOS XはLeop…

ビットテトリス

Bit Tetris 〜 横へな 2012.7.25 今度もオンライン上だけでの参加になりました。 ネタのリサイクルになりますが、Qiitaに投稿したものをブログにも投下しときます。 第二回 オフラインリアルタイムどう書く その1 - Qiita 第二回 オフラインリアルタイムどう…

ビット演算で解く Tick-Tack-Toe 〜「第一回 オフラインリアルタイムどう書く」より〜

C++

去る7月6日。「第一回 オフラインリアルタイムどう書く」が開催されました。 第一回 オフラインリアルタイムどう書く : ATND 地理的時間的にわたしは参加できなかったのですが、お題が公開されたので解いてみました。 問題 三目並べ( tick-tack-toe )の手を…

手探りでおぼえるmruby その1:クラスを定義する、メソッドを定義する

mrubyをためしています。びっくりするぐらい情報が少ないので、ためしたことおぼえたことをまとめる意味で、ブログに書きつつmrubyの核心に這いよっていきたいと思います。 しかしなんですね。あの名を知ってからおよそ四半世紀、「這いよる混沌」の名をこん…

「それIo言語でも書けるよ」と、さらっと言おうとして、はまった件

hands := Map clone atPut("11111", "--") atPut("1112", "1P") atPut("122", "2P") atPut("113", "3K") atPut("23", "FH") atPut("14", "4K") Sequence poker := method(hands at(self split("S", "H", "D", "C") select(x, x != "") uniqueCount map(secon…

「どう書く?」とつねに問う姿勢が大事、だと、思う。

第一回 オフラインリアルタイムどう書くの参考問題 - Qiita (via 鍋谷さんの参考問題: へなちょこ解答(Java) - 虎塚) こういう面白そうな話題は、まぜてくださいー。 あ、残念ながらオフラインのほうの参加はちょっと無理。ほんと残念ながら。 先に結果…

数学小説とか

群・環・体 「数学ガール/ガロア理論」を購入。数学ガール/ガロア理論 (数学ガールシリーズ 5)作者: 結城浩出版社/メーカー: SBクリエイティブ発売日: 2012/05/30メディア: 単行本購入: 8人 クリック: 310回この商品を含むブログ (57件) を見る 読み始める…

今日になって組み込み向けRuby「mruby」を知る

すっかり出遅れました。このようなものの開発が進んでたんですね、「mruby」。 6年ほど前。青臭い文章がいささか鼻につくんですが、そのへんはスルーして頂いて。6年ほど前、こんな文章を書いていました。 現在の組み込みソフトウェア、C++でちまちま作って…

標準出力の出力先をすげかえる

Google Testが取り持つ縁で、このようなエントリに出会いました。 GoogleTest で標準出力、標準エラー出力をテストする - 質のないDiary H おぉ。Google Testで標準出力をテストする。ナイス! …。でも。名前空間を「internal」にしてあるように、そこは触れ…

Lua 5.1とLua5.2の違い

Lua側から見た場合の差異。C言語向けのAPIの差異はいずれまた。 詳しくはリファンレスマニュアルの「Incompatibilities with the Previous Version」を参照してみてください。 言語構造の変更 制御構造に変更がありました。gotoの追加です。gotoはジャンプ先…

名刺を新調しました

印刷をお願いしたのは前川企画印刷さん。 有限会社 前川企画印刷|デザイナーもコピーライターも…[神戸市兵庫区] そこでのこの企画に乗っからせて頂きました。 ブロガー名刺に関するご案内は引っ越しいたしました。 - 引っ越しました → 川柳家の書いていた…