Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事は Terraform Advent Calendar 2024 の 23日目の記事です。 TerraformのCI/CDどうしてますか?私は長年Atlantisを愛用していました。Atlantisは、Terraform/OpenTofu用のCI/CDサーバで、自分で使う分にはどちゃクソ便利なんですが、サーバを自前で建てないといけないのがネックで、なかなか初心者や小規模な環境にはオススメしづらいのが悩ましいところです。 なんかよい代替手段はないかしら?と思って最近使ってみているのがDiggerです。DiggerはGit
この記事の背景 現在担当しているプロジェクトでは、GraphQLを提供するAPIサーバを中心とした、マイクロサービスアーキテクチャを構築しています。 サービスが複雑化するにつれて、ログの出力フォーマットや統一された方法でのログ確認が重要になります。 この記事では担当プロジェクトで取り組んだロギングのシステムと、そのフォーマットについて紹介します。 フォーマットを考える過程で、以下の書籍と記事は大変参考になりました。 併せてお読みいただけると嬉しいです。 https://book.productionreadygraphql.com/ https://lab.mo-t.com/blog/microservice-log システム全体図 ラフに描いた全体図は以下になります。 具体的なサービス名は伏せているため、分かりづらいかもしれませんが、GraphQL Gatewayの下にいくつかのサービス
[速報]Google、Geminiベースの新WebIDE「Project IDX」をオープンベータで公開 Googleは同社の最新生成AIであるGeminiをベースとした新しいWeb IDE「Project IDX」をオープンベータとして公開しました。 Project IDXは、モバイルやデスクトップなどのマルチプラットフォームに対応したフルスタックのWebアプリケーションを、さまざまなフレームワークや生成的AIの支援などを活用して効率的に開発するための、Webブラウザから利用可能な統合開発環境です。 これまでその存在は発表されていましたが、招待されたユーザーのみが利用可能でした。 We want to make generative AI accessible to every developer on the planet. That’s why we’re making Gemini
最近関わっているプロジェクトでは、大きなアプリケーションのリアーキテクチャを行っています。 そこではフルスクラッチでインフラの構成を書き直す機会がありました。 そのプロジェクトは社内では比較的複雑な構成になっていて、リアーキテクチャにあたっては、アプリケーション特有の事情により、考慮すべきポイントや難度が高いところがたくさんありました。 具体的には、複数のマイクロサービス間の協調性や独立性とそれに付随する認証/認可、クライアント証明書(mTLS認証)の管理、歴史的経緯による複雑性を正すためのawsアカウント移行などなど。 それらは別の機会で語る(or 同僚の誰かが語ってくれることに期待したい)として、この記事ではインフラをフルスクラッチで書き直すにあたって選択したCDKTFについて、紆余曲折を経つつも最終的に採用したディレクトリ構成について書きたいと思います。 タイトルには「ベストな」とあ
これは CureApp Advent Calendar 2023 18日目の記事です。 はじめに これまでGraphQLのスキーマ設計してきた経験の中で、これ最初から考えておくべきだったなーみたいなことをMutationに限定してまとめていきます。 (Mutationにしたのはパッと思いついたのがMutation周りが多かったからです。そのうちQueryやSubscriptionやEntityについても書くかも) GraphQLのスキーマ設計にも細かい部分では様々なプラクティスがあり、実際のところはそれぞれのアプリケーションのユースケースやチームの体制に合うかどうかで決めるべきです。 なのでこうするべきという話よりは、自分のケースではこうすべきだったなーという反省をつらつらと述べていきます。 ご自身のケースに当てはめて取捨選択をする上での参考になれば幸いです。 本編 エラーをクライアントに
はじめにタイトルの通り最近「ソフトウェアエンジニアがビジネスの話をする」って極論かなり難しくねと思っており、まだまだ自分の中にも答えはないが書いてみる。 逆に読むと良い記事、書籍、論文があるなら教えて欲しい。 背景近年「エンジニアは事業貢献してこそ」「エンジニアもユーザファーストでビジネス貢献」といった言説がIT界隈で増えて来ている感じがしている。 これは本当に良いことだと思っていて、技術や業界全体の経験の積み重ね、研究活動によって、技術やノウハウがコモディティ化したことで、より本質的なエンジニアリングが提供すべき事を考えられるようになっている結果の1つだなと思う。私がエンジニアリングを最初に学んだ頃なんかは、ソフトウェアエンジニアはキツいみたいな文脈で3K職だと言われていて、高専でも「電気系に行ったほうが安泰だぞ」と先生が言うほどだった。GitHubやCI/CD、クラウド、OSSだったり
Goyaという形態素解析器を Rust で作りました。本記事は利用者目線で Goya の紹介をします。技術的な詳細については別途記事を書きます。 形態素解析とは? (このセクションは形態素解析の基礎の話なので知ってる方は読み飛ばしてください) 形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの形態素の品詞等を判別する作業である。 — 形態素解析 - Wikipedia 例えば早口言葉の”すもももももももものうち”(スモモも桃も桃のうち)という言葉を形態素解析すると以下のような結果が得られます。スモモや桃が名詞、間にある”も・の”は助詞と解析さ
useEffect(fn, []) is not the new componentDidMount() They're almost the same. But there's actually just enough of a difference to possibly get you into trouble -- especially if you're refactoring from classes. We often times do some setup when the component first mounts like a network call or a subscription. We have taught ourselves to think in terms of "moments in time" with things like component
ライブラリの実装からCursor-based paginationにおけるcursorのフォーマットのベストプラクティスを探るGraphQL この記事は GraphQL Advent Calendar 2020 13 日目の記事です。 前回の記事は @maaz118 さんの GraphQL の @defer, @stream ディレクティブを試してみる でした。 GraphQLにおける2つのPagination方式 Offset-basedとCursor-based GraphQLにおけるpaginationには、Offset-based paginationとCursor-based paginationの2つが主な方法としてあります。 GraphQLの公式ページには3つの例が載っています。 https://graphql.org/learn/pagination/#pagination
この記事は GraphQL Advent Calendar 2020 10 日目の記事です。 前回の記事は @mtsmfm さんの Swift 用 graphql-codegen plugin の graphql-codegen-swift-operations を作った でした。 はじめに PrismaはGraphQLを実装するためのクライアントライブラリ,ORM(Prisma1においてはGraphQLサーバ自体も含む)として広く知られていると思いますが、Prismaはversion2(以下、ただのPrismaと書いている箇所はPrisma2を指します)より、ORM部分に注力し、GraphQLとは直接関係ない方向に成長していく方向に舵を取っています。 (参考: https://www.prisma.io/blog/prisma-2-is-coming-soon-mwwfhevie993)
AWS Open Source Blog Announcing the General Availability of Bottlerocket, an open source Linux distribution built to run containers As our customers increasingly adopt containers to run their workloads, we saw a need for a Linux distribution designed from the ground up to run containers with a focus on security, operations, and manageability at scale. Customers needed an operating system that woul
The State of Ruby 3 TypingIntroducing RBS, Ruby’s new type signature language We're pleased to announce Ruby 3’s new language for type signatures, RBS. One of the long-stated goals for Ruby 3 has been to add type checking tooling. After much discussion with Matz and the Ruby committer team, we decided to take the incremental step of adding a foundational type signature language called “RBS,” which
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く