X



【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2016/04/11(月) 16:28:34.52ID:ORuOCkHy
pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。

node.js - googleが開発したV8エンジン上で実行できる処理系
http://nodejs.org/
io.js - node.js 互換で Joyent の影響からの脱却を目指す処理系
http://iojs.org/
Rhino - JVM上で実行できる処理系
https://developer.mozilla.org/ja/Rhino

io.js の経緯
http://stackoverflow.com/questions/27309412/what-is-the-difference-between-node-js-and-io-js
javascriptはrubyと比較してもかなり速い
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&;lang=v8&lang2=yarv
基礎から学ぶNode.js
http://gihyo.jp/dev/serial/01/nodejs
node.jsの概要とアプリケーション開発の準備
http://gihyo.jp/dev/serial/01/realtimeweb/0002

前スレ
【node.js】サーバサイドjavascript 3【io.js】(c)2ch.net
http://echo.2ch.net/test/read.cgi/tech/1419673207/
【node.js】サーバサイドjavascript 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
【node.js】サーバサイドjavascript【Rhino】
http://toro.2ch.net/test/read.cgi/tech/1310087535/
0067デフォルトの名無しさん
垢版 |
2016/05/11(水) 04:38:16.92ID:e5ttOytk
node.jsド初心者なんだけどヒマな人いたら教えてほしい

node somescript.jsでバッチのように動かせることや
http.createServerでポート空けて待ち受ける簡易Webサーバやれることやデーモン化もできることはわかった

んでこれ実際に運用するときどうする?http://example.com/hoge/hage/ みたいなリクエストはどう受け付ける?
ていうかnginxやapache httpdからfastcgi呼び出すみたいにフロントのWebサーバがリバースプロキシになるような感じ?
0069デフォルトの名無しさん
垢版 |
2016/05/12(木) 11:05:45.43ID:23UKfqZQ
nodeで読み込んだExcelテンプレートを編集して
ダウンロードさせたいのですがExceljsを使用すると
スタイルの情報が落ちてしまいます。。。

Streaming XLSX Writerなるものを使えばスタイル情報の書き込みもできる
みたいですが読み込み方がわからない。

そもそもnodeでExcel扱うなってことですかね。
いろいろ調べてももう行き詰ってしまったので教えてください。
Exceljsにこだわりはないので他のものでも大丈夫です。
0070デフォルトの名無しさん
垢版 |
2016/05/12(木) 17:45:43.81ID:kJTP2wgD
公式からnode.jsのwindows版をダウンロードしようとしたら、chromeに 〜 may harm browsing experience, so Chrome has blocked itって怒られるよう
0071デフォルトの名無しさん
垢版 |
2016/05/12(木) 23:25:26.78ID:Xc9f48N7
>>69
基本的に内部構造が非公開のExcelを
まともに解析できるライブラリは無いと思え。

一番良く出来ているのはJava製だ。
0072デフォルトの名無しさん
垢版 |
2016/05/13(金) 00:19:28.85ID:Po0C4aft
>>69
google spreadsheetでも使え
007569
垢版 |
2016/05/13(金) 11:50:34.68ID:8I+78kq5
レスありがとうございます。
>>72
google spreadsheetの選択肢はありませんでした。
これであればスタイルの読み出しをしないでも
書き込みとDLだけで実現できそうです。
ありがとうございます。
0077デフォルトの名無しさん
垢版 |
2016/05/13(金) 13:07:59.75ID:8I+78kq5
>>76
線やフォントの情報がほとんどです。

Exceljsで下記のような実装をしたところ
エクセルファイルに追記はできるものの、
線もフォントサイズも元に戻ってしまいました。

var Excel = require('exceljs');
var workbook = new Excel.Workbook();
workbook.xlsx.readFile(filename)
.then(function() {
var worksheet = workbook.getWorksheet(1);
worksheet.getCell(1,1).value = "test";
workbook.xlsx.writeFile(outputname)
.then(function() {
// done
});
});
0079デフォルトの名無しさん
垢版 |
2016/05/13(金) 14:59:32.62ID:8I+78kq5
>>78
ExcelJSのReadmeを見てみると
>> var workbook = new Excel.stream.xlsx.WorkbookWriter(options);
で書き込み用のワークブックを用意することはできるので
同様にWorkbookReaderにてワークブックを読み込むことはできるのですが
この方法だと読み込んだワークブックに対して
シート指定 (workbook.getWorksheet()) を使用とするとエラーになります。
そもそもインスタンスを作っただけなのでこの時点で指定したファイルが
読み込めているわけではないような気もするのですが。。。
ドキュメントやコミュニティの記事もほとんどなく行き詰ってしまったわけです。
0080デフォルトの名無しさん
垢版 |
2016/05/14(土) 06:14:39.92ID:wJYxysEH
ついに、Electron 1.0がリリースされたぞ
0082デフォルトの名無しさん
垢版 |
2016/05/14(土) 08:08:57.91ID:10usGhO1
サイズでかいよな
自分用にちょちょいと書いたアプリならいいけど
人に渡すには躊躇う大きさだ
0084デフォルトの名無しさん
垢版 |
2016/05/14(土) 09:24:22.56ID:pahI6w8f
>>82
2DDフロッピーや4800bpsの通信が一般的だった時代ならいざ知らず
数百GBのHDDにギガビットのネットワークが普通の時代に何を言うw
0088デフォルトの名無しさん
垢版 |
2016/05/14(土) 11:10:36.39ID:r8zKr16p
>>77
その程度ならActiveXで書き込めば一発じゃね
0090デフォルトの名無しさん
垢版 |
2016/05/14(土) 13:28:34.42ID:5pXvQAwD
Electronは、Gradleみたいに自動で、JCenter/MavenCentral などから、
指定したバージョンのChromium/Node.js を、
まだインストールされていなければ、インストールするようにしたらよいのに

そうすれば同じPCで、同じバージョンのChromium/Node.js を、重複して持つことは無い
0092デフォルトの名無しさん
垢版 |
2016/05/15(日) 11:16:03.18ID:Q0jJd4Wt
npmの思想に従ったらやはり個別に持つんじゃねーのかな
やはりelectron用chromiumが小さくなる方が妥当だ
0093デフォルトの名無しさん
垢版 |
2016/05/15(日) 11:32:55.67ID:Y0vt3lCd
読み込むmoduleが解決出来なければnpmから導入を試みる仕組みなら少しほしい
例えばテストにしか使わないbabel一連を毎度npm i -Dすると容量食うだけだし
とはいえglobalに入れてmoduleのpackage.jsonに一々devDependencies書くのも手間だ
0097デフォルトの名無しさん
垢版 |
2016/05/15(日) 16:06:58.13ID:nepemUuD
>>96
俺も知らないけど、javascript大好きな人がサーバーサイドをjavascriptで書くために使うんじゃないの?
0100デフォルトの名無しさん
垢版 |
2016/05/15(日) 17:54:58.56ID:gfIC+EQb
ひとつのモジュールからクラサバ出来れば、楽じゃん。
って発想で俺は割とnode推し。
validationとか。
0101デフォルトの名無しさん
垢版 |
2016/05/15(日) 20:13:10.39ID:jf4/vLKx
>>96
普通にtypeScriptみたいにaltJSとか使いたかったり
js側でもテスト駆動開発やりたかったり
SPAとか作りたかったらnodeのエコシステムは必要だと思うけど。
0102デフォルトの名無しさん
垢版 |
2016/05/15(日) 21:00:40.05ID:GXfI7+hY
ぶっちゃけnode側のjsとクライアント側のjs
そこまで共通化省力化できる部分多くないよね
0103デフォルトの名無しさん
垢版 |
2016/05/16(月) 01:50:06.72ID:Pm3ds6MJ
>>90
正直、配布関係がグダグダのままだよねw

