タグ

Programmingとprogrammingに関するpukumanのブックマーク (258)

  • iPhoneアプリケーションをApp Storeに登録してみた

    iPhoneアプリケーションをApp Storeに登録してみた:これ、俺ならこう使う(6)(1/3 ページ) 日々生み出されるネットサービスやテクノロジーに詳しい著者による、こんなふうにサービスに取り込んだら面白いのではないか、という提案。技術的な応用面にフォーカスしていく(編集部) 前回の記事「App Store登録もOK! JavaScriptで作るiPhoneアプリ」からずいぶん時間がたってしまいました。実は年末に筆者のかかわる音楽ニュースサイト「ナタリー」の大規模なリニューアルがあり、そのほかの仕事も含めていままでにない忙しさだったのですが、それにしても2カ月はひどい。今年はちゃんと月1で記事を書けるようにしたいところです。2月にもなって今年の目標を書くのもどうかと思いますが。 さて、今回は前回に引き続きiPhoneでのアプリ開発について書きます。実際にiPhone上で動くバイナリ

    iPhoneアプリケーションをApp Storeに登録してみた
  • メタプログラミングの光と影 - ひがやすを技術ブログ

    メタプログラミングとはソースコードを生成するプログラミングのことです。メタプログラミングによって生成したソースコードは、eval関数で実行することができます。 メタプログラミングとは、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法、またその高位ロジックを定義する方法のこと。 メタプログラミング - Wikipedia だから、eval関数は、手段であり、メタプログラミングそのものではない。これは弾さんが指摘してますね。 evalだけがメタプログラミングの技法ではないし、またevalはその威力ゆえ最後の選択肢とすべきだ。 弾さんのパフォーマンスの指摘に対して、miyagawaさんが、「必ずしもevalが遅いとは限らない」と指摘してますね。 メタプログラミングとevalのベンチマーク - Bulknews::Subt

    メタプログラミングの光と影 - ひがやすを技術ブログ
  • まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全

    まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary
  • App Store登録もOK!JavaScriptで作るiPhoneアプリ

    Webアプリケーションは、傾きセンサやGPSからの情報取得やバイブレータ動作などのOSの機能の利用に制限があります。また、オフラインでの動作ができません。 開発の容易さは、若干主観めいてしまいますが、コンパイルが必要でメモリ管理も必要なネイティブアプリに比べて、Webブラウザでリロードするだけで最新のコードをテストできて、基的にメモリ管理も不要なWebアプリケーションに軍配が上がります。 ネイティブアプリケーションの最大のメリットは、「App Storeでの配布ができる」ことで、多くのユーザーが集まるApp Storeでアプリケーションを配布でき、さらには課金もできてしまう点です。 ローカルWebアプリという第3の選択肢 前段の機能比較表に「ローカルWebアプリケーション」という項目があります。これは、Safariでオンライン中に所得したHTMLCSS、画像データなどを保存して、オフラ

    App Store登録もOK!JavaScriptで作るiPhoneアプリ
  • RubyCocoa 入門

    RubyCocoa とは? RubyCocoa は、Mac OS X アプリケーションを開発するためのフレームワークです。 RubyCocoa によって、 OS X アプリケーションを作ること Ruby から拡張ライブラリとして Cocoa を利用すること ができるようになります。 RubyCocoa のインストール Tiger の場合、以下の URL から最新版の dmg をダウンロードして、インストールしてください。 http://sourceforge.net/project/showfiles.php?group_id=44114 Leopard では、RubyCocoa は OS に標準添付されているので、インストールの必要はありません。 はじめての Mac OS X アプリケーション では、さっそくアプリケーションを作ってみましょう。 まず、Xcode を立ち上げます。(/De

  • JavaScript でのブラウザ判別 - 「仕様の盲点」ではなく、「プロパティの有無」を使う方がマシ - 2009年2月 - Blog - EOF

    IE6, IE7 で tabindex 属性を JavaScript 側から設定する時の注意 これは完全にバグといえる仕様なのだが、IE6 と IE7 では JavaScript(IE だから来は JScript)側から setAttribute などを使って tabindex 属性を設定してやる時、属性名を "tabIndex" にしてやらないと認識しないことを知った("I" がキャメルケースになっている)。WAI-ARIA(2008-08-06版 WD 邦訳)絡みで色々といじっていた時に発見。因みに IE8 RC1 では修正されている。 次の JavaScript コード断片は、IE で tabindex 属性を設定する時の方法を説明したものである。 // ターゲット要素 var elem = document.getElementById("test"); elem.setAttr

  • ソースコードの色づけを行う·Google Code Prettify MOONGIFT

    ブログや開発者向けのWebサービスなどで、ソースコードのハイライトを行うケースはよくある。言語があらかじめ決まっている場合は良いが、言語がよくわからない場合や、JavaScriptHTMLのように埋め込みで複数の言語が重なる場合もある。 各種言語に対応したハイライター そのような、特定の言語に依らずにソースコードをハイライト化したい場合に便利なのがこのライブラリだ。 今回紹介するオープンソース・ソフトウェアはGoogle Code Prettify、JavaScriptによるソースコードハイライターだ。 Google Code Prettifyの使い方は簡単だ。prettify.jsとprettify.cssを読み込んで、<pre class="prettyprint">または<code class="prettyprint">タグの中にコードを書き込めば良い。後はprettyPrint

    ソースコードの色づけを行う·Google Code Prettify MOONGIFT
  • IT戦記 - 一行で IE の JavaScript を高速化する方法

    以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -

    IT戦記 - 一行で IE の JavaScript を高速化する方法
  • amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log

    2009-11-12 ナビ子記法について追記しました 文 今日は、amachangさんの記事 http://d.hatena.ne.jp/amachang/20071010/1192012056 を 1mm だけ掘り下げ、IE 以外のブラウザでも document へのアクセスを速くする方法がないか、色々試してみます。 # 記事自体はずいぶん前に書き上げてたけど、公開するの忘れてたんだな。 C系を追加しました。C系は「ネストしたスコープからグローバル変数にアクセスするとどうなるか?」がテーマです。 試したこと 以下は様々な方法で document へのアクセス速度を計測します。 A系では、非日常的な方法で測定し、B系では実際の用法に近い形で測定します。C系では何重にもネストしたスコープから、グローバル変数にアクセスするとどうなるかを測定します。 A系 A0 は、素の document に

    amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log
  • 子ども向けのオープンソース・プログラミング言語

    この2年間で、子どもを対象とするオープンソースのプログラミング言語とユーティリティの数は爆発的に増えた。こういった活動の根底にあるのは、BASICの時代と比べてプログラミング環境があまりに複雑になり、専門知識のない若年層にはハードルが高すぎるという考えだ。あるツールキットは若年層にアピールするゲームやアニメーションなどのプロジェクトを構想、作成するまったく新しい方法の考案を目指し、またあるツールキットはBASICの“ベーシック”性をモダンな言語と環境に再現しようと取り組んでいる。 Scratch MITのLifelong Kindergartenグループが開発したScratchは、Squeakに実装されたグラフィカルなプログラミング環境で、その操作方法はLEGOの遊び方によく似ている。基的に、カラフルなコードのブロックを組み立てることでプログラムを作成する。独自のインタフェースを利用し、

    子ども向けのオープンソース・プログラミング言語
  • Gaucheでプログラミング

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 今回は、Gaucheを初めて使ってみようという方に向けて、Gaucheのインストールと、簡単なプログラムを題材に、どうやってGauche(Lisp)流のプログラムを書いていくかを取り上げてみます。 Gaucheのインストール GaucheはApacheやRubyと同様にオープンソースのソフトウェアですので、自分でダウンロードしインストールする必要があります。 GaucheのWebサイトのダウンロードページから最新のソースを取得できます。現在のところサポートされているOSはUNIX系が中心で、Windowsではすべての機能を使うことができません。この連載でも、Mac OS Xを含むUNIX系のOSで動かす前提で進めていきます。 Gaucheのインストール

    Gaucheでプログラミング
  • IBM Developer

    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.

    IBM Developer
  • Native Clientの仕組みはどうなっているのか? - やねうらお−よっちゃんイカはしばらく買わずにiPhoneだけに注力する男

    Googleが、Webブラウザ上でネイティブバイナリコードを実行する「Native Client」を公開した。 Native Client http://code.google.com/p/nativeclient/ Google Earth,Quakeなどがすでに動いているようだ。 これはすごい!ブラウザ上でX86バイナリを動かす「Native Client」 http://www.moongift.jp/2008/12/native_client/ サンドボックスで安全性確保、オーバーヘッド5% ブラウザでx86バイナリ実行、グーグルが新技術 http://www.atmarkit.co.jp/news/200812/09/nacl.html あと、サンプルのlife.ccにSDL_surfaceと書いてあるのでSDLの描画まわりが既に動いているのだろうから、今後、たくさんのアプリがN

    Native Clientの仕組みはどうなっているのか? - やねうらお−よっちゃんイカはしばらく買わずにiPhoneだけに注力する男
  • Internet Explorerよりも速くソートできたよ

    Internet Explorerよりも速くソートできたよ:コーディングに役立つ! アルゴリズムの基(5)(1/4 ページ) プログラマたるものアルゴリズムとデータ構造は知っていて当然の知識です。しかし、教科書的な知識しか知らなくて、実践的なプログラミングに役立てることができるでしょうか(編集部) 第4回「Internet Explorerよりも速くソートできるかな」では、選択ソート、バブルソート、シェルソート、クイックソートを実装して、IE組み込みのソート機能よりも速くソートできるかを試しました。残念ながら、いまのところ組み込みのソートよりも速くソートできていません。しかし徐々に差は縮まっています。 ソートのアルゴリズムは、まだまだたくさんの種類があります。代表的なものだけでもまだいくつか残っていますので、今回はこれらを実装して、IE組み込みのソート機能と速度を比較してみましょう。だん

    Internet Explorerよりも速くソートできたよ
  • もうこれで十分。HTML上でテーブルを表示するなら·Sigma Grid MOONGIFT

    業務システムを構築する際に、一覧表を表示するという処理は多い。そしてそのデータを並べ替えたり、チェックボックスを入れたりしたいというニーズも多く発生する。場合によってはカラムを並べ替えたり、一括更新したいなんて言われることもある。 ソートも並べ替えもページネーションも全部こみこみ それを一つ一つ実装していては非常に工数がかかってしまう。そこで使いたいのがこのSigma Gridだ。 Sigma Gridはテーブルの表示とソート、データ編集などを可能にする超豪華ライブラリだ。LGPLライセンスの下に公開されているオープンソース・ソフトウェアだ。 Sigma Gridはデータの表示に際してJSONでデータを渡す必要がある。そのため既存のシステムにそのまま組み込むのは難しいかもしれない。だがその変更してもあまりあるメリットを享受できるに違いない。 画像表示とクリックアクションの例 まずカラムごと

    もうこれで十分。HTML上でテーブルを表示するなら·Sigma Grid MOONGIFT
  • MOONGIFT: » JavaScriptではじめるMac OSX用アプリケーション開発「JSCocoa」:オープンソースを毎日紹介

    Mac OSX向けのアプリケーションを開発するにはCocoaやObjective-Cといった特有の言語を習得する必要がある。今はWebアプリケーションが盛り上がっているのに、特定のプラットフォームでしか動かない言語を習得するのは面倒くさい、そう考える方も多いはずだ。 アプリケーション一覧、プロセス一覧を表示するデモアプリケーション そんな方に朗報だ。JavaScriptを知っていればMac OSX向けアプリケーションが開発できる時代になってきたのだ。それを可能にするのがJSCocoaだ。 JSCocoaGoogle Code上で公開されているオープンソース・ソフトウェアで、ライセンスはMITライセンスとなっている。 Mac OSXでは元々RubyCocoaと呼ばれるソフトウェアやPyObjCといったPythonとObjective-Cの橋渡しをするソフトウェアが存在している。この時に使わ

    MOONGIFT: » JavaScriptではじめるMac OSX用アプリケーション開発「JSCocoa」:オープンソースを毎日紹介
  • JavaScriptで作るiPhoneアプリケーション·Big Five MOONGIFT

    iPhone向けのアプリケーションを開発する場合、Objective-Cを習得する必要がある。オブジェクト指向の言語ではあるが、習得のためにはコストがかかるのは確かだ。開発することで一気に世界が開ける可能性もあるが、利用範囲の限られた言語を覚えることに躊躇してしまう人もいるのではないだろうか。 スプラッシュスクリーン そこで普段使い慣れているHTMLJavaScriptを使ってアプリケーションを構築しようと言うのがこのフレームワークだ。 今回紹介するオープンソース・ソフトウェアはBig Five、Webベースの技術で実現するiPhone/iPod Touchアプリケーションフレームワークだ。 Big Fiveは言わばプロキシを提供するソフトウェアだ。HTMLからJavaScriptを使ってiPhone/iPod Touchの各APIにアクセスを可能にするのだ。現在位置の取得、内蔵カメラを

    JavaScriptで作るiPhoneアプリケーション·Big Five MOONGIFT
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • Sony Japan|ソフトウェア脆弱性防止コーディングルール

    ソニーが仕様を定めて作成・納品を依頼するソフトウェアにおいては、ソフトウェアセキュリティ上の脆弱性をできる限り防止するために、原則として「ソフトウェア脆弱性防止コーディングルール(STM-0117 一般公開版)」*に規定するコーディングルールに従ったプログラミングをお願いしております。 ソニーはビジネスパートナーの皆様と共に、ソフトウェア脆弱性の防止に努力を重ねてまいりますので、ご協力の程、宜しくお願い致します。

  • Haskellプログラミングの楽しみ方 − @IT

    第1回 Haskellプログラミングの楽しみ方 山下 伸夫 株式会社タイムインターメディア 2008/10/29 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう(編集部) 連載は、Haskellプログラミングの初歩から始めて、日常的なスクリプティングやWebプログラミングをHaskellで楽しめるようになるまでのガイドである。 Haskellプログラミングのスタイル Haskellプログラミングに興味はある人でも、Haskellプログラミングの習得にはちょっとした障壁を感じることがあるのは間違いないようだ。小難しい概念や用語のせいでもあるが、それらはあまり重大な理由ではない。 障壁となるのはHaskellのプログラミングスタイルである。Haskellのプログラミングスタイルは関数プログラミングという系統に属する。一方、