mogenerator コマンドで 「skipping entity User (NSManagedObject) because it doesn't use a custom subclass.」が出た場合の対処法

問題 mogenerator コマンドを叩いたら以下のようなエラーが発生。 $ mogenerator -m swift-ios-example/swift-ios-example.xcdatamodeld/swift-ios-example.xcdatamodel/ -O Models/ --template-var arc=true skipping entity User (NSManagedObject) becaus…

CentOS に Errbit をインストールする

環境 CentOS 6.6 必要なライブラリーをインストールする $ sudo yum install -y git nginx nodejs MongoDB のインストールと起動 # /etc/yum.repos.d/mongodb-org.repo [mongodb-org] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/…

CentOS に Ruby をインストールする

環境 CentOS 6.6 rbenv Ruby のバージョン管理ツール。 ruby-build Rubyの各バージョンのインストールツール。 rbenv install コマンドが使用できるようになる。 rbenv-default-gems Ruby をインストールするときに指定した gem を自動でインストールしてく…

Mac OS X に Ruby をインストールする

環境 Mac OS X 10.10.3 rbenv Ruby のバージョン管理ツール。 ruby-build Rubyの各バージョンのインストールツール。 rbenv install コマンドが使用できるようになる。 rbenv-gemset gem のインストール先を管理するためのツール。 プロジェクト毎に gem の…

CentOS に MongoDB をインストールする

環境 CentOS 6.6 MongoDB のインストール # /etc/yum.repos.d/mongodb-org.repo [mongodb-org] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 $ sudo yum install -y mongodb-org バー…

MeCab インストール時に「./configure」でエラーが発生した場合の対処法

問題 $ ./configure ... checking if g++ supports template <class T> (required)... configure: WARNING: g++ template <class T> does not work checking if g++ supports GCC native atomic operations (optional)... no checking if g++ supports OSX native atomic opera</class></class>…

Swift と Rails で iOS アプリ開発

フロントエンドを Swift で、バックエンドを Rails でアプリを開発してみます。 Web API 側実装 grape という gem を使って Web API を作っていきます。 以下の記事も参考にしてみてください。 Grape で Web API 開発 - kzy52's blog Grape::Entity の使い方…

iOS - WebView でローカルファイルを表示する方法

ローカルファイルを Xcode プロジェクト内に配置して WebView で表示させてみます。 プロジェクトの作成 適当にプロジェクトを作成してください。 ここでは 「WebViewLocalFileExample」 というプロジェクト名にします。 WebView で表示させたいファイルの準…

iOS - Swift で CocoaPods を使う方法

Swift で CocoaPods を使う方法です。 プロジェクトの作成 適当にプロジェクトを作成します。 今回は 「CocoaPodsExample」 というプロジェクトを作成します。 プロジェクト作成後 Xcode は一旦閉じてください。 Cocoapodsのインストール $ gem install coco…

Type 'ViewController' doen not conform to protocol 'UITableViewDataSource'

問題 UITableViewDataSource プロトコルを指定した場合に以下のようなエラーが発生。 Type 'ViewController' doen not conform to protocol 'UITableViewDataSource' 原因 UITableViewDataSource プロトコルを使用する場合、以下2つのメソッドが実装必須にな…

Jenkins で 静的コードチェックを自動化する MetricFu, RuboCop, Brakeman

ソースコードの品質向上のため静的コード解析ツールである MetricFu , RuboCop , Brakeman のドキュメント出力を Jenkins で自動化する方法をまとめました。 これらを導入することにより人力コードレビューの負担を少しでも減らすことができるかなと思います…

iOS - Swift で WebViewアプリを作ってみた

Swift で WebView を使ってWebページを表示するだけのアプリを作ってみます。 初めて実装する人でもわかるよう、細かくコメント入れています。 是非、お試しください。 テンプレートは Single View Application にします。 Webページを表示する UIWebViewク…

Rails でオートコンプリート機能を実装する

Rails で typeahead ライブラリを使ってオートコンプリート検索を実装する方法です。 twitter/typeahead.js twitter/typeahead.js · GitHub こんな感じ。 環境 rails-assets-typehead.js 0.10.5 typehead gem を追加する # Gemfile # 追加 source 'https://r…

GitLab - push 時に 「Permission denied (publickey,gssapi-keyex,gssapi-with-mic).」

エラー内容 GitLab で push 時に以下のようなエラーが発生した。 $ git push -u origin master Permission denied (publickey,gssapi-keyex,gssapi-with-mic). fatal: Could not read from remote repository. Please make sure you have the correct access…

VimでMarkdown を編集するための設定

vim

Vim で Markdown を編集することが多いのでストレスなく書けるように色々設定を追加してみました。 # ~/.vimrc if has("autocmd") augroup MyAutoCmd autocmd! " md等の拡張子をMarkdownと判断させるための設定 autocmd BufNewFile,BufRead *.{md,mdwn,mkd,m…

