DesignAssembler

備忘録に近い

2016-03-01から1ヶ月間の記事一覧

Rails5.0.0.beta3のActionController::APIを使う

そろそろRC版が来るRails5のbeta3を触ってみました。 $ bundle init でGemfileを生成します。 # A sample Gemfile source "https://rubygems.org" gem "rails", github: "rails/rails" bundle installします。 $ bundle install 少し時間かかりますがインス…

carrierwaveで画像アップロードAPIサーバー

carrierwaveを使って画像アップロードAPIサーバーを作りました。 どんなの作るか 犬の名前と画像が保存できるサービスのAPIを作ります。 必要なカラムはnameとpicです。 まずは犬データの作成です。名前と画像をPOSTで投げたら名前と画像URLがjsonで返ってき…

コマンドメモ(vimやshell)

シェル 検索、grep find ./ | grep aaaaaaa ファイル内grep find / -type f -print | xargs grep hogehoge /dev/null コマンド履歴から実行 $ (Ctrl-r) (reverse-i-search) ‘bun’:bundle exec unicorn_rails -c config/unicorn.rb -E production -D history …

abstract class

抽象クラスです。ActiveRecord::Baseなどがそうです。 > ActiveRecord::Base.new NotImplementedError: ActiveRecord::Base is an abstract class and cannot be instantiated. 「抽象クラスである」という判別がRubyによりなされているわけではなく、Active…

configとは何者か

Railsのconfig/application.rbにあるconfigが何者か分からなかったので調べました。 config.autload_paths << Rails.root.join('lib/MyLib')とかで使われますよね。 require 'rails/all' module WhatIsConfig class Application < Rails::Application config…

Rubyのincludeとexclude

簡単に言うと、includeはインスタンスメソッドとしてモジュールのメソッドが使えるようになり、extendはクラスメソッドとしてモジュールのメソッドが使えるようになります。 #include_exclude.rb module Dog def dog puts "inu" end end module Cat def cat …

Androidでtesseractを使う(準備)

前回の続きです。 時代の流れにようやく乗ってEclipseからAndroid Studioに乗り換えました。 いろいろまごついて1日かかりました。。。 このStackOverflowを参考にしました。 stackoverflow.com 流れ Android Studioで新しいプロジェクトを作成(TessPractice…

Androidでtesseractを使う(ビルド)

ここを参考にtesseractをAndroid Studioにインクルードして使おうとしました。 qiita.com tess-twoをビルドするのにまずandroid ndkが必要になります。 以下のサイトからandroid ndkの最新版(11b)をダウンロード http://developer.android.com/intl/ja/ndk/d…

c++でtesseract

この前のtesseractの続きです。 hyottokoaloha.hatenablog.com tesseractにはapiが用意されています。これをc++で使ってみます。 失敗 このサイトを見て始めました。 Tesseract-OCRの導入(その2)Visual Studio2013でのAPIの利用 | 株式会社インデペンデンス…

RubyのThread

Thread 文字通りマルチスレッドを実現します。 RubyのThreadの使い方は、以下のブロックに実行したいコードを入れるだけです。 Thread.new do end 速度計測 まずはシングルスレッド #bench1.rb 1000000.times do |i| 2 ** 10000 end $ time ruby bench1.rb r…

openstruct

ここを見ていてopenstructが出てきて分からなかったので調べました。 kenn.hatenablog.com OpenStruct OpenStructはRubyの標準ライブラリで、ハッシュのような機能を持つデータ構造を提供しています。 OpenStructクラスから作成したオブジェクトをレシーバに…

2月読んだ本

総評:面白かった

ActiveRecord::Relation

データベース操作の時に使う便利なメソッドが実装されています。 find_each 1000件ずつレコードを取得してfindします。 findはそのテーブルの全レコードをメモリに広げるので、例えば10万レコードのDBにfindするとマシンがフリーズする可能性がかなり大きく…

Rubyのfailメソッド

github.com ActiveJob::Executionのperformメソッド見たらfailというメソッドがありました。 failメソッド fail (Kernel) - APIdock module function Kernel.#fail (Ruby 2.1.0) failメソッドはKernelメソッドで、例外を発生させるメソッドのようです。 確認…

RailsでのCSRF対策避け

railsでガリガリjsでajaxの実装してるとPOSTした時CSRFのエラーが出ます。 Can't verify CSRF token authenticity 解決方法ググると「CSRF対策をオフにすれば動くようになる」と書いてある記事が多かったですが、それでは根本的な解決ではありません。 CSRF…

tesseractを使う

tesseractはOCRツールです。 つまり、画像から文字を読み取ります。 tesseractのインストール github.com brewで提供されているのでbrewからインストール $ brew install tesseract 簡単。 tesseractを使う 書式は以下のとおり tesseract imagename outputba…

OpenCVで顔検出

カスケード分類器というものを使って入力した画像から顔を検出します。 カスケード分類器 カスケードとは、連続したもの、数珠繋ぎになったものを意味します。 カスケード分類器は、いくつかの特徴量をまとめた学習データです。 ここでの顔検出の流れは、 入…

omniauthについて

omniauthはoauth認証をrubyで使えるようにするgemです。 github.com OAuth あらかじめ信頼関係を構築したサービス間で ユーザの同意のもとに セキュアにユーザの権限を受け渡しする つまり、自作のwebアプリケーションのアカウントをTwitterやFacebookなどの…

今日見た島

アルカトラズ島

DB設計指南3、4、5章

3章論理設計と正規化 テーブル名は英語ならば複数形/複数名詞で書ける。そうでなければそのテーブルにはどこか間違いがあります。 テーブルの構成要素 キー 以下の2つが特に重要です 1. 主キー 2. 外部キー 主キー 主キー、またはプライマルキーと呼びます。…

今日食べたもの

カニ

文字コード設定してるのにIEだけ文字化けする

phpでページ書いてる時IEだけ文字化けすることがままありました。 この時自分がした解決方法です。 解決法 <meta charset="UTF-8">を<title>の上に持っていく IEさんはページを読み込む時始めに見つけた文字コードをそのページの文字コードと認識します。(IEのデフォルトはshift-jis) なの</title></meta>…

実践ハイパフォーマンスMySQL1章

MySQLのアーキテクチャと歴史 最適化 MySQLはクエリを解析して内部構造(解析ツリー)を作成する。 クエリの実行に必要な情報をオプティマイザに渡してなるべく効率化する。 トランザクション トランザクションは、1つの作業単位としてアトミックに扱われるSQL…

RailsでRedis使う

Redisとは、KVS(Key-Value-Store)型のデータベースの事で、保存のデータ構造がキーバリュー式になっています。 また、全てのデータセットをメモリに読み込むので非常に高速です。 まず適当なrailsアプリケーションを作ります。 ※redisがPCに入っていることが…

Railsでインデックスを張る

先日のこの記事にDBのカラムにインデックス設計について書きました。 hyottokoaloha.hatenablog.com 今回は具体的にRailsでインデックスを張ります。 $ rails g migration AddIndexToUser これで以下のファイルが作成されます。 #db/migrate/20160229095843_…

respond_to?とself_respond_to?の違い

respond_to? respond_to?メソッドはレシーバが使用可能なメソッドを調べるメソッドです。 これはRubyのビルトインメソッドです。 obj.respond_to?(name, private = false) class Respond def hello puts "hello" end end > Respond.new.respond_to?(:hello) …