タグ

nodejsに関するsugyanのブックマーク (325)

  • Expressに22個以上の要素の配列クエリを渡すときは気をつける - すぎゃーんメモ

    自作ライブラリを使ったBlueskyクライアントを実装していて遭遇したバグ。 ATriumからのfeed.getPostsでurisが21個までなら大丈夫だが22個以上だとエラーになることが発覚した。問題切り分け中… ここまで自作クライアント実装してようやく気付く問題があるんだから やっぱりドッグフーディング大事やな、、— すぎゃーん (@sugyan.com) Apr 21, 2024 at 10:21 AM 問題の詳細と対応は以下の通り。 `app.bsky.feed.getPosts` fails with more than a certain number of arguments `uris` · Issue #160 · sugyan/atrium · GitHub feat: Replace serde_qs to serde_html_form by sugyan · P

    Expressに22個以上の要素の配列クエリを渡すときは気をつける - すぎゃーんメモ
    sugyan
    sugyan 2024/04/22
    書いた
  • Ubie は Go と Node.js の会社になります

    Ubie では、創業当初から Server-Side Kotlin を推進してきましたが、全社的な技術選定を再度行い、これからは Go と Node.js を中心とすることにしました。 記事では、Go と Node.js を選定した理由や、それを普及させる取り組み、そして選定の流れを紹介します。 経緯 これまで Ubie では技術スタックを発散させてきていて、現在は KotlinGo、Node.js、RubyPython のバックエンドサービスが動いています。以前は新規開発が多く、それぞれに携わるメンバーが技術選定をすることにより、最大瞬間風速を出せるなどのメリットがありました。しかし、現在では弊害が目立ってきています。 まず、事業成長に伴って運用の重要性が増しています。人材が潤沢とは言えないスタートアップにおいて、様々な技術スタックを安定運用することはコストが高すぎると感じています

    Ubie は Go と Node.js の会社になります
  • Node.js fetch の内部の話 - from scratch

    前置き この記事は リクルートエンジニアアドベントカレンダーの3日目の記事です。 Recruit Engineers Advent Calendar 2022 - Adventar ちなみにココで書いたやつを一部抜粋させていただいております(ネタ切れにより過去投稿を利用してしまっております。。。すいません。。。) www.codegrid.net fetch が Node v18 から試験的にサポートされた ブラウザでは数年前から採用されていた HTTP リクエストを行う関数の fetch が global 空間に関数として作成されました。使うだけなら特に何のフラグもいりません、その代わり使うと Experimental であることを知らせる Warnings が出ます。 // fetch.mjs const response = await fetch('https://api.gith

    Node.js fetch の内部の話 - from scratch
  • Node.js の原罪 - from scratch

    Intro ちょうどタコピーの原罪が流行ってるのでこのタイトルにしたけど結構気に入ってる。 d.potato4d.me この話を読んでの感想とここまで大きくなった Node.js の振り返りをしようと思う。 どんなプログラミング言語であってもみんなから使ってもらって開発者をハッピーにしたいと思ってる。ただ最初は良かったと思ってた機能がなんか古臭くなったり、他にクールな機能を持ったものが登場したことによって徐々に飽きられていき、最終的に他の言語に乗り換えられる。 まぁどんな言語も同じだと思う。C言語だって生まれた当初はすごくクールでみんなをハッピーにしてた。今丁度「戦うプログラマー」を読んでるが、C++が出てきて、周りのエンジニアC++ を使おうとするシーンが出てくる。そこで、「あんなの使って何が良いんだ、Cで十分だろ」とWindows NT 開発リーダーのデーブカトラーが言ってたりする

    Node.js の原罪 - from scratch
  • Rust + Node-APIでクロスプラットフォーム向けnpmパッケージを公開する - 別にしんどくないブログ

    この記事は Node.jsのカレンダー | Advent Calendar 2021 - Qiita の2日目の記事です。 今回はnapi-rsというNode-APIを使ったNode.js add-onをRustで書けるツールを紹介します。 napi.rs 目次 目次 Node-API とは napi-rsとは napi-rsの使い方 Rust のコードを追加してみる napi-rsを使ったnpm publish 今後試したいこと 著名npmパッケージのセキュリティインシデントとpostinstallの問題点 まとめ Node-API とは napi-rsの紹介をする前にNode-APIについて説明します。 Node.jsは、Node.js自体をネイティブレベルで拡張するためのadd-onをユーザーが開発するためのNode-APIと呼ばれるAPIを提供しています。Node-APIは以前はN

    Rust + Node-APIでクロスプラットフォーム向けnpmパッケージを公開する - 別にしんどくないブログ
    sugyan
    sugyan 2021/12/03
    なるほどpostinstall問題の解決策にもなるかもしれないのか
  • 公開記事/2021/08/ISUCON11予選 参加記録

    みなさんこんにちは.あくあたん工房のマンゴーことf0reachARRです. 今回はチーム「aqua Fruits」としてISUCON11予選に参加し,戦に出場することになりました.私自身は初参加・初戦となるので,戦ではもっと上手く立ち回って好成績を狙いたいところです. この記事では,当日やったことを振り返っていきたいと思います. > 参加メンバー参加メンバー 私のほかに参加したのは,ゆゆくんとmomochiさんの二人です. > 当日までにやったこと当日までにやったこと ISUCON9の予選過去問に目を通して,このクエリが怪しそうと言ってみたり,alpやpt-query-digestなどのツールの使い方・nginx/MySQLの設定の詰め方などを勉強する会をやりました.Newrelic/Splunkで一度メトリクスを取ってみるという会もしました. 戦で使うMakefileなどのツール

  • ISUCON 11 予選に出場した | お首が長いのよ

    ISUCON 11 予選お疲れ様でした 運営、参加者の皆さん、お疲れ様でした。 予選前にチームで予習した感じ、いい感じのムーブができたので今年こそは活躍したいな、と思ったがなかなかうまくいかなかった。 最終スコア 23000点弱で110位前後だった気がします。 サマリ 参考実装は Node.js で挑戦 チームメンバー全員、現在のスキルセットで一番できる言語がこれで一致していた為 New Relic, Splunkは今年は全く使わず。手出しておけばよかった 色々試したけどスコアに現れず、最終的に参考実装をGoの初期実装に戻したらなぜかスコアが3,000 > 2,3000点に やったことメモ 序盤から終盤までチームで活用する系の下準備 最初はマニュアルを一通り読んでから構成と注意点はどこかなーとMiroに付箋貼ってました。 今年はテンプレがしっかりされていて、インスタンスへログインしてコード

  • ISUCON11 予選に参加しました - ishikawa_pro's memorandum

    こんにちは。 ブログ更新がすごく久しぶりになってしまいました。 ISUCON11 予選に参加したので、今年も出場レポートを残しておきます。 isucon.net 自分の実力とか成長を確かめるために、今年も1人チームでの参加にしました。 使った言語 普段業務では、Node.js や TypeScript でサーバーを書いてるので、Node.js (TypeScript) 実装で挑戦しました。 フレームワークは定番の Express.js だったので、特に心理的障壁などもなくコード自体は読むことができました。 やったこと 来年の自分用に、やったことをまとめておきます。 初期スコアをちゃんと記録してなかったのでかなり曖昧ですが、Node.js 実装だと 1000点 ちょっとくらいでした。 Go言語実装の方が、結構初期スコア高かったような気がしました。 リポジトリ作成など ソースコード管理のため、

    ISUCON11 予選に参加しました - ishikawa_pro's memorandum
  • Node.js v16 の主な変更点 - 別にしんどくないブログ

    2021/04/20にリリースされたNode.js v16の主な変更点を紹介します。 nodejs.org M1 MacでもNode.jsが使えるようになります V8 v9.0 Atomics.waitAsync RegExp match indices Timers Promises APIが安定版になりました fs.rmdirのrecursiveオプションがDeprecatedになりました Node.js v15の機能がLTSとして使えるようになる 最後に 参考記事 変更履歴 M1 MacでもNode.jsが使えるようになります Node.js v16.0.0は、Apple Silicon、いわゆるM1チップと呼ばれるAppleの新しいチップに対応したNode.jsの実行ファイルが公式で配布される最初のバージョンになります。 v15.xでもソースコードからのビルドでM1 MacでもNo

    Node.js v16 の主な変更点 - 別にしんどくないブログ
  • package.json dependencies メンテの仕方 最短ルート - Qiita

    package.json の dependencies を最新に保って脆弱性を解消するために、どこから手を付ければいいのか。 「半年前に npm install で追加したっきり。パッケージのアップデートなんて考えたことなかった」という人や「GitHub から security alert が届いてるけども見て見ぬふりをしている」という人向けに、package.json の dependencies をメンテ方法について個人の考えを書いてみます。 Node.js を使っている人にはおなじみ package.json。 package.json の中で一番よく見るのが dependencies(個人の感想、次点で scripts)。 そして、依存パッケージが着々とバージョンアップしていくにも関わらず放置されてしまって後々問題になりがちなのも dependencies 。 npm instal

    package.json dependencies メンテの仕方 最短ルート - Qiita
  • 0から始めるNode.jsパフォーマンスチューニング

    近年の Node.js は API のサーバとしてはもちろん、Nuxt.js や Next.js といった SSR や BFF などフロントエンドのためのバックエンド言語としての人気が高まっています。 フロントエンドエンジニアがコンテキストスイッチ少なくバックエンドの整備ができることは非常に大きな利点です。 ですが、フロントエンド(ブラウザ側)とバックエンド(サーバ側)ではパフォーマンスチューニングで見るべき点が大きく違います。 しかし Node.js アプリケーションのパフォーマンスイシューの見つけ方などがまとまっている資料は少ないです。 そこで、記事ではフロントエンドエンジニアが Node.js でパフォーマンスイシューを見つけ、改善するため自分が普段パフォーマンスチューニングを依頼されているときにみている基礎的なポイトをまとめていきます。 1. 計測ステップlink Node.js

    0から始めるNode.jsパフォーマンスチューニング
  • 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
  • JavaScript Package Manager 2019

    Node学園で発表した JavaScript Package Manager の話です。

    JavaScript Package Manager 2019
  • Node.jsセキュリティ

    OWASP Night 2019-03-11 / OWASP Japan

    Node.jsセキュリティ
  • Callback を撲滅せよ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。言語サポート(Node.js)チームの伊藤(@koh110)です。 Node.js v10 も10月にLTSとなり async/await によるフロー制御は当たり前のように利用されるようになってきました。JavaScriptの非同期処理は async/await から覚える人も今後増えていくでしょう。今回はそんな非同期処理について、社内での事例を交えて記事を書いていこうと思います。 index Promise 化がなぜ重要なのか ユーザーに promisify をさせる落とし穴 Road to Promise まとめ Promise 化がなぜ重要なのか ちょうど3年前のアドベントカレンダーで、今後はいろいろなモジュー

    Callback を撲滅せよ
  • Node.js 2018 - Speaker Deck

    HTML5 Conference で発表した Node.js 2018 の話です。 #html5j

    Node.js 2018 - Speaker Deck
  • Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記

    1. はじめに 最近わけあってNodeのセキュリティ調査をしているのですが、今年の5月に開催された North Sec 2018 でセキュリティ研究者の Olivier Arteau 氏による 「Prototype pollution attacks in NodeJS applications」という面白い発表を見つけました。 この発表の論文や発表資料、デモ動画などもgithubで公開されていますし、ちょうどタイミングよくセッション動画も最近公開されました。 github.com Olivier Arteau -- Prototype pollution attacks in NodeJS applications この発表で解説されているのは、悪意のある攻撃者が、JavaScript言語固有のプロトタイプチェーンの挙動を利用して、Webサーバを攻撃する方法です。 発表者は、npmからダ

    Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記
  • 普及期を終え成熟期に入った「Node.js」はこれからどうなる?-コミッターが語る現状と未来【前編】

    サーバサイドJavaScriptのための環境として登場した「Node.js」は、今やクライアント環境でのJavaScriptランタイムとしてもポピュラーなものとなっています。その開発はどのようなプロセスで進められており、今後はどのような形で進化していくのでしょうか。今回、Node.jsのコミッターであるヤフーの大津繁樹氏と、「Japan Node.js Associations」の代表理事を務める、リクルートテクノロジーズの古川陽介氏に、それぞれの立場から「Node.js」の現状と未来について語っていただきました。モデレーターは、テックフィード代表取締役の白石俊平氏が務めます。稿は2部構成の【前編】です。 日の「Node.js」コミッターには実は意外なつながりが? 白石:今回は、Node.jsのコミッターである大津さんと古川さんに、Node.jsの現在と未来について語っていただきたいと

    普及期を終え成熟期に入った「Node.js」はこれからどうなる?-コミッターが語る現状と未来【前編】
  • Node.js における設計ミス By Ryan Dahl - from scratch

    Ryan Dahl は Node.js の original author ですが、彼の作ったプロダクト deno に関するトークが jsconf.eu 2018 でありました。 Node.js にずっと関わってきた僕が見て非常に興奮するような話だったので、しばらくぶりにブログに書き起こすことにしました。 背景 Ryan Dahl は2009年に Node.js の話を初めて公の場に公開しました。その時の「公の場」というのが「jsconf.eu 2009」です。 www.youtube.com Video: Node.js by Ryan Dahl - JSConf.eu - 2009 この発表から Node.js が広まり、今やサーバのみならず、IoTデバイス、デスクトップアプリなど、様々なところで動作しています。 で、今回はその発表から9年の歳月が経過し、Node.jsに対しての設計不

    Node.js における設計ミス By Ryan Dahl - from scratch
  • Node.js Performance 改善ガイド - from scratch

    Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに

    Node.js Performance 改善ガイド - from scratch