ざっくりん雑記

プログラミングで忘れそうなことをひたすらメモる

Rails - DeviseのPassword confirmationを無効にする

無効にするには DeviseのWikiに記述がありました。 Easiest solution is: you can simply remove the password_confirmation field from the registration form located at devise/registrations/new.html.erb (new.html.haml if you are using HAML), which…

Heroku - タイムゾーンを日本に設定する

Herokuのタイムゾーン設定方法 一言でいうと $ heroku config:add TZ=Asia/Tokyo --app [app-name]で設定可能。 サーバの現在時刻を調べる HerokuはデフォルトでタイムゾーンはAsia/Tokyoではない(リージョンはUnited Statesの場合) コンソールを立ち上げ…

Heroku - git push heroku master すると Everything up-to-date となる

現在チェックアウトして作業しているブランチをpushする はじめてデプロイする際は難なくデプロイできて、 その後再度デプロイする際に、 $ git push heroku master すると、 Everything up-to-date 既に全部上がってるよと言われる。 現在、自分がチェック…

Rails - 環境変数を三項演算子を使って適応させる

方法 Rails.env == 'production' ? ENV['FACEBOOK_APP_ID_PRODUCTION'] : ENV['FACEBOOK_APP_ID_DEVELOPMENT'] 三項演算子はすっきり書けて、最近ハマっています。 参考 たのしいRuby 第5版作者: 高橋征義,後藤裕蔵,まつもとゆきひろ出版社/メーカー: SBクリ…

Swift - switch文

