CGIにおいて、実行されるプログラムにはこの環境変数を通じてクライアント(ブラウザからアクセスした側)からの指令を受け取る。今どきのスクリプト言語では、QUERY_STRING を自動的に解釈してクエリを扱いやすい形(ハッシュ表、連想配列など)で返してくれるライブラリを持っていることが多い。 この単語が日記に出てくる人は、きっとCGIをちょっと深いところまでいじろうとしているのでしょう。
ずっと気になってたDrizzle ORMに入門してみたときの備忘録(*´ω`*) 合わせて、Tursoも一緒に使ってみる Drizzle ORM - next gen TypeScript ORM. Turso - Databases for All version drizzle-orm: v0.38.2 drizzle-kit: v0.30.1 @libsql/client: v0.14.0 nuxt: v3.14.1592 とりあえずお試し 「Get Started」を見ながら、setupと簡単な読み書きをしてみる Get Started with Drizzle and Turso |…
これは、なにをしたくて書いたもの? AWS Lambdaで通常のWebアプリケーションフレームワークを使えるという、AWS Lambda Web Adapterを1度試しておきたいなと 思いまして。 今回はFastAPIで試してみたいと思います。動作確認をするのはローカル環境です。 AWS Lambda Web Adapter AWS Lambda Web AdapterのGitHubリポジトリーはこちら。 GitHub - awslabs/aws-lambda-web-adapter: Run web applications on AWS Lambda AWS Lambda Web Ada…
はじめに こんにちは、STORESの高田です 今回は Playwright を用いて RESTful API のシナリオテストを実装したことについてご紹介します Playwright ではAPIの操作フローをプログラムで書けるため、想定利用ケースをコードで明示できる上、融通の効くテストが書けます。「初期ユーザを準備する」といった何度も行う処理を再利用可能な状態で切り出せたり、ヘッダー・認証・ミドルウェア等の処理を通したテストができるため、より実態に近い状態でテストできるメリットがあります ただ、ここで直面する問題として、公開されたAPIだけではシナリオが完結できないケースが出てきます。例えば、…
これは、なにをしたくて書いたもの? AWS Lambda関数をTypeScriptで書く場合には、型定義を@types/aws-lambdaから使うことが多いと思います。 @types/aws-lambda - npm ではPythonの場合はどうしたらいいのだろうと調べてみたら、Powertools for AWS Lambda(Python)に含まれているようだったので こちらを試してみることにしました。 Powertools for AWS Lambda(Python)のTypingとEvent Source Data Classesを使う Powertools for AWS Lamb…
Redirect Rules 2024Wildcard pattern → 条件を組み合わせたい場合は Custom filter expression 例 Redirect from HTTP to HTTPS ( /.well-known/ は除外) Custom filter expression (http.request.full_uri wildcard "http://*" and not starts_with(http.request.uri.path, "/.well-known/")) Dynamic wildcard_replace(http.request.full_…
本記事はBASEアドベントカレンダー2024の13日目の記事です。 はじめに Pay IDのテックリードの大木(@roothybrid7)です。 9/30に、PAY株式会社(以下PAY社)が保有していた「Pay ID」のシステム移管を行い、リニューアルしました。 カートやショップ管理画面、Pay IDアプリとは別の独立したシステムとなっており、アプリケーションの技術選定やアプリケーションアーキテクチャの設計に携わりましたので、その辺の話をしたいと思います。 移管の背景 2021年に購入者向けショッピングサービスとして「Pay ID」の提供を開始しましたが、サービスの運用は引き継いだ一方で、決済…
Retty(レッティ)のプロダクトマネージャーをしている松田です。 はじめに Search Consoleではエクスポート行数に1000行までの制限がある、遡れる期間が16ヶ月前まで、など何かと物足りないポイントがあります。 BigQueryにデータをエクスポートすることで、エクスポート開始以降はデータ量に制限がなく全量データを分析できるようになり、意思決定の幅が広がります。 ここではエクスポートしたデータの見方と、簡単な分析例をご紹介します。 はじめに Search ConsoleのデータをBigQueryにエクスポートする方法 searchdata_url_impressionテーブルの見…
AWS CLIでDEBUGレベルのログを出力する方法の備忘録です。 はじめに AWS CLIでDEBUGレベルのログを出力する やり方 実行例 おわりに 参考 はじめに AWS CLIをDEBUGモードで実行したくなったので、やり方の備忘録メモを残します。 AWS CLIでDEBUGレベルのログを出力する やり方 --debugオプションを付けるだけで、DEBUGレベルのログを出力することができます。 この--debugオプションはaws cliのグローバルオプションなので、どのAWSコマンドでも使用可能です。 AWSユーザーガイドによると、 認証情報の検証 パラメータのパース AWSに送信す…
これは、前人未踏の地に飛び込んでいった漢たちの物語・・・ ツッコミ所がいっぱいあると思います。どんどんツッコんで賑やかしてください。ISUCONの経験がそんなにあるわけではないので、アホみたいなことをしているかも。俺をBIGにしてください! また、書いている話は「ISUCONやそれに近しい局面ではこう」という話なので、人類普遍の真実を述べているわけではない。 あらすじ ISUCON14お疲れさまでした。 ISUCONといえば例年いろいろな言語で参考実装が公開され、そのうちどれかを選んで改善していくというスタイルが一般的、というか普通なのだが、自分たちは参考実装が一切存在しないScala 3で突…
1位の人の全てのコミットを追うまとめ - https://github.com/takonomura/isucon14 具体的な作業 10:08 各サーバの情報などをスクリプトで自動取得し保存 10:08 nginx / mysql / systemd 系のものも取得 10:13 プロセス名を修正 10:13 netdata install 10:13 nginx.conf と site-enabled をひとまとめにして nginx.confへ 10:17 nginx 秘伝のタレ nginx.conf worker_rlimit_nofile 100000 events { worker_c…
はじめに SENSYプロダクトチームの清水です。今回はBigQuery上で動的にクエリを生成し実行することのできるEXECUTE IMMEDIATE関数を紹介いたします。 常日頃から利用する機能ではないですが、特定の場面ではとても役に立つものです。 問題設定 BigQueryのpublicデータで公開されている4つのデータセットを例とします。 bigquery-public-data.crypto_bitcoin bigquery-public-data.crypto_bitcoin_cash bigquery-public-data.crypto_dash bigquery-public-d…
この記事は、 PLEX Advent Calendar 2024の5日目の記事です。 今回紹介する下記の型は、 よく使うもの、見かけた時にすぐに理解しづらいものを選んでいます。 TypeScriptの型を復習しましょう リテラル型 特定の値そのものを型として使用できる機能 // 例1: type Direction = "north" | "south" | "east" | "west" let myDirection: Direction = "north" // OK myDirection = "up" // ❌ エラー: "up"は許可されていない // 例2: // HTTP メソ…
こちらの記事は Rust Advent Calendar 2024 シリーズ 3 7日目の記事です! qiita.com はじめに Rustを使用したWebアプリケーション開発は、高いパフォーマンスと堅牢性を両立させる方法として注目を集めています。本記事では、日本の郵便番号システムにアクセスするRESTful API「yubin_api」の実装を通じて、Rustの実践的な開発手法を解説します。 workspace_2024/yubin_api at main · nwiizo/workspace_2024 · GitHub このプロジェクトでは、axumを使用したWebサーバーの構築、非同期プ…
こちらの記事は Rust Advent Calendar 2024 シリーズ 3 5日目の記事です! qiita.com はじめに こんにちは!jposta を紹介させてください。jpostaは、日本の郵便番号・住所をターミナルから手軽に検索できるTUIツール 🔍 です。Rustで書かれており ⚡、使いやすさを重視してリアルタイム検索を実装しました 🖥️。 jposta の動作イメージ 元ライブラリーの実装についてはsyumai さんの実装を全面的に参考にさせていただいております。美しい実装すぎて震えました。 blog.syum.ai 機能紹介 この小さなツールでは、郵便番号から住所の簡単検索…
# Set IS_BOT RewriteCond %{HTTP_USER_AGENT} (Amazonbot|bingbot|Googlebot|GoogleOther) [NC] RewriteRule .* - [E=IS_BOT:1] # Block bot RewriteCond %{ENV:IS_BOT} 1 RewriteCond %{REQUEST_URI} ^/wp-login.php RewriteRule .* - [F] # Block Search Spam RewriteCond %{ENV:IS_BOT} 1 RewriteCond %{QUERY_STRING} …