タグ

2015年4月10日のブックマーク (4件)

  • コードで行うMySQLのアカウント管理 - クックパッド開発者ブログ

    インフラストラクチャー部の菅原(@sgwr_dts)です。 インフラストラクチャー部のメンバーはオペレーションのため強力な権限のMySQLアカウントを使用していますが、サービス開発をするエンジニアも業務のためにサービスのDBの参照・更新権限を持ったアカウントが必要になることがあります。 セキュリティやオペレーションミスのことを考えると、すべてのエンジニアのアカウントをスーパーユーザーにするわけにはいかないため、都度適切な権限を付与していますが、手動での作業は地味に手間がかかります。 そこでクックパッドではMySQLのアカウント情報をコード化し、リポジトリで管理するようにしています。 gratanによるコード化 MySQLのアカウント管理はgratanという自作のツールを使って行っています。 gratanを使うとMySQLのアカウントをRubyのDSLで記述することができるようになります。

    コードで行うMySQLのアカウント管理 - クックパッド開発者ブログ
    tune
    tune 2015/04/10
    “刺身タンポポ”
  • BestGems Pickup! 第5回 「formatador」 -- ぺけみさお

    拙作のBestGemsから注目のGemを紹介するエントリー。第5回は「formatador」を取り上げる。 概要formatadorは標準出力にテキストを整形して出力するライブラリだ。手動では煩わしいテキストの色付けや、テキストによる表組み、プログレスバーの実装まで可能だ。 formatadorは今日現在、合計ダウンロードランキング115位、デイリーダウンロードランキング77位につけている。 インストール 使用例テキストの出力と装飾formatadorの機能は、すべてFormatadorクラスのクラスメソッド呼び出しで利用できる。もちろんインスタンスを生成しても良い。 例えば、以下のコードは、標準出力にHello, World!を出力する。

    tune
    tune 2015/04/10
  • BestGems Pickup! 第10回 「equalizer」 -- ぺけみさお

    使用例equalizerを使えば自分で定義したクラスに同値性を比較する機能を簡単に追加することができる。以下は座標をあらわすGeoLocationクラスに同値性を比較する処理をequalizerで追加する例である。 require 'equalizer' class GeoLocation # これで@latitudeと@longitudeが共に等しければオブジェクトが同値と見なされる include Equalizer.new(:latitude, :longitude) attr_reader :latitude, :longitude def initialize(latitude, longitude) @latitude, @longitude = latitude, longitude end end point_a = GeoLocation.new(1, 2) point_

    tune
    tune 2015/04/10
  • Go言語のツールが最新バージョンであるかをユーザに伝えるためのgo-latestというパッケージをつくった

    Go言語のツールが最新バージョンであるかをユーザに伝えるためのgo-latestというパッケージをつくった tcnksm/go-latest Webアプリケーションとは異なり,コマンドラインツールやモバイルアプリはバージョンアップがユーザに委ねられる.そのため一度リリースしてしまうとバージョンアップをしてもらうのが難しくなる(バグを含めてしまった場合にロールバックもできない cf. “Mobile First Development at COOKPAD #deploygate”).とにかくしっかりテストをしてそもそもバクを含めないというのも大切だが,完璧なソフトウェアは存在しないので,アップデートは常に必要になる. モバイルアプリとは異なり,Go言語でツールを書いきバイナリとして配布した場合は,最新のバージョンがすでに存在していることをユーザに伝える仕組みはそもそもない.ので,最新のバー

    tune
    tune 2015/04/10