投稿

10月, 2010の投稿を表示しています

今更ながら気付いたWordCamp名古屋に参加したいけど・・・ #wcNagoya

オープンソースWordpressのイベントが明日名古屋であるのをさっき知った。WordCamp Japan行きたいのだけれど、明日は抜けられない空手イベントが・・・。teniteo[テニテオ]もwordpressがベースになっているので、teniteoが使いやすくなるような情報が得られるかもしれない。http://teniteo.jp/Google Enterprise Day 2010に行ってきたばかりなので、teniteoを展示ブースで紹介するのも面白そうと思ったり。技術的に突っ込まれるのが恐いけど。<関連記事>Google Enterprise Day 2010に参加してきました。

Google Enterprise Day 2010に参加してきました。

Google Enterprise Day 2010に参加するため東京まで出張(自腹だけど)。主にクラウドとGoogle Appsのお話し。セッションではGoogle ドキュメントを使って共同作業するデモやipadやAndroidで編集できるなど、コラボレーションと生産性を強調。この辺は「Google Appsの導入を検討している人向け」な感じなので、あまり目新しい情報はなかった。Google Appsの講演は当然のように英語。同時通訳の無線がおいてあるので、もちろん言っている内容は分かる。だけど、ほとんどの人が無線を利用せずに聞いている。私も最初無線を利用していたけど、音漏れがひどかったので(隣の人に悪いと思って)途中で使わなくなった。脳が疲れた。英語勉強しておきます。セッションで面白かったのがゲスト講演。米倉 誠一さんと神田 瀧夢さんの全くGoogleと関係のない話し。でも疲れた脳にはいい刺激で「俺、頑張る!」という気持ちになった。セッションの全てはGoogle Enterprise Virtual Conferenceで全て閲覧できるみたい(ゲスト講演はない)。・・・このサイト凄いけど、ちょっと重いのが気になる。展示ホールではGoogle Appsを利用した各社のソリューションのデモを行っていて、スタンプラリーみたいに回ると「Google Apps完全ガイド(翔泳社)」をくれた。この本も「Google Appsの導入を検討している人向け」なので、広く浅い感じ。その他、発表されたGoogleサービスのメモGoogle Product Search(ショッピングサーチ) ・・・ ECサイトを横断的に検索できる。ショップ側の商品の登録とか無償で利用できるらしい。お店側の人はこちらから商品登録。Google Commerce Search ・・・ Googleの検索機能を利用した商品検索を自社のECサイトに埋め込める。年間250万円から。豪華な会場で(美味しいお弁当も出たし)、いい話が聞けたので満足。<関連記事>Mixi meetupに参加してきました。

FeedBurnerの機能をざっと眺めてみた

イメージ
Bloggerの記事をFeedBurner経由でtwitterに投稿できるように設定したときに、FeedBurnerが思ったより便利に使えるのでないかと感じたときのメモ。下記サイトがまとまっているので参考にFeedBurnerをちゃんと理解して使いこなす為の基礎知識メニューだけ眺めれば、なんとなく出来ることが分かるGoogleアカウントがあれば、これらの機能を無料で利用できるのがすごい。

BloggerとTwitterの連携。FeedBurnerを使って

イメージ
前の記事ではFriendFeedを使って連携したけど、Googleのサービスの一つFeedBurnerでもtwitterへ投稿できるようになっていたので、切り替えてみた。feedburnerにログイン後、フィードを選んで、集客支援 → Socializeから設定する。FriendFeedの方を停止しておくのを忘れずに。さらにBloggerにガジェットで表示するのは、公式Twitter Widgetsから簡単にできる。いつの間に・・・。ちなみに前のガジェットは下のような感じ。これはこれでシンプルで良かった。<関連記事>BloggerとTwitterの連携。記事を自動でつぶやくように設定

【xyzzy】Grepしたときに画像ファイルは無視するマクロ

