タグ

ブックマーク / peroli-tech.hatenablog.com (3)

  • Rails だって硬いデータベース設計をしたい!そんなあなたに贈る Tips 4 選 - peroli Developer's Blog

    2016 - 09 - 09 Rails だって硬いデータベース設計をしたい!そんなあなたに贈る Tips 4 選 list Tweet こんにちは、ペロリのサーバサイドエンジニアの @a_suenami です。 今回は Ruby on Rails アプリケーションにおけるデータベース設計についてちょっとご紹介したいと思います。 データベース設計してますか? みなさん、データベース(以下、DB)設計していますか?Scaffold したときにできた migration ファイルをそのまま使ったりしてませんよね? Ruby on Rails (以下、 Rails )は CoC(Convention over Configuration: 設定より規約)を強く提唱している フレームワーク であり、それによって得られる恩恵も大きい反面、かなり強めに設計の自由度を束縛されるという特徴もあります。特に

    Rails だって硬いデータベース設計をしたい!そんなあなたに贈る Tips 4 選 - peroli Developer's Blog
    Nyoho
    Nyoho 2016/09/10
  • Swiftzつかってみた - peroli Developer's Blog

    2016 - 06 - 03 Swiftzつかってみた MERY のサーバーサイドエンジニアの藤原です。 今回は、MERYの iOS アプリには使用していないのですが、一部で話題のSwiftzについて調べてみました。 Swiftzとは 他の 関数型言語 によくある機能を、Swiftでも使えるようにするライブラリです。 Swiftにも 関数型言語 っぽいmapやreduce、filter、flatMap等がありますが、例えばEitherはまだありません。 そういった、「他の言語だったらこう書けるのに」を解消してくれるライブラリです。 Swiftzの利点と欠点 利点としては、 上手くやりたいことと噛み合うとコードを短くスッキリと書ける コードの再利用性を上げやすくなる(部品を書きやすくなる) Swift3.0で追加されそうな機能を先取りして使える 他の 関数型言語 を覚えやすくなる 等があると

    Swiftzつかってみた - peroli Developer's Blog
    Nyoho
    Nyoho 2016/06/03
  • Sidekiq による非同期処理を Redis の分散ロックで排他制御した話 - peroli Developer's Blog

    MERY のサーバーサイドエンジニアの @saidie です。 MERY では画像アップロードや記事投稿による検索インデックス作成などなど、ユーザからのリクエスト起因で起こる時間のかかる処理の多くを非同期に行うことでレスポンスタイムの向上に努めています。また、重複した非同期処理が並行して走ることによる スループット の劣化を分散ロックを用いた 排他制御 で緩和する取り組みなども行っています。 MERY は Ruby on Rails を用いて開発されており、非同期処理には Ruby 製の フレームワーク である Sidekiq を採用しています。この記事では Sidekiq と Redis による分散ロックを使って、同一の非同期処理が(あまり)重複しないような MERY の非同期処理システムについてご紹介します。 Sidekiq Sidekiq はクライアントサー バモ デルのマルチスレッ

    Sidekiq による非同期処理を Redis の分散ロックで排他制御した話 - peroli Developer's Blog
    Nyoho
    Nyoho 2016/04/22
  • 1