Error: File /var/cache/yum/x86_64/6/epel/metalink.xml is not XML

$ sudo yum update Loaded plugins: fastestmirror, security Setting up Update Process Loading mirror speeds from cached hostfile Error: File /var/cache/yum/x86_64/6/epel/metalink.xml is not XML 「Error: File /var/cache/yum/x86_64/6/epel/meta…

Nginx + PHP-FPM で WordPress を動かす

Nginx + PHP-FPM で WordPress を動かしてみました。 環境 CentOS 6.6 Remiリポジトリの追加 以下のページ通りにRemiリポジトリとEPELリポジトリを追加しておきます。 (Remiリポジトリを利用するにはEPELリポジトリが必要) 【Linux】EPEL, Remi, RPMforgeリ…

Apache で WordPress を動かす

Apache で WordPress を動かしてみました。 環境 CentOS 6.6 Remiリポジトリの追加 以下のページ通りにRemiリポジトリとEPELリポジトリを追加しておきます。 (Remiリポジトリを利用するにはEPELリポジトリが必要) 【Linux】EPEL, Remi, RPMforgeリポジトリを…

ActiveRecord の結果からフィクスチャを生成する

ActiveRecord の結果からフィクスチャを生成する方法です。 $ rails c > table_name = User.table_name > records = User.all > > File.open("#{table_name}.yml", 'w') do |file| > records.map(&:attributes).each.with_index(1) do |record, i| > file.wr…

Rails のフォームビルダーをカスタマイズする

Ruby on Rails Guides にフォームビルダーをカスタマイズする方法が載っていたので試してみた。 # lib/labelling_form_builder.rb class LabellingFormBuilder < ActionView::Helpers::FormBuilder def text_field(attribute, options={}) label(attribute) …

Rails でタイムゾーンのセレクトボックスを生成する

<%= time_zone_select(:user, :time_zone, nil, include_blank: true) %>

Rails のログでパラメータをフィルタする

Started POST "/users" for 127.0.0.1 at 2014-11-28 23:00:59 +0900 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"B2eI4UTdaJbQ0WOSIdqPrybKJA1iKEdZPQoIXze+anQ=", "user"=>{"email"=>"user1@example.…

Asset Pipeline のロードパスの一覧を確認する

$ rails c > y Rails.application.config.assets.paths --- - "/Users/username/workspace/personal/demo/app/assets/images" - "/Users/username/workspace/personal/demo/app/assets/javascripts" - "/Users/username/workspace/personal/demo/app/assets/…

Rails の I18n で読み込まれている YAML ファイルを確認する

$ rails c > y I18n.load_path --- - "/Users/username/.rbenv/versions/2.1.4/gemsets/demo/gems/activesupport-4.1.8/lib/active_support/locale/en.yml" - "/Users/username/.rbenv/versions/2.1.4/gemsets/demo/gems/activemodel-4.1.8/lib/active_model…

rails console まとめ

Rails で開発していると必ず使用する rails console 。 便利な機能が色々あるのでまとめてみました。 環境を指定して起動する $ rails console [-e, --environment=name] $ rails console -e test $ rails console --environment=test # デフォルトは develo…

Rails の link_to メソッドでアンカーリンクを作成する

anchor オプションを使用することでアンカーリンクを作成することができる。 <%= link_to 'ユーザーA', user_path(@user, anchor: :profile) %> 以下のようなリンクが生成される。 <a href="/users/1#profile">ユーザーA</a>

Rails のマイグレーションクラスの命名ルール

今までマイグレーションクラスの命名がプロジェクトによってばらばらだったので命名ルールをまとめてみました。 マイグレーションクラスの命名ルール 種別 クラス名 ケース テーブル作成 CreateUsers usersテーブルを作成する場合 テーブル削除 DropUsers us…

MySQL - Got a packet bigger than 'max_allowed_packet' bytes

ERROR 1153 (08S01) at line 1842: Got a packet bigger than 'max_allowed_packet' bytes リストアしようとしたらこんなエラーが発生。 mysql> show variables like 'max_allowed_packet'; +--------------------+---------+ | Variable_name | Value | +--…

【Linux】「sudo: chkconfig: command not found」というエラーが出た場合の対処法

$ sudo chkconfig httpd on sudo: chkconfig: command not found 原因は以下の記事と同じ。 【Linux】「sudo: service: command not found」というエラーが出た場合の対処法 - kzy52's blog 【Linux】「sudo: service: command not found」というエラーが出…

Grape::Entity の使い方

Grape で Web API 開発 - kzy52's blog Grape で Web API 開発 - kzy52's blog 前回は Jbuilder を使いましたが 今回はGrape::Entityというgemを使ってJSONフォーマットを実装していきたいと思います。 ディレクトリ構成とルーティングは以下のようになる予…