タグ

2014年3月31日のブックマーク (22件)

  • requireとincludeとextendとmodule_function(1) : As Sloth As Possible

    Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blogを読んでて、もしかしたらちょっと誤解があるのかなと思ったのでrequireとincludeとextendの話を。 requireはKernelモジュールのメソッド Rubyで外部ライブラリを読み込むには、require を利用します。 Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blog これはその通り。もっと具体的に言うと、requireは引数のファイル名のRubyファイルを読み込んで実行するメソッドです。引数が絶対パスだったときはそのファイルを、そうでない場合はロードパスを優先順位上位から辿って最初

    requireとincludeとextendとmodule_function(1) : As Sloth As Possible
  • Ruby/クラス - 俺の基地

    クラスを作る class Hoge def hoge print "ほげ" end def piyo print "ぴよ" end end class クラス名 def メソッド名 #処理内容 end end ▲ ▼ クラスメソッド(静的メソッド)を作る クラスメソッドはselfかクラス名をメソッドの頭につけることによって作れる。 通常はクラス名変更のリファクタを考慮するからselfを使う class Hoge def Hoge.hoge print "ほげ" end def self.piyo print "ぴよ" end end ▲ ▼

  • Rubyのclass << selfとクラスメソッド、ならびに特異メソッドと特異クラス - maeharinの日記

    Rubyライブラリのソースコードを読んでいると、よく class << self という構文が出てきます。 ↓こんなの class C class << self def foo puts 'foo' end end end C.foo #foo 最初見た時は?と思いましたが、ようはこれ(クラスメソッド定義)と同じでした。 class C def self.foo puts 'foo' end end C.foo #foo 肝は ・クラスメソッドとは、クラスの特異クラスのインスタンスメソッドである ・class << obj; endは、objの特異クラスを開く という2点 なので、さきほどのコードに解説をつけるとこうなります class C class << self # クラスCの特異クラスをオープン(このselfはクラスCなので) def foo # クラスCの特異クラスのインスタン

    Rubyのclass << selfとクラスメソッド、ならびに特異メソッドと特異クラス - maeharinの日記
  • Ruby のクラスメソッド定義まとめ - Qiita

    クラスメソッドは特異メソッドやシングルトンメソッドとも呼ばれる,インスタンスではなくクラス体に紐付けられるメソッドです. C++Java などでいう static メソッドのような感じのものです. 一番オーソドックスなやり方 class Hoge def self.hoge "hoge" end end # クラス名を直接指定して呼び出し Hoge.hoge #=> "hoge" # ::を使っても OK Hoge::hoge #=> "hoge"

    Ruby のクラスメソッド定義まとめ - Qiita
  • Klog » Blog Archive » Rubyのselfについていろいろ調べてみた

    Rubyのselfについていろいろ調べたのでメモしておく。 調べた経緯 インターン先のCTOのコードを見ていたら、 class Hoge ... def hoge self.class.const_get(:Moge).new end ... class Moge ... end end なんてものを見つけたため。 selfって何? Rubyでは「self」と呼ばれる式が用意されています。「self」はメソッド内で実行されると、そのメソッドを実行しているオブジェクトを参照することが出来ます。(引用元) メソッド実行中は常に自分自身(メソッドが呼び出されたインスタンス)が 誰であるかという情報が保存されており、selfでその情報を取ることができる。 C++Javaで言えばthisだ。(引用元) さっそく実験。 irb >> self => main トップレベルのselfはmainというら

  • Rubyのmoduleをmix-inする際のincludeとextendの違いをシンプルな例で理解する

    Rubyのclassにmoduleをmix-inする場合に、moduleをclassにincludeした場合とclassをmoduleでextendした場合で何が違うのか? よく判らなくなるのでシンプルな実例でまとめます。 「モジュールがクラスメソッドではなく、インスタンスメソッドを定義しているとき、これらのインスタンスメソッドは、ほかのクラスにミックスインできる」(「プログラミング言語Ruby」261ページ)とあります。そして「モジュールをミックスインするための通常の方法は、Module.includeメソッドだが、Object.extendを使う方法もある」(同262ページ)となっています。includeとextendで何が違うの? となり、時どき理解の足りない書き方をしてNoMethodError: undefined method...のような例外をだしてしまうことがあります。そこ

  • 大学サイトに多く見られるhttps運用への注意

    Updated 2014.03.31 / Published 2014.03.31 ここ1、2年で多くの大学が公式サイトをhttpsでも接続できる運用に切り替えています。その背景の大きな理由に、SSL-VPNを導入しことがあるようですが、httpsでも接続できる運用に切り替えられたことで、Googleの検索結果の変化に伴った思わぬ落とし穴があることに注意しなければなりません。 大学への導入が加速するSSL-VPN 企業、自治体、教育機関など様々ありますが、VPNを一番上手く活用しているのは圧倒的に大学のようです。「大学 VPN」のキーワードで検索しても特定の学部学科の有無に関わらず今や多くの大学がVPNサービスを提供していることがわかります。 VPNは大学であれば自宅や出張先などの学外のコンピュータ端末からでもインターネット環境さえあれば学内の認められたコンピュータ端末のように学内ネットワ

    大学サイトに多く見られるhttps運用への注意
  • /tmpと/var/tmpの仁義無き戦い - Qiita

    課題 /tmpと/var/tmpどっちも大体一緒だからいいんじゃないかと思って/tmpにファイルをつくろうとしたら、プログラムが使用するものは/var/tmpにと叱られた。確かに、基幹系システムのディストリビューションだと何故か/var/tmp派の人が多かった気がする。じゃあ、linux系特有の宗派の問題なのか?と思い調べてみた。 何が他のディレクトリと違うか 通常のディレクトリは、基的にはファイルは削除しない限り消えない。 /tmpに関しては再起動するとファイルが綺麗さっぱり無くなる。 /var/tmpは再起動しても消えないがいつの間にかファイルが消えることがある。 うーん、やはり使用してきたディストリビューションのルールか、業務の慣例的なルールなのかなぁ。 やはり/tmpと/var/tmpは宗教論争なの? そういうわけではないらしい。FHS(Filesystem Hierarchy

    /tmpと/var/tmpの仁義無き戦い - Qiita
  • matarillo.com: UIパターン

    UIパターン 追記 この記事の一部を加筆・修正したものを「開発者が知っておくべき、6つのUIアーキテクチャ・パターン」として@ITに転載しています。 MVVMを追加した上で、アプリケーションモデルとMVVMをプレゼンテーションモデルのバリエーションとして位置づけました。 MVPの2つのスタイルとして、監視コントローラとパッシブ・ビューを説明しました。 まえがき Martin Fowlerの"GUI Architectures"を訳したので公開しようと思ったのだが、FAQページに「EAA developmentとかDSLなんかは商業出版するんで例外ってことで」と書いてある。面倒だったので翻訳の公開はやめて、「自分の理解を書く」というスタイルにしようと思う。 Fowler氏が説明しているのは 「フォームとコントロール」、「モデルビューコントローラー (MVC)」、「プレゼンテーションモデル」、

  • CoreOS が提供してくれるもの - Qiita

    CoreOS の提供してくれる etcd と fleet を少し触って見たのでまとめることにします。 あんまり頑張って CoreOS のドキュメントを読んでいないので理解に間違いがある可能性があるので、編集リクエスト大歓迎です。 詳細なエントリー @mopemope が書いてくれています。詳細に知りたい方はコチラを読むと良いです。 入門と書いてある割にまったく入門ではないので注意。 CoreOS 入門 - Qiita CoreOS は Docker を提供してくれる便利 OS というイメージが広まってますが、それはあまり適切ではありません。 CoreOS はクラスター機能を持っているモダンな Linux です。もちろん Docker も入っていますが、それはベースの一つというだけです。Docker を使うだけなら Ubuntu に Docker をインストールして使う方が良いでしょう。 C

    CoreOS が提供してくれるもの - Qiita
  • 次世代監視ツール Sensu リファレンス - Qiita

    バージョン 0.9 くらいのときの公式ドキュメントのざっくり訳+個人のメモ 情報が古い+理解が間違ってるとこあるかもなので注意して欲しいけど、需要がありそうなので出してみる Overview Sensu は監視ツールの一つ。Sensu はよく "monitoring router" と記述される。もっと平たく言うと、Sensu は多くのノードに対して "check" スクリプトを実行し、1 つまたは複数の Sensu サーバーにて "handler" スクリプトを実行する。 例えば、Apache の死活チェックをするとしよう。チェックスクリプトにより死活だけでなくメトリクスも収集する。そしてそのアウトプットは 1 つまたは複数の Handlers にルーティングされる。Handlers はチェック結果によって何をするのか定義するものだ。Handlers は今のところ E メール、IRC、T

    次世代監視ツール Sensu リファレンス - Qiita
  • JavaScriptで関数型プログラミングの入門 - Qiita

    【他キーワード】 第一級関数(高階関数が扱える) カリー化(部分適用) 型推論 気をつけるべきは三点 JavaScriptで関数型を考えるにあたっては、 抑えるべきポイントは下記三点となります。 すべての関数が値を返す 関数に副作用がない(参照透過) 関数を値として扱える 関数型として気をつけることはほかにもあるのですが、 入門として今回は扱いません。 すべての関数が値を返す 関数がすべての値を返すようにします。 // Good function hello() { return 'Hello' } console.log(hello()); // Hello // Bad function hello() { console.log('Hello'); } hello();// Hello これによりその返り値を利用し、さらに関数を組み立てていきます。 関数に副作用がない(参照透過) 簡

    JavaScriptで関数型プログラミングの入門 - Qiita
  • CoreOS 入門 - Qiita

    CoreOS は Alex Polvi が設立した会社であり、OS、新しい Linux Distribution である。OSS で公開されている。 Polvi 氏といえば Rackspace に 買収された CloudKick を立ち上げ、その後も Rackspace 働いていたクラウドの専門家とも言えるだろう。 その Polvi 氏以外にも Googler や Linux 関連の人材、アドバイザーに Linux の stable branch のメンテナ を迎えるなど、Linux に関する知識がかなり豊富なメンバーが集まっている。 その彼らが作っているのが CoreOS である。 CoreOS は Google や Facebook などの環境を参考にしており、柔軟にスケールし、さらにはインフラ構築その もののプロセス自体も効率よく合理的に行えるよう設計されている。 また運用、管理(セ

    CoreOS 入門 - Qiita
  • 第1章 Ruby言語ミニマム

    Ruby言語について、当面第一部を理解するのに必要な知識だけ簡単に解説して おく。プログラミング上のテクニックであるとか注意すべきところなんてもの は全く指摘しないので、この章を読んだからと言ってRubyプログラムが書ける ようになるわけではない。既にRuby言語の経験がある読者はこの章は飛ばし て問題ないだろう。 また文法については第二部で嫌というほど話すから、この章ではできるだけ文 法の詳細には関らないようにする。ハッシュリテラルなどバリエーションがあ る表記は最も多用されるもののみ示す。省略可能なものは原則的に省略せずに 示す。そのほうが構文規則がシンプルになるからだ。いちいち「省略できる」 とも言わない。 オブジェクト 文字列 Rubyプログラムが操作できるものは全てオブジェクトである。Javaのintや longのような「基型(primitive)」はない。例えば以下のように書

    sh19e
    sh19e 2014/03/31
  • Primer

    Primer is a set of guidelines, principles, and patterns for designing and building UI at GitHub. It provides a shared language and standardized approach to delivering cohesive experiences.

    Primer
  • The Ruby Style Guide日本語版 · fortissimo1997/ruby-style-guide · GitHub

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    The Ruby Style Guide日本語版 · fortissimo1997/ruby-style-guide · GitHub
  • <%= h @document_title %></title> </head> <body> <div class="header">じゃんけんゲーム</div> <div class="main"> <%= yield %> </div> <div class="footer"> Powered by Ruby on Rails </div> </body> </html> <title><%= h @document_title %></title> <title>�

  • Rubyプログラミング中級Rubyプログラミング中級 ⓒ 2009 Linux Academy Ruby プログラミング 中級 Ⅰ 第1章 Rubyにおけるオブジェクト指向⑴ 1 1.1 メソッド 2 1.1.1 メソッドの呼び出し 2 1.1.2 レシーバ�

    Rubyプログラミング中級Rubyプログラミング中級 ⓒ 2009 Linux Academy Ruby プログラミング 中級 Ⅰ 第1章 Rubyにおけるオブジェクト指向⑴ 1 1.1 メソッド 2 1.1.1 メソッドの呼び出し 2 1.1.2 レシーバの省略 3 1.1.3 関数的メソッド 4 1.1.4 メソッドの定義 5 1.1.5 メソッドの戻り値 7 1.1.6 ブロック付メソッド 8 第2章 Rubyにおけるオブジェクト指向⑵ 11 2.1 クラスの定義と利用 12 2.1.1 クラスの定義 12 2.1.2 インスタンスの初期化 13 2.1.3 クラスメソッドとクラス変数 14 2.1.4 アクセスメソッド 15 2.1.5 継承 17 2.1.6 クラス定義の追加 19 第3章 Rubyにおけるオブジェクト指向⑶ 21 3.1 変数と定数 22 3.1.1 ローカル

  • Rubyプログラミング入門

    Rubyプログラミング入門Rubyプログラミング入門 ⓒ 2009 Linux Academy Ruby プログラミング 入門 Ⅰ 第1章 Light Weight Language概要 1 1.1 Light Weight Languageとは 2 1.1.1 Light Weight Languageの概要 2 1.1.2 Light Weight Languageの特徴 3 1.1.3 Light Weight Languageによる開発の流れ 4 1.2 代表的なLight Weight Language 5 1.2.1 Perl 5 1.2.2 PHP 6 1.2.3 Python 7 1.2.4 Ruby 8 第2章 Perlの特徴と基的なプログラム 11 2.1 Perlの概要 12 2.1.1 Perlとは 12 2.1.2 Perlのインストール 13 2.1.3 P

  • Pass: The Standard Unix Password Manager

    Introducing pass Password management should be simple and follow Unix philosophy. With pass, each password lives inside of a gpg encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command line file ma

  • flathemes.com

    flathemes.com 2024 著作権. 不許複製 プライバシーポリシー

  • Sensuを使ってクラウド環境の監視を効率よく行おう - UNIX的なアレ

    AWSなど様々な環境でサーバを管理してくると、すべて同一の監視ツールを使うのがなかなか難しくなってきます。そんなこともあり、私も定期的にいろいろな監視ツールを試しています。 http://nanapi.co.jp/blog/2013/09/11/monitor_nanapi_servers/ nagiosとクラウドの相性が悪い! 監視するには様々なツールがありますが、その中でも特に有名なツールはnagiosでしょう。古くから使われているツールで、プラグインも数多くあり様々な監視を行うことができます。 クライアント側にnrpeをインストールすることで、各ホストの詳細の状態まで監視することができますし、うまく活用すればかなり細かい監視までできます。 しかし、AWSのようなクラウド環境で使うには非常に使いづらいです。というのも、nagiosはサーバ側にどのホストを監視するのかという情報を持たなけ

    Sensuを使ってクラウド環境の監視を効率よく行おう - UNIX的なアレ
    sh19e
    sh19e 2014/03/31