先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避
どうして部屋を片付けたくなるのだろうか 来週に締切を控えているせいで片付けが進む。整理をしていたら、株式会社ネットスプリングの西武さんに頼まれて寄稿した同社の NSQuest という冊子 が発見された。記事は 2007年2月頃に発刊された Vol.1 と Vol.2 に分かれて掲載されている。ちなみに表題は自分で付けたものではない。 改めて読み返してみても考え方に変化はないが、1985-1995 頃の10年間というのは、シグマプロジェクトのおかげかそうでないのか、皮肉にも日本で UNIX エンジニアが最も増えた時期と重なっているとも思う。最後の部分は Google Code とかで解決する方向に進んでいるのだろうか? だとすれば次の課題は、部屋を片付けずに原稿を書く方法を考えることだ。 オープンソース文化考察 1993年の12月、情報処理学会の九州支部シンポジウムに呼ばれて「Unix オペ
Do you suspect a programmer may have put together the terrible user interface on that “enterprise” software you’re forced to use every day? There are some give-away indicators. Look out for them in your software, hunt down the developer and force them to read a book about user interface design. If you’re suitably senior, force them to a) improve it, or even better b) get someone with real UI exper
グーグルが新プログラミング言語「Noop」を公開しました。Noopは新旧のプログラミング言語からいいとこ取りをした、JavaVMで動作するプログラミング言語と説明されています。 Noopは、サン・マイクロシステムズで開催中の「JVM Language Summit」で、グーグルの2人のエンジニア、Alex Eagle氏とJérémie Lenfant-Engelmann氏によって発表されました。 すでにJVM Language Summitでの発表資料がPDFとして公開されており、その資料には、Noopのミッションが次のように説明されています。 Noop's mission Help teams develop software that is easier to understand and maintain. Noopのミッション 分かりやすくメンテナンスしやすいソフトウェアのチーム開
Grand Central Dispatch (GCD or libdispatch) provides comprehensive support for concurrent code execution on multicore hardware. libdispatch is currently available on all Darwin platforms. This project aims to make a modern version of libdispatch available on all other Swift platforms. To do this, we will implement as much of the portable subset of the API as possible, using the existing open sourc
プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基本的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基本的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基本的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使
チケット駆動開発についてのFAQをまとめてみた。 他に聞きたい質問があれば、コメントして下さい。 チケット駆動開発のFAQを集めれば、チケット駆動開発を普及させるのに役立つと思うから。 【元ネタ】 チケット駆動開発 … ITpro Challenge のライトニングトーク (4) - まちゅダイアリー(2007-09-07) TiDD:チケット駆動開発: ソフトウェアさかば RedmineとTracの機能比較: プログラマの思索 脱Excel! Redmineでアジャイル開発を楽々管理 - @IT自分戦略研究所 Tracのワークフロー: プログラマの思索 ワークフロー機能のカスタマイズ方法 - かおるんダイアリー そろそろTracのワークフローについて語っておくか - almost nearly dead チケット駆動開発は進捗報告作りをどのように解決しようとするか?: プログラマの思索
いろいろカスタマイズして便利にします。 外観 デバッグコンソールなどを1つのウィンドウに統合する シミュレータでアプリを起動すると、デバッガコンソールがXcodeの後ろに隠れてしまい、いちいちフォーカスを切り替えるのが面倒。そんなときはこの設定を。 Xcode→環境設定→全般→レイアウト→オールインワン アプリ実行時にデバッガを自動的に表示する Xcode→環境設定→デバッグ→開始時→コンソールとデバッガを表示 __MY_COMPANYNAME__を変更する ファイルを新規に作成する時にファイル作成者の情報等が自動生成されるが__MY_COMPANYNAME__が気持ち悪い。そんな時は、コンソールから以下のコマンドを叩く。YourNameHereを表示したい名前に置き換えて。 ?View Code SHELLdefaults write com.apple.Xcode PBXCu
Please note: this article is part of the older "Objective-C era" on Cocoa with Love. I don't keep these articles up-to-date; please be wary of broken code or potentially out-of-date information. Read "A new era for Cocoa with Love" for more. The Foundation framework provides all the tools you need for inter-thread communication — without needing to handling locks and synchronization yourself. I'll
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
■ やはり退化していた日本のWeb開発者「ニコニコ動画×iPhone OS」の場合 一年前、「退化してゆく日本のWeb開発者」という題で、ケータイWebの技術面での蛸壺化について次のように書いた。 iPhoneに契約者固有ID送信機能が搭載される日 (略)こうして退化してゆくケータイWebが、日本のスタンダードとなってしまい、いつの日か、PC向けの普通のインターネットまで、単一IDの全サイト送信が必須になってしまうのではないかと危惧した。 (略)iPod touchでNAVITIMEを動かしてみたところ、下の図のようになった。 (略)契約者固有IDがないとどうやって会員登録システムを作ったらいいのかわからないんじゃないのか……というのはさすがに穿ち過ぎだと思いたい。NAVITIMEからソフトバンクモバイルに対して、契約者固有ID送信用プロキシサーバの用意を要請している……なんてことがなけれ
Posts Nov 26, 2023 Why Underwater Levels Suck So Often Jul 2, 2023 Why is C not an object-oriented language? Mar 27, 2023 My Streaming Setup 2023 Feb 26, 2023 Audio Ducking in OBS Oct 6, 2022 Cross-compiling Classic Mac apps on MacOS X Nov 28, 2020 The Surprising Slowness of C++'s std::variant Apr 26, 2020 My Streaming Setup 2020 Feb 22, 2020 X-Macros in C Feb 8, 2020 How do Dependency Managers Wo
Please note: this article is part of the older "Objective-C era" on Cocoa with Love. I don't keep these articles up-to-date; please be wary of broken code or potentially out-of-date information. Read "A new era for Cocoa with Love" for more. This week I'll talk about methods that take variable numbers of arguments, also known as variadic methods. I'll show you the Objective-C syntax and implementa
2009/05/07 Debian GNU/Linuxで、C言語の標準ライブラリである「GNU C Library」(glibc)が、その派生版である「Embedded GLIBC」(eglibc)に置き換わる可能性が出てきた。現在はまだDebianの開発版に入る前という段階だが、もし実現すれば、Debian系のディストリビューションであるUbuntuやKnoppix、Xandrosでも置き換わる可能性が高い。本家ともいえるFree Software FoundationのGNU版のライブラリをさしおいて、派生版がDebianに入る可能性が高まったことで、ちょっとした波紋が広がっている。eglibcプロジェクトではglibcとの高い互換性を目標に掲げているものの、glibcは、Linux上のサーバソフトウェアを含む多くのアプリケーションが依存しているライブラリだけに、今後の影響範囲が見えづ
Interested in learning about the latest advancements in Android, App Engine, Chrome, Google Web Toolkit, OpenSocial, and more? Register to attend Google I/O, May 27-28 at Moscone West in San Francisco. Five years ago, Spring 1.0 brought Java dependency injection into the mainstream. Three years later, Google Guice 1.0 introduced annotation-based dependency injection and made Java programming a lit
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く