タグ

node.jsに関するakishin999のブックマーク (321)

  • JVNDB-2016-001918 - JVN iPedia - 脆弱性対策情報データベース

    npm には、ワームプログラムの感染拡大を許す問題が存在します。 npm は、サーバサイドのウェブアプリケーションを開発するための実行環境である Node.js のパッケージマネージャです。npm には、ワームプログラムの感染拡大を許す問題が存在します: Node.js https://nodejs.org/ 1. npm はセマンティックバージョニング (semver) の使用を推奨しています。セマンティックバージョニングでは、依存関係にあるパッケージのバージョンは固定されておらず、依存パッケージの作者は、自由にアップデートバージョンをプッシュできるようになっています。 セマンティックバージョニング (semver) https://docs.npmjs.com/getting-started/semantic-versioning 2. npm は、npm サーバへのログイン状態を維持

  • Web APIをUNIXパイプで繋ぐツール IOpipe を試してみた | DevelopersIO

    ども、大瀧です。 IOpipeというツールが面白そうだったので、試してみた様子をレポートします。 IOpipeとは IOpipeは、Web APIからのレスポンスを受け取りNode.jsでロジックを記述したフィルタ処理を適用、その結果をAPIへのリクエストとして送信するCLIツールです。標準入力および標準出力にも対応しているのでUNIXパイプによる他のコマンドとの組み合わせが可能です。また、NodeJS SDK版もありNode.jsアプリケーションに組み込めるようにもなっています。 以下のサイトでIOpipeのコンセプトが紹介されており、AWS LambdaGoogle Cloud Functionsに対応する予定で、サーバーレスアーキテクチャのツールとしても機能する予定のようです(現在は未実装)。 Transforming the web with IOpipe – Transform

    Web APIをUNIXパイプで繋ぐツール IOpipe を試してみた | DevelopersIO
  • npm install scriptの脆弱性とオープンソースと信頼 - teppeis blog

    先日アナウンスされた脆弱性とその周辺について、とりとめなく。 The npm Blog — Package install scripts vulnerability Vulnerability Note VU#319816 脆弱性の概要 VU#319816 によれば、今回問題になっているのはnpmの以下の性質を利用するとnpmパッケージでワーム(自己増殖力のあるマルウェア)を作れるというもの。 依存パッケージのバージョンをロックせず、semverにより範囲指定することが多い CLIで一度npmloginすると、明示的にnpm logoutするまで認証が永続化される npm registry が中央集権型サーバーである 具体的な手法として、Chris Contoliniが PoC として pizza-party というリポジトリを公開している*1。以下のように動作する。 ワームが仕込まれ

    npm install scriptの脆弱性とオープンソースと信頼 - teppeis blog
  • left-padの文字列連結はクソではない - NullPointer's

    例のleftpad, GCを虐めるためとかコンパイラの最適化を確認するために用意する、「無駄に一時オブジェクト量産するクソコードの典型例」みたいな実装なので、こんな小さい関数のために、信頼できない人のコードを、実装を見るでも無く、依存性追加してたってことで、— INADA Naoki (@methane) March 24, 2016 ここから始まる一連の、モジュールの依存性に関する議論はなかなか興味深いが、自分的に気になったのは以下の一節 GCを虐めるためとかコンパイラの最適化を確認するために用意する、「無駄に一時オブジェクト量産するクソコードの典型例」みたいな実装 ソースを見てみようか。 left-pad/index.js at 0e04eb4da3a99003c01392a55fa2fdb99db17641 · azer/left-pad · GitHub なるほど一見するとクソコー

    left-padの文字列連結はクソではない - NullPointer's
  • left-pad.io

    8 d'b o 8 o 8 8 8 8 8 .oPYo. o8P o8P .oPYo. .oPYo. .oPYo8 o8 .oPYo. 8 8oooo8 8 8 ooooo 8 8 .oooo8 8 8 8 8 8 8 8. 8 8 8 8 8 8 8 8 8 8 8 8 `Yooo' 8 8 8YooP' `YooP8 `YooP' 88 8 `YooP' ..:.....::..::::..:::::::8 ....::.....::.....:..::..:.....: :::::::::::::::::::::::::8 :::::::::::::::::::::::::::::::: :::::::::::::::::::::::::..:::::::::::::::::::::::::::::::: Welcome to left-pad.io! ## History On M

  • npmからkikとその他諸々が消されたまとめ

    npmとは、node.jsにおけるパッケージシステムのことだ。npmを使えば、他人の書いたnode.jsベースのプログラムとライブラリの入手と利用がとても簡単になる。 そのnpm界隈が混乱している。発端は以下のURLだ。 I’ve Just Liberated My Modules — Medium Azer Koçuluはkikという名前のnpmパッケージを公開していた。このkikというソフトウェアの中身についてはここでは関係がない。 さて、それとは別に、kik.comというスマフォ用のチャットアプリを出しているKik Interactive社がいて、kikという名前のパッケージをnpmで出したいので、名前を明け渡すように要求した。 Azerはこの要求を拒否した。すると、Kik Interactive社はnpmの管理者に片っ端からメールを投げまくり、そのうちの一人が反応して、Azerの意

  • 【意訳】たった今、npmのパッケージを解放しました。

    このポストは以下の記事を意訳したものです。 I’ve Just Liberated My Modules - Medium.com Twitterでフロント系のエンジニアの方がざわついていたので訳しました。間違いが有りましたら、ご指摘いただけると幸いです。 以下、意訳。 数週間前、特許弁護士が私にメールをよこしました。メールの内容によると、私の作成した"kik"パッケージをnpmから削除せよ、とのことでした。返答としては"No"でしたが、弁護士からは次のような返信が来ました。"悪いとは思いますが、kikは我々の登録済の名称ですので、あなたの家に弁護士がやってきてあなたのアカウントを取り下げてもらうことになるでしょう。" 私が"kik"のコードを書き始めたとき、同名の企業があるなんて知りませんでしたし、企業に名前を変えさせられるなんてゴメンです。要求を拒絶された彼らは、npmのサポートに対し

    【意訳】たった今、npmのパッケージを解放しました。
  • npm パッケージの unpublish に関するゴタゴタの大まかなまとめ - ヤルキデナイズド

    (最終更新:3月24日16:50ごろ) 事件の流れ kik の作者が同名の会社 KIK の弁護士特許出願代理人からパッケージ名を変更するよう要請される 作者が拒否したところ弁護士代理人は npm の運営にコンタクトする 運営が作者の許可なくパッケージを unpublish するパッケージの所有権を移し替える 作者がこれに反発し自身が所有する270あまりのパッケージをすべて unpublish する I’ve Just Liberated My Modules — Medium unpublish されたパッケージは npmjs.com からダウンロードできなくなる unpublish されたうちのひとつである left-pad に間接的に依存したパッケージが多数あったため世界中でビルドがぶっ壊れる npmjs.org tells me that left-pad is not availa

    npm パッケージの unpublish に関するゴタゴタの大まかなまとめ - ヤルキデナイズド
  • Node.jsフロー制御 Part 2 – FiberとGenerator | POSTD

    この記事は、 以前投稿したJavaScript/node.jsでの非同期フローに関する記事 の続編です。 今回は以下について取り上げます。 Fiber(fibrous.js) Generator(ES6) Generator + co + mz ここでも私の書いた、Expressフレームワークを使った以下のルート処理(お粗末ですが)を例に見てみましょう。 ファイルから読み込む いくつかのプロセスを実行する(ステップの数は3つ) プロセスとは、単に拡張データをコールバックする任意の非同期処理を指します ファイルに結果を書き出す リクエストに対して成功またはエラーのメッセージを返す アプローチ1 – fiberを使う var fs = require('fs'); var express = require('express'); var fibrous = require('fibrous'

    Node.jsフロー制御 Part 2 – FiberとGenerator | POSTD
  • Node.jsと非同期I/Oと混乱した私 - shutdown -r now

    最近、Node.jsに興味があります。Node.jsを調べていると、I/O関係で、非同期I/O、ノンブロッキング、コールバック等、いろいろとキーワードがでてきて混乱してきます。 そこで、ブログに書いて整理しよう思います。間違いがあれば是非、指摘してください。 言葉の定義 ◇非同期呼び出し(Asynchronous Call)と同期呼び出し(Synchronous Call)の違い 同期呼び出し(Synchronous Call) 通常メソッドを呼び出すとメソッド内の処理が完了するまで、呼び出し元には戻ってこない。このようなメソッド呼び出しのこと。 非同期呼び出し(Asynchronous Call) メソッドを呼び出した瞬間に呼び出し元に処理が戻ってくるような呼び出しのこと。非同期で呼び出されたメソッドは、環境によって処理されるタイミングが変わる。 ◇マルチスレッド(multithread

    Node.jsと非同期I/Oと混乱した私 - shutdown -r now
  • CLIから青空文庫を閲覧するツール書いた - マルシテイア

    www.npmjs.com github.com インストール npm i -g aozora 使い方 aozora : 対話的インターフェイスで作品を探す aozora -r length : ランダムな作品を表示する。 length を指定したら先頭(length)文字だけ表示 aozora -a 著者名 : マッチする著者一覧を表示。一人だけの場合は、その人の作品一覧も表示。 aozora -w 作品名 : マッチする作品一覧を表示。一件の場合は文を表示。 オススメ利用法 aozora -r 1000 | pbcopy で長文貼り付けできる 経緯 仕事でインターネット作ってるとテスト用に適当なデータを入力することがある。 「あああああ」とか「sdfafadf」とか。 極稀に、なんかミスってその内容が公開されてしまうことがある。 「ああああ」とかなら良いんだけど、ふざけててあまり宜し

    CLIから青空文庫を閲覧するツール書いた - マルシテイア
  • オープンソースプロジェクトでバグを修正する方法 : あるNodeJSモジュールへの修正を例に | POSTD

    (訳注:2016/3/3、頂いたフィードバックをもとに記事を修正いたしました。) オープンソースプロジェクトでバグを見つけたとします。まずは、慌てずに落ち着きましょう。これは実によくあることです。ソフトウェアは人間の手で書かれるし、人間はミスを犯すものです。 または、こんなふうに考えるかもしれません。「やったね、バグの修正は大好きだ」。さっと現れて、何百万人とまではいかなくても、何千人もが使っているプロジェクトのバグを修正してしまうようなヒーローになりたくない人なんていますか? オープンソースコミュニティに恩返しできたという温かな喜びを感じられる上に、一連の Github 履歴 ^(1) に追加得点を上げられるわけです。 *訳: 人気のあるプロジェクト 典型的なバグ * しかしコーディングの初心者にとっては、オープンソースプロジェクトにコントリビュートするなんて恐れ多いことに思えます。私の

    オープンソースプロジェクトでバグを修正する方法 : あるNodeJSモジュールへの修正を例に | POSTD
  • initd-foreverでNode.jsアプリをデーモン化する | DevelopersIO

    ども、大瀧です。 最近Node.jsで作ったアプリをシステム起動時に自動起動させることが良くあるのですが、/etc/rc.localにnode <SCRIPT_NAME>と直書きするのも使い勝手が良くないかなと思い、foreverとSysVinitを連携させるinitd-foreverというツールを試してみたのでレポートします。 initd-foreverとは Node.jsのプロセスマネージャーとしてはforeverが著名ですが、Linuxの枯れたシステム管理サービスのSysVinitからforeverをキックするスクリプトを生成するのがinitd-foreverです。foreverと同じく、npmでインストールします。 $ npm install -g forever initd-forever npm WARN optional dep failed, continuing fsev

    initd-foreverでNode.jsアプリをデーモン化する | DevelopersIO
  • ElectronでSwagger Editorをアプリ化 - プログラマでありたい

    大幅に遅れてしまいましたが、Electron Advent Calendarの16日目です。秋過ぎからSwagger,Swaggerと言っていたら、色々なお鉢が回ってきました。ついでに、調べようとググると自分のブログやTwitterの呟きがぶつかってしまうようになっていました。ということで、毒らわば皿までということで、もう1つ。 Swaggerのダメな所 使いはじめると、いろいろ気になる所があります。その中での最大のものが、Swagger Editorの準備の面倒臭さです。Swagger EditorのGetting Startを見ていると、下記の手順で始められますと書いています。 git clone https://github.com/swagger-api/swagger-editor.git cd swagger-editor npm start 簡単ですね。たった3つのコマンド

    ElectronでSwagger Editorをアプリ化 - プログラマでありたい
  • Node.jsの「構築事例」、そして「向いていること」と「向いてないこと」 - Qiita

    Node.jsはシングルスレッド、ノンブロッキングI/O、イベントループなどの特徴があり、「向いていること」と「向いていないこと」があると思います。 言語選定の際に使えるメモとして、Node.jsの構築事例も加えてまとめてみました。 Node.jsに「向いていること」 処理が短時間でイベント処理が重要なアプリ 例えば、チャットアプリなどの大量のアクセスのあるリアルタイムなネットワークプログラミングが得意 シングルCPUのサーバー シングルCPUの環境化でもその性能を十分使い切れるため、比較的性能の小さいサーバ上で大きなパフォーマンスを発揮できる Node.jsに「向いていないこと」 CPU負荷の高い処理 CPUリソースを大量に必要とするJavaScriptの処理を行うとイベントループが回らない状態になり、イベントハンドリングが行えない状態に陥る。このため、CPU処理が大量に必要とされるアプ

    Node.jsの「構築事例」、そして「向いていること」と「向いてないこと」 - Qiita
  • Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか-

    タイトルは釣りです。すいませんほんと。 2015年12月0c8日に行われたAktsk Tech Meetup #1: Elixir & GraphQLで発表した際の資料です。 === Node.js+Koaで開発していたサービスを、なぜリリースせずにElixir+Phoenixに書き換…

    Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか-
  • Mancy - GUIのNode実行環境

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました JavaScriptでの開発が盛んになったのはFindBugやDevToolsに代表されるコンソールなどの実行環境が充実したことにあるのではないでしょうか。今や開発ツールがなければJavaScriptでの開発が成り立たないほどです。 もう一つ(サーバサイド)のJavaScript実行環境であるNodeの場合はどうでしょうか。node -i もありますが、関数などがFunctionになってしまって分かりづらいかと思います。そこで使ってみたいのがMancyです。 Mancyの使い方 MancyはNodeのRead-eval-print loop(対話型実行環境)になります。書いたコードをその場で評価してくれます。 実行結果をコンソールを使って出力できます。 エラーも確認できます。 オブ

    Mancy - GUIのNode実行環境
  • npm でコマンドラインツール開発事始め - Qiita

    node.js で Gmail API を叩きたい (https://github.com/takayukioda/cmail) 軌跡その2 Gmail をコマンドラインで確認できるツールを作りたい. 開発言語は興味あるけど中々手が出せてなかった node.js で作りたい. そんなわけで node.js の簡単な使い方を勉強 node.js のインストール node.js のインストール方法は色々ある 公式ホームページからダウンロードしてインストール Homebrew 等のパッケージ管理ツールからインストール nvm 等の node 用のバージョン管理ツールを利用してインストール などなど. 自分はバージョンが頻繁に変わるらしいという事で nvm をインストールして,そこから最新版をインストールした. プロジェクトの作成 Node でプロジェクト情報を package.json に書くの

    npm でコマンドラインツール開発事始め - Qiita
  • YAPC::ASIA 2015で「どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか?」というタイトルで発表してきた。 - from scratch

    YAPC::ASIA 2015 でスピーカーとして参加してきました。 2014年に一度スポンサーセッションでトークしましたが、2015年はCFPを出しつつスピーカーとして参加してきました。自分がNode学園のオーガナイザーになってみてわかりますが、YAPCの規模で毎年カンファレンスを続けるのは当にすごい。スタッフ含めておもてなしと手際の良さが表れていて、素晴らしかった。 あと発表者としては、今回のYAPCの参加者はかなり積極的に質問してきていて、いつもよりも参加してる人達の"質問してやろう"っていう意向が強くて活発な議論ができたかと思います。すごく良かったです。 発表内容 発表の内容は Node.js の歴史と今のNode.jsの開発体制の話、さらに今後のNode v4.0 の話を中心的に話してきました。 Node.js は Ryan Dahl によるBDFL(優しい終身の独裁者)の開発

    YAPC::ASIA 2015で「どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか?」というタイトルで発表してきた。 - from scratch
  • どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか?

    7 principles for rich web apps And how next.js achieves these principles

    どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか?