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

メモ

CarrierWave で画像の exif 情報を削除する [Rails]

Carrierwave は Rails 用の画像アップローダで、元々のファイルに exif 情報が含まれていた場合はそのまま保存してしまう。 多くの人に公開する画像ならば、なるべくこれらの情報は削除しておくべきだ。 mini_magick の gem をインストールした後、下のよう…

ルーティングで文字列をモデルのパスに使用する[Rails]

rails で resources を使うと自動でパスと関連したメソッドが作られる。 例えば name 要素を持つ User モデルを作ったとして、 # config/routes.rb ... resources :users ... のようにすると、id が 1 の User のパスは、 www.example.com/users/1 のように…

Ruby の管理に rbenv を導入する

環境: macOS Sierra, Ubuntu 16.04rbenv は ruby のバージョン管理ソフトで、変化の速い ruby 界隈では必須と言えるだろう。 まずはインストール。 brew install rbenvこのままだとパスが通っていないので、.bash_profile に追加する。 # .bash_profile expo…

Webサイトを作ったときの評価ツール

web サイトを作ったときに、効率的なレスポンスやセキュリティ、SEO などがきちんと出来ているかを調べるツール。PageSpeed Insights アクセスする際の効率性を調べてくれる。 リクエスト最適化やファイルの圧縮、キャッシュの利用などが出来ているか。SSL S…

Bitcoin-Core のブロックサイズを削減する

Bitcoin のデフォルトウォレットである Bitcoin-Core はフルノードのウォレットで、ブロックチェーンのサイズは永遠に増え続ける。参考: ビットコインチャート - Blockchain.info ナカモト論文にもあった pruning (枝刈) 機能が実装されていたので使ってみる…

クラウドにサーバを立てた時の ssh, ufw の設定[Ubuntu]

環境: ubuntu 16.04AWS や VPS サービスでクラウドサーバを立てた時に安全に使うための一連の流れ。まずは root でリモートにログイン。 パスワードか公開鍵かはサービスによる。 ssh root@example.com普段使うユーザを作成する。基本的にこれ以降 root は使…

force_ssl = true 時のリダイレクトループ [Rails]

環境 ubuntu: 16.04, rails: 4.2.6, nginx: 1.4.6Rails において https 通信を強制するには config/environments/production.rb 中の config.force_ssl = true をコメントアウトすればいいが、nginx でも https 転送の設定をしているとリダイレクトの無限ル…

Ruby から OpenGL を使う

環境 : ruby 2.3.0 OSX 10.9.5opengl は汎用的な CG 作成ソフトウェアで、ruby からも利用できる。 gem を探すと opengl と ruby-opengl の二種類あるが、ruby-opengl の方は数年前から更新が止まっていて、使い方も少し違うので opengl の方を使う。 公式サ…

Slimv を Clojure に対応させるまで [Vim]

環境: OS X 10.9.5lisp 族用の vim プラグインに slimv と言う便利な物があり、補完からインデント、色分けまで一通りやってくれる。 これさえあれば他にプラグインはいらないくらいで、common lisp だけではなく scheme や clojure にも対応している。 対応…

index:true ではインデックスは張られない [Rails]

Rails 4.2.5 でカラムを追加する時にインデックスを張りたかったので、 # db/migrate/timestamp_add_name_to_persons.rb class AddNameToPersons < ActiveRecord::Migration def change add_column :persons, :name, :string, index: true end end としたの…

Let's Encrypt で無料のSSL証明書を取得する[Ubuntu, Nginx]

今や SSL(TLS) はデフォルトとなりつつあり、いちユーザとしてみるとすばらしいことだ。 しかし運営する側にしてみると安くないコストとなってのしかかってくる。 一件当たり年間数万円、それがいくつもあるとバカにならない。 かといって SSL 非対応にする…

Bitcoin の仕組みを学ぶ際の資料

Bitcoin の仕組みを学ぼうとしたときに参考になるリンク。 近年は論文や出版物も増えてきているが、とりあえずはここから始めるのがいいだろう。中本論文 https://bitcoin.org/bitcoin.pdf(英語) http://kogarashi.net/pitchblende/wp-content/uploads/2014/…

Bitcoin Address の正規表現 [Ruby]

参考 : RegEx to match Bitcoin addresses? - Stack Overflowビットコインアドレスにマッチする正規表現。 しかし完全ではないようなので目安程度に。 /\A[13][a-km-zA-HJ-NP-Z0-9]{26,33}\z/testnet における正規表現は /\A[mn][a-km-zA-HJ-NP-Z0-9]{26,33}…

Bitcoin Testnet について

bitcoin には普段使われるいわゆるメインネットとコインの価値が 0 のテストネットが存在するTestnet - Bitcoin Wiki。 コインの価値以外はメインネットと同じように使えるので、いきなり本物のビットコインは敷居が高いと感じる人はこちらから始めるといい…

aptitude で Bitcoin をインストールする [Ubuntu]

ubuntu の場合 bitcoin をソースからビルドしなくても、aptitude などで管理できるのでだいぶ楽だ。 しかしデフォルトのリポジトリには bitcoin は無いので、あらかじめ加えておく必要がある。 まずは $ sudo aptitude install software-properties-common $…

OSX で Litecoin をソースからビルド

litecoin は bitcoin に似た仮想通貨で、本家に比べブロック生成の間隔が短くなり、ハッシュ化のアルゴリズムが変更されているなど改良型 bitcoin と言えるもので、広く使われつつあるようである。参考 : Litecoin - Wikipedia, the free encyclopedia公式サ…

Ubuntu で直接 iptables を書き換える

クラウド上にubuntu でhttp サーバを建てたとき、ポート開放で躓いた。 ubuntu では ufw と言うソフトウェアでポートの管理を行うようだが、いっこうに反映されない。 以前ローカルで建てたときは普通にできたはずなので、何らかの環境の違いが影響している…