読者です 読者をやめる 読者になる 読者になる

bekkou68の日記

開発しているサービス, IT技術, 英語など。

Localizable.strings で選ばれるデフォルトの言語を設定する

やりたいこと 20カ国に公開するアプリをつくっていて、まずは日本語と英語だけの Localizable.strings を用意しているとします。 そのアプリを言語設定を母国語にしているアーロンさんが使うとします。彼の母国語は日本語・英語以外ではない言語です。彼がア…

shenzhen で TestFlight へのアップロードを自動化する

はじめに TestFlight はアプリを配布するのにとても便利な Webサービスです。ただ、その配布するまでのプロセスを愚直にやろうとすると少し面倒な手順を踏みます。 具体的には XCode で Archive して、Organizer で Provisioning Profile を指定して IPA を…

UILabel の高さによって UITableViewCell の高さを変える

はじめに 表題を実現するためのコードをメモします。 sizeWithFontメソッドは iOS7 で非推奨なので boundingRectWithSizeメソッドを使います。 UILabel のカテゴリとして実装しました。 コード カテゴリで追加したメソッドが衝突しにくように、メソッド名に…

Objective-C で Google Analytics SDK 3 をセットアップする手順

はじめに Objective-C で Google Analytics を使えるように GoogleAnalytics-iOS-SDK 3 を導入する例を書きます。ミニマムコードから共通化の例までご紹介します。公式のドキュメントはこちらです。 ミニマムコード編(2014年06月16日更新) まずは動作させ…

サンフランシスコで 3ヶ月生き抜くためのサバイバル英会話

はじめに(2013年12月25日更新) 今年の3月から6月までの約三ヶ月、サンフランシスコでお仕事をしてきました。はじめて海外に行きました。その過程で学んだ英会話を書いていきます。 参考のため、筆者の英語力について書きます。TOEIC は大学生の時にスコア7…

Rails 3 + Nginx/Unicorn を Amazon AWS に Capistrano 3 でデプロイする

はじめに Amazon AWS 環境下で Rails 3 のアプリを Nginx/Unicorn で動くように Capistrano 3 でデプロイする手順をまとめました。 以下を前提に話を進めます デプロイ対象のアプリ/DBインスタンスはすでにつくられているとします デプロイ対象のアプリイン…

『EdTech Night! 第1夜』に参加しました

はじめに 教育とIT というテーマについて語り合う『EdTech Night! 第1夜』に行ってきました。自分自身、英単語を語源で学ぶ Gogengo! というサービスを運営していることもあり、とても興味のあるテーマです。 当日の公演のメモや感想を書きます。 開会のあい…

Nginx でベーシック認証をかける手順メモ

nginx.conf ファイルの存在するディレクトリに移動して htpasswd ファイルを作成する。 $ cd /etc/nginx $ sudo htpasswd -c htpasswd <username> 新規に作成するユーザのパスワードが求められるので入力する。nginx.conf を編集する前に念のためバックアップとる。 $ </username>…

Amazon RDS の MySQL を Munin で監視する

はじめに Munin のセットアップおよびアプリインスタンスのリソース監視をする方法はこちらのエントリをご覧ください。『Amazon EC2 で Munin + Apache でリソース監視環境をセットアップする』 このエントリは前述したエントリの手順が終了しているという前…

Amazon EC2 で Munin + Apache でリソース監視環境をセットアップする

はじめに Amazon EC2 のアプリインスタンスで Munin を Apache で動かす手順をまとめました。 Munin そのものを学びたい時はこのスライドがオススメです。インフラと監視の昔と今、Munin の仕組みや使い方がとても分かりやすく紹介されています。 ゴール Mun…

サンフランシスコの Twitter社に遊びに行ってきました

はじめに これは日本帰国前日のお話しです。 Protonight - Pair Programming Hack Session に参加したときに Mikeさんとお話ししました。それがきっかけで、Mikeさんの勤めるサンフランシスコの Twitter社でランチをいただけることになりました。ホスピタリ…

How to get status of Nginx HttpProxyModule (proxy_cache) - Just Logging and Collecting Log

Introduction I run a Unicorn + Nginx server with cache by HttpProxyModule. I'd like to get status of cache, for example, in memcached, we can get status like this. But, it seems there are no commands for doing that. Finally, my co-worker a…

Protonight - Pair Programming Hack Session に参加しました

はじめに 残すところあと4日ほどで日本に帰ります。帰る前にもう一つイベントに参加したいなあと探して見つけたのが Protonight - Pair Programming Hack Session でした。 どんな場か 公式ページに詳しく書いてあります。かんたんにまとめると、 色んな人と…