普通にGrepすると画像もスキャンしてしまうので、検索対象から除外するマクロを書いた。正規表現で対象ファイルを限定することもできるけど、いちいち指定するのがメンド臭くなったので。前に書いたフォルダを対象外にするマクロを拡張。;;
;;Grepをしたときに特定のディレクトと画像は無視する
(defvar *ignore-scan-dirs* (list "dic" ".svn" ".hg")) ;;対象外にするフォルダ
(defvar *ignore-scan-files* (list ".png" ".jpg" ".gif")) ;;対象外にするファイル(拡張子)
(defvar *org-scan-files-1* (function ed::scan-files-1)) ;;元の関数
(defun ed::scan-files-1 (file pattern buffer scanner)
  (let (skip)
    (dolist (dir *ignore-scan-dirs*)
      (setq dir (append-trail-slash dir))
      (setq pos (string-match dir file))
      (when pos
        (setq skip t)
        (return)))
    (dolist (ext *ignore-scan-files*)
      (setq pos (string-match ext file))
      (when pos
        (setq skip t)
        (return)))
    (unless skip
      (funcall *org-scan-files-1* file pattern buffer scanner))))<関連記事>【xyzzy】G…

【iOS開発】Objective-Cの自分用コーディング規約プラス

次開発するとき用のメモ。まずは下記の公開されているドキュメントを読む。Google Objective-C Style Guide(英語)Google Objective-C Style Guide(日本語訳)[Apple Developer Center]Coding Guidelines for Cocoa(英語)ここからは自分の中にあるコーディング規約。他のサンプルを参考にしながら。コメントは英語で。マニュアルも英語なので勉強だと思って手を抜かない。 defineは「k」をprefixにしてキャメルケースクラス変数は「m」をprefixにしてキャメルケース。最後に「_」を付ける(上のコーディング規約に従うため) 自作クラスのメソッドの引数は「a」をprefixにしてキャメルケース。 「#pragma mark -」の前は2行空ける 「#pragma mark」を使って機能ごとに分けてコメントも付ける 「=」の場所は(できるだけ)合わせる ヘッダーファイルのクラス変数、プロパティ名、メソッド名の開始位置(アスタリスクの位置)を合わせる。アスタリスクは名前の直前。 ヘッダーのdefineは「k」+「(プロダクト名)」を先頭に付ける privateなプロパティやメソッドはカテゴリーの機能を使って、.mファイルの方に記述する。.hファイルは、そのクラスが外部に提供するプロパティやメソッドだけ。 クラスファイルは全て「Classes」ディレクトリに配置して、xcodeのグループ機能で分かりやすいように分ける 言語ファイルは「jp.lproj」、「en.lproj」など2文字で。国名コード(wikipedia)xibファイルと対応するクラスは「*ViewController」。xibはないけど画面の制御するクラスは「*Controller」 自作クラスはプロジェクト共通の「Global.h」をimportする。 自作メソッドの直後はLOG_METHODを記述する。参考。 波括弧「{}」はクラス名、メソッド名、ifの同じ行に記述 もっとobjective-Cに慣れたらドキュメントにしていきたい。自分用だけど。<関連記事>【iOS開発】Xcodeを使ったObjective-CコーディングメモiOS(Objective-C)開発を始めるときのxcodeの設定【Objectiv…

【iOS開発】Xcodeを使ったObjective-Cコーディングメモ

次回の開発までに忘れていると思うので自分用まとめ。[コーディング規約]Google Objective-C Style Guide(英語)Google Objective-C Style Guide(日本語訳)[Apple Developer Center]Coding Guidelines for Cocoa(英語)[xcodeの便利ショートカットキー]Control + 1ファイルの参照履歴表示Contorl + 2関数一覧(function menu)表示Command + ダブルクリッククラス、メソッドの定義元へ移動Option + ダブルクリックリファレンスを簡易表示F5補完リストをポップアップ表示(Visual Studioのインテリセンスみたいに)Command + Enterビルドとデバッグ[カスタマイズしたショートカットキー]
WindowsからVNC接続で操作するために、自分用カスタマイズをしているけど、忘れてしまいそうなものだけ。Command + Tabヘッダ/ソースファイルの切り替えCommand + →進むCommand + ←戻るCommand + ↑前のファイルCommand + ↓次のファイル[その他xcodeの便利機能]クラス、メソッドを選択しておいて、ヘルプ → 「選択したテキストを製品ドキュメント内で検索」で別ウィンドウにリファレンスを表示できる。ファンクションキーに割り当てると便利(F1にした)。 #pragma markとコメントの書き方で関数リストを見やすく。詳細はここ。 ファイル → スナップショットでバージョン管理できる [事前に入れておきたい情報]原文をスラスラ読みたい!「MSDNライブラリによく出る英単語 100選」また発見したら追記予定。<関連記事>iOS開発を始めるときのxcodeの設定iPhone/iPod touchアプリの開発を始めるための参考情報

