タグ

Programmingとmixiに関するHeavyFeatherのブックマーク (18)

  • 続・Android開発のちょっとしたお話 - mixi engineer blog

    こんにちは。横幕です。 今回もAndroid(TM)開発についてお話をしたいと思います。 設定画面の作り込み 今回のトピックは、設定画面のちょっとした工夫の仕方についてです。 Androidでは、PreferenceActivityという設定画面を作るためのActivityが用意されています。 個々の設定項目はXMLで記述し、それをPreferenceActivityがコントローラとして画面を制御するような形になります。 設定画面の大まかな作り方 まずは、どんな設定項目を準備するのかを、res/xml/pref.xmlに定義します。 Androidには予め幾つかの設定方法を用意してあり、例えば項目の一覧の中から1つ選択するListPreferenceや、チェックボックスの状態で設定を変更するCheckBoxPreferenceなどがあります。 また、設定項目のまとまりごとにカテゴライズする

    続・Android開発のちょっとしたお話 - mixi engineer blog
  • Webプログラミング未経験からmixiアプリを作るまでにやったこと - nakawai’s diary

    mixiアプリ「大喜利PHPプレイバック」を公開しました - 理系のためのTIPS集 上記エントリでも書きましたが、今年の目標だったmixiアプリの公開までなんとかこぎつけることができました。 アプリ名:大喜利PHPプレイバック URL:http://mixi.jp/view_appli.pl?id=16441 2012/02/28 追記 mixiアプリの仕様変更に伴い、上記のアプリは提供を終了しました。 公開日は2010年10月26日。現時点での利用者数は50人(!)です。大喜利好きな人は使ってみてください!(泣) このエントリの趣旨 Webプログラミング未経験だった自分がmixiアプリの開発をすすめるにあたっては、以前話題になった下記の2エントリにたいへん刺激を受けました。 文系ド素人がmixiアプリを開発〜リリースするまでのまとめ - kazu0620の日記 Webプログラミング素人

    Webプログラミング未経験からmixiアプリを作るまでにやったこと - nakawai’s diary
  • mixiがはまったmemcached(or libevent?)の問題を調べる人たち

    Neal Sato @nealsato 二日とも複数台のmemcachedが連続して落ちました。コアは吐かずにストンと落ちるので、原因追及に時間がかかりましたが、memcachedへの接続数が異常に多いと落ちる事は再現できました。 #mixi 2010-08-12 02:33:00 Neal Sato @nealsato memcachedが大量の接続を受けると突然停止をするので、memcachedへの接続数を減らし安定運用中。外部からの過剰アクセスではなく、サーバ追加→クライアント数増加→停止。 2010-08-12 08:45:50 Masahiro Nagano / 長野雅広 @kazeburo ファイルディスクリプタが不足してmemcachedが落ちたとして、そのときには、3万強の接続となってるはず。3万強の接続となるにはアプリケーションサーバ側のmax clientが平均60とし

    mixiがはまったmemcached(or libevent?)の問題を調べる人たち
  • Webプログラミング素人が利用者9万人のmixiアプリを作るまで - 毒蛇は急がない

    はじめに 最近、 文系ド素人がmixiアプリを開発〜リリースするまでのまとめ http://d.hatena.ne.jp/kazu0620/20100412/1271071223 というエントリーが話題になりましたね。自分もwebプログラミング素人でmixiアプリを作ってみたので、ちょっと便乗して、自分がmixiアプリを作るまでのプロセスをまとめてみました。 これからアプリを作る人の参考になれば幸いです。 kazu0620さんは、個人で作っていたみたいですが、自分は会社で作りました。会社といっても、自分含め従業員数3人の超零細企業でフリーランスの延長線上みたいなかたちでやっている会社ですが。 ちなみに会社のサイトはこちら。 作ったアプリ 「ふしぎな生き物 ふにゃもらけ」 http://mixi.jp/run_appli.pl?id=9443 リリース日:3/23 実質開発期間:8ヶ月 週間

    Webプログラミング素人が利用者9万人のmixiアプリを作るまで - 毒蛇は急がない
  • 文系ド素人がmixiアプリを開発〜リリースするまでのまとめ - kazu0620's blog

    というわけで プログラミング未経験の状態から、mixiアプリのリリースまでなんとか漕ぎ着けることができました!最近、OpenSocial界隈は盛り上がってるみたいだし、プログラミング経験はないけれど、興味ある!って人も多いと思います。そこで、所謂「ド素人」の状態からプログラミングを勉強してmixiアプリをリリースするに至るまでの僕の軌跡と、何をどう勉強すればいいのか?ってのをまとめてみました。webで調べたり、プログラマの知人に相談したりしてこれは良かった!って部分を抜き出してまとめたので、これから勉強するぞって方は参考にして頂ければ幸いです。これであなたもSAP(ソーシャル・アプリ・プロバイダー)に! 完成したアプリ 「一行リレー小説」 http://mixi.jp/view_appli.pl?id=15525 開発期間:実質3ヶ月程度 リリース日:3月24日 現在の投稿総数:7622行

    文系ド素人がmixiアプリを開発〜リリースするまでのまとめ - kazu0620's blog
  • いまからでも間に合う開発者テスト - mixi engineer blog

    はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「テスト」は Test::Simple や prove(1) をつかった、Perl でかかれた開発者テストを指しています。mixi の開発者テストをとりまく環境は、ここ数年でかなり改善されました。今回はその歩みをふりかえりながら、テストの無いコードベースをどこからどうやって変えていったかという話をしたいと思います。 開発環境 はじめに、前提となる mixi の開発環境について説明します。mixi では複数人の開発者がひとつのマシンで作業を行います。それぞれの開発者は、あらかじめ割り当てられたポートで Apache を起動し、

    いまからでも間に合う開発者テスト - mixi engineer blog
  • mixiアプリで始めるOpenSocial入門(1) ――OpenSocialの概要とmixiアプリ

    複数のSNSサイトで共通に使える開発プラットフォームを提供する「OpenSocial」。連載では、OpenSocialをサポートしているmixi上で実際にアプリケーションを作成しながら、OpenSocialのさまざまな機能に触れていきます。第1回は、OpenSocialの概要を紹介します。 OpenSocialとは SNS(Social Networking Service:ソーシャル・ネットワーキング・サービス)は、その名の通りソーシャルな(≒人間関係の)ネットワークを、インターネット上で構築するサービスです。2005年頃から着実に普及を続け、今や膨大な会員数と、さらに膨大な数の会員同士のネットワーク情報を抱えるようになっています。SNSの基的な機能としては、次のようなものがあります。 人を検索し、自分の友人として登録する機能 他の人とメッセージをやり取りする機能 自分のプロフィール

    mixiアプリで始めるOpenSocial入門(1) ――OpenSocialの概要とmixiアプリ
  • オレオレ検索窓を設置しよう - mixi engineer blog

    まだピクミン2をクリアしてないのでケジメ的に新作ゲームを買えないmikioです。今回は、Tokyo Cabinetを使って激烈簡単に特定サイトの専用の検索機能を設置する方法について説明します。クローリングから検索までを10分くらいの作業で可能にします。 特定サイトの検索エンジン Web全体の検索機能を作るのは、途方もない技術力と設備を持っているGoogleMicrosoftなどのビッグプレーヤでないと難しいのが現実です。でも、自分が気に入っているいくつかのサイトを対象とした検索エンジンを作るのであれば個人だってできます。また、インターネットから手が届かないイントラネットのコンテンツの検索機能は自分達で手がけないと構築できません。 ということで、企業用の検索システムが数多く売られていますし、LuceneやGroongaやHyper Estraierなどのオープンソース製品も世に多数存在しま

    オレオレ検索窓を設置しよう - mixi engineer blog
  • まずは、mixiアプリを使ってみよう、作ってみよう

    まずは、mixiアプリを使ってみよう、作ってみよう:基礎から分かる、mixiアプリ作成入門(1)(1/3 ページ) mixiのアプリ?それって何? 「mixiアプリ」は、iGoogleのガジェットのように、SNS「mixi(ミクシィ)」上に組み込まれて実行される、Webアプリケーションです。主に、JavaScript+XML+HTMLCSSで作ります(やり方によっては、Flashなども使える)。 誰でも開発でき、人が開発したmixiアプリを自分のマイページなどに自由に組み込むことができます。また、Webアプリケーションのため課金方式は異なりますが、iPhoneアプリのようにmixiアプリを作って公開することで報酬を得ることもできます。 mixiアプリは、2009年6月現在、オープンβ環境のみで利用可能となっています。正式版は、8月公開予定です(参考:「mixiアプリ」8月に正式公開 販売

    まずは、mixiアプリを使ってみよう、作ってみよう
  • 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
  • 軽量データクラスタリングツールbayon - mixi engineer blog

    逆転検事を先日クリアして、久しぶりに逆転裁判1〜3をやり直そうか迷い中のfujisawaです。シンプルなデータクラスタリングツールを作成しましたので、そのご紹介をさせていただきます。 クラスタリングとは クラスタリングとは、対象のデータ集合中で似ているもの同士をまとめて、いくつかのグループにデータ集合を分割することです。データマイニングや統計分析などでよく利用され、データ集合の傾向を調べたいときなどに役に立ちます。 例えば下図の例ですと、当初はデータがゴチャゴチャと混ざっていてよく分からなかったのですが、クラスタリングすることで、実際は3つのグループのデータのみから構成されていることが分かります。 様々なクラスタリング手法がこれまでに提案されていますが、有名なところではK-means法などが挙げられます。ここでは詳細については触れませんが、クラスタリングについてより詳しく知りたい方は以下の

    軽量データクラスタリングツールbayon - mixi engineer blog
  • mixiアプリ

    パートナーの皆さまの mixiアプリ、mixi Graph API、mixi Plugin を設定・管理します。 ログイン

  • MapReduce on Tyrant - mixi engineer blog

    先日、隅田川の屋形船で花見と洒落込んだのですが、その日はまだ一分咲きも行ってなくて悲しい思いをしたmikioです。今回はTokyo Tyrant(TT)に格納したデータを対象としてMapReduceのモデルに基づく計算をする方法について述べます。 MapReduceとは Googleが使っているという分散処理の計算モデルおよびその実装のことだそうですが、詳しいことはググってください。Googleによる出自の論文やApacheプロジェクトによるHadoopなどのオープンソース実装にあたるのもよいでしょう(私は両者とも詳しく見ていませんが)。 今回の趣旨は、CouchDBMapReduceと称してJavaScriptで実現しているデータ集計方法をTTとTCとLuaでやってみようじゃないかということです。簡単に言えば、以下の処理を実装します。 ユーザから計算開始が指示されると、TTは、DB内の

    MapReduce on Tyrant - mixi engineer blog
  • はじめての mixi アプリ - IT戦記

    IE ではたぶん動きません。 友達一覧取得 <?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="simple mixi Appli"> <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[ <script type="text/javacript"> var req = opensocial.newDataRequest(); req.add(req.newFetchPeopleRequest(opensocial.newIdSpec({ userId: 'OWNER', groupId: 'FRIENDS' }), { max: 1000 }), 'friends'); req.send(fu

    はじめての mixi アプリ - IT戦記
  • DBMによるテーブルデータベース その弐 - mixi engineer blog

    インフルエンザで休んだ影響で仕事が鬼のように溜まって消化不良のmikioです(こんな記事を書いている場合じゃない)。さて今回は、Tokyo Cabinetでリレーショナル風データベースを実現したテーブルデータベース(TCTDB)の実装について説明します。 SQLiteとの違いは? SQLiteはアプリケーション組み込み型のSQL対応リレーショナルデータベースのライブラリです。TCのテーブルデータベースよりもはるかに高機能で、それでいて性能も大変優れています。いわゆるデスクトップアプリケーションに組み込むデータベースをお探しであれば、TCなんかではなく、断然SQLiteがおすすめです。 一方で、TCなどのDBMは、より単純なデータ操作をより高速に実行できるように設計および実装されています。典型的なユースケースとして、大規模Webサイトのアカウント管理や、データマイニングに伴う集計操作が挙げら

    DBMによるテーブルデータベース その弐 - mixi engineer blog
  • DBMによるテーブルデータベース - mixi engineer blog

    正月早々インフルエンザにかかって寝込んだmikioです。電車に乗る時や繁華街などに出る時はマスク着用が必須ですね。さて今回は、Tokyo Cabinetで実装したテーブル方式のデータベースについて紹介します。意外にどうして強力な機能なので、このネタは連載することを予告します。 テーブルデータベースとは 簡単に言えば、リレーショナルデータベースのテーブルのように、複数の列からなるレコードを格納できるデータベースです。SQLや表結合などの複雑な機能はサポートしませんが、そのぶん高速に動作します。つまり、DBMの速度で動くリレーショナル風データベースです(厳密にはリレーショナルデータベースではありません)。 TCの基となるハッシュデータベースは、単純なkey/value型のデータベースであり、つまりキーにも値にもスカラ(数値や文字列などの特に構造を持たない単一の値)しか格納することはできません

    DBMによるテーブルデータベース - mixi engineer blog
  • mixi openidに対応したファイルあぷろだの作り方 - labolo

    mixi openidプラットフォームを利用すると、通常のユーザ認証作業を代行してくれるだけでなくて、マイミクのみ認証をしたり、指定のコミュニティーに入っている人だけ認証を実施したりできる。 mixi OpenIDとは そこで今回は、指定のコミュニティーに所属している人だけがファイルのアップロード・ダウンロードが可能なwebサービスを作ってみる。気でサービス化する気は無いので、ひどい完成度です。 まずこのリンクをクリックしてみてください、いきなりmixiに飛ばされると思います。 ニコニコ動画コミュに参加している人だけが使えるあぷろだ mixiでは、mixiアカウントを持っていて且つニコニコ動画のコミュニティーに参加している人だけが認証が通るようになっています。 ここで「認証を許可する」を選択すると元のページに戻ってきて認証が完了し、ファイルのダウンロードとかアップロードができたりするよう

    mixi openidに対応したファイルあぷろだの作り方 - labolo
  • mixi Engineers’ Blog » 言語バインディングを書こう

    世田谷の某所から原宿まで自転車通勤しているのですが、そろそろ寒くなってきたので電車に切り替えようかと悩み中のmikioです。今回はTokyo Cabinetのスクリプト言語バインディングについて述べます。 スクリプト言語バインディングとは TCはC言語で実装されたライブラリで、C言語(C89、C99)およびC++言語のプログラムから利用することができます。CやC++は各種の計算処理やシステムコールの呼び出しを直接的に記述できるので高速に動作するプログラムを作ることができる反面、ポインタ演算やメモリ管理などで致命的なバグを潜ませやすいので非常に注意深くコーディングを進めなければいけません。つまり、プログラムの実行速度は速いが、開発速度は遅いということです。 それに対して、PerlRubyをはじめとするいわゆるスクリプト言語は、実行速度はCやC++に劣るものの、高水準かつ直感的な文法と強力な

    mixi Engineers’ Blog » 言語バインディングを書こう
  • 1