サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
bekkou68.hatenablog.com
はじめに 11 月 15 日に開催された TOEIC で 840 点を取得しました。840 点は国家試験である通訳案内士の筆記試験がちょうど免除されるスコアです。スコアの内訳はリスニング 450 点、リーディング 390 点でした。自己ベストが 755 点だったので 85 点の更新です。TOEIC を受験したのは六年ぶりでした。この記事では 840 点を取得するまでのいきさつをふりかえります。 六年間の英語 六年前に 755 点を取得した当時は大学四年生でした。大学を卒業したあとはプログラマーとして仕事をするようになりました。プログラマーを六年やっている間は、次のようなシーンで英語を使いました。 プログラマーなので毎日何かしらの英文を読んだ 英単語を楽しく学ぶ Gogengo! のコンテンツを六年間つくり続けた IT系の技術書『アジャイルサムライ』を翻訳した サンフランシスコに住んで海外向
はじめに Rails でスマートフォン向けの API をつくっている時にどの HTTPステータスコードを返すか、自分なりの判断基準をまとめてみました。 Controller を実装している時によく返すステータスコードをイメージしています。 200 :ok 以下が正常に行われた場合 GET系。action: index, show UPDATE系。action: update DELETE系。action: destroy 201 :created 以下が正常に行われた場合 POST系。action: create 400 :bad_request (2015/04/15 更新) 必要なパラメータが存在しない場合 例: 緯度と経度はセットでほしい パラメータが範囲を超えている場合 例: 検索条件のパラメータの範囲がオーバーしている クライアントを普通に使っていれば起こりえないリクエストを受け
(最終更新日: 2017/08/23) はじめに 自前でプッシュ通知を実装する手順をまとめます。サーバからクライアントまで。 この記事に書いてあること: プッシュ通知の疎通確認までの手順 個別送信の実装例 複数送信の実装例 デプロイ時の工夫 Feedback のハンドリング 前提 クライアント Objective-C Xcode 6 対応OS iOS7, iOS8 サーバ Ruby on Rails 単一サービスのプッシュ通知を実装する 複数サービスになると rpush はスレッド数が比例して増大するので向いてないことがある 証明書/プロビジョニングを用意 Developer Center から以下のファイルを取得します。 プッシュ通知用の証明書 Identifier > App IDs > IDを選択 ※証明書はつくる度に CSR は別のものにすること。同じものを使いまわすと前のプッシュ
はじめに Gogengo! という「英単語を語源で楽しく覚える」をコンセプトにしたサービスをリリースしてから5年がたちました。この歳月をふりかえってみようと思い記事にしました。 もともとは 5年分をふりかえるつもりだったのですが、文章を書きすすめるうちに懐かしくなって自分の中で盛り上がってしまい、サービスを運用する前である大学時代の話も書いてあります。 語源との出会い (2006年) 時は大学1年生にさかのぼります。とある英語の講義で聞いた教授の言葉を思い出します。 「include は in- と clude の語源にわかれ、それぞれの語源には意味がある。それらの意味があわさって include の意味ができあがった」。 それを聞いた時、中学・高校と語呂合わせや丸暗記で英単語を覚えてきた自分の脳みその何かが変わった気がしました。 語源を知る前は英単語をテスト前に覚えてすぐ忘れるを繰り返し
(最終更新日: 2017/9/25) はじめに production 環境で MySQL 5.6 動かすためのパラメータ設計についてまとめました。この記事がカバーする内容は次のとおりです。 パラメータを設定するスクリプト。 各パラメータにおける変更するかどうかの判断基準。 想定されるメモリの消費サイズを算出してパラメータが妥当かどうか確認する方法。 サービスの状況に応じててきぎ読みかえてください。 【結論】パラメータグループ作成・パラメータ設定のスクリプト 結論として、パラメータグループを作成し、パラメータを設定する aws-cli のスクリプトを置きます。Amazon AWS の Web Console から設定することもできます。 #!/bin/sh # == パラメータグループ作成 aws rds create-db-parameter-group --db-parameter-gr
はじめに Rails サーバから Google Analytics API をたたいて情報を取得する手順をまとめます。 google/google-api-ruby-client · GitHub を使います。ログインだと Web で認可をもとめられる(後述)ので OAuth を使います。 日にちごとのスクリーンビューを取得するスパイクをつくるのがゴールです。 OAuth に必要な鍵を修得 Google Analytics で使用するアカウントで Google Developers Console にアクセス プロジェクトを作成 作成したプロジェクトをクリック APIs & Auth > Credentials を選択 Client ID を新規作成。Service account を選択 p12 をダウンロード 鍵は $RAILS_ROOT/certificates/google_ana
やりたいこと 20カ国に公開するアプリをつくっていて、まずは日本語と英語だけの Localizable.strings を用意しているとします。 そのアプリを言語設定を母国語にしているアーロンさんが使うとします。彼の母国語は日本語・英語以外ではない言語です。彼がアプリを起動したら選択される .stringsファイルを英語ものにしたい。というお話しです。 結論 コードでやることにしました。xx には適宜プロジェクトのプリフィックスを書いてください。 NSBundle+xx_localizedString.h #import <Foundation/Foundation.h> @interface NSBundle (xx_localizedString) - (NSString *)xx_localizedString:(NSString *)key; @end NSBundle+xx_lo
はじめに サーバを運用したり環境を構築したりしていて「あれ。あのプロセスで吐いてるログどこだっけ・・」など困るときがあります。 そんなときに頼りになるかもしれないコマンドを 3つご紹介します。 @madeth 師匠に教えていただきました。 1. proc でプロセスが使っているファイルを見る 困ったこと プロセスの吐くログのパスがどうしても分からない・・。 解決法 (編集 2014/09/10) 知りたいプロセスの ID を調べます。 $ ps aux | grep unicorn deploy 3335 xxx xxx xxx xxx X XX 15:14 0:07 unicorn master -c /var/www/myproject/unicorn/staging.rb -E staging -D プロセスID (この場合は 3335) をもとに root 権限でファイルディスクリ
はじめに Travis CI で CI のたびに bundle install が毎回走っていました。その時間がテストの時間の大部分を占めていたので短縮したかったのでした。 やりかた こちらに書いてありました。 .travis.yml に一行追加するだけです(diff 形式)。現在はプライベートリポジトリのみ対応されているようです。 language: ruby + cache: bundler rvm: - 2.1.0 ...これで push なりして CI を動かしてみると bundle install の結果がキャッシュされるようになります。べんり! 7分ほどかかってた CI が 3分ほどになりました。50%の速度改善です! もちろん差分があったら差分の分だけ install されます。仕組みの説明はこれとかこれに書いてありました。キャッシュの実体は S3 にセキュアに保存されたアー
はじめに Objective-C で Google Analytics を使えるように GoogleAnalytics-iOS-SDK 3 を導入する例を書きます。ミニマムコードから共通化の例までご紹介します。公式のドキュメントはこちらです。 ミニマムコード編(2014年06月16日更新) まずは動作させましょう。 Podfile にライブラリを追加します。Cocoapods の導入方法はこちら。 + pod 'GoogleAnalytics-iOS-SDK', '3.0.2' インストールします。 $ pod install [projectname]-Prefix.pch を編集します。Google Analytics ID は適宜指定してください。 #ifdef __OBJC__ // google analytics #import "GAI.h" #import "GAIDict
.travis.yml を PROJECT_ROOT に追加 (2014/09/04 更新) language: ruby rvm: - 2.1.0 before_script: - mysql -e 'create database myproject_test;' notifications: hipchat: '<TOKEN>@<ROOM NAME>' # CI時に submodule を無視 git: submodules: false # bundle install をキャッシュ # see: http://bekkou68.hatenablog.com/entry/2014/04/02/210754 cache: bundler config/database.yml を変更 test: において host: localhost にする username: カラにする pas
はじめに(2013年12月25日更新) 今年の3月から6月までの約三ヶ月、サンフランシスコでお仕事をしてきました。はじめて海外に行きました。その過程で学んだ英会話を書いていきます。 参考のため、筆者の英語力について書きます。TOEIC は大学生の時にスコア755 を取得しました。TOEFL の勉強もしていましたが受けずじまいでした。卒論の監督教授がインド人で、やりとりは英語のみでした。卒業論文は英語で書いて英語で発表しました。英語力は大学時代がピークだった気がします(笑) 大学四年生の時に Gogengo! という英単語を語源で学べるサービスを立ち上げました。社会人になってから4年ほどたちますが、今も継続しています。それによって英語力をある程度キープできていると信じています(笑) 社会人になってから英語を使う機会は減りましたが、前職で会社に外国人の来客があってお話ししたり、外国人の参加者が
はじめに Amazon AWS 環境下で Rails 3 のアプリを Nginx/Unicorn で動くように Capistrano 3 でデプロイする手順をまとめました。 以下を前提に話を進めます デプロイ対象のアプリ/DBインスタンスはすでにつくられているとします デプロイ対象のアプリインスタンスのドメインは production.example.com とします アプリインスタンスは ephemeral disk がマウントされているとします プロジェクト名は myproject とします。ご自身のプロジェクト名に読み替えてください アプリインスタンスに SSHログインするための秘密鍵は ~/.ssh/myproject.pem に配置してあるとします RVM を使ってます。rubyenv での設定はこちらの記事が参考になるかと思います デプロイ先ディレクトリの準備 アプリを /va
はじめに iOS で課金を実装するためのめっさ短いメモです。自分用です。 やること 商品の事前登録。テストする前にやっておく! この 2サイトを見ればOK 失敗しない iOS In-App Purchase プログラミング 公式PDF
nginx.conf ファイルの存在するディレクトリに移動して htpasswd ファイルを作成する。 $ cd /etc/nginx $ sudo htpasswd -c htpasswd <username> 新規に作成するユーザのパスワードが求められるので入力する。 nginx.conf を編集する前に念のためバックアップとる。 $ sudo cp nginx.conf nginx.conf.20131005 以下のように編集。/administrator/* にベーシック認証をかける例。 + location ~ ^/administrator/* { + auth_basic "Restricted"; + auth_basic_user_file htpasswd; + proxy_pass http://backend.example.com; # as you like +
はじめに Munin のセットアップおよびアプリインスタンスのリソース監視をする方法はこちらのエントリをご覧ください。『Amazon EC2 で Munin + Apache でリソース監視環境をセットアップする』 このエントリは前述したエントリの手順が終了しているという前提で話を進めます。 手順 必要なパッケージをインストール(※1)。 $ sudo yum install -y perl-Cache perl-Cache-Cache perl-IPC-ShareLite perl-DBD-MySQL 必要なプラグインのリンクをはります。 $ sudo ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins/ 設定ファイルを開き、 $ sudo vim /etc/munin/plugin-conf.d/munin-node 下記
ゴール 独自ドメイン http://bekkou68.com にアクセスしたら GitHub Pages が表示される。 前提 独自ドメインは取得済み 独自ドメインの取得先で DNS を設定できる GitHub Pages は作成済み 手順 DNS で bekkou68.com の Aレコードを 204.232.175.78 にセットする。 確認。 $ dig bekkou68.com +nostats +nocomments +nocmd ; <<>> DiG 9.7.6-P1 <<>> bekkou68.com +nostats +nocomments +nocmd ;; global options: +cmd ;bekkou68.com. IN A bekkou68.com. 12850 IN A 204.232.175.78 GitHub Pages のリポジトリのルート直下に
おことわり (2014年09月23日 追加) 現在、筆者は以下の記事にあるようなグローバル変数 (グローバルな連想配列) は影響範囲が広すぎるので使っていません。 モデルは property で定義してクラス間で渡したり、global singleton にする等しています。定数やショートカットは AppDelegate に定義して使うことがあります。 はじめに 自分用メモです。 前提 プロジェクト名は myproject とします。 ゴール models という名前でグローバル変数をつくります。 やり方(2013年5月26日更新) 次のような感じで各ファイルを編集します。 myproject.pch(共通ヘッダー) // Prefix header for all source files of the 'myproject' target in the 'myproject' proj
はじめに Amazon EC2 のアプリインスタンスで Munin を Apache で動かす手順をまとめました。 Munin そのものを学びたい時はこのスライドがオススメです。インフラと監視の昔と今、Munin の仕組みや使い方がとても分かりやすく紹介されています。 ゴール Munin が入っているアプリインスタンス1 でアプリインスタンス2 を監視できること。 前提 アプリインスタンス1, 2 がつくられている アプリインスタンスをつくる手順はこちらを参照してください 監視する側のドメインは monitoring.example.com が割り当てられている 手順(2013年12月19日更新) 監視される側 監視される側であるアプリインスタンス2 に SSHログインします。 munin-node をインストールします。 $ sudo yum install -y munin-node
導入 - Introduction pit は、パスワードをエディタで一度だけ入力し、それをファイルに取っておき、次回以降はそのファイルを使って入力の手間を省いてくれる。 - pit emits troublesome to input. User inputs password only first by their editor then pit stores the password as a file and it uses the file from the next time. 例えば、Capistrano で DB 接続する際にパスワード入力が求められる。パスワードをソースコードにベタ書きはセキュリティ的にダメだ。かといって、毎回コンソールから叩くのも面倒。それを助けてくれるのが pit! - For example, you will be required when yo
はじめに XCode/Objective-C で開発していてライブラリを使いたくなりました。手作業でやる方法もあるのですが、その手間を CocoaPods が省いてくれると聞いて試してみました。CocoaPods は Bundler や maven のような位置づけだと思っています。 インストール手順(2014年3月26日 更新) 手順は『CocoaPods ではじめる Objective-C ライブラリ管理 (1) - Watsonのメモ』を参考にさせていただきました! CocoaPods/Specs に使いたいライブラリが登録されていることを確認する。今回は NYXImagesKit を選びます もし登録されていなかったら ``$ pod spec create [lib_name]`` で spec をつくれる。spec は CocoaPods のライブラリの管理単位。詳しくは公式ド
はじめに "Received memory warning" ドキッとするエラーです。このエラーが出た場合や、予防したい場合はメモリと CPU をモニタリングするのがよいアプローチだと思います。 ゴール 5秒おきにメモリ使用量・空きメモリ量・ユーザCPU時間・システムCPU時間がログとして表示される。なお、ログは開発環境でのみ表示する。 アプリ内のView数も追加で表示しました(2013年10月11日)。 実装 システムをモニタリングするクラスを定義 SystemMonitor.h #import <Foundation/Foundation.h> @interface SystemMonitor : NSObject + (void)dump; @end SystemMonitor.m #import "SystemMonitor.h" #import <mach/mach.h> //
はじめに NSLog が本番のビルドに含まれていると、実機を Mac につないでログを確認できてしまいます。秘密にしておきたい情報などが漏れてしまう恐れがあります。 でも、クライアントはテストしにくい現実があり、ログをいたるところに仕込んでおきたい。そんな時はマクロを定義して、開発環境だけでログを表示するようにしましょう。 実装にあたってこちらの記事を参考にさせていただきました。とても詳しいです! 実装 前述の記事の実装を、自分の好みのフォーマットに変えています。本番環境では DEBUG が定義されていないので else 文が処理され何も表示しません。 Appname-Prefix.pch // 開発環境だけでデバッグログを表示する。本番環境で情報が漏れることを防ぐ #ifdef DEBUG #define DLog(fmt, ...) NSLog((@"[DEBUG] " fmt), #
ゴール "hoge", "fuga", "piyo" という 3行の TableView を表示する。 前提 TableView を追加したい ViewController はつくられている前提で話を進めます。 手順 まず xib ファイルで TableView を選んで設置します。次に TableView を選択して Control を押しながら File's Owner にドラッグアンドドロップします。そこで delegate と dataSource それぞれに丸いチェックをつけます(両方つけること!)。 ソースコードの変更は次のような方針でおこないます。UITableView のデータソースになるには UITableViewDataSource プロトコルに準拠したメソッドを2つ実装しておく必要があります。データソースとは「データのもととなるもの」で、今回は「テーブルに含まれる行の
はじめに Amazon ELB を作成し Amazon EC2 への負荷を分散する設定をメモします。 ゴール Amazon ELB に Amazon EC2 のアプリインスタンスが 2つ紐づいた状態で負荷分散されていること。 前提 Amazon EC2 のアプリインスタンスは 1つできているとします(以下、インスタンスA と呼ぶ)。インスタンスのつくりかたはこちら。また、インスタンスA で何らかのサーバが立ち上がっていてブラウザから接続できるとします。 自分のプロジェクトの名前は myproject とします。 大まかな手順 インスタンスA がぶらさがった ELB を作成して接続を確認 インスタンスA のイメージからインスタンスB を作成 インスタンスB を ELB にぶらさげて負荷分散されることを確認 インスタンスA がぶらさがった ELB を作成して接続を確認(2013年09月20日更
はじめに mopub SDK を組み込む機会があったのでエントリにまとめます。公式以外のドキュメントが少なくてだいぶ苦労しました。 In English is here. mopub とは mopub とは広告を総合管理してくれるシステムです。一度 SDK を埋め込めば、管理画面から広告媒体・広告を出す頻度などを変えられます。また、CPM 等を分析できます。mopub SDK を組み込むことで、複数の広告主からの広告を配信できます。組み込むメリットの一つが SDK の差異を吸収してくれることです。広告の SDK は各社でバラバラなので、比例した労力がかかります。ただし、Google AdMob や Millennial Media など、別途 SDK を組み込む必要があるアドネットワークもあります。 ゴール Objective-C のアプリが以下の状態になっていることをこのエントリのゴール
すでに攻略本も Kindle で出ているようです。 はじめに【最終更新: 2013/06/03】 最近 Candy Crush Saga をブースター(移動回数追加・ステージ選択時の追加アイテム等)を使わずに全クリしました。プレイしつつ書いた攻略メモを公開します。プレイの参考になればと思います〜^ω^ なお、このエントリでいう全クリはステージ335 までのクリアを示します。2013年5月20日時点の iPhone版の最終ステージが 335 なのでそれにあやかっています。同時刻の Facebook版はステージ380 までプレイできたり、そもそもステージは更新されていくので正確な意味での全クリというのは今のところ無いと思いますが、自分の中でいったんの区切りがついたのでステージ335 を全クリと位置づけています。要は語呂のいい全クリという言葉を使いたかっただけですw ステージが更新されるにつれて
はじめに Ending の続きです。 まとめ なぜ Resque が job を実行するのに fork しているのかというと、ワーカーのプロセスが使うメモリ量の肥大化を防ぐためだ。job を実行する度に fork するのでメモリは使うデメリットはあるが、実行後のクリーンアップが保証されるメリットがある。肥大化の背景には Ruby において GCレベルでブロック単位の開放は滅多にされないことがある。 ジョブを実行しているコードのリーディング大会 本文中のコードは実際のコードを簡略化して抜き出したものです。実際のコードを読んでみたら複雑なことをやっていました。勉強会メンバーで本で得た知識をもとに読み解いてみました。 # fork をラップすることで、fork をサポートしていない # プラットフォームでも動作するようにしている。 # # *注意* # fork をサポートしてないプラットフォー
はじめに 最近 Web漫画にハマってます。ちょっとした空き時間に読めるのでお手軽に楽しめるのが好きです^^ なんだかんだで30作ほど読んだのですが、そのなかでも特にオススメするものを 12作ピックアップして紹介します。 すべて無料で読めます。書籍化されている作品もあります。【完結】マークがある作品は完結しています。マークがない作品は現在連載中です。 あまり長々と紹介するのはヤボなので紹介文は短めです。まずは読んでみてください^^ 1. ワンパンマン ヒーローもの。キャラ・ストーリがとても魅力的です! サイタマかっこいいw 最近アイシールド21 の村田雄介さんがコラボしてリメイクも出ています。ハイクオリティな作画が楽しめます。 2. 魔界のオッサン ギャグもの。独特の世界観に引きこまれていきます。魅せ方がうまいって思います。 3. 今を逝きる。【完結】 学校生活もの。心にグッとくる何かがあり
次のページ
このページを最初にブックマークしてみませんか?
『bekkou68 の日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く