【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
アーキテクチャがころころ変わるのは
オンプレ連中に楽させるかよ金払えって意図がある >>357
そのAnsibleにもあてはまる項目だけど、
各アプリの設定ファイルを、わざわざAnsibleのyml形式で
書き直すっていうのがアホらしいと思う
あと、
Ansible公式でモジュールが用意されているとあるサーバーアプリがあるのだけど、
そのサーバーアプリの最新版がリリースされたら公式モジュールが動かなくなった
このように間に別の仕組みがはいって、その別の仕組はアプリごとに
用意しないといけないものというのは、公式で対応すべきじゃないと思う。
利用者が自分で書くか、アプリ自信に配布してもらうか
ちなみになAnsible Galaxy見てみたら、そのアプリに対応するモジュールが
50個以上あったわw 検証してられるか=それらはゴミ >>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使ってたときは良いプロジェクトが見当たらなくて
汚い設計になってしまった。 要る要らないは個人の考えや開発スタイルによるものだしなぁ ■ このスレッドは過去ログ倉庫に格納されています