並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 1035件

新着順 人気順

JSONの検索結果121 - 160 件 / 1035件

  • Denoの登場でNode.jsの時代は終わるのか? - Qiita

    Deno ver 1.0 5月13日、Deno v1.0の正式リリースが決定しました。 少し勉強してみましょう。 ↑ かわいい Denoってなに? DenoはNode.jsの製作者であるRyan Dahlによって作られました、新しいJS/TSランタイムです Denoはdefaultで安全です(許可なしではファイル・ネットワーク・環境にアクセスできません) DenoはTypeScriptがビルトインで入ってます 外部パッケージはurlでインポートできます(Goみたいに) ディーノって読むらしい(デノではない) Denoが作られた背景 一年前くらいにこの動画を見たことを思い出しました。 Node.jsの作者であるRyan Dahlが、Node.jsを開発した当時の仕様を後悔する旨の動画です。 https://www.youtube.com/watch?v=M3BM9TB-8yA&t=1319s

      Denoの登場でNode.jsの時代は終わるのか? - Qiita
    • [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 | DevelopersIO

      [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 はじめに Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(電話番号,日時,名前,人数)を正しく抽出できるか検証しました。 コールセンターでは、有人対応から無人対応に変更したいニーズが増えているように思います。 電話予約の無人対応を想定し、1回の発話で、下記の5つの予約情報を抽出できるか確認します。 お名前 電話番号 予約日 予約時間 人数 発話で予約情報を抽出する方法として、GPT-4 Turbo のJSONモードを利用します。 JSONモードの詳細は、下記を参照ください。 例えば、「名前はクラスメソッドで、電話番号は09011111111。来週の火曜日の19時に4名で予約できます

        [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 | DevelopersIO
      • JavaScriptの非同期処理をじっくり理解する (3) async/await

        対象読者と目的 非同期処理の実装方法は知っているが、仕組みを詳しく知らないのでベストプラクティスがわからないときがある 実行順序の保証がよくわからないので自信をもってデプロイできない変更がある より詳しい仕組みを理解することでより計画的な実装をできるようになりたい という動機で書かれた記事です。同様の課題を抱える人を対象読者として想定しています。 目次 実行モデルとタスクキュー Promise async/await AbortSignal, Event, Async Context WHATWG Streams / Node.js Streams (執筆中) 未定 用語に関する注意 前々回定義した以下の用語を今回も使います。 1 tick ... タスクキューが1周すること。 1 microtick ... マイクロタスクキューが1周すること。 これらの単位は非同期処理の間の相対的な優先

          JavaScriptの非同期処理をじっくり理解する (3) async/await
        • Hurl - Run and Test HTTP Requests

          What’s Hurl? Hurl is a command line tool that runs HTTP requests defined in a simple plain text format. It can chain requests, capture values and evaluate queries on headers and body response. Hurl is very versatile: it can be used for both fetching data and testing HTTP sessions. Hurl makes it easy to work with HTML content, REST / SOAP / GraphQL APIs, or any other XML / JSON based APIs. Choose e

          • 実行環境依存のコードに対してテストを書く考え方

            社内用の啓発記事ですが、閉じる理由がないのでここに投げます。 ブラウザにべったりなコードを書いてると、ブラウザや node.js 固有の環境をインラインで記述してしまうことが多々あると思います。 あえてダメダメなブラウザ向けのエントリポイントの例を書きます。 // main.ts let id = localStorage.get('id'); if (!id) { id = `${navigator.userAgent}-${Math.random()}`; localStorage.set('id', id); fetch('/auth', { method: 'POST', credentials: 'include', body: JSON.stringify({ id, at: Date.now(), }), headers: {'Content-Type': 'applicat

              実行環境依存のコードに対してテストを書く考え方
            • 『プロを目指す人のためのTypeScript入門』読者が最新情報にキャッチアップできる記事

              こんにちは。先日発売された『プロを目指す人のためのTypeScript入門』は、発売日の最新バージョンであるTypeScript 4.6に対応しています。 そこで、この記事では読者に向けたアフターサポートとして、本の発売時から現在までに増えた機能や変わったところをご紹介します。 現在のTypeScript最新版は4.9です。 TypeScript 4.7での更新 公式アナウンス: https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/ Node.js向けES Modulesサポートの追加 TypeScript 4.7最大の話題はこちらです。本書の第1章では、tsconfig.jsonの設定項目について次のように説明しました。 現在のところnode16とnodenextには違いがありません。将来のNode.js

                『プロを目指す人のためのTypeScript入門』読者が最新情報にキャッチアップできる記事
              • HTML Over The Wire | Hotwire

                Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This makes for fast first-load pages, keeps template rendering on the server, and allows for a simpler, more productive development experience in any programming language, without sacrificing any of the speed or responsiveness associated with a traditi

                • 【認証】JWTについての説明書

                  はじめに この記事を読んでいるあなたはJWTについて知っているだろうか?JWTは、認証されたユーザを識別するために最も一般的に使用される。JWTは認証サーバから発行されて、クライアント・サーバで消費される。 今回の記事では、Webアプリケーションの認証方法として最も利用されているJWT認証を簡潔に解説する。 本記事の読者の対象 JWT認証について知らない人 JWTのメリット・デメリット、仕組みについて詳しく知りたい人 アプリケーションの認証方法について詳しく知りたい人 JWTとは JSON Web Token(JWT)とは、クライアント・サーバの間で情報を共有するために使われる規格の1つである。JWTには、共有が必要な情報を持つJSONオブジェクトが含まれている。さらに、各JWTはJSONのcontentsがクライアントあるいは悪意のあるパーティによって改ざんされないように、暗号(ハッシュ

                    【認証】JWTについての説明書
                  • 現実世界におけるスキーマ設計の妥協

                    ビジネスとエンジニアリングの接合点 そしてコード品質がそこに及ぼす影響 v1.1 / The Intersections of Business and Engineering, and The Impact of Code Quality There (v1.1)

                      現実世界におけるスキーマ設計の妥協
                    • ChatGPTをWebフレームワークにしたら、未来が見えた

                      ChatGPTを文字通りWebフレームワークにしてみました。 何を言っているかわからないと思うので、次のコードを見てください。 import { initChatGptGenerator } from "gpt-as-api"; import { Hono } from "hono"; import { cache } from "hono/cache"; const gpt = initChatGptGenerator( "これからTODOアプリとしてふるまってください。\n今からリクエストを行うので、そのアプリレスポンスを次の指示に従って返却してください。\n\n{{Domain}}" ); const app = new Hono(); app.get("/", gpt("TODOの管理ができるページをHTMLで適切に返してください。", "html")); app.all("/ap

                        ChatGPTをWebフレームワークにしたら、未来が見えた
                      • RustでJSONパーサーをフルスクラッチで実装する - Qiita

                        この記事はRust Advent Calendar 2021 カレンダー2の1日目の記事です。 はじめに エンジニアは一度はJSONパーサーをフルスクラッチで実装したほうが良いという天啓を受け、RFC 8259を読みつつRustでJSONパーサーを実装してみました。パーサーの実装は面白く勉強になり満足しましたが折角なのでhands-on形式の記事にしようと思いこの記事を書きました。 Rustの基本的な文法が分かる方向けに記事を書きましたが、これからRustを勉強してみたい方にもぜひ挑戦してほしいです。 複雑な機能は使っていないので、分からない文法や標準ライブラリは公式ドキュメントを読めば十分補完できると思います。 The Rust Programming Language 日本語版 Rust by Example 日本語版 monkey-json 本記事ではRustでJSONパーサー(mo

                          RustでJSONパーサーをフルスクラッチで実装する - Qiita
                        • Macで使うVS CodeとRemote Containerの性能を大幅改善 - Sweet Escape

                          はじめに なぜ遅いのか 何をやるのか 計測 名前付きボリュームを使ってない場合 Named Volumeを使う場合 Macからどう見えているか 結論とまとめ はじめに 以前からいろんなところで話していますが、僕は普段、手元のMacには言語系のランタイムとかは入れておらずVS CodeとDocker for Macだけ入れてRemote Containersの環境で開発しています。 この環境自体はとても便利でいいのですが、一点大きな問題があります。 それは遅いということ。自分の場合は最近だとJSでの開発が多いのですが、例えばNext.jsで開発している場合に以下のような操作が特に遅く感じます。 yarn install yarn add yarn jest next dev next start next build yarn jestとかnext devが遅いのは起動だけだったりします。起

                            Macで使うVS CodeとRemote Containerの性能を大幅改善 - Sweet Escape
                          • インフラエンジニアが学ぶと良さそうなgRPCサーバーについて - じゃあ、おうちで学べる

                            3-shake にはSreake共有会 という毎週、火曜日と木曜日に担当者が現場で得た知見などを発表する社内勉強会が開催されています。こちらのブログはそれらを変更修正しております。 syu-m-5151.hatenablog.com 元々しようとしていたの話 Go 1.18 の最新情報←Generics の深い話とかはもう既出すぎて気になる人は読んでる Go でのTDD(が実は20周年なので)←書いてる途中で自分が言うべきことなんてないことに気付く 今後、案件で増えるであろう gRPC についてインフラエンジニアが知っておいても良いと思ったという話 ← 今ここ TL;DR protobuf (Protocol Buffers) はデータフォーマットで、JSONの役割を置き換えるものです。一方 gRPC は通信プロトコルで、HTTPの役割を置き換えるものです。 gRPC をライブラリやツール

                              インフラエンジニアが学ぶと良さそうなgRPCサーバーについて - じゃあ、おうちで学べる
                            • 接触確認アプリで「接触したとPUSH通知」→「アプリを開くと接触なし」になる問題 - nori0620のメモ

                              起きている現象 以下のような現象が起きてるようです 接触確認アプリ(COCOA)から 「 COVID-19 にさらされた可能性があります」 というプッシュ通知が届く 通知からアプリを開くと「 陽性者との接触は確認されませんでした 」という表示になっている ( iOSでは通知は一度見ると消えるので、その後は通知は再度確認できなくなる ) Twitter上で、この現象が起きた方が複数確認できます 深夜に、”コロナにさらされた可能性があります”、とかいう恐ろしい通知が接触確認アプリから来て、見てみると、接触履歴無しと言う結果。可能性があるからアプリチェックしてみ、まー実際接触してないけどね、って事らしい。みんなこれビビらないのかな。#COCOA pic.twitter.com/vBkB0pFkPl— 桑原優 KUWABARA Masaru (@KuwabaraMasaru) August 5,

                                接触確認アプリで「接触したとPUSH通知」→「アプリを開くと接触なし」になる問題 - nori0620のメモ
                              • SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと

                                ブラウザで操作できるツールを作りたいけどWebのフロントエンド作るの面倒だな...とWeb系開発者にあるまじき事を考えつつ良いプラットフォームを探していたら、SlackのAPIが進化してツールフロントエンド化するのにうってつけの機能が増えているのを見つけました。 api.slack.com チャットツールのAPIといえば、「チャットで入力したテキストをボット側でがんばって解釈して実行する」というCUIのコマンド的な使い方しかできないイメージだったのですが、最近のSlackのAPIは「ショートカット(Shortcuts)」「モーダル(Modals)」「ブロックキット(Block Kit)」といった機能を使うことで、入力コンポーネントを使用したGUIでボットとやりとりすることができるようになっています。 これらを駆使すれば、入力フォームからデータを登録したり、編集フォームでデータを変更したり、

                                  SlackをGo製ツールのGUIフロントエンドとして使う(#1: データの登録と表示) - ほんじゃらねっと
                                • ターミナルでSlackを読む - 詩と創作・思索のひろば

                                  Slackはそのクライアントがそれなりに、かなりよくできていて、これでほとんど困ることはないんだけど、そうは言ってももうちょっとプログラマブルに取り扱いたいこともある。 そういう場合にもよいAPIが用意されていて、Real Time Messaging API ってのがある。こいつはWebSocketでSlackの発言をはじめ、あらゆるイベントのJSONを送りつけてくれるやつ。ひとまずこれを標準出力に流すことができれば、あとは好きに料理できるはずだ。 というわけで作ったのがこちら。書いたことなかったのでRustです。ちょうどいいネタだった。 GitHub - motemen/slack-stream-json slack-stream-json というバイナリが、SLACK_TOKEN 環境変数を設定した上で起動してやると、RTM APIによって得られたイベントのJSONをそのまま標準出力

                                    ターミナルでSlackを読む - 詩と創作・思索のひろば
                                  • Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話

                                    本記事は「Go Advent Calender」25 日目の投稿です。 Happy Holidays! EDIT (2022-01-03): There is an English version of this article. tl;dr いままでは Go プログラムを Nintendo Switch 上で動かすために WebAssembly に一度変換し、それを C++ に変換してコンパイルするということを行ってきました。今回、 Go の Nintendo Switch 向けネイティブコンパイルに成功し、実際に手元でゲームを動かすことができました。手法として、システムコール呼び出しを C の関数呼び出しに置き換えるように -overlay オプションを指定してビルドしました。また、 -overlay オプションに指定する JSON を生成するパッケージ Hitsumabushi を開

                                      Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話
                                    • 話題のGoogle製OSS - Tsunamiを試してみた - Qiita

                                      はじめに 先日発表された話題のGoogle製OSS - Tsunamiを触ってみたので,実行方法と概要を残したいと思います. TL;DR サクッとコマンド叩くと脆弱性をjson形式で返してくれるので便利 ただ,XSSやSQLインジェクションといった内部のセキュリティーホールは見てくれない(これから対応するかもしれないが) どちらかと言うと,システムたくさん持ってる企業向け しかし,実行まで3分もかからないので,試してみる価値はあると思います. Tsunamiとは Tsunamiは,システムの脆弱性を高い信頼性のもと最小の誤検知率でRCE(遠隔からのコード実行)のような深刻度の高い脆弱性の検出を行います. 特徴としては,システム内部から実行することなく,外部から高速に実行でき,かつ,システムの規模に合わせて簡単にスケールすることができます. 作られた背景 昨今,攻撃者は自動化に力を入れている

                                        話題のGoogle製OSS - Tsunamiを試してみた - Qiita
                                      • はてなブックマークの破滅的人気コメントを表示する - Qiita

                                        何があったか はてなブックマークは、コメント表示改善の一環として、Yahoo! JAPANの「建設的コメント順位付けモデルAPI」を導入し、攻撃的であったり不謹慎であるなど穏当でないコメントが人気コメントに掲載される問題を抑制する取り組みを開始しました。 実は、公式の発表が知れ渡る前にAnonymousDiaryというサービスで話題になり、喧喧囂囂の大騒ぎとなったのです。 誉れ高い増田市民としては、旧来の破滅的コメント順位を望みます。 Pythonによる解決 googleのcolabで作業してました。 記事の情報をAPIで入手 記事jsonからブクマした各ユーザの「コメント情報のURI」を生成する スター取得APIでコメントURIを指定し、スター数を算出 各コメントのスター数を出し、上位10個を表示 後述するjsonの概要を見るとイメージがつきやすいかもしれません。 import json

                                          はてなブックマークの破滅的人気コメントを表示する - Qiita
                                        • Next.jsで静的サイトを作成する際によく使っているライブラリまとめ

                                          この記事は、先日催された「ジャムジャム!!Jamstack_5」で登壇した際の内容を再度まとめたものとなります Next関連 next-seo Seoコンポーネントのようなものが踏襲されてる JSON-LDのサポートも入っていてサポート範囲が広い next-sitemap sitemap.xmlとrobots.txtを作成してくれる 分割もしてくれる configファイルの中で細かい設定ができる pathpida 再生したページのパスの定数ファイルを作ってくれる便利なやつ タイポが無くなって助かる typed-scss-modules CSS Modlesでスタイリングをする際に、.module.(sc|c)ssに対して型定義ファイルを作成してくれる。 宣言漏れや補完など、痒い所に手が届く headlessCMS関連 microcms-js-sdk 最近扱っている案件のheadlessCM

                                            Next.jsで静的サイトを作成する際によく使っているライブラリまとめ
                                          • 2019年、2020年のJavaScript - 別にしんどくないブログ

                                            この記事は JavaScript Advent Calendar 2019 - Qiita の初日の記事です。 2019年を締めくくるアドベントカレンダーの初日ということで、今年のJavaScriptを簡単に振り返りたいと思います。2020年のJavaScriptについても予習しましょう。 2019年、2020年が何を指しているかは後述します。 カテゴリが「プログラミング言語」なので、React、Vue、AngularやNode.jsなどJavaScriptを使った技術ではなく、JavaScriptの言語機能にフォーカスしたいと思います。 はじめに ES2019 Optional catch binding JSON superset Symbol.prototype.description Object.fromEntries Well-formed JSON.stringify Arr

                                              2019年、2020年のJavaScript - 別にしんどくないブログ
                                            • OpenAI Function callingで複雑なタスクを簡単に実現 - Qiita

                                              Function callingの登場 6/13ごろにOpenAI社から発表された新しいgpt-3.5-turboのインスタンスにFunction callingという機能が追加され話題を呼んでいます。このFunction calling、非常に強力な機能なのですが、仕組みがいまいちピンとこないといった方も多いのではないでしょうか。筆者もその一人で、ドキュメントを3回くらい読んでもしっくり来なかったのですが、実際にFunction callingを実装してみてなるほど、これは凄いな、となったので紹介します。 ここでは、具体的なソースコードを紹介しながら、実際に動作するサンプルを作っていきます。 TL;DR ソースコードだけ見られればいい!という方は以下へ https://github.com/canada/openai-function/blob/master/app.py ソースコードを

                                                OpenAI Function callingで複雑なタスクを簡単に実現 - Qiita
                                              • 【保存版】「そのuseEffectの使い方あってる?」と言われる前に

                                                参考 目的 プロジェクトで使用されている不適切なuseEffectを減らす 本題 Reactの公式ドキュメントにuseEffectは必要ないかもしれない,というようなページがありとても勉強になったので記事にしようと思いました. データフェッチング アプリのデータフェッチングをuseEffect内で行うのはよく知られている方法です. Bad 💣 function SearchResults({ query }) { const [results, setResults] = useState([]); const [page, setPage] = useState(1); useEffect(() => { // 🔴 Avoid: クリーンアップなしでのフェッチング fetchResults(query, page).then(json => { setResults(json); }

                                                  【保存版】「そのuseEffectの使い方あってる?」と言われる前に
                                                • データ基盤をサーバーレスで構築したので概要を紹介 - Adwaysエンジニアブログ

                                                  あけましておめでとうございます。本年もよろしくお願いいたします。 久しぶりに登場しました菊池です。 僕は昨年から新しいデータ基盤を構築するプロジェクトを担当しておりまして、最近システムが無事に実稼働してホッと一息したところです。思い起こせば入社時はインフラ担当部署に配属だったのが、広告配信システムの開発をやったり、カジュアルゲーム作ったり。新規事業のスマホアプリを作りつつサーバーサイドの API を作って立ち上げたり、海外向けのサービスを作ったり。いつのまにかメディア運営に関わったりしてきましたが、最近はデータ基盤の開発もやってます。そんなキャリアを歩んできましたが、いつか森の中の開けた草原にあるネット環境の整ったポツンと一軒家で、庭にチャボを放飼にしつつ養蜂をやってみたいと思っています。 話は戻りますが、今回はこの稼働したてホカホカ状態のデータ基盤について概要を紹介したいと思います。よろ

                                                    データ基盤をサーバーレスで構築したので概要を紹介 - Adwaysエンジニアブログ
                                                  • 『Tailwind CSS実践入門』 出版記念基調講演

                                                    「Tailwind CSS実践入門」出版記念イベントの基調講演で使用したスライドです。 イベント詳細 → https://pixiv.connpass.com/event/310073/ 書籍 → https://gihyo.jp/book/2024/978-4-297-13943-8

                                                      『Tailwind CSS実践入門』 出版記念基調講演
                                                    • docker-composeのログローテーション - Qiita

                                                      services: my-app: build: . logging: driver: json-file options: max-size: 1m max-file: '3' 説明 loggingのoptionsにmax-sizeとmax-fileを指定します。 max-sizeあたりでログがロールオーバーされ、max-fileの数だけログ保持されます。 疑問点 ログは、docker-compose logsやdocker logsコマンドで確認しますが、ロールオーバーされた古いログはどう扱われるのでしょうか。 検証 とりあえず、stdoutにベラベラ出力するコンテナを作成します。

                                                        docker-composeのログローテーション - Qiita
                                                      • まだAPIが出来ていない?私は一向にかまわんッッ

                                                        初記事です。 あるフロントエンドの悩み プロジェクトの納期は決まっていて、すぐに着手しないといけない。 だけど、API はまだできていない... 早く着手したい...、ふぬぬ...。 今回はそんなフロントエンドがバックエンドのタスクの待ちにならないように、並行してアジャイルに開発していけるツールとしてmswをご紹介します。 mswとは? mswとはmock service workerの略で、簡単にモックのAPIを立てることができるライブラリです。 同様のことができるライブラリとしてJSON Serverもありますが、mswには以下の利点があります。 単純にJSONを返すのではなく、ロジックも書くことができる Expressのようにスッキリ書くことができる RESTだけでなく、GraphQLにも対応している 以下のようなケースに向いていると思います。 早く着手しないといけないけど、API

                                                          まだAPIが出来ていない?私は一向にかまわんッッ
                                                        • JSONデータをキレイに可視化してくれるオンラインツール「JSON Crack」は手軽でお勧め/画像化してクリップボード・ローカルファイルへエクスポートすることも【やじうまの杜】

                                                            JSONデータをキレイに可視化してくれるオンラインツール「JSON Crack」は手軽でお勧め/画像化してクリップボード・ローカルファイルへエクスポートすることも【やじうまの杜】
                                                          • ChatGPT、Bingによるプロンプトの生成・変換(NyaFuさんバージョン)|BD

                                                            すっごいネタ来ました! この記事を読んでできるようになること ・プロンプトの自然言語←→羅列表記変換 ・適当な文章(日英問わず)のプロンプト化 ・作成したプロンプトのランダム生成 ・日本語での要約 ・プロンプトの微調整 まずは、こちらを読んでください! 間にJSON変換をかませるだとっ!? こんな面白いネタ、そりゃもうやっちゃいますよね。 てことで、半クローズな環境でNyaFuさんにすっごいGPTプロンプトを見せてもらったので、さっそくどんどんと手を入れてしまいました。(NyaFuさん、その節はすいませんでした) その後、快く了承いただけたので、今回はコラボ記事を書かせていただきます!みんなもNyaFuさん、フォローしようぜ! 仕組みと考え方についてはNyaFuさんの記事でしっかりと確認しておいてください。使い始めてから自分用にカスタマイズしやすくなります。 ChatGPT-4もしくはBi

                                                              ChatGPT、Bingによるプロンプトの生成・変換(NyaFuさんバージョン)|BD
                                                            • 最速のJSONライブラリを求めて

                                                              R&Dのアプリケーション基盤 “Circuit”について / About "Circuit", R&D's application platform

                                                                最速のJSONライブラリを求めて
                                                              • Tokens Studio(Figma Tokens) で小さくはじめるデザインシステム

                                                                📝 はじめに こんにちは犬です。 デザインシステムをはじめる上で、 Figma の神プラグインを見つけたので共有します! わたしが携わっているプロジェクトでは、エンジニアとデザイナーの双方向のコミュニケーションツールとして Figma Tokens を採用しています。 📝 Figma本体 だけでは実現が難しい色の管理手法 Figma と フロントエンド実装時の色の管理については以下のように取り決めました。 # 色の定義と利用方法 1. Primitive colors を定義 ここで定義した色をサイト全体で使用する。 ※ 定義はするものの、全ての色をサイト全体で利用するとは限らない。 基本色(赤、黄、青、、、など)からアルファ値や彩度、明度を機械的に算出して全カラーパレットを作成。機械的に出した色に微妙なものがあった場合は微調整する Primitive colors の例 red.10

                                                                  Tokens Studio(Figma Tokens) で小さくはじめるデザインシステム
                                                                • JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話

                                                                  Ruby on Rails を用いたシステム上で入力フォームを実現する際、Rails が提供しているフォームヘルパーを利用した実装や、React や Vue によるコンポーネントの自前での実装が一般的に行われます。 ここで、職業で学生を選択した場合は学校名と学年、会社員を選択した場合は役職と年収を入力する...といった、条件分岐が大量に生まれる入力フォームを想像しましょう。 一般的な実装手法では、あるフォームの入力値が他のフォームに影響を与えるような、複雑で動的な入力フォームの実現をするために、大量の if 文を書く必要があります。 また、ユーザから送信された入力値の正しさをバリデーションするために、バックエンド側に同様の if 文を大量に書く必要が出てきます。 そこで私は、複雑な仕様の入力フォームの実装のための JSON Schema 活用方法および事例について紹介します。入力フォームの

                                                                    JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話
                                                                  • 大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub

                                                                    こんにちは、freee会計でワークフロー機能の開発をしている @mitubaEX です。 先日 freee会計のパフォーマンスチューニングに取り組みました。本記事では、調査の流れ、改善の事例を紹介します。 問題発覚までの流れ freee では自社の経理業務に freee会計を利用しており、その中でも経費精算の機能はほぼすべての従業員が利用しています。そのため日々多くのフィードバックをもらえます。そのフィードバックの1つで、「経費精算の一覧を開くのが遅い」という報告をもらいました。幸い表示件数を指定できるので調整すれば遅くはならないのですが、一覧性が下がってしまうため有用な解決策ではありません。 そこでワークフローを開発しているチームで、このパフォーマンスイシューの調査を始めました。 調査する まず事前調査として Datadog*1 で一覧画面を表示するリクエストの処理を確認しました。 一覧

                                                                      大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub
                                                                    • GitHubに大量の悪質リポジトリ、その数“10万超” 感染するとパスワード流出の恐れ

                                                                      GitHubでマルウェアを仕込んだリポジトリを本物に見せかけて拡散させる手口が横行し、10万を超す感染リポジトリが見つかっているとしてサイバーセキュリティ企業が注意を呼びかけている。攻撃は今も続いており、何も知らない開発者がこうしたリポジトリを使えば、マルウェアに感染してパスワードなどの情報が流出する恐れがある。 サプライチェーンのセキュリティ対策を手掛ける米Apiiroによると、GitHubのリポジトリを狙う「リポコンフュージョン(取り違え)攻撃」は2023年11月ごろから激化したという。 攻撃者は、開発者をだまして悪質なコードやファイルをダウンロードさせる目的で、正規のリポジトリのクローンを作成。そこにマルウェアを呼び出すコードを仕込み、同一の名称でGitHubにアップロードする。次に自動化の仕組みを使ってそれぞれを何千回もフォークさせ、Web上のフォーラムなどで宣伝しているという。

                                                                        GitHubに大量の悪質リポジトリ、その数“10万超” 感染するとパスワード流出の恐れ
                                                                      • GoはいつGCするのか?

                                                                        TL;DR Go(のランタイム)は以下のタイミングで自動的にGCを実行する 前回のGC後に占有していたメモリと同量を新たに確保したとき 前回のGCから2分後 cgroupなどでメモリ制限しているときは、メモリ使用量が制限の50%以上になったらruntime.GC()を呼び手動でGCすべきである 前置き: GoとOOMのこれまで 以下はGo 1.16での調査結果です。Goのバージョンが異なった場合は事情が異なる可能性があります。 Goでプログラムを書く際に、使用メモリ量を気にしなければならないシーンはGCのおかげでそう多くはありません。実際それは間違いではないのですが、運用まで視野に入れるとそうは言ってられないことがあるのもまた現実です。昨今はコンテナの利用が当たり前になったことに伴い、OOMによりプロセスが強制的に終了させられることもあり、それを避けるために一定量以下のメモリで動くことが重

                                                                          GoはいつGCするのか?
                                                                        • WebアニメーションはLottieがオススメ!基本の使い方完全ガイド【2020年版】

                                                                          最近のウェブサイト制作では、アニメーションがますます重要になってきています。 この記事は、Lottieの使い方をまとめた基本ガイドです。Lottieの魅力はもちろん、After EffectsへのAiファイルの読み込みやアニメーション作成、プラグインを利用したJSONファイルの書き出し、Webサイトでのアニメーション表示まで一連の流れをまとめています。 Lottieを利用すれば、手軽にそして軽量に動画を貼り付けることができるので、これまでアニメーションを試したことのないひとにもオススメです。 コンテンツ目次 1. Lottie(ロッティー)って何? 2. Lottieを利用するメリットは? 3. Lottieアニメーション作成手順ガイド 4. After EffectsへのAiファイルの読み込み 5. After Effectsでアニメーション作成 6. Lottie JSONファイルでア

                                                                            WebアニメーションはLottieがオススメ!基本の使い方完全ガイド【2020年版】
                                                                          • [アップデート]LambdaがHTTPSエンドポイントから実行可能になる、AWS Lambda Function URLsの機能が追加されました! | DevelopersIO

                                                                            [アップデート]LambdaがHTTPSエンドポイントから実行可能になる、AWS Lambda Function URLsの機能が追加されました! LambdaにHTTPSエンドポイントを追加して、Webフックみたいな使い方をすることができるようになる便利なアップデートです! Lambdaを使ったWebフックが作りやすくなって、かんたんに設定できるのでぜひお試しを! Lambdaに便利なアップデートが来ました! LambdaにHTTPSエンドポイントを追加して、Webフックみたいな使い方をすることができるようになるアップデートです! AWS Lambda Function URLs: built-in HTTPS endpoints for your Lambda functions これで、ちょっとLambdaをHTTPS経由で実行したいなー。なんて時に、API Gatewayを使わずに

                                                                              [アップデート]LambdaがHTTPSエンドポイントから実行可能になる、AWS Lambda Function URLsの機能が追加されました! | DevelopersIO
                                                                            • サーバーレスアーキテクチャで翻訳 Web API を構築するハンズオンをやってみた | DevelopersIO

                                                                              サーバーレスアーキテクチャを基礎から復習したかったです。手を動かしたい派なので初心者向けのハンズオンをやってみました。なにを復習したら良いのかはやってみてから考えることにしました。 以下の構成を手を動かして作ります。 画像引用: ハンズオンのアンケート回答後にダウンロードできる資料より やってみた感想 2019年に収録されたハンズオン動画のため一部マネージメントコンソールのUIに変更は見られるものの構築する上では支障はありませんでした(2021年11月現在) API Gateway プロキシ統合のLambda(Python)と、SDKを使い他のAWSサービスの呼び出しを試せる 以下のサービスの連携を簡単に体験したい初心者にオススメ API Gateway Lambda Translate DyanamoDB ハンズオンを完走するまでの所要時間は約1時間30分でした ハンズオン記事のリンク

                                                                                サーバーレスアーキテクチャで翻訳 Web API を構築するハンズオンをやってみた | DevelopersIO
                                                                              • 【保存版】Webフロントエンド基礎力(初心者向け) - Qiita

                                                                                ブラウザで動くWebページのプログラミング実装をフロントエンドと呼びます。 最近はJSON色つけ係と呼ばれてたりしますが、 Web開発未経験・初心者向けに最低限知っておいたほうが良い基礎知識とテクニックに関して体系的にまとめておきます。 (CodePenによる動作例付き) 環境構築に関しては(兎に角)早くプロトタイプを作る技術(初心者向け)を参考にしてください。 HTML、CSS、JavaScriptはブラウザ自体の実装に依存します。 この記事では比較的汎用的に使える書き方やHTML、CSS、JSを記載したつもりですが 最新のJavaScript APIやCSS3の機能によってはブラウザによってサポートされていない機能もあります。(特にIE) 各機能に関してはCan I useで現在のブラウザの対応状況を確認することができます。 HTML HTML(Hyper Text Markup La

                                                                                  【保存版】Webフロントエンド基礎力(初心者向け) - Qiita
                                                                                • 構造化ログのフォーマット logfmt vs JSON lines - methaneのブログ

                                                                                  構造化ログのプラクティスをあちこちで調べていたら、logfmtを推奨する記事を見つけたので調べてみました。 先に結論を言うと、JSON linesを使っておくのが良さそうです。 logfmt について logfmtとはスペース区切りで key=value を並べたフォーマットです。文字列にはクォートとエスケープによってスペースや改行を含められます。 at=info method=GET path=/ host=mutelight.org fwd="124.133.52.161" dyno=web.2 connect=4ms service=8ms status=200 bytes=1653 (logfmt から引用) あちこちで logfmt のリファレンスとして紹介されているのはこの記事です。 https://brandur.org/logfmt 発明されたのはどこか分かりませんが、流行

                                                                                    構造化ログのフォーマット logfmt vs JSON lines - methaneのブログ

                                                                                  新着記事