はじめに 2023年4月に基盤エンジニアとして Ubie に入社しました nerocrux です。主に Ubie の ID 基盤の開発と保守運用を担当しています。 この記事は、2023 Ubie Engineers アドベントカレンダー 5 日目の記事となります。 Ubie では、モジュラモノリスを採用しつつ、マイクロサービスアーキテクチャも採用しており、領域によってサービスを分けて、それぞれの担当チームが開発と保守運用をしています。 クライアントから一つのリクエストを受け取ったあとに、Ubie のバックエンドではリクエストを受け取ったサービスだけがそのリクエストを処理することもあれば、別のサービスにディスパッチし、複数のサービスがひとつのリクエストを処理して結果を返すこともあります。 マイクロサービス間の通信が Ubie の内部で発生したとしても、必ずしも無制限で自由に行われていいわけで
『そのレシピが生まれた訳』:エリックサウス稲田俊輔さんに聞く、食べても腑に落ちなかったミールスをメニュー化した理由 南インドの定食『ミールス』をご存知だろうか。カレーのようでカレーではない、ごはんとおかず数種類(野菜がメイン)のセットメニュー。 日本でミールスが気軽に食べられる店といえば、十店舗以上を誇る「エリックサウス」が有名だ。肉が主役のカレーに慣れ親しんできた日本人にはベジの魅力が伝わりにくいであろうミールスで、あえて勝負をしたその経緯を、総料理長である稲田俊輔(イナダシュンスケ)さんに伺った。 インタビューの場所:エリックサウス マサラダイナー神宮前 稲田さんとミールスとの出会いーー稲田さんがミールスと出会ったのはいつ頃ですか。 「2000年代の前半だったと思うんですけど、岐阜でタイ料理を中心とするエスニックカフェみたいなお店をやっていたんですね。 そこに元バックパッカーのスタッフ
こんにちは。メルカリのSoftware Engineerの@tanashoです。連載:Mercari Hallo, world! -メルカリ ハロ 開発の裏側-の6回目を担当させていただきます。 メルカリ ハロのWebアプリケーションは複数存在し、Webフロントエンドチームが横断的に開発をしています。本記事では、その前提を踏まえ、スピードと品質をどのように両立させて開発しているかを紹介します。 プロジェクトの概要とWebフロントエンドの担当領域 メルカリ ハロは「あたらしい出会いを繋ぎ、信頼と機会をひろげる」がミッションで、いますぐ働き手が欲しいパートナー (事業者) と、いますぐ働きたいクルー(働き手)を繋げるサービスです。クルーは自身のスキルや時間を活用して働くことができます。 メルカリ ハロは複数のアプリケーションが存在し、そのなかでWebフロントエンドが関わる領域として以下の3つが
Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅い JavaScript を実行中にリアルタイムに直接マシンコードに変換し(これが Just In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確
Goで単体テストを実装する場合、動的な言語のように「テスト実行中に外部への依存を置き換える」といったことはできません。代わりに、 外部への依存を引数で渡す 外部への依存をインターフェイスで渡す のように、テスト対象をテスト可能な実装に変更しておき、テストの時は外部への依存をモック等に置き換えて実行する場合が多いのではないかと思います。 個人的な体験でいえば、テスト可能な実装に置き換えていく過程で設計が洗練されていく*1ことは度々あるので、面倒を強制されているというよりは設計を整理するための道具といった捉え方をしているのですが、そうは言っても動的な言語に比べると面倒だなと感じるときは少なからずあります。既存の実装がテスト可能になっておらず、変更するコストが高い場合は特にそうですね。 そんなとき、気軽にモンキーパッチできると嬉しいんじゃないかと思って、テストの時だけ関数を置き換えられるようなラ
公開日 2024/05/28更新日 2024/07/25注目のITサービスを支えるアーキテクチャ特集 技術選定のポイントと今後の展望 現代のITサービスは、ユーザーに高品質で安定した体験を提供するために、より効率的で柔軟な技術選定が不可欠です。 本特集では、注目企業のシステムアーキテクチャ設計に携わるエンジニアの方々より、それぞれの技術選定における工夫と、未来を見据えた展望についてご寄稿いただいています。 各企業がどのように課題を乗り越え、開発生産性や品質を向上させるためにどのようなアプローチを採用しているのか ー この記事を通じて、実際の現場で活用される最先端の技術や戦略を学び、皆さんのプロジェクトに役立つ洞察を得ていただければ幸いです。 ※ご紹介はサービス名のアルファベット順となっております airCloset - 株式会社エアークローゼット エアークローゼットは日本初・国内最大級、女
「英語講師の話す英語はわかるのに、ネイティブ同士の会話が聞き取れない」 「映画を英語字幕付きで見ていても、同じことを役者が話しているように聞こえない」 ある程度の英語力があるにも関わらず、ネイティブの話す英語が聞き取りにくく感じてしまう原因のひとつにリエゾン(リンキング)があります。 リエゾンとは言葉の音声変化のことで、ネイティブスピーカーの英語では自然に発生しています。 このリエゾンを意識できると、相手の英語がぐっと聞き取りやすくなるばかりか、自分でもスピーキングのときにより自然な発音ができるようになりますよ。 しっかりリエゾンを身につけて、リスニングもスピーキングも、自信を持ってできるようになりましょう! 執筆者:Lin 小4までアメリカの現地校に通い、帰国後は「英語はネイティブ並みでしょう?」という周囲の誤解とプレッシャーゆえに、英語の勉強から遠ざかった過去あり。中途半端な英語力にコ
最初に3行でまとめ AWS CLIは便利です。しかし起動が遅いので、Goで実装された高速な(ただし機能は少ない)代替品を作りました。awslim といいます リリースバイナリは無駄に大きいので、必要な機能だけを組み込んだビルドを簡単にできるようにしてあります。ビルドして使うのがお勧めです どうぞご利用下さい github.com 以下はこれに至るまでの経緯とか、実装や使い方の話とかです。長いです。 作成の経緯 AWSの各種サービスにアクセスするための AWS CLI は、スクリプトやコマンドラインから処理を自動化するために大変便利なツールです。AWSでサーバーサイドの開発、運用している人であれば、ほぼ全員がお世話になっているんじゃないかと思います。 しかし、AWS CLI (コマンド名aws) には「起動が重い」という問題があるなとずっと思っていました。具体的には、aws --versio
拙著『達人に学ぶ SQL徹底指南書』の中で、EXISTS述語の使い方を解説している章があるのだが、そこでEXISTS述語だけが唯一SQLの中で二階の述語である、ということを説明している。これはEXISTS述語だけが行の集合を引数にとる述語だからである。それは分かるのだが、なぜ述語論理を考えた人(具体的にはゴットロープ・フレーゲ。タイトル画像のおじさんである)はこんな着想を得たのか、そこが分かりにくいという質問をしばしば受けることがある。確かに、数ある述語の中でなぜ「存在する」だけが二階の述語であるのか、というは直観的にすこし分かりにくい。なぜフレーゲはこんなことを考えたのだろう? この点について、述語論理の創始者でもあるフレーゲの議論を参照しながらかみ砕いて見ていきたいと思う。かなり理論的かつ哲学的な話になるので、興味ない方は読み飛ばしてもらってかまわない。とくにSQLの理解に支障のある話
コメント乞食と言われてもいいので、今手に入るシレン風みたいなローグライクおすすめ教えてくださいませんか。 PCだろうがPSであろうがなんでも構いません。よろしくお願いいたします。 (追記) こんなにもおすすめと「シレン6をやれ」というご指示いただきまして、本当にありがとうございます。 正直ここまでおすすめいただけるとは思っておりませんでした…… 実は先日からシレン6をプレイしていて十分に楽しめているのですが、 前にはてなで「シレンが国産ローグライトの代表作と言われているのはおかしい」みたいなブクマを見かけたな、と思い それならばシレン風のゲームのおすすめを聞いておけば、救助待ちの最中やクリア後も安心だろうと思いお聞きした次第です。
そもそもポッドキャストって何?映像のない YouTube のような存在が ポッドキャストです。 つまり、ラジオのようなものです。 YouTube のように、素人も投稿できる音声 メディアです。 どうやって聞けるの?iOSからであれば、Apple Podcast Androidからであれば、Googleポッドキャスト ※Googleポッドキャストは、YouTube musicに統合の話が出ている 他にSpotify、Amazon music、radikoからも聞けるらしい。 おすすめのポッドキャストヤング日経経済系の番組はおじさんがしゃべっていることが多いが、この番組は若い大学生~大学院生の女の子が最近の経済について 話しており、非常に聞きやすく、軽い気持ちで聞けるのが良い。ポッドキャスト的な流し聞きに向いてる。 日経トレンディ & 日経クロストレンド日経トレンディ及び日経クロストレンドとい
はじめに 本稿は、オープンソースの可観測性(Observability)プロジェクトである OpenTelemetry を取り上げた書籍「Learning Opentelemetry」の読書感想文です。従来の可観測性の課題であったデータの分断を解消し、トレース、メトリクス、ログなどの様々なテレメトリデータを統合的に扱うことができる OpenTelemetry は、可観測性の分野における革命的な存在と言えます。 過去10年間で、可観測性はニッチな分野から、クラウドネイティブの世界のあらゆる部分に影響を与える数十億ドル規模の産業へと発展しました。しかし、効果的な可観測性の鍵は、高品質のテレメトリデータにあります。OpenTelemetryは、このデータを提供し、次世代の可観測性ツールと実践を開始することを目的としたプロジェクトです。 learning.oreilly.com 本書の想定読者は、
東山 広樹 | Cooking Maniac @h_gashiyama アルティメット限界ラーメン 水に醤油や味の素を加えるだけで作るラーメンを"限界ラーメン"と呼ぶ それをさらに超えた簡単さで、お店レベルのラーメンを作る術が爆誕してしまった… 味の素の「休日だし。」ほたて貝柱だし、が凄まじく美味かったので、コレだけで限界ラーメンを作りたくなった まず、休日だし。だけでラーメンを作るための計算式を作ってみた <ラーメンスープに必要な塩分濃度> ラーメンの塩分濃度1.2% ラーメンスープ350g×1.2%=4.2g →4.2gの塩分が必要 <休日だし。の使用量> 休日だし。→塩分濃度は2.1g / 1包中 休日だし。12g(2包)→塩分4.2g <スープに必要な休日だし。の量> 休日だし。12g+水350g=塩分濃度1.2% →ラーメンスープの味! そして…コレがアルティメット限界ラーメンの
Twitterでこんな記事を見かけたので。 zenn.dev ジェネリクスの件もそうですが、Goの言語設計は現実主義なのになにか特別なポリシーによるものだと宗教化されてしまって、ファンには勝手に崇拝されてアンチにはディスられがちだなーと感じます。 Goのエラー処理を改善する実験プロジェクトxerrorsがGo本体のerrorsにマージされた時、 errors.New() はスタックトレースを取得していました。しかしGo 1.13がリリースされる前に削除されました。 削除された理由の1つは、今までの errors.New() のパフォーマンスに依存していたコードの速度が低下しアロケーションが増えることです。 github.com しかし、これが理由だと今まで思ってたのですが、実際にはもう1つより重要な理由がありました。エラーのフォーマットです。エラーに複数のフォーマットを持たせようという提案
はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く