インストール、そしてはじめの一歩 連載:いまさら聞けないVim(1) プログラマに高い人気を誇るエディタの1つ「Vim」。その導入から基本の操作、設定に至るまでを紹介します
先日Yesod勉強会第2回でHaskellでJSON Web APIを作る話しをしました。 内容的には下記のような感じです。 Web開発はクライアントサイドの技術が発達して、Web APIを作る機会が多くなった最近のフロントエンドは難しいし、分業したほうがいいっぽいYesodは独自技術&フルスタックすぎて分業辛いではscotty + persistent + aesonでJSON Web API作ろうぞなんか想像以上の相性の良さ。幸せになれそうなイキフンがビシビシ来てる発表資料はこちら。 ちなみにscottyはsinatraみたいな奴、aesonはJSONライブラリ、persistentはORマッパーです。 何しろaeson + persistentの相性がバッチリでした。発表後に@thimuraさんが見つけた じつは persistent のスキーマ定義で、テーブル名の横に js
この記事の目的は、Applicative 信者による Applicative スタイルの布教です。 簡潔に結論を述べると、 foo = do a <- m1 b <- m2 return (f a b) のようなコードを書きたくなったら foo = f <$> m1 <*> m2 と書きましょうということ。 合い言葉は、「do と return をなくせ!」です。 FunctorとMonadの間 Functor を特殊化した型クラスがMonadで、Monadの方が強力です。なぜなら、メソッドが増えるからです。 Functorのメソッドはfmapです。fmapの別名を (<$>) といいます。(この記事では、(<$>) と liftM を同一視します。) そして、Monadのメソッドは、ご存知の通り (>>=) と return です。 FunctorとMonadの間にApplicative
プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自
End script and style with newline? Support e4x/jsx syntax Use comma-first list style? Detect packers and obfuscators? (unsafe) Preserve inline braces/code blocks? Keep array indentation? Break lines on chained methods? Space before conditional: "if(x)" / "if (x)" Unescape printable chars encoded as \xNN or \uNNNN? Use JSLint-happy formatting tweaks? Indent <head> and <body> sections? Keep indentat
ウェブサイト高速化勉強会 : ATND 2012/09/29 ウェブサイト高速化勉強会 #tnmk0929 - Togetter さくらのVPSにてサーバ&ドメイン取得を行った流れもあり、個人用鯖にも何らかのWebコンテンツを配備・公開して行く事になるだろう(てかそういう風にして行きたい)と言うのもあり、ちょうど目にしたこちらの勉強会に目が留まり、参加して来ました。 なので現状のWebサイトを高速化させるために、ってのではなくて今後のために、という意味合いが強いですね。 会場は横浜タネマキ。最近は個人的にはYokohama.groovy等で2週間に一遍は使ってる感じですね。 タネマキ 【コワーキング & シェアオフィススペース】 開始間際、ディスプレイ接続で調整が上手く行かず10分程押した後スタート。 Web Site Optimization for Beginners こもり まさあき
自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編) ふだん何気なく使っている鉄道。改札を降りるときにICカードを自動改札にかざすと、「ピッ」という音と共に一瞬のうちに運賃を計算してくれます。けれど、複数の路線を乗り継いだり、途中で定期券区間が挟まっていたりと、想像しただけでもそこには膨大な組み合わせがあります。それでも運賃計算プログラムはわずか一瞬で正しい運賃計算が求められ、バグがあったら社会的な一大事にもつながりかねません。 爆発的な計算結果の組み合わせがあるはずの運賃計算プログラムは、どうやってデバッグされ、品質を維持しているのでしょうか? 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日本科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡
Class.forName(String)は引数にクラス名の文字列をとってClassクラスのインスタンスを返します。 (もしそのクラスが仮想マシンによってロード済みでなければロードされ、staticイニシャライザが実行されます。これを利用してJavaでデータベースを扱う際の「お約束」「おまじない」となっています。これの検索ワードは「JDBC」で) 本来の(?)機能は「クラス名(文字列)からクラス(を表すクラスのインスタンス)を得る」ことです。 Classクラスはクラスを表します。このインスタンスからは(特定の名前をもつ/すべての)コンストラクタ・フィールド・メソッド・アノテーション・内部クラスなど(を表すクラスのインスタンス)を取得できるメソッドが提供されています。 これらを用いてインスタンスの作成・フィールドの取得/設定・メソッドの呼び出しなどが行えます。 このような機能をリフレクション
from second_code import SimpleBars import re bs = SimpleBars(' '*78) pos = 0; acc = 1; accx = 1; output = "" commands = "1(///(1iTiTiTi|||[(1 ])1( [L|[L|[L|[(] |1//)/)1i||1)///)1i||||1(///)1i\ (/////)1iTiTi[L!])|])[L!])])l|])1/( [(1/ ]L!l|[(1 ])1( //(1 ]L[L!|" for c in commands: if c == "1": acc = 1 elif c == "/": acc = acc * 2 elif c == ")": pos += acc; pos %= len(bs) elif c == "(": pos -= acc; p
HTML5カンファレンス2012の講演資料のまとめです。 HTML5カンファレンスは非常に有意義なものでした。講演頂いた方、スタッフの皆様ありがとうございます。 HTMLとかCSSとかAPIとか -2012秋編-(矢倉眞隆さん) HTML5 や CSS3 の新しいタグやプロパティについての解説。 でもその前に、W3C と WHATWG についての話。 一部のメディアで、W3C と WHATWG が決裂したかのような報道がされたが、実際は問題ないとのこと。 W3C と WHATWG の Editor を務めていた Ian Hickson氏は WHATWG の HTML に集中し、バグ修正が加速しそうです。 セッションでは紹介されていませんでしたが、こちらの記事に Ian Hickson氏からのメールの邦訳など載っています。 HTML5仕様をめぐるW3CとWHATWGについて、Ian Hick
シンガポールでアジアのエンジニアと一緒にソフトウエア開発をして日々感じること、アジャイル開発、.NET、SaaS、 Cloud computing について書きます。 小生、プログラムに使った最初の言語は、BASIC。そう、あの有名なBASIC。Visual Basicではない。Bill Gatesが、ハーバードの学生だったころ、Microsoftか、それともその前身の名前の会社だったのだか定かではないが、自分たちで作って、それをまんまと、当時の米国のホビーストのマシンだったAlltairに売り、さらにIBMにまで使わせることに成功した、あのinterpreter言語だ。 BASICを使って、私も、学生のころ、当時日本で売られていたSharpの『マイコン』で、色々とゲームを作った。ASICだと言ってもバカにしてはいけない、学生時代はゲームだったが、それなりに物理や数学を駆使したアプリだった
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python 2の妹,Python 3があんま流行ってないのは率直に言ってツン過ぎるからですね。どの程度ツンかは妹の発言を見れば分かります。 「 パパに言ってモラトリアム宣言してもらったから。私の言語仕様はもう完璧なの。もうあんた達にself無くせみたいなバカな提案させないからねっ」 「サードパーティモジュールとかフレームワークとかキモい。完璧な私を素で使いなさいよっ」 「ネットとかファイルから拾ってきたデータなんてただのバイト列よ。文字列にしたかったらエンコードを指定しなさいよねっ」 「Djangoとかキモい…。私にはNumPyさんがいるからいいの。でも最近Pyramidがすり寄って
2011-08-17 rvmからrbenvに移行した rbenvとは何か Rubyバージョン管理ツール。Sam Stephenson(37signals)が作った。 そもそもrvmという便利なツールがあるが、rbenvはより少ない機能でより軽く動く。 覚え書きです 競合するといけないので、まずrvmを削除する $ rvm implode .bash_profile等の記述を消しておく。 rbenvをインストールする $ cd $ git clone git://github.com/sstephenson/rbenv.git .rbenv ↑homebrewを導入している人は「brew install rbenv」でもいいかも。homebrewの導入の仕方は前の記事で書いた。 .bash_profile等に追記 $ echo 'export PATH="$HOME/.rb
とりあえず、以下を最初にやってからMechanize.newすると大丈夫っぽい*1 require 'openssl' OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE エラーになったやつ。 sora_h のniconico モジュールを使ったらエラーだった ?> require 'niconico' #=> true >> a=Niconico.new 'takuya***@gmail.com' , ‘****' #=> #<Niconico: takuy****@gmail.com (not logined) ?> >> a.login OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: cer
"米国人からコーディングについての怒りのメールを頂戴した" の補足 - その手の平は尻もつかめるさ ↑の方で補足いたしました。(2012.09.04 追記) 最近、英語のメールでよく怒られます。moznion です。 海を隔てて共同作業しているアメリカ人から、僕のコーディングについてお叱りのメールを頂いたので、 自戒の念を込めて邦訳して記します。 書いてあることは「当然」とも言うべき内容ですが、僕はその「当然」も守れていなかったのかぁ〜と反省。 以下、邦訳(意訳)です。 1. 郷に入っては郷に従え 既にソースコードが存在しているって事は、そこには同時にコーディングスタイルも存在しているってことだ。 その既存のソースコードに手を加える場合、別のコーディングスタイルを導入してはならない。 もし君がバックエンドのソースコードを弄っているなら、バックエンドのコーディングスタイルで記述するんだ。 フ
Javaを抜いた!? C言語人気の理由を考える:OSS界のちょっと気になる話(6)(1/2 ページ) TIOBE Programming Community Indexのデータを基に、今後Web上での露出が増えるであろうプログラミング言語を予想してから半年が経った。その後、どんな変化が生じただろうか。 半年で変化したプログラミング言語の話題動向 本連載第2回目において「『次に来る』プログラミング言語を占ってみる」というタイトルでTIOBE Programming Community Indexに掲載されているデータを紹介した。これはオランダのTIOBE Softwareが毎月公開しているデータをベースに、今後Web上で露出が増えるであろうプログラミング言語を予想するという内容だった。 TIOBE Softwareは、世界中のブログや技術ドキュメントなどのデータを分析し、インターネット上のド
2011-08-02追記 JDK7に致命的なバグ 重要なので先頭に追記しておきますが、JDK7のホットスポットコンパイラに致命的なバグが存在するそうです。 詳しくはコチラ。 http://d.hatena.ne.jp/takahashikzn/20110802 JDK7を使用する際はご注意下さい。 (Javadocのスタイルもガラっと変わりました!!) http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html JDK7の正式版がリリースされています。 興味深い機能やAPIなどが追加されているわけですが、 その中でもみんな一番気になるところである、Java言語仕様の変更についてご紹介。 あとは、個人的にjava.lang.invokeなんてアヤシゲなパッケージが気になっているのですが… APIを見る限り、動
2020-03-11追記: タイトルの「未だ」がいつなのかわかりづらいので「2012年現在」を追加しました。 バカバカしい話ですが、ソースコードをSubversionなどでバージョン管理しているにもかかわらず、未だ修正前をコメントアウトして残す習慣は残っているところも多々あります。こういうのです。 // 2012/08/15 irof 修正開始 // hoge = fuga(1); hoge = fuga(2); // 2012/08/15 irof 修正終了 見た事無い方は、そのまま見ないままで生きていかれることを切に願います。 コメントの修正がある場合 2012/07/21にあった、SCMBCでこんなツイートがありまして。 この時点でお見せしたのはこんな感じ。 // 2012/07/21 削除開始 // // 間違ったコメント // 2012/07/21 削除終了 someMethod
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く