タグ

2019年8月22日のブックマーク (7件)

  • [Ruby] rspec-mocksを使ってテストで上手に手を抜こう - Qiita

    対象 rspecでの簡単なテストの書き方は基的に知ってる rspec-mocksを使ったテストを知らないor知ってるけど雰囲気で使っている 上記に当てはまる私自身が、テストをより効率的に書くために、広く浅くざっくり調べた内容なので、より詳しく知りたい人は公式ドキュメントなどを漁ったほうが良いです。 ※記事中に出てくるコードの多くは、rspecによるテストコード内で実行されるコードです。周辺のコードは省略するので、適当に文脈から読み取ってください。 前提 rspec-core (3.7.1) rspec-mocks (3.7.0) rspec-rails (3.7.2) rspec-support (3.7.1) rspec-mocksとは rspec-mocksは、rspec用のテストダブルフレームワーク。モックとかスタブとかスパイとかサポートしてくれる。 テストダブルとは、テスト対象が

    [Ruby] rspec-mocksを使ってテストで上手に手を抜こう - Qiita
  • FAQ - Why is high-water-disk-pct set to 50%?

    akatakun
    akatakun 2019/08/22
    high-water-disk-pctが低いのはデフラグに使う分を確保するため?
  • 排他制御(楽観ロック・悲観ロック)の基礎  - Qiita

    排他制御とは 共有資源(データやファイル)に対して複数のアクセスが見込まれる場合に、同時アクセスにより不整合が発生することを防ぐため、あるトランザクションが共有資源(データやファイル)にアクセスしている時は他トランザクションからはアクセスできないようにして直列に処理されるように制御すること。 ■同時アクセスによる不整合の例 ■排他制御をすることで整合性を保つ 排他制御の方式 排他制御の実現方式はいくつか存在するが、ここでは代表的な楽観ロック(楽観的排他制御)と悲観ロック(悲観的排他制御)を紹介する。 楽観ロック(楽観的排他制御) 楽観ロックとは、めったなことでは他者との同時更新は起きないであろう、という楽観的な前提の排他制御。データそのものに対してロックは行わずに、更新対象のデータがデータ取得時と同じ状態であることを確認してから更新することで、データの整合性を保証する方式。楽観ロックを使用

    排他制御(楽観ロック・悲観ロック)の基礎  - Qiita
  • 『Redisのトランザクションとパフォーマンス』

    前回まででredisのレプリケーションが同期を取る仕組みについてやったので、 今日はRedisのトランザクションとロックにまつわるパフォーマンスの話をしようと思います。 キーワード: 楽観的ロック 悲観的ロック トランザクション 2フェーズコミット MULTI/EXEC ①従来の良くあるRBDのトランザクション リレーショナルデータベースのトランザクションについて簡単におさらいしましょう。RDBは強烈なACID特性を持つのですが、それを特徴づける機能にトランザクションっていうのがあります。 トランザクションとは簡単に言うと、複数の処理をまとめて一つとすることです。 RDBでは BEGIN COMMIT ROLLBACK っていうのがありますが、これをアプリサイドのコードで上手い事使い分けるわけです。疑似コードで言うと try: conn.begin() conn.save('あるSQL文'

    『Redisのトランザクションとパフォーマンス』
    akatakun
    akatakun 2019/08/22
    Redisのトランザクションはqueueにopを溜め込んで、一括実行するからラウンドトリップが少ない(パイプライン処理),整合性の面では何かと穴がある,単にパフォーマンス向上の目的
  • システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ

    こんにちは。初投稿です。 2012年新卒入社の竹内です。入社当時を振り返るとOracle10g,11gを良く利用していおり、データモデリングなどテーブル設計が好きで、2018年4月ぐらいまでRDBとバッチに浸ってました。 さて、現在プロジェクトでRedisを使っているのですが、いままでRDB人間だっただけにKVSやRedisならではの特徴に四苦八苦してます。 苦しんだ分、色々な知見を得ることができているので、その内容をご紹介します! 対象者 Redisの業務システム導入を検討している方 RDBとRedisの違いを知りたい方 現場的なRedisの利用方法を知りたい方 書いてないこと データ型やコマンドなど、HelloWorld的に公式ドキュメントを見て得られる情報 インストールなど、Redisを利用できるまでの手順 フェイルオーバーやバックアップをはじめとする運用に関する内容 データ永続化に

    システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ
    akatakun
    akatakun 2019/08/22
    KEYSが怖いのはsingle threadだから,O(N)
  • ElastiCache for Redis でシングルコアに対応したメトリクス EngineCPUUtilization が追加された - kakakakakku blog

    今月発表された ElastiCache for Redis のリリースで,新 CloudWatch メトリクス EngineCPUUtilization が追加された. Amazon ElastiCache for Redis は、Redis のワークロードへのより良い可視性を達成するために新しい CPU 使用状況メトリックスを導入します 今まで もともと Redis はシングルコアで稼働するため,例えば vCPU 4 を搭載する cache.r4.xlarge を使う場合,CPUUtilization の 25% で「実質 100%」を意味する.この仕様を理解できていないと,Redis の CPU 負荷を見逃してしまう可能性もあり,よく知られていると思う.Black Belt 資料にも記載がある. AWS Black Belt Online Seminar 2017 Amazon Ela

    ElastiCache for Redis でシングルコアに対応したメトリクス EngineCPUUtilization が追加された - kakakakakku blog
    akatakun
    akatakun 2019/08/22
    もともと Redis はシングルコアで稼働するため,例えば vCPU 4 を搭載する cache.r4.xlarge を使う場合,CPUUtilization の 25% で「実質 100%」を意味する
  • IntelliJ・WebStrom・PhpStorm等のJetBrains製IDEで、文字列の直前に「language=JSON」と書くと、その文字列にJSONのシンタックスハイライトが効いて便利だった。 - Qiita

    IntelliJ・WebStrom・PhpStorm等のJetBrains製IDEで、文字列の直前に「language=JSON」と書くと、その文字列にJSONのシンタックスハイライトが効いて便利だった。JavaPHPJavaScriptPhpStormIntelliJ IntelliJやWebStrom、PhpStormなどのJetBrains製IDEで、文字列の前に// language=JSONというコメントをつけると、IDEが文字列をJSONとして認識してくれるため、 JSONとしてのシンタックスハイライト JSON構文エラーの警告 JSONのコード補完 コード整形 といった、地の文でJSONを書いたときにIDEがやってくれるような恩恵を享受できるようになる。 この機能はLanguage Injectionと呼ばれるもの。コメントが書ける大抵の言語なら、JavaでもPHPでもJav

    IntelliJ・WebStrom・PhpStorm等のJetBrains製IDEで、文字列の直前に「language=JSON」と書くと、その文字列にJSONのシンタックスハイライトが効いて便利だった。 - Qiita