読者です 読者をやめる 読者になる 読者になる

AllIsHackedOff

Just a memo, just a progress

Firebase Authから返ってくるJWTをゴニョゴニョする (2)

前回の記事 allishackedoff.hatenablog.com の続きです。引き続きゴニョゴニョします。 JWTをDecodeする golangのJWTのライブラリは github.com が最も使われているようです。 otiai10.hatenablog.com christina04.hatenablog.com この辺りでも利用されてい…

Firebase Authから返ってくるJWTをゴニョゴニョする(1)

同じモチベーションの人がいたら幸いです。 モチベーション Rails にしろGoにしろ自前でAuth周りを書くのがだるい ログイン機能は必要だけど、さっさと作って使われるか検証したい 認証なしでやればいいじゃん?って話もあるけど、なんだかんだMyhogehogeみ…

Rails5のAPIModeつかってるけどRailsAdminもheroku上でサクッと使いたいよねというお話(失敗談)

API Mode Rails 5 をAPI modeで動かしている。 * RailsAdminは使いたいよな(管理画面のフロントをSPAで書くのは工数の無駄) * herokuは使いたい(今更deploy周りとかサーバのセットアップとかだるい) ということで Client -> rack app (routing) -> API @ por…

2017年にもなってHerokuでハマるクラスタ (heroku MySQL)

初期データ投入のため heroku run rake db:seed_fu ActiveRecord::StatementInvalid: Mysql2::Error: User 'ba2df6a9fed0b0' has exceeded the 'max_questions' resource (current value: 3600): INSERT INTO `item_resources` (`item_id`, `resource_id`, `…

MacのxargsのJ option (replacerを使う記法)

command | xargs -i cp {} target_dir 的なことがやりたかったがどうもMacのxargsだとだめらしい(これだからMacは…) manを開くと下記が記載されていたので事なきを得た。 -J replstr If this option is specified, xargs will use the data read from standa…

エレガントに削る / エレガントに実装するということ

BtoBにしろCtoCにしろBtoCにしろ、プロダクトを開発するエンジニアに求められるエレガントさについてふと思うことがあったので書いておく。 言われた仕様や要件をそのまま作ってしまうエンジニアはどんなにコードを書く速度が早かったり難しい実装ができたり…

Crystalの配列(0)

配列 [1,2,3] [1, "aaa", 'ks'] 文字列配列はRubyと同じ表記が可能 %w(one two three) シンボルの配列 %i(one two three) 配列ライクな型 https://crystal-lang.org/api/0.20.3/Array.html You can use a special array literal syntax with other types too…

crystalでyamlなど触ってみた

crystal-langが少し流行りだしそうなので触ってみた。 timeの扱い t = "2011-10-11 11:00:00" t = Time.parse(t_str, "%F %T") puts t yaml(読み込んだyamlの特定のキーに対応する部分を別の変数に代入したい RubyならばHashでよしなにできるのだけれど、cry…

net/http触り直し(1)

GolangでWAFを使わなくても問題ない的な話が年末上がっていたのと(advent calendar界隈で)自分的にもそう思ったので RequestのBodyやらHeaderやらを適当にParseする方法を復習がてらメモ。 package main import ( "fmt" "log" "net/http" "github.com/dave…

Goでgitリポジトリを操作しようと軽くトライした話

はじめに PerlやRubyで色々ツールを作っていた頃 Git::Repository - search.cpan.org GitHub - schacon/ruby-git: Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wrapping system calls to the git bina…

【翻訳】【Golang】標準的なパッケージのレイアウト

Golangレベルアップしたいので色々な記事を翻訳して整理してみようと思った(会社でもそういう試みをやっているので真似っこです) Standard Package Layout — Medium vendoring、Generics。Goコミュニティではこれらは大きな問題とみなされてきた。そしてほ…

suで少し戸惑ったのでメモ su - [% user_name %] # 環境変数を[% user name %]の$HOME/.bashrcから読む su # 環境変数には特に触らない serviceユーザでrailsをインストールしている ec2-userとかからserviceにsu => bundleが入ってないって怒られる(汗 で発…

Bandit

とりあえずε-greedy import random import numpy as np class Arm: def __init__(self, prob, no): self.probability = prob self.no = no self.hit_count = 0 self.total_count = 0 # retrun boolean value def lot(self): random_float = random.random() …

今日やったこと/Reactの復習とか/行儀の良い書き方とか

今日やったこと PythonとかScikit-learnにもすこし飽きて、動きがあるものを作りたいなと思ったので javascriptを触ることに React流行っているし4月に本も出るようなので今更キャッチアップした React Tutorial チュートリをひと通りおわらせた。 やっぱコ…

話題になっていたのでexaをインストール

話題になっていたのでexaをインストール 公式 exa公式 exa is a modern replacement for ls. It uses colours for information by default, helping you distinguish between many types of files, such as whether you are the owner, or in the owning gro…

delayed_jobを使ってみた

delayed_jobを使ってみた delayed_jobリポジトリ 環境 % rails -v Rails 4.1.8 installation gem 'delayed_job_active_record' Rails 4.2以上だとcobfig/application.rbに設定が必要だとか 仕組み(1) The Active Record backend requires a jobs table. You …

Golang始めました。

Go

とりあえずvimとATOMの設定と(便利そうなので)pecoを導入したりした後にA Tour Of Goをひと通りやってみました。練習問題が結構骨があって勉強になります。これでコンパイル言語なのはかなり面白いと思ったり。肝心のGo routineとchannelについてはA tour O…

yield文について

yield何じゃらほい Railsをかじり始めたときにerbテンプレートに書く<% yield %>などを見て何じゃらほいと思ったのは結構前のことだ。Rubyを書く機会はそれほど多くなかったので、ブロック渡せるのは便利だなー程度にしか感じていなかったのですが、最近若干…