インストーラと呼べるものもねぇし。node.jsのライブラリとかを
実行ファイルの同じディレクトリにまるまんまコピーして配布とか
ダセェこといつまでやらせるつもりなのか。

作ってる連中の程度が低くてイライラする。
0105デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:02:37.84ID:Pm3ds6MJ
>>104
そんなもの言われなくても実装して当然ですよ。今どき。
0107デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:17:23.20ID:IapxlnNr
どうやったところでXSSを克服できない限りおもちゃ扱いだろ
業務にElectronアプリ使ってXSSで機密情報盗まれましたとか目も当てられんわ
0109デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:25:43.57ID:K/hgNSZS
まあそれ以前にXSSを克服してないはずの
ウェブがこれだけ世界を支配してるんだけどね。
0110デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:27:37.78ID:IapxlnNr
テキストファイル開いただけでホストの権限取られる脆弱性はウェブにはないわ
0111デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:30:29.64ID:K/hgNSZS
テキストファイル(例~/.ssh/以下)開いただけでホストの権限取られるからな
ネイティブアプリは
0112デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:40:45.00ID:IapxlnNr
こういうバカに騙されないように知らない人に説明すると
ElectronはXSSの仕込まれたHTML開くだけでPC乗っ取られることがバレてから
まともな開発者はElectronから手を引きました
JSだけが拠り所の低能キチガイNode信者の言うことを真に受けないようにしましょう
0113デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:45:40.15ID:Pm3ds6MJ
>>106
馬鹿かてめぇは。

言語の問題じゃねぇだろ
0114デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:46:04.20ID:Pm3ds6MJ
>>108←セキュリティ問題が各所で指摘されてることもわからないアホ
0116デフォルトの名無しさん
垢版 |
2016/05/16(月) 02:48:06.52ID:Pm3ds6MJ
>>107
>>112
>>110
だな。しかしElectron開発者のキモヲタ連中は全く改善しようともしていない。
Node.jsの連中も然りだけれどな。

内紛起こして分裂はするわ、npm停止させて問題起こすわ、このコミュニティは
ちょっと問題ありすぎ。
0118デフォルトの名無しさん
垢版 |
2016/05/16(月) 10:10:09.43ID:Pm3ds6MJ
>>117
ま、正直言わせてもらうけれど、サーバサイドやるならNode.jsなんて
やめておいたほうがいいですよ。実用レベルには至っていないから。
特にElectronはね。

Node.jsのほうはコミュニティと開発者連中に頭のオカシイのが多いから
これまでも問題を起こしまくってるしね。いつまた分裂したりnpm止め
られたりするかわかったもんじゃないよ。
0119デフォルトの名無しさん
垢版 |
2016/05/16(月) 10:35:56.54ID:mzVyV5EK
何をどうはねっかえりたいかわからん。
electronで外部のHTMLを開くという事を考えつく方がどうかしてる。
いわゆるアプリなら、得体の知れないdllをロードして叩くとか、得体のしれないモジュールをrequireするくらい頭おかしい行為なんだが。
あとは、モジュールを全部持つってのも、別にwebpackかなんかかけちゃえいいんでないの?
0120デフォルトの名無しさん
垢版 |
2016/05/16(月) 11:09:29.86ID:o8E95WL6
前提条件としてElectronを狙い撃ちにしたXSSが仕込まれたサイトを
Electronで見に行けば、任意のコードを実行させられることもありえるよね
という無理筋な話だよね
0121デフォルトの名無しさん
垢版 |
2016/05/16(月) 12:42:26.06ID:DkcwsRla
>得体の知れないdllをロードして叩くとか、得体のしれないモジュールをrequire

