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

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フォーマットを実装していきたいと思います。 ディレクトリ構成とルーティングは以下のようになる予…

gem インストール時に発生したエラーとその解決方法まとめ

gemのインストール時に発生したエラーとその解決方法をまとめておきます。 とりあえずメモしておいたのはこれぐらい。 mysql2 therubyracer kakasi, mecab sqlite libxml-ruby nokogiri capybara-webkit thrift mysql2 Gem::Ext::BuildError: ERROR: Failed …

Mac OS X 上に Android 開発環境を構築する

Mac OS X上にAndroid開発環境を構築した際のメモです。 以下の様な構成になっています。 JDKのインストール Eclipseのインストール Android SDKのインストール ADTのインストール Android仮想デバイス(AVD)の設定 Hello World 環境 Mac OS X 10.9.5 JDKのイ…

Grape で Web API 開発

Grape は RESTful な API を構築するためのマイクロフレームワークです。 今回は Grape を使って簡単な Web API を作っていきます。 intridea/grape intridea/grape · GitHub [2015/03/07] ファイルの配置を変更しました。変更点は GitHub をご確認ください…

No software with CFBundleIdentifier of 'xxx' exists.が出た場合の対処法

iOS

XcodeでArchivesのValidate中に以下のようなエラーが発生した。 iTunes Store operation failed. No software with CFBundleIdentifier of 'xxx' exists. Verify your bundle identifier is correct. if it is, you may need to log into itunes Connect to …

Xcode6でストーリーボードを使わないで開発する

Xcode6からEmpty Applicationのテンプレートがなくなったようなので、自力でストーリーボードを削除することにしました。 以下ページが参考になりました。 ios - How to create an Empty Application in Xcode 6 without Storyboard - Stack Overflow Xcode6…

RailsプロジェクトでApache JMeterを使ってみる

Apache JMeter - Apache JMeter™ Apache JMeter はパフォーマンス計測用のツールです。 Webアプリケーションのテストをするための様々な機能が用意されているので、複雑なテストを行うことができます。 今回はRailsアプリケーションのパフォーマンス計測をし…

Vimで現在開いているファイルのパスを取得する設定

vim

# ~/.vimrc function! CopyPath() let @*=expand('%:P') endfunction function! CopyFullPath() let @*=expand('%:p') endfunction function! CopyFileName() let @*=expand('%:t') endfunction command! CopyPath call CopyPath() command! CopyFullPath ca…

Ubuntu Desktop 環境構築

Ubuntu Desktop 環境構築メモです。 パッケージを最新に更新する $ sudo apt-get update $ sudo apt-get upgrade 必要なパッケージをインストールする $ sudo apt-get install zsh vim git tmux ホームディレクトリ以下を英語表示にする LANG=C; xdg-user-di…

MeCabのユーザー辞書にWikipediaとはてなの単語を追加する

MeCabの辞書に新しい単語を追加してみたいと思います。 追加する単語はWikipediaとはてなのものを使用します。 Wikipediaの準備 $ wget http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz $ gunzip jawiki-latest-all-titles-in…

はじめてのChef Solo

はじめての Chef Solo ということで、 Chef Solo を サーバ上で直接実行する方法 と リモートで実行する方法 でwgetをインストールしてみます。 準備 Vagrantで仮想サーバを起動しておく。 はじめてのVagrant - kzy52's blog はじめてのVagrant - kzy52's bl…

Mac OS XにHBase環境を構築する

HBase は列指向、分散データベースです。 スケーラブルで信頼性のあるデータベースを構築することができます。 基本的なこと HBaseには3つのモードがある スタンドアロン(Standalone) 擬似分散モード(Pseudo-Distributed) 完全分散モード(Fully-distributed)…

Mac OS XにHadoop環境を構築する

Hadoop は大規模データを効率的に分散処理・管理するためのミドルウェアです。 今回はMac OS X上にHadoop環境を構築したいと思います。 基本的なこと HDFS 分散ファイルシステム MapReduce 分散処理システム NameNode メタデータを管理する。 DataNode 実デ…

CentOS - NFSサーバー/クライアントの構築

CentOS に NFS を導入するメモ。 サーバとクライアント側で設定が必要なのでVagrantを使って環境を構築したいと思います。 環境 CentOS 6.5 構成 サーバ: 192.168.33.11 クライアント: 192.168.33.12 Vagrantの導入 はじめてのVagrant - kzy52's blog はじめ…

pyenvを使ってPythonをインストールする

pyenv を使えば複数のバージョンのPythonを管理することができます。 それとディレクトリ単位でPython環境の切り替えができる pyenv-virtualenv も入れます。 環境 Mac OS X 10.9.4 インストールする $ brew install pyenv pyenv-virtualenv pyenvの設定 # ~…

はじめてのVagrant

仮想環境構築ツールのVagrantをMac OS Xにインストールした時のメモです。 環境 Mac OS X 10.9.4 VirtualBoxのインストール https://www.virtualbox.org/wiki/Downloads Mac版をダウンロードしてインストールします。 バージョンは現時点最新の4.3.16 Vagran…

Railsプロジェクトでcassandra gemを少しだけ使いやすくする

cassandra-rb/cassandra cassandra-rb/cassandra · GitHub Railsプロジェクトでcassandra gemを少しだけ使いやすくする。 本当に少しだけ...。 # lib/cassandra_ext.rb class CassandraExt < Cassandra include Singleton def initialize config = YAML.load…

Mac OS Xに Cassandra 2.x環境を構築する

Cassandra はFacebook社が開発したオープンソースの分散データベースサーバです。 Cassandraの特徴 CAP定理のうちAPを重視しているため、以下の様な特徴があります。 高可用性 単一障害点(SPOF)がないアーキテクチャ すべてのノードが同一の機能を持ち、デー…

RailsプロジェクトでMySQLとMongoDBを共存させる

RailsのプロジェクトでMySQLとMongoDBを共存させる方法のメモ。 基本はMySQLと使い一部MongoDBを使うようにする。 プロジェクトを作成する $ rails new sample_app -d mysql Mongoidをインストールする # Gemfile gem "mongoid" $ bundle install Mongoidの…

【Rails】AuthlogicでLoadError (cannot load such file -- scrypt) が出た場合の対処方法

Authlogic 3.4.2でエラーが発生するようになった。 LoadError (cannot load such file -- scrypt): Authlogic 3.4.0で暗号化方式がSHA512からSCryptに変わったとのこと。 # Gemfile gem 'authlogic' gem 'scrypt' # 追加 $ bundle install でエラーは出なく…

はじめてのSwift

WWDC 2014で発表されたアップルの新言語 Swift 。 今回は環境構築からHello World!までを簡単にまとめてみます。 かなり出遅れましたが^^; 環境構築 Xcode 6 betaのダウンロード https://developer.apple.com/xcode/downloads 上記 URL からXcode 6 beta…