XHRリクエストとは 前回Inertia LinkでリンクやボタンからXHRリクエストを作成する方法を学びました。そもそもXHRリクエストとは、XMLHttpRequestの略で、JavascriptからサーバーへHTTPリクエストを行うことです。 SPA(シングルページアプリケーション)では、初回のアクセス時にすべてのHTML構造を読み込み、その後は必要なデータだけを必要に応じて読み込んで画面を更新していきます。その必要なデータを読み込む際に必要なのが、XHRリクエストです。 Inertia.jsでは、初回以降サーバーへのリクエストをInertiaリクエストによって行います。そのInertiaリクエストを作成するのが、前回説明したInertia Linkや、今回説明するrouter.visit()です。 router.visit()を使うことで、フォームの送信やファイルアップロードが行え
皆さんこんにちは、エンジニアの西尾です。 新しい機能・サービスを開発する際、私は特にデータベース設計に気をつかいます。 データベースはシステムの土台です。 土台が不安定だと、その上に積み上げていくアプリケーションコードがいびつなものになり、つらい思いをします。 また、一度動き出してしまったシステムのデータベース設計を変えるのは、容易なことではありません。 データベース設計には”これだ!”という正解はないと思っています。 サービスの特徴、システムの性質、toB向け/toC向け、Readが多い・少ない、Writeが多い・少ない。 その他もろもろの背景により、データベース設計の仕方も変わってきます。 このテーブルは正規化していないから駄目だ、この設計はいわゆるポリモーフィック関連だから使ってはいけない、などということはありません。 アンチパターンと呼ばれるものも時と場合によっては正解になります。
さてさて、前回「Vite + Inertia + React」でログイン機能をつくってみましたが、今回もその流れで基本的な「追加・変更・削除・閲覧」部分(いわゆる CRUD)をつくってみることにしました。 なお、できるだけコンパクトにしたかったのですが、気がつけば1万文字を大きく超えるボリュームになってしまい「2回に分割した方がよかったのでは…」と思ったりもしました。 しかし「技術系ブログ界のこち亀」のような、いつ読み始めても楽しめる(できるだけ続きものにはしない)スタンスでブログ運営をしていることもあり、あえて1回で公開することにしました(笑) そこで❗ 今回は「Laravel + Vite + Inertia + React」で「追加・変更・削除・閲覧」機能をつくってみます。 ぜひ何かの参考になりましたら嬉しいです😊✨ 「人生で初めて ル・プティ・ムートンという 高級ワインを飲みまし
こんにちは。インフラエンジニアの永井(shnagai)です。 コネヒトでは、開発環境に続き、続々と本番サービスにもDockerを導入しています。 今回は、中々運用が大変なcronでスケジュール管理するような定期的なバッチ処理を、Amazon ECSのScheduledTaskを使ってDocker駆動な環境で構築した話です。 他の方法との比較やどのように実現しているのかについて紹介したいと思います。 今回対象とするバッチの種類 今回対象とするバッチ処理は、俗に言うスケジュール系のバッチ処理で、毎日00時00分や10分毎にサイクル起動等、事前に定義した時間に正確に動くことが期待されているものです。 ※ジョブキュー形式のバッチだと、AWS BatchやEBのWorkerもしくは、SQS + Cron on EC2で処理するほうがスマートかと思います。 実行方式の選定 上記要件のバッチを実現する基
Amazon ECS でのコンテナデプロイの高速化 この記事は同僚の Nathan Peck (@nathanpeck)が書いた記事 “Speeding up Amazon ECS container deployments” を翻訳し、加筆・修正したものです. 元記事を ECS ユーザに紹介する機会が何回かあったので、せっかくなので翻訳することにしました. コンテナのオーケストレーションは非常に複雑な問題の一つです. アプリケーションコンテナのデプロイのために、相互にやり取りを行う複数の異なるコンポーネントが存在します. あなたのアプリケーションを実行したオーケストレータは、その実行されたアプリケーションが Web トラフィックを受け取る用意ができているかどうかについて判断する必要があります. その後そのアプリケーションはスケールダウンされたり、あるいは新しいバージョンのアプリケーション
多機能な画像生成AIの「Midjourney(ミッドジャーニー)」。Midjourneyでは、画像を読み込ませて、新たな画像を生成することも可能です。
画像生成AIのMidjourneyを1年間使い続け、特に気に入っているのが、AIによるロゴデザインの作成です。 ロゴを適当に利用してしまうと、大きなデメリットしかなく、もったいなさすぎます。 その理由はずばり、ロゴは単なるきれいなイメージではないからです。 ロゴは、ブランドのすべての価値を表す重要な略語なのです。 出典: The 7 Types of Logos And How to Use Them – 99designs それぞれのロゴの背景には、ブランドの世界観が詰め込まれています。 ロゴを見たときに、意識的にせよ無意識にせよ、あなたの脳はストーリーや感情、経験で満たされます。 実際、人間の脳はテキストの6万倍の速さで画像を処理しているそう。 もしかしたら、これまで無料のロゴを利用したり、プロのデザイナーに頼むと高くつくので、自分で作っているかもしれません。 しかし、Midjourn
ここにある説明じゃ全然わからんから手を動かしてみようという企画 準備まず、ここでは会社一覧と、ユーザー一覧を出すページを想定する。 完成予想図つまりusersとcompaniesのためのtableを用意する。これらは非常に適当でいいが、数が必要である。 Companyの準備とりあえずcompaniesテーブルの構造 Schema::create('companies', function (Blueprint $table) { $table->id(); $table->string('name'); $table->timestamps(); });まあこんな感じだろう。で、seedする database/seeders/DatabaseSeeder.php \App\Models\Company::factory(10)->create();などとしておき、factoryを作る da
morishitaです。 今回はStripeについて調べてみたのでそのことを書きます。 Stripeとは Stripeは決済処理を代行してくれるサービスです。 サービス内でなにか販売をしようとするとユーザーから代金をいただく決済の仕組みを用意する必要があります。 ネットサービスだとまずはクレジットカード決済のサポートが必須となると思います。 通常は、各クレジッドカードブランドと直接やり取りすることはなく、代行処理サービスを使います。 Stripeもそんな代行処理サービスのひとつです。 決済機能はクレジットカード番号というセンシティブな情報を扱うため、代行処理サービスを使ってもやり取りが複雑になりがちです。 私自は過去に国内の同様のサービスを使ってクレジットカード決済を実装したことありましたが、 今回Stripeを使ってみてその実装の容易さに感動しました。 Rails のアプリケーションに組
Stripe × PHP(laravel)でクレジットカード登録・決済処理機能を実装してみよう!(事前準備編) 2019/12/11 2021/5/16 プログラミング 久しぶりのブログとなってしまいました・・・11月は本当仕事でバタバタしてしまい、ろくにブログもかけず、ちょっと自己管理の出来なさに反省をしている次第でございます。。。 さて、久しぶりのブログなんですが、今回はStripe×PHP(Laravel)を使ったクレジットカード決済処理機能の実装に関するブログを、自分の備忘録もかねて3回に渡って記載したいと思います。 3回の内容については、以下の通りの区分になっています! 事前準備編(今回の記事はこちら)クレジットカード登録・更新編決済処理編 ※3回分のブログにさせていただく内容の最終形コードは、上記Githubに掲載しております。こちらの内容を元にお話を進めていきたいと思います!
はじめにステージング・本番環境をデータセンターから ECS に移行した際のメモです。 ECS は Fargate ではなく EC2 インスタンスで動かします。 なぜステージング・本番環境を ECS で構築するか開発環境と同じ環境で稼働させたい(同じ Docker イメージを使えば可能になる)スケールできるようにしたいECS の全体的な構成タスク定義ひとつまたは複数のコンテナを動かすための設定で docker-compose.yml のようなもの。 タスクタスク定義を動かした実態。Docker コンテナの集まり。 リソースが許せばひとつの EC2 インスタンス(≒ コンテナインスタンス)の中に複数のタスクを実行させることが可能。 リソースやタスクの割り振りは ECS がいいように行ってくれる。 サービス下記のようなタスク管理を行う。 どのタスク定義から何個のタスクを走らせるかデプロイ時の古い
最近はAIエンジニアを名乗ってるerukitiです。フロントエンドもバックエンドも、LLMを触るあれこれもやってるので、「AIエンジニア」くらいを名乗るとちょうどよさそうだなと思ってます。いずれLLM自体の開発なんかもやってるかもしれません。 LLMプロダクトを開発していると、構造化データを作りたいのに、Anthropic ClaudeのAPIにはJSONモードが無いことや、なんならJSONモードやfunction callingを使っても、データが正しい形式に従ってることは保証しがたい、みたいな自体に遭遇することがあります。 JSONが出力できたとしても、構造化データをうまく吐き出させるのは難しいものです。文字列を出力させたいけど、複数あるときは、配列なのか、それともカンマ区切りなのか?項目がオプショナルの場合はどうするか?項目が存在しない、空文字や 0 や undefined や nu
こんにちは。 この記事は、Acompanyのバレンタインアドカレ 12日目の記事です。 開発の業務の中で、Google 認証 + OAuth2.0 + ドライブアクセスができる機能を作る際になかなかベストな記事がなかったため、備忘録として書きました。 Webサービスなどでよく見るGoogle認証してカレンダー連携やDrive連携だったりを行う際に参考にしていただければと思います。 Google認証をしてGoogleサービスと連携する、例のアレを作りたい 今回作りたい機能は、Googleのサービスとアプリを連携したい時によく見るGoogleログインをして、アクセスリクエストを許可する例のアレです。 例えばNotionで、自分のアカウントのDriveにあるファイルを連携したい際に/GoogleDriveで連携を開始すると下記のように認証と認可を行う画面が出てきます。 今回作りたい機能はまさにこ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く