【iOS開発】UMLツールを使って頭の中を整理

普段のPHP開発は、すでにコーディング規約をドキュメントにして、頭の中にも入っているので、どんどんコーディングしていける(スクリプト言語だし)。Objective-Cの場合は、コーディング規約(命名規則)が頭に入っていないし、サンプルを見ていると他にも命名規則に慣例的なものがある様子。しかもクラスが増えてきて、役割や関連性など分かりにくくなってきたので、UMLを使ってまとめてみようと便利なツールを探してみた。一番フリーでお手軽なのが、UMLmemo他のは動作が重かったり、使い方を覚えるだけで疲れそう。UMLmemoはメモのように書いていけるのがステキ。本当はGoogle Docsの図形描画で済ませたかったけど、グループ化したり解除したりがメンド臭かったのでやめた。本気でUMLを清書したい場合はMS VisioとかVisual Studio 2010とかEclipseのプラグインとかでできるみたい。まぁそれは必要になったときに。Objective-Cの場合の書き方は「objective-c uml」で検索してみるといくつか出てくる。手描きの画面イメージだけでなく、ちゃんと設計しないとダメだなと再認識昔、手続き型言語とオブジェクト指向言語の違いを誰かに話したときに「経験からいうと、手続き型言語は思ったことを上から順番に書いていけばいいですが、オブジェクト指向言語はしっかり設計図を書いて、全体と個々の役割を把握して開発する必要があります。」と偉そうに言っていたことを思い出した。参考:オブジェクト指向とは

Macの日本語入力切替を設定(ことえりのショートカット割当)

イメージ
WindowsからVNC経由でMacに接続して、リモートで操作していたけど、日本語入力切替が煩わしかったので設定したメモ。環境はMac OS X Server 10.6.4VNC接続に関しては前の記事を参考に【Mac】WindowsからMacにリモート接続(画面共有)するWindowsからMacにVNCで接続すると「=」と「’」が入力できないやりたかったのは、Ctrl + Spaceで入力モード切替。ことえりのショートカットを変更できるフリーのソフトがあったのでこれを使う。ことえでぃ4(Kotoeri4 keybinding editor)必ず実行する前に現在のキーレイアウトファイルを保存する必要がある。$ cp /System/Library/Input\\ Methods/Kotoeri.app/Contents/Resources/MsimeKeys.plist /Volumes/Macintosh\\ HD2/Shared\\ Items/Backups/バックアップをとったら「ことえでぃ4」を起動して、割当を設定。ファイル → システムに適用 → 再起動で反映されているのを確認ことえりの入力を英字とひらがなに設定すれば、入力をトグルできるので、windowsの半角全角キーと同じ感覚で出来る。

MacからWindowsにリモート接続する(リモートデスクトップ)

前の記事ではWindows→Macだったけど、今度はMac→Windowsに接続する方法のメモ。マイクロソフトのサイトからMac用リモートデスクトップをダウンロードできる(無料)Remote Desktop Connection Client for Mac 2ダウンロードを選択して、次の画面の(更新プログラムではなく)下の方にあるRemote Desktopを選択するとダウンロードできる。もちろん接続できるのはリモートデスクトップ接続を許可しているWindowsだけ。便利なのはMacのドライブをリモートデスクトップ接続したマシンでマウントできる。「環境設定」から設定する。<関連記事>WindowsからMacにVNCで接続すると「=」と「’」が入力できない【Mac】WindowsからMacにリモート接続(画面共有)する

