「プログラミングやってるみなさんに質問。 コードは短ければ短いほど良い??」という質問に対してみなさんから色々と勉強になる意見を頂いたのでまとめてみました。
先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避
先日のエントリーでも少し触れたが、PHPの最大の問題点は、それが持つ「一見その言語構造がよくあるプログラミング言語の形をとりながら、プログラミング言語の最も大切なところを外している『えせプログラミング言語』である」点にある。Webアプリケーションの開発で注意すべき部分とは何かを根底の部分でちゃんと理解せずにPHPアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「PHPでプログラミング言語を学ぶ」などもっての他だし、「JavaでもPHPと同じようなプログラミング言語を作ってWebアプリの開発を効率化しよう」などという発想もとても危険である。 PHPの発想の根底には、「HTMLテンプレート用言語とロジック記述用言語の統一により、開発コストを減らそう」という CGI 時代の安易な発明がある。PHPは、その前近代的な発想を通じて、テンプレートとロジックを同じファイル
どーも、会社にいく時でさえ三脚を持ち歩いているカメラ馬鹿ないまやり。(@imayari_orz)です。 こ ...
自作したクラスライブラリのヘルプ(ドキュメント、仕様書)を作成する自作したクラスライブラリのヘルプ(ドキュメント、仕様書)を作成するのは面倒ですが、それを自動で作成してくれるツールがあります。これらのツールを使えば、ソースコードファイルに記述されたドキュメントコメントを基にして、MSDNのようなヘルプやHTMLを簡単に作成できます。ここではこのようなツールを幾つか紹介します。 なおここで紹介しているツール(「コードコメントWebレポート」以外)には、ソースコードファイルのドキュメントコメントを出力したXMLファイルが必要ですので、その作り方がわからないという場合は、まず「ドキュメントコメントにより型の概要をXMLファイルに出力する」をご覧ください。 Sandcastle Help File Builderを使用してヘルプを作成する現在最もメジャーなツールが、「Sandcastle Help
「Twitterにポスト」「Tumblrにポスト」という文言がイケているのかどうか分かりませんが、とりあえず分かりやすかろうということで、これにしています。 実際のソースが掲載されているのは以下のエントリーです。 ▼見ているページをTwitterに投稿するBookmarkletとブログ用ボタン [C!] ▼mellow_blog: 自分のブログに「Tumblrに追加するボタン」を設置する それぞれにソースがあるので、それをコピー&ペーストすれば良いのですが、いちおうネタフルでは以下のようなものを貼り付けています。 Twitter <a href=”javascript:var%20d=document,w=window,l=location,e=encodeURIComponent,t=(d.selection)?d.selection.createRange().text:(w.getS
はじめに ネットワーク全盛時代に、「いまさら」のシリアル通信の説明です。 あまりにも複雑になって、中身はどうして動いているのか分からないけれど、動くから使っているという人たちが増えています。ネットワークは便利になった反面、パソコンをいじるのには興味があるが、なかなか手を出せないでいる人たちが多いのではないでしょうか? パソコン1台だけでなく、2台のパソコン同士で会話をさせて何か作ってみたい、という願望を比較的簡単に実現させることができるものが、このシリアル通信です。現在のプログラム開発環境でもサポートされています。計測機器にもまだまだ使われています。 今回はサンプルソースをVisual Studio 2008(以降、VS2008と表記)、言語はC#で作成しました。Visual Studio 2003以前の.NETでシリアル通信関数は標準から外されていましたが、Visual Studio 2
はじめまして。面白法人カヤックの村瀬と申します。ArkというWebアプリケーション作成用のフレームワークを開発しました。今回から4回にわたって、このリリースしたばかりの「Ark」について紹介させていただきます。 Ark(アーク)とは Arkは、Perlで作られたWebアプリケーションフレームワーク(WAF)です。 Arkの特徴としては Catalystに似たインターフェース CGI/FCGI/mod_perlなどさまざまな環境で実用的に動作する CGI用モードの存在 日本製であり、日本語ドキュメントが充実している などが挙げられます。 Catalystに似たインターフェース Catalystは、Arkと同様にPerl製のWebアプリケーションフレームワークで、現在、Perlのフレームワークでは標準となりつつあるものです。 Arkは開発動機の1つが「CGIでも実用的に動作するCatalyst
PHPのフレームワークを比較 2009年5月18日 最近EC-CUBE(ECサイト構築を目的としたPHP+Smartyで書かれたオープンソースのCMS)を利用することを想定して、PHPを勉強しています。 せっかく勉強するので、PHP5から導入されたOOP(オブジェクト指向プログラミング)を習得するためにもPHP製のフレームワークも手にとってみようと思い、色々調べていました。 候補に挙がったのがCakePHPとSymfonyです。なぜかというと検索してみた結果、ユーザーの意見が好評だったという点と、書籍が比較的最近出ているものが多かったからです。まさにこれからのフレームワークという印象を受けました。 CakePHP http://cakephp.jp/ 導入が比較的簡単そうな印象を受けました。圧縮されたファイルをダウンロードして解凍し、サーバーのフォルダにおいて置くだけでOKという簡単さがす
OpenGLは,3次元グラフィクスプログラミングにつかわれる標準的なライブラリです. ライブラリとは,プログラムの部品セットであるといえます. ライブラリを利用することで,自分で0から書かなくても, ライブラリが提供する部品を組み合わせることでプログラムを作成することができます. ここでは,OpenGLの基礎を説明します. OpenGLの概要 Ruby/OpenGL OpenGLプログラムの基本的な構造 イベント,コールバック,イベントループ 2次元図形の描画 図形プリミティブ 属性 2次元ビューの設定 ビューポート OpenGLの概要 OpenGLは,3次元グラフィクスプログラミングにつかわれる標準的なライブラリで,SGI(Silicon Graphics, Inc.)がGLという同社のコンピュータ専用のグラフィクスライブラリをもとに開発したものです. OpenGL以外でよく用いられる3
「MoMA」を使って.NETアプリをLinuxのMonoに移植してみる:.NET互換性検証ツールレビュー(1/5 ページ) 「Mono Migration Analyzer(MoMA)」は、Microsoft .NETプログラムのMonoへの移植を支援するツール。その究極目標はWindowsソフトウェアをLinuxに移植することにある。実際にMoMAを検証してみた。 Microsoftが.NETのランタイムとフレームワークを最初にリリースしたとき、Windows向けのプログラミングが非常に容易になった。プログラマーは人気の高い言語(C++、Javaによく似たC#、Visual Basic)の中から好きなものを選ぶことができるようになったが、.NETを選択することは、基本的にWindowsプラットフォームに縛り付けられることを意味した。移植性を考慮するのであれば、C++とwxWidgetsな
RIAシステム 構築ガイド Essential RIAコンソーシアムが発行する、RIAの普及促進や開発に関するガイドライン『RIAシステム 構築ガイド』の2007年版である『RIAシステム 構築ガイド Essential 2007』をWeb担向けに特別にオンラインで公開するコーナー。 RIAシステム 構築ガイドに関しての詳細はこちらRIAコンソーシアムに関しての詳細はこちら 誤解なき画面遷移のチーム内共有意識RIAは、ユーザーの動きに合わせて画面(view)を切り替えることが多くなります。そうした「処理」が「配慮」と感じられる場合が多いためです。複雑な処理を、ユーザーの動作から推測して行うということは、つまりそれをシステムが負担すると言うことになります。HTMLページの複雑なリンク以上に絡み合った遷移と場合分けを理解しつつ開発を進める必要があります。その際に有効なものがこの画面遷移図です。
この記事はめちゃくちゃ古いです.別の方法で,oAuthに対応したbotを作ってください.google:twitter bot oAuth 今日はTwitterの簡単なbotを作ってみます。 作るもの 現在のUNIXタイムを配信する、unixtimebotを作ります。 既に完成したものが以下のURLで動いています(飽きたら配信が止まるかもしれません)。 http://twitter.com/unixtimebot あなたはこのbotをfollowすることによって、常にUNIXタイムを意識しながら暮らすことができます。 方針 Rubyを使います。 直接TwitterのAPIを叩くのではなく、RubyGemsからライブラリを取ってきてそれを使ってアクセスします。 Twitterにアクセスできるgem Twitterにアクセスするためのgemは、ちょっと探しただけで、これだけありました。 Twit
前回に引き続き、UTF-7によるクロスサイトスクリプティング(XSS)について説明していきます。 UTF-7によるXSSは、攻撃対象のコンテンツの文字エンコーディングが不明瞭な場合に、そのコンテンツを被害者のブラウザ(Internet Explorer)で開いたときに、そのコンテンツの文字エンコーディングがUTF-7であるとIEに誤認させ、「+ADw-script+AD4-」のようなUTF-7の文字列が有効なHTML要素として認識されるために発生します。 そして、「文字エンコーディングが不明瞭」な具体的な状況として、以下のような条件のいずれかに該当するということを前回説明しました。 レスポンスヘッダ、meta要素のどちらでもcharsetが指定されていない charsetにIEが解釈できないエンコーディング名が指定されている meta要素でcharsetを指定しているときに、meta要
はじめに データの入力方法はいろいろありますが、どこの入力フィールドに何を入力するのかをはっきりさせると、ユーザーに優しいアプリケーションになります。InputMan for Windows Forms 5.0Jのキャラクタボックスコントロールは、入力フィールドにマス目を表示し、入力データを制限したり書式設定が行えるコントロールです。 今回は、このキャラクタボックスコントロール「CharMask」を使い、確定申告風の入力インターフェースを持ったアプリケーションを作成します。 対象読者 Visual Basic 2005・2008、Visual C# 2005・2008を使ってプログラムを作ったことのある人。 必要な環境 Visual Basic 2005・2008またはVisual C# 2005・2008、Visual Studio 2005・2008でプログラムが作れる環境。.NET
SharpDevelopは、オープンソースで開発されている.NETの統合開発環境です。利用できるプログラミング言語としては、C#、VB.NET、F#、IronPython、Boo、ILAsmに対応しており、開発できるアプリケーションの種類としては、Windowsフォーム、WPF、ASP.NE、Compact Framework等に対応しています。 入手方法 SharpDevelopはic#codeとCodePlexからダウンロードできます。執筆時点での最新バージョンは3.0です。SharpDevelop3.0を動作させるには、.NET Framework3.5 SP1が必要です。 インストール方法 インストールするにはインストーラを起動し、Nextボタンをクリックしていきます。 インストーラを起動するとマスコットのカクレクマノミが表示される 途中で拡張子の関連付け画面が出てきますが、Vis
昨日、大手SIerの方々と話をする機会があって、そこで出てきたのが、「誰が書いても同じコード」になることが重要で、それを実現するために、ドキュメントをいっぱい書かなくてはいけないという話。大手SIerは、大体同じことを考えていると思います。 でも、「誰が書いても同じコード」にするってのは、そもそも無理だと思うんだよね。そうやって、わざわざドキュメントをたくさん書かせても、めためたなコードを書くやつはいて、総合テストするときに、現場は燃え上がるもの。ある程度の規模以上のプロジェクトなら、どこでもそんな感じじゃないかと思います。 「誰が書いても同じコード」は大事なことなのか - ひがやすを blog 先日Matzさんとお話させてもらったことに、ちょっと似てるかも、と思った。 Rubyのコードはどうやって書くのか(テストから書くとか?といった意味で)聞いてみた。 頭でなんとなく考えて、実装してみ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く