はじめに Effective Ruby、やっと読み終わった!!! ゴールデンウィーク中の課題図書だったのに、思ったよりも内容が重くて読み終わるのに一ヶ月くらいかかってしまった。 Effective Ruby 作者: Peter J.Jones出版社/メーカー: 翔泳社発売日: 2015/01/19メディア: Kindle版この商品を含むブログ (5件) を見る 本書は48項目から構成されていてるんですが、このエントリは、うちいくつかの項目についての感想や備忘録になります。 なお、各項目におけるサンプルコードは本書に掲載されているものではなく、復習のために自分で書いたものです。 感想・備忘録など 項目4 定数がミュータブルなことに注意しよう 定数が配列やハッシュなどのコレクションオブジェクトの場合は、コレクションの要素もfreezeしないとダメ。 # ダメな例 PERFUME = %w(Aa
『 APIデザインケーススタディ 』という本を頂戴したので読んでみた。 ライブラリ作者に向けて この本はRuby標準ライブラリを題材にして、分かりやすく、多様な機能をサポートして、互換性を保つAPIの設計をするにはどのように考えるべきかを教えてくれる。 ここでAPIと言っているのは、一般的なRubyのクラスとオブジェクトとメソッドから成るライブラリをどうデザインするか、という話である。 別にChef RecipeやRSpec DSLのようなちょっと変わったDSLを設計するとかそういう話ではない。確かにその種の言語内DSLのデザインには固有のセンスが必要とされるし、 Ruby DSL Handbook なんて本が書かれているように実装にあたってもある種のテクニックが必要なのも確かだ。でも、それ以外の「ふつう」のライブラリのデザインは果たして簡単だろうか。 適切な粒度のクラスを定義する。必要な
今回はbundle gem test_gemの方を説明していきます。Rails Pluginの詳細は次のサイトに解説があります! rails pluginコマンドで簡単に出来るgemの作成方法 🚜 作成されたファイルの概要今回作成されたファイルの簡単な説明。 bundle gem test_gem -t create test_gem/Gemfile create test_gem/Rakefile create test_gem/LICENSE.txt create test_gem/README.md => このgemの説明や使い方を記述 create test_gem/.gitignore create test_gem/test_gem.gemspec => このgemの説明や依存関係などを記述 create test_gem/lib/test_gem.rb => プログラムを記
はじめに まずどうやってひな形を作るか。ですがこれは bundle gem という、bundlerがデフォルトで提供しているコマンドを利用するのが一番簡単です。 今回はhello_worldという名前でgemを作るので、bundle gem hello_worldとします。 実行すると、このような形でひな形が生成されます。これを使ってgemを開発していくことになります。 gemspec Gemの作成でまず大事になるのが gemの名前.gemspec というファイルです。例えば上記で生成したひな形だと # coding: utf-8 lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'hello_world/version' Ge
2017年1月 追記 syonx.hatenablog.com IRKit IRKit - iPhone,iPadを使って外出先からエアコン等の家電を操作できる学習リモコン maaash.jpAmazon 驚くほど小さい。 Amazon の箱を開けたとき、同時期に注文していた「Fluentdサーバ/インフラエンジニア養成読本」が届いたものだと思っていたから中身がコレでびっくりした。 参考サイト IRKit とはなんぞやという方はこのあたり見るとよいです。 IRKit - Open Source WiFi Connected Infrared Remote Controller 公式サイト Amazon.co.jp: IRKit - iPhone,iPadを使って外出先からエアコン等の家電を操作できる学習リモコン Amazon のレビューもひと通り見ておく iPhoneを家電のリモコンに変え
IBM developer kits Develop and test Java™ Platform Standard Edition applications with the IBM Software Development Kit. Download IBM packages, access Java resources, and collaborate here with our developers. Downloads Downloads of IBM Developer Kits and Runtime Environments for IBM Power Systems™ , Intel® and IBM z Systems™ products that require Java functionality.
IBM's internal OMR project makes maintaining JVM easier across platforms -- and may give other languages a performance boost A new project initiated by IBM to create a toolkit for language runtimes is about to go open source, and it could be used to speed up the performance of existing runtimes for many languages. The OMR project takes pieces of IBM’s J9 Java virtual machine, decouples them from J
米IBMによるさまざまな言語に対応するランタイムライブラリ開発プロジェクト「OMR」が、そのRuby向け実装をオープンソースで公開する。RubyでOMR技術を試すことができるようにと目的を語っている。 OMRは、プログラミング言語のランタイムライブラリを構築するためのライブラリ。さまざまな言語で利用でき、再利用可能で簡単に利用できることを目指して開発が進められている。JavaやRubyからSmalltalkまでさまざまな言語に対応し、新しい言語でも活用できるようにするという。共通のランライムコンポーネントを利用するメリットとして、ランタイムの改善や高速化、機能の追加が容易になるとしている。 今回公開されたコンポーネントは、IBMのJava仮想マシン「J9 Java Virtual Machine」をベースにJava部分を分離したもの。Javaのセマンティックに影響されずほかの言語ランタイム
Learn Ruby With the Edgecase Ruby Koans The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries. We also teach you culture. Testing is not just something we pay lip service to, but something we live. It is essential in your quest to learn and do great things in the language. downlo
rubyにおけるドット記法とは,メソッド呼び出しに利用される. 形式的には, レシーバ.メソッド という形を用いる.
! ? # % & | + - * / ^ ' . , < > = ~ $ @ _ {} [] () " : ` \ ; ! !true not 演算子。演算子式/notを参照。 3 != 5 「等しくない」比較演算子。演算子式/notを参照。 def xxx! 「!」はメソッド名の一部です。慣用的に、 同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。 /xxx/ !~ yyy 正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。 ? ?a リテラル/文字列リテラル。長さ 1 の文字列。 def xx? この場合の「?」はメソッド名の一部分です。 慣用的に、真偽値を返すタイプのメソッドを示すために使われます。 xx ? yy : zz 演算子式/条件演算子。三項演算子とも呼ばれます。if xx then yy e
更新情報 2014/03/03: 初版公開 2020/11/20: Rails 6で確認および更新 こんにちは、hachi8833です。「Railsのルーティングを極める」の後編です。今回はRails 4.0.3 + Ruby 2.1.1の環境で動作確認しています。 Railsのルーティングを極める(前編) ⚓ Railsのルーティング(routes)を極める 2012/03(baba) ⚓ resourcesとネスト Railsのルーティング記法の基本は、複数形のresourcesメソッドと単数形のresourceメソッドです。また、Railsのルーティングにはネストを含む多くのオプションがあり、自由度が飛躍的に高まっています。 以下の2つのルーティングは、ネストしていないシンプルなresourcesルーティングです。prefecturesとarticlesは、いずれもコントローラに合わ
FacebookイベントをGoogle Calendarに登録するスクリプトをつくってみた スクリプト自体はすぐだけど、初回はトークンとかの準備のコスト高いかも。 FBでAccessToken取得 https://developers.facebook.com/tools/explorer/ にアクセスして、「Get Access Token」を押してuser_eventsにチェックを入れてアクセストークンを取得します。 「Get Access Token」を押した後に「Access Token:」っていうフィールドの中身をコピーしてメモっておきます。 Google Api consoleでクライアントキー等取得 https://console.developers.google.com にアクセスして、適当にプロジェクトを作ります。 Calendar APIをONにします。 「認証情報」
フォームで全角文字の入力を禁止したいなーと考えてて,最初は format: { with: } で正規表現を書いてみたんだけど,記号の部分を網羅するのが面倒で微妙だった. ascii_only? ascii_only? (String) - APIdock 判定できそう! pry(main)> 'abc'.ascii_only? => true pry(main)> 'あああ'.ascii_only? => false カスタムバリデータにしてみた カスタムバリデータとして app/validators/ascii_only_validator.rb を書いてみた.良さそう. class AsciiOnlyValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) if value.p
Ruby on Rails を始めたときに 覚えておきたい Bundler(バンドラー)の使い方 |Ruby / Ruby on Rails ビギナーズ勉強会 第3回 2015年3月28日に開催された、「Ruby / Ruby on Rails ビギナーズ勉強会 第3回」での発表資料です。 ショートセッション(10分程度)で発表しました。 Rubyでパッケージ管理システムといえば、RubyGemsですが、複数のPCで、Railsアプリケーションを動かすために同じパッケージ、同じバージョンを揃えるのが難しいです。 そこで、Railsアプリケーションに必要なgemパッケージの種類とバージョンを複数のPCで同じに設定するための仕組みを提供しているが、Bundler(バンドラー)になります。 初心者で最初に覚えておきたいコマンドを4つほどまとめました。 ================= 「Rub
引き続き以下の本をやっていて、 Ruby on Rails 4 アプリケーションプログラミング 作者: 山田祥寛出版社/メーカー: 技術評論社発売日: 2014/04/11メディア: 大型本この商品を含むブログ (3件) を見る 5.6章のカウンターキャッシュのところでハマった。このせいで何時間かロスしたのでメモしておく。 結論から言うと、自分が本で指定されたRubyのバージョンを使っていなかったことが原因です。やれやれ。 事象 本に沿って、UserモデルとReviewモデルのアソシエーションを定義していて、UserモデルにReviewモデルの件数をキャッシュとして持たせた(カウンターキャッシュ)上で、コントローラで@user.reviews.sizeにアクセスしたら NoMethodError undefined method `name' for nil:NilClass が発生した。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く