CGIにおいて、実行されるプログラムにはこの環境変数を通じてクライアント(ブラウザからアクセスした側)からの指令を受け取る。今どきのスクリプト言語では、QUERY_STRING を自動的に解釈してクエリを扱いやすい形(ハッシュ表、連想配列など)で返してくれるライブラリを持っていることが多い。 この単語が日記に出てくる人は、きっとCGIをちょっと深いところまでいじろうとしているのでしょう。
4/20 - 4/21という日程で開催された。BunkyoWesternsのぽよ~~~~として参加して3位。プレースホルダのつもりで適当なユーザ名にしたのだけれども、後から変えようとしたら "Name changes are disabled" と怒られて困った。 Webを全完した。Fearless ConcurrencyとNo Sql Injectionが特に面白かった。 リンク: 問題リポジトリ・公式writeup [Web 100] Baby Web (183 solves) [Web 100] Greyctf Survey (154 solves) [Web 100] Markdown…
Elasticsearchを使って日本語の全文検索機能を実装することはよくあるケースですね。 大量のドキュメントをインデックスに登録し運用していると、想定したドキュメントがヒットしない、関連性が低いドキュメントのスコアが高くなっている等、意図していない挙動になっている場合があると思います。 その時にデバッグする時に便利なAPIや使い方をまとめてみます。 Analyze API 実際に検索クエリがどのようにトークン分割されているか確認したい場合に使います。 アナライザを指定することで、アナライザごとにどのようにトークン分割されているか比較することが可能です。 www.elastic.co sta…
はじめに リポジトリ Parameter based automatic query method Annotated query method Query by Method Name Jakarta Data Static Metamodel クエリ条件 クエリ結果 リソースへのアクセス はじめに Jakarta EE 11 の目玉機能である Jakarta data 1.0 の先取りまとめです。開発は遅れていますが、RC1が 2024/04/19 に リリース予定となっています。 Spring Data のようにリポジトリインターフェースによりデータベース操作が可能になります。 ザックリ…
「.htaccessファイル」を使った動的配信モバイルファースト インデックスに関するおすすめの方法 | Google 検索セントラル | ドキュメント | Google for Developers スマートフォン利用者を自動的に「スマートフォン版サイト」へ誘導できるよう、「アクセス者の端末に応じて自動でアクセス先を振り分ける機能」を作ってみましょう。この授業では「.htaccessファイル」を使って、サーバ側で自動振り分けする方法をやってみます。まずは「.htaccessファイル」を作成します。この際、ローカルサイドで「.htaccessファイル」を作成すると、不可視ファイルの設定などで問…
基本的にはNext.jsを学習してきましたが、13あたりのアップデートからややついて行けない感が出て新規に採用するべきか悩んでいました。 とりあえずことある毎に公式のチュートリアルは全て見てはいるんですが、きっちり理解できている感じがしなくて「なんとなく」使ってる感が強いのです。 (React Server Componentsの理解もイマイチです) また、Amplifyへの対応もある程度はされていますがVercelにロックインされていってるような仕様にもやや抵抗感がないとも言えません。 そこで、下記のスライドをちら見したときにまさしく自分に当てはまることかな?と思いました。 You Don'…
Go 1.22 から実験的機能として Range Over Func が実装された。 このブログでは Range Over Func とは何か、どういうものなのか、といった説明はしないので、知らない人は次のページを見てほしい。 go.dev 標準パッケージの database/sql で RDB を Query するのはボイラープレートまみれになる。 database/sql のドキュメントにあるサンプルコードは次のようになっている。 rows, err := db.QueryContext(ctx, "SELECT name FROM users WHERE age=?", age) if …
2024/03/08分のコミットです。 CHANGELOGへの追加はありませんでした。 [RF DOCS] Active Model Basics Documentation [ci-skip] (#51210) rails guideのActive Model Basicsの修正です。 Attributes及びAttributeAssignmentについて専用のセクションを追加、guide全体のフォーマットや言い回しの修正などを行っています。 Merge pull request #51279 from gabriel-amaral/gabriel-amaral/form_path-fix-…
このブログは Introduction to query rules in Elasticsearch | Elastic Blog を和訳したものです。 https://www.elastic.co/jp/blog/introducing-query-rules-elasticsearch-8-10 Query Rule とは? サポートされているルールの種類 サポートされている検索条件の種類 サポートされている固定方法の種類 Query Rule の利用方法について 利用例 Query Rule の管理 Query Rule を用いた検索 まとめ Elasticsearch 8.10 にお…
こんにちは。エンジニアのすずまさです。 去年の夏頃にリードタイムの計測を始めてから、振り返りで良い気づきを得られるようになったりリードタイムを減らすアクションが生まれたりと良いことがたくさんあったので、今回はその紹介をしようと思います。 リードタイムの定義 『LeanとDevOpsの科学』では、リードタイムを「コードのコミットから本番稼働までの所要時間」として定義しています。 私たちのチームのリポジトリではブランチ戦略としてGitHub Flowを採用しており、mainへのマージと本番稼働のタイミングが近しいため「PRをopenしてからマージするまでの期間」をリードタイムとして定めて計測しまし…
プルリクエストがマージ可能になったらいち早く知りたいので、承認+テストをパスしたら通知を送るmacOSのアプリを作った。 github.com approve不要なPRについてはテストが完了した時点で通知がくる(はず)。 テストがこけても通知が来る。rejectされても通知が来る。要はステータスが確定したら通知が来る。 Notificationsをみてもいいんだけど、approveやテスト以外の通知もくるので専用に作ってみた。 Notifications全般の通知を受け取りたいならGitifyを使った方がいいと思う。 通知はこんな感じ。 メニューバーのアイコンをクリックするとステータスが確定し…
blog1.mammb.com はじめに 従来の文字列構築 文字列テンプレート 埋め込み式(Embedded expressions) マルチライン テンプレート式 テンプレートプロセッサ FMT テンプレートプロセッサ RAW テンプレートプロセッサ StringTemplate と Processor ユーザ定義のテンプレートプロセッサ データベースクエリの安全な作成と実行 リソースバンドルの簡素化 はじめに JDK 21 でプレビュー公開(JEP 430)、JDK 22で第二プレビュー公開(JEP 459) された文字列テンプレートが、JDK23にて正式公開(JEP 465)となります。…
新しいアプリ開発でbackendをNode.jsでAPIをやってみようと思いタイトルの構成でAPIサーバーを作成してみたら、結構ハマりどころがあったので記事した リポジトリ github.com モチベーション 現在Flutterでアプリを作成中 FlutterでAPIのやり取りで型安全にするならgraphql_codegenが使える もし、React NativeだったらGraphQLでは無くtRPCを採用していたと思うが、Flutterはサポートしていないので除外 他の言語も検討したが、Prismaを使用したかったので Node.jsを採用 使用技術 NestJS Fastify Merc…
Elastic Search は全文検索ソフトとして2010年に登場した。索引検索を行う。 用語 転置インデックスは、単語と単語が出現する文書の組み合わせで作成されるインデックスのこと。 検索ライブラリー:インデクサとサーチャの機能を提供する。Apache Lucene(JAVA) 検索サーバレイヤ:Apache Solr、Elasticsearch。REST APIのインターフェイスを持つ。いずれも検索ライブラリLuceneを呼び出す。 検索システムレイヤ:クローラーやWebユーザーインターフェイスを持つ。エンタープライズサーチ製品。オープンソースではnamazu、Fessがある。 Elas…
こんばんは。 無印で売り切れになってたカレンダーが復活してたので、買って帰ったら4月始まりでした。前回は基礎編でしたが、今回は検索編です。 shironeko.hateblo.jpRAGパターンもそうですが、結局どこかからデータを集めたりLLMに渡したりしないと独自データは利用できないので、このあたりはとても大事です。 今回のコードも引き続きGitHubに公開しています。 ちなみに自動テストで書くようにしたんですが、langchainjsがESMじゃないと動かなかったりするものがあってだいぶ混乱しました。(結局スキップしたけど…) github.com データの読み込み(DocumentLoa…
2/3 - 2/5という日程で開催された。BunkyoWesterns*1で参加して8位。1040チームが参加していたらしい。相変わらず問題が面白かった。 今回のDiceCTFは予選と決勝があり、予選の上位8チームが決勝へ進めるということだったので、つまりBunkyoWesternsはなんとか決勝へ歩を進めることができたということになる。嬉しい。決勝はニューヨーク市で開催*2ということなので楽しみにしている。 [Misc 144] unipickle (68 solves) [Web 105] dicedicegoose (445 solves) [Web 109] funnylogin (2…