サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Nintendo Direct
blog.daisukeyamashita.com
2016年に入ってから公開された、google-api-client gemのバージョン0.9系は、過去のバージョンとは非互換な大型アップデートがあったようで、ネットの記事がまったく参考にならない上にgoogleのサンプルコードもどれが信用できるものか良く分からなかったので苦労した。 現時点で信頼できる情報をまとめておきたい。 ・google-api-client gemのソース(README.mdに一通りの情報が書かれている) ・OAuth認証のライブラリはSignetとgoogleauth gemの2つがあるが、Signetは古いので特別な理由がなければgoogleauth gemの方を使うと良さそう。(こちらもREADME.mdに一通りの情報が書かれている) ・OAuth2とGoogle APIの連携周りのドキュメント。単なるAPI利用者であれば、シーケンス図だけ見れば十分です。 こ
私事ですが、このたびクックパッド株式会社を退職しました。 長いエントリーなので、忙しい人向けに10秒で分かるだいちゃんの近況説明。 ・クックパッドを辞めた ・スマホ家庭教師「mana.bo」という教育系ベンチャーの経営に参加 2011年の夏に、30歳を機に23歳の時に創業した会社の役員を降り、保有株式を売却したお金の入金を待ちつつも十分な蓄えもあったので、B2Bのビジネスは経験したし、次は何かコンシューマ向けのサービスでもやりたいなぁとフラフラしている時に、ささたつさんからランチのお誘いを受けたのがクックパッドとの関わりの始まりでした。 当時、Ruby/Railsに興味が無かった私は、エンジニアの太田さんと面識があったぐらいで、クックパッドという会社は社名とレシピサイトを運営しているぐらいの知識しかありませんでしたが、自分がやりたかったコンシューマ向けのサービスを提供していて勉強になること
昨日は、Google and Bing Maps Hackathon in Japanに主催者として参加してきました。参加されたみなさまお疲れさまでした。 私はMaps系のテクノロジーに詳しくないのですが、今回はじめて、現在のGoogle Mapsで扱う大量のデータを格納しておけるGoogle Fusion Tablesというものを知りました。 Google Fusion TablesにCSVデータをアップロードすると、サーバー内部で取り込み処理が実行されますが結構遅いという印象があります。郵便局が公開している郵便番号の全国データは約12万レコードあるのですが、これを処理するのに10分ぐらいかかりました。 ファイルのアップロード自体はすぐに終わるのですが、そこからの処理で結構時間がかかります。もちろん、データ自体は処理が完了したものがすぐに閲覧できますし、進捗が何%かという情報もリアルタイ
Google Cloud Storageの公式ページの右上にある[Try it now]ボタンから開始できます。 Googleのクラウドサービスはプロジェクト単位で利用金額などを分ける事ができるので、最初にProject nameとProject IDを設定する必要があります。Project nameは管理しやすいように好きに付けます。Project IDは入力しなければならないシーンがほとんど無いのと、必要であれば管理画面で調べる事ができるので、そのままでほとんど問題がありません。単にCloud Storageを使いたいのであれば、そのまま[Create]ボタンをクリックすると良いです。 Google Cloud Consoleが使えるようになったら、その中からCloud Storageを選択します。 [Enable Billing]をクリックします。Googleのクラウドサービスを使う
Google Cloud StorageはGoogleが提供するストレージサービスですが、gsutilsと呼ばれる便利なコマンドが提供されています。gsutilを使うとGoogle Cloud Storageをコンソールから簡単に扱えるようになります。 どれぐらい簡単かと言うとこんな感じ。 $ gsutil cp *.txt gs://my_bucket $ gsutil cp gs://my_bucket/*.txt . もちろんmvやrmといったコマンドも完備。さらに-Rオプションでrecursiveにコマンドを実行できます。 さらに!Google Cloud Storage <-> Amazon S3間のデータコピーもコマンド一発です。 $ gsutil cp s3://my_bucket/*.txt gs://my_bucket $ gsutil cp gs://my_bucket
こちらのエントリーとは別のエラーで、次のようなエラーを吐いて落ちる問題がある。 -[UIViewController _loadViewFromNibNamed:bundle:] loaded the “XxxxxxView” nib but the view outlet was not set.’ これは、File’s OwnerとViewのコネクションが張られていない事が原因で出るエラーなので、以下のようにFile’s Ownerを選択して、viewとViewを以下のように繋いでやると良い。
最近、バタバタしていてあまり記事を投稿できていませんでしたが久し振りの投稿です。 CGIでURLエンコードした文字列をJavaでURLデコードするとなぜか日本語の一部が文字化けする問題が発生していました。色々と調べていると、Perlでは2バイトコードかどうかに関係なく、1バイトずつ文字列をURLエンコードするのに対し、Javaは2バイトコードのみをURLエンコードしていることが分かりました。 ただ、どちらが間違いという事は無く、両方ともエンコーダーの実装としては正しいみたいです。ただし、Javaのデコーダーの実装が良くないみたいで、PerlでURLエンコードした文字列を正確に文字列に戻せない不具合があるようです。 しょうがないので、以下のように自前で正常に動作するURLDecoderを作成しました。 package com.tezukaosamumagazineclub.invoice.e
先日の、Go言語でパッケージを作成して世界に公開する方法で作成したコードのユニットテストを書いてみたいと思います。こちらも公式の動画を元にした記事です。英語がダメな人はこのブログを読むといいよ。 あまり、$GOROOT/src/pkg以下のソースコードをいじる人も居ないと思いますが、俺色々変更しちゃったよー!って人のために、魔法のコマンドを教えておきましょう。以下のコマンドを実行すると、すでに取得済みのパッケージであってもリポジトリの最新の状態にすることができます。念の為に叩いておきましょう。 $ goinstall github.com/ddddaisuke/mytools ソースコードがあるディレクトリに移動して、以下のmytools_test.goを作成します。 $ cd go/src/pkg/github.com/dddaisuke/mytools/ $ vi mytools_te
Returnキーが押された時に、キーボードを閉じる方法 まずヘッダーファイル(.h)にターゲットとなるUITextFieldを定義し、Returnキーが押された時に呼び出されるメソッド(ここではcloseSoftwareKeyboard)を定義しておく。 次に、上記ヘッダーファイルと対応した.xibファイルをInterface Builderで開き、Outletsに表示されているtextFieldとGUI上のテキストフィールドを結ぶ。 さらに、closeSoftwareKeyboardもGUI上のテキストフィールドと結ぶが、この時に以下のようなメニューが表示されるので、「Did End On Exit」をクリックする。 ここまで設定できたら、保存をして再度Xcodeに戻り、ソースコードファイル(.m)にcloseSoftwareKeyboardメソッドを以下のように追加する。 注意:もちろ
企画自体が急に決まったので、まったく告知が進んでいないので、社会人の方はTwitterなどで拡散していただけると助かります。 このイベント期間中の食事はすべて提供され、イベントで優勝することができれば、シリコンバレーへの航空券・宿泊費はすべて主催者持ちで、現地の著名人と会える機会を提供します。興味がある方はぜひ、この貴重な機会をご活用下さい。 私も当日はメンターとしてみなさんのお手伝いに行きます!学生のみなさんは会場でお会いしましょう! =================================================================== エントリーはこちらから。 ☆——————————————————————————————————-☆ あなたのアイデアをカタチに! ~優勝者は、シリコンバレーに無料招待!~ スタンフォード大学ASES・Bizjapan×S
Xcodeでの開発において、UIの構築で力を発揮するのがInerface Builderだ。Interface Builderを利用すると、ビューとコードを簡単に分離する事ができ、Xcodeでの開発でこれを利用しないのはバカだと断言できるレベルで非常にパワフルな機能を提供してくれる。しかも!デザインセンスが無い人でもそこそこの見た目に仕上げる事ができる。(もちろんInterface Builderはデザイナーとプログラマーの作業分離用に用意されていると思うが、Interface Builderを使ったからと言って、おそらくそんなに都合良くまわら無いと思う) Interface Builderを利用すると何が便利かと、以下のようにUI上で線を結ぶだけでメンバー変数とテキストフィールドを関連づけたり、メソッドとボタンのクリックを関連づけたりできたりする。また、UIとコード間のデータのやり取りに
iOSは、端末の傾きによって画面の表示を上下左右に変更する事ができる。 上下左右に対してそれぞれ4つのビューを用意する事ができるが、通常は縦方向と横方向の2種類のデザインを利用する。ビュー内のボタンやラベルは、プログラムで配置しなおすか、ビューを2枚用意して張り替えると画面領域に合わせて最適なデザインをユーザに提供できるので良い。 しかし、ボタンなどのUIコンポーネントが少ない場合、自動レイアウトを利用するとOSが自動的にUIコンポーネントの再配置をしてくれるので非常に楽である。 UIコンポーネントが回転時にどこに配置されるかは、Interface Builderで配置した時の座標とAutosizingによって決定される。 Interface Builderでは回転時のUIを確認するための仕組みが用意されている。UIコントロールを貼付けるウィンドウの右上を見ると、以下のような矢印マークがあ
iPhoneアプリのモックデザインって何で描くの?とよく聞かれるので、ブログにまとめる事にしました。 私がよく使うのは、Balsamiq Mockupsというアプリです。Adobe Airでラクラクインストールできるのでオススメです。 なぜこれが良いと言うかというと、線が手書き風だということ。我らが、Joel Spolskyはこう言っている。 プログラマでない人間に90%まずいユーザインタフェースを持った画面を見せたなら、彼らはプログラムが90%まずいと思う。 100%素晴らしいユーザインタフェースの画面をプログラマでない人間に見せると、彼らはプログラムがほとんど完成していると思う。 見た目がクールでないUIの価値が分かったら今すぐBalsamiq Mockupsをインストールだ! このアプリに1つ問題があるとしたら、それは日本語入力を受け付けないという事です。これは単にフォントの問題なの
みなさん2011年はどのような年でしたでしょうか?私は30歳を迎え、一区切りがついた一年でした。 一年を振り返ってみると、やはり3月11日の東日本大震災と、その後に開催したHack For Japanが大きく印象に残っています。テレビで報道される津波の映像はものすごいものがあり、改めて津波の恐ろしさを感じました。幸いにして関西はまったくダメージが無かったために、外資系企業を中心に多くの企業が避難してきたり、豊富にある物資がザクザク売れるなど関西圏だけを見ると特需に湧いた事も強く印象に残っています。もちろん、そんな中でもやはり家族や親族が被災したという人も沢山いました。 知り合いで実家が丸ごと流された人もいます。まわりから色んな話を聞く過程で「今、会社が流されたら、うちの会社のビジネス終わるな(データセンター直結のオフィスビルのためデータがほぼロストする)」と真剣に思い、ディザスタリカバリの
54時間の熱い戦いが終わった。優勝チームはco-workerを助けるGo!Go! CoWorking #swkyoto 今回のStartup Weekend Kyotoは、優勝賞品がDEMO Asia 2012 Springへの参加権2枚と、往復航空券2枚という事で、非常にレベルが高く盛り上がりをみせました。 はてなの近藤社長も前回ジャッジをした時に54時間でどうやったらこんなアウトプットが出るのか不思議という事で、今回はアイスブレイクやピッチ、チーム分けなどをやる初日にも遊びに来てもらいました。ジャッジの際には、「あれ?それピッチの時と内容違うよね?」という発言もありましたが、54時間という短時間でpivotを繰り返すというのもこのStartup Weekendの特徴の一つです。Startup Weekendでは、1つのアイディアに対して違うバックグラウンドを持った複数人で意見を出し合う
スクエア・エニックスという開発期間が年単位の超大作を何本も抱える会社のプロジェクトマネージメントというのはみんな興味があると思う。開発に数年かかる規模のプロジェクトだと、初期に発生した数%の誤差が後の工程に影響を与えて、開発者を大量投入せざるを得なくなったり、開発者に殺人的労働を強いたり、発売日の大幅見直しなど、大炎上プロジェクトになります。 資料にも書かれていますが、この規模になると、ほんの僅かの見積もりミスや機能追加によって、当初想定工数から10倍もズレてしまうようです。 スクエア・エニックスでは、どのようにこれらの大規模プロジェクトをどのようにコントロールしているかが書かれています。プロジェクトマネージメントに興味がある人は必読です。 → ゲーム開発・プロジェクトマネジメント講座 株式会社スクウェア・エニックス CTO 橋本 善久(PDF) 資料で紹介されている推薦図書 – PM世界
Googleの新しいプログラミング言語Dartがgoto;カンファレンスで発表されました。 公式ページは、http://www.dartlang.org/です。ソースコードはGoogle Codeにあります。 以下、Dart公式サイトの技術概要ページより引用および意訳 ———- 技術概要 Dartは、構造化されたWebアプリケーションを作成するための新たなクラスベースのプログラミング言語です。シンプルさ、効率性、およびスケーラビリティを目標に開発されました。Dartは明らかで、読みやすい構文を言語構造に持つ強力な新しい言語機能を兼ね備えています。 主な機能 クラス クラスとインタフェースは、効率的なAPIを定義するための十分なメカニズムを提供します。これらの構造は、メソッドおよびデータのカプセル化と再利用を可能にします。 オプションの型 Dartのプログラマは、必要に応じてコードに静的な型
次のプロジェクトで使うデータベースをNoSQLにしてみようと画策中なので調べてみた。NoSQLには大きく分けて以下の4つがあるようだ。 ・キーバリューストア(KVS) ・列指向データベース ・ドキュメント指向データベース ・グラフ指向データベース 下の3つは、新しくないし商業的にNoSQLと(言うと売れるので)叫んでるっぽいので無視。 ・オブジェクト指向データベース ・XMLデータベース ・グリッドデータベース KVSと列指向は十分使ってきたので、グラフ指向データベースとドキュメント指向データベースに興味があります。 MongoDB(ドキュメント指向データベース) Googleトレンドを見るかぎり、ドキュメント指向データベースではApache CouchDBよりも人気があるようなので、MongoDBを調べてみた。(注:グラフ指向データベースは商業製品が多い) ・1オブジェクトの最大サイズは
プログラムを集中して書いていると、ドリンクの存在を忘れてる事って無いですか?私も多くのプログラマーと同じくアイスコーヒーが好きなのですが、折角スタバで買ったコーヒーでも半分も飲む前に氷が溶けきって、薄くぬるくなるのに困っていました。 最近、誕生日プレゼントでもらった真空断熱タンブラーが凄過ぎるのでレビューを書きます。 THERMOS社の製品で8年前ぐらいに流行ったので、この会社のマグカップとか持っている人も多いと思います。私も自宅と会社で、8年ぐらい前に購入した商品を使っています。しかし!最近もらったコヤツは品質が違いすぎます。 ・冷たいドリンクを入れても水滴が”まったく”発生しない 少ないとかという次元じゃなく、氷を大量投入して半日放置しててもまったく発生しません。 ・ドリンクが入っている状態だと氷が”ほとんど”解けない 商品説明には60分たっても大丈夫!みたいに書かれてますが、今日の3
本日、Google+というサービスが発表されました。何の気なしにログインしたら普通に使えたので、何とも思っていませんでしたが、どうやらインビテーションが無いと利用できないとのこと。 確かに、メールボックスを確認するとGooglerからインビテーションが届いていました。 さっそく色々とソーシャルストリームを試してみましたが、TwitterとBelugaとFacebookの良いとこ取りをして、さらにそれをグレードアップしたような感じの作りになっていて、非常に好印象でした。操作性も抜群に良く、サクサク動くのでユーザエクスペリエンスもすごく良いです。 デザイナーがMacのオリジナル開発メンバーだったAndy Herzfeldらしく、『本当によく出来てる!』の一言に尽きます。 さらにビックリしたのが、Google Hangouts。ようはビデオチャット機能で、サンフランシスコにいるadamrocke
最近、仕事で統計処理をする機会が増えてきたので、Google I/Oで勉強してきたGoogle Apps Scriptでバリバリ処理してやるぜー!と思ってたのですが、クッソ遅くて使い物になりませんでしたが、試行錯誤の結果、4万セルまでであればGoogle Spreadsheetsがそこそこ使えるという事がわかりました。 機能的にはExcelの方が素晴らしいのですが、Google Spreadsheetでも世の中の8割ぐらいの需要はカバーできるんじゃないかな?ただ、セル数が増えると表示が重いんですけどね。表示が速くなるだけで利用が増えると思うから、中の人にはがんばってもらいたい。 Google Spreadsheetsには、統計処理をする時にかなり便利な関数がいくつかあるのでそれを紹介したいと思います。
はてぶの人気エントリー入りしたようで、補足。 私自身、こんなんで速くなるわけねーよ!と思っていたのでデータ取りしていませんでしたが、私の記事を読んでデータ取りしてくれた人がいました。結果は劇的に改善されたようです。Twitterを見ると多くの環境で効果があったようです。 あと、はてぶを見ていると1名遅くなったという人がいらっしゃいましたが、ネットワークに関するパケットサイズなどをチューニングしている人や無線LAN専用の圧縮ソフトを導入されている方は設定が消えることで遅くなる可能性があると思います。普段は初心者がまぎれ込むようなブログではないので、注意書きをしていませんでしたが、PCの設定は自己責任でお願いします。 最近、無線LAN経由でインターネットをすると遅くておかしいなと思って色々調べてみました。 すごく嘘くさいけど、ネットワーク設定を作り直すだけで速くなるとネットに書かれていたので試
上記のキャプチャーは私のGmailへのアクセスログです。222.151.238.41は会社のIPで、182.164.32.156は自宅のIP(非固定)です。日本時間の6:02にPoland (79.184.109.50)からの不正アクセスが確認できます。 すぐに、すべてのセッションを破棄(Gmailは他の場所からのログインをBANできる機能がある)した上で、Google Accountsのパスワードを変更しました。後日さらに強度の高いパスワードに変更する予定です。 その時間に何かリンクを踏んだとか言うことはなく、ぐーすか寝ていて、携帯に届いたメールで目が覚めました。他にも私からのメールで起きた人もいるかもしれません。 送信されたメールにはリンクが1行だけあり、そのリンクは転送URLになっており、最終的にバイアグラの販売ページに転送されました。特にウィルスなどは無いようです。 現時点で侵入経
Objective-CでAES暗号化をする方法を調べると、以下のように書かれている事が多いが、これだとJavaと互換性がない。 ; 最初、Java(サーバー)側で暗号がデコードできなくて、色々調べてみたらAES暗号のBlock cipher modeが違うという事が分かった。 解決方法はJava側でObjective-C標準のCipher Block Chaining (CBC)モードに合わせてやるか、Objective-C側の実装を切り替えてやる必要がある。 このブログにObjective-C側の実装を切り替える方法が記載されていたので、参考にして欲しい。 以下のコードを保存して、プログラム中からimportすると上の書き方でJavaで復号できるAES暗号処理が行える。 //NSDataEx.h #import <Foundation/Foundation.h> #import <Com
以下のような方法でURLエンコード/デコードできると書かれているサイトが沢山あるが、大嘘つきもいい所だ。特殊文字を取りこぼしまくってる。 //encoding NSString *escapedUrlString = [plainString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; //decoding NSString *decodedUrlString = [escapedUrlString stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 多分これで全部フォローできていると思うが、もし足りない文字があればコメントで教えて欲しい。 //encoding NSString *escapedUrlString =
このブログの読者でGoogle Street Viewというサービスを知らない人はいないと思いますが、あのStreet Viewのデータは自分で用意できるという事を知らない人はかなり多いのではないでしょうか? 先日もGoogle Mapsの話をしていたら、みんながStreet Viewを自分で作れるというのを知らなかったので、以前酔っ払って自分のパソコンルームでStreet Viewを作成したデータがあるので、それを見せたら結構盛り上がりましたw よく考えたらブログにしてなかったので、簡単に説明を。 Google Street Viewには、Custom Street Viewという機能があり、自分で用意した写真を利用してStreet Viewを作成する事ができます。もちろん、画像間のリンクを指定すると、ちゃんと移動する事もできます。 もちろん全方位カメラどころか、デジカメすら所有していな
Google I/Oのセッションの一つで、Faster apps faster: Optimizing apps with the GWT Compilerというセッションがあり、そこで公開されていたテクニックです。ここで紹介されたテクニックは、リリース用のバイナリ出力を高速化するテクニックではなく、テスト用のバイナリ出力を高速化するテクニックですので、リリース用のコンパイルは従来通り気長に待ちましょう。 まず、コンパイルオプションに以下の2つを付けます。最初のオプションは、メタデータの出力を抑制し、2つめのオプションはいくつかの最適化をキャンセルする事でコンパイル速度を上げます。 -XdisableClassMetadata -draftCompile 次に、モジュール作成時に自動生成されるXxxxxx.gwt.xmlの<module>タグ内に以下の記述を追加します。この記述は、safa
Linuxの世界には、Linuxシステムに不可欠なユーティリティを一つにまとめたutil-linuxという素敵なパッケージが存在します。実は、これMacでビルドできるんです。 そして、これを持ってくるとrenameのようにあんまり使わないけど、使いたい時にそのコマンド無いとスクリプトを組んだりしなければならないような事が無くなります! Mac使いのみなさんはぜひ、これを機会にutil-linuxを入れちゃいましょう! renameのインストールの仕方 まずはkernel.orgからutil-linuxの最新のソースコードをダウンロードしてきます。 $ tar zxvf util-linux-2.19-rc1.tar.gz $ cd util-linux-2.19-rc1 $ ./configure $ cd misc-utils $ make rename $ sudo cp rename
「新卒準備カレンダー 2011春」企画の参加エントリーです。 企画を立ち上げてくれたymotongpooさんとリツイートで情報を回してくれたsugyanさんに感謝します。 —– ■お前、誰よ? ネットでは「だいちゃん」と呼ばれてる。三流プログラマーです。就職氷河期と呼ばれた時期に大学を自主卒業(中退)した後に、京都大学の産学官共同プロジェクトにプロパーとして採用され、後にそこでの研究結果をもとに現在の会社を起業しました。個人的には、クラウド/P2P/OpenSource/Googleのテクノロジーに興味があります。詳細はニコニコ大百科が詳しいです。 ■職業 ソフトウェアエンジニア ■年数 プロとしては8年。プログラム自体は小学校5年生ぐらいからC言語を始めて、高校生の時には金融系のIT企業でバイト(銀行の顧客管理システムの開発)をしてました。 ■どんなことをやっているか 自社製品のP2Pベ
次のページ
このページを最初にブックマークしてみませんか?
『ミネルヴァの梟は黄昏とともに飛び始める(山下 大介 公式ブログ) | Follow me on...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く