ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

並列化

Rubyの並列プログラミングについて考える

こんにちは、並列してますか?プロダクトエンジニアリング部の伊東です。 並列処理と言えば、過去に弊社メンバーがこんな記事を投稿しています。 tech.unifa-e.com 私は今までWebアプリケーションを作っていて、並列処理を書く機会はほとんどなかったです。 …

bundlerは依存関係のあるライブラリをどうやってダウンロードするか?

この記事は、ユニファ Advent Calendar 2021の15日目の記事です。 adventar.org こんにちは。プロダクトエンジニアリング部のちょうです。 今回は、皆さんがRubyで開発するときよく使うbundlerについてすこし中身を深堀りして説明したいと思います。bundler…

依頼関係のあるリソースを並列で作成するスケジューラー 上編

こんにちは、プロダクトエンジニアリング部のちょうです。先月まだ残暑なのに、今月はダウンを取り出すほど冬っぽい気温になったんですね。みなさんも体調管理を気をつけて風邪にならないに注意してください。さて、普段Web開発ばかりやっているエンジニアと…

集中アクセスに対応するサイトの仕組みについて考えてみた

こんにちは、プロダクトエンジニアリング部のちょうです。ずっと家にいまして時間の流れが気づきにくいと思いませんか。知らないうちに8月も何日しか残らないし、2021年も3分の2までが終わっています。家でテレワークしながら、何かおもしろいものないかな…

Amazon ECS+FargateでRailsを動かす際の最適なパラメーターを考えてみる

こんにちは、最近野菜が高いのでもやしばかり食べているWebエンジニアの本間です。 そろそろレタスが食べたい...。 さて、ここ1、2年、ユニファではAmazon ECS+AWS Fargateを使用して、Railsアプリケーションを本番運用することが増えてきました。 stagingで…

なぜ違う値を見たのかーー並列実行におけるCPUの動作

こんにちは、ヘルスケア事業部のちょうです。今日は並列プログラミングによくある間違うコード及びその原因について共有したいと思います。 まずはコード(抜粋、C言語) int a = 0; bool f = false; void cpu0() { a = 1; // 1 f = true; // 2 } void cpu1(…

Rubyのスレッドで並列化するのに向いている処理を調べてみる

こんにちは、夏に向けて腹筋強化中のWebエンジニア、本間です。 はじめに、この開発者ブログを開設してから、半年が経過しました 気づけばエントリー数も20を超え、開発者ブログっぽくなってきなーと感じております。 この勢いを続けていけるよう、会社とし…