サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
kzy52.com
WWDC 2014で発表されたアップルの新言語 Swift 。 今回は環境構築からHello World!までを簡単にまとめてみます。 かなり出遅れましたが^^; 環境構築 Xcode 6 betaのダウンロード https://developer.apple.com/xcode/downloads 上記 URL からXcode 6 betaをダウンロードします。(事前にApple Developer Programsに登録しておく必要があります。) Xcode 6 betaのインストール ダウンロードした dmg ファイルをマウントし Xcode6-Beta6.app を Applications にドラッグすればインストール完了。 Xcode 6 betaはXcode 5と共存できるので安心してインストールしてください。 コマンドラインで実行する準備 swift コマンドを実行できるよ
環境 CentOS 6.6 rbenv Ruby のバージョン管理ツール。 ruby-build Rubyの各バージョンのインストールツール。 rbenv install コマンドが使用できるようになる。 rbenv-default-gems Ruby をインストールするときに指定した gem を自動でインストールしてくれるツール。 依存パッケージをインストールする $ sudo yum -y install openssl-devel readline-devel zlib-devel libcurl-devel rbenv のインストール $ sudo su - # cd /usr/local # git clone git://github.com/sstephenson/rbenv.git rbenv # mkdir rbenv/shims rbenv/versions rbenv
環境 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 バージョン 3.0 をインストールしたい場合は baseurl を以下のように指定する。 baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ MongoDB の操作 # 起動 $ sudo service mongod start # 停止
Cassandra はFacebook社が開発したオープンソースの分散データベースサーバです。 Cassandraの特徴 CAP定理のうちAPを重視しているため、以下の様な特徴があります。 高可用性 単一障害点(SPOF)がないアーキテクチャ すべてのノードが同一の機能を持ち、データは複製されて同じクラスタ内の複数のノードに格納される。 データ構造 キースペース(Keyspace) RDBMSでいうデータベース。 カラムファミリの集合を扱う単位。 カラムファミリ(Column Family) RDBMSでいうテーブル。 ロウの集合を扱う単位 ロウ(Row) カラムの集合を扱う単位(ロウキーに多数のカラムが紐付けられる)。 ロウキーに基づきデータがどのノードに分散されるか決定している。 カラム(Column) データの最小単位。 名前(name)、値(value)、タイムスタンプ(times
今までマイグレーションクラスの命名がプロジェクトによってばらばらだったので命名ルールをまとめてみました。 マイグレーションクラスの命名ルール 種別 クラス名 ケース テーブル作成 CreateUsers usersテーブルを作成する場合 テーブル削除 DropUsers usersテーブルを削除する場合 カラム追加 AddAgeToUsers usersテーブルにageカラムを追加する場合 カラム削除 RemoveAgeFromUsers usersテーブルからageカラムを削除する場合 カラム名変更 RenameFromSexToGenderOnUsers usersテーブルのsexカラムの名前をgenderに変更する場合 カラム情報変更 ChangeAuthenticationColumnsOnUsers usersテーブルの認証系のカラムを変更する場合 INDEX作成 AddInde
Apache JMeter - Apache JMeter™ Apache JMeter はパフォーマンス計測用のツールです。 Webアプリケーションのテストをするための様々な機能が用意されているので、複雑なテストを行うことができます。 今回はRailsアプリケーションのパフォーマンス計測をしてみたいと思います。 Railsプロジェクトを作成する $ mkdir demo;cd demo $ echo demo > .rbenv-gemsets $ gem install bundler $ gem install rails $ rails new . $ rake db:create # Gemfile gem 'devise' $ bundle install $ rails generate devise:install $ rails generate devise User $
フロントエンドを Swift で、バックエンドを Rails でアプリを開発してみます。 Web API 側実装 grape という gem を使って Web API を作っていきます。 以下の記事も参考にしてみてください。 Grape で Web API 開発 - kzy52's blog Grape::Entity の使い方 - kzy52's blog Rails プロジェクト作成 $ mkdir api-demo;cd api-demo $ echo api-demo > .rbenv-gemsets $ rbenv local 2.2.0 $ gem install bundler $ gem install rails $ rails new . --skip-sprockets データベース作成 $ rake db:create ユーザテーブルの作成 $ rails g mo
ソースコードの品質向上のため静的コード解析ツールである MetricFu , RuboCop , Brakeman のドキュメント出力を Jenkins で自動化する方法をまとめました。 これらを導入することにより人力コードレビューの負担を少しでも減らすことができるかなと思います。 MetricFu metricfu/metric_fu · GitHub コードメトリクスを測定。 ソースコードの重複チェック、処理の複雑度などを出力してくれる。 Reek, Flay, Chrn, Stats, Flog, Cane, Roodi, Saikuro, Rails Best Practices, Hotspots RuboCop bbatsov/rubocop · GitHub 静的コード解析ツール。 Ruby Style Guide に沿っているかチェックしてくれる。 Brakeman pre
Swift で WebView を使ってWebページを表示するだけのアプリを作ってみます。 初めて実装する人でもわかるよう、細かくコメント入れています。 是非、お試しください。 テンプレートは Single View Application にします。 Webページを表示する UIWebViewクラスを使って WebView を実装していきます。 WebView を実装するには他にも WKWebView というクラスがあります。 class ViewController: UIViewController { var webView: UIWebView? var targetURL = "http://www.yahoo.co.jp/" override func viewDidLoad() { super.viewDidLoad() // Do any additional setup
Grape で Web API 開発 - kzy52's blog 前回は Jbuilder を使いましたが 今回はGrape::Entityというgemを使ってJSONフォーマットを実装していきたいと思います。 ディレクトリ構成とルーティングは以下のようになる予定です。 ├── app │ ├── apis │ │ ├── api │ │ │ ├── base.rb │ │ │ ├── v1 │ │ │ │ ├── base.rb │ │ │ │ ├── comments.rb │ │ │ │ └── message_boards.rb │ │ │ └── v2 │ │ │ ├── base.rb │ │ │ ├── comments.rb │ │ │ └─
Nginx + PHP-FPM で WordPress を動かしてみました。 環境 CentOS 6.6 Remiリポジトリの追加 以下のページ通りにRemiリポジトリとEPELリポジトリを追加しておきます。 (Remiリポジトリを利用するにはEPELリポジトリが必要) 【Linux】EPEL, Remi, RPMforgeリポジトリを追加する方法 - kzy52's blog PHP のインストール $ sudo yum -y --enablerepo=remi install php php-mbstring php-mysql 設定ファイル # /etc/php.ini ; デフォルトの文字コード default_charset = "UTF-8" ; タイムゾーンの設定 date.timezone = "Asia/Tokyo" [mbstring] ; デフォルト言語の設定 mbs
RailsのプロジェクトでMySQLとMongoDBを共存させる方法のメモ。 基本はMySQLと使い一部MongoDBを使うようにする。 プロジェクトを作成する $ rails new sample_app -d mysql Mongoidをインストールする # Gemfile gem "mongoid" $ bundle install Mongoidの設定ファイルを作成する $ rails g mongoid:config 基本はMySQLを使うようにする # config/application.rb config.generators do |g| g.orm :active_record end MySQL用のモデルを生成する $ rails g model MyMysql invoke active_record create db/migrate/20140905145923
Rails で typeahead ライブラリを使ってオートコンプリート検索を実装する方法です。 twitter/typeahead.js · GitHub こんな感じ。 環境 rails-assets-typehead.js 0.10.5 typehead gem を追加する # Gemfile # 追加 source 'https://rails-assets.org' gem 'rails-assets-typehead.js' $ bundle install typehead ライブラリを assets に追加する # app/assets/javascripts/application.js ... //= require typehead ... typehead 用のスタイルシートを assets に追加する https://github.com/bassjobsen/ty
Redmineのバージョンは2.5です。 Ruby, MySQL, Nginxのインストール http://kzy52.com/entry/2013/05/03/022925 Rubyのバージョンは2.0にすること ImageMagickをインストールする $ sudo yum -y install ImageMagick ImageMagick-devel ソースコードを取得する ディレクトリの所有者は適宜変更してください。 $ sudo mkdir -p /var/www/virtualhost/ $ cd /var/www/virtualhost/ $ sudo svn checkout http://svn.redmine.org/redmine/trunk/ redmine $ sudo chown -R redmine:redmine redmine $ cd redmine
MeCabの辞書に新しい単語を追加してみたいと思います。 追加する単語はWikipediaとはてなのものを使用します。 Wikipediaの準備 $ wget http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz $ gunzip jawiki-latest-all-titles-in-ns0.gz はてなの準備 $ wget http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv $ nkf -w --overwrite keywordlist_furigana.csv CSV変換用のスクリプトを作成する # makedic.rb require 'csv' CSV.open("onomasticon.csv", 'w')
gemのインストール時に発生したエラーとその解決方法をまとめておきます。 とりあえずメモしておいたのはこれぐらい。 mysql2 therubyracer kakasi, mecab sqlite libxml-ruby nokogiri capybara-webkit thrift mysql2 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /usr/local/bin/ruby extconf.rb checking for ruby/thread.h... yes checking for rb_thread_call_without_gvl() in ruby/thread.h... yes checking for rb_thread_blocking_region()... yes chec
Mac OS X上にAndroid開発環境を構築した際のメモです。 以下の様な構成になっています。 JDKのインストール Eclipseのインストール Android SDKのインストール ADTのインストール Android仮想デバイス(AVD)の設定 Hello World 環境 Mac OS X 10.9.5 JDKのインストール ダウンロード 以下から、Mac OS X x64をダウンロードします。 Java SE Development Kit 7 - Downloads | Oracle Technology Network | Oracle インストール ダウンロードしたファイルを開いて指示通りにインストールします。 Eclipseのインストール ダウンロード 以下から、Eclipse IDE for Java EE DevelopersのMac OS X 64 Bit版をダ
Rails で開発していると必ず使用する rails console 。 便利な機能が色々あるのでまとめてみました。 環境を指定して起動する $ rails console [-e, --environment=name] $ rails console -e test $ rails console --environment=test # デフォルトは development 環境になる $ rails console > Rails.env => "development" # production 環境で起動する $ rails console -e production # $ rails console --environment=production こっちでもいい > Rails.env => "production" サンドボックスモードで起動する サンドボックスモードで
KAKASIを使えば漢字が入った文をひらがな文やローマ字文に変換することできます。 今回試した環境 Mac OS X 10.9.4 CentOS 5.10, 6.5 KAKASIのダウンロード http://kakasi.namazu.org/stable/ 最新版をダウンロードする。2014-7-17時点では 2.3.6。 KAKASIのインストール $ wget http://kakasi.namazu.org/stable/kakasi-2.3.6.tar.gz $ tar zxfv kakasi-2.3.6.tar.gz $ cd kakasi-2.3.6/ $ ./configure $ make $ sudo make install nkf のインストール 後で使うのでインストールしておく。 $ brew install nkf # Mac OS X の場合 $ sudo y
Grape は RESTful な API を構築するためのマイクロフレームワークです。 今回は Grape を使って簡単な Web API を作っていきます。 intridea/grape · GitHub [2015/03/07] ファイルの配置を変更しました。変更点は GitHub をご確認ください。 準備 $ rails g model MessageBoard title:string body:text $ rails g model Comment message_board_id:integer body:text $ rake db:migrate $ rails g rspec:install # app/models/message_board.rb class MessageBoard < ActiveRecord::Base has_many :comments
CentOSの標準リポジトリで提供されていないパッケージをインストールするためサードパーティのEPEL, Remi, RPMforgeリポジトリを追加します。 これらを追加することで最新のPHPやMySQLなどをインストールすることができるようになります。 CentOSのバージョン、32ビットか64ビットかでrpmファイルの種類が変わってきますので適宜読み替えてください。 Centos 5.x 64ビットの場合 $ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm $ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm $ sudo rpm -ivh http://pkg
Xcode6からEmpty Applicationのテンプレートがなくなったようなので、自力でストーリーボードを削除することにしました。 以下ページが参考になりました。 ios - How to create an Empty Application in Xcode 6 without Storyboard - Stack Overflow Xcode6でもストーリーボードなしのEmpty Applicationから始めたい - あぷすた Single View Applicationを作成する [iOS] > [Application] > [Single View Application]を選択し、Nextをクリックする。 Product Name: demo Language: Swift 1. Main.storyboardとLaunchScreen.xibを削除する。 2. [
pyenv を使えば複数のバージョンのPythonを管理することができます。 それとディレクトリ単位でPython環境の切り替えができる pyenv-virtualenv も入れます。 環境 Mac OS X 10.9.4 インストールする $ brew install pyenv pyenv-virtualenv pyenvの設定 # ~/.zshrc or ~/.bashrc export PYENV_ROOT="${HOME}/.pyenv" if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init -)" fi $ source ~/.zshrc pyenv-pip-rehashのインストール pyenv rehashを自動化してくれます。 $ git clone h
backup という gem を使いファイルやデータベースのバックアップをとる手順を紹介したいと思います。 https://github.com/meskyanichi/backup https://github.com/meskyanichi/backup/wiki インストールする $ gem install backup $ rbenv rehash $ mkdir ~/demo; cd demo # 作業用ディレクトリを作成しておく ファイルのバックアップ 「ローカルストレージにファイルを保存してメールを送信する」という設定で設定ファイルを生成する $ backup generate:model --trigger file_backup --archives --storages='local' --notifiers='mail' --config-path='~/demo/b
いつもお世話になっているtmuxについて改めてまとめてみました。 ターミナル・マルチプレクサ 「tmux」では何ができるのか ・ターミナルの状態を維持しつつ、セッションの切断、再開ができる。 ・1つのターミナル上に複数のターミナルを表示できる。 とかとか 導入するメリット ・ssh の接続が切れても tmux のセッションが裏で動いているので作業を再開できる。 ・別の端末から同じ作業ができる。 ・タブをいっぱい開かなくてもいい。 とかとか インストールする Homebrew(Mac) でインストールする $ brew install tmux yum でインストールする $ sudo yum install tmux apt-get でインストールする $ sudo apt-get install tmux 設定ファイル $ vim .tmux.conf ※コマンドは以下のように省略できる
Rubyリファレンスマニュアルの導入は以下の記事を参考にしてください。 ローカルでRubyリファレンスマニュアルを読めるようにする # ~/.vimrc NeoBundle 'thinca/vim-ref' :NeoBundleInstall メソッド名の上で Shift + k を押せばリファレンスが表示される。
久しぶりに形態素解析エンジンを使う機会があったので MecabとRubyバインディングのMeCab Rubyのインストール手順をメモしておきます。 検証環境 Mac OS X CentOS MeCab のインストール $ wget http://mecab.googlecode.com/files/mecab-0.996.tar.gz $ tar zxfv mecab-0.996.tar.gz $ cd mecab-0.996 $ ./configure $ make $ make check $ sudo make install param.cpp(69) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc 気になるメッセージ... でもIPA辞書は後で登録するし大丈夫みたい。 IPA辞書のインス
オフラインでもRubyリファレンスマニュアルを読めるようにローカルに環境を作っておく。 $ gem install refe2 $ gem install bitclust-dev $ rbenv rehash bitclust コマンドが使えるようになるのでこのコマンドでデータベースを作成する。 $ bitclust setup --versions=1.9.3,2.0.0 これでインストールは完了。 検索したい場合は以下のようにする。 $ refe Array#each # インスタンスメソッド $ refe String.new # クラスメソッド Rubyリファレンスマニュアルをどこでも読めるようになった!
Railsでネストした関連先のテーブルもまとめて保存したい時に使うのが accepts_nested_attributes_forです。すごく便利。 Railsのソースコードを見ながら使い方をまとめてみました。 コンソールから色々試してみる 定義する class User < ActiveRecord::Base has_one :profile has_many :academics accepts_nested_attributes_for :profile accepts_nested_attributes_for :academics end profile_attributes= と academics_attributes= メソッドが追加される $ rails c has_one の場合 # 登録時 > params = { user: { name: 'Test', pro
次のページ
このページを最初にブックマークしてみませんか?
『https://www.kzy52.com/』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く