ブックマーク / takatoshiono.hatenablog.com (4)

  • Go 言語で wc を実装してみた - takatoshiono's blog

    Go 言語で wc を実装してみた GitHub - takatoshiono/go-wc: Go implementation of wc command for practice なぜか A Tour of Go をやり終えた時「全然うまく書けない」というのが感想だった。もっと Go 言語のコードを読み書きする必要がある。 そして読むだけだとやる気が続かないから何か書きたい。何を作ろうか? Go 言語なのでスタンドアローンで起動するバイナリ実行形式のファイルがよさそう。仕様が簡単で手頃なやつがいいな...と考えて wc にしたのだった。他にも以下が候補にあった。 ab smtp server beer コマンド(なんかうまそうなビールを表示する) wc コマンド find コマンド (コマンド系で攻めるなら GNU coreutils, findutils などを見るとよさそうか...

    Go 言語で wc を実装してみた - takatoshiono's blog
    shucream
    shucream 2016/09/23
    改善していく過程がいい!
  • Rails.cache と Redis::Store と Rack::Attack - takatoshiono's blog

    自分用メモ。 遭遇した問題 Rack::Attack で redis に保存したデータに有効期限が設定されない namespace を定義した時だけ問題が発生する 結論 Redis::Store が古かった。1.1.4 を使っていたが、有効期限系のメソッド(expire, setex, ttlなど)が namespace に対応したのは 1.1.5 からだった 調査方法 コードを読んだ。 Rails.cache Rack::Attack はデフォルトでは Rails.cache を使うことになってるのでここから始める。 Rails で config.cache_store = :redis_store すると Rails.cache として Redis::Store を使うことができる。コードは以下を見るとわかる。 Rails::Application::Bootstrap の initi

    Rails.cache と Redis::Store と Rack::Attack - takatoshiono's blog
    shucream
    shucream 2016/04/12
  • 波ダッシュをいい感じにする Wavedash という gem を作ってます - takatoshiono's blog

    これは何か? 波ダッシュのような文字を変換するための ruby 用ライブラリです。 takatoshiono/wavedash · GitHub 対象ユーザー アプリケーションの文字コードは utf-8 だが、MySQL の文字コードが ujis, eucjp-ms, cp932, sjis である アプリケーションの外部と通信するために、ujis, eucjp-ms, cp932, sjis など異なる文字コードへの変換を必要としている いるのかな…(もしいたら教えてください) 問題 たとえば文字コードが ujis の MySQL データベースを使用する Rails アプリケーションにおいて、〜 (U+301C WAVE DASH) をデータベースに保存しようとすると Mysql2::Error: Incorrect string value というエラーになる。 何が起きているか My

    波ダッシュをいい感じにする Wavedash という gem を作ってます - takatoshiono's blog
    shucream
    shucream 2015/07/10
    原因がわかりやすい
  • MySQL 5.6 のオンラインDDLについて調べた - takatoshiono's blog

    今更だけど MySQL 5.6 ではオンラインDDLの機能が追加されている。今日はこのオンラインDDLについて勉強したことを書いてみる。 MySQL のマニュアル MySQL :: MySQL 5.6 Reference Manual :: 14.11 InnoDB and Online DDL にいろいろ書いてある。いまから書くことはこのマニュアルから得た知識が元になっている。 DDL てなによ? データではなく、テーブル自身を操作するためのSQL文のこと。CREATE, ALTER, DROP, TRUNCATEなど。オンラインDDLではCREATE INDEX, DROP INDEX, ALTER TABLEに適用される。 http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ddl 5.1 までの ALTER TABLE

    MySQL 5.6 のオンラインDDLについて調べた - takatoshiono's blog
    shucream
    shucream 2015/03/11
    なるほどなるほど
  • 1