Fenrir Engineers
https://engineers.fenrir-inc.com/
Fenrir Engineers
フィード
良いシステムを設計するには
Fenrir Engineers
これはフェンリル デザインとテクノロジー Advent Calendar2024 25日目の記事です。 こんにちは、インフラ・バックエンド担当の森井です。 アドベントカレンダーのテーマに沿った話を書きたいなといろいろ思い悩んだ結果、技術におけるデザイン(設計)についてなら書けるかもしれないと思い立ちました。 今回は良いシステムを設計するための考え方をまとめてみたいと思います。 システムを設計するということ 根本に立ち返って、デザイン(設計)がどういう行為なのかを確認します。 デザイン(英語: design、中: 設計[1])は目的設定・計画策定・仕様表現からなる一連のプロセスである[2][3]…
8日前
キャリアの大半は偶然によってできている
Fenrir Engineers
これはフェンリル デザインとテクノロジー Advent Calendar 2024 24日目の記事です。 インフラ担当の柴田です。今年もAdvent Calendarの季節がやってきました。昨年は何を書くか悩んで「会社のブログに駄文を公開する技術あるいは自分を説得する技術」という記事を投稿しました。 今年はエンジニアっぽいことを書きたいなと思っていたのですが、ネタはおりてこず、社内で話したことのあるキャリア形成に関する理論を紹介します。 キャリアについて考えていますか さて、皆さんはキャリアについて普段何か考えていたり、目標を持っていたりしますか。 エンジニアの場合は大きく分けて、「マネジメン…
9日前
Webエンジニアなら知っておきたいNoSQL
Fenrir Engineers
Webバックエンド担当の湯川です。 「Webエンジニアなら知っておきたい」ということで、今回は「NoSQL」について紹介いたします。 RDBとの違いやNoSQL自体の種類、選定ポイントなどを簡単に説明したいと思います。 RDBのIndexやトランザクションあたりを把握したうえで読んでいただくと、より分かりやすいかと思います。 NoSQLってなに? MySQLやPostgreSQLといったRDB(リレーショナルデータベース)とは異なるアプローチで、データを保存・管理するデータベースの総称です。 RDBと比べるとスケーラビリティが高いので、大量のデータを扱いたいときに使われることが多いです。 RD…
10日前
NILTOのFastly導入〜業務で初めてRustを使った話〜
Fenrir Engineers
これはフェンリル デザインとテクノロジー Advent Calendar2024 23日目の記事です。 こんにちは!NILTOチームでインフラエンジニアをしている太田です。 先月、NILTOの開発の中で、FastlyというCDN1を導入しました。Fastlyでは、エッジサーバー2で動くプログラムをRustというプログラミング言語で書くことができます。 個人的にも(そして、おそらく会社的にも)初めてRustを業務で利用した事例ですので、少しでもその経験をアウトプットしておきたいと考え、今回の記事のテーマとしました。…とはいうものの、趣味で個人的にRustを書いていたこともあり、それを業務で活かせ…
11日前
野中のre:Invent 2024 4 日目: Amazon Bedrock knowledge Bases を使用してスケーラブルなRAGアプリケーションを構築する
Fenrir Engineers
こんにちは。クラウドネイティブ技術部の野中です。 2024年12月2日から12月6日にかけて開催されている re:Invent 2024 に現地で参加しております。 今回は、生成 AI 関連のサービス Amazon Bedrock knowledge Bases に焦点を当てたセッションに参加しました。 このセッションを選んだ理由は、現在担当している RAG(Retrieval-Augmented Generation)を活用した社内文書検索システム構築のプロジェクトにおいて、 Amazon Bedrock knowledge Bases の採用を検討しており実務にも活かせられればと考えたから…
12日前
Androidエンジニアが普段考えるアプリのUI・レイアウトデザイン
Fenrir Engineers
これはフェンリル デザインとテクノロジー Advent Calendar2024 10日目の記事です。 前置き この記事の目的は、Android/iOSのデザイン、開発に従事しているデザイナーや技術者を主軸に、職業紹介として開発に従事していない一般の皆様にも読んでいただけることとしています。 Androidに特化した専門用語等は使わず、ラフにつらつらとタイトルについて書いたつもりなので、気兼ねなくお読みいただけたら幸いです。 背景 よくあることかもしれませんが、通勤通学やお買い物などで少し街に向かい、様々な広告やディスプレイを目にする際、例えばオーナメントの配置やテクスチャの表現、配色や全体感…
13日前
re:Invent 2024のEQ関連セッションの紹介
Fenrir Engineers
本記事は「Japan AWS Ambassadors Advent Calendar 2024」の18日目の記事です。 インフラ担当の柴田です。今年もAWS AmbassadorのAdvent Calendarに参加できて嬉しいです。 昨年は「テクノロジーだけじゃないre:Invent 2023 - Amazonのイノベーション文化」と題して、イノベーションとEmotional Intelligence (EQ)の記事を書かせていただきました。 今回も、re:InventとEQに関連した内容を紹介したいと思います。 re:Invent 2024でEQ関連のセッション Emotionally i…
15日前
【レポート】Deep dive into Amazon Aurora DSQL and its architectureに参加しました!
Fenrir Engineers
この記事はJapan AWS Top Engineers Advent Calendar 2024の5日目の記事です。 こんにちは、AWS re:Invent 2024 に現地参加していた森井です。 「Deep dive into Amazon Aurora DSQL and its architecture」というセッションに参加してきましたので、今回はその概要をご紹介します。 新発表サービスの情報にいち早くアクセスできるのは、re:Inventに現地参加する醍醐味ですね。 アーカイブが公開されているので、より詳細に知りたい方はこちらをご覧ください。 本記事のスクリーンショットはすべてこの動…
17日前
だれでもわかる、たのしいGoogle Maps API
Fenrir Engineers
これはフェンリル デザインとテクノロジー Advent Calendar2024 16日目の記事です。 まえがき はじめまして。NILTOのバックエンドエンジニアの小西です。入社してまだ二ヶ月ですが、面白い企画があると聞きつけて、今回フェンリルのアドベントカレンダーに参加しました。技術系の記事を執筆するのは初めてのことで緊張していますが、何卒よろしくお願いいたします。 さて、アドベントカレンダーと言えばクリスマス。 大人になってしまった今はクリスマスに何の感情も抱きませんが、幼い頃はサンタさんのプレゼントを楽しみに待ったものです。ワクワクできたあの頃は良かった。 記事のネタを考えていた私はひら…
18日前
野中のre:Invent 2024 3 日目: 生成AIの最新アップデートと活用例
Fenrir Engineers
re:Invent 2024 で発表されたアップデートは含まれてませんのでご注意下さい。 こんにちは。クラウドネイティブ技術部の野中です。 2024年12月2日から12月6日にかけて開催されている re:Invent 2024 に現地で参加しております。 今回、生成AIの最新情報や実際の活用事例を取り上げた日本語セッションに参加しました。 このセッションを選んだ理由は、現在担当しているRAG(Retrieval-Augmented Generation)を活用した社内文書検索システム構築のプロジェクトにおいて、ここで得た知見を何かしら活かせられればと考えたからです。 1. 生成AI活用の最前線…
20日前
野中のre:Invent 2024 2 日目:Dive deep on Amazon S3
Fenrir Engineers
こんにちは、クラウドネイティブ技術部の野中です。 2024年12月2日から12月6日に開催される re:Invent 2024 に現地参加しています! Dive Deep on Amazon S3 のセッションに参加しました。 このセッションを選んだ理由は、現在進行中の案件でS3を主軸としたアプリケーションを構築しており、その中で扱う膨大なデータ量やS3の卓越したデータ処理能力について、より深く理解したいと思ったからです。 S3の内部構造や設計思想を掘り下げることで、より効率的な運用や設計のヒントを得られると期待しています。 今回は、S3の内部アーキテクチャに関する内容となります。 セッション…
1ヶ月前
Aurora DSQLが発表されたので早速試してみる!
Fenrir Engineers
こんにちは、AWS re:Invent 2024 現地参加中の森井です。 本日、Matt GarmanのKeynoteにてAmazon Aurora DSQLが発表されました。 Introducing Amazon Aurora DSQL | AWS Database Blog 個人的にはここ数年で一番アツいアップデートだったので、ホテルに帰って早速試してみました。 Aurora DSQLとは? Aurora DSQLは、下記の特性を持ったSQLサービスです。 事実上無限のスケーラビリティ インフラ管理必要なし 99.999%のマルチリージョン可用性 強い整合性 PostgreSQL互換 Ke…
1ヶ月前
野中のre:Invent 2024 1 日目:DynamoDBデータモデリングのポイント
Fenrir Engineers
こんにちは。クラウドネイティブ技術部の野中です。 今年の12月2日から12月6日にかけて開催される re:Invent 2024 に現地参加しています! このイベントには以前から参加したいと思っていたので、ついに念願が叶い、ワクワクが止まりません。 今回は、DynamoDBデータモデリングに関するセッションを受講しました。このテーマを選んだのは、実際の案件でもDynamoDBを採用している中で、自身の知識不足を感じる場面があったためです。セッションを通して得た内容を振り返りながら、皆さんと共有していきたいと思います。 1. DynamoDBとは? DynamoDBは、AWSが提供するNoSQL…
1ヶ月前
Webエンジニアなら知っておきたいイベント駆動アーキテクチャ
Fenrir Engineers
Webエンジニアなら知っておきたいイベント駆動アーキテクチャ インフラ担当の柴田です。「Webエンジニアなら知っておきたい」シリーズです。 今回はイベント駆動アーキテクチャ(Event-Driven Architecture: EDA)について紹介します。 私がAWSをよく使うので、AWSを例にしています。 イベント駆動アーキテクチャとは? EDAは、イベントの発行、検出、消費といった、イベントへの反応を中心としたアーキテクチャです。 イベントとは、状態の変化や更新を表します。EDAでは、個々のシステムコンポーネントがイベントを介した疎結合になることで、敏捷性や回復力、拡張性が向上するとして注…
1ヶ月前
GitHub ActionsでAmazon ECR でのリモートキャッシュを利用してみた
Fenrir Engineers
はじめに こんにちは。インフラ担当の平田です。 とある案件でGitHub Actionsを利用しているのですが、PHPのDockerイメージをビルドする際に時間がかかってしまうという課題がありました。レイヤーキャッシュが利用されていないことが要因だったため、Amazon ECRでのリモートキャッシュを利用して、ビルド時間を短縮する方法に取り組みました。 課題もありますが、紹介させていただきます。 構成 GitHub Actionsの構成 GitHub Actionsの流れは次のとおりです。 Github Actionsで実行すること ソースコードを対象ブランチにpushまたはマージする PHP…
2ヶ月前
Web エンジニアなら知っておきたい DevTools の世界
Fenrir Engineers
はじめに こんにちは。フロントエンド担当の鯉田です。 この記事では Google Chrome の DevTools(検証ツール)について解説します。 検証ツールは Web 開発において欠かせないツールであり、デザイン確認、デバッグ、ネットワーク状態、パフォーマンスなどの改善に役立ちます。 本記事ではある程度は検証ツールを使用したことがあるエンジニアに対し改めて便利な機能を解説します。 この記事内で各要素の知っているようで知らなかった機能について、軽く触れているものとなっております。 詳細を知りたい場合は公式ドキュメントにてご確認ください Elements Elements は現在のページ内容…
2ヶ月前
React Developer Toolsを用いたコンポーネント設計
Fenrir Engineers
ウェブエンジニアの堀内です。 Reactが今日のフロント開発に欠かせない存在になっており、多くのエンジニアがReactを学習し利用しています。 しかし、初心者にはどのようにコンポーネントを分割すればよいか正しいアプローチがわからないこともあるでしょう。 正しくコンポーネントが分割できていないと不要な再レンダリングが発生する可能性がありアプリケーションのパフォーマンスが低下することがあります。 そこでこの記事では「React Developper Tools」というReactの拡張機能を活用してReactのコンポーネント設計を効率的に行う方法をご紹介します。 対象読者 Reactの機能はなんとな…
3ヶ月前
AWS Ambassador Global Summit 2024 参加レポート
Fenrir Engineers
インフラ担当の柴田です。 2024年9月にシアトルで開催された「AWS Ambassador Global Summit」に参加してきました。 セッションの詳細はNDAの関係で書けないため詳しく紹介できませんが、私が感じたことや全体の雰囲気をお伝えします。 参加者の集合写真 AWS Ambassador Global Summitとは? AWS Ambassador Global Summitは、その名の通り世界中のAWS Ambassadorが一堂に会するイベントです。 日中は、AWSのプロダクト責任者クラスの方々が最新のサービスやAmazonの文化について共有してくれます。 一方的な情報提…
3ヶ月前
Global AcceleratorのALBはInternalがおすすめ!
Fenrir Engineers
はじめに こんにちは。インフラ担当の平田です。 先日案件で初めてGlobal Accelerator + ALBの構築を行いました。 Global AcceleratorにALBを紐づける際の構成で学んだことをまとめたいと思います。 AWS Global Acceleratorとは AWS Global Acceleratorは、AWSグローバルネットワークを使用して、アプリケーションのネットワークパフォーマンスを最適化させるサービスです。 世界中のユーザーがアクセスするインターネットアプリケーションに対して、最適なルートでトラフィックを誘導し、遅延を低減します。 クライアントに最も近いリージ…
3ヶ月前
AWS X-Rayにサクッと入門する
Fenrir Engineers
はじめに こんにちは。バックエンド/インフラ担当の森井です。 業務でログの改善をしてからというもの、オブザーバビリティにお熱をあげている昨今です。 ログ改善については下記のブログにまとめているのでご興味があればご覧ください。 engineers.fenrir-inc.com さて、オブザーバビリティやっていくぞという気持ちが高まっているなか、やはりトレース、そして特にAWS環境においてはX-Rayを避けては通れないだろうということで、サクッと試してみました。 X-Rayとは X-Rayとはどのようなサービスでしょうか。 公式ドキュメントの説明を引用します。 AWS X-Ray は、アプリケーシ…
3ヶ月前
JWT で学ぶトークン認証
Fenrir Engineers
こんにちは! Web バックエンド担当の友廣です。 「Web エンジニアなら知っておきたい」ということで、今回は 「トークン認証と JWT」 についてです。 トークン認証とは ? トークン認証とは、ユーザーの認証情報をトークンとして生成し、それを使って認証を行う仕組みです。 例えば、ユーザーが ID とパスワードを使ってログインすると、サーバーはトークンを発行し、クライアントに返します。 クライアントはトークンをリクエストに付与してサーバーに送信します。 サーバーはリクエストに含まれているトークンを検証し、リクエストの許可を判断します。 これにより、リクエストごとに検証を行いつつも、ユーザーが…
3ヶ月前
ALBはServer-Sent Eventsが動きます!
Fenrir Engineers
はじめに こんにちは、バックエンド/インフラ担当の森井です。 最近Server-Sent Eventsを触っていたのですが、負荷分散はNLBを使わないといけない気がするな〜面倒くさいな〜と思いながらALBを通してみたら、普通に動いたので驚きました。 Server-Sent Eventsとは Server-Sent Eventsは、HTTP接続によりサーバーからクライアントへとデータを継続的に送信できる技術です。 詳しくはMDNの説明をご覧ください。 サーバー送信イベント - Web API | MDN 継続的に更新されるデータをクライアントに配信したい場合、最も原式的な方法はポーリングです。 …
4ヶ月前
Webエンジニアなら知っておきたい、依存関係の分類のお話
Fenrir Engineers
こんにちは! NILTOチームでインフラエンジニアをしている太田です。 「Webエンジニアなら知っておきたい」ということで、当記事では、プログラミング時の依存関係の分類についてお伝えします。 なお、便宜上ここでの「依存関係」は「プログラミング時に利用する外部および内部のライブラリ」と定義します。 日本語では違和感があるかもしれませんが、パッケージマネージャでよく用いられる「Dependencies」という英単語に置き換えると理解しやすいと思います。 依存関係の分類 外部依存関係(External dependencies) 実行時依存関係(Runtime dependencies) 開発時依存…
4ヶ月前
「Resource Management in Aurora Serverless」を読んでみた
Fenrir Engineers
インフラ担当の柴田です。 お盆休みに「Resource Management in Aurora Serverless」という論文を読んだのでブログを書いてみました。 この論文では、顧客体験を維持しながら物理的な機器のリソースを効率よく利用するためのさまざまな工夫が紹介されています。 そういった工夫も勉強になるのですが、「2.1 Challenges and a Key Design Principle」で述べられている次の設計原則にAmazonらしさがあるなと思いました。 Therefore, a general design principle throughout Aurora Serv…
4ヶ月前
Google Cloud Next Tokyo '24に参加しました〜ハンズオン編〜
Fenrir Engineers
はじめに こんにちは! NILTOチームでインフラエンジニアをしている太田です。 2024年8月1日(木)と2日(金)の2日間、パシフィコ横浜ノースにて開催された、Google Cloud Next Tokyo '24に参加してきました。 会場では、カテゴリごとに分かれた多数のセッションが聴講できるほか、Innovators Hive・Expoといった展示ブース、認定資格者ラウンジといったコミュニケーションのスペースなど、さまざまな催しものが楽しめました。 今年のGoogle Cloud Next Tokyoでは、個人的にこれから深掘りしたいテーマである「プラットフォームエンジニアリング」に焦…
5ヶ月前
Google Cloud Next Tokyo '24に参加しました〜基調講演編〜
Fenrir Engineers
はじめに こんにちは! NILTOチームでインフラエンジニアをしている太田です。 2024年8月1日(木)と2日(金)の2日間、パシフィコ横浜ノースにて開催された、Google Cloud Next Tokyo '24に参加してきました。 会場では、カテゴリごとに分かれた多数のセッションが聴講できるほか、Innovators Hive・Expoといった展示ブース、認定資格者ラウンジといったコミュニケーションのスペースなど、さまざまな催しものが楽しめました。 本記事では、2日間にわたって行われた基調講演について、レポートします。 基調講演 基調講演(キーノート)は、カンファレンスの基本となるテー…
5ヶ月前
効率的な学習方法の提案
Fenrir Engineers
ウェブエンジニアの堀内です。 IT業界は日々技術が進化していくので、エンジニアは勉強を継続していく必要があります。しかし 「仕事が忙しくてなかなか学習の時間が確保できない」「学習内容を覚えていられず次に活かせない」そんなお悩みを抱えている方も多いのではないでしょうか。 そこで重要なのが「効率的な学習方法」です。 この記事ではアクティブリコールという科学的根拠に基づいた効率的な学習方法を提案します。 アクティブリコールとは アクティブリコールとは勉強したことを能動的に記憶から引き出す勉強法です。 より効果的なアクティブリコールの実践方法として、思い出す手がかりが少ない状態で記憶から引き出してアウ…
5ヶ月前
【セッションレポート】「安全とスピードを両立するために ~ DevSecOps とプラットフォームエンジニアリング~」
Fenrir Engineers
はじめに こんにちは、インフラ担当の川島です。 先日、AWS Summit Japan 2024に参加してきましたので気になったセッションに関して紹介していきたいと思います。 皆さんはDevSecOpsという単語を聞いたことはありますでしょうか、恥ずかしながら私はDevOpsは知っていたのですが、DevSecOpsという単語は知りませんでした。 今回はそんなDevSecOpsに関する内容、「安全とスピードを両立するために ~ DevSecOps とプラットフォームエンジニアリング~」というセッションについて紹介していきたいと思います。 本セッションでは開発における安全とスピードを両立してくため…
5ヶ月前
ウェブアクセシビリティについて
Fenrir Engineers
こんにちは。Webフロントエンド担当の熊野です。 「2024年4月に施行される障害者差別解消法の改正により、民間事業者もウェブアクセシビリティの配慮が義務化されます。」という情報からこの記事の作成を始めて色々調べての結論ですが、義務化されるって部分は間違いでした。 義務化されたのは、「障害のある人への合理的配慮の提供」であり、ウェブアクセシビリティの対応は義務化されていませんし、ウェブアクセシビリティの対応に関して法的な罰則等はありません。 しかしながら、障害者差別解消法が2016年4月に施行された時からあったウェブアクセシビリティの努力義務のニュアンスがより強化されています。また、海外ではウ…
6ヶ月前
AWS マネジメントコンソールで「SignatureDoesNotMatch: Signature expired」が表示される
Fenrir Engineers
はじめに こんにちは、インフラ/バックエンド担当の森井です。 先日AWS マネジメントコンソールにログインした際、ELBの一覧画面にて下記のエラーに遭遇したので、解決方法を書き残しておきます。 SignatureDoesNotMatch: Signature expired: 20240627T062045Z is now earlier than 20240627T062802Z (20240627T063302Z - 5 min.) ELBの一覧画面 原因と解決方法 AWS マネジメントコンソールのログインに使用している端末のシステム時刻が5分以上ずれていることが原因でした。 システム時刻…
6ヶ月前