【iOSアプリ開発】Unknown class MyClass in Interface Builder file

TabControllerを使って、xibファイルのClass関連付けを変更していたら、下記エラーがでるようになった。Unknown class MyClass in Interface Builder fileGoogle先生に聞いてみると、Interface Builderから設定したClassの参照(リファレンス)がコンパイラにうまく伝わってないみたい。よく分からないけども、ここを参考にxibファイルとクラスファイルをプロジェクトから削除 新規作成 クリーニングしてからリビルド すると直った。変にハマったので、Interface Builderを使わない開発も覚えていきたい。

【iOS開発】Sample Code(サンプル)のスクリーンショット一覧

イメージ
iPhone, iPod touchアプリ開発するときにApple Developer Centerからサンプルをダウンロードして参考にしながら開発しているけど、どのサンプルがどんな感じか忘れてしまうのでメモ。一覧でまとめたサイトはないものか・・・。実際に動かしたものと(個人的に)参考になりそうなものだけ。順不同UICatalogUIコンポーネントの一覧。AppPrefsインフォメーション、設定画面への切り替え方CoreDataBooksCore Dataを使ったアドレス帳。新規登録、削除、編集など基本的なことが分かるQuickContacts上のCoreDataBooksを進化させてアドレス帳として完成度を高めた感じ。起動直後のメニューはplistファイルを使っている。SimpleDrillDownナビゲーションの使い方。データ部分がちゃんとクラスに別れている。DrillDownSave多階層のナビゲーション。下の階層にいっても親の階層を覚えておくNavBarナビゲーションのバーをカスタマイズ。info表示とスタイルの変更もできる。TableViewSuiteテーブルビューの使い方。アイコンの表示、カテゴリー表示LazyTableImagesスクロールに合わせて動的にアイコンをダウンロードして表示するTable View Animations and Gesturesセクションごとに折り畳む。
※コンパイラのバージョンを「GCC 4.2」にしないとコンパイルできない。TouchCellsテーブルの行をチェックして選択できる。ListAdderTableViewへの追加、削除。カテゴリーを使ってprivateなプロパティを表現している。

iOS(Objective-C)開発を始めるときのxcodeの設定

xcodeをバージョンアップして、久しぶりにiPhone, iPod touchアプリを開発しようとしたときに設定を忘れていたのでメモ。前の記事でも書いたけど自分用まとめ。下記サイトを参考に【Xcode】設定しておくと便利なカスタマイズいろいろxcodeの設定。Xcode → 環境設定 → 全般 → レイアウトを「オールインワン」 。マルチディスプレイやiMacなみの画面の広さなら不要かも。 Xcode → 環境設定 → デバッグ → 開始時を「コンソールとデバッガを表示」 Objective-Cのコーディング規約(英語日本語)に従うためにインデントを設定。Xcode → 環境設定 → インデント設定 → タブ。(Appleのコーディングガイドラインも参考に)
「スペースの代わりにタブを挿入」のチェックをハズす
タブの幅:8 (←タブ文字を見分けるため)
インデントの幅:2 プロジェクト設定プロジェクト → プロジェクト設定の編集 → 組織名を自分の組織に 参考サイトのデバッグモードのときにしかデバッグログを吐かないようにする設定を仕込むために、構成Debugの「プリプロセッサマクロ(GCC_PREPROCESSOR_DEFINITIONS)にDEBUGと記述 また気づいたら追記予定<関連記事>iPhone/iPod touchアプリの開発を始めるための参考情報

【iOSアプリ開発】keychainのビルドエラー?

久しぶりにiPhone(iOS)アプリ開発を始めて、サンプルプログラムをビルドして実行するときに、エラーでいろいろと困ったのでメモ。現在のiOS SDKのバージョンは4.1。サンプルはまだ4.0が多い。このサンプルプログラムをダウンロードして実行すると次のようなエラーになる。error: There is no SDK with the name or path 'iphoneos4.0'これはビルドオプションの「ベースSDK」を最新にすれば大丈夫。これでビルドすると次はこのエラーがCode Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain「ベースSDK」を変更したあと、xcodeの再起動が必要らしい。再起動すると無事ビルドできた。それでもエラーになる場合は下記サイトを参考に。iPhone アプリのDLしてきたサンプルソースでエラー

Gmailの新着をRSSフィード(Googleサイトのガジェット)で確認

OB会のホームページをGoogle sites(サイト)を使って構築していて、共通のメールアドレスに届いたものはサイトのトップページに表示しちゃえばいいんじゃない?と思って調査したメモ。< 2011/12/06 Modified >
Gmailの仕様が変わってURLでのLogin認証が出来なくなったみたい。この辺の記事を参考に自前で作成するか、既にそのようなWeb Serviceがあるかもしれない。複数のアカウントは管理したくないので、1つのGoogleアカウントで実現してみた。Gmailの新着メールをGoogleサイトに表示するまでの流れはGmail → FeedBurner → Googleサイト(RSSガジェット)1.Gmail → FeedBurnerGmailはRSSリーダーで新着できる仕組みを提供している。詳しくは下記サイトGmailフィードのまとめ本当はGoogle Readerを経由してRSSフィードを一元管理したかったけど、Google Readerは
https://(account):(password)@mail.google.com/mail/feed/atom/
の認証形式に対応していないので不可能。これを実現するためにはFeedBurnerを使う。Googleのサービスの一つなので、同じGoogleアカウントでログインして、すぐに使用可能。上記の認証方式で登録するのはウィザードに従えば難しくない。登録後すぐにRSSフィードに反映されないので、1時間ぐらいしたらメールを送って確認する。2.FeedBurner → Googleサイト(RSSガジェット)FeedBurnerに登録したら、Googleサイトにガジェットを追加。「挿入」 → 「その他のガジェット」で「Google sites rss reader」で検索。下の方にあるので結構スクロールしないと出てこない。(他の便利なガジェットがあったら教えてほしい。)このガジェットのFeed urlにFeedBurnerに登録した。http://feeds.feedburner.com/gmailinbox?format=xmlのようなアドレスを登録すれば新着メールがチェックできるはず。欠点はRSSフィードが外部から参照可能なこと。それさえ気にしなければ、メール…

WordpressのログインにMixiのOpenIDを使用する設定

Wordpress MUのログインにMixiのOpenIDを使えないかと調査したメモ。(記事のタイトルとしては「Lampp環境でcurlのhttps通信をする方法」の方が適切だなと後で思った。)環境はCentOS5.4, Lampp 1.7.1, wordpress mu 2.8.6OpenIDについてはwikipediaで。OpenIDを使った処理手順はWordpressでOpenIDを発行するサイトを指定(ここではmixiとする) mixiのサイトに飛ばされ、mixiのユーザーIDとパスワードでログイン OpenIDの認証画面が表示され、「許可」をするとwordpressに戻る wordpress側ではOpenIDで処理をする OpenIDを使うプラグインはopenidがあるので試しにインストールしてみた。この時点のバージョンは3.3.3管理画面のプラグインでインストールすると、fatal errorが出る場合は、ここを参考にしながら、ファイル内のget_user_metaをget_usermetaに置換する。次はサーバー(プラグイン)がhttpsでmixi.jpと通信するための証明書をインストールする。下記サイトを参考に。cURL に HTTPS でアクセスできるように証明書を追加するmixi OpenIDのサンプルコードをPHP OpenID Libraryで動かしてみた実行したコマンドは# cd /opt/lampp/share/curl/
# cat mixi.jp.crt >> crul-ca-bundle.crtでも動かない。curlでのhttps接続が失敗するみたいなので、curl単独のコマンドを実行してみる。# /opt/lampp/bin/curl https://mixi.jp/これは下記エラーで失敗する。curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs…

Subversionでログ(履歴)を保持したまま移動

SubversionとTortoiseSVNを使用していて、フォルダ(ディレクトリ)構成を変更したくなったときのメモ。単純にエクスポート・追加などをやるとログが消えてしまうのが嫌。下記サイトが参考に。Subversionの履歴を保持したままリポジトリを移動するにはsvnadmin dump/loadをやればできるみたい。リポジトリを変更したあとはTortoiseSVNの「切替」を行うとサクっと完了する。<関連記事>Subversionのファイル追加コマンド。その他はWindowsからSubversionをコンパイル・インストールしてsvnコマンドを使用

Windows Live Essentials 2011のWriterのためにWin7にする?

イメージ
普段のブログ更新はWindows live writerに下書きを貯めこんでアップしているので、その最新版がリリースされたということで試してみた。Windows Live Essentials(旧名:おすすめパック)今のwriter(Windows XP版)で最大の弱点はブログ内の記事を最大500件までしか取得することができない(古い記事を開いて編集することができない)。他は特に不満はなく、便利に使っている。これが直っているといいんだけど・・・と思いつつダウンロードしようとすると、Windows Vista以上でないとインストールできないらしい。・・・機能が知りたいだけなので、Windows 7の評価版をダウンロードしてきて、VMwareで起動 → インストールで試してみると、ブログ内の記事を取得するときに「すべて」が選択できるようになっている。bloggerの編集機能を使えばいいのだけど、writerで投稿した記事を編集しようとすると、改行が変になるので嫌(最近は試してない)。会社のPCは無理だけど、自宅のPCはそろそろWindows 7にしようかな。<関連記事>Windows Live Writerを便利に使ってブログ更新Windows Live おすすめパック

mixi, GREE, モバゲーの比較。モバゲーへのデベロッパー登録

携帯向けゲーム(コンテンツ)を提供する相談をされたときに調べたメモ。この前はmixiのカンファレンスに参加してきて、mixiの意気込みを肌で感じたので、今熱いのはmixiかな?と思っていたけど、下の記事を読んで少し考えを変えた。【2010年5月最新版】直近決算発表に基づくmixi,GREE,モバゲーの業績比較 ~ 明暗が際立つ三社業績,その要因と今後の展開は?今熱いのはモバゲーみたい。mixiカンファレンスでは「mixiはソーシャルで、モバゲーはゲームで、プラットフォームが違う。今後も協力関係を築いていく」と言っていたので、そのうちmixiとモバゲーが簡単に行き来ができるようになりそう。ちなみにモバゲーは自社でPC版を提供するのを止めて(2010/9/21)、Yahooと提携し「Yahoo!モバゲー」として提供していくみたい。期待のソーシャルゲーム市場を狙う『Yahoo!モバゲー』 - ヤフー・DeNA提携既にモバゲーで設定したアバターなどが表示できる。Yahooとモバゲーへの会員登録が必要。Yahoo!モバゲーその他モバゲーについては下記ブログが分かりやすくまとめている。【モバゲータウン解説その2】モバゲータウンってどんなサイト?実際にログインしてみて、雰囲気は掴んだので、今度はモバゲーのAPIを使って何ができるか調査。DeNa Developer's Site【DeNA Developer's Site】モバゲーAPIで実現できることAPIの詳細はパートナーデベロッパー登録しないと参照できないので、さっそく登録。現在法人のみしか登録できない。登録するだけでドキュメントはすぐに参照可能になる。開発環境は別途申請して使えるようになる。できればGoogle App Engine+flash liteを使ったゲームにしたい。この辺はまた開発環境が整ったら試してみる予定。その他のメモ携帯ゲームは「Javaアプリ」か「flash lite」を使う方法がある。 Javaアプリはdocomoユーザーのみ。flash liteは最近の携帯ならほとんど全てで使える flash liteは制限があるので、凝ったゲームはJavaアプリが多い モバゲーをちょっと覗いた限り、有名どころはJavaアプリがほとんど サンシャイン牧場がflash liteとアバターを使っている…