python良く使うけどimportしただけで個人情報を外部サーバーに送信されるモジュールがあったら確かに怖いな
0122デフォルトの名無しさん
垢版 |
2016/05/16(月) 12:55:37.33ID:r8GcqOe4
今eslint 2.9.0をインストールしてます
eslint 2.10が出てたので更新しようと思いnpm update -gを実行してもeslintが更新されません
何で更新されないんですか?
0123デフォルトの名無しさん
垢版 |
2016/05/16(月) 15:31:32.74ID:EErMUWjt
分裂騒ぎで悪いのはjoyentって企業だけどな
それでもjenkins、mariadbと複数の分裂騒ぎ起こして再統合しようともしないoracleよりマシ
最高に頭おかしいoracleが中心に居座ってるjava使うのもやめた方がいいってことだな
0124デフォルトの名無しさん
垢版 |
2016/05/16(月) 15:41:03.11ID:vcp2NKdV
nodejs作ってる人たちは無給で趣味でやってんの
それともお給料もらってやってんの
0125デフォルトの名無しさん
垢版 |
2016/05/16(月) 16:03:44.38ID:mzVyV5EK
>>121
そう。
レンダリングエンジンとしてHTML+cssを使ってるのであって、
ウェブページを見るもんじゃないの。
古い時代の素のphpなんかで、HTMLのヘッダ文を出すためだけに自分で書いたhtmlをrequireしたりするじゃん。
そういう物であって、外部コンテンツをそのまま表示させるものじゃない。
0126デフォルトの名無しさん
垢版 |
2016/05/16(月) 16:27:01.48ID:IapxlnNr
わかりやすさのためにHTMLを開くと書いたがテキストをはじめとするユーザー入力を表示するために
パースしてDOMに入れる行為にブラウザと同じくXSSのリスクがあってそれが実行アプリを越えて攻撃できるので危険度激大ということ
ウェブページのようにファイルをHTMLとして解釈させる必要などない
DOMに入れなきゃ表示できないんだからむしろすべてHTMLとさえ言える
VSCodeですらXSSの成功が報告されてて危なくて使えない
はっきり言ってこの程度のアンテナも張れない無能は初心者でもなければ技術者やめたほうがいいよ
こんな赤ちゃんみたいに懇切丁寧に説明されなきゃ理解できないなんてまともなプログラマなら恥ずかしくて死んじゃうぞ
0128デフォルトの名無しさん
垢版 |
2016/05/16(月) 17:40:01.01ID:mzVyV5EK
>>126
何言ってんだよ。
DOMにユーザ入力を入れるとか寝言だろ。
phpの、<input ....value="<?=$evi?>">レベルの話。
jQueryなんかでテキトーに組んでる程度の知識しかねえんじゃねえの?
0129デフォルトの名無しさん
垢版 |
2016/05/16(月) 17:41:54.90ID:mzVyV5EK
もしくはある程度evalしなきゃならんエディタと、普通のelectronアプリ混同してるのかな。
0130デフォルトの名無しさん
垢版 |
2016/05/16(月) 18:36:56.67ID:o2eG9R3E
誰かさんもフロントエンジニアはレベルが低いって言ってましたし
仕方ないんじゃないでしょうか!?
0131デフォルトの名無しさん
垢版 |
2016/05/16(月) 19:10:26.84ID:IapxlnNr
低レベルなフロントエンジニアの崇めてるElectronアプリがいかに危険か擁護の低能さからよくわかりますね
HTMLタグに直接埋め込むなんてキチガイ行為がさらっと出てくる人には戦慄を隠せませんわ
この程度のスキルでXSSを防げると勘違いしてるパソコンの大先生がElectronアプリを作ってOSを危険に晒しているのです
みなさんも気をつけましょうね

Fin
0132デフォルトの名無しさん
垢版 |
2016/05/16(月) 19:28:01.64ID:d8WCTinP
kik問題ごときで混乱するような連中だもの、程度なんか知れたもんだろ
ここではないどこか他に行くといい
馬鹿が感染っても責任は取れないぞ
0133デフォルトの名無しさん
垢版 |
2016/05/16(月) 20:25:04.64ID:mzVyV5EK
>>131
何言ってるのかわからん。
HTMLタグに直接埋め込むレベルのアホさを露呈したのはお前じゃねえの?
指摘されてる事に真摯に受け止めたらどうなんだろ。
0135デフォルトの名無しさん
垢版 |
2016/05/16(月) 20:35:28.12ID:o8E95WL6
>>131
君が言ってるのは悪意のあるテキストをElectronで開いたら、悪意のあるコードが実行されたってわけなんだけど
なぜ、開いた!ってことなんだよ

(メールで送られてきた)悪意のあるexeを実行したら、悪意のあるコードが実行されたってのと同レベルなわけだよ
0136デフォルトの名無しさん
垢版 |
2016/05/16(月) 20:38:39.83ID:IapxlnNr
>>132
その時もここの連中のnpmに依存しない方法すら考えられないアマグラマっぷりには呆れたもんだ
公式で提供されてるのにどんだけ頭悪いんだよ
今回もド素人集団なのを再確認しただけだったな
他の言語だとまだ読めたスレがあるがこのスレはゴミとデマばかりだし捨てるか
初心者向け言語はせいぜい隔離所として役に立ってくれ
0137デフォルトの名無しさん
垢版 |
2016/05/16(月) 21:00:04.14ID:5VzHAN2o
殺伐としたスレにシュレディンガーの猫が!
     ______
   /          /|
  ┃ ̄ ̄ ̄ ̄ ̄┃ ┃< にゃー
  ┃          ┃ ┃
  ┃          ┃/
    ̄ ̄ ̄ ̄ ̄ ̄
 _人人人人人人人人_
 >  生 存 確 認  <
  ̄^Y^Y^Y^Y^Y^Y^Y^Y ̄
0138デフォルトの名無しさん
垢版 |
2016/05/16(月) 21:01:40.13ID:mzVyV5EK
むしろ全てHTMLと言える、ってそうなんだけど、
だからといってそれはコンテンツとは地続きではないからな。

余程、こういった類の技術についていけず脅威だと思っているか、もしくは自分がXSSを避けるコーディングが出来ないから、そんなものはあり得ないと思い込んでいるかだろうな。
0140デフォルトの名無しさん
垢版 |
2016/05/17(火) 11:10:18.49ID:t7otmJ+D
eslint 2.10.2でeslint-config-airbnbが使いたいので
kidotoyohiko$ubuntu: $ npm -g i eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react
ってしたんですけど

+-- UNMET PEER DEPENDENCY eslint@^2.9.0
+-- eslint-config-airbnb@9.0.1
+-- eslint-plugin-import@1.8.0
+-- eslint-plugin-jsx-a11y@1.2.0
`-- eslint-plugin-react@5.1.1
ってでました
今の段階ではeslint 2.9じゃないとだめってことですか?
0141デフォルトの名無しさん
垢版 |
2016/05/17(火) 11:10:18.65ID:NWTAtPGB
>>135
>悪意のあるexeを実行したら、悪意のあるコードが実行された

なんでそんな糞メーラー(=Electron)使ってるっつー話かと
0143デフォルトの名無しさん
垢版 |
2016/05/17(火) 11:25:24.26ID:iVXO0tyU
検証もせずライブラリバンバン使ってるだろう性善説盲信者の劣等node民にはお似合い
0146デフォルトの名無しさん
垢版 |
2016/05/17(火) 12:50:37.50ID:vWciy/Ev
>>144
そうだね、だから、アプリケーションとして、外部のなんかとか、ユーザ入力を実行なんかしないように作らないとね。CSP化とか。
0152デフォルトの名無しさん
垢版 |
2016/05/17(火) 16:12:13.60ID:vWciy/Ev
>>147
ごくごく当たり前の事だが、
「枠組みでどんなサンドボックスを用意しても割と抜け穴は有る」ので、「サニタイズしてないものを画面に出さない」
それだけ。

自作でも、既存のでも良いけどMVVMフレームワークでも使ってきちんと対応すればいいと思うよ。
vue.jsなんかだと、{{hoge}}で展開されるものは必ずエスケープされてるし、
エスケープされない{{{hoge}}}を使うと使ってるだけで警告出る。
0153デフォルトの名無しさん
垢版 |
2016/05/17(火) 16:22:43.13ID:n8Ruzxjv
>>147
人類にXSSは止められない
今までも止められたことはない、許されてただけ
だがElectron、てめーは影響範囲的にダメだ
0156デフォルトの名無しさん
垢版 |
2016/05/17(火) 18:45:18.15ID:vWciy/Ev
そもそも、XSSと言うが、その意図がわからんのだよね。
全然クロスじゃないでしょ、アプリとしてならば。
その中で、Webや信頼出来ないソースからテキトーに取った値を不用意に実行すると死ぬよって凄く当たり前の話。
自分のグローバルIPが知りたいからって言って
$piyo=`curl ..... | awk ....`
を、rootで動くスクリプトで叩くようなもん。
0157デフォルトの名無しさん
垢版 |
2016/05/17(火) 19:00:39.35ID:n8Ruzxjv
なんで馬鹿が食い下がるときは決まって言葉の定義に難癖つけはじめるんだろうな
0159デフォルトの名無しさん
垢版 |
2016/05/17(火) 20:12:18.27ID:yt714euB
>>156
nodejs使いに信頼性を語られると鼻からスパゲティが飛び出しそうになるんですよ
食べてないのに
止めてもらえます?
0160デフォルトの名無しさん
垢版 |
2016/05/17(火) 21:35:57.49ID:4p4kNHWE
適当に取ってきたライブラリは信用します
その結果、どこの誰とも知らない奴が癇癪を起こしただけでbabelの塔は崩れました
お見事に御座りまする
0162デフォルトの名無しさん
垢版 |
2016/05/17(火) 23:23:08.63ID:3xMKUXNM
>>159
色んな言語で色々してるけど、どの言語でもそうだし、信頼性なんか語ってないよw
これを信頼性だというなら、お里が知れる。
最低限するべきこと。

>>160
適当には取らんだろ。
取ってソース読んでから使うよ。
0163デフォルトの名無しさん
垢版 |
2016/05/17(火) 23:54:59.69ID:gy1vNCq/
信頼性云々は自分で調べたことないし知らんけど以下推測

node.jsのサーバ性能そのものは利用が進んで突き詰められていくとapacheと同じ様なもんになると思う
速い、大量リクさばける、省メモリ、と今思われているならそれは
今使ってる人が最低限必要なものだけやれるよう頭使って設計がんばってるから
apacheでもnginx(+cgi)でもチューンに精を出して不要なもの省いてどうしても必要ならモジュール開発すれば同じになるんじゃないか

これが正しければ最後にメリットとして残るのはjavascriptで書けるの一点になるだろうけど
いろいろnodeで書いてみた感想としてはめんどくさすぎ氏ねよダボが
0164デフォルトの名無しさん
垢版 |
2016/05/18(水) 00:12:43.60ID:px5hJj8g
GoとErlang/ElixerがあるのにサーバーにNode選ぶ理由皆無
ユーザーとライブラリの水準や最低品質の点でも前者のほうが信用が置ける
まあ、JSerをサーバーとクライアント両方でこき使うのには向いてるんじゃないの
0166デフォルトの名無しさん
垢版 |
2016/05/18(水) 00:57:38.32ID:LRw1LBCt
nodeを速度で選ぶ意義は無いだろうな。
jsで書けるのは凄いメリットだと思うけどね。
手続き型に呪われた言語より余程書いてて納得行く。

>>164
Goはビルドとデプロイめんどい。
どうせビルドとデプロイが面倒ならScalaで書く。
0167デフォルトの名無しさん
垢版 |
2016/05/18(水) 01:46:29.92ID:RjYV2Vao
nodeを大がかりに採用してる有名どころ

netflix
uber
airbnb
linkedin
paypal
walmart
groupon
ebay
dow jones
ny times
yahoo
facebook
instagram
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況