iOS でアプリ内課金を実装するために必要な情報メモ【Objective-C】

はじめに iOS で課金を実装するためのめっさ短いメモです。自分用です。 やること 商品の事前登録。テストする前にやっておく! この 2サイトを見ればOK 失敗しない iOS In-App Purchase プログラミング 公式PDF

メモリ使用量・空きメモリ量・ユーザCPU時間・システムCPU時間をログで表示する【Objective-C】

はじめに "Received memory warning"ドキッとするエラーです。このエラーが出た場合や、予防したい場合はメモリと CPU をモニタリングするのがよいアプローチだと思います。 ゴール 5秒おきにメモリ使用量・空きメモリ量・ユーザCPU時間・システムCPU時間が…

第1回技術交換会をやりました【iOSプログラミング】【Illustrator】 #techxchange

はじめに サンフランシスコに少人数のチームでお仕事にきてからはや2ヶ月が経ちます。はやいものです。あと2週間で日本に戻ります。 サンフランシスコに来て 1ヶ月半経った頃のお話です。「せっかく少人数だし、お互いに無いスキルを高めあえるといいね」と…

新ブログ「bekkou68 ぱ〜そなる」を立ち上げました【はてなブログを複数つくる】

はじめに 数ヶ月くらい前からブログを分けようか分けまいかを悩んでいました。というのも、サービス開発・IT技術・英語といった記事とゲーム・漫画・日常といった記事が混ざってることにモヤモヤしていたので。ただ、別のブログサービスをつかったり、同じブ…

面白い Web漫画を探すための 6つの方法 - 検索, まとめ, ランキング, wiki 等

はじめに こちらのエントリ『面白くて一気読みしたオススメWeb漫画まとめ 12連弾【完結あり】』に多くの反響をいただきました。Web漫画、大人気ですね! 今回は Web漫画をもっと知ってもらえるように、Web漫画を普段どのように探しているかをまとめてみまし…

自宅でオンライン英会話!『レアジョブ』を無料体験しました(2日目) - 評判・口コミ

はじめに 1日目はこちら。引き続きレアジョブの無料体験 2日目です。 当日の様子 今回は Edje 先生にお願いしました。プロフィールにアニメ好きと書いてあったので(笑) とてもゆっくり話していただけました。先生がフィリピンのコスプレイベントでレイヤーを…

自宅でオンライン英会話!『レアジョブ』を無料体験しました(1日目) - 評判・口コミ

はじめに 最近ではオンラインで英会話ができるサービスが沢山あります。自宅にいながら英会話。便利な世の中になりました。 サンフランシスコでお仕事する機会もあり、英語をつかう機会が増えてきました。英会話のスキルをみがきたいと思い、いくつかのオン…

デバッグログを開発環境だけで表示する【Objective-C】

はじめに NSLog が本番のビルドに含まれていると、実機を Mac につないでログを確認できてしまいます。秘密にしておきたい情報などが漏れてしまう恐れがあります。 でも、クライアントはテストしにくい現実があり、ログをいたるところに仕込んでおきたい。そ…

Tutorial of mopub SDK integration on iOS <Google AdMob> <Millennial Media> <iOS5 iOS6> <w/ ARC>

Introduction I've integrated mopub SDK and wrote how to do that. There are few documents on the Internet so I made many efforts X(日本語版のエントリはこちら。 What is mopub? mopub is a system of ad management. Once you integrate SDK, you c…

iOS で mopub SDK を組み込んでバナー広告・全画面広告を表示する手順【Google AdMob】【Millennial Media】【iOS5 iOS6】【ARC 対応】

はじめに mopub SDK を組み込む機会があったのでエントリにまとめます。公式以外のドキュメントが少なくてだいぶ苦労しました。In English is here. mopub とは mopub とは広告を総合管理してくれるシステムです。一度 SDK を埋め込めば、管理画面から広告媒…

『Working with Unix Processes』の Appendix: How Unicorn Reaps Worker Processes を読みました

はじめに How Resque Manages Processes の続きです。 主旨 Unicorn が親プロセスを終了する際に、どうやって親なし子プロセスができないように制御しているかを読み解く。 コードリーディング大会 勉強会メンバーでコードを読んでみました。読んだコードは…

【攻略】Candy Crush Saga をブースター無使用で全クリする方法【ステージ35 79 135 275 311 の攻略あり】【キャンディクラッシュサーガ】

