旅好きエンジニアのメモ

旅のこと映画、統計、会計、プログラミングなど、気の向くままに語ります

ruby

rubyでヒープソートを書いてみました

ヒープソートの説明はwikiを見てください。 ヒープソート - Wikipedia 計算量は必ず、O(n log n)で並び替えるデータの質に関係なく、高速にソート出来る点です。 ヒープソートのクラス class HeapSort class << self def call(list) build_heap(list) (list.…

railsにvue-test-utilsを入れてみる

前提 webpackは使わない。 node.jsを入れている。 npmを使用出来る ※ webpackを使わない理由は対象をrails5だけに絞っていないからです。 必要なものをinstall npm install --save-dev jest @vue/test-utils vue-jest babel-jest jest-serializer-vue vue-cl…

rubyでマークルツリーを書いてみた

ブロックチェーンの勉強をしていてマークルツリーがどんなものかをrubyで書いてみました。 (まだ、勉強したてなので間違えているかもしれません、その際はご教授ください) マークルツリーについてはわかりやすい記事があるので他のを参考にするといいです。 …

icobenchのgem作成してみました。

ICObenchというicoの評価サイトのapiのgem(wrapper)を作成してみました。 icobench.com wrapper github.com ICObenchは多くのicoが掲載されているので、好みにあったicoを探すことができます。 ただ、ICOはscamも多いので精査して購入する必要があります。 …

coinexchangeのgem作りました

最近、仮想通貨にはまっているということでcoinexchangeのapiから簡単にデータを取得できるgem作りました。 github.com ちなみにcoinexchangeは海外の取引所でapiはまだpublicなものしかなさそう。 なのでapiで取引はまだできません。 v2になったら作りなお…

rspecでappディレクトリ以外のテスト(libとかただのscriptとか)

rspecでappディレクトリ以外をテストしたい時ってありませんか? 自分はあります。例えばバッチ処理とかのただのrubyスクリプト。 普通のテスト まず、普通のrspecのテストって下記のような構造で appとspecの位置関係は1対1のようになっています。 . ├── ap…

rails2で'ruby-debug'(デバッグ)を使う時の注意

下記のgemでdebug(デバッグ)する時、だいたいgem入れて gem 'ruby-debug' 自分の止めたいところで debugger をコードの中に入れるみたいな感じで書いていると思います。 そして、サーバーの立ち上げはいつも通りで。。。 bundle exec script/server はい、最…

rails5でapiを作成する方法

apiの改修することはあれども今までapiの作成を初めからしたことなかったので 簡単に作った時のメモをしておきます。 環境 ruby 2.4.2p198 Rails 5.1.4 sqlite3(初期設定のものを使っています) アプリ作成 まず、適当にrails アプリ作りましょう。 rails new…

rails4からrails5でインデックスの貼り方が変わった?

index貼りたいけどrails5になったらadd_indexで貼れなくて戸惑いましたw rails4なら作られたテーブルに関してこんな感じ class AddIndexToTestTables < ActiveRecord::Migration def change add_index :test_tables, :name add_index :test_tables, :name2 …

rubyで引数の初期値がある時の順番の個人的に良い方法

引数の初期値がある時の順番で困る時ってありますよね 例えば、第二引数の初期値を設定する時 def file(name="foo.jpg", mode="rb") File.open(name, mode) end こういう時、第一引数を変えずに、第二引数だけ変えて 呼び出すときは以下のようにしないといけ…

rubyの引数を初期値で配列にするってどうなの?

rubyって色々便利なものがあるんですよね、そこで引数について考察です。 例えば、引数を配列にするとか。 ①と②の例は同じことをしていますが①はスッキリしていますが、②は冗長的です。 おそらくruby的に美しいのは①なのでしょう。 ①引数を配列にする argu =…

Rspecのstub(スタブ)を使ってみる

Rspecのstub(スタブ)を使ってみる rubyにかぎらずテストを書いていたら、どうしてもここの処理はこの値が返ってきてほしいところとかありますよね。(テストを行うために恣意的に値を返したい)そんなときはstub(スタブ)を使いましょう。自分はwebスクレイピン…

railsのsaveとsave!の違い (active record)

railsを使っていてDBに登録するときにsaveを使っているでしょうか?それともsave!を使っているでしょうか? この違いって結構大きいんですよね。ですので使い分けを推奨します。 ではどのように使い分けるかというと、データを新しく取り込むときに取り込め…

rubyとpython どちらも使ってみての比較っていうか感想

お仕事では主にrubyで趣味やデータ分析などの際にはpyhtonを使っています。まぁ、どちらも初心者なので的を捉えてるとは言い難いですが、触ってみての感想を書いて行きたいと思います。 直感的に書けるruby,合理的なpython まず、rubyですが、日本人のMatzが…