タグ

ProgrammingとCodezineに関するItisangoのブックマーク (4)

  • インフラ構築をコードで自動化できる「Docker」の魅力――主婦と先生と作家をコンテナ仮想化で両立する阿佐志保さんの生き方

    翔泳社では11月19日に『プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化』を刊行しました。今回、Dockerが大好きだという著者の阿佐志保さんに、書の紹介だけでなくDockerに関わる人生観についてもお話をうかがいました(インタビュー内容は10月21日時点のものです)。 家事、育児、講師、執筆の両立 ――よろしくお願いします。最初に、阿佐さんの自己紹介をお願いできますでしょうか。 阿佐:結婚・出産前は、システムの基盤を構築・運用するエンジニアなどをしていました。インフラの設計構築だけでなく、アプリケーション開発標準化や運用設計など、障害やトラブル以外では表に出ることのない地味な仕事です。毎日、朝早くから終電まで働いていました。仕事が好きだったし、非常に優秀なメンバーに囲まれていたのであまり苦ではありませんでした。 分かりやすくいうと「社畜」です。社

    インフラ構築をコードで自動化できる「Docker」の魅力――主婦と先生と作家をコンテナ仮想化で両立する阿佐志保さんの生き方
  • F#キーワードを再定義するコンピュテーション式

    はじめに 連載「C#プログラマのためのF#入門」最終回となる今回は、コンピュテーションエクスプレッション(計算式)について説明します。 コンピュテーションエクスプレッションは、F#で記述されたあるコードをどのように動作させるか独自の解釈で定義したり、他の言語に変換する機能です。F#言語構造のサブセットの意味解析を上書きするような機能と言えます。例えばwhile、return、yieldなどのF#キーワードの仕様を再定義できるのです。 関数型プログラミングのデータ制御、および副作用の管理に使用できる関数型プログラミングの機能であるモナドのF#版とも言えるでしょう。モナドと呼ばない理由は、響きが悪い(とっつきにくい)とか、副作用がF#の型システムによってトラックされない(モナドでは副作用は全てモナドにリフトされる)ようにできるところなど、小さな違いがあるからだそうです。コンピュテーションエクス

    F#キーワードを再定義するコンピュテーション式
  • 既存のデータベースでEF『コード・ファースト』を使用

    先月、新しいEntity Framework 4『コード・ファースト』開発オプションについてブログ投稿しました。EF『コード・ファースト』はデータを扱うための非常に優しい『コード中心』の開発ワークフローを可能にします。それにより以下のことが可能です。 デザイナを開いたりXMLマッピングファイルを定義したりすることなくデータが扱える ベース・クラスなしのプレーン・オールド・クラスを書くだけでモデル・オブジェクトを定義 明示的な設定をすることなく、データベースの永続化が可能な設定に勝る規約を使用 初回のブログ投稿で、EF『コード・ファースト』を紹介し、新しいデータベースを作成する時のデフォルトのEF4マッピング規約の使用方法をお見せしました。これらのデフォルトの規約は新しいアプリケーションに非常にうまく動作し、データベースへまたデータベースからクラスをマップするのに明示的に何かを構成しなくても

    既存のデータベースでEF『コード・ファースト』を使用
  • 「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは

    「レガシーコード」とは何か 最初に1つ質問です。皆さんは、「レガシーコード」と聞いて何を想像するでしょうか? 多くの方はCOBOLなどで書かれたメインフレームで動くコードを真っ先に思い浮かべるのではないかと思います。しかし、当にそれだけでしょうか? ここでは「レガシーコード」という言葉を『何年も前に誰かが作り、内容が複雑で何をしているのかよく分からず、まともな仕様書もない』というコードを指すものとします。そう考えると、必ずしもメインフレームだけの話ではなくなります。この記事を読んでいる皆さんなら、そのようなコードを少なからず目にしていることでしょう。 現在の業務システムは、Java EEや.NETなどの基盤上に構築される、いわゆるオープンシステムが主流になっています。このようなオープンシステムであっても、構築されてから既に5年以上経過していることが珍しくなく、何度も手が加えられたコードは

    「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは
    Itisango
    Itisango 2009/07/03
    "ここでは「レガシーコード」という言葉を『何年も前に誰かが作り、内容が複雑で何をしているのかよく分からず、まともな仕様書もない』というコードを指すものとします。"そうでないコードってむしろ少数。
  • 1