※本記事は筆者styprが英語で執筆した記事を株式会社FlattSecurity社内で日本語に翻訳したものになります。 TL;DR Node.jsのエコシステムで最も人気のあるMySQLパッケージの一つであるmysqljs/mysql (https://github.com/mysqljs/mysql)において、クエリのエスケープ関数の予期せぬ動作がSQLインジェクションを引き起こす可能性があることが判明しました。 通常、クエリのエスケープ関数やプレースホルダはSQLインジェクションを防ぐことが知られています。しかし、mysqljs/mysql は、値の種類によってエスケープ方法が異なることが知られており、攻撃者が異なる値の種類でパラメータを渡すと、最終的に予期せぬ動作を引き起こす可能性があります。予期せぬ動作とは、バグのような動作やSQLインジェクションなどです。 ほぼすべてのオンラ

Zero-config Write backends, apps or libraries while minimizing configuration and boilerplate. Serverless Ready Produce compiled and minifiedbuilds for faster download from npm and quicker cold starts on serverless environments. Feature Rich Live-reload,errors diagnostics, missing dependencies autoinstall, import/export syntax...
となります。 またNode.jsの特徴として「Webサーバの役割もNode.jsがこなす」という点があります。(というかNode.jsの目的を考えるとWebサーバとしての役割がメインです) 元々Node.jsは大量の同時接続をさばけるようなネットワークアプリケーションを構築することを目的として設計されています。 そのため、Webサーバとしての機能から一貫してNode.jsが受け持ち、効率的に処理できるようになっています。 要するに通常使われるApacheやnginxのようなWebサーバの代わりにNode.jsが直接HTTPリクエストを受け取り、処理をしてくれます。 (実際にはNode.jsのみだとWebサーバとしては少し機能が物足りないので、その前段にApacheやnginxをリバースプロキシとして置く構成が多いです。) 目的3. モバイル/デスクトップ用のアプリケーションを作りたい No

はじめに こんにちは、rs_tukkiです。最近、様々な勉強会に行くことが多くなりました。 大学時代は講義だけ聞いていればいいやーの精神で、自分から技術を学ぶといったことはしてこなかったのですが、 社会人、特にエンジニアともなると、様々な技術へのアンテナを張ることが意外と重要になってきたりします。 で、それは何も特定の技術に絞る必要はなくて、新しい言語のことでも、今話題のスマートスピーカーのことでも、 なんだったらバーチャルYouTuberのことでも大丈夫です。*1その技術を知っているということが、いつか会社内でも大きなアドバンテージになるかもしれません。 さて、今回はそんな勉強会の中から先日参加させていただいたユメノソラホールディングス株式会社様主催のNode.js勉強会で、お手軽にWebアプリケーションを作ったお話をしたいと思います。 yumenosora.connpass.com 大

こんにちは!小田島です。さくらのナレッジで初めて記事を書きます。よろしくお願いします! 先日5月13日、Deno 1.0がリリースされました。Denoについては後日記事を書きますが、今回はDenoが生まれるきっかけとなったNode.jsについて、いまさら聞けないことを色々書いていきます。 対象者本記事は、Node.jsについて以下のような疑問を持っている人が対象です。 Node.jsって何? Node.jsを使うと何がうれしいの? Node.jsを使うときに何を注意すればいいの? なお、本記事はNode.jsのイメージを掴んでもらうのが目的であり、ハンズオンではありません。そのためコードは1行も出てきませんのでご了承ください。 そもそもNode.jsとは? 超ざっくり説明すると、JavaScriptの実行環境です。 それまではJavaScriptといえばウェブブラウザー上で動かすのが普通

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

本書について本書は、Node.jsでのアプリケーション開発を始めようとする皆さんに、 ”高度な”JavaScriptについて知るべきあらゆることを解説します。 よくある”Hello World”チュートリアルの、はるか上をいくものです。 ステータス 貴方が読んでいるのは、本書のいわゆる最終版となります。 つまり本書は、間違いが見つかった場合や、 Node.jsの新バージョンにおえる変更点を反映する時のみ、改訂されます。 最終更新日は2012年2月12日です。本書内のコードのサンプルは、Node.jsのバージョン0.6.10でテストしています。 ターゲット読者本書は、Ruby、Python、PHP、Javaのような、少なくともひとつのオブジェクト指向言語を理解しており、JavaScriptについてはあまり経験がなく、Node.jsについては全く経験がないという、 著者と同じようなバッ
この記事は Node.js Advent Calendar 2019 - Qiita の2日目の記事です。遅くなってしまいました。 Node.js本体へのコントリビュート解説記事です。この記事は不足している情報や更新があれば、モチベーションが続く限り更新していきたいと思っています。 JSConf JPのスタッフの打ち上げのときに日本人のNode.jsへのコミットしている人が少ないという話がでました。 Node.jsに限らずOSSへのコミット経験があるという人は私の周りには少ないです。 もちろんOSSにコミットしているから良い悪いという話ではなく、Node.jsやOSSにコミットしてみたいと相談いただくことが時々あるので僕の経験でよければ伝えたいと思いました。 私の経験からNode.jsへのコントリビュート方法の解説とOSSへの貢献を通じて得たものについて書き残しておきたいと思います。 言葉

Apolloを触っていて、テストをするために https://www.apollographql.com/docs/react/development-testing/testing/#testing-final-state を読んでいた。その文章の中で、 MockedProviderをrenderした時はloading状態になる データがロードされた最終状態にするにはwaaitみたいなnpm packageを使って、await wait(0)とかしてねIt delays until the next "tick" of the event loop, and allows time for that Promise returned from MockedProvider to be fulfilled. と書かれていて、この文章の意味がわからなかったので、Nodeのイベントループを知
ZEIT が作っている Micro という Node.js のフレームワークがあり、使いやすそう。 ZEIT は、かのNext.js を作っていて、 Mongoose を作った人や socket.io を作った人が所属しており、とても信頼できる。 ちなみに、 ZEIT は Now という、 Node.js (及びDockerized されたもの)を動かせる、サーバーレスのサービスもやっている。 ZEIT(時) と Now(今) という世界観が良いですね。 初動が早くて、快適だった。 [追記] 何かに Micro 8 と書いてあって、最初、そういう名前のフレームワークと思ったのですが、実際は 8 はバージョン名で、 Micro のようです。また現行バージョンは9でした。 多分これ https://zeit.co/blog/micro-8 [/追記] Features README の F

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

The next major release of Node.js brings a range of significant changes and additions, far too many for us to cover adequately in ablog post such as this. This article contains a summary of the most significant changes and features. Say hello to npm version 5.0.0 npm, Inc. recently announced the release of version 5.0.0 of the npm client and we are happy to include this significant new version wi
2017 - 02 - 24TwitterはScalaを捨ててNode.jsに移ったそうです。 Node.jsScala Tweet 世界で最も大きなトラフィックを捌いているサービスの1つであるTwitterはそのバックエンドをScalaで独自開発したフレームワーク(Finagle)を採用していましたが、ここ数ヶ月の間にこれをNode.js(Express)に置き換えたそうです。 以下はTwitterのエンジニアであるNicolas Gallagherさんのツィートよりgithub.com Today we moved all ofTwitter's mobile web traffic (that's like, a lot) to our new web stack – Node.js, Express,React PWA. — Nicolas (@necolas) Febr

