IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
リスト1は、同じ処理を繰り返すようなコードで初心者プログラマーがよく使う幼稚なスタイルで書かれている。必ずしも複雑ではないが、筆者には散らかっていて効率が悪く見える。リスト2の方が複雑な条件になっているが、Javaを理解していれば、かなり読みやすい。唯一疑問を抱くかもしれないとしたら、最後の「else if」の中にある条件の最初の部分だけだ。このクローズに来るということは、どちらかのプレーヤーが勝ったことを意味する。 いずれのインプリメンテーションも間違ってはいない。実際、これらはどちらも非常に小さく、つまらない例にすぎないので、これらのリストでコードがいかにクリーンか論ずるのはあまり有益ではない。ただ、何をもってインプリメンテーションがクリーンなのかについて読者の興味を深めることはできるだろう。 クリーンなコードについて扱った記事、Webサイト、書籍は多数存在する。何をもってコードをクリ
ブラウザから誰でも簡単にSubversionが使える『Beanstalk』 October 23rd, 2007 Posted in その他 Write comment 激しく使えそうな予感がして、朝からテストしまくりの開発者向けサービスのご紹介。こ、これは使える! Beanstalkはバージョン管理アプリのSubversionをASPで提供してくれる。 ブラウザ上で簡単にリポジトリをつくってソースをコミットしていけるのだ。 もちろんバージョンごとにブラウザ上でコードを見ることもできる。複数ユーザーでもコミットも楽々だ。 こうした機能を実現するにはtracがあるが、インストールがとっても面倒である(苦労するよね、あれ)。そこで苦労した人にとってBeanstalkの手軽さは大きな魅力ではなかろうか。 現在のところ1リポジトリ、2ユーザー、10MBの容量の無料プランしか用意されていないが、近い
免責事項:本サイトに含まれる情報は、一般的な情報提供のみを目的としています。情報はスペシャルベストによって提供され、当社は情報を最新かつ正確に保つよう努力しますが、いかなる目的においても、ウェブサイトまたはウェブサイトに含まれる情報、製品、サービス、関連グラフィックスに関する完全性、正確性、信頼性、適合性、利用可能性について、明示または黙示を問わずいかなる表明または保証も行いません。従って、これらの情報に依拠することは、あくまでもお客様ご自身の責任において行われるものとします。 当社は、当ウェブサイトのご利用に起因するいかなる損害についても責任を負いません。 本ウェブサイトから、スペシャルベストの管理下にない他のウェブサイトへリンクすることができます。当社は、それらのサイトの性質、内容および利用可能性を管理することはできません。リンクは必ずしも推奨するものではありませんし、リンク先で述べら
2007年05月21日04:00 カテゴリLightweight Languages そろそろPHPに関して一言いっとくか こんな記事まで出ていることだし。 [ThinkIT] 第1回:今だからこその「PHPのすすめ」 (1/3) プログラムをたしなまない方にご注意: こちらのPHPとはちょっと違います:-p finalventの日記 - そろそろPHPに関してもう一言いっとくか 各論 使うは天国、インストールは地獄 PHPが一旦インストールされたら、それを使うのは確かに簡単だ。普通にHTMLを書く感覚で <p>以下の環境変数が設定されています:</p> <pre> <?php while(list($k, $v) = each($_SERVER)){ echo "$k=$v\n"; } ?> </pre> とか書けばいい。しかし、PHPでいろいろやるためには、実際にはさまざまなライブラリ
Mozilla Foundationによって公開されている公式のFirefoxバイナリは、さまざまな環境で安定して動作するようにビルドされている。言い換えれば、チューニングの余地があるということだ。本稿では、Firefoxのビルド方法について解説し、コンパイラやビルドオプションによるパフォーマンス向上に挑戦する。 Firefoxのビルド Firefoxはオープンソースソフトウェアであるため、環境さえ整っていれば誰もが簡単にコンパイルできる。実際、ユーザーの手によってビルドされた「野良ビルド」などと呼ばれるバイナリがネット上で数多く公開されている*。Mozilla Foundationによって公開されている公式バイナリは、さまざまな環境で安定して動作するよう「消極的」なコンパイルオプションが指定されているが、このような「野良ビルド」の多くはコンパイラによる最適化、特にPentium 4やAt
_ [ソフトウェア] DB分散の次は非同期処理がウェブアプリのスケーリングのトレンドになる サイボウズも memcached + MySQL DB 分散 Cybozu Developer Network: MySQL Users Conference Japan 2007 講演概要 を読んで、memcached でキャッシュ& 複数の MySQL をアプリのロジックで分散化というのは、もうすっかりスケーラブルなウェブアプリの作り方として常套手段になったと思いました。 2004 年 4 月の MySQL カンファレンスでの Brad Fitzpatrick の発表 Inside LiveJournal's Backend (PDF)から約 3 年半。Mixi やはてなのようなエッジな企業はだいぶ前からこの構成を採用してますが、対法人のビジネスをしているサイボウズでも採用されたというのは一つ
近ごろプログラマーかいわいで、「関数型プログラミング言語」という言葉をよく耳にするようになった。本連載では、プログラミング言語を取り巻く状況をあらためて俯瞰し、プログラミング言語開発の現場で何が起こっているのかを解説する。 はじめに 「ガーベジコレクション」、「リフレクション」、「アスペクト指向」、「クロージャ」、「イテレータ」、「型推論」など、近年、プログラミング言語の世界に新しい概念が続々となだれ込んでいるように見えます。しかし、これら「プログラミング言語の新潮流」の背景には、実はあまり知られていない歴史が隠されているのです。 プログラミング言語のメインストリーム プログラミング言語はお互いに影響を与えながら成長しています。プログラミング言語の歴史において、主要な言語がどのように影響を与えたかを、概略図に示しましょう(図1)。スペースの関係上この図では非常に簡略化しています*が、実際に
「先祖返り」ってご存じでしょうか? せっかく作っていたデータを、古い日付のもので上書きしてしまい、古い状態に戻してしまうことを言います。 よくWeb制作で起きがちで、複数人で一つのフォルダのソースをいじくっていたり、不注意な人がざっくり古いファイルを上書きしてしまったりすることでおきます。特に忙しい納期直前ほど起きる現象です。 不注意な人のやることと言ってしまえばそれまでですが、人は必ずミスをするものです。 不注意な人のミスをいかになくすか?というのが、世の中の生産管理の肝と考えれば、単純にソースコードの管理手法がなっていないと考える方が僕は自然だと思います。 世の中には、バージョン管理システムという名前で、CVSとかSubversionとか便利なシステムがあるのですが、これがちょっと難しい。何が難しいというと、まず用語が難しい。コミットだのチェックアウトだの聞き慣れないキーワードがついて
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
なんかの実装がオープンソースで公開されているときに、同じ機能の実装を行うのは「車輪の再発明」で無駄な行為だといわれた時期がありました。 でも、それは「再発明」ではなく「再実装」であって、とても大切な行為です。 車輪にしたって、ブリヂストンも横浜ゴムもタイヤの開発をいまもって続けてるわけです。タイヤだけでなく、ホイールからベアリングからドライブシャフトから、「車輪」の部品については、いまだにいろいろな会社が切磋琢磨して再実装を続けているのです。 世の中に出ているライブラリを自分で実装してみるとわかることは、自分の実装を持っているという強さです。 たとえ世の中のライブラリに機能的に性能的に負けていたとしても、自分の実装というのは自分のニーズに合わせるという点でとてもいい。特に、処理の途中の値を使えるというのがいいのです。ライブラリでは、入力したら出力が返ってくるまで中身が見れないですからね。
2007年03月07日11:00 カテゴリLightweight Languages 勝手に添削 - Ajaxでデバッグしよう - @IT 記事そのものはまあいいのだけど、CGIの部分があまりにひどいので。 Ajaxでデバッグしよう - @IT 私の仕事の現場ではJavaを開発言語として使用することが多いので、JSPやServletとして実装していますが、今回はレンタルサーバでも利用しやすいようにPerlで作成しました。以下のソースを参考にしてください。 Before まあご覧下さい。前世紀末においてすら[これはひどい]レベルです。著者はJava屋さんとのことなのでその点を甘く見ても、一体何を参考にして書いたのか是非お聞かせください。 local %params; # エージェントはGETメソッドだけを使用するのでPOSTは考慮しない # リモートログエージェントから送られてたログ情報を環
ソフトウェア開発やプログラミングのスピードを上げる方法はありませんか? プログラマーとして生きていこうと決めたのですが、いつも見積もりの3倍時間がかかってしまいます。 そのため いつもつらい思いをしています。 環境を良くしようとHHKLite2を使い、カスタマイズソフトでホームポジションから離さずにプログラミングしています。 マウスもゲーム用の高精度のものを使っています。 調べ物にもタブブラウザを使い、拡張し続けて効率化をしています。 DualCoreマシンを使いメモリもたくさん積み、障害がないように心がけがけています。 出始めのころから効率化のためにエクストリームプログラミングも取り入れていました。 単体テスト、リファクタリングも当然行いますが、余計に開発速度が落ちています。 しかし開発速度は効率化とは無縁だとすら感じています。 仕事を減らすことが優先ではないか?と。 昔から創作活動は好
ウェブアプリケーションセキュリティとバッドノウハウ、そしてグッドラッパーの関係 by 金床 ---------------------------------- はじめに ---------------------------------- 筆者はウェブアプリケーション開発者であると同時にセキュリティ技術にも興味がある。自身がSeaSurfers MLというウェブアプリケーションセキュリティをテーマとしたメーリングリストを主催しており、またセキュリティコミュニティに多くの知人、友人がいる。しかし彼らとウェブアプリケーションなどのセキュリティ対策について意見を交換すると、違和感をおぼえることが多い。 彼らは脆弱性の原理についてとても詳しいのだが、以下のような会話が頻繁に発生するのである。 「…つまり原理的に考えて、このようにすればXSSは発生しないんだよ」 「な
PHP Best Practices - Common solutions to PHP programming issues This guide is meant to give you solutions to common PHP design problems. PHPプログラミングに関するベストプラクティスがまとまっていました。 以下にダイジェストをまとめます PHP開始タグには <?php のみ使い、<?=や<%のようなタグは使用しない DB接続設定、メールアドレス、デバッグスイッチ、アプリケーション定数などの設定は1つのファイルにまとめる グローバル関数は使わず、できるだけクラスに閉じ込める。グローバル関数を使う場合は、プレフィクスを付ける。 データベース抽象レイヤを使い、MySQL用関数などは使わない 値を格納するValue Objectを使おう class Person
Firefoxのビルド方法について解説し、コンパイラやビルドオプションによるパフォーマンス向上に挑戦する本企画。何度となく繰り返し目にするFirefoxチューニング術にはもううんざりという方にお勧めだ。今回は、Windows環境でのビルドと、最適化した実力を検証してみよう。 Windows環境でのビルド Windows環境でFirefoxをビルドする場合、コンパイラとしてVisual C++ .NET 2003を利用するのが最も簡単である。Windows環境では無償で入手できるコンパイラとして、 Visual C++ Toolkit 2003 Visual C++ 2005 Express Edition MinGW(GCC) などがあるが、Visual C++ Toolkit 2003では一部の必要なライブラリが不足しており、またVisual C++ 2005はまだ十分にテストが行われて
人力検索でPerlの開発環境はどんな感じ?という質問があがっていて、にわかに盛り上がって(?)いますね。僕も回答してみました。 一般的にPerl使ってる人はWindowsで開発する人が多いんですかね?サーバにログインして、ターミナル上で開発をする人って結構少ないのかなぁ。 自分なんかローカルで一応Active Perlをインストールしているけど、ほとんど使わないし…。普段はサーバにログインしてそこでemacsで開発、ローカルでやるとしたらcolinuxにログインしてそこで開発って感じです。Windows上にソースを置くということはしてませんねぇ(あ、colinuxはWindows上か…) その感想として Emacs とか vi 使わないの? っていう話。mixi なんかを見てても僕の周辺で同じ感想を持ったひとが多かったようで。 やっぱり Perl は PC-UNIX を含む UNIX との
より新しいバージョンはEmacs実践入門 - おすすめEmacs設定2012 - ククログ(2012-03-20)にあります。 キーバインド ;;; キーバインド (define-key global-map "\C-h" 'delete-backward-char) ; 削除 (define-key global-map "\M-?" 'help-for-help) ; ヘルプ (define-key global-map "\C-z" 'undo) ; undo (define-key global-map "\C-ci" 'indent-region) ; インデント (define-key global-map "\C-c\C-i" 'dabbrev-expand) ; 補完 (define-key global-map "\C-c;" 'comment-region) ; コメン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く