タグ

プログラムに関するstibbarのブックマーク (28)

  • 可搬性

    この節では,言語標準,オペレーティング・システムの違い,およびコンピュータ・ハードウェアが Visual Fortran の使い方とプログラムの可搬性にどのような影響を与えるかという問題を理解するのに役立つトピックを示します。 プログラムに可搬性があるとは,1 つのハードウェア/ソフトウェア・プラットフォームで実装したプログラムを,ソース・コードの最小限の変更だけで別のシステムに移植できるということです。最初のシステムで得られた正しい結果は,他のシステムでも正しくなくてはなりません。プログラムを移植するときに加えなければならない変更数は,場合により大きく異なります。まったく変更を加えなくてもよい場合もありますし (厳密な可搬性),あまりにもたくさんの変更が必要なので,新しいプログラムを設計または実装した方が効率的な場合もあります (可搬性のないカスタマイズ)。ほとんどのプログラムは,その寿

    stibbar
    stibbar 2009/08/20
    プログラムに可搬性があるとは,1 つのハードウェア/ソフトウェア・プラットフォームで実装したプログラムを,ソース・コードの最小限の変更だけで別のシステムに移植できるということです。
  • ミックスインとデコレータパターン

    人間の認識能力にあったモデル化手法としてオブジェクト指向は重要である。 この伝承は嘘ではないと思う。 しかし、デザインパターンのカタログを眺めていると、 このような考え方にはあまり従っていないように見える。 人間にとって何が自然な「もの」であるかという視点ではなく、 プログラムの修正を柔軟に行えるようにするためには、 何がオブジェクトであるべきかという視点で設計が行われている。 柴山悦哉「デザインパターン」 (bit Vol.31,No.5 1999年5月号 特集リセットセミナー) ミックスイン 例1 Personクラスというのがあって、 名前を出力するdisplayName()というメソッドを持っているとする。 そして名前を出力する時に名前の前後に「***」を付けて出力し、 それ以外の性質はPersonクラスと全く同じであるような StarPersonクラスを定義したいとする。 こういう

    stibbar
    stibbar 2009/06/01
    こういう、性質を付け加えたり拡張する目的で定義されたクラスは、ミックスイン(mixin)クラスと呼ばれる。
  • http://www.musicbird.jp/index.html

  • CodeRepos::Share – Trac

    What are u coding? old title = 個人レポジトリを共有しよう!計画。 みんながそれぞれ作って公開してる公開レポジトリを一緒くたにしちゃいたい。参加してる全員がどのファイルもみたり変更したりできるような。 パッチ送られてくる代わりに「後で見とくからコミットしといて」とかいえたりとか、つくりかけで放置したもので他の人が興味もったら続き作ってもらうとか、メンテするのめんどくなったのだれかにやってもらうとか、突発的に誰かと一緒にプロジェクト始めたりとか、できる! 詳しくは unknownplace.org - 2007/08/29 - 個人レポジトリを共有しよう! YappoLogs: CodeRepos - 個人レポジトリを共有しよう!計画 Development We have a Subversion repository and you can check it

  • 多国語 HTML (UTF-8) の作り方

    多国語 HTML (UTF-8) の作り方 Multilingual HTMLs in UTF-8 Encoding 1. UTF-8 と主要ブラウザの対応 UTF-8 と Unicode 最初に、UTF-8 と Unicode について、こちらをご覧ください。 主要ブラウザの UTF-8 対応 Windows / Macintosh 双方における主要ブラウザの UTF-8 対応状況を、こちらで確認してください。 2. UTF-8 のメリットとデメリット UTF-8 を使用するメリット UTF-8 のエンコーディングを使用すれば、どんな言語でも OS と ブラウザーの仕様に応じて、インストールされているフォントの中から適切なものを自動選択して表示しますから、次のメリットがあります。 訪問者が使用する OS、言語の文字コード、使用ブラウザなどに関係なく、単一のページを作成

  • まつもとゆきひろのハッカーズライフ:第10回 ソースを読もう (1/2) - ITmedia エンタープライズ

    ハッカー能力を高めるのに優れた方法は、実際にコードを書くことと、ほかの人が書いた優れたソースコードを読むことです。今回は、わたしの過去の経験からソースコード読解の秘訣を考えてみます。 ハッカー能力を向上させる方法 『Code Reading*』という書籍があります。わたしが監訳をしているから言うわけではないのですが、結構良いです。今回の「ハッカーズライフ」は、このを読んだ人には当たり前のことかもしれません。 ハッカーとしての能力を身に着けるのに優れた方法は、実際にコードを書くことと、ほかの人の書いた優れたソースコードを読むことだと思います。特にコードを読むことは普段あまり強調されませんが、他人のソースコードはいろんな意味で知恵と知識の源です。考えてみれば、わたし自身も他人のソースコードをたくさん読んで学んだように思います。 「コードを読むのは勉強になる」ということで、世の中には「Lin

    まつもとゆきひろのハッカーズライフ:第10回 ソースを読もう (1/2) - ITmedia エンタープライズ
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • オープンソースのコードを読もう | gihyo.jp

    今までセミナーや勉強会などですごい人にたくさん会ってきましたが、彼らには一つ共通点があります。それは「オープンソースのコードをよく読んでいる」ことです。 たとえばJavaScript界で活躍している誌連載でもおなじみのamachangこと天野仁史氏は、JavaScriptの挙動をより深く理解するためにSpiderMonkeyというCで書かれたJavaScriptエンジンのコードを読んでいるそうです。またSeasar 2の開発者であるひがやすを氏は、あまり技術書の類は読まないそうで、代わりにソースコードをたくさん読んでいろんな技術を学んだ、と言っていました。 ソースコードをたくさん読めばすごい人になれるかどうかはわかりませんが、すごい人は必ずと言ってよいほどソースコードをたくさん読んでいます。

    オープンソースのコードを読もう | gihyo.jp
  • キー入力(その2)

  • アプリケーションの設計についての質問です。…

    アプリケーションの設計についての質問です。 MVCにおけるModelの役割が今ひとつ理解出来ず困っています。 私の理解では、Modelは受け取ったデータを基に、それを加工して管理するためのものであり、それ自身が特定のデータ群と、そのデータを加工するためのメソッドの集合であると捉えています。 ・何故データをDBではなくModelに持たせる必要があるのでしょうか? ・Modelにデータを持たせるにしても一旦DBへアクセスし、そのデータをModelにセットしなければならないと思うのですが、これはどのタイミングで行うのでしょうか? ・アプリケーション実行中のデータに対する処理は(ex.ユーザー登録など)全てModelに対して行い、最後にDBへModelの変更を再セットする、というイメージなのでしょうか? ・さらにMVC+Serviceを用いた設計の場合、ServiceとModelの役割分担はどうな

  • 『ハンガリアン記法』

    変数などの名前を付ける時のコーディングルールに、ハンガリアン記法(ハンガリー記法)と呼ばれるものがある。簡単に言えば、名前の先頭に「型」などを表す文字列(プリフィックス)をつけるというものである。 かつて Microsoft が好んで採用しており、 Visual C/C++ (MFC) を使ったWindows プログラミングの仕事が多かった私の会社では、社内ルールとしても採用されている。 というわけで、私も、ハンガリアン記法で多くのコードを書いてきたのだが、あるとき、Joel Spolsky 氏の「間違ったコードは間違って見えるようにする 」という記事を読んでショックを受けた。 それまで私が書いてきたハンガリアン記法というのは、MFC でやっているように、変数名に「型(type)」を表すプリフィックスを付けるものだった。しかし、それは「システムハンガリアン」と呼ばれ、来のハンガリアン記法

    『ハンガリアン記法』
    stibbar
    stibbar 2007/10/28
    結局はチームルール。
  • やねうらお−俺のブログがこんなによっちゃんイカなわけがない

    紙媒体のほうの拙著『解析魔法少女美咲ちゃん マジカル・オープン!』は一度絶版になったんだ。自分で言うのも何だが、リバースアセンブルの名著であり、教科書的な存在であるから、アマゾンのマーケットプレイスでは長らく定価の数倍というプレミア価格となっていた。 プレミア価格になってからも「再販しないんですか?」とブログの読者の方などから問い合わせを数多くいただき、これは再販すべきだよなぁと思って出版社のほうに増刷するか、無料でPDFか何かを公開させてもらえないかと何度か出版社の編集担当に交渉したのだが、これがどうもうまくいかなかった。 まず、文の著作権自体は著者(私)にある。だから絶版になったあと文だけを公開することは出来る。しかし図は、下書きは私が書いたものではあるが、出版社の編集側で手直ししたものがには使われているし、組版をしたのは出版社である。これらに関する権利が出版社にある。また、表紙

    やねうらお−俺のブログがこんなによっちゃんイカなわけがない
    stibbar
    stibbar 2007/10/28
    やっぱすごい人だと思った。
  • 新・げーむ開発講座

    ※第33夜、34夜、37夜のWAV/MIDI/MP3ファイルは匿名希望のMr.X氏の提供です(ぉ ※第48夜以降のMIDIファイルは鷹月ぐみな情報局のフリーサウンドライブラリから、みくしぎまさき氏の曲を使わせて頂きました。 ■第二期 ~ADVへの道~ 第60夜 第二期をはじめるにあたって 第61夜 ノベルシステムの動作概観 第62夜 コマンドスクリプトの整理 第63夜 正確なサイズの窓をひらく(^^;) 第64夜 宿題項目:タイマー処理の充実① 第65夜 宿題項目:タイマー処理の充実② 第66夜 画面のフルスクリーン化 第67夜 いまいちどBMPについて 第68夜 画面のDIBSection化① 第69夜 画面のDIBSection化② 第70夜 仮想画面を充実させる 第71夜 テキスト画面の独立化 第72夜 ウィンドウ枠 第73夜 透明色によるくりぬき表示① 第74夜 透明色によるくりぬ

  • ウノウラボ Unoh Labs: C/C++でFastCGIを作る

    こんにちは satoです。 現在 Ruby on Rails で書かれた アプリケーションの 一部のURIを高速化するために、lighttpd + FastCGI で 書き直しています。FastCGI は あらかじめ プロセスを常駐させておき、リクエストが来た際に、常駐しているプロセスに Unix domain socket あるいは TCP/IP で通信を行い プロセス起動時のオーバーヘッドを無くすことにより、処理を高速化します。今回は lighttpd + FastCGI で Hello word を作る 解説します。 まず lighttpd と FastCGI を 用意します 環境はCentOS5です。 lighttpd: yum install lighttpd FastCGI: wget http://www.fastcgi.com/dist/fcgi.tar.gz tar xz

  • ウノウラボ Unoh Labs: Wikiのプラグイン記法を実装する

    bokkoです。 普段からWikiを使っていると、「○○する記法がほしいなあ」と思うことがあると思います。 しかし、単純に記法を追加しようとすると、ほかの記法とぶつかってしまったり、思わぬ副作用を引き起こす可能性があるため、大抵のWikiクローンには独自でプラグインを作るための仕組みがあります。 例えば、どこかにplugin_nameというスクリプトファイルを用意し、{{plugin_name 引数}}と書かれた部分をそのスクリプトファイルを実行した結果に置き換える、という風に。 というわけで、今日は私がローカルで使っているオレオレWikiクローンでのプラグイン機構の実装例を紹介しようと思います。実現するためのコードは以下のようになっています。(ほかの機能のためのコードが混ざってしまっていてちょっと見づらいですが) private function createPlugin(){ $d

  • 糖衣構文 - Wikipedia

    糖衣構文(とういこうぶん、英: syntactic sugar あるいは syntax sugar)は、プログラミング言語において、読み書きのしやすさのために導入される書き方であり、複雑でわかりにくい書き方と全く同じ意味になるものを、よりシンプルでわかりやすい書き方で書くことができるもののことである。 構文上の書き換えとして定義できるものであるとも言える[* 1]。 名称について[編集] syntactic sugar の直訳に近い構文糖(こうぶんとう)という用語も使われる。また外来語としてそのままシンタックス・シュガーとも呼ばれる。糖衣構文あるいは構文糖衣とするのは少々意訳的だがよく使われている[* 2]。 語源は「取り扱いやすい」を意味する sweet の第一義が「(砂糖のように)甘い」であることから[1][2]。 解説[編集] 糖衣構文はプログラムの意味としては同じものを、よりわかり

  • ドメイン固有言語 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ドメイン固有言語" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年12月) ドメイン固有言語(ドメインこゆうげんご)またはドメイン特化言語(ドメインとっかげんご、英語: domain-specific language、DSL)は、特定のタスク向けに設計されたコンピュータ言語[1]である。 DSL は一種類のタスクをうまく記述することに集中したプログラミング言語であり、古くから存在した。何らかのプログラミング言語それ自体の構文と処理系を利用する internal DSL(あるいは embedded DSL)と、独立した構文と処理

  • Sun Developer NEWS いまこそ新しいOS、新しい言語をイメージする

    2002年新年号の談話室時也葉に登場するのはコグニティブ リサーチ ラボ株式会社の代表取締役であり、コンピュータサイエンテストである苫米地英人氏をお迎えしての新春放談。 苫米地氏は、Javaコンソーシアムの立ち上げに尽力されたり、ジャストシステムで多くのプロダクト開発に関わった実績に加え、大学における活動や、国家プロジェクトでの活躍など多彩な方面で活躍されていますし、コグニティブリサーチ社においては独自のWebサーバをLISPを使って開発するなど、LISPのエキスパートとしても有名。 今回はコンピューターサイエンテストとしての立場から、今求められているコンピューティングのあり方についてお話を伺った。JavaやSolarisの世界に留まらず、真の次世代コンピューティングについてとてもエキサイティングな話しを伺うことが出来た。そのすべてを紹介することはできないが、その片鱗でも感じて

  • 人力検索はてな - Emacs ユーザーの方に質問です。これは便利! と思える elisp プログラムを教えてください。 標準で組み込まれてるものでも結構です。プログラムがどういうものかの説明も

    Emacs ユーザーの方に質問です。これは便利! と思える elisp プログラムを教えてください。 標準で組み込まれてるものでも結構です。プログラムがどういうものかの説明も簡単にしていただけると嬉しいです。 ちなみに自分が便利だなと思うのは ・ ELScreen (GNU screen のようなスクリーン機能を実現するもの) ・kill-summary.el (killing buffer を履歴表示して yank するものを選べるようにする) ・navi2ch (定番ですねw 2ちゃんねるビューワー) ・riece (IRCクライアント) などです。それから、こういう設定知ってる? 的なものも是非教えてください。 今日 (windmove-default-keybindings) で shift + カーソルキーで分割したウィンドウが移動できることを知って驚愕してます。 よろしくお願い

  • naoyaのはてなダイアリー - Perlプログラマのレベル10 - Perlプログラミング救命病棟より

    プログラマ、と一言で言っても、if文の意味をようやく理解したばかりの駆け出しのプログラマもいれば、汎用的で優れたライブラリを量産できるような凄腕のハッカーもいる、つまりはピンきりです。 Perlプログラマに関してはどうでしょう。一流のPerlプログラマになるためには、見えない階段があるようです。use strict を使い始めたらその階段を一歩上ったと言えるでしょうし、正規表現を理解したときも一段あがることになると思います。リファレンス、クロージャ、オブジェクト指向、CPANモジュール、mod_perl、MVCフレームワーク。それらも階段を構成する材料の数々と言えるでしょう。 さて、Perlプログラミング救命病棟という書籍から、ちょっと長いですがそんなPerlプログラマのレベル10のリストを引用してみます。 レベル1: Perl 関係の書籍や資料を何も読んでいない。Perl がプログラミン