旅好きの気ままなお話

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

coinexchangeのgem作りました

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

中国でslackは使えるのか?

中国でのslack 最近、中国の雲南省に行ってきました。 会社からのslackでの連絡も見れるかどうかも確認したく、検証してみました。 中国のネット規制 まず、gmail、facebook、lineは使えません。 しかも心の拠り所のskypeまで規制対象になるそうです。 一体…

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

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

pythonでjwt使おうとしたらライブラリで詰まった件について(入れなおせばいいんだ!)

jwtって そんな人は下記記事が参考になります。 今回はエラーの対処法のみです qiita.com ライブラリ似過ぎな件 ①Pyjwt github.com ②jwt github.com はい、こいつらの共存が悪影響を及ぼします。。。 名前空間でも影響しあってるのかな? そこまで調べる気力…

goのフレームワーク ginの"gin-scaffold"を入れようとしたらエラーが出た。("hg": executable file not found in $PATH)

ginの"gin-scaffold"を入れようとしたらなんかエラーがでた。 $ go get github.com/dcu/gin-scaffold package bitbucket.org/pkg/inflect: exec: "hg": executable file not found in $PATH go: missing Mercurial command. See https://golang.org/s/gogetc…

pythonでapiからデータを取得する方法 (urllib3)

はてさて、pythonでapiからデータするときみなさんはどんなライブラリを使いますでしょうか? urllib? urllib2 urllib3? ってライブラリ多いですね。 ちなみに、"urllib"は"https"でデータを取得できない場合もあります。 なので、個人的なオススメは"urllib…

djangoでpandas使うのは簡単だった

pandas使ってデータ分析しているサイトがよくあって、 私も参考にしているのですが大体csv使ってませんか? 少ないデータだったらcsvで良いと思うんですけど、 apiやスクレイピングデータ取るときってdbに突っ込みませんか? djangoのormでデータをdbにつっ…

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 …

pythonで配列追加の処理速度の違い

pythonで配列追加の処理速度を比べてみました。 "append"を使う方法 import time def process(): result = [] start_time = time.time() for _ in range(10000000): result.append("test") processing_time = time.time() - start_time return processing_ti…

pythonのリスト内包表記と普通のfor文どちらが早いか

リスト内包表記と普通のfor文どちらが早いかを確かめてみました。 普通のfor文 import time def process(): start_time = time.time() result = [] for i in range(30000000): result += [i] processing_time = time.time() - start_time return processing_…

pythonの標準入力で気をつける

pythonの標準入力 なんか色んな記事を見ていると、 import sys sys.stdin.read() sys.stdin.readline() sys.stdin.readlines() や rau_input() などがありますが rau_input()はpython2なので python3は下記を使いましょう。 input() それにしてもpythonの記…

djangoでjupyter notebookを使う方法

djangoでjupyter notebookを使おう pythonicでデータ分析をする方ならjupyetrを使う方は多いのではないでしょうか? ただ、web開発で何かしらのフレームワーク使っていたらjupyter使うって感じにならないですよね。。。 (自分だけかもしれないですが) しかし…

25日の移動平均線をpythonで求める方法

亀のような遅さでトレードの自動売買システムを作成しています。。。 djangoで作ろうとしているので完成が見えない。。。(フロントなくそうかな。。。bottleにしようか。。。) 今回は25日の移動平均線を求めてみました。 はい、下のコードで終わりです!!(p…

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

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

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

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

gitとかはてなブログでプログラムのコードを入れたい時

gitとかはてなブログでプログラムのコードを入れたい時ってありますよね。 その時はバッククオートを3つ使いましょう。 (マークダウン方式の書き方です、はてなブログの場合は設定でマークダウンで書く設定にしましょう。) pythonならバッククオート3つのあ…

vagrant install方法 (とりあえずまとめてみた)

Vagrantの使い方 virtualboxのインストール https://www.virtualbox.org/wiki/Downloads Vagrantのインストール https://www.vagrantup.com 下記コマンドでバージョンが表示されたらインストール成功です。 vagrant -v 下記URLから好きなOSを選びます http:/…

Google Apps Script ローカル環境構築やってみた

ローカル環境を構築する前に node.jsを入れましょう。(下記urlから取得できます) https://nodejs.org/ja/download/ 一応、下記のコマンドでインストール先とバージョンを確認しておきましょう。 インストール先の確認 $ which node バージョンの確認 $ node …

pythonでseleniumでブラウザ自動で動かしてみた(mac)

運営しているサイトを全画面自動でとりあえずたくさん開きたい時ってないですか? (アプリケーションエラーは拾ってくれるようにしてるので、とりあえずページ開いちゃってバグを洗い出すとな感じです。) 今回はとりあえずyahoo finance(米)で試してみます。…

仮想通貨の価格予測システム作り始めます

仮想通貨の価格予測システム作り始めますということで まぁ、fxでも株でも何でも応用はきくシステムにはしますが、 最近は仮想通貨のapiとか簡単に取れるし、まぁ少しだけはやりに乗っかってって感じです。 まぁ、どうせディープラーニングとか言う流行りも…

ほぼ一人で旅のQ&Aサービス(docoico)を作ってみました

もともと旅好きなんでなにかバックパッカーのためのサービスを作りたいなって思っておりました。 ちょうどプログラミングもしてるし何か作ってみようと言うことで作成しました DocoIco ~バックパッカーのためのQ&Aサービス~ それがDocoIcoです。 バックパッ…

djangoのORMでwhere文の大なり(>)を書きたい時

例えば、昨日の日付から現在までのデータを取得したい時 yesterday = datetime.date.today() - datetime.timedelta(1)example_table.objects.all().values().filter(registeredDateTime__gt=yesterday) filterでいつもの"="の前に "__gt"をつけてやればいい…

djnagoのORMでinを書く方法

例えば為替のレートを検索するときでユーロとオーストラリア・ドルだけ抽出したいときは以下のように書きます。 ExchangeRate.objects.all().values().filter(currency_code__in=["EUR","AUD"]) filterのなかで"__in="を書いて、その中でリスト型で書くだけ…

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

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

pythonでオブジェクトの中身を知りたい時

pythonでオブジェクトの中身を知りたい時 pythonってrubyに比べて便利なメソッドとか無かったりするんですよね。 特に最近思ったのはオブジェクトの中身を確認する方法。 rubyだと便利なのは一杯あるんですよね。 qiita.com 個人的にpythonだと dir("調べた…

Djangoを使っていてドメインだけのルーティングをセッティングしたい場合

Djangoを使っていてドメインだけのルーティングをセッティングしたい場合 r'^$'を書けばドメインだけのルーティングができます。 url(r'^$', "ルーティングする場所", name=' '),

Djangoでデータ登録しようとした時character with byte sequence 0xe3 0x83 0x95 in encoding "UTF8" has no equivalent in encoding "LATIN1"なエラーが出ちゃった時

Djangoで日本語のデータを登録しようとした時、以下のようなエラーが出ました。 character with byte sequence 0xe3 0x83 0x95 in encoding "UTF8" has no equivalent in encoding "LATIN1" これは自分がPostgreSQL使っていて起きた問題です。PostgreSQLに原…

PostgreSQLでencordingを変更を変えてDBを作成しようとしたけど"createdb: database creation failed: ERROR: encoding EUC_JP does not match locale en_US.UTF-8"なエラーが出ちゃった時

createdb -T template0 -E EUC_JP --locale=C dbnameなふうに書いてやれば出来ました。 参考 名称未設定 : Ubuntu12.04LTSのPostgreSQLでEUC_JPのデータベースを作る