cheerio-httpcli - Node.js用WEBスクレイピングモジュール Node.jsでWEBページのスクレイピングを行う際に必要となる文字コードの変換と、cheerioによってパースしたHTMLをjQueryのように操作できるHTTPクライアントモジュールです。 特徴 取得先WEBページの文字コードを自動で判定してHTMLをUTF-8に変換UTF-8に変換したHTMLをjQueryのように操作可能 フォームの送信やリンクのクリックをエミュレート フォーム送信時のファイルアップロード対応 Node.jsお馴染みのコールバック形式と最近の流行であるプロミス形式どちらにも対応 同期リクエスト対応 $('a')要素のリンク先をファイルとしてダウンロード可能 $('img')要素画像をファイルとしてダウンロード可能(LazyLoad対応) $('a,img,script,link')

はじめまして、かるねです。フリーランスでWebエンジニアをしています。HTML、CSS、Javascript、Ruby onRails、Wordpress、AWS辺りを薄くひろくやっております。 さて、今回はWebサイトをコーディングする際に必要となるHTML、CSS、Javascriptという3つの言語について、Jade、Stylus、CoffeeScriptといった拡張言語を使って開発効率のスピードを上げる方法を紹介していきます。 なお、今回はターミナルアプリ(MacであればiTermのような)と、Node.jsの環境、npm(Node Package Manager)が必要になります。 下準備(Node.js、npm) まずは下準備として、Node.js(n)とnpmの環境を構築していきます。ご存知ない方のために簡単に用語を説明します。 ・Node.js:Javascriptエン

はじめに こんにちは植木和樹@上越妙高オフィスです。本日はlambda の開発環境を準備した際の作業を備忘録としてまとめました。 2014年のre:Inventで発表されたlambdaですが、年末のアドベントカレンダー等で大いに盛り上がっているのを横目に完全に取り残されておりました。しかし9月5日に開催されたJAWS re:Moteでも「lambda,lambda,lambda」と、その可能性に注目が集まっていることを感じざるを得ません。 JAWS re:Mote 2015 -Togetterまとめ ということで、node.jsはおろかJavaScriptも詳しくない私がまずは開発環境を整えるところから始めてみました。 準備したもの パッケージインストールOSXの場合、開発環境といっても大掛かりなものは必要ありません。後述するサンプルプロジェクトを実行するためのnode.jsを入

概要 Metadata社が提供する『Mextractr 感情解析API』を使ってみた。 http://www.metadata.co.jp/emotion-ma9.htmlAPIの概要 Mextractr 感情解析APIは、日本語のテキストを受け取るとその文章の感情を「好ましいー嫌い」「嬉しいー悲しい」「怒りー怖れ」の3つの軸でその度合いを判断しその値を返すAPIです。 制限 ただ、呼び出し回数の制限がMetadata社が提供する他のAPIと合わせて1日100回とのこと。利用形態によってはメールで希望を伝えれば上限回数の拡張はできるらしいです。 使い方 登録 登録フォームから登録する。 http://ap.mextractr.net/ma9/ma9signup 呼び出し方

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く