並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 103件

新着順 人気順

try catch json parse javascriptの検索結果1 - 40 件 / 103件

  • 【令和最新版】令和のWebスクレイピング(クロール)【ベストプラクティス】

    こんにちは、株式会社FP16で結構コードを書いている二宮です。 最近Webスクレイピングのコードを色々な方法で書いているので、そこで得た知見をここに残しておこうと思います。 ほぼ毎日なにかのWebスクレイピングコードを書いています。 Webスクレイピング手段 Webスクレイピングには色々な方法があります。 私が最近主に使っているのはこの5つの手段です。 cheerioでHTMLを解析 Playwrightなどで要素指定でデータを取得する APIを見つけて叩く(バックエンドとの通信を再現してデータを取得) LLMでサイト構造を解析してデータを取得する Next.jsからのレスポンスに含まれているデータを解析して取得する これが令和のWebスクレイピングのベストプラクティスだと思っています。 これらの方法を、目標に合わせて使い分けています。 使い分け方 CheerioでHTML解析 JavaS

      【令和最新版】令和のWebスクレイピング(クロール)【ベストプラクティス】
    • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

      はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

        【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
      • JavaScriptのES2023・ES2022の新機能まとめ - ICS MEDIA

        JavaScriptの仕様であるECMAScriptはEcma Internationalによって定められています。ECMAScript 2015(ES6)の登場以降は、ECMAScript 2016、ECMAScript 2017・・・と、年次で仕様が更新されています。ECMAScript 2022(ES2022)は2022年6月22日のEcma InternationalのGA 123rd meetingにて、ECMAScript 2023(ES2023)は2023年6月27日のGA 125th meetingで承認されました。 ES2022とES2023はすでに多くのブラウザやNode.js環境で利用可能です。本記事では新仕様と使いどころを紹介します。 ES2023 - 配列の非破壊操作 ES2023では配列を非破壊で操作できるメソッドが追加されています。非破壊とは、元の配列を変更せ

          JavaScriptのES2023・ES2022の新機能まとめ - ICS MEDIA
        • TypeScript の「型安全」を担保するために知っておきたかったこと - OITA: Oika's Information Technological Activities

          タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 アドベントカレンダー1日目の記事になります。 よろしくお願いします。 3行で TypeScript で安全に型を扱う勘所は以下2点だと思いました。 最初から最後まで型が壊れていないことを保証する 型が壊れる可能性があるものは壊れている前提で扱う 個人的背景と前提 もともと C# での開発をメインとしていました。 Web開発は、JavaScript歴 ≒ TypeScript歴くらいの型付依存者です。 そのため、型付けのゆるい言語に対する耐性がなく、本内容もそういうポジションからの見解になります。 本記事内のサンプルコードは TypeScript V4.4 で挙動を確認しています。 最近のバージョンで変更のあった点は脚注を入れています。 最初から最後まで型を壊さない C# という静的型付け言語

            TypeScript の「型安全」を担保するために知っておきたかったこと - OITA: Oika's Information Technological Activities
          • ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ

            newmo では、地図データや地理情報を扱う場面が多くあります。 たとえば、タクシーやライドシェアでは、営業区域のような営業していいエリアといった地理的な定義があります。 また、乗り入れ禁止区域のようなタクシーが乗り入れてはいけないエリアといった定義も必要になります。 これらの地理に関する定義は GeoJSON のような地理情報を扱うデータ形式で管理されることが多いです。 しかし、GeoJSONなどの定義をテキストとして手書きするのは困難です。 そのため、地図上に区域を作図するエディタやその定義した区域が正しいかをチェックするような管理ツールが必要です。 管理ツールは、ウェブアプリケーションとして作った方が利用できる環境が広がります。 このような地理情報は一度に扱うデータが多かったり、空間的な計算処理が必要になるため、専用の仕組みを使うことが多いです。 このような技術を、地理情報システム(

              ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ
            • ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog

              目次 はじめに Colocation を意識した設計方針 Parallel Routes と Intercepting Routes を用いた設計パターン サーバー側に処理を寄せたことによる恩恵と課題 Next.js が抱える課題 おわりに 参考文献 はじめに ジャンプTOON のWeb版(以降、ジャンプTOON Web)の開発を担当している浅原昌大(@assa1605)です。 5 月にサービスを開始した「ジャンプTOON」は、オリジナル縦読みマンガ作品や人気作品のタテカラー版を連載する、ジャンプグループ発の新サービスです。 ジャンプTOON のフロントエンドには、Next.js を採用し開発をしています。 本記事では、Next.js の最新機能や設計パターン、Next.js を採用した恩恵と現在の課題について紹介します。 Colocation を意識した設計方針 Parallel Rou

                ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog
              • エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS

                Effect-TS(正式名称は Effect)は、開発者が複雑なエラーや非同期処理をより安全に開発できるようにすることを目的とした TypeScript ライブラリです。Effect System という概念を取り入れており、Scala や Haskell といった関数型プログラミング言語に影響を受けています。 TypeScript の型システムを活用して、本番のアプリケーションにおける実用的な問題を解決することを目指しています。Effect-TS は、以下のような特徴を備えています。 並行性(concurrency):Fiber ベースの並行モデルにより、高いスケーラビリティと低レイテンシを実現 コンポーザビリティ(composability):小さく再利用可能なパーツを組み合わせることで、メンテナンス性、可読性、柔軟性の高いソフトウェアを構築する リソースの安全な管理(resource

                  エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS
                • CircleCI や GitHub Actions の cron を祝日だけ停止させたい

                  先日の ua-parse-js のハイジャックの件 を受けて、業務の中で毎日動かしている On-premise Renovate の cron を土日祝に停止させたいという話が上がった。 業務の合間に書く時間がちょっと捻出できそうになかったこと、加えて汎用的なコードということもあり、プライベートでも使えそうだったので一般化した範囲でコードを書いてしまって、業務で社内用に調整する形で決着させたので、せっかくなので共有しておく。 社内が基本的に CircleCI なので特化したものと、一般的に使えるものでバリエーションごとに2つのパターンを用意した。 祝日に停止させるアプローチ ひとまず今回は内製の Bot の運用のため、以下のような特徴があった。 土日の設定自体は cron で曜日指定ができるため祝日にフォーカスして良い 厳密性を重視しない ミッションクリティカルな領域の話ではない 以上を考

                    CircleCI や GitHub Actions の cron を祝日だけ停止させたい
                  • REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js

                    By Jean-Marc Möckel I've created and consumed many API's over the past few years. During that time, I've come across good and bad practices and have experienced nasty situations when consuming and building API's. But there also have been great moments. There are helpful articles online which present many best practices, but many of them lack some practicality in my opinion. Knowing the theory with

                      REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js
                    • Modern Node.js Patterns for 2025

                      Node.js has undergone a remarkable transformation since its early days. If you’ve been writing Node.js for several years, you’ve likely witnessed this evolution firsthand—from the callback-heavy, CommonJS-dominated landscape to today’s clean, standards-based development experience. The changes aren’t just cosmetic; they represent a fundamental shift in how we approach server-side JavaScript develo

                      • The Prompt Engineering Playbook for Programmers

                        Developers are increasingly relying on AI coding assistants to accelerate our daily workflows. These tools can autocomplete functions, suggest bug fixes, and even generate entire modules or MVPs. Yet, as many of us have learned, the quality of the AI’s output depends largely on the quality of the prompt you provide. In other words, prompt engineering has become an essential skill. A poorly phrased

                          The Prompt Engineering Playbook for Programmers
                        • Announcing TypeScript 6.0 - TypeScript

                          Today we are excited to announce the availability of TypeScript 6.0! If you are not familiar with TypeScript, it’s a language that builds on JavaScript by adding syntax for types, which enables type-checking to catch errors, and provide rich editor tooling. You can learn more about TypeScript and how to get started on the TypeScript website. But if you’re already familiar with the language, you ca

                            Announcing TypeScript 6.0 - TypeScript
                          • JavaScriptの基礎と向き合う - iimon TECH BLOG

                            よろしくお願いします!エンジニアのideです。 こちらはアドベントカレンダー23日目の記事になります! 今年は体のあちこちに痛みを感じることが多かったので、来年こそは健康に過ごせる一年になるといいなと願っています。 さて、今回は今年やってきたことを振り返るのもいい機会だなと思い、特に触れる機会が多かったJavaScriptについてまとめてみることにしました。 結果的に基本的な内容が中心となりましたが、改めて理解を深める良いきっかけになったので、これはこれでよしとしています! それではよろしくお願いいたします! [目次] テンプレート文字列 スプレッド構文 分割代入 プロパティ名の短縮記法 オプショナルチェーン nullish(??)とfalsy(||)チェック ディープコピー アロー関数 Promise async/await forEachの中でasync/awaitが効かない おわりに

                              JavaScriptの基礎と向き合う - iimon TECH BLOG
                            • neue cc - .NET 6とAngleSharpによるC#でのスクレイピング技法

                              C# Advent Calendar 2021の参加記事となっています。去年は2個エントリーしたあげく、1個すっぽかした(!)という有様だったので、今年は反省してちゃんと書きます。 スクレイピングに関しては10年前にC#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法という記事でSGMLReaderを使ったやり方を紹介していたのですが、10年前ですよ、10年前!さすがにもう古臭くて、現在ではもっとずっと効率的に簡単にできるようになってます。 今回メインで使うのはAngleSharpというライブラリです。AngleSharp自体は2015年ぐらいからもう既に定番ライブラリとして、日本でも紹介記事が幾つかあります。が、いまいち踏み込んで書かれているものがない気がするので、今回はもう少しがっつりと紹介していきたいと思っています。それと直近Visual

                              • Announcing TypeScript Native Previews - TypeScript

                                This past March we unveiled our efforts to port the TypeScript compiler and toolset to native code. This port has achieved a 10x speed-up on most projects – not just by using a natively-compiled language (Go), but also through using shared memory parallelism and concurrency where we can benefit. Since then, we have made several strides towards running on large complex real-world projects. Today, w

                                  Announcing TypeScript Native Previews - TypeScript
                                • 限界を極めた内定者が語る! Web Speed Hackathon 2022 戦略と秘訣 | CyberAgent Developers Blog

                                  本記事は CyberAgent Developers Advent Calendar 2022  21 日目の記事です。 2023 年度入社予定の加藤 零(@cut0_) です。現在は株式会社 WinTicket で内定者アルバイトをしています。Web Speed Hackathon 2022 Public では 499.1 点を記録しました。 お疲れさまでした! 届かなかった残り 0.9 点を噛み締めて社会人エンジニアを迎えようと思います。 CDN 使わずに Heroku 単体でもここまで戦えます!!https://t.co/ikVmhml6iq #WebSpeedHackathon — レイ (@cut0_) November 27, 2022 本記事では、Web Speed Hackthon 2022 Public で取り組んだことに加え、これから Web Speed Hacktah

                                    限界を極めた内定者が語る! Web Speed Hackathon 2022 戦略と秘訣 | CyberAgent Developers Blog
                                  • バクラク勤怠におけるSlack連携のアーキテクチャ - LayerX エンジニアブログ

                                    バクラク事業部エンジニアの id:itkq です。ラブライブ!全国決勝大会プレーオフが迫り、緊張感が続く日々を送っています。 最近私はバクラク勤怠のSlack連携関連機能を開発しています。この記事では、Slack連携のアーキテクチャについて紹介します。 バクラク勤怠とは バクラク事業部では、これまでバクラク請求書受取をはじめとするBSM (Business Spend Management / 法人支出管理) 領域のサービスを複数リリースしてきました。お客様のお話を伺うなかで、勤怠サービスへの期待の声を多く頂いたことをきっかけに、開発することが決まりました。 comemo.nikkei.com これまでのバクラクシリーズ同様、従業員・管理者両方の体験についてこだわり抜いた勤怠サービスを目指しています。 Slack連携 バクラク勤怠の特徴として、Slack連携が挙げられます。Slack経由で

                                      バクラク勤怠におけるSlack連携のアーキテクチャ - LayerX エンジニアブログ
                                    • JavaScript Best Practices | The WebStorm Blog

                                      IDEs CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Junie JetBrains for Data Kineto Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana CodeCanvas Matter .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frame

                                        JavaScript Best Practices | The WebStorm Blog
                                      • サーバーレスでスケールするメール送信システムをAWS CDKで構築する - 365歩のテック

                                        概要 タイトル通りですが、AWSでサーバーレスなメール送信システムを、AWS CDKを使って構築してみました。 サーバーレスなので、スケールする良い感じの構成になります。 荒いところもありますが結構便利なのでよかったらぜひご参考に、またはそのまま使ってくださいという感じで読んでいただけたら光栄です。 Amazon SESを使用してメールを送信していますが、(少し変えれば)SES以外でも送信できるかと思います。 目次 目次 概要 目次 まとめ(AWS Dev Day 2022 Japan) 要件 前提 アーキテクチャ 構成図 使用AWSサービス コード アーキテクチャ解説と補足 AWS CDK aws_lambda_nodejs パラメータ用コンフィグファイル バリデーション Amazon SES SQS 標準キュー 可視性タイムアウト ロングポーリング 部分バッチ応答 S3 DynamoD

                                          サーバーレスでスケールするメール送信システムをAWS CDKで構築する - 365歩のテック
                                        • オープンソースのnpmパッケージ「node-ipc」にロシア在住の開発者を標的にした悪意のあるコードがメンテナーによって追加される

                                          オープンソースで開発される、ウェブアプリのUI構築用JavaScriptフレームワーク「Vue.js」のコードに、ロシアとベラルーシに在住する開発者を標的とした悪意のあるコードが追加されたと、開発者向けセキュリティプラットフォームのSnykが発表しました。メンテナーの1人がロシアのウクライナ侵攻に対する抗議行為として、問題のコードを追加したことがわかっています。 Alert: peacenotwar module sabotages npm developers in the node-ipc package to protest the invasion of Ukraine | Snyk https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/ Sabotage: Code added

                                            オープンソースのnpmパッケージ「node-ipc」にロシア在住の開発者を標的にした悪意のあるコードがメンテナーによって追加される
                                          • How modern browsers work

                                            Note: For those eager to dive deep into how browsers work, an excellent resource is Browser Engineering by Pavel Panchekha and Chris Harrelson (available at browser.engineering). Please do check it out. This article is an overview of how browsers work. Web developers often treat the browser as a black box that magically transforms HTML, CSS, and JavaScript into interactive web applications. In tru

                                              How modern browsers work
                                            • TypeScript's Migration to Modules - TypeScript

                                              One of the most impactful things we’ve worked on in TypeScript 5.0 isn’t a feature, a bug fix, or a data structure optimization. Instead, it’s an infrastructure change. In TypeScript 5.0, we restructured our entire codebase to use ECMAScript modules, and switched to a newer emit target. What to Know Now, before we dive in, we want to set expectations. It’s good to know what this does and doesn’t m

                                                TypeScript's Migration to Modules - TypeScript
                                              • PMに「Hono書いて」と言われたのでCloudflareでAIチャットボットを作ってみた - iimon TECH BLOG

                                                ◼️ はじめに ◼️ Honoとは ◼️ Cloudflareとは ◼️ 今回作成するアプリのアーキテクチャに関して 各サービスの役割 ◼️ プロジェクト作成 Honoを使用するためのプロジェクト作成 各リソースを作成 型定義のインストール D1テーブル作成 ◼️ 実装 Bindings型定義 アクティビティ登録APIを作成 テストデータ登録 チャットAPI作成 セッション初期化 メッセージ送信 チャットUI ◼️ 動作確認 今後の改善箇所 ◼️ まとめ ■最後に ◼️ 参考 ◼️ はじめに 株式会社iimonでエンジニアをしている「あめちゃん」です! 本記事はiimon Advent Calendar 2025の15日目の記事となります! 12月は社内のエンジニアでアドベントカレンダーに記事を投稿するという一大イベントが発生してる最中です。 僕も何か良い題材がないかなぁと色々考えていまし

                                                  PMに「Hono書いて」と言われたのでCloudflareでAIチャットボットを作ってみた - iimon TECH BLOG
                                                • Streaming JSON in just 200 lines of JavaScript

                                                  I was continueing my exploration of React server components when I stumbled upon on this article about progressive JSON. Dan Abramov describes a technique for streaming JSON from a server to a client in chunks, allowing the client to start rendering parts of the data before the entire payload has been received. This can significantly improve perceived performance, especially for large datasets. So

                                                    Streaming JSON in just 200 lines of JavaScript
                                                  • Branded Typeから小さく始める型安全なエラーハンドリング - カミナシ エンジニアブログ

                                                    はじめに TypeScriptで開発していると、エラーハンドリングの難しさに直面することがあります。 定番のResult型やEither型などの素晴らしいアプローチもありますが、これらは導入コストが高く、チーム全体に浸透させるのが難しいこともあるでしょう。 本記事では、小さく始められてチームに浸透させやすい、Branded Typeを使って型安全なエラーハンドリングを実現する方法を紹介します。 自己紹介 カミナシ StatHackカンパニーの かわりくです! 普段は食品表示ラベルをAIで検査するプロダクトを開発しています! kaminashi.jp note.kaminashi.jp TypeScriptの例外処理の問題点 1. catchブロックのerrorはunknown型になる const invalidJson = '{"name": "John",}'; try { const

                                                      Branded Typeから小さく始める型安全なエラーハンドリング - カミナシ エンジニアブログ
                                                    • Announcing TypeScript 5.1 - TypeScript

                                                      Today we’re excited to announce the release of TypeScript 5.1! If you’re not yet familiar with TypeScript, it’s a language that builds on JavaScript by adding constructs called types. These types can describe some details about our program, and can be checked by TypeScript before they’re compiled away in order to catch possible typos, logic bugs and more. TypeScript also uses these types to provid

                                                        Announcing TypeScript 5.1 - TypeScript
                                                      • Valibot Schema Driven UI - ユーザーがノーコードで自由に UI を組み立てられるエディタを Next.js と Valibot で構築する - ROUTE06 Tech Blog

                                                        近年 Bubble や Webflow、日本だと STUDIO などのノーコードプラットフォームが注目を集めています。これらのツールは、プログラミングの知識がなくてもユーザーが思い思いの UI を構築できる機能を提供し、アプリケーション開発の民主化に貢献しています。 このようなノーコードでユーザーが自由に UI を組み立てる仕組みはどのように構築されているのでしょうか。一見複雑に見えますが、基本的な考え方を理解すれば独自のエディタを構築することも不可能ではありません。アーキテクチャの中核となるのは、動的な UI コンポーネントを表現するスキーマ定義と、それを実際の UI 要素に変換する仕組みです。この過程では、データのバリデーション、データ型の絞り込みと UI コンポーネントの動的生成、そしてそれらの適切な配置が重要な役割を果たします。 本記事では、ユーザーがブラウザ上で UI を自由に構

                                                          Valibot Schema Driven UI - ユーザーがノーコードで自由に UI を組み立てられるエディタを Next.js と Valibot で構築する - ROUTE06 Tech Blog
                                                        • 悪名高きスクロール妨害広告を解析する - Qiita

                                                          <!-- Generated by まとめくす (https://2mtmex.com/) --> <div class="article_mid_v2"> <div id="article_mid_v2"> <script type="text/javascript"> (function(){ var ua = window.navigator.userAgent; var android_reg = /android/i; var android_rand = Math.floor(Math.random() * (100)) + 1; var ios_rand = Math.floor(Math.random() * (115)) + 1; if (ua.match(android_reg)) { if (100 >= android_rand) { var elements =

                                                            悪名高きスクロール妨害広告を解析する - Qiita
                                                          • How Turborepo is porting from Go to Rust - Vercel – Vercel

                                                            Our strategy for making updates and maintaining stability while we migrate languages. In a previous blog post, we talked about why we are porting Turborepo, the high-performance build system for JavaScript and TypeScript, from Go to Rust. Now, let's talk about how. Today, our porting effort is in full swing, moving more and more code to Rust. But when we were starting out, we had to make sure that

                                                              How Turborepo is porting from Go to Rust - Vercel – Vercel
                                                            • Prototyping in Rust | corrode Rust Consulting

                                                              Programming is an iterative process. As much as we would like to come up with the perfect solution from the start, it rarely works that way. Good programs often begin as quick prototypes. While many experiments remain prototypes, the best programs can evolve into production code. Whether you’re writing games, CLI tools, or designing library APIs, prototyping helps tremendously in finding the best

                                                                Prototyping in Rust | corrode Rust Consulting
                                                              • DuckDB-Wasm: Efficient Analytical SQL in the Browser

                                                                TL;DR: DuckDB-Wasm is an in-process analytical SQL database for the browser. It is powered by WebAssembly, speaks Arrow fluently, reads Parquet, CSV and JSON files backed by Filesystem APIs or HTTP requests and has been tested with Chrome, Firefox, Safari and Node.js. You can try it in your browser at shell.duckdb.org or on Observable. DuckDB-Wasm is fast! If you're here for performance numbers, h

                                                                  DuckDB-Wasm: Efficient Analytical SQL in the Browser
                                                                • Announcing TypeScript 4.8 - TypeScript

                                                                  Today we’re excited to announce the release of TypeScript 4.8! If you’re not yet familiar with TypeScript, it’s a language that builds on JavaScript and adds syntax for types. These types let you put your expectations and assumptions into your code, and those assumptions can then be checked by the TypeScript type-checker. This checking can help avoid typos, calling uninitialized values, mixing up

                                                                    Announcing TypeScript 4.8 - TypeScript
                                                                  • Announcing TypeScript 6.0 Beta - TypeScript

                                                                    Today we are announcing the beta release of TypeScript 6.0! To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta TypeScript 6.0 is a unique release in that we intend for it to be the last release based on the current JavaScript codebase. As announced last year (with recent updates here), we are working on a new codebase for the TypeSc

                                                                      Announcing TypeScript 6.0 Beta - TypeScript
                                                                    • Announcing TypeScript 5.7 - TypeScript

                                                                      Today we excited to announce the availability of TypeScript 5.7! If you’re not familiar with TypeScript, it’s a language that builds on JavaScript by adding syntax for type declarations and annotations. This syntax can be used by the TypeScript compiler to type-check our code, and it can also be erased to emit clean, idiomatic JavaScript code. Type-checking is helpful because it can catch bugs in

                                                                        Announcing TypeScript 5.7 - TypeScript
                                                                      • All JavaScript and TypeScript Features of the last 3 years

                                                                        TypeScript as envisioned by Stable DiffusionThis article goes through almost all of the changes of the last 3 years (and some from earlier) in JavaScript / ECMAScript and TypeScript . Not all of the following features will be relevant to you or even practical, but they should instead serve to show what’s possible and to deepen your understanding of these languages. There are a lot of TypeScript fe

                                                                          All JavaScript and TypeScript Features of the last 3 years
                                                                        • React NativeとExpoを活用したネイティブビルド不要のE2Eテストの導入 - Hello Tech

                                                                          はじめに はじめまして、株式会社ハローで業務委託として開発をしている@0906kokiです。 今回の記事では、React Nativeで開発されているRespo by AutoReserveで、Expoを最大限に活かしたE2Eテストの導入実装について書きたいと思います。 背景 飲食店向けにセルフオーダーや予約台帳の機能を提供するRespo by AutoReserveは、React Nativeで開発されております。 今回、RespoにE2Eを導入した目的に関しては、以下のような点が挙げられます。 手動テストの場合、テストをスキップ or 見逃していたケースがあったので、毎回網羅的にテストできるようにし、QAの質を上げたい 頻繁に本番デプロイできるようにする コミットごとにテストできるようにすることで、QAを待たず事前にデグレを検知できる (今後) ライブラリのアップデートなど、全てのテス

                                                                            React NativeとExpoを活用したネイティブビルド不要のE2Eテストの導入 - Hello Tech
                                                                          • @seo:A comprehensive guide to error handling In Node.js

                                                                            A comprehensive guide to error handling In Node.js By Ayooluwa Isaiah on Nov 1, 2021 If you've been writing anything more than "Hello world" programs, you are probably familiar with the concept of errors in programming. They are mistakes in your code, often referred to as "bugs", that cause a program to fail or behave unexpectedly. Unlike some languages, such as Go and Rust, where you are forced t

                                                                              @seo:A comprehensive guide to error handling In Node.js
                                                                            • Server Functions っぽい仕組みを自作して Lambda 関数呼び出しに適用してみた - エムスリーテックブログ

                                                                              デジスマチームの池奥です。 新卒2年目のソフトウェアエンジニアです! 先週、人生で初めて外部モニターを買いました。快適な作業環境を手に入れたと思ったのですが、モニターのある環境に慣れておらずすっかり持て余しています。今のところ YouTube ビュワーとして活躍しています。 このブログは、デジスマチームブログリレーの 1 日目の記事です 🎉 イントロ 普段、私はNode.jsでバックエンドを実装することが多いのですが、一部の処理を AWS Lambda のような別の実行環境に切り出したい、というシーンに時々遭遇します。このような場合、Lambda の実装は別のパッケージに置き、元のサーバーからはSDK経由で呼び出す形にすることが多いと思います。 しかし、皆さんは「もし、Lambda関数を普通の関数のように呼び出せたら」と思ったことはありませんか? 別のパッケージに実装を置いてしまうと、呼

                                                                                Server Functions っぽい仕組みを自作して Lambda 関数呼び出しに適用してみた - エムスリーテックブログ
                                                                              • ZodでJSONのオブジェクトを実行時に都合の良い型に変換する | フューチャー技術ブログ

                                                                                いろんなJavaScriptの統計を見ると、今時のウェブフロントエンドの新規開発は80%はTypeScriptになっているということです。また、TypeScript自身を使わなくても、TypeScriptで培われた型推論のパワーで、JavaScriptであってもVSCode上で補完とか思いの外うまくいったりしちゃうので、TypeScriptフレンドリーというのはますます重要になっています。 ですが、TypeScriptが有効なのはコンパイル前とか実装中であり、実行時に流れてくるJSONが果たしてきちんとした型通りの定義なのかはTypeScriptの範疇外です。そこでZodとかのバリデーションを行ってくれるライブラリが使われます。Zodを使えばJSONが規定通りの構造をしているか確認した上で、TypeScriptの型を持った変数に安全に代入してくれます。 ですが、JSONというのはネットワー

                                                                                  ZodでJSONのオブジェクトを実行時に都合の良い型に変換する | フューチャー技術ブログ
                                                                                • MCP AppsでMIDIの譜面をリアルタイムに可視化する

                                                                                  桜も散ってしまい、センチメンタルな曲が聞きたくなりました。 #Table of Contents 忙しい人向け はじめに MCP Appsとは 従来のMCPツールとの違い なぜWebアプリではなくMCP Appsなのか MCP Appsのアーキテクチャとライフサイクル 全体の流れ UIリソースの事前読み込み プログレッシブレンダリング Appクラスのフックでライフサイクルを管理する ontoolresult ontoolcancelledとonteardown onhostcontextchanged フック登録とconnect() Viewからの双方向通信 callServerTool readServerResource sendMessage downloadFileとrequestDisplayMode ツール結果のデータ経路とVisibility content, structu

                                                                                    MCP AppsでMIDIの譜面をリアルタイムに可視化する