炊きたてのご飯が食べたい

定時に帰れるっていいね。自宅勤務できるっていいね。子どもと炊きたてのご飯が食べられる。アクトインディでは積極的にエンジニアを募集中です。

UINavigationController のデフォルトで追加される戻るボタンの文字を消す方法

Swift2, Xcode7 ここのデフォルトで表示される 戻る back を消す方法です。左に BarButtonItem を置いてしまうと、スワイプで戻る操作が無効になってしまいますが、以下の方法では問題なく表示だけ消せました。 let backButton = UIBarButtonItem() backButt…

Swift2 Alamofire + ObjectMapper で API クライアントを作成する

Swift2.2, Xcode7 サーバーと API 通信するアプリの開発に携わることになり、色々な記事を参考 API クライアントを作成しました。 参考にした記事 Swift2.0で作るAPI通信基盤 Alamofire Github Hearst-DD/ObjectMapper Github APIクライアントを作る理由 API…

iOS のライフサイクルと Autolayout の付き合い方

Swift2.2, Xcode7 要素の frame サイズの取得や、タップジェスチャーや Observer の登録など、 iOS のどのライフサイクル時に設定するのが良いか悩むことが多かったので記事にまとめることにしました。Storyboard を利用して Autolayout を設定しているケー…

Swift 言語の特徴

Swift2.2 です。特徴的だと思ったことを社内の勉強会用にまとめていきたいと思います。コードの動作は playground に貼り付けて確認してください。 型 型の制約 異なる型への代入や演算はできない 演算の結果は同じ型 異なる型へのキャスト メソッドによる変…

AWS で WEB サービスを運用する際に知っておいたら少しは役立つこと

どうも アクトインディ Advent Calendar 2015 の 18 日目の記事になります!本日の担当は namikata です。今日は 「AWS で WEB サービスを運用する際に知っておいたら少しは役立つこと」をつらつらと書いて行こうと思います。テーマは大きいのですが、記事の…

三十路からの TDD

どうも アクトインディ Advent Calendar 2015 も 12 日目になりました。本日の担当は namikata です。今日は TDD について記事を書きたいと思います。 皆さんは、仕事とプライベートはきっちりと分けたいタイプですか?僕は、仕事とプライベートはできるだけ…

今更ですが iOS8 で実装された Share Extension を美味しくいただきました

どうも アクトインディ Advent Calendar 2015 の 23 日目の記事になります!本日の担当は namikata です。今日は 「今さら!」って思う人が多いかもしれませんが、iOS8 の新機能としてリリースされた Share Extension について記事を書こうと思います。 Shar…

Mac(El Captain) に Sublime Text3 で Ruby on Rails の開発環境を構築する

今年の11月にアクトインディに入社した namikata です。今年で 31 歳になります。今まで、エンジニアとして仕事はしたことはないのですが(プログラミングはプライベートで独学)、未経験でも頑張ることを約束して、アクトインディで働くことになりました。 …

AWS の MFAキーを紛失するとやばい

仮想MFAキーとして、自前の iPhone で Google の Authenticator を使っているんですが、ふと見た時に、設定がリセットされて、登録していた情報が消えているのに気がつきました。 このままでは AWS アカウントにログインできない為、AWS のカスタマーサポー…

自分だけのランキングが作れる – マイメモランキング

1分で作成できる自分だけのオリジナルランキング ランキングで管理して、いつでもどこでも自分の「お気に入り」をチェック この前作った料理、美味しかったけどレシピが思い出せない あのお店美味しかったけど、お店の名前を忘れてしまった 数え切れないほど…

feature テストで作成されたデータはテスト完了後もDBに残る

spec_helper.rb で config.use_transactional_fixtures = true している場合、テスト中に明示的に commit をしないとデータは DB に保存されず、テスト完了後にロールバックされる。その為、テスト中に作成したデータは、他のテストに干渉することはほぼない…

jpmobile を使っているプロジェクトの Rspec でスマートフォンのアクセスを行う

allow(request).to receive(:smart_phone?).and_return true で request を スマートフォンのアクセスで stub する describe ParentsController do def as_smart_phone_request! allow(request).to receive(:smart_phone?).and_return true end describe "GE…

before(:all) で allow ( stub ) は実行できない

describe "" do before(:all) do allow(object).to receive(:hoge).and_return(‘fuga’) end it {} end こんな風に書くと、ダメです。Rspec では、 before(:all) での stub や mock はサポートされていない為、以下のような例外が出力されます。 RSpec::Mocks…

Mac の imagemagick が sudo をつけないと実行できない

mac:~$ sudo convert -version Version: ImageMagick 6.9.2-7 Q16 x86_64 2015-11-29 http://www.imagemagick.org Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC License: http://www.imagemagick.org/script/license.php Features: Cipher DP…

MAC 環境で mysql56 nginx(80番ポート) unicorn redis を自動起動する

mysql56 設定と確認方法 参考サイト nginx 設定と確認方法 参考リンク unicorn redis 設定と確認方法 参考リンク mysql56 設定と確認方法 mysql が起動していないこと $ ps ax | grep mysql 4060 s002 S+ 0:00.00 grep mysql launchctl に mysql56 を登録 $ …

Mac 環境 の mysql.server start の実行がエラーで失敗する