Swiftでのswitch文の書き方 オーソドックスな書き方 let signalColor = "green" switch signalColor { case "green": print("通過しても良いです") case "yellow": print("停止できるなら停止してください") case "red": print("停止してください") default:…

Swift - 複数の条件式を書く

複数の条件式を書く時 Swiftのif文においては複数の条件式をカンマ区切り書くことができて、良い。 func judgmentPassOrFailTest(math:UInt, english:UInt) { if math >= 60, english >= 60, math+english >= 120 { print("あなたは合格です!", terminator:…

Swift - レンジ演算子

レンジ演算子 レンジ演算子は、数値の範囲を指定できる演算子で、for文などで使います。 書式 開始値..<終了値 開始値…終了値 数値が範囲内にあるかどうかを調べるとき おもしろい範囲の調べ方ができる…(じぶんにとって見たことがない記法だった) let rang…

Swift - タプル

タプル タプルは、複数の値を1個の値として扱えることが可能となる。1個の変数に複数の値を代入したり、関数で複数の値を返すこともできる。 宣言と代入 書式 (値1, 値2, ...) たとえば、以下のような使い方ができる。 let book = ("Let's Swift!", 1200) va…

Swift - キャストする

Swiftでのキャスト Swiftは定数や変数の型を厳密にチェックする性質を持っている。したがって、Double型にInt型の変数の値を代入しようとしたり、引数の型がInt型と定義しているところにDouble型が渡されるとエラーとなる。 そういった場合にキャストを使い…

Swift - デバッグ用関数

デバッグするときに便利な関数 出力変数 print() デバッグの出力表示時に区切り文字を明示的に指定できたり、終端文字を指定できたりします。 書式 print(値1, 値2, ...separator: 区切り文字, terminator: 終端文字) コード let debugTest = "debug test"…

sudo: no tty present and no askpass program specified setup の対処方法

動作環境 ホスト OS X El Capitan 10.11.6 ゲスト(Vagrant) vagrant 1.8.1 Virtualbox 5.0.14 CentOS 7.2 エラー内容と対処 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Clearing any previously set forward…

Mac - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

動作環境 OS X El Capitan 10.11.6 MySQL 5.7.13 HomebrewでMySQLを導入 突然MySQLが起動しなくなった # mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 解決方法 /tmp/mysql.sockがないことが原因な…

Unix上にいつものGit, GitHub環境をつくる

Vagrantなどで新しい仮想環境(Unix)を作るたびにGitの初期設定、GitHubとのSSH設定をぐぐってるような気がするので、記事としてまとめます。 環境について OS X El Capitan ver.10.11.6 ターミナル(bash) Gitをインストールする $ sudo yum install git ..…

Macでrmagickのbundle installに失敗したときの対処

エラー内容 Installing rmagick 2.15.4 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/azunobu/.rbenv/***/rmagick-2.15.4/ext/RMagick /Users/azunobu/.rbenv/versions/2.3.0/bin…

Rails - Viewでデバッグするならdebug

Viewをいじる時のデバッグ Rails歴1ヶ月弱、きょうViewをいじっているときに便利だ!となって嬉しくなったメソッド、debugを備忘録で残しておきます。 使い方はすごくかんたんで、インスタンス変数であれば <%= debug @item %> これだけで、変数値やパラメー…

Rails - link_toでブロックを囲む

リストの要素全体をaタグで囲みたいパターン リスト一つ一つのブロックをaタグで囲んでクリッカブルにしたい場合はよくある。下のような感じ。 <a href="url"> <div class="content"> <div class="inner-left"> ... </div> <div class="inner-right"> ... </div> </div> </a> link_toメソッド 結論から言うと、カッコつき link_to の後ろに do をつけて、 閉じ end で、ブ…

Ruby - メソッドの種類

Rubyのメソッドの種類 主に大きく分けて、レシーバによって、3種類に分けることができる。 インスタンスメソッド クラスメソッド 関数的メソッド レシーバとは ちなみに、レシーバ(receiver)というのは、以下のメソッドを呼び出す構文のオブジェクトを指す…

Ruby - 繰り返しいろいろ

おもな繰り返し構文・メソッド timesメソッド for文 while文 until文 eachメソッド loopメソッド times 繰り返したい処理の回数が既に決まっている場合に使用すべきメソッド。 基本構文 繰り返し回数.times do 処理 end また、doを省略して{}で囲ってあげる…

Ruby - 多重代入

一般に代入を行うときはa = 1というように一つの変数に代入することがほとんどであるが、変数への代入を複数まとめて行うことも可能で、これを多重代入と呼ぶ。 基本的な多重代入 a = 1 b = 2 c = 3 以上の代入を多重代入に書き直すと、 a, b, c = 1, 2, 3 …

Ruby - 配列を列として扱う

配列は列としてみなすことができる まわりくどいので、ズバッと言うとキューやスタックというデータ構造としてみなすこともできる。 このキューやスタックは対等的なデータ構造と言えるが、どちらも 要素を追加し 追加した要素を取り出す といった操作は共通…

Ruby - 配列を集合として扱う

インデックスでいじるだけが配列じゃない 配列を操作するとき、どれを取り出すか、どこからどこまでを置き換える、どこに挿入するか、といったインデックスを意識したようなものが多い印象がある。 しかし、配列のArrayクラスは、「インデックス付きオブジェ…

Ruby - 配列におけるインデックス

要素の取り出し方いろいろ 要素を取り出す方法は、さまざまある。 array[n] array[n..m] , array[n...m] array[n, length] 簡単な例として以下に示す。 season = ['はる', 'なつ', 'あき', 'ふゆ'] p season[0] # はる p season[0..3] # はる なつ あき ふゆ…

Ruby - 配列の作り方いろいろ

Rubyでの配列の作り方 Array.new array = Array.new p array array = Array.new(3) p array array = Array.new(5, 'Ruby') p array 何も指定しない そのまま0個の配列ができる 引数を1つだけ(数値) その引数の数だけnilの要素が入った配列ができる 引数を2…

Ruby - 配列やハッシュの繰り返し each

配列の要素をいい感じに取り出して利用する eachメソッドは「イテレータ」という種類のメソッドで、以下のような構文 配列.each do |変数| 繰り返したい処理 end または 配列.each{|変数|} 繰り返したい処理 end 最初の例では、each以降のdo ~ endの部分はブ…

PHP - print_r()とvar_dump()について

print_r()やvar_dump()は、渡された内容を見やすい形式で出力する。文字列や数値の場合はecho, print()と同様に単純に文字列として出力する。 配列の場合は、以下のように出力する。 'azunobu', 'age' => 20, 'location' => 'Iwate'); print_r($a); var_dum…

PHP - ヒアドキュメント

複数行にまたがる文字列を出力したいとすると、文字列を連結したり、以下のように

PHP - 関数のパラメータ

関数を定義するとき、任意の値を引数(パラメータ)として渡すことができる。 渡す方法として、値渡しと参照渡しがある。 値渡しのパラメータ 大抵の場合は、こちらを使う。引数には任意の式を指定でき、式の内容が評価された後の値が関数に渡される。

PHP - キャスト演算子

PHP

値を特定の型として扱いたい PHPは元々、弱い型付けの言語であるが、特定の型として扱いたい場面もある。 そういった時は以下のキャスト演算子でキャストすることも可能。 PHPのキャスト演算子 演算子 同じ意味の演算子 変更後の型 (int) (integer) 整数 (bo…

PHP (PDO) - Unknown character set

PHP

PDOクラスにおいてのDB接続時エラー define('DSN', 'mysql:host=localhost;dbname=hoge;charset=utf-8;'); define('USER', 'piyouser'); define('PASSWORD', '1234'); try { $dbh = new PDO(DSN, USER, PASSWORD); echo '接続に成功しました。'.'<br>'; } catch …

PHP - データ型

PHP

ざっくり、PHPには8種類のデータ型がある。 スカラー型(単一の値を取る) 整数 浮動小数点 文字列 論理値 複合型(コレクション) 配列 オブジェクト 特殊型 リソース NULL 整数 10進形式、8進形式、16進形式そして2進形式の4通り 10進形式 2016 -321 +321…