2015-01-01から1年間の記事一覧

RedisClusterにslaveを追加したとき、masterとslaveでキーの数が違う

以前、Redis Clusterにslaveを追加したときmasterとslaveでキーの数が違う現象に合いました。 masterの方がキーが多くslaveの方がキーが少ない。 その時はどうしてそんなことになるのか分からなかったのですが、調査して分かりました。 結論は、 slaveを追加…

MySQLで外部キー作成時には外部キー先にindexを定義してかつデータ型と長さを合わせないとエラーになる

MySQLで外部キー作成時以下のエラーがでた。 Cannot add foreign key constraint もちろん外部キー先にはindexを張っている。 で、いろいろググッて迷走した結果、以下のページを見つけた。 http://sigisi.hatenablog.com/entry/20111129 参照カラムと被参照…

switch_pointを使った際に複数モデルの更新にトランザクションをかける

switch_pointを使った際に複数モデルの更新にトランザクションをかけるのに少しハマった。 最初以下のように書いた。 ActiveRecord::Base.transaction do ModelA.with_writable do save! modelB.save! end end ただこれだとrollbackされない。 以下でもダメ…

テストのときだけswitch_pointを無効にしたい

Railsのgemで複数DBを扱うためのswitch_pointというものがあります。 https://github.com/eagletmt/switch_point 簡単にslaveとmasterへのアクセスを切り替えられて便利なのですが、RSpec実行時にはswitch_pointを無効にしたくなります。 FactoryGirlを使っ…

Railsのgretelでproductionだとリンクが2重エスケープされる

Railsにはgretelというパンくずをスマートに管理するためのgemがあります。 https://github.com/lassebunk/gretel このgemを使っていたんですが、テンプレートエンジンにSlimを使用してproductionモードで動かすとリンクが2重エスケープされる現象に遭遇しま…

RedisClusterで"Redis::CommandError: CLUSTERDOWN The cluster is down"エラーが頻発する場合はcluster-node-timeoutが短いせいかも

RedisClusterでアプリケーション側で"Redis::CommandError: CLUSTERDOWN The cluster is down"エラーがでたけど Redisのログにはcluster downのログがはかれていなくて、原因が分からなかった。 あとたまに、Redisのログにごく短い間隔で Cluster state chan…

Redis Clusterへのデータ移行

Redis Clusterはマスターがダウンしたら自動でfailoverしてくれるためとても便利です。 通常の、つまりMaster/Slave構成のRedisから、Redis Clusterへ移行したい人もいるかと思います。 しかし通常のRedisインスタンスからRedis Clusterへデータ移行するには…

Redis Clusterで出来ないこと

Redis Clusterを触ってて、おおお…マジか…と思ったことがいくつかあった。 スレーブからGETできない 通常のRedis のレプリケーションだとスレーブからGETできますが、 Redis Clusterだとできません。マスターからGETしろとメッセージがでます。 これはおそら…

Redis Clusterの操作を簡単にするredis-trib.rbの使い方

Redisは3.0から Redis Cluster というクラスタが組める機能が追加されました。 コマンドにも"cluster"から始まるコマンドが追加されています。 http://redis.io/commands#cluster これらのコマンドを使えばクラスタの操作ができるわけなんですが、 今日はred…

転職しました

5月1日から新しい会社に入りました。 4ヶ月の無職期間とも涙のお別れです。転職活動の顛末は色々あって詳しく書けないけど(詳しくは飲みの席で)、 いい会社に入れたと思う。 システムは最新鋭の技術が使われているというわけではなく、むしろレガシーなんだ…

gvmを入れるとzaw-cdrが動かない

gvmを入れると、zaw-src-cdr:2: closing brace expectedと表示されてzaw-cdrが動かない。。 gvmを入れると .zshrcの最後に #THIS MUST BE AT THE END OF THE FILE FOR GVM TO WORK!!! [[ -s "/Users/xxx/.gvm/bin/gvm-init.sh" ]] && source "/Users/xxx/.gv…

「体系的に学ぶ安全なWebアプリケーションの作り方」を読んだ

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践作者: 徳丸浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2011/03/03メディア: 大型本購入: 119人 クリック: 4,283回この商品を含むブログ (144件) を見る 読もう…

デザインパターンを復習した

増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入: 51人 クリック: 762回この商品を含むブログ (400件) を見る エンジニアになって一年目くらいに読んできり、…

SQLアンチパターン読みなおした

SQL

復習のために読みなおした。 SQLアンチパターン作者: Bill Karwin,和田卓人(監訳),和田省二(監訳),児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型本購入: 9人 クリック: 698回この商品を含むブログ (40件) を見る エンジニア歴…

Go言語とTypeScriptでTodoWebアプリを作った

Go言語とTypeScriptの勉強がてらにTodoWebアプリケーションを作った。 Github : https://github.com/akira-kuriyama/todo-app--golang-and-typescript デモ: http://demo.todo.st-marron.info/ 使った技術 サーバーサイド Go言語(フレームワークは使ってな…

Semantic UIのテーマを変える

css

CSSフレームワークとして人気のSemantic UIですが、 ガンガンバージョンアップ中なのかテーマを変える機構はあるのですが、自分でbuildしないといけません。(2015/02/05 現在) 多分、しばらくするともっと簡単にテーマを変えられるようになると思いますが。…

IntelliJ IDEAでgolang pluginを使いたいけどSDKの設定がうまく出来なくてウワーってなっている方へ

Go

golang pluginの正式名称はgo-lang-idea-pluginですが、 version1.0.0からSDKの設定がうまくできない問題が解決されているもよう。(あとGOPATHも自動設定されるようになったっぽい) しかしversion1.0.0はまだリリースされていないので、以下のページから、Go…

UglifyJS2で多段SourceMapを生成する

Minifyされたファイルの元ファイルを見るのにSourceMapは便利です。 しかしAltJS等からJavaScriptへ変換し、そのJavaScriptファイルをMinifyしたとき、 AltJSで書かれた元ファイルをSourceMapを通して見れるかというのが疑問に思ったので調べました。 上記の…

「インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門」を読んだ

インフラ/ネットワークのことが知りたかったので、 「インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門」を読んだ。インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門作者: みやたひろし出版社/メーカー: SBクリエイティ…