【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>359 > 各アプリの設定ファイルを、わざわざAnsibleのyml形式で > 書き直すっていうのがアホらしいと思う うん、アホらしいね だから、設定ファイル(ふつーのテキストファイル)に変数を埋め込む機能が準備されてるんだね ゴミに関しては、chefのcookbookの方が多いんじゃないかな さらに同じ目的なのに多数類似品が見つかるし、動かなくなってるのもあるし ただ、 > 各アプリの設定ファイルを、わざわざAnsibleのyml形式で > 書き直すっていうのがアホらしいと思う は書くのは大変だけど、多大なメリットがある それは、デプロイするパッケージのバージョンを上げるときに、付属する設定ファイルが 結構変わったり、パッケージそのものが変わっても、設定をyamlで書いとけば変更なし (あるいはちょっとした変更)でいけたりする iptablesからfirewalldの変更とかね 設定アイル事前準備→内容書き換え→配布だと、それに対応できない場合がある > それは、デプロイするパッケージのバージョンを上げるときに、付属する設定ファイルが > 結構変わったり、パッケージそのものが変わっても、設定をyamlで書いとけば変更なし > (あるいはちょっとした変更)でいけたりする それは普通にアプリ標準の設定形式であっても同じ もし、付属する設定ファイルが結構変わっていたりしたら それにAnsibleが対応するまで、使えない。 実際、エラーが出て困ってる。 >>360 > 書き直すっていうのがアホらしいと思う うん、アホらしいね だから、設定ファイル(ふつーのテキストファイル)に変数を埋め込む機能が準備されてるんだね そして、アホらしいから設定ファイルに変数を埋め込む方法を使えば 設定ファイルが大きく変わったとき困るよね? >>361 > iptablesからfirewalldの変更とかね iptablesはこっちを使いましょう https://docs.ansible.com/ansible/iptables_module.html firewalldはこっちを使いましょう http://docs.ansible.com/ansible/firewalld_module.html 見ての通り使える機能が違うからオプションも違います。 iptablesを勉強した後、Ansibleのドキュメントを見て、何が何に対応するか調べましょう そして firewalldを勉強した後、Ansibleのドキュメントを見て、何が何に対応するか調べましょう docker派の俺、高みの見物 自社サーバー中心だとその辺楽だなあ >>362 > もし、付属する設定ファイルが結構変わっていたりしたら > それにAnsibleが対応するまで、使えない。 そんなことないよ。 設定ファイルが結構変わってても、設定する項目は変わらなかったりする。 locale関連設定とか、timezone設定とか。 >>363 > 設定ファイルが大きく変わったとき困るよね? そうだよ。だからyamlで設定するメリットを書いた。 >>364 > 見ての通り使える機能が違うからオプションも違います。 だから、yamlで設定を書いておけば、少しの変更でいけるって書いたじゃん。 それに、この例で言えば、iptablesでもfirewalldでもいける設定を誰かが作ってるかもしれないし。 俺はそれ探すより自分で書き換えた方が速かったから探してないけど。 誰かが作ったカスタマイズ度が高い設定を使うだけなら、chefもansibleも似たようなもんかもね。 >>357 のデメリットが大部分あてはまる。 > だから、yamlで設定を書いておけば、少しの変更でいけるって書いたじゃん。 それは無理。公式がコードを修正しないといけない どれも枯れてないものばかりだし変化に文句つけても仕方なかろう 実際に手を動かしてるやつがいて安心したんだけどな 机上の空論語るよりよっぽどためになる と言いつつ、dockerの俺は高みの見物 ES6モジュールで書かれた依存モジュールがある状態だとbabel-node使えないな node_modulesのignore外すとbabel自身を変換しようとするのかエラー出て通らない globalにbabel-cli入れないとダメか electronで作ってるんだけどC#とかのWindow Form?と違ってcssデザインの才能ないと見た目が悪くなるなコレ こういうのを参考にすれば? monaca(PhoneGap/Cordova) + AngularJS + Onsen UI サンプルアプリ & テンプレート https://docs.monaca.io/ja/sampleapp/samples/ Onsen UIをカスタマイズするOnsen Theme Rollerの紹介 http://blog.asial.co.jp/1355 >>376 これ便利ですね! ありがとうございますm(__)m npmが壊れたみたいなのですが、これはどうすればよろしいのでしょうか。 経緯: 1. 本日初めてインストール。(v4.8.1-x86、なおvistaなのでv6.10.1は無理だった) 2. gulp等インストールが順調に完了 3. uglifyしようとするも、ES2015のためエラー 4. uglify#harmonyをインストールしようとするも、httpsでエラー 5. ローカルにクローンしてnpmしても、途中でhttpsでエラー 6. npm install npm@latest -g しようとするが、ディレクトリを間違えていたため途中でCtrl-Cで止める 7. これ以降npmが動かなくなる 8. 何度もnodeをアンインストール/再インストールしてみたが、npmが動かない。 9. エラーメッセージは以下。(ディレクトリ名は消してます) >npm version npm module.js:327 throw err; ^ Error: Cannot find module 'semver' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object.<anonymous> (npm\node_modules\npm\lib\utils\unsupported.js:2:14) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) アンインストールしても直らないので、レジストリかどこかに書いてそうなのですが、 ご存じないでしょうか。 vistaの場合はドッチなんだろう ここも削除してみたら Windows XP - %USERPROFILE%¥Application Data¥npm¥node_modules Windows 7 - %AppData%¥npm¥node_modules と言うか最新版が入らない時点で終了な気がする。 ネット上の環境使ったほうが早くないかな https://c9.io/ >>379 ありがとうございます。復活しました。 ディレクトリは%USERPROFILE%\AppData\Roaming\npm\node_modulesでした。 >>380 試行錯誤の末、何とか動くようになりました。 結論としては、Gitも最新版にする必要があったようです。 > https://git-scm.com/download/win nodeにもgitが入っていてそれを使っているものだと勘違いしてました。 ありがとうございました。 next.js使えるって思ったら クライアントサイドのコードとサーバサイドのコードの連携方法が不明。 expressでlistenしているサーバーの443ポートに、socket.ioをねじ込むことはできますか? httpsしか許可していないLAN環境で使いたいためです。 >>389 ありがとうございます。 別IPか別ホストに分けて起動するようにします。 レス間違えました。388ありがとうございます。 >>389 そうなんですか? どうやるんでしょう? 何分、始めたばかりで基本の知識に乏しいものでして… >>391 expressのserverをioの引数にしてlistnするだけじゃなかったっけ? >>392 ありがとうございます! 調べてやってみます。 こんな感じであっさりとできました。すげー! keysはSSLの証明書ファイルとかです。 ex = require('express'); app = ex(); ... some js ... sv = https.createServer(keys, app).listen(port, bind); io = require('socket.io').listen(sv); ありがとうございました!! Node.js@Windowsです。 spawnを使ってexpectのようなことってできないんでしょうか? 例えば以下のように、stdoutに「Y/N」が出力されたら「y」と答えるようなことがしたいのですが…。 const spawn= require('child_process').spawn; const de = spawn('del', [ '/p', 'foo' ], { shell: true }); de.stdout.on('data', (data) => { if (data.toString().indexOf('Y/N') !== -1) de.stdin.write('y'); // ??? }); next.jsってjsコードをクライアントでもサーバでも動くように書かないとだめなの? 例えば以下のような条件を入れてサーバとクライアントで処理を分岐することはできるけど typeof window === `undefined` そもそもimportについてはどうすればいいの? fsがないって怒られんるだけどサードパーティのライブラリが依存してたら使わなくてもエラーになっちゃうし。 react naitive躓きました react-naitive init hogehoge ってやってプロジェクト作ろうとするとdoneと表示されてもプロンプトが戻ってこない。 nodejsはanyenvを使って最新を入れてます。 ctrc+cで無理やり戻すと当然プロジェクトはできていないので何もできない。 まだ勉強し始めなんだけどコールバック地獄を抜けたらPromiseラップ地獄が始まってる気がするゾ RxのAsyncSubjectってPromiseと比較してどんなメリットがあるんだ? async/awaitで使えないから不便と思う callback地獄なんか近づかずにpromiseとasync await始めたほうがいい。 promise抑えてからじゃないとasync await使えないから、promiseは必須な rxはreact nativeあたりと組み合わせるとどうなんだろうね? coldとhotって概念があったり意外とつまずきやすい。全てがstreamという概念は素敵そうだけどreactとうまく組み合わせられるんか? async使い出すとやってくるtry catch地獄 コールバック地獄って無名関数でしか渡してないから問題なだけじゃね? fs.readdir(source, function(err, files) { if (err) { console.log('Error finding files: ' + err) } else { files.forEach(function(filename, fileIndex) { console.log(filename) gm(source + filename).size(function(err, values) { if (err) { console.log('Error identifying file size: ' + err) } else { console.log(filename + ' : ' + values) aspect = (values.width / values.height) widths.forEach(function(width, widthIndex) { height = Math.round(width / aspect) console.log('resizing ' + filename + 'to ' + height + 'x' + height) this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) { if (err) console.log('Error writing file: ' + err) }) }.bind(this)) } }) }) } }) >>408 fs.readdir(source, func1) var func1 = function(err, files) { if (err) { console.log('Error finding files: ' + err) } else { files.forEach(func2) } } var func2 = function(filename, fileIndex) { console.log(filename) gm(source + filename).size(func4) } var func3 = function(width, widthIndex) { height = Math.round(width / aspect) console.log('resizing ' + filename + 'to ' + height + 'x' + height) this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) { if (err) console.log('Error writing file: ' + err) } var func4 = function(err, values) { if (err) { console.log('Error identifying file size: ' + err) } else { console.log(filename + ' : ' + values) aspect = (values.width / values.height) widths.forEach(func3) }.bind(this)) } } >>409 redux学習中だけどRxJSと組み合わせると何が幸せになるん? RPとFRPの区別がついてない奴を馬鹿にして粋がれるとか >>411 RxJSのメリットは非同期の扱いを楽にしてくれること RxJSとreduxを組み合わせるのは 一番よく使われてるフレームワークにのっかることで Redux向けのツール類やノウハウなんかでそのメリットを享受するため >>409 の1つ目のリンクはRxJSだけでreduxと同じようなことをやってる例 2つ目は組み合わせて使う例 >>410 少し訂正。問題は適切な名前をつけるのが難しいところにあると思うね。 var func1 = function(err, files) { if (err) { console.log('Error finding files: ' + err) } else { files.forEach(func2) } } var func2 = function(filename, fileIndex) { console.log(filename) gm(source + filename).size(func3) } var func3 = function(err, values) { if (err) { console.log('Error identifying file size: ' + err) } else { console.log(filename + ' : ' + values) aspect = (values.width / values.height) widths.forEach(func4.bind(this))) } } var func4 = function(width, widthIndex) { height = Math.round(width / aspect) console.log('resizing ' + filename + 'to ' + height + 'x' + height) this.resize(width, height).write(destination + 'w' + width + '_' + filename, func5) } var func5 = function(err) { if (err) console.log('Error writing file: ' + err) } fs.readdir(source, func1) electronというかjsでデスクトップアプリって流行ると思いますか? >>413 非同期の扱いを楽にするって観点ならasync awaitで必要十分じゃないか。 RxJSならではのメリットを知りたい。 >>415 reactnativeでデスクトップアプリが作れるようになったほうがいいと思うけどね。性能面でも。 electronで結構キラーアプリは出てるから使えて損はない。 chromeOSが復活しないかな。 アプリごとにchromeが中で動いてるのって無駄な気がするんだよね WEB+DB vol.97 の特集が、React WEB+DB vol.94 の特集が、Kotlin, Electron RxJSをみてるとJavaScriptにPromise入れるのは もっと慎重にやるべきだったと思うね reduxは非同期処理入れるのにミドルウエアが必要でその中の候補としてrxjsがあるってこと? 非同期処理は多用するんだからミドルウエア無しで対応しろよ 非同期の方法がたくさんあるからビルトインにしてないんだろ RxJSが使いたい→redux-observable generaterが使いたい→redux-saga Promiseが使いたい→redux-promise 好きなのを選べる rxは嫌いな奴は本当に嫌いなのでデフォルトにすると人死にが出る ReactとRx同時に使ったら、サイズが大きいのが気になりませんか? >>421 かなり慎重だったよ 当初提案のメソッドや機能も大分削ぎ落とされたし Rxってコンセプトがシンプルなのにいざ使おうとするとライブラリのインターフェースは複雑で、シンドってならない? >>428 でも結局Observableになるんだろ? Fetch APIがPromiseベースなので、処理がキャンセルできなくて困ったしな。 Fetch APIの戻り値はObservableに変更すべき。 >>429 jQueryとPromise(Deffered)で関数型インターフェースには慣れていたから、 イベントでフィルタできる新しいメソッドが追加されたぐらいにしか思ってないよw >>430 おいおい大丈夫か?? PromiseはPromiseで、ObservableはObservableで必要だよ いいか? ObがあればPrが要らないと言うのは ジェネレーター関数があれば関数が要らないと言ってるのと同じことだぞ 関数とジェネレータ関数の関係とはちょっと違う気がするが まあ言いたいことはわかる >>433 説得力ゼロだなw ObservableがあればPromiseはいらない。 ObservableにPromiseの機能が含まれてるから promiseは単発、observableは連発 連発は単発を包含してるが最適とは限らない completeしか発生しないObservable = Promise そもそも非同期=時間がかかる処理なのだから、 必然的に途中でキャンセルしたくなるのが普通。 キャンセルができない時点でPromiseは片手落ち >>436 promiseは非同期処理の約束手形observableはオブジェクトの値の変化を検知する仕組み。 なんでどっちかしかいらないって話になるのか >>438 Netflixとかなら動画を取り扱うからキャンセルできたほうがいいけど、 他の案件でも必要か?適材適所でしょう。 なんでもストリームとして取り扱うRxは宣言的な記述になるけど、 それが読みやすいかというと、 俺はpromise とasync awaitの方が読みやすい。 RxのObservableと廃案になったObject.observeが混在してる件 多機能があれば単機能はいらない そんなふうに思って(ry >>441 えっ。違うのかそれ。解ってなかった。すまぬ RxのObservableはnodeのReadable Stream (flowing mode) みたいなもん >>443 分かってなかったのかw 通りで話が噛み合わないわけか。 ObservableはPromiseの改良版 >>445 違う。Promiseで十分と思えるような作業であっても 実際は、処理のキャンセルや進捗状況の把握が必要になる。 だからPromiseの仕様では不十分という話 必要になるとは限らない そもそもキャンセルの方法がないものも多い promiseでは全てのケースをカバーできない→正しい だからpromiseはいらない→間違い でもPromiseだからこそasync awaitを駆使して同期プログラミングっポイ見た目でかけるわけで。 そこはRxではむりでしょ?そもそも宣言的な記述なウリなんだろうけども。 まぁ結局一人で開発だったらドッチもあってもいいけど 複数人プロジェクトだとRxは使いづらいわな。 Observeを束ねて全部処理が終わったら終了処理をしたいんだけど、どうやったらいいんだろう Httpリクエスト…Promise websocket…Observable んでRx使ったやつで良いプロジェクトってあるの? RxSwift使ってたときは良いプロジェクトが見当たらなくて 汚い設計になってしまった。 要る要らないは個人の考えや開発スタイルによるものだしなぁ つうかキャンセルだけならCancelablePromise案もあるし、 実際はキャンセルが内蔵されていると不都合があるのでCancelToken案のように 仕組みを外部に用意するのがベストだからPromiseは今のままで良いと思うよ あと因みに例で挙がってたfetchはキャンセル出来る。 キャンセルする必要があるような重たいファイルをDLするときは Stream使うだろうから、その場合rs側にcancelメソッドがある。 逆に言うと、もしfetchがプロミスレベルでキャンセルに対応した場合、 こういうStream何かとの兼ね合いはどうするのかって話になる。 自動でrs.cancelが呼ばれるようにするのか、それともclosed例外吐くようにするのか。 やっぱりCancelTokenのように外側から突き刺す形が一番良いよ。 なんかの勉強会でcancelable promiseの標準化は頓挫したと聞いた ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる