並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 709件

新着順 人気順

JSONPの検索結果281 - 320 件 / 709件

  • CI/CDのデータを収集するCIAnalyzerの紹介

    去年のGWにCIAnalyzerというツールを作成し、プライベートと仕事の両方で1年ほど活用してきました。今年の9月にCI/CD Conference 2021にて実際の活用事例を紹介させて頂きましたが、発表時間の都合上CIAnalyzer自体の使い方まで紹介はできなかったためブログにしました。 CIAnalyzerを作成したきっかけ 今の自分の仕事は社内のCI/CDの基盤を整えるのと同時に、ビルドエンジニアの真似事のようなことをしています。この分野のサポートをしていると開発を主にしているエンジニアの方から 「ビルドが遅いし、頻繁に壊れる」 「テストは時間がかかるし、いつも失敗している」 という話を聞く機会がありました。ですが、自分としてはとても意外なことにその実態を定量的に把握することはほとんどできませんでした。 もちろん短期的であれば把握できます。昨日のデプロイはN分かかったとか、ma

      CI/CDのデータを収集するCIAnalyzerの紹介
    • CompressionStream でブラウザで gzip 圧縮する

      モダンなブラウザは JS API として gzip や deflate が使えます。 昔から Chrome に搭載してるのは知ってたんですが、今見たらだいたい搭載してました。 わかってる人向けに言うと、バンドルサイズ大きめの JS実装の pako や zlib.js が不要になって、ブラウザネイティブの(たぶんHTTP上のgzip展開と同等の)高速な実装が使えます。 // impl const encoder = new TextEncoder(); const decoder = new TextDecoder(); export async function compress(str: string): Promise<ArrayBuffer> { const cs = new CompressionStream("gzip"); const buf = encoder.encode(

        CompressionStream でブラウザで gzip 圧縮する
      • DuckDB as the New jq

        Recently, I’ve been interested in the DuckDB project (like a SQLite geared towards data applications). And one of the amazing features is that it has many data importers included without requiring extra dependencies. This means it can natively read and parse JSON as a database table, among many other formats. I work extensively with JSON day to day, and I often reach for jq when exploring document

        • AIエージェントのUXを進化させる「A2UI」でアプリを構築 - Taste of Tech Topics

          こんにちは。大塚です。 普段は生成AIを利用したサービスの開発に携わっているのですが、直近の仕事では、数理最適化の手法を扱う機会がありました。 実は、大学の授業で数理最適化をかじっており、教授がよく 「人の勘や経験に頼っている部分を数式に落とし込むことで、合理的な意思決定ができるようにしよう。」 といっていたことを思い出しました。 まさに今、それを仕事で実践できており、面白くなってきました。 さて、今回のテーマは最適化ではなく、AIエージェントのUIについてです。 現在の生成AIアプリのUIといえば、「チャット」形式がほとんどの状況だと思いますが、チャットのアプリは汎用的な一方で、入力を制御したり、画像や動画の表示が難しかったりと、限界を感じることってありませんか? そんな悩みを解決してくれる、「A2UI(Agent to UI)」という、AIエージェント用のUIプロトコルが、2025年1

            AIエージェントのUXを進化させる「A2UI」でアプリを構築 - Taste of Tech Topics
          • VSCode上のVim操作を快適にする拡張 VSpaceCode の紹介

            VSpaceCodeは,Spacemacsのようなkey bindingをVSCode上で実現するための拡張です.本記事では,VSpaceCodeについて簡単に紹介します. VSpaceCodeとは VSpaceCodeは,冒頭に述べたとおりSpacemacsのようなkey bindingをVSCode上で実現する拡張です.Spacemacsのようなkey bindingとは,デフォルトのleaderであるspaceキー␣を起点とした操作のことです.以下が例になります. VimでNormalモードの時にleader(␣)を押すと,コマンドパレットが表示される 続く候補の操作のためのキーを押す 操作を実行 公式のデモが分かりやすいです 例えば␣ w / は,windowを分割する操作(コマンド)になります. VSpaceCodeを使う大きな利点は,画面上側に入力に応じてコマンド候補が表示され

              VSCode上のVim操作を快適にする拡張 VSpaceCode の紹介
            • GitHub Copilot を「せんぱい!」と慕ってくれる後輩ギャルにする

              また、一人称は「あーし」である。 語尾や口調についてコンセンサスは取れていないが、敬語で話させる場合は「です・ます」派や「っス」派などが混在する。 今回は「です・ます」で話させるようにする。 GitHub Copilot へのカスタム指示のやり方 GitHub Copilot を調教もとい、指示するには以下の二つのやり方がある。 settings.jsonのgithub.copilot.chat.codeGeneration.instructionsの配列に"text":で与える。 .github/copilot-instructions.mdを配置する。 内容の調整のしやすさから今回は 2. のやり方を採用した。

                GitHub Copilot を「せんぱい!」と慕ってくれる後輩ギャルにする
              • Claude Code hooksについて解説してみる | DevelopersIO

                お疲れさまです。とーちです。 皆さんclaude code hooks使ってますか?なかなかおもしろい機能ですが、理解するのが難しい部分もあったので、この記事ではhooksについて解説していきたいと思います。 そもそもhooksとは まずhooksについて理解していきましょう。公式ページは以下になります。 ざっくりいうとClaude Codeの特定のアクションの前後にシェルコマンドを挟み込めるという機能になっています。 これによって例えば以下のようなことが実現できます(上記、公式ページより) 通知: Claude Code が入力待ち状態のときなどに通知を受け取る方法をカスタマイズします。 自動フォーマット: ファイル編集のたびに prettier などのフォーマッターを自動で実行させます。 ログ記録: コンプライアンスまたはデバッグのために、実行されたすべてのコマンドを追跡して記録します

                  Claude Code hooksについて解説してみる | DevelopersIO
                • 全体的に疲れている時の~/.claude/settings.json と~/.claude/CLAUDE.md

                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                    全体的に疲れている時の~/.claude/settings.json と~/.claude/CLAUDE.md
                  • 脱Firestoreするために考えていること(追記あり) - Sweet Escape

                    FirebaseのFirestoreをやめることにしたので雑なメモを残しておく。なお、まだ走り始めたばかりなので、内容には間違いや考慮不足も多数含まれる可能性があるので読む人はその点注意を。あと、あくまでも雑なメモなので細かいところは書いていない。 なぜ脱Firestoreするのか? なぜGraphQLではなくREST APIなのか? 移行にあたって検討したこと、決め事 ドキュメントIDをどう扱うか サブコレクションをどう扱うか 配列やマップといったフィールドのタイプをどう扱うか 追記: Mapの配列をどうするか Firebase Authenticationとセキュリティルールで実現しているセキュリティ機能をどうするか では実際にどんなテーブル設計にするのか 次にやること なぜ脱Firestoreするのか? まず、脱Firestoreする理由は ユースケースとしてFirestoreでは対

                      脱Firestoreするために考えていること(追記あり) - Sweet Escape
                    • 自由なソフトウェアと抗議と倫理の「(不)可能性」について

                      yomoyomo yomoyomo 雑文書き/翻訳者。1973年生まれ。著書に『情報共有の未来』(達人出版会)、訳書に『デジタル音楽の行方』(翔泳社)、『Wiki Way』(ソフトバンク クリエイティブ)、『ウェブログ・ハンドブック』(毎日コミュニケーションズ)がある。ネットを中心にコラムから翻訳まで横断的に執筆活動を続ける。 大変ごぶさたしております。実に約5年半ぶりになりますが、またこちらで書くことになりました。ブランクが長かったため、ここへの文章の書き方を自分でも忘れてしまったところがあるのですが、稲田豊史氏の「ウェブは最初に結論を書く、くどくど掘り下げて説明しない、とにかく簡潔に」という金言に逆らい、地味な話題についてくどくどと書いていこうと思います。 いや、結論だけは先に書いておきましょうか。銀の弾はない、それだけです。 2022年2月にロシアがウクライナへの侵攻を開始して早くも

                        自由なソフトウェアと抗議と倫理の「(不)可能性」について
                      • CUE言語(cuelang)に入門しよう

                        Abstruct 本記事においては、The CUE Configuration Languageを用いて設定ファイルを記述することはどのようなメリットがあるのか。また、どのような使い方が想定されるのかについて議論する。 私は、実際の開発現場において、各マイクロサービスチームがKubernetesのManifestを生成するテンプレートとして活用している。 そのため、KubernetesのManifestをcuelangを用いて記述している。(この件に関する記事は現在執筆中だ。) その経験から、CUE言語がどのような言語であるかについてここで述べることにする。 Keyword: CUE, cuelang, configuration, 設定記述言語, JSON, YAML, Kubernetes, manifest Introduction あなたは普段どんな設定記述言語を利用しているだろう

                          CUE言語(cuelang)に入門しよう
                        • VSCodeでホバー時のTypeScriptの型ヒントをすべて表示する

                          はじめに こんにちは、からころです。 今回は、VSCode でホバー時の TypeScript の型ヒントをすべて表示する方法について書いていこうと思います。 ※ 投稿日の 2024/10/17 から 2024/10/28 ごろに仕様が変わり、defaultMaximumTruncationLengthの書き換えだけでは、動作しなくなりましたので修正版を公開しています。 ※ 2025/06/29時点で、仕様がまた変わっていたので、動作しなくなりましたので修正版を公開しています。 デフォルトの設定では型の情報量が増えると型が省略される VSCode では、TypeScript を利用して開発する際に、ホバーすると以下のように型ヒントを表示することができます。 しかし、デフォルトの設定のままでは、下記のようにプロパティ数が多くなると型ヒントが省略されてしまいます。 上記の解決方法を以下で説明し

                            VSCodeでホバー時のTypeScriptの型ヒントをすべて表示する
                          • 雑にJSONデータを分析させてみる-ローカルLLMの底力 | IIJ Engineers Blog

                            2024/08/22修正: はてなブックマークのコメントから、「それってデシリアライズって言わないよ」というご指摘を頂戴しました。 恥ずかしながら浅学であったがゆえに用語を取り違えたまんま長らく覚えてまして、これを整形表示(Pretty Print)と修正させていただきました。最初の用語登場箇所のみ修正した内容として取り消し線付きで記述しておりまして、それ以降は置換させてもらっています。 ご指摘誠にありがとうございました<(_ _)> これとは別に、後半で記述してるコードの一部に使わないライブラリのinport文がありましたのでこれを削除しています。 割とこの辺り、勢いで作ったり書いたりしながら技術の基礎的なところを探索して回ってるところも多いため、色々誤植もほかにあろうかと思います。何卒ご了承くださいませ<(_ _)> こうも暑いと頭が回らず・・ 今年も見事に予想通りの酷暑となりました。

                              雑にJSONデータを分析させてみる-ローカルLLMの底力 | IIJ Engineers Blog
                            • BigQueryでJSON文字列を攻略する関数たち - ドワンゴ教育サービス開発者ブログ

                              はじめに ドワンゴ教育事業でデータアナリストとして働いている小林です。 ドワンゴ教育事業におけるデータアナリストは企画開発組織の一員としてKPI可視化やレポーティングなどをメイン業務としています。個人的には新たなサービスが生まれる瞬間のお仕事が一番好きで、「何の指標をみていくのか」「どんなデータが流れてくるのか」など少し上流の工程からデータの取り扱いを検討するとともに、既存のダッシュボードをバージョンアップする良い機会にしたり、新たなステークホルダーに対して良いデータ分析の提供を考えたりと、楽しい日々が続きます。 私たちドワンゴ教育事業では大学開学やR高の開校など大きなサービスリリースが予定されていますので、サービス環境の変化を楽しみながらやりがいをポジティブなパワーに変えていきたいと思っています! 課題について(導入に代えて) 昨今、分析対象としてJSON文字列を取り扱うことが増えてきま

                                BigQueryでJSON文字列を攻略する関数たち - ドワンゴ教育サービス開発者ブログ
                              • Obsidian Canvas - Visualize your ideas

                                Visualize your ideas. Infinite space to research, brainstorm, diagram, and lay out your ideas. Canvas comes free with Obsidian. A playground for thought Canvas allows you to organize notes visually — an infinite space to research, brainstorm, diagram and lay out your ideas. Embed your notes alongside images, PDFs, videos, audio, and even fully interactive web pages. A new way to think Effortlessly

                                  Obsidian Canvas - Visualize your ideas
                                • OpenAPIを使ったRailsスキーマ駆動開発 - ドワンゴ教育サービス開発者ブログ

                                  はじめに サービス構成 レポジトリ一覧 サーバー側Railsアプリ クライアント側Railsアプリ 開発の流れ 利用ツール swagger-cli committee-rails 不具合1: ファイルの分割 不具合2: $refとnullableの同時使用 json-schema openapiの記法に合わせた機能拡張 openapi-generator-cli (Ruby client) 不具合1: 中途半端な型チェック 不具合2: oneOf/anyOfに非対応 factory_bot 終わりに We are hiring! はじめに 前回の記事では、OpenAPIで新しいウェブAPIを定義する際に、yamlのままで読みやすいようにファイル構成等を工夫した話をしました。 今回はそのAPIスキーマを使って、Railsでスキーマ駆動開発を実現するにあたって利用しているツール類についてお話し

                                    OpenAPIを使ったRailsスキーマ駆動開発 - ドワンゴ教育サービス開発者ブログ
                                  • 超高速シリアライズフォーマット「DLHN」

                                    新しいシリアライズフォーマットDLHNをリリースしました。 DLHNは高速でデータサイズが小さいバイナリ形式のシリアライズフォーマットです。 DLHNの発音は"Dullahan"と同じです。 公式サイトは https://dlhn.org 実装は https://github.com/otake84/dlhn イラストは @kira2beat さんに描いていただきました。 特徴DLHNはプログラミング言語やプラットフォームに依存しないバイナリ形式のシリアライズフォーマットで、JSON, CSV, MessagePack, Protocol Buffersなどから影響を受けています。 シリアライズとデシリアライズが高速で、データサイズが小さく、Schema定義ファイルが不要でストリーム処理にも対応しています。 これを聞くとMessagePackと同じように感じるかもしれませんが、実際のデータ

                                      超高速シリアライズフォーマット「DLHN」
                                    • BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0

                                      この記事の概要 SaaSのデータをBigQueryに統合することで業務改善を促進できる。 しかし、SaaSのデータの中身を見ると、BigQueryの関数では対応しにくい形式になっていることがある。 そこで、本稿では「こういうデータ形式だったらこういうSQLを書く」というサンプル集を掲載する。 目次 この記事の概要 目次 宣伝 実現したいこと SaaSデータの処理方法 SQLサンプル1: 純粋な配列だけのケース SQLサンプル2: 配列内にハッシュマップがあるケース SQLサンプル3: 配列宣言ナシでカンマ区切りのハッシュマップが突如始まるケース SQLサンプル4: 配列とハッシュが入り乱れるケース SQLサンプル5: JSONの中に親子構造があるケース SQLサンプル6: Objectを定義したくなるケース 最強のJSONパースの関数は作れるか jsonデータの処理をどこで行うか 最後に

                                        BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0
                                      • 【小ネタ】AIにVSCodeの設定ファイルの書き方などを尋ねてみると良かったです | DevelopersIO

                                        こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。 今回は超がつくほどのの小ネタなのですが、生成系のAIにVSCodeの設定周りについて聞いたり、作業をお願いしたらとても快適だったので使い方の一旦を紹介します。 やってみたことは以下のとおりです。 独自スニペット用のJSON文字列を書いてもらう キーボードショートカットの設定(keybindings.json)の書き方を教えてもらう 設定ファイル(settings.json)の書き方を教えてもらう 実際にやってみた 今回試している環境は以下のとおりです。 試してみたツール Raycast AI(有料ツール) ChatGPT(Web版) モデル: GPT-3.5-turbo 独自スニペット用の設定を書いてもらう 背景 私は趣味で競技プログラミングを楽しんでおります。 競技プログラミングでは素早く正

                                          【小ネタ】AIにVSCodeの設定ファイルの書き方などを尋ねてみると良かったです | DevelopersIO
                                        • 意味的知識グラフとApache Solrを使った関連語検索の実装 - Ahogrammer

                                          Manningから出版予定の『AI-Powered Search』(AIを活用した情報検索の意)を冬休み中に読んでいたら、その中で意味的知識グラフ(Semantic Knowledge Graph)と呼ばれるデータ構造について説明していて、関連語の計算やクエリ拡張などに使えるということで興味深かったので紹介しようと思います。最初に意味的知識グラフについて説明したあと、日本語のデータセットに対して試してみます。 AI-Powered Search(https://www.manning.com/books/ai-powered-search) 本記事の構成は以下のとおりです。 意味的知識グラフとは 意味的知識グラフを用いた関連語の計算 参考資料 意味的知識グラフとは 知識グラフと聞くと、固有表現認識や関係抽出、OpenIEを使って構築するグラフを思い浮かべる方もいると思うのですが、意味的知識

                                            意味的知識グラフとApache Solrを使った関連語検索の実装 - Ahogrammer
                                          • Rubyアンチパターン: なんでもHash

                                            ソフトウェアの内部では、データを様々な形に加工しつつ、あちこちに受け渡して再利用します。そのためのデータ構造として、RubyではHashクラスのオブジェクト(他の言語ではMapだったりDictionaryだったり連想配列だったりします)を使うことはよくあります。 単体の数値や文字列ではなく、それらを組み合わせたデータを扱う際には、Hashオブジェクトが便利です。 しかし、あらゆる場面でHashを駆使しようとすると、利便性よりも弊害が大きくなります。 典型的な症状 あちこちで同じだったりちょっと違ったりするHashオブジェクトを引き回していたりします インスタンス変数が少なく(あるいはまったくなく)、その代わりとしてメソッド引数のHashオブジェクトにいろんなデータを渡していたりします 1つのHashオブジェクトのキーとして、文字列やシンボル、さらにはそれ以外のクラスのオブジェクトが使われて

                                              Rubyアンチパターン: なんでもHash
                                            • Auth0からCognitoへのユーザー移行 - ROBOT PAYMENT TECH-BLOG

                                              こんにちは。ROBOT PAYMENT (以下、ロボペイ)でエンジニアをしているtakamoriです。 私が所属しているチームでは、請求先マイページ機能を開発しており、その中でユーザー認証基盤をAuth0からCognitoへと移行させました。そこで今回は、Auth0からCognitoへのユーザー移行手順を書いていきたいと思います。 ※ 本記事ではAuth0やCognitoの環境構築は対象外で、それぞれの環境が構築済み前提となります。 移行手順 Auth0からユーザーをエクスポート Auth0ユーザー情報をCognitoユーザー情報へマッピング Cognitoへユーザーをインポート Auth0からユーザーをエクスポート Auth0からのユーザーをエクスポートするには、ExportUsersJob APIを利用します。GetUsers APIを利用して取得することも可能ですが1,000件の取得

                                                Auth0からCognitoへのユーザー移行 - ROBOT PAYMENT TECH-BLOG
                                              • 97.5%の精度を実現!Gmailで動く反社チェックAIを1日で作ってみた

                                                検出精度 ✅ 全体精度: 97.5% - 80件中78件で正確な判定を実現 ✅ DB検出: 100% - データベース照合による検出は完璧 ⚠️ LLM検出: 95% - Web検索+LLM判定で1件誤判定 ⚠️ 中リスク判定: 95% - 疑わしい情報の分類で1件誤判定 技術スタック 今回は特にスピード重視で作りつつ、一定の保守性も担保できるような仕組みにするために、できるだけ慣れている言語・環境でかつ、AIエージェント開発と相性が良く、実現したい機能のライブラリが十分に揃っているという3つの条件をもとに技術選定を行いました。 バックエンド 言語: Typescript 実行環境: Bun Webフレームワーク: Hono バリデーション: Zod DB: PostgreSQL(w/Drizzle ORM) LLM API: Azure OpenAI GPT-4.1: データのパース、検

                                                  97.5%の精度を実現!Gmailで動く反社チェックAIを1日で作ってみた
                                                • GitHub - ynqa/jnv: Interactive JSON filter using jq

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - ynqa/jnv: Interactive JSON filter using jq
                                                  • GitHub - pyrustic/jesth: Human-readable versatile data format

                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                      GitHub - pyrustic/jesth: Human-readable versatile data format
                                                    • Big Sky :: Go の struct は小さくできる(fieldalignment のススメ)

                                                      動的型付けプログラミング言語や、class を持つようなプログラミング言語を使う場合、そのフィールドメンバの定義順などを意識する事は少ないかもしれません。 Go は struct という、C言語が持っている構造体と同じ様にメモリ配置され、構造体そのものをレシーバとして、メソッドを定義しつつプログラミングを行います。struct はデータ構造そのものを示し、それが大きくなるにつれ、当然ながらメモリ使用量も多くなります。 さて、例えば以下のコードを実行すると、struct 100 個分のサイズは幾らになるでしょうか。 package main import ( "fmt" "unsafe" ) type Account struct { TimeZone struct { Name       string `json:"name"` UtcOffset  int    `json:"utc_

                                                        Big Sky :: Go の struct は小さくできる(fieldalignment のススメ)
                                                      • Terraformのplan結果をmarkdownとして整形するツール、terraform-j2mdの紹介 - Repro Tech Blog

                                                        こんにちは、@r_takaishi です。最近のおすすめYouTubeチャンネルは Namibia: Live stream in the Namib Desert です。今回は、Terraformのplan結果をmarkdownで整形するツールである reproio/terraform-j2md について紹介します。 どのようなツールなのか まずはterrafororm-j2mdがどのようなツールなのかお見せします。まず、以下のようなTerraformのコードを用意します。 terraform { required_providers { env = { source = "tchupp/env" version = "0.0.2" } } } provider "env" { # Configuration options } resource "env_variable" "test

                                                          Terraformのplan結果をmarkdownとして整形するツール、terraform-j2mdの紹介 - Repro Tech Blog
                                                        • ノーコード・コードレスでGoogleスプレッドシートからAPIを作成できる「SSSAPI」β版がリリース

                                                          合同会社めもらばは、GoogleスプレッドシートのAPI化サービス『SSSAPI』β版の公開を開始したと発表した。β期間中は最上位プランを無料で利用できる。 SSSAPIはGoogleスプレッドシートの内容をJSON形式で返却するAPIを作成できるWebサービスだ。「ちょっとしたAPIがあるといいけど、 サーバを用意するほどではない」「クライアントに入力してほしいけど、 管理画面を作る余裕がない」といったときに、シンプルなAPIをノーコード/コードレスで作成することが可能だ。 SSSAPIでは、このようなスプレッドシートから、

                                                            ノーコード・コードレスでGoogleスプレッドシートからAPIを作成できる「SSSAPI」β版がリリース
                                                          • Lensを始めとするOpticsがプログラミングをどう変えるか / 複雑なデータのモデリングをサボるには - Lambdaカクテル

                                                            仕事でLensを使う機会があった。Lensは複雑で入り組んだデータ構造の読み書きに非常に効果的な手法であるにもかかわらず、関数型プログラマ以外にはあまり知られていないように思える。 そこでこの記事では、Lensとは何なのか、なにが良いのか、具体的にどのようなケースでLensが役立ったか、そしてLensの亜種について紹介する。業務でも使ってます! AIくんが考えるLens 前提条件 Lensとは Lensの使いどころ データをモデリングする場合 (とても つらい) Lensを使う場合: Lensはアクセスパスである Lensと愉快な仲間たち Lensの合成 -- andThenでひっつけよう Lens Law Monocleの便利機能 Lensの自動生成でサボる Focusでもっとサボる Lensがもたらしたもの まとめ あわせて読みたい 前提条件 この記事ではLensを紹介する言語としてS

                                                              Lensを始めとするOpticsがプログラミングをどう変えるか / 複雑なデータのモデリングをサボるには - Lambdaカクテル
                                                            • TypeScript の型検査にかかる時間を短縮した話

                                                              こんにちは。ナレッジワークの torii です。 最近、プロジェクトで使用している TypeScript の型検査にかかる時間を 3 割ほど短縮することに成功しました。 参考までにどのようにボトルネックを調査して改善に繋げたのかを書いてみます! きっかけ 改善のきっかけは、たまたまネットを徘徊していて見つけた Zenn 記事でした。 (素晴らしい記事をありがとうございます!) これを読んで「自社のプロダクトでも型検査にかかる時間を短縮できるのでは?」と思い立ち、試してみたところ実際に改善に役立てることができた、というのがこの記事の概要になります。 改善対象 改善対象は、弊社のメインプロダクトであるナレッジワークのフロントエンドです。現在マルチプロダクト化に向けたコード分割に取り組んでいる最中ですが、執筆時点はモノリシックな構成となっています。 改善前の TypeScript ファイルは自動

                                                                TypeScript の型検査にかかる時間を短縮した話
                                                              • 自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル

                                                                scrapbox.io から派生して、 blog.sushi.money こういうことが可能だとわかった。 はてなブックマークはAtom形式でのエクスポートが可能なので、 はてブにAtomを吐き出させる AtomをJSONに変換する あとは同じ というプロセスで、自分のはてブのコメントを知っている状態のChatGPTのモデルを作ってみた。 コード 一番元々の記事ではPythonで書かれていたコードが、 id:hitode909 のコードではRubyになり、自分のコードだとScala3になっていて面白い。 #!/usr/bin/env -S scala-cli shebang -S 3 // usage: batom2json.scala.sc ~/Downloads/Windymelt.bookmarks.atom > from_bookmark/Windymelt.json // You

                                                                  自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル
                                                                • データカタログにNotionを選択した理由

                                                                  実装方法 冪等性を担保したGoogle Cloud Composerの設計と実装で紹介しているとおり、Luupのデータ基盤はGoogle Cloud Composerを軸に動いています。なので今回も、Google Cloud Composerの環境下に作りました。 アウトプットイメージは以下です。 以下のNotion APIのDocumentを参考に実装を進めていきます。 サンプルコードも豊富で、説明も丁寧なので簡単に実装できました。 以下、コード一例です。 # Notionのフォーマットに変換するメソッド def format_standard_property_value(self, property_name: str, value: str): if property_name == "title": return {"title": [{"text": {"content": v

                                                                    データカタログにNotionを選択した理由
                                                                  • アップル、新しいプログラミング言語「Pkl」をオープンソースで公開。コンフィグレーション生成用 | テクノエッジ TechnoEdge

                                                                    ITジャーナリスト/Publickeyブロガー。IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。 アップルは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「Pkl」(発音はPickle=ピックル)をオープンソースで公開しました。 ソフトウェアやクラウドサービスなどの設定に用いるコンフィグレーションファイルはどんどん複雑になってきており、利用者が望む詳細な設定を、一般的なコンフィグレーションファイルのフォーマットとして使われているJSONやYAML、XMLプロパティリストなどの形式で正確に記述することは難しくなってきています。 Pklはそうしたコンフィグレーションを正確かつ分かりやすく記述するために開発された、特定目的用のプログラミング言語だと説明されています。 Configuration-as-Codeを実現するた

                                                                      アップル、新しいプログラミング言語「Pkl」をオープンソースで公開。コンフィグレーション生成用 | テクノエッジ TechnoEdge
                                                                    • CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC Engineers' Blog

                                                                      SREチームの藤原です。 今回は Amazon CloudFront Functions をテストするためのOSSとして、cfft というものを書いたので紹介します。 github.com 3行でまとめ CloudFront Functionsのテストは手元ではできなくて面倒です CloudFront Functionsをテストする cfft というOSSを書きました KeyValueStoreの操作を含め、便利な使い方がいろいろありますのでどうぞご利用下さい CloudFront Functionsをテストするのが面倒という問題 CloudFront Functions (以下CFF) は、AWSが提供するCDNであるAmazon CloudFrontのエッジノード上でリクエストやレスポンスの操作が行える、JavaScriptの実行環境です。典型的なユースケースとしては、キャッシュキーの

                                                                        CloudFront FunctionsをテストするOSS、cfftを公開しました - KAYAC Engineers' Blog
                                                                      • npm ciのキャッシュ方式の検討

                                                                        結論から言うと、node_modulesをキャッシュしてnpm ciの実行を省略するのが、多くの場合には有効そうです。 はじめに CIで npm ci を使うとき、実行時間短縮のためにキャッシュの利用を検討することになると思います。このとき、どのようにキャッシュするのが良いのでしょうか? よく知られているキャッシュ方式として、以下の二通りの方式があります。 ~/.npmをキャッシュする方式 node_modulesをキャッシュする方式 それぞれの違いについて、詳しく見てみましょう。 ~/.npmをキャッシュする方式 npm ci を実行すると、POSIX系のOSではデフォルトで ~/.npm にキャッシュデータが書き込まれます。package-lock.json をキーにこのディレクトリをキャッシュしておくことで、次回以降の npm ci 実行時にこのキャッシュデータを利用しよう、というの

                                                                        • Next.js で始める gRPC 通信 - 30歳からのプログラミング

                                                                          サーバ・クライアント間の通信を gRPC で行う場合、インターフェイスを定義した共通のファイルから、サーバとクライアント双方のコードを生成することができる。 この記事では、インターフェイスの定義ファイルを作成するところから始めて、gRPC を利用した単純なウェブアプリを作っていく。 gRPC についての概念的な説明などは扱わず、実際に手元で動くウェブアプリを作ることで、gRPC を使った開発についてイメージしやすくなることを意図している。 Next.js では API Routes を使って API サーバを作ることができるが、それを gRPC クライアントとして実装する。 そのため、リクエストの流れは以下のようになる。 Frontend == (REST) ==> API Routes == (gRPC) ==> gRPC Server 動作確認は Node.js のv16.13.2で行

                                                                            Next.js で始める gRPC 通信 - 30歳からのプログラミング
                                                                          • sigstoreによるコンテナイメージやソフトウェアの署名 - knqyf263's blog

                                                                            恐ろしく長い上に割と複雑なので最後まで読む人はほとんどいないと思うのですが、将来確実に忘れてしまう自分のために書いたので別に悲しくありません。 まえがき 背景 sigstoreの概要 sigstoreを構成するツール群 Cosign Rekor Fulcio 署名方法 コンテナイメージ 鍵ペアの生成 署名 検証 Blobs 鍵ペアの生成 署名 検証 署名の仕組み コンテナイメージ OCI Registryについて 署名の保存先 署名フォーマット 署名検証 検証が不十分な例 Blobs 参考 まとめ まえがき 鍵の管理不要でソフトウェア署名を可能にするKeyless Signingについて解説を書こうと思い、まず前提知識を書いていたら信じられないぐらい長くなったので前提知識だけで1つの記事になりました。 後述するsigstoreは急速に開発が進んでいるプロジェクトであり、ここで書いている記述

                                                                              sigstoreによるコンテナイメージやソフトウェアの署名 - knqyf263's blog
                                                                            • React 初心者が Material-UI で今どきの Web フォームを作ってみた(yup編) | DevelopersIO

                                                                              つい先月、React(+ React Hook Form)と Material-UI を組み合わせた Web アプリ開発を始めました。アプリ開発初心者でも簡単に、かつ今っぽい Web フォームを開発することができたので、少しコードを交えてご紹介してみたいと思います。 なお本記事は、前の記事(react-hook-form編)に続く形式となりますので、お時間あれば下記の記事も合わせてご参照いただけますと幸いです。 作ってみた 前回の記事で作成した Web フォームの基本項目(Basic.js)というフォームに下記の yup という JavaScript schema builder を利用してバリデーションの機能を追加していきたいと思います。 バリデーション機能を追加する React Hook Form で、yup を活用する際のサンプルコード等が公式ドキュメントに掲載されておりますので、ご

                                                                                React 初心者が Material-UI で今どきの Web フォームを作ってみた(yup編) | DevelopersIO
                                                                              • GrafanaでS3に置いてあるログファイルを参照する - くしゃみのちり紙

                                                                                きっかけは以下のツイートを見かけたことでした。 Grafana を立てるだけで、S3 にログ保存しておけば、好きなだけグラフが作れる時代が来てしまった。なんということだ。 https://t.co/uuYgm8dLIr— V (@voluntas) 2025年2月13日 なにこれ良さそう。GrafanaもDuckDBも全然知らんけど。 ということで試してみました。 キーアイテム grafana-duckdb-datasourceというGrafanaプラグインを使用します。 github.com 前提 Grafana Version: v11.6.0-82874 (e5b49a406f) Container Image: grafana/grafana-enterprise:main-ubuntu Container OS: Ubuntu 22.04.5 LTS Container CPU

                                                                                  GrafanaでS3に置いてあるログファイルを参照する - くしゃみのちり紙
                                                                                • 個人的なdbtの推しポイントを書いてみる - yasuhisa's blog

                                                                                  dbtや同じ系統のDataformなど、ELTの特にTransform部分に強みを持つツールを使い始めて大体3年になる。主観だけど、それなりに使い倒している部類だと思う。 開発効率を計測するデータ基盤の管理にDataformを使ってみた - yasuhisa's blog dbtを触ってみた感想 - yasuhisa's blog dbt カテゴリーの記事一覧 - yasuhisa's blog これらのツールで巷でよく言われる データリネージの可視化ができる データに対するテストが簡単に書ける エンジニア以外の人ともコラボレーションしやすい あたりの話は耳にタコができるくらい聞いていると思うので、ニッチではあるもののそれ以外のdbtの個人的に推しなポイントをダラダラと書いてみたいと思う。データエンジニアやデータガバナンスを推進する人には共感してもらえる内容かもしれない。 推しポイント:

                                                                                    個人的なdbtの推しポイントを書いてみる - yasuhisa's blog

                                                                                  新着記事