ERROR! The server quit without updating PID file 解決までにやった事 mysql を brew コマンドでアンインストール。/usr/local/var/mysql フォルダは削除されないので手動で消す。 brew uninstall mysql rm -rf /usr/local/var/mysql mysqlアンインストー…

Mac OS 10.11 El Captain 環境での bundle install で nio4r libv8 therubyracer mysql2 がエラーになる

環境 Mac OS 10.11 El Captain ruby 2.1.0 bundle install --path vendor/bundle で以下のエラー An error occurred while installing nio4r (1.0.0), and Bundler cannot continue. Build Issue on OS X 10.11 and Ruby 2.2.2 Gemfile.lock を見ると listen…

mac に mecab 0.99 を brew コマンドでインストールしようと思ってできなかった話

以下を参考に、 brew コマンドでインストールしようとしたのでですが、上手くいきませんでした。なので、ソースからインストール。他に上手い方法知っていたら教えていただけるとありがたいです>< mecab.rb を checkout しようとしても、コミット履歴が見つ…

Rails プロジェクトでサービス運用する際によく利用されるシステムについて簡単にまとめる

全般 Gem 監視 参考リンク 都度、更新していく記事。 全般 用途 名前 備考 Webサーバー Ngins Rack Webサーバー Unicorn フレームワーク Rails DB MySQL 全文検索エンジン Solr Sunspot のバックグランドで実行されている。 Gem 用途 名前 備考 アプリケーシ…

capstrano の用語辞典

capstrano の用語辞典 set 関連 :bundle_flags :git_shallow_clone :deploy_via, :remote_cache :shared_children run と run_locally の違い deployコマンド deployの順序 set 関連 :bundle_flags "--deployment は、自分が管理権限を持たないサーバに対し…

mac 環境の vagrant で capstrano の rails ( github ) のデプロイを試す

vagrantbox から Debian の box 取ってきて、rails環境を構築。 1. vagrantbox のサイトから取ってきてDebianを設定する 2. git のインストール 3. rbenv , ruby-build の設定 4. ruby のインストール 5. rails環境の設定 capstrano のインストール 1. 適当…

ユーザー側で任意にアイテムの表示順を更新する(sqlite3)

ユーザーが好きなようにアイテムの並び替えを行う際、どのように作成するのが良いのか悩みました。単純にアイテム毎に並び順のカラムをつけ、変更がある度に全てのアイテムの並び順の値を1から番号を割り振るのは、アイテム数が多くなって来たときに更新対象…

Amazon EC2(AWS) サイトのコピーを作成(サービス断なし)

サイトのコピーは、AWSの管理画面上から簡単に行えます。また、稼働中のサービスを止めることなく作業を行うことが出来るので、何かと覚えておくと便利です。 コピーしたいサイトのEBSボリュームから、スナップショットを作成 作られたスナップショットからA…

mysqldumpをcronで1日1回取得し、バックアップ用ファイルを保存する

●環境:AWSのEC2でOSはAmazon Linux ec2-userのホームディレクトリ /home/ec2-user 内にmysqldumpファイルを置くフォルダを作成 mysqldumpファイルを取得するシェルスクリプトを作成する 動作確認し、問題がなかれば、cron.dailyにシェルスクリプトを配置 1.…

Amazon EC2(AWS) t1.microでWordPress運用

このサイトはAWSのt1.microで運営しています。2013年1月の月間訪問者数は約10,000。1日の訪問数は500人ほどのサイトです。 さくらのVPSから、AWSに移設を決め、できることなら、毎月のサーバー代を抑えたかったので、一番安いt1.microで運営することに決めま…

バックアップ取得編 - Amazon EC2(AWS) Amazon LinuxでWordPress運用

以前、ファーストサーバーで、サーバー上のファイル一式と、DBの情報が全部消去される障害がありました。僕はその被害者の一人です。結局のところ、削除されたデータは復旧されず、幸い、記事データは手元に手動で取得していたDBのdumpファイルがあったらか…

WordPress(Page Speed対応) - KeepAlive を有効にする

難易度 ★★★大変 概要 Webページをブラウザで表示するためには、サーバーに置いてあるhtmlソースや画像といった情報を、閲覧しているPCに一度ダウンロードする必要があります。普通にページを見ているだけでは意識しませんが、htmlの構成は、CSSファイルや画…

WordPress(Page Speed対応) - キャッシュ バリデータを指定する(プロキシーキャッシ(Proxy Cache)を活用する)

難易度 ★★★大変 概要 公開プロキシーサーバーのキャッシュを利用すると、サイトを訪問したことのないユーザーにもキャッシュを利用することができます。プロキシーはキャッシュ機能を実装しているので、過去にサーバから受信したコンテンツを一定期間保持し…

WordPress(Page Speed対応) - ブラウザのキャッシュを活用する

難易度 ★★★大変 概要 キャッシュ(ブラウザがローカルに保存したファイルを使用して、WEBページを表示すること)を友好的に活用することで、ネットワーク経由でのファイルのダウンロード処理が省略され、サイトの高速化、サーバの負荷軽減に繋がります。 静…

WordPress(Page Speed対応) - 圧縮を有効にする

難易度 ★★★大変 概要 Webサーバがファイルを圧縮処理(gzip、deflate圧縮)をして送ることで、送信するデータ量が削減され、ファイルのダウンロード時間の短縮につながります。圧縮したファイルはブラウザが勝手に解凍して表示してくれます。最近のブラウザ…