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

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

めも

this is not global

めも。 A = 10; console.log('A = ' + A); console.log('this.A = ' + this.A); console.log('global.A = ' + global.A); 実行結果。 $ node what-is-global.js A = 10 this.A = undefined global.A = 10 ただし。 $ node > A = 10 10 > this.A 10 > global.…

RailsとHamlでSVG

ふつうに ブラウザがインラインのSVG表示に対応していれば、HamlでSVGを書くとそのまま表示してくれます。app/controllers/circles_controller.rb class CirclesController < ApplicationController def index @circles = 30.times.map { {x: rand(500), y: …

remoute: true で post する

Rails で remote: true を指定した任意のリンクでPOSTしたい時の話。 必要に迫られて探した結果、こんな感じになりました。 POSTしたとき、data-paramsの値がパラメータとして送られるようです。 そしてdata-paramsは、CoffeeScript を使い .data('params', …

Lispを作ってみる、ただしC++テンプレートで

なんか、こじらせた。 これだけではLispになりませんが、もだった材料はそろうみたいなので、できそうな気がします。たぶん。 #include <iostream> // 等値 template<typename T, typename U> struct Eq { static const bool condition = false; }; template<typename T> struct Eq<T, T> { static const bool con</t,></typename></typename></iostream>…

文字列をリンクトリストにする、ただしC++テンプレートで

C++でテンプレートを使っていると、ときどき、文字列をテンプレートに渡したくなるときがあります。 ですが残念なことに、文字列をテンプレート引数にすることはできません。 // こういうことをやってみたい! (けど、できない) template<const char* S> struct Str { // </const>…

畳み込み、ただしC++テンプレートで

// リンクの終端 struct Nil {}; // 左畳み込みテンプレート template<template<typename, typename> class Operator, typename N, typename Sequence> struct Foldl { static const int value = Foldl< Operator, Operator<N, typename Sequence::head>, typename Sequence::tail >::value; }; // 左畳み込みテンプレ</n,></template<typename,>…

プログラミングで稼いでみたい

Twitterで、そのアカウントでの最初のtweetを検索するサービスが話題に出ていますが。わたしも検索してみました。プログラミングで稼いでみたい— MATSUMOTO Eiji (@emattsan) 2009, 7月 31 感慨深い。 当時の自分に言ってやりたい。 プログラミングで稼ぐの…

Steinhaus–Johnson–Trotter algorithm の実装

Steinhaus–Johnson–Trotter algorithm - Wikipedia, the free encyclopedia Permutation.h #ifndef PERMUTATION_H #define PERMUTATION_H #include <vector> class Permutation { public: Permutation(int* begin, int* end); bool isIdentity() const; Permutation&</vector>…

パーサ、なんどでも、なんどでも

昨日のエントリの続き。サブクラスを定義する。 calc.tt grammar Arithmetic rule additive multitive r:( op:[+-] multitive )* <Additive> end rule multitive primary r:( op:[*/%] primary )* <Multitive> end rule primary '(' additive ')' <Parenthesized> / number end rule number '-'? </parenthesized></multitive></additive>…

パーサ、なんどでも

http://treetop.rubyforge.org/index.html https://github.com/nathansobo/treetop calc.tt grammar Arithmetic rule additive multitive r:( op:[+-] multitive )* { def to_i r.elements.reduce(multitive.to_i) do |s, e| s.send(e.op.text_value, e.mult…

プログラミング体力

なかば「最低ひと月に1エントリ」の義務感で書いているようなところがあります。4月に会社を移って新しい仕事についたわけですが。 このときに体調の変動にもっと気を配っていればよかったのですが、新しい仕事にかかわっているという興奮と、早く新しい会社…

自分ではどうにもならないときもある

故あって。いろいろ滞ってます。 4月以降(その前段階を考えると3月以降か)、プライベートでいろいろありました。今もいろいろ進行中。 別段伏せておくようなことではないのだけれども、モノゴトの整理がついていないので、いつかまた書きたくなったときに…

問題を解く難しさ、問題を作る難しさ

難しさで言ったら圧倒的に、 問題を解く < 問題を作る なわけで。 ソフトウェア開発の難しさのうちのかなりの部分が、じつはこの問題を作る難しさに起因しているじゃないかと。 仕事でソフトウェア開発をしていても、「これ、解く問題を間違えてるんじゃな…

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

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

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

数学小説とか

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

Lua 5.1とLua5.2の違い

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

名刺を新調しました

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

Lua 5.1とLua 5.2の非互換について

Io話を続けるつもりだったのだけれども。ネタを仕込んでいる間にわけあってLuaに手を出すことになり。そういや昨年末に新しいバージョン、Lua 5.2がリリースされたっけ、と思って調べてみたら。気をつけないとならない互換性のない変更があるのを見つけたの…

URL確保

いまのところ、はてなダイアリーから移動する予定はないんですが、思い立ったのでURL確保。 どう使うかはあとから考えます。 本店引き続き営業中。 エンジニアのソフトウェア的愛情

C++11に(ようやく)手を出す(そしていきなりつまづく)

半端に手を出すと混乱しそうだったので、横目で状況を見つつもまったく手をつけていなかったC++0x。 今夏、正式に採択されはれて標準に。ってなことで。遅ればせながらC++0x改めC++11に手を出して見ました。 今はこのあたりを読んでいるレベル。 C++11のコー…

柔らかな死

ステーブ・ジョブズは、Apple製品の化身である (Steve Jobs was the personification of Apple’s products) クレイジーな人たちに乾杯 | TechCrunch Japan (Here’s To The Crazy One | TechCrunch) 以前、自販機で買ったコーヒーを飲んでいるときに。「この…

定期的に書きたくなる演算子のはなし

時間をおいて、ときどき書きたくなる。もう一段階うえにいけそうでいけずにマンネリ化しつつあるところ。C++11だともっといい手があるのかな。勉強せんと…。 #include <iostream> #include <iomanip> class Time { public: static const int SEC_PER_MIN = 60; static const int</iomanip></iostream>…

もうひとつ思い出したこととか

過去のエントリをリサイクルしてエントリ数をかせいでるような状況になってますが。 同僚との雑談の中で思い出した話があったので、これも記録。 2007年7月、開発のフットワーク - エンジニアのソフトウェア的愛情 「日本の(携帯電話)メーカーはそのうち世界…

思ったこととか思い出したこととか

ITmediaの記事を読んでいて、過去の自分が考えていたことを思い出した。もしかしたら未来の自分がもっとなにかを思いつくかもしれないので、このエントリで関連づけとくことにする。 生き残れない経営:誰もが陥っている“その場しのぎ症候群”の処方箋 (1/2) …

今日の違和感:テレビのリモコンになるiPad

iPad連携が充実:スマートに録画する新型“Wooo”、2シリーズ6機種を発表 (2/2) - ITmedia LifeStyle ボタンでかっ! …ってところでなくて。 ページを開いてすぐになにかおかしいって感じて。じーっと写真を見ていて気がついたのが。既存の装置としてのリモコ…

(ようやく)読了「知識経営のすすめ」

バテてます。暑さでバテた記憶があまりないのですが、このひと月ほどの様子を振り返ってみるとバテてますね、これは。気持ちも低調、体力も低下。二、三週間ほど一日一食で過ごしていたし。特に消耗するほど活動していたわけでないけれど、逆に活動しないこ…

書籍「医療とコミュニケーションについて」

今夏も参加してきました、オブラブイベント。…ですが。イベントの内容については後日。ここでは頂いた書籍の話。 今回も書籍を頂いてきました。イベントに協賛されているオーム社さんご提供の一冊。 レジデント初期研修用資料 医療とコミュニケーションにつ…