shimada-kの日記

ソフトウェア・エンジニアのブログです

2014-01-01から1年間の記事一覧

GCDの実行ポリシーとキューの種類まとめ

今更ながらGCDを勉強しました。Grand Central Dispatchです。わからなければ自分で使ってみることです。そうしたらいざという時に役に立ちます。 調査 GCDには主に2種類のキューのタイプと2種類のディスパッチポリシーがあります。組み合わせで合計4種類の使…

UIScrollViewにおけるcontentOffsetの注意点

UINavigationControllerを使用している場合で、UIScrollViewをpagingで使用している時にコードからUILabelを置こうとした時に想定通りの座標で配置できなかったことがあったので解決手段をメモしておきます。 既知のトピックではありますが、ちゃんとまとま…

東京メトロのアプリコンテストに応募しました

iOSアプリを作成しアプリコンテストに応募しました。作成から応募までのログを宣伝を兼ねて書いておきます。 東京メトロ オープンデータ活用コンテスト 東京メトロのAPIを使用したアプリを作るという趣旨です。サマって書くと個人・団体問わず参加OK、一人何…

Synthでejsを使う

Synthでテンプレートエンジンにejsを使用する時のメモ。Synthのバージョンは0.5.2です。 back/node_modules/synth/synth.jsに追記 back/package.jsonにejsの項目を追記してsynth install -bを実行します。その後、back/node_modules/synth/synth.jsにejsを使…

UnityでS.S.デッドリー・ボンバーを作ってみる

人造人間13号*1が放つS.S.デッドリーボンバーをUnityで再現してみました。人造人間13号はドクター・ゲロが使っていたマシンが悟空抹殺のために自動で作りだした人造人間です。 構造は、まず真ん中のコアのような球体と、その外側に赤い帯が表示されている球…

Synthを試してみる

先日東京Node学園14時限目に参加してきました。そこで@pchwさんから紹介があったSynthを試してみました。試してみた分かったことを書いておきます。 SynthはSPA作成を念頭において設計されたWebフレームワークです。 Angular.jsでサイトを作成した場合、HTML…

Firefoxの新機能Loopを試す

WebRTC Meetup Tokyo #3に参加してきました。@chikoskiさんから紹介があったFirefoxの新機能のLoopを試してみました。 LoopはWebRTCを使用して実装されたビデオチャットサービスで、Firefoxのアルファ版のAuroraで試すことができます。 基本的な使い方はGoog…

UnityでLeap Motionが認識した手を動かす

UnityでLeap Motionのビジュアライザーのように認識した手を動かしてみました。手は以下のオブジェクトで表現しました。 手首:Cube 手のひら:Sphere 間接:Sphere 骨:Line Renderer Leap MotionのSDKのバージョンはもちろんv2 Betaです。Unity側スクリプ…

httperfでnginxにおける非同期処理の限界を知る

nginxに負荷をかけて遊んでみました。webによくあがっているnginxのベンチマークは適当な静的ファイルを1つ用意してそこに対してアクセスを行うといったものです。 ただそれだとメインメモリのファイルキャッシュにのっているものを返すだけで、オンメモリで…

テックヒルズ×iBeacon ハッカソンに参加してきました

iOS7からCoreLocationに追加された機能でメジャー番号とマイナー番号とUUIDを使って通信します。beacon製品は2013年11月から国内で販売されました。 作成したのはWebsocketとiBeaconを連携させたアプリで主にサバイバルゲームでの使用を提案させて頂きました…

Leap Motion SDK V2 Betaで遊んでみる

Leap Motionの新しいSDKのpublic Beta版が5月28日に公開されました。試してみて分かったことを書いておきます。 まずはビジュアライザーを起動してみます。 グーも認識してくれます。 X方向に手を重ねるのはこれくらいが限度。これ以上近づけると片方が認識…

nginxは新規リクエストをどう受け付けるのか

nginxで新規のリクエストが発生した場合の処理をソース上で追いかけてみました。 nginxはワーカープロセスを指定した数だけ起動させてそのプロセス内で非同期にリクエストをさばいていますが複数のワーカープロセスが存在した場合、新規リクエストはどう振り…

Temasysを使ってSafari@OSXでWebRTC

WebRTC Meetup Tokyo #2に行ってきました。 WebRTCの仕様の策定状況やブラウザ間のサポートの差異をどうしようかみたいな話を聞いてきました。 WebRTCはChrome/FireFox(Opera)は対応してるんですが、Safariやシェアのほとんどを占めているIEなどは対応してな…

Node.jsでPromiseを使う場合

先日、東京Node学園12限目に参加しました。そこで@jovi0608さんから紹介があったNode-v0.12に含まれる予定のPromiseを試してみました。試してみて分かったことを書いておきます。 Node-v0.12の新機能について コールバック地獄の例としてよく挙げられる下記…

imlib2のdraw_textで遊んでみる

Rubyの画像処理ライブラリimlib2で画像に文字を埋め込んで遊んでみました。 環境 OS:Debian Squeeze Ruby:ruby 1.8.7 libimlib2-ruby:0.5.2-2 入力した文字列の文字数によって適切にフォントのサイズと縦横のマージンを計算し、さらに一行におさまる長さで改…

MySQLでインデックスが効いてないとつまりどうなるのか

MySQLでインデックスを使用しないクエリを投げると実際遅いことは分かるんですけど、マジックワード感があるのでなぜ遅くなるのか考えてみました。 すごく大きなテーブルを作ってインデックスを使用したSELECTとそうでないSELECTを投げてperfで調査しました…

twitterの投稿画面風UIの作り方

iPhone版twitterアプリのようなアップロードUIを作ってみました。 こういうやつです。上記はtwitterのtweet入力画面です。 テキストを入力する場所があって、その下にキーボードがある。さらにその間にツールバーのような領域があってボタンを配置できる。と…

Node.jsでサーバ間通信

Node.jsのAPI内で別サーバへ問い合わせてその内容をejsへ渡すということをやってみました。リアルタイム性を持たせたいからNode.js/websocketなんだけども、処理全部をjsで書くのはなーという考えからきてます。 var options = { host : 'localhost', // ポ…

Interface Builderで置いたBarButtonItemにアイコン画像を設定する

UIBarButtonItemのアイコンを独自のものに差し替えたい場合の手段です。若干はまったのでメモ書き。下の画像のように2つのBarButtonItemが配置されているとします。facebookのいいね!の画像をアイコンとして設定することとします。like40x36.png コードから…

CollectionViewとWebViewで画像ビューワを作ってみる

せっかくiOSの開発環境が手元にあるので試しにアプリを作ってみました。 webの画像をCollectionViewで表示する画像ビューワです。Googleのロゴ画像を出しています。WebViewでロゴ画像のURLを指定してCollectionViewで並べてるだけです。まずCollectionViewを…