2024/06/25: モノレポは、令和のソフトウェア開発における銀の弾丸か? https://hack-at-delta.connpass.com/event/319792/ フロントエンドの Monorepo をやめてリポジトリ分割したワケ 坂井 学 ソフトウェアエンジニア
arno.org If you are a Mac user, or if you have transferred files from Mac to Windows, you’re probably familiar with .DS_Store files. But where does this name come from? Back in 1999 I was the technical lead for the Mac OS X Finder at Apple. At that time the Finder code base was some 8 years old and had reached the end of its useful life. Making any changes to it require huge engineering effort, an
はじめに サプライチェーンリスク管理クラウドサービスResilireでエンジニアをしている奥村@showkittie です。 Resilireでは、1歳の子の育児に悪戦苦闘しながら、フロントエンド、サーバサイドを問わずプロダクトエンジニアをやっています。 ResilireはシリーズAを迎えたばかりのアーリースタートアップでありながら、フロントエンドのテストカバレッジが90%を超えており、必要なケースについてはほぼテストが網羅されています。 私は今年の4月に入社したばかりですが、すでにテストカバレッジの高さに助けられ、不具合の混入をせずに済んだことが何度もあります。 今日は、Resilireのフロントエンドのテスト戦略とカバレッジの高さの理由についてお伝えしたいと思います。 スタートアップとテスト 冒頭にもお伝えした通りResilireはアーリースタートアップです。エンジニアリングに求められ
TypeScript 5.5で、@graphemeclusterさんによって正規表現リテラルの構文チェックが導入されました🎉 この構文チェックによって、正規表現に間違いがあった場合、事前にTypeScriptがエラーを出力してくれます。 この機能について、次のことが気になったので調べてみました。 どんな構文がエラーになるか なぜ導入されたか どうやってチェックしているか JavaScriptで実行できるがTypeScriptでエラーになる構文はあるか ESLintとのカバー範囲の違い 本記事に関して、誤り等があれば指摘いただけると嬉しいです。 どんな構文がエラーになるか TypeScript 5.5では、正規表現に関するエラーメッセージが40個程度追加されています。 例えば、下記のような構文は、5.5でエラーになります。 // 存在しないフラグ var re = /a/b; // エラー
こんにちは、syumaiです! このたびベースマキナのエンジニアブログを始めることになりました! 本記事では、エンジニアブログを始めることになった経緯や、これからどういった内容について書いていくのかなどについて簡単に紹介します! ベースマキナとは 今回は、一本目の記事ということで、簡単にサービスの紹介もさせてください! ベースマキナは、一言で言うと管理画面のSaaSです。特に社内向けの管理画面をメインの用途としたプロダクトです。 社内向けの管理画面は専任のチームが存在しないことも多く、 ライブラリの更新、新機能追加のメンテナンスが滞る 権限管理の実装を十分に行えない といった課題を抱えている場合があります。 ベースマキナでは、任意のデータベースやAPI (REST API / gRPCなど) への接続を行ったうえで、 処理実行用のフォームの生成 入力値へのバリデーション 権限管理、承認フロ
AWS Machine Learning Blog Streamline generative AI development in Amazon Bedrock with Prompt Management and Prompt Flows (preview) Today, we’re excited to introduce two powerful new features for Amazon Bedrock: Prompt Management and Prompt Flows, in public preview. These features are designed to accelerate the development, testing, and deployment of generative artificial intelligence (AI) applicat
Can you really adopt Next.js App Router incrementally? At WorkOS, we learned that you can’t really migrate a complex app page by page without a hit to the UX. Instead, we worked out a migration guide that allowed us to test our entire app with App Router while still serving the Pages Router to users—before making the final switch. We use Next.js for all of our frontend apps at WorkOS. Recently, th
手間をかけずにCloudFrontを使った静的Webサイトを作りたい こんにちは、のんピ(@non____97)です。 皆さんは手間をかけずにCloudFrontを使った静的Webサイトを作りたいなと思ったことはありますか? 私はあります。 過去にAWS CDKを使ってこの思いを実現したことがありますが、一からAWS CDKを作り込むのはなかなか大変でした。 そんな苦労はCloudFront Hosting Toolkitを使用すると少し解消されるかもしれません。 CloudFront Hosting ToolkitはCLIまたはAWS CDKでフロントエンドのホスティングとCI/CDパイプラインを用意するツールです。 今だとAmplifyを使えば良いのではないか? という声も聞こえてきますが、細かいカスタマイズを行いたい場合にCloudFront周りを直接操作したい場合があります。そうい
デジタル庁デザインシステム デジタル庁デザインシステムとは、名前の通りデジタル庁が提供しているデザインシステムです。 行政機関や公共性の高い組織のWebサイト、アプリケーションを構築する際に利用することを念頭に置いて構築されています。 2024/05/30にv2.0.0としてベータ版が公開されました。 デジタル庁デザインシステムの内訳 デジタル庁デザインシステムには以下の成果物が含まれています。 デザインシステム本体 Figmaのデザインデータ v2系 Figmaのデザインデータ v1系 React製のコードスニペット イラストレーション/アイコン素材 以降は内容物をそれぞれ確認しつつ、デジタル庁デザインシステムがどのようなものかを考えていきます。 デザインシステム本体 デジタル庁デザインシステムベータ版のWebサイトのことを指します。 はじめて本ウェブサイトを見る方への業務での活用につい
こんにちは!Insight Edgeの小林まさみつです。 Insight Edgeでは、単一のプロジェクトでバックエンドとフロントエンド両方の開発を担当することがあります。 開発時にはバックエンドとフロントエンドをうまく連携することが求められます。 その際、それぞれで型情報を定義すると多重管理することになり、管理の手間がかかることに加えて整合性が保ちづらくなります。 本記事では、型情報を含むAPIをスムーズに連携することでこれらの問題を解決し、開発プロセス全体の効率化を実現する方法を紹介します。 目次 1. 概要 2. 使用する主要な技術 3. 本記事で扱うデータモデル 4. バックエンドの型情報と FastAPI の役割 5. フロントエンド開発の効率化 6. バックエンドとフロントエンド間の型同期 7. 注意点 8. まとめと今後の展望 1. 概要 型付けの重要性 型情報を明示すること
せっかくなのでフロントもバックも TypeScript を使おう、ということで、アレコレ考えて作った構成を共有します。何かの参考になれば幸いです。 下記の Web サービスを開発するときに使いました。 システム構成 ランタイム:Bun フレームワーク: Express ORM:Drizzle ORM インフラ:Docker 私的にはバックエンド中心で処理・出力し、そのうえでフロントエンドを使うのが好きです。 ディレクトリ・ファイル構成の例 あまり深くディレクトリを掘りたくなかったので、ルートに散在しています。 ├── assets :ビルドされたフロントエンドのファイルが入る ├── constants :定数関係 │ └── index.ts ├── controllers ;コントローラー │ ├── _Controller.ts:ルート(/)のコントローラー │ └──
I’ve noticed a small but interesting trend in the programming languages space. I’m not sure how novel it is, but this pattern, which I’ll refer to as “biphasic programming,” is characterized by languages and frameworks that enable identical syntax to express computations executed in two distinct phases or environments while maintaining consistent behavior (i.e., semantics) across phases. These pha
Jun 29, 2024 Samuel Tulach Jun 29, 2024 Samuel Tulach Edit 7/1/2024: I feel like I should edit this article and clarify a few things since someone posted this article on Hacker News, and it appears it has received over 440 comments. This means it has left the typical reader base of this blog (four and a half people). This whole article was written because I was trying to write a companion program
さて、おうちで動画生成は難しいという結論になりました。 Open Soraを使っておうちのWindowsで動画生成する - きしだのHatena ということで、GPUサーバー借りてやるのがいいのではと、Google Colabで試してみました。それなりに動画が生成できたので、末尾にいろいろ載せてます。 無償で使えるT4は16GBのGPUでOpen Soraは動かないので、課金が必要です。というか、24GBのL4でもout of memoryだったので、40GBのA100が必要です。 ガチャがんばろう。 最初にネタバレですが、セットアップだけで5コンピューティングユニットくらい消費します。まずはT4などを使って、起動してout of memoryが出るところまで手順を確認したあとで、A100を使うほうがいいです。 インストール CUDAが12.2なので、12.1にダウングレードする必要があり
YouTube Embeds are Bananas Heavy and it’s Fixable July 1, 2024 TL;DR: YouTube Embeds are like 1.3MB in size with no shared resources between multiple embeds. Using a <lite-youtube> Web Component is more like 100k, does share resources, and sacrifices no functionality. You can put a YouTube video on any website. They help you do it. Under the Share menu right on youtube.com there is an option to <>
こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。 はじめに サイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。 今回は、2024/07/09のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 React & Codemod Announcement React 19への移行を支援するツール(codemod)が公開されました。例えば、次の移行作業を自動化してくれます。 Context.ProviderをContextに置き換え forwardRefの削除 useContextをuseに置き換え next-cache-toolbar Next.jsのData Cacheの中身を視覚的に見れるツールです。 Diving
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く