タグ

プログラミングに関するymkz303のブックマーク (159)

  • Google App Engineのtips集 - スティルハウスの書庫の書庫

    (随時更新中です。間違いなどありましたらコメントをお願いします!) このページのtinyurl: http://tinyurl.com/gaetips Datastoreのtips Bigtableの内部構造 BigtableによるDatastoreの実装 Datastoreによるクエリの実装 トランザクションとエンティティグループ Datastoreのtips List Proprtyとmerge joinの使い方 GAE一般のtips GAEのサーバー構成とリクエストの流れ Task Queue APIの使い方 開発環境とプロダクション環境の違い Flex/AIR+GAEのtips GAE/JにBlazeDSを組み込む BlazeDSの番環境へのデプロイでハマる Datastore APIの取り扱いでハマる App Engine開発の便利な参考ページ TOPGATEさんのGoogle

    Google App Engineのtips集 - スティルハウスの書庫の書庫
  • 3行でできる超お手軽全文検索 - mixi engineer blog

    梅雨。部屋干しした洗濯物による異臭騒ぎに苦しむmikioです。今回は、Tokyo Cabinetのテーブルデータベースで超お手軽に全文検索をする方法について説明します。 使い方 テーブルデータベースについてまずおさらいしておきましょう。PerlRubyのハッシュのようにコラム名とその値を関連づけた構造を、主キーを識別子として保存するデータベースです。例えばRubyからデータを保存するに以下のように行います。データベースであることをほとんど意識させないというのが素敵ポイントです。APIはCでもPerlでもRubyでもほとんど同じなので、言語にかかわらず同じようにレコードを操作できます。 require 'tokyocabinet' include TokyoCabinet # データベースを開く tdb = TDB::new tdb.open("casket", TDB::OWRITER

    3行でできる超お手軽全文検索 - mixi engineer blog
  • 実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記

    strace システムコールをトレース。カーネルと何を話しているか。 strace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 straceを使ったデバッグ - SourceForge.JP Magazine : オープンソースの話題満載 Linuxカーネルの作り出す世界 − @IT自分戦略研究所 - ふつうのLinuxプログラミング 青木峰郎 システムコールとライブラリ関数 − @IT自分戦略研究所 システムコール・ライブラリルーチン - UNIX の部屋 ltrace 共有ライブラリの呼び出しをトレース。*.soと何を話しているか。 ltrace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ 404 - エラー: 404 - Linux JF ƒ‰ƒCƒuƒ‰ƒŠ‚ÌŠ

  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常
  • ウノウラボ Unoh Labs: Operaのウィジェットを作ってみた

    yamaokaです。 Opera Uniteが話題になっていますね。 Operaを使うことが多いので、こうして話題になると少しだけうれしいです。 Operaは単なるwebブラウザーではありません。 Opera Uniteはともかく、メーラーにも、IRCのクライアントにも、 BitTorrentのクライアントにもなることができます。 そして、ウィジェットが動くプラットフォームでもあるのです。 Operaのウィジェットにはいろいろな種類があって、 例えばTwitterクライアントのTwipperaなど便利なものから、 ちょっとしたツールやゲームまで揃っています。 ウィジェットの開発はHTMLJavaScriptCSSを使って行います。普通のwebサイト制作と同じですね。 開発者向けのドキュメントはまだ整備段階の感じもしますが、一通りの情報は揃っています。 というわけで(?)、試しにフォト蔵

    ymkz303
    ymkz303 2009/06/17
    今度試してみることにする
  • 小野和俊のブログ:諸君 私はプログラミングが好きだ

    諸君 私はプログラミングが好きだ 諸君 私はプログラミングが好きだ 諸君 私はプログラミングが大好きだ 設計が好きだ 実装が好きだ デバッグが好きだ コンパイルが好きだ リファクタリングが好きだ パフォーマンスチューニングが好きだ ペアプログラミングが好きだ クラスの名前を考えるのが好きだ 自分が書いたソースを眺めるのが好きだ Java で C で C++ で C# で PerlRubyPHPPython で Lisp で VB で この地上で行われる ありとあらゆるプログラミング行為が大好きだ 轟音と共にバグを吹き飛ばしていくのが好きだ 空中高く放り上げられたバグが 効力射でばらばらになった時など心がおどる プログラマーの操る キーボードが コンパイルエラーを撃破するのが好きだ 悲鳴を上げて 燃えさかるソースコードから飛び出してきたエラーを テキストエディタで薙ぎ倒した

    小野和俊のブログ:諸君 私はプログラミングが好きだ
  • Martin Fowler's Bliki in Japanese - リファクタリングの誤用

    http://martinfowler.com/bliki/RefactoringMalapropism.html かつて、わずかな人しか知らなかった用語「リファクタリング」は、 今ではコンピュータ業界の中でフラフラ迷走している。 これは私にも責任がある。 私はプログラマたちの生活の向上と、ビジネスに利益をもたらせたいと願っている (重要なことだが、私はリファクタリングの父でもないし、発明者でもない。ただの執筆者である) …… ……のだが、リファクタリングは、適切に使われてはいない。 リファクタリング中に2,3日システムが動かなくなっちゃってーなどと言ってる奴がいたら、 んなもんリファクタリングじゃあなーいと言ってやれ。 ドキュメントをリファクタリングしちゃるとか言ってる奴、 それもリファクタリングじゃねーぞコラ。 そういうのは、リストラクチャリング(再構築)というのだッ。 「リファクタリ

  • javascript - にはクラスはない : 404 Blog Not Found

    2009年06月13日22:00 カテゴリLightweight Languages javascript - にはクラスはない かえってわかりにくくなっている感じをかつてさんざん実感したので。 JavaScriptのオブジェクトについて考察してみた - あと味 JavaScriptにおけるほとんど全てのデータはオブジェクトである オブジェクトの定義にもいろいろありますが、ここでは「メソッドを持つ」という狭い意味においても事実だということです。実際に見てみましょう。 p(true.toString()); p("String".toString()); p((1).toString()); p((3.14159265).toString()); p([0,1,2,3].toString()); p({q:"answer to life, the universe, and everythi

    javascript - にはクラスはない : 404 Blog Not Found
  • 制作会社で働く人向け「はじめての正規表現」 - あと味

    制作会社で働いてると、ディレクターやライターであればライティング作業をすることがあるし、マークアップエンジニアであればHTMLCSSを処理するし、プログラマーであればコードを書きます。 制作会社に勤めていれば全員何らかの形で、文字列を扱うことになります。 そんな時に正規表現という超強力な文字列処理のテクニックを身につければ、今以上に作業がはかどるし、いろんな問題が解決するのかなーと思い、先週1時間弱の勉強会を開催しました。 プログラマーは普段から使ってるんですけど、なかなか他の部門の人に紹介する機会がないのが現状だったので、多少なり役立ったんじゃないかと思ってます。 せっかくなので、その勉強会で使ったスライドを動画にしてニコニコ動画にアップしたので、ご紹介します。*1 ついでにウェブページ形式にもしてみました。 はじめての正規表現 って中の人が言ってました。 追記: Twitterのフォ

    制作会社で働く人向け「はじめての正規表現」 - あと味
  • アマグラマーが初めてのAjaxのプログラムを作成するまでの道のり全容 - あと味

    ここ数日、会社の勉強会でjQueryをすることになって、そのデモとしてAjaxを使ったプログラムを作っていました。まともにAjaxさわったのは初めて。ノウハウが必要そうです。 jQueryの勉強会の内容は、後日整理してアップしますので、お楽しみに。 で、プログラムを作るまでの道のりを備忘録もかねて投稿しようと思います。ぶっちゃけソースレベルは低いです。まだまだ改善すべき点は山ほどありますが、作ったプログラムはたぶん修正しないので、不完全ながら公開します。 作ったプログラム scriptタグを埋め込めば、会社の制作事例を再生するブログパーツのようなもの <script id="js" type="text/javascript" src="http://higashizm.sakura.ne.jp/parts/js/loading.js"></script> これをHTMLのbody内に埋め

    アマグラマーが初めてのAjaxのプログラムを作成するまでの道のり全容 - あと味
  • JavaScriptのオブジェクトについて考察してみた - あと味

    JavaScriptを勉強しているとオブジェクトとはなんぞや?ということがわからなくなってきます。選択肢が増えれば増えるほど。 JavaScriptには、同じように見えて、実は同じではないデータがあります。それらのオブジェクトについて、区別して説明が付けられるように、自分なりに考察してみました。勉強中のアウトプットなので、ここで書いた内容は事実とは大きく外れているものかもしれません。とにかく不明瞭な部分を自分なりに理由づけしたかっただけです。 サンプルコードを試される場合は、FirefoxのFireBugにあるコンソールに貼りつけて実行するか、Safariの開発ツールにあるコンソールに貼りつけて実行してください。それがわからない方は console.log の部分を alert に置き換えて確認してください。 話がややこしくなるので、今回はプロパティしか扱っていません。 名称の定義について

    JavaScriptのオブジェクトについて考察してみた - あと味
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • ここ20年間のウェブまわりの技術をまとめた図*二十歳街道まっしぐら(FC2ブログ時代)

    ウェブ開発者にとって欠かせない技術をまとめた1枚の画像です。 約20年前から現在までの流れが一望できます。 クライアント・サーバに分けて図で表しています。 拡大図 以下にいくつかピックアップしてみます。

  • コードを書いてリリースする はてな流成功体験

    この記事は日経ソフトウエア2009年1月号(2008年11月22日発売)に掲載した,特別レポート「はてなインターン日記(上)」(著者:伊藤直也氏)の再掲です。再掲にあたって一部編集していますが,ほとんどの記述内容は執筆当時の情報に基づいています。 2008年夏,筆者が勤務するはてなは,大学生や大学院生の方を対象に「はてなサマーインターン2008」を開催しました。就職を少し先に控えた学生の皆さんが,はてなの京都オフィスで,4週間にわたって技術的なトレーニングや,実際のアプリケーション開発を体験するプログラムです。 このインターンシップ,はてなにとって初めての試みでした。狙いは,Web業界または社会への貢献です。はてなは創業してもう7年,社長の近藤をはじめとするはてなスタッフは,企業の社会的責任として,業界あるいは社会に貢献したいという思いがありました。このインターンシップで,学生の皆さんにW

    コードを書いてリリースする はてな流成功体験
  • ニコニコ動画みたいなものを作ってみるテストと問題点

    ニコニコ動画みたいなサービスを作るのがどれくらい難しくて、どれくらい大変なのかを確認してみるテストと、それによりわかった問題点をあげてみます。 テスト用にサンプルサイトとして作ってみたのは、以下の2つのページです。 ニコニコ動画みたいなものを作ってみるテスト 動画最新情報 解説はこの後に続きます。 ニコニコ動画(β)終了に見るWeb2.0マッシュアップ時代への警鐘に書いたように、ニコニコ動画は一旦終了してしまいました。 その後、各地でニコニコ動画の問題点や開発裏話などが語られています。 その中で、いくつか気になったものがありました。 まず始めに、メルルーの秘宝とニコニコ動画と四畳半社長: ニコニコ動画と長尾研究室と僕から。 そこでYoutubeなど既存のサーバーからデータだけ拾ってくる、というアイデアが生まれて、この実証実験はドワンゴの中野君が数時間で行いました。 プロモーションのために2

    ニコニコ動画みたいなものを作ってみるテストと問題点
  • 自分たちでタスク管理システムを作ろうと思った ― @IT情報マネジメント

    自分たちでタスク管理システムを作ろうと思った~Getting Things Done!(仕事を成し遂げる技術)~:自社プロダクト立ち上げ奮闘記(1) ヌーラボが開発した「課題管理ツール Backlog」は、開発プロジェクトにおけるさまざまなタスクを管理するツールである。連載は、同社がこのツールを開発するに至った経緯から、開発段階で起きた問題とその解決手法を彼らの経験を踏まえて紹介する。ある1つの開発チームが製品を企画し、開発プロジェクトを遂行、完了させていくまでのドキュメントでもある。(編集部) Getting Things Done! 私たちの携わるプロジェクトは、「やらなければいけないこと」「やろうと計画していること」の塊で成り立っています。その「やらなければいけないこと」「やろうと計画していること」を「タスク」や「ジョブ」と呼び、「仕事を成し遂げる」「プロジェクトを達成する」とは、

    自分たちでタスク管理システムを作ろうと思った ― @IT情報マネジメント
  • 100行のCプログラムでWebチャットを実装する方法 - mixi engineer blog

    例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を駆使して、たった100行のCプログラムでWebチャットシステムを実装してみます。 古式ゆかしいWebチャットシステム 10年くらい前にCGIスクリプトでチャットシステムを作るのが流行していたのを覚えている方も多いと思います。チャットログは現在のようにデータベースサーバに転送して格納するのではなく、ローカルファイルシステム上のファイルにCSVやTSVなどのフォーマットで格納したり、同じくローカルのDBMファイルに格納するのが主流でした。2ちゃんねるの「datファイル」もそのようなデータファイルの一種と言えるでしょう。 その頃から、CGI

    100行のCプログラムでWebチャットを実装する方法 - mixi engineer blog
  • Struts 2入門(1)~基本形で理解する仕組みと構造~

    はじめに 「Apache Struts」(以下、Struts)とは、Web開発のデファクトスタンダードとしてあまりにも有名な、Java言語で書かれたオープンソースのWebアプリケーション・フレームワークです。JavaでのWeb開発者には、もはや説明する必要はないかもしれません。 最初のStruts(以下、Struts 1)がリリースされる2001年以前は、JavaでのWebアプリケーションというと、JSPとサーブレットを直接用いたアプリケーションが一般的でした。そのため、ちょっとしたアプリケーションでも、けっこうなコード量が必要だったのですが、Struts 1のフレームワーク機能により、煩わしい記述の手間がずいぶん少なくなり、Webアプリケーション開発の敷居がぐっと下がりました。 連載は、そんなStruts 1の次世代バージョンであるStruts 2を紹介します。Struts 2は、字面

    Struts 2入門(1)~基本形で理解する仕組みと構造~
  • はじめてのStruts:第1回:Struts入門編

    HOMMEZ(オムズ)は男性の心と身体の健康を支援し、一人でも多くの人が子供を得る幸せや男性としての喜びを享受できる社会の実現を目指しています。男性の妊活、活力にまつわる情報や商品の力で性や妊活に悩む男性が効率的に納得感を持って活動できる機会を創出します。

  • Kazuho@Cybozu Labs: Comet の正しい使い方

    « 「スーパー技術者争奪戦」 | メイン | JavaScript から Flash の便利な機能を使う方法 » 2007年02月23日 Comet の正しい使い方 今日会社の勉強会で Comet について話す機会がありました。 Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。また、問題や改善すべき点があれば、教えていただければ幸いです。