かずおの開発ブログ(主にRuby)

日々の開発のことを色々書きます。

オブジェクト生成時にインスタンス変数の初期値を設定する

オブジェクト生成時にインスタンス変数の初期値を設定する Railsのmodelではmodel生成時に user = User.new(name: "tarou", address: "東京都港区", phone: "08099999999"...) このような形で初期値を設定することが出来ます。 でこれに慣れてるとRubyでこの…

今いるブランチをクリップボードにコピーする

コマンドはなかったのでlsfullに引き続き自分で書きました bashrcとかに以下を追記 alias gbcopy='git rev-parse --abbrev-ref HEAD | pbcopy' 読み込み . ~/.bashrcとか 使う $ gbcopy $ master #paste 結構便利です。

LINUXでファイルのフルパスを表示させる

コマンドが無かったのでシェルスクリプトで書きました。 bashrcとかに以下を追記して function lsfull() { current=`pwd` echo $current command ls -d ${current}/* } 読みこみ . path/to/bashrcとか 使ってみる $ lsfull /Users/user/desktop/foo/hoge /Us…

Rubyのメソッドについてあらためてしっかり理解する

今回はメソッドについてです。 Rubyに限らずほぼ全ての言語には パブリックな インスタンスメッド クラスメソッド プライベートな インスタンスメッド クラスメソッド を定義可能です。 今回はこれらについて詳しく見ていきます。 パブリックと プライベート…

== と ===の違いについて

今回はRubyにおける==と===の違いについて調べました。 ===メソッドはwhen case文の中で内部的に使われているので、違いをわかっていないと思わぬところではまります。 先に結論から言っておくと ===メソッドが拡張されていないクラス ==と同じ ===メソッド…

チェックボックスやラジオボタンの値に応じてフォームの活性非活性を切り替える

Railsでフォームの開発をしていて、チェックボックスやラジオボタンの値によってフォームの活性/非活性を切り替えたいなってことがよくあります。 その度に実装方法を思い出して、実装するっていうのは時間の無駄+馬鹿らしいのである程度汎用的なメソッドに…

配列、ハッシュを半分に分ける

Rubyを書いていて配列やハッシュを綺麗に半分に分けたいなってときありますよね?少なくともぼくはあったし、今この記事を見ているあなたもそう思ってるのかもしれません。 イメージとしてはこんな感じです。 [1, 2, 3, 4] => [[1, 2], [3, 4]] ["Yamada" =>…

Rubyチートシート

たまに使おうと思うと忘れていて毎回リファレンスを見る→理解する→書くが面倒なので、自分が一瞬で思い出せるようにメモ。 文字列処理 特定の文字列を切り出したい slice : 何文字目から何文字分切り出すって時に使う。戻り値は切り取られた値。[]と同義。 s…

Railsでぺージ内タブを実装する(powerd by BootStrap)

今回はBootstrapを使ってRailsアプリにぺージ内タブを実装します。 Rails内でBootstrapを使うにはtwitter-bootstrap-rails gemを導入しておく必要がありますので、あらかじめこのあたりのぺージを参考に 導入しておいてください。 seyhunak/twitter-bootstra…

Railsでfaviconを設定する

前回に引き続き超基本ですが、検索した時に一番上に出てきた favicon_link_tagメソッドを使ったファビコンの設定 - Ruby on Rails入門 でうまくいかなかったのでうまくいった方法を書いておきます。 faviconを作成する 既成のものを使ってもいいですが、せっ…

MySQLのユーザーを作成する

基本中の基本ですが、僕のように初心者の人には役に立つかなと思うので残しておきます。 サーバーを起動 $ mysql.server start rootでログイン $ mysql --user=root; userを作成('ユーザー名'@'ホスト名'で作成) CREATE USER 'user'@'localhost' IDENTIFIED …

VCRを使って開発中にあほみたいにリクエストを飛ばさないようにする

RubyでWebサイトからスクレイピングしまくってデータを取得しまるくるようなプログラムを書いていると開発のテスト中にリクエストをあほみたいに飛ばしてしまうときがあります。 そうするとそのサーバーに迷惑がかかってしまいますし、あんまりいい気持ちの…

Mechanizeを使ってページ遷移

Mechanizeを使って簡単なページ遷移を書きました。 googleのトップページから リンクをクリック フォームに値を入力してサブミット を実行したものです。 scraper.rb main.rb あとは $ ruby main.rb で実行されてコンソールに色々表示されるはずです。 ほと…

jQueryでよく使う処理をどんどんまとめていく[随時更新]

何度も使う基本的な操作をどんどんここにまとめていく。複数処理にまたがりそうなものはUtilとして作成 ※ coffeescriptで書いてるのでjavascriptの方は随時補完してください。 Utilはこちら DOM操作 普通のテキストボックスや数字ボックス チェックボックス …

getAppContextをActivityクラス以外から呼ぶ

内容は表題の通りです。 getAppContextメソッドをActivityクラス以外から呼びたいというかこれができないとActivityクラスがどんどん巨大になってしまいます。 調べたらすぐ出てきました。 やり方としてはApplicationクラスを継承したクラスを作成してstatic…

slimのhtmlタグ内でrubyのコードを使いたいとき

例えば erbで こんなのがあったときにslim初心者的には<%= %>のところをどう書いたらいいのかわかりません。 普通にいつもの通り=にしてしまうと当然うまくいきません。 結論としては が正解です。 結局変数などと同じで"#{}"で囲んじゃえばいいみたいです。

Slimでsimple_formatは使えない

表題の通りですがRailsにはsimple_formatというとても便利な機能があります。 simple_format - リファレンス - - Railsドキュメント 内容はここに書いてある通りですが、改行のある長い文章をいい感じにマークアップをしてくれます。 で例のごとくそれをSlim…

新•Unity5の新しいAssetBundleSystemを使ってAssetをダウンロードする

前回のエントリーは不十分なところがかなり多かったので改めてUnity5におけるAssetBundleの使い方について説明したいと思います。 今回作るもの 動画 今回製作するものはこちらです。一見ただ顔がInstantiateされたように見えますが実際にはサーバーから落と…

Grove - Moistureセンサーを利用して湿度を取得

今回はこちらのMoistureセンサーを用いて植木鉢の土の湿度をはかるだけのシンプルなプログラムを書いてみたいと思います。 Grove 水分センサー モジュール Arduino出版社/メーカー: smartDIYsメディア: この商品を含むブログを見る その他、今回必要なものは…

全ての子要素を取得する(子要素の子要素の子要素の‥)

Unityで孫とかもひ孫とかも含めて子要素全部取りたいなってときあると思います。 今回はそれを作ってみたいと思います。 出来た動画はこのような感じです。 youtu.be いい感じに全部取れていますね。(ただ動画は暗くなってうまく取れません笑) スクリプトを…

Animatorを使わずにAnimation単体で再生する

UnityでそのGameObjectで再生させたいアニメーションが1種類だけ(例えばUIを点滅させるや爆発のアニメーションを起こすなど)のときにいちいちAnimatorをつけているとAnimatorのUpdateで処理が重くなってしまいます。かといってAnimation単体をつけただけでは…

Unity5の新しいAssetBundle機能を使ってサーバーからAssetBundleをダウンロードする

※こちらの記事の内容についてOSごとのビルド分けを行っていないためPC上では動作しますが、実機に移したときに動作しません。 実機に移して使えるものについてはこちらを参照ください。 kazuooooo.hatenablog.com AssetBundleをビルド まずAssetBundleビルド…

Generics

動画 Unity - Generics Genericsはメソッドやクラスの型を呼び出しもとで決めれるようにしたもの Genericメソッド Tの部分は呼びだし元が定義する。(複数型を使いたい場合はT,U,Vで3つまで定義が可能) gist.github.com gist.github.com Genericクラス そも…

Method OverLoading(多重定義)

同じ名前のメソッドを別の型で用いたいときなんかに使える コードを見れば何をしているかは大体わかる。あまり使いどころはなさそう gist.github.com gist.github.com 動画 https://unity3d.com/jp/learn/tutorials/modules/intermediate/scripting/method-o…

Statics

Staticな変数 これは既知の通り。ゲーム内で共通に用いられる値(例えば敵の数)についてはstaticそうでないクラス単位で持つ変数についてはstaticにしないというルール Staticなメソッド これも既知の通りで、staticなクラスで作ったメソッドは他のクラスから…

Ternary Operator(3項演算子)

真偽判定を便利にできる3項演算子 gist.github.com 参考動画 Unity - Ternary Operatorunity3d.com

Properties

Unity - Properties プロパティとはメンバ変数をカプセル化して、外部から変数へのアクセスをより柔軟に変更できる仕組みです。 まずは基本的な使い方から。 このように変数はprivateにしてプロパティを変数名の大文字にして書くのが一般的な書き方です。get…

簡易ダメージスライダーの作成

今回はゲーム制作によく使われるダメージスライダーを作成してみます。 完成図 youtu.be 準備(iTweenをインポート) 今回はiTweenというUnityAssetを使用しますので、予めimportしておきます。 itween - A simple, powerful and easy to use animation system…

vimの基本コマンド

モードについて ノーマルモード(esc) : 他のモードの移動もとになるモード 挿入モード (i) ビジュアルモード(v) コマンドモード(:) ファイルの保存読み込み :w ファイル名 : 名前をつけてファイルを保存 :q :終了 :q!: 強制終了 :e ファイル名 :他のファイ…

Dictionaryの使い方

Dictionaryの使い方をしっかり理解できていなかったのでメモ 簡単なサンプルを載せておきます gist.github.com