すでに攻略本も Kindle で出ているようです。 はじめに【最終更新: 2013/06/03】 最近 Candy Crush Saga をブースター(移動回数追加・ステージ選択時の追加アイテム等)を使わずに全クリしました。プレイしつつ書いた攻略メモを公開します。プレイの参考に…

『Working with Unix Processes』の Appendix: How Resque Manages Processes を読みました

はじめに Ending の続きです。 まとめ なぜ Resque が job を実行するのに fork しているのかというと、ワーカーのプロセスが使うメモリ量の肥大化を防ぐためだ。job を実行する度に fork するのでメモリは使うデメリットはあるが、実行後のクリーンアップが…

UINavigationController で画面遷移する 【Objective-C xib pushViewController】

はじめに 自分用メモです。 前提 つくりたてのプロジェクト。xibファイルを使うとします。 やりたいこと ViewController.h から NextViewController.h へ遷移させます。 手順 新規画面を追加する手順(XCode 4.6.1) AppDelegate.h の入っているディレクトリ…

date_select メソッドを呼ぶと can't convert Symbol into String とエラー

現象 date_select メソッドを呼ぶと can't convert Symbol into Stringというエラーが起きる。 解決策 ja.yml に order: からの4行を追加して解決しました。 ja: date: + order: + - :year + - :month + - :day 原因 config/application.rb において config.…

Pivotal Tracker で日本語二重入力されてしまう件が In Progress になりました

はじめに Pivotal Tracker でストーリ登録時に日本語を入力するときに、二重で入力されてしまう現象が起きていました。弊社チームメンバーに聞いたりつぶやいてみたら、他にも沢山の人が同じ現象で困っていることがわかりました。 今でしょ!! Pivotal Tracke…

Web漫画のエントリが「はてなホットエントリ」になって何が起きたか【アクセス数】【トラフィック】

はじめに まさか、Web漫画を読んだことのない友達に紹介するために書いたエントリが、はてブ600を超えて はてなホットエントリになるとは。とても驚きました。何が起きるかわからないものです。はてなホットエントリになると、どれくらいアクセス数が増える…

面白くて一気読みしたオススメWeb漫画まとめ 12連弾【完結あり】

はじめに 最近 Web漫画にハマってます。ちょっとした空き時間に読めるのでお手軽に楽しめるのが好きです^^ なんだかんだで30作ほど読んだのですが、そのなかでも特にオススメするものを 12作ピックアップして紹介します。 すべて無料で読めます。書籍化され…

SF Demo Night April に参加しました【イベント】【サンフランシスコ】

はじめに サンフランシスコにきてから半月くらい経って生活に慣れてきたので、現地のコミュニティに顔を出しはじめたのでした。 当日の様子 行くときに見かけたお店。気になる。 会場に着きました。303 の圧倒的存在感。 会場は Symantec さんです。 会場の…

NSMutableArray で Ruby の slice! をしたい【Objective-C】

結論 NSMutableArray *arr = [NSMutableArray arrayWithArray:@[@"a", @"b", @"c"]]; NSArray *sliced = [arr subarrayWithRange:NSMakeRange(0, 2)]; [arr removeObjectsInRange:NSMakeRange(0, 2)]; NSLog(@"%@", arr); //=> @[@"c"] NSLog(@"%@", sliced)…

CSS の margin 等の "上右下左" を分かりやすく覚えるには

div { margin: 1px 2px 3px 4px; } と指定した時に、それぞれの px がどの方向に適用されるかを調べて忘れてを毎回くり返していました。それに終止符をうつため、何か良い覚え方はないかと思い調べていたらありました。 "They all go clockwise, starting fr…

Amazon ELB を作成し Amazon EC2 への負荷を分散する設定

はじめに Amazon ELB を作成し Amazon EC2 への負荷を分散する設定をメモします。 ゴール Amazon ELB に Amazon EC2 のアプリインスタンスが 2つ紐づいた状態で負荷分散されていること。 前提 Amazon EC2 のアプリインスタンスは 1つできているとします(以…

Gitリポジトリ中のサブディレクトリを別リポジトリへ移行する

Git

はじめに モバイルの開発をしていて、クライアントとサーバを同じリポジトリにいれていました。ある時、クライアントとサーバとを別のリポジトリに分けたくなりました。その手順をメモします。 やりたいこと oldproject に client/ を残し、newproject には …

グローバル変数を定義して参照する【Objective-C】【宣言】

おことわり (2014年09月23日 追加) 現在、筆者は以下の記事にあるようなグローバル変数 (グローバルな連想配列) は影響範囲が広すぎるので使っていません。モデルは property で定義してクラス間で渡したり、global singleton にする等しています。定数やシ…

『Working with Unix Processes』の Ending を読みました

はじめに Spawning Terminal Processes の続きです。 まとめ キーワードは「抽象化」と「コミュニケーション」。 「抽象化」…沢山のプログラミング言語があるが、カーネルから見れば全て同じもの。数字のアイデンティファイアがついて、カーネルのリソースに…

サンフランシスコで 1週間すごした感想

はじめに お仕事でサンフランシスコに来てから 1週間が経ちました。フライト当日から今までの感想をつれづれと書きます。 つれづれ (2015/09/10 更新) フライト当日 当日は 2時間半前に到着。1時間半くらいは飛行場をウロウロ見たり展望台からフライトをなが…

RVM で Ruby2.0 をインストール

今更ですが。RVM で Ruby2.0 をインストールしたのでメモしておきます。 $ rvm get latest $ rvm reload $ rvm install 2.0.0 RVM の更新が必要であることに気づくのに時間がかかったのでした・・。

Amazon EC2 と RDS でアプリ/DBインスタンスをつくって連携する手順

はじめに Amazon EC2 と RDS でアプリ/DB インスタンスをつくって連携する手順のメモです。 このエントリのゴール Amazon EC2 でアプリインスタンス、Amazon RDS で DBインスタンスをそれぞれつくり、お互いに連携することです。staging と production それ…

『Working with Unix Processes』の Spawning Terminal Processes を読みました

はじめに 『Daemon Processes』の続きです。 勉強会でのまとめ 本文の自分の理解のまとめ、本文の知識をもって試したこと、議論したこと、自分の理解のための補足などを書きます。 イントロダクション Rubyプログラムからシェルのコマンドを実行する方法には…

『Client / Server Team-up (powered by Tokyo Rubyist Meetup and Tokyo iOS Meetup)』に参加しました #trbmeetup

きっかけ sendagaya.rb で @iwhurtafly さんの噂を聞いてお会いしたいなあと思い『Client / Server Team-up』に参加してきました。 やることのゴール サーバ(Rails)とクライアント(Objective-C)を連携してアプリをつくる。 アプリの内容は以下のようなイ…

OpsWorks を使ってみたのでメモを残します

はじめに OpsWorks をつかって環境構築をしようと思って手を動かしてみたのですが色々つまづいて挫折しました。調べたり試す過程で、OpsWorks がどのようなものかが少し分かった気がするのでメモがてらまとめます。 メモ OpsWorks では、各種アプリサーバ・D…

『Working with Unix Processes』の Daemon Processes を読みました

はじめに Processes Can Communicate の続きです。 主旨 デーモン化の仕組みを知るために Rack の rakupコマンドの実装を読みます。 コードリーディング大会 デーモン化の処理を理解するため、コードリーディングや勉強会メンバーとディスカッションを行いま…

お仕事でサンフランシスコに行ってきます

海外で受け入れられるスマホアプリのノウハウをためるため、お仕事でサンフランシスコに行ってきます。そんな素敵な機会をくれた会社は『IGNIS(イグニス)』です。ありがたや! ただいま一緒に働く仲間を絶賛募集中です!フライトは 3月25日(月) です。あと…

Shinjuku.rb #14 に参加しました #shinjukurb

はじめに イベントページはこちら。今回で 3回目の参加になります。 やったこと TDDBC大阪課題 を引き続きやりました。 今回は公開ペアプロに立候補しました。@satococoa さんと楽しくペアプロしてきました^^ その後は観戦。git コミットやテストの書き方、…

Rails で STI を使ったのでメモを残します

はじめに 自分用メモです。 参考 Ruby on Rails“シンプル”モデリング技法 - @IT Railsで単一テーブル継承(Single Table Inheritance) - 京の路 単一テーブル継承 (Single Table Inheritance) の上手な扱い方 - RAILS PRESS 実装ダイジェスト db/schema.r…

ネコハッカソンが開催されました(=^・ω・^=) #willcat

はじめに(2013/4/19 更新) きっかけはここから。 ネコワーキングさんへの道順はこちらを参考にさせていただきました。当日は看板が出てなかったので少し迷いましたw 成果物 まずはネコがいました。 集いし12人のネコワーカーとネコ。 そしてネコじゃらし…

Ruby20周年記念パーティに参加しました #ruby20party

かんぱい! 話を聞いて印象に残ったことなどを書いていきます。 世界に広がっていくRuby。すごい! RubyGems って2004年から始まったのか。もうそんなに経つのですねえ 2012年、Rubyの国際標準としてIOSが制定された Ruby の由来は Perl の翌月の誕生石。命…