並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 1011件

新着順 人気順

jsonの検索結果441 - 480 件 / 1011件

  • GitHub - trailofbits/graphtage: A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.

    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 - trailofbits/graphtage: A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.
    • AWS CDKとGitHub ActionsでLambdaで動くAPIをTypeScriptで作る - SMARTCAMP Engineer Blog

      こんにちは、 https://boxil.jp を作っている徳田(haze_it_ac)です。 先月に今風?な構成のAPIを業務で作ったので、その紹介をしようと思います。 作るもの・要件 雑な図 外部のAPIを叩くためのアプリケーションです。 BOXILのAPIサーバから今回作るAPIを叩き、そこから外のAPIを叩いて情報を取得したり、処理をしたりするものです。 現時点ではBOXILのみで使われていますが、それ以外からも使用されることを予定・想定しているため、BOXILとは別の基盤で作成しどこからでも実行できるように構築する必要があります。 なお、今回のサンプルリポジトリは以下になります。ソースコードと合わせて読んでみてください。 github.com 全体構成 概要 雑な構成図 AWS CDKを中心に据えた、AWS Lambdaで実行されるアプリケーションです。 実行環境 Webアプリケ

        AWS CDKとGitHub ActionsでLambdaで動くAPIをTypeScriptで作る - SMARTCAMP Engineer Blog
      • Semgrep — Find bugs and enforce code standards

        Semgrep CodeFind and fix the issues that matter in your code (SAST)

          Semgrep — Find bugs and enforce code standards
        • Lambdaで6MBを超えるデータをReturnできなかったので、S3のPre-Signed URLを使った話 | DevelopersIO

          IoT機器からセンサーデータを収集しています。 そのセンサーデータをAPI Gateway(+Lambda)で扱おうとしたところ、Lambdaのレスポンス上限6MB(同期実行時)に引っかかりました。 そこで、対策としてS3バケットのPre-Signed URLを使ってみました。 おすすめの方 LambdaでPre-Signed URLを使いたい方 適当なデータを作成する サンプルデータ 下記のようなデータを作成します。 { "aaa": [ [1619600735000, 11.1], [1619600737000, 22.1], [1619600739000, 33.1] ], "bbb": [ [1619600735000, 11.2], [1619600737000, 22.2], [1619600739000, 33.2] ], "ccc": [ [1619600735000, 1

            Lambdaで6MBを超えるデータをReturnできなかったので、S3のPre-Signed URLを使った話 | DevelopersIO
          • ちょっとしたデータファイルのフォーマットにJSON Linesを使うと便利 - Lambdaカクテル

            データ構造が決まるとアルゴリズムも自ずから定まる、みたいな話もあるように、ソフトウェアエンジニアリングの文脈では「どうデータを持つか」が重要だ。これはちょっとしたシェルスクリプトでも同様。 自分はUNIX哲学が好きで、なんかちょっとしたツールを作るときは基本的に1行1データのテキスト形式を喋るように作成する。そのほうが適用できるツールが多くなるからだ。shellscriptを使うときはwhile read文を使えば1行1コマンドを実行する処理をすぐ書けるし、sedを使えば基本的な加工ができる(互換性の問題があるから基本的にgsedを使うけど)。開発や運用にLinuxを使っている以上、こういう形式を採用しておくと取り回しやすくなる。 その一方、1行1データのテキスト形式はそれ自体では構造化されていないという問題がある。ちょっとでも複雑な形式で書こうとすると、CSVやTSVにしようとか、:でセ

              ちょっとしたデータファイルのフォーマットにJSON Linesを使うと便利 - Lambdaカクテル
            • AWS CLI短縮構文をシェルスクリプトから使うときに陥りやすい罠|Dentsu Digital Tech Blog

              電通デジタルでSREをしている神田です。突然ですが、みなさんAWS CLI短縮構文をご存知でしょうか? awsコマンドを使っているときに、コマンドのオプションとしてfoo=bar や foo,bar,baz といった構造を持ったパラメータを要求されることがあります。このパラメータを記述するための構文が短縮構文(shorthand)です。 本記事では、普段なんとなくお世話になっている短縮構文をシェルスクリプトから使ったときに陥りやすい罠を紹介します。 AWS CLI短縮構文の簡単な例 短縮構文は、JSONと等価な値を簡潔に表現するための構文です。JSONとの対応をみると内容を理解しやすいです。 例えば、 ["foo","bar","baz"]というJSONの配列は、短縮構文では、 foo,bar,bazと書くことができます。 また、 {"key1": "val1", "key2": "val

                AWS CLI短縮構文をシェルスクリプトから使うときに陥りやすい罠|Dentsu Digital Tech Blog
              • イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)

                "BEAR.Sundayの分散キャッシングフレームワークは、クライアントサイドとサーバーサイドのキャッシュ管理を統合することで、Webアプリケーションの堅牢性とパフォーマンスを大幅に向上させます。このキャッシングフレームワークは、静的な情報APIと動的な計算APIの2つのタイプに基づいて、それぞれ異なる戦略を採用します。従来のTTLキャッシュを超えて、依存管理を伴うイベントドリブンキャッシュ、静的と動的コンテンツを効率的に分離するドーナツキャッシュアプローチ、そしてネットワークキャッシュの重要性について詳しく解説します。 このプレゼンテーションは、単に特定のフレームワークの機能紹介に留まりません。DI(依存性注入)やAOP(アスペクト指向プログラミング)のようなソフトウェア設計の原則を組み合わせることで開かれる新たな可能性を探ります。REST原則に基づいてHTTPや最新のCDN機能を最大限

                  イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)
                • [速報] CloudWatchの監視メトリクスをKinesis経由でストリーム送信可能な新機能「CloudWatch Metric Streams」が登場しました! | DevelopersIO

                  Amazon CloudWatch に新しい機能、Metric Stream が登場しました! いままでCloudWatchのメトリクスデータを、New RelicやDatadogのような外部のSaaSから参照しようと思ったら、定期的にAPIでポーリングするしかありませんでした。そのため、(この公式Blogにも書いてますが)メトリクスの種類によっては5〜10分程度の遅延が発生することになってました。 今回の機能で、CloudWatch側で更新されると同時にSaaS側へもpushされることになるため、同じタイミングで参照できるようになります。これはうれしいですね! CloudWatch Metric Streamで出来ること 要は、CloudWatch MetricのデータをKinesis Data Firehoseに流し込むことができる機能です。 Firehose はストリームデータをS3

                    [速報] CloudWatchの監視メトリクスをKinesis経由でストリーム送信可能な新機能「CloudWatch Metric Streams」が登場しました! | DevelopersIO
                  • Markdown を JSON にしてしまえ

                    remark-cli を試しているとき「入出力を JSON(AST) で扱える」のを見て「これを利用すれば Markdown を jq などで変形できるのでは」ということで試してみました。 remark-cli の設定 まずは remark-cli を実行できるように設定していきます。 インストール remark のプラグインなどもインストールするので npm のパッケージを作ってその中にインストール(設定)していきます。 $ mkdir test-remark-cli $ cd test-remark-cli/ $ npm init -y $ npm install remark-cli $ npx remark --version remark: 14.0.2, remark-cli: 10.0.1

                      Markdown を JSON にしてしまえ
                    • 例から学ぶ AWS CLI の クエリ(query)活用 | DevelopersIO

                      [入れ子のキー選択] CloudFront ディストリビューションの設定値を取得 cloudfront list-distributions で CloudFront(CF)ディストリビューションの情報を取得できます。 aws cloudfront list-distributions --output json # { # "DistributionList": { # "Items": [ # { # "Id": "XXXXXXXXXXXXXX", # "ARN": "arn:aws:cloudfront::123456789012:distribution/XXXXXXXXXXXXXX", # "Status": "Deployed", # "LastModifiedTime": "2020-02-21T04:11:45.412000+00:00", # "DomainName":

                        例から学ぶ AWS CLI の クエリ(query)活用 | DevelopersIO
                      • JavascriptのObjectリテラルとJSON.parseについて - abcdefGets

                        V8のJSON.parseについて 最近(ちょっと前か)話題のオブジェクトリテラルよりもJSON.parseのほうが早い件について。 その理由を内部実装の観点から書く。 また注意点を最後に書いた。 話題のブログは以下から https://v8.dev/blog/cost-of-javascript-2019 パースについて V8はjavascriptコードをパースするにあたって、Lazy Parseを行っている。 Lazy Parse javascriptはブラウザという特殊な環境で実行される言語であるため、パースにも少々工夫が必要になる。 基本的にV8はすべてのソースコードをパースしない。 一旦グローバルスコープにあるものだけをちゃんとパースして、それ以外はPreParserというパーサで関数だけをかき集める。 function foo() { } function bar() { fu

                          JavascriptのObjectリテラルとJSON.parseについて - abcdefGets
                        • Ubie Design Tokensを公開しました

                          こんにちは、Ubie株式会社でデザインエンジニアをやっているtakanoripです。 Ubieではデザインのクオリティと生産性向上のためデザイン生産基盤の整備に力を入れています。 今回その一環として開発したデザイントークンをnpmパッケージとして公開しました。(現在はColorのみ。) 開発経緯 Ubie Design Tokens開発以前からデザイントークンのようなものは存在しており、CSS Variablesとして実装されていました。しかしユースケースを想定せず作った変数があったり定義が細かすぎたりしたことで「どの変数をどういう場面で使用すれは良いかわからない」という問題が発生していました。 そこで変数の定義を見直し、より実際のデザインに即したデザイントークンを策定するとともに、プロダクトごとの実装差異をなくすためのライブラリの開発に着手しました。 Colorの定義 Ubie Desi

                            Ubie Design Tokensを公開しました
                          • MongoDB 5.0が登場。時系列データ対応、実行中のシャーディング変更に対応など

                            MongoDB社は、同名のNoSQLデータベースの最新版となる「MongoDB 5.0」のリリースを発表しました。MongoDB 5.0はオンプレミス用と、クラウドサービス「MongoDB Atlas」の両方で提供されます。 Breaking News - CTO @MarkLovesTech announces the release of MongoDB 5.0! Introducing new workloads Future proof apps Next-gen privacy pic.twitter.com/bZhv7vw8kt — MongoDB (@MongoDB) July 13, 2021 MongoDBは、さまざまな種類が存在するNoSQLデータベースの中でも、ドキュメント指向データベースとしてJSON形式のデータ格納を中心としたデータベースです。JSONを用いること

                              MongoDB 5.0が登場。時系列データ対応、実行中のシャーディング変更に対応など
                            • TypeScriptのMap<K, V>をJSON.stringify()に食わせると空のオブジェクトになって困るんですけどって時 - その手の平は尻もつかめるさ

                              (TypeScriptに限らずJavaScriptでもだいたいこのような感じだと思いますが) 例えば以下のようなコードを書くと,出力としては {"body":{}} が得られます. const body = new Map<string, string>().set("foo", "bar"); console.log(JSON.stringify({body})); 本当は {"body": {"foo": "bar"}} のような構造がほしいところにこれでは困るわけですね. そこでどうするかと言うと Object.fromEntries() を利用すると良い: developer.mozilla.org 2019年11月現在だと比較的新しい機能ですね. const body = new Map<string, string>().set("foo", "bar"); console.l

                                TypeScriptのMap<K, V>をJSON.stringify()に食わせると空のオブジェクトになって困るんですけどって時 - その手の平は尻もつかめるさ
                              • 『SpreadSheet』が使える人のための『ChatGPT』仕事術『=GPT関数』(神田敏晶) - エキスパート - Yahoo!ニュース

                                KNNポール神田です! 昨年、2022年11月30日にデビューした非営利法人『OpenAI(サム・アルトマンCEO)』のAIチャットサービスの『ChatGPT』が話題になっている…とよく言われるようになった…。 出典:GoogleTrends …とはいえ、どのくらいかといえば『ガーシー議員』と比較するとまだまだ大したことはない…。現在は話題の落ち着いた『ガーシー』を抜いた程度というのが現状だ。 知っている人と知らない人の差が大きいサービスとも言える。 出典:GoogleTrend それでも、日夜、いや、毎秒ごとに、進化しつづける、ChatGPTだが、Chromeのプラグインとしての活用は検索をしながら、GPTにも確認ができるようになった。 ■『ChatGPT for Google』という機能拡張が便利! 出典:Chromeウェブストア GoogleのChromeなどにこのプラグインを入れる

                                  『SpreadSheet』が使える人のための『ChatGPT』仕事術『=GPT関数』(神田敏晶) - エキスパート - Yahoo!ニュース
                                • Dual Package Hazard - from scratch

                                  この記事は Node.js Advent Calendar 2019 の 11 日目の記事です。 qiita.com 今回は全 Node.js で ES Modules を利用するユーザーが知っておくべき Dual Package Hazard について紹介します。 ESModules がフラグ無しでサポートに。 これまでは ES Modules は --experimental-modules フラグが無いと使えませんでしたが、 フラグ無しで Node.js v13.2.0 から使えるようになりました。ES Modules については CodeGrid の記事で詳しく書いているのでそれを一読していただけると理解がスムーズになると思います。逆に読んだ方は Conditional Exports / Dual Package Hazard の節まで飛ばしてもらって構いません。 www.cod

                                    Dual Package Hazard - from scratch
                                  • 🌕 moonでのmonorepo管理とpackemonでのCJS/ESMのdual package

                                    🌕 moonでのmonorepo管理とpackemonでのCJS/ESMのdual package 🌕 moon 一貫性を持ったmonorepo管理ツール for JavaScript ハッシュを使ったファイルキャッシュ プロジェクトのパッケージ間の依存関係の分析とタスク実行 Node.js/npmパッケージマネージャーのバージョン管理と一貫性 TypeScriptのProject Referendcesの一貫性 比較 Nx: The Framework + Pluginで拡張する Lerna: Nx傘下、ライブラリ公開向け Turborepo: タスク実行の最適化をする moon: monorepoでの一貫性を提供する Packemon: moonと同じ作者。ESM/CJSのライブラリ公開向け 比較(言語) Nx: TypeScript + C++[^1] Turborepo: Go

                                    • websocket-client-simpleをruby-jpに移管した - 橋本商会

                                      で、1年ぐらい趣味と大学での研究を兼ねて色々開発した後、やっぱりこの分野はRubyよりNode.jsでやった方が良いなと思った

                                        websocket-client-simpleをruby-jpに移管した - 橋本商会
                                      • Illustrated jq tutorial

                                        Illustrated jq tutorial The concept of pipes Unix pipelines were invented in 1973 by Douglas McIlroy as a novel way of stringing together programs, where the output of one program is the input of the next one; It's a way of creating a new program out of combining basic building blocks, McIlroy describes it by analogy as 'screwing together data streams like a garden hose'. This approach quickly bec

                                        • Goで知らないフィールドのあるJSONを取り扱う - 詩と創作・思索のひろば

                                          野良 HTTP JSON API クライアントを作ってると、API が返してくる JSON の形に確信が持てないし、「これ何に使うんだろ」みたいなフィールドもあったりして struct にエンコードするのをサボったりする。 そういったコードがライブラリとして使われる余地を残すとすると、struct で表現されていないデータにも何らかの方法でアクセスできるようにしておきたい。こういうパターンあるんじゃないかと思うが、みんなどうやってるのか分からなかったのでメモ。 まあ素直に、json.RawMessage を struct に持たせておくのが一番よいだろう。冗長にはなるが、構造体の定義されたフィールドに便利なデータはあるし、より詳細に見たいなら RawMessage 経由で生データを見ればよい。ということにする。また、RawMessage を保持している場合は JSON 化したときにこれをそ

                                            Goで知らないフィールドのあるJSONを取り扱う - 詩と創作・思索のひろば
                                          • 次世代のFormatter「dprint」を試してみた

                                            何のプラグインを使うか聞かれるので、スペースで選択します。 対応する設定が書かれた dprint.json が作成されます。 TypeScriptの例 下記プレイグラウンドから設定をコピーして、dprint.json に貼り付けます。 { "typescript": { "lineWidth": 80, "indentWidth": 4, "useTabs": true, "semiColons": "prefer", "quoteStyle": "alwaysDouble", "quoteProps": "preserve", "newLineKind": "lf", "useBraces": "whenNotSingleLine", "bracePosition": "sameLineUnlessHanging", "singleBodyPosition": "maintain", "

                                              次世代のFormatter「dprint」を試してみた
                                            • 4.0.0 — Homebrew

                                              Today, I’d like to announce Homebrew 4.0.0. The most significant change since 3.6.0 enables significantly faster Homebrew-maintained tap updates by migrating from Git-cloned taps to JSON downloads. Major changes and deprecations since 3.6.0: Using JSON files downloaded from formulae.brew.sh for package installation rather than local homebrew/core and homebrew/cask taps. Please note: this is the la

                                                4.0.0 — Homebrew
                                              • JavaScriptのディープコピー速さ比較 〜7つの手法/ライブラリを比べてみた〜 - Qiita

                                                この投稿では、JavaScript(Node.js)でディープコピーするにあたって使えるコードスニペットやライブラリの処理速度を比較した結果をお見せします。 比較対象 JSON.stringify/JSON.parse Nodeビルトインモジュールv8のserialize/deserialize lodashのcloneDeep deepcopy - deep copy data clone - offers foolproof deep cloning of objects, arrays, numbers, strings, maps, sets, promises, etc. in JavaScript. clone-deep - Recursively (deep) clone JavaScript native types, like Object, Array, RegExp,

                                                  JavaScriptのディープコピー速さ比較 〜7つの手法/ライブラリを比べてみた〜 - Qiita
                                                • Oracle Database 21c正式版が登場。データベース内でJavaScript実行可能、改ざんできないブロックチェーンテーブルなど新機能

                                                  Oracle Database 21c正式版が登場。データベース内でJavaScript実行可能、改ざんできないブロックチェーンテーブルなど新機能 米オラクルは、最新のデータベースソフトウェアとなる「Oracle Database 21c」正式版を発表しました。 Oracle Databaseのバージョン番号は、2017年に発表された「Oracle Database 18c」から西暦を基にしたバージョン番号となりました。つまり今回発表された「Oracle Database 21c」の21は来年2021年の21から、cはクラウドのcから取られています。 オラクルはOracle Databaseにおいて、マルチデータモデルへの対応やマルチテナントへの対応など、さまざまな機能を集約したコンバージドデータベース(Converged Database)と呼ばれる方針で開発を進めています。 すでにOL

                                                    Oracle Database 21c正式版が登場。データベース内でJavaScript実行可能、改ざんできないブロックチェーンテーブルなど新機能
                                                  • corepack でモジュールごとに npm クライアントを指定する

                                                    tl;dr node 14.19.0 で npm のバージョンを明示的に切り替える corepack が入った package.json の packageManager フィールドで npm 自体のバージョンや yarn の使用するバージョンを指定できる 詳しくは https://zenn.dev/teppeis/articles/2021-05-corepack 現状の npm-cli 自体が corepack に対応してないので、有効にしたければ npm コマンド自体を corepack に移す必要がある 現時点で packageManager を指定するだけだとまだ他の環境で有効にならないが、将来的に npm と node の corepack 対応が行き渡った時点で段階的に有効になる。 もっと詳しく # 手元の node を v14.19.0 以上に更新する # 自分は nvm

                                                      corepack でモジュールごとに npm クライアントを指定する
                                                    • サバイバルTypeScriptを読むまで知らなかったこと - Qiita

                                                      TypeScriptは業務で使っていますが、このサイトで改めて勉強し、初めて知ったことが結構あったので、アウトプットがてら記事に残すことにしました。 まだサイトの序盤を読んでいる段階なので、適宜追記していきます。 (2022/12/16 読了しました) それぞれのh2タイトルはサバイバルTypeScriptの該当ページへのリンクになっています。 また実際に自分で試したコードを載せていますが、参照元とほぼ同じだったりします。ごめんなさい。 JSONにおいてのundefinedとnullの違い JSON.stringifyでJSON化した時、値がundefinedのプロパティは削除される。 const obj = { name: null, age: undefined }; // {"name":null}が出力される console.log(JSON.stringify(obj));

                                                        サバイバルTypeScriptを読むまで知らなかったこと - Qiita
                                                      • jsondiff: JSONの構造の一部を無視して差分をとれるGoのライブラリを書いた - Sexually Knowing

                                                        github.com 背景 仕事でお世話になっているkayac/ecspressoの機能の中にローカルのタスク・サービス定義と現在使われている定義を比較して差分を出力してくれるものがある。 github.com これから加えようとしている差分をプレビューできるだけではなく、たとえばデプロイしようとしているわけでもないのに差分があればローカルの定義が古びていることがわかるのでCIに組み込めると便利。 しかし実際に使おうとすると困る点が見つかった。 たとえばタスク定義にイメージタグを書く際に {{ must_env 'IMAGE_TAG' }} のように環境変数を参照している時に「イメージタグ 以外 に差分がない」ことを確認するのが難しいということ。 理想的には image を無視したJSONの構造を比較して差分が出せると良い。あるいは出力されるdiffをパースして image の差分は無視す

                                                          jsondiff: JSONの構造の一部を無視して差分をとれるGoのライブラリを書いた - Sexually Knowing
                                                        • mysqlsh (MySQL Shell): Dump and Restore in AWS Aurora - LayerX エンジニアブログ

                                                          LayerX インボイス を開発しているDX事業部の @yyoshiki41(中川佳希)です。 DX事業部ではデータベースとして MySQL(Amazon Aurora)を利用しています。 今回のブログは、mysqlsh (MySQL Shell) を用いて、Dumpデータ取得とリストアを行う際に気をつける点です。 mysqldump, mysqlpump Dumpデータ取得を行う際に、広く知られているのが mysqldump かと思います。 MySQL 5.7.8 からは、 mysqlpump という別のクライアントツールも提供されるようになりました。 主に下記のような特徴があります。 並列での処理が行われる(Parallel) Dump Progress がみれる 圧縮方式は、LZ4 と ZLIB が使用可能(mysqlpump Ver 1.0.0 Distrib 5.7.35) TA

                                                            mysqlsh (MySQL Shell): Dump and Restore in AWS Aurora - LayerX エンジニアブログ
                                                          • はじめてのCloudflare D1アプリ

                                                            D1はローカルで動く 5月にClouflare D1が発表されました。ヤバいらしいです。 まだベータすら出てません。PrivateなEarly Accessがありますが、僕はもらってません。でも早く触ってみたい!じゃないっすか。で、よく見てみると、Cloudflare Workersのローカル実行環境のMiniflareにはD1をエミュレートするブランチがもうすでにあるのです。 また、Cloudfalre Workersの公式CLIであるWranglerはそのMiniflareをローカル向けに内包しています。そしてWranglerにもD1に対応させたブランチがあります。ちょっと前まで動かなかったけど、最近動くようになりました。 ってことは、D1はベータすら出てないけど、ローカルでは動くということで、はじめてのD1アプリを作ってみました。 Internal 作る前にMiniflareとWra

                                                              はじめてのCloudflare D1アプリ
                                                            • オラクル「Autonomous JSON Database」発表。クラウド上のスケーラブルなJSONデータベース

                                                              オラクルは、Oracle Cloud上の新たなデータベースサービスとして「Oracle Autonomous JSON Database」を発表しました。 Today, @Oracle announced the availability of Autonomous JSON #Database—a new cloud service built for JSON-centric developers. Let’s learn a little more about this new service. https://t.co/EMrdxePdRZ pic.twitter.com/qcuk0zxv5m — Oracle Database (@OracleDatabase) August 13, 2020 オラクルはクラウド上で自律的に動作するデータベースサービスとして、トランザクション処理

                                                                オラクル「Autonomous JSON Database」発表。クラウド上のスケーラブルなJSONデータベース
                                                              • node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita

                                                                JWTの検証プログラムに対する有名な攻撃手法にalg=none攻撃があります。JWTのalgクレーム(署名アルゴリズム)としてnone(署名なし)を指定することにより、署名を回避して、JWTのクレームを改ざんする手法ですが、手法の解説は多いもの、脆弱なスクリプトのサンプルが少ないような気がしています。そこで、node.js用の著名なJWTライブラリであるjsonwebtokenを使った簡単なサンプルにより、alg=none攻撃の解説を試みます。 なお、jsonwebtokenの最新版では今回紹介した攻撃方法は対策されているため、以下のサンプルでは古いjsonwebtokenを使っています。 alg=none攻撃とは よく知られているように、JWTは以下のように3つのパートからなり、それぞれのパートはBase64URLエンコードされています。ヘッダとペイロードはエンコード前はJSON形式です

                                                                  node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita
                                                                • GitHub - 5alidz/tiny-schema-validator: JSON schema validator

                                                                  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 - 5alidz/tiny-schema-validator: JSON schema validator
                                                                  • Cloudflare Workersで手軽にRESTful APIを公開する - kasuのブログ

                                                                    今回は、OpenAPI Specification から良い感じのドキュメントサイトを提供してくれるサービス bump.sh を見つけたので、RESTful API を用意して試してみます。 ドキュメントサイトがあることで、API が公開されていることがより分かりやすくなるでしょう。 こちらはスキーマの差分を解析するツール API Diff · Powered by Bump.sh を提供しており、今後 GraphQL もサポートされるそうなので楽しみです。 RESTful API まずは JSON を返すだけの簡単なAPIを作りたいと思います。 軽量なアプリケーションとなるので Cloudflare Workers をデプロイ先とします。 手書きしたくない ゼロから書くので定義ファイルとサーバーサイドの実装どちらも手書きすることはなるべく避けたいところです。 Node.js では pat

                                                                      Cloudflare Workersで手軽にRESTful APIを公開する - kasuのブログ
                                                                    • TexTraの翻訳 APIをJavaScriptだけで取得する - Qiita

                                                                      Web API の JavaScript での取得方法について の質問があったので作ってみました。 See the Pen TexTra 翻訳 Demo by John Doe (@04) on CodePen. async function handle(e) { name = "extra"; key = "5b37d68901799f71e8937f26add0fafd06309732b"; secret = "71d1b17cfdc7e26e6232a9a750c038d2"; text = e.target.value; const oauth = OAuth({ consumer: { key, secret }, signature_method: "HMAC-SHA1", hash_function(base_string, key) { return CryptoJS.H

                                                                        TexTraの翻訳 APIをJavaScriptだけで取得する - Qiita
                                                                      • Google Apps ScriptでGPTsのCustom ActionsのAPIを作ってみた - Qiita

                                                                        はじめに GPTsのCustom Actions(カスタムアクション)をつかって、外部のAPIを呼び出して、データを取得することができるようになりました。 たとえば、郵便番号検索APIを呼び出して、ユーザーから入力された住所から、郵便番号を回答するGPTを作ることができます。 詳細についてはこちら。 この記事では、Custom Actionsから呼び出されるAPIを、Google Apps Scriptを使って無料で作る方法について説明します。 この記事の対象者 GPTsのCustom ActionsのAPIを自作したい方 Google Apps Scriptで簡単なスクリプトを作ったことがある方 Zapierの連携よりも複雑な処理を求めている方 APIの概要 シーケンス図で表現しました。 "Google Apps Script"にあたるところが、今回作成するAPIになります。 処理として

                                                                          Google Apps ScriptでGPTsのCustom ActionsのAPIを作ってみた - Qiita
                                                                        • JSONの小ネタと、JSONに対する拡張

                                                                          JSONは最も普及したデータ形式の一つでしょう。JSONの仕様はECMA-404やRFC 8259として標準化されています。 ECMA-404 - Ecma International RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format 細かいネタ 文字コード RFC 8259では、外部と交換するJSONテキストはUTF-8でエンコードされなければならないということになっています。BOMは禁止です。昔のRFCではUTF-16やUTF-32も許容されていました。 ただし、キーや文字列の中身としては単独のサロゲート(例:"\uD800")は禁止されていません。JSONのキーや文字列はUnicodeスカラー値の列とは限らないのです。 UTF-8を前提とする実装にとっては、単独のサロゲート(不正なUTF-

                                                                            JSONの小ネタと、JSONに対する拡張
                                                                          • GitHub - multiprocessio/dsq: Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.

                                                                            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 - multiprocessio/dsq: Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.
                                                                            • workspaceを使ったコマンドを最適化して実行するTurborepoについて | サイボウズ フロントエンドエキスパートチーム

                                                                              今年からフロントエンドエキスパートチームでは活動内容の一つである探求の一環として、メンバーが気になった技術に対して、気軽に触ってみる会をしています。次の画像は筆者が Slack で、気軽に触ってみる会の開催を宣言してる時のものです。 今回は去年の 12 月に Vercel に買収されたニュースがあった Turborepo を気軽に触ってみました。 個人的には 1 人で調べるときよりも複数人でわいわい調べた方が、その技術や関連する周辺知識の話を色んな人の観点で深掘ってできて、とても有意義な時間でした。 概要 Turborepo はモノレポのためのビルドシステムで次のような特徴があります。 Yarn, npm, pnpm の workspaces に対応してるリポジトリに対して簡単に導入できる workspace 内のコマンドの依存関係をシンプルに設定してくれる Turborepo で実行する

                                                                                workspaceを使ったコマンドを最適化して実行するTurborepoについて | サイボウズ フロントエンドエキスパートチーム
                                                                              • BigQueryのネイティブJSON型がサポートされたことでどう変わったのか

                                                                                Google Cloud Next 2021で発表され、Private PreviewだったBigQueryのネイティブJSON型が先日Public Previewになったとのことです。 BigQuery now natively supports semi-structured data | Google Cloud Blog 発表された当初は「あれ、すでに出ているJSON_EXTRACT()とかのJSON関数と何が違うのだろう」と思っていたのですが、実際に触ってみるとネイティブJSON型の柔軟性に感動したので紹介したいと思います。 サンプルJSON 以下のようなJSONデータをパースしたいとします。 { "id": 12345, "name": "ohsawa0515", "person_info": [ { "key": "height", "value": "178" }, { "

                                                                                  BigQueryのネイティブJSON型がサポートされたことでどう変わったのか
                                                                                • 【S3からS3へ】Node.js の Streaming API を使って Lambda Function のみで CSVファイルを JSON Lines ファイルへ変換する | DevelopersIO

                                                                                  CSV to JSON Lines fast-json のドキュメントを見ながら実装します。transform をうまく使えば実装できそうです。 converter.js const { EOL } = require('os'); const { parse } = require('fast-csv'); const stream = require('stream') // 入力CSVをまずはテキストで用意します const CSV_STRING = [ '回答ID,a1,a2,a3,a4,a5,a6,a7,a8,回答日時', 'classmethod_answer_0,2,9,1,7,5,5,4,Kesase dunwu it nisfen iwo vogal ako po giser hosjobik.,2020-05-15T14:01:12.299+09:00', 'class

                                                                                    【S3からS3へ】Node.js の Streaming API を使って Lambda Function のみで CSVファイルを JSON Lines ファイルへ変換する | DevelopersIO