Tips
MySQL5.7から実装されたJSON型 使い方メモJSON型のテーブルを作成する CREATE TABLE `blocks` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(120) NOT NULL, `content` varchar(200) NOT NULL, `meta` json DEFAULT NULL, PRIMARY…
Rubyの配列展開 array = ["a", "b", "c"] *array # => a # => b # => c arrayのオブジェクトが入った変数の先頭に*(アスタリスク)をつけることでarray[0] array[1] array[2] の出力をしてくれる。 Rubyの中でも地味な機能ではあるけれども便利。筆者はこの機…
Railsでページネーションを実装するライブラリ、kaminariに対してモンキーパッチを当てました。 人生初のモンキーパッチでもあったのでやったことをまとめておこうと思います。 なにをやるのか? 環境は、Ruby 2.3.0 Rails 5.0.0 kaminari 0.17.0今回モンキ…
Rails5を使ってて出たエラーをメモRails5が正式にリリースされてもうすぐ2ヶ月ほど経とうとしています。Ruby on Rails最近新しく作り始めたアプリケーションにRails5を採用して開発を始めました。 そこで開発を効率よく進めていくために色々とGemを導入して…
Rails ActiveRecordで複数のカラムに対して一意制約を設ける。複合一意制約複数のカラムの組み合わせがユニークであってほしい場面に遭遇しました。例えば、Siteテーブル Keywordテーブルが存在する時、Keywordテーブルにある site_id と name そして date …
あれこれ 普段Rubyを触っていてこれは学びとして記録しておきたいなと思ったものを紹介していきます。 OpenStruct Rubyには手軽に構造体を作成することができるOpenStructクラスが用意されています。 require 'ostruct' ab = OpenStruct.new ab.foo = 25 p a…
Emacs の拡張パッケージ Magitを紹介します。 Magitってなに? MagitとはテキストエディタEmacsの機能を拡張するパッケージの一つです。 Emacs上でGitの操作を行うことができるようになります。github.comこんな感じにEmacs上でGitログを追えたりもします。 …
Rubyはほぼ全てがオブジェクトである。 ブロック ブロックとは、 {}もしくはdo...endで定義するもののこと。 ブロックを定義できるのはメソッドを呼び出すときだけ。 メソッドに渡されたブロックはyieldで呼び出される。 def method(a, b) a + yield(a, b) e…
slackからピザの注文に挑戦してみた。\ピザ駆動開発/参考記事 qiita.com家入和真さんがQiitaに投稿しているのを見つけて面白そうだと思ってやってみました。 しかもちょうど小腹が空いた時にせっかくだしデリバリーでピザでも食べようかな、と思ったので。…
この記事は2016年2月で動かす場合の使用方法を紹介しています。wercker自体が開発途中で仕様が変わったりするので注意してください。 また、この記事は常時更新して書き換えていきます。よりわかりやすくより読みやすくを目指していくので、読みにくさがあっ…
ブログのデザインをちょっぴり変えてみました。 何も手を加えずにいたのですが、ちょっといい感じにしようと思いいろいろといじってみました。 前よりは見やすいというか、サイトの雰囲気は良くなったんじゃないかなぁと思います。 ちょくちょく修正を加えて…
最近、一回りも年が違う先輩のそばでプログラムを書いていてたくさんのことを学ばせてもらってます。 普段はRubyを書いているのですがそのRubyコードを先輩にレビューしてもらうとひどい書き方をしまくっていて笑われてしまいました。笑 ただ動くだけのコー…
Docekr コマンド一覧Dockerのくじらちゃんを動かすコマンドを紹介します。 docker pull イメージのダウンロード $ docker pull centos: 7 CentOSのすべてのタグのDockerイメージを取得する $ docker pull -a centos aオプションを指定すると、すべてのタグを…
ヨーダ記法 if文を書いた際に定数を左辺に書く記法のことをヨーダ記法と言います。 # 普通の書き方 if(star == 10){ return NoYoda; } # ヨーダ記法 if(10 == start){ return YesYoda; } ヨーダ記法を使う理由 ヨーダ記法で書くと、比較(==)を誤って代入(=)…
Dockerはさまざまなツールや、サービスの総称そんなツールたちをを紹介します。 Docker Engine (Dockerのコア機能) Dockerイメージの生成やコンテナの起動などを行うためのDockerのコア機能, Dockerコマンドの実行や、Dockerfileによるイメージの生成も行い…
ActiveRecordについて Railsには標準でActiveRecordと呼ばれる機能が付いています、ORマッパーとも呼ばれ、modelとデータベーステーブルがリンクしていて、オブジェクト指向でデータを扱うことができる機能です。 詳しい話は以下を参照してください。 railsg…
Gitでローカルに変更を加えたがそれらすべて破棄して変更前に戻したい。 git checkout ファイル名 これをgitを使っているディレクトリで実行、指定したファイル名へ加えられている変更は破棄される。 特定のファイルだけでなくディレクトリすべてを破棄し、…