【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>204
> 適材適所もできなくてnodeのせいにする無能な人ってこのスレだけじゃなく海外にもいるんだな
まさかそんなことないとか思ってたわけじゃないだろうな 舶来品崇拝主義なら海外勢全肯定でも別におかしくはない >>203
フォースが使えるようになったらマスターだな 【Win10】 こんな犯罪級OS薦めんなよwww ↓ 【スパイウェア】
この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c
【秘密保護法】 ナチスの手口でサヨクを捕まるんだろ? 早くやってみろよ m9(^Д^) 【緊急事態法】
スノーデン氏→国家秘密法は諜報機関NSAの日本での活動を容易にするために米国が設計して日本政府に導入を要求したもの。
全日本人が調査の対象であり、NSAはあなたの交際関係、信仰等の個人情報を把握している。
https://twitter.com/hopi_domingo/status/740193540529999873
今朝、辺野古で新基地建設に反対するママの会メンバーに対して、機動隊員が「お前たちには汚い血が流れている」などと暴言を吐いたそうです。
自分のやっていることを「だってお金欲しいもん〜」「俺の写真を待ち受けにしろ」とも (顔写真)
https://twitter.com/MothersNoWar/status/690357793702940672
サンマ以降のバラエティ芸人の大半が、暴走族出身で極右思想。原発反対派を「放射脳」と嘲笑する連中。
芸能界極右は石原慎太郎一家を筆頭に、上田晋也 草野仁 津川雅彦 向井理 松本人志 宇多田ヒカル マツコ 春日俊彰 田村淳 北村晴雄
https://twitter.com/tokaia mada/status/630627400552845312 webpackとかでワンソース化するのが
メリットあるのってクライアントサイドだけの話ですよね?
サーバサイドの場合はいちいちwebpack通したりするものですか? koa.jsいいっすね。
generator -> co -> async-awaitの流れを学んだら断然コッチが面白い 今から始めるんだったら
koa.jsとexpress どっちがいいんですか? そろそろサーバサイドもjsでやってもいい頃じゃないかな。
エコシステムも成熟しつつあるし nodeを色々調べるとサーバサイド環境とか非同期処理が特徴とか出るけど、rubyやpythonでよくやるような書き捨てのスクリプト(例えばテキストファイル開いて整形するとか)で使うとしたら使い勝手はどんな感じでしょうか? サムスン、Node.jsの開発企業Joyentを買収
サムスンは、米国でNode.jsの開発企業Joyentを買収することで合意した、と発表した。
今回の買収で、サムスンは、これまでベンダーに依存してきた
ソフトウェア、特にSaaS領域での遅れを取り戻し、モバイル、IoT、
クラウドベースのソフトウェアやサービスなどの大規模な需要に
自社のクラウドプラットフォームで対応できるようになる。
Joyentは、Node.jsの開発企業で、
Dockerコンテナに最適化したクラウドサービス「Triton」と、
オブジェクトストレージを提供するクラウドサービス「Manta」が主力サービスに持つ。
https://news.thepedia.co/article/839/ 宗教上の理由でnodeはNGって言えるようになったわけか node.jsのコアモジュールhttp.request/http.getをつかってWebページ(の文字列)を取得したいのですが、
いろいろ検索してみても、
var http = require('http');
http.get('<url>', function(res) {
res.setEncoding('utf8');
res.on('data', function(body) {
console.log(body);
});
});
こんな感じの、コンソールに表示する例しか見当たらず、
文字列を変数に取り込む方法がわかりません。
他のリクエストやスクレイピングのモジュールを用いることなく、
文字列を変数に取り込んで文字列操作をするにはどうしたらいいでしょうか? 今更かよ
>>221
標準モジュール使ってしこしこ書くしかない
まあ大抵npmに便利なものが上がってるから落として使えばいいけど
しっくりこないと自分で作りたくなって結局時間が飛ぶように消える >>227
コンソール部分の代わりに変数への代入や他の関数呼び出しを行えばいい
そもそも非同期の扱い方がわかってないみたいだから質問スレ行った方がいいよ >>229
レスありがとうございます。
console.log()の部分で変数を代入しても上手くいかず、
returnで外に持ち出すこともできず、詰んでしまいました。
一旦ファイルに書き出して、読みだす方法も、まさに非同期の扱いで難儀しています。
質問スレ、どこがいいんでしょうねぇ。 >>227
コンソールに表示してるbodyに入ってんじゃないの?
取りたいものが決まってて定形なら正規表現で取れば多分一番楽だと思う。 >>230
外で定義した変数に入れれば入るけど、そうじゃない。
eventEmitterでも使って、適当な粒度のイベントにして渡したら疎になって後々使いやすいよ。 >>231,232
レスありがとうございます。
"body" に文字列が入っているのは間違いないと思いますが、
これを、後で関数の外で上手く拾うことができないのです。
たとえば、>>227 の後に "console.log(body);" としてもダメでした。
"body" が未定義となってしまうのです(この結果はなんとなくわかります)。
前もって定義した変数"body2"に"body"を代入しても、この "body2" も空でした。
return を使って、関数の外に出すことも試しましたが、
どのコールバック関数を相手にしても、上手く行きませんでした。
eventEmitter 、調べてみます。ありがとうございます。 >>233
変数で橋渡しする場合は>>232の言うように外側で書いて
callbackがそれを参照できる形にする必要がある
また>>227の最後尾にコンソールを書いた場合はリクエスト投げる前に実行されるよ
今回の場合は単に res.on('data', bodyを受け取って文字列操作する関数); でもいいと思うけど
質問スレは↓だけど荒らし(本日ID:W50SJfH+)がずっと常駐しているから注意
http://echo.2ch.net/test/read.cgi/tech/1468158373/ 非同期が全くわかってないパターンか
いるんだねこういう人 >>233
質問スレ側の人間だが、
マジレスすると質問スレで質問するのではなく、非同期を勉強し直した方がいい。
JavaScriptでは非同期が分かっていないと話にならない。
質問したところで分かるようにはならないよ。
色々console.log('test');とか置いて動作タイミングを確認してみるといい。 面倒だから普通はrequestとかsuperagentとかfetchとか使うが標準モジュールでシコるなら
var http = require('http');
http.get('<url>', function(res) {
res.setEncoding('utf8');
var body = '';
res.on('data', function(data) {
body += data;
});
res.on('end', function() {
console.log(body);
});
}); 第2引数に外側で定義した関数を指定すればいいだけなんだけど、非同期に慣れてないとこれがわかりづらいね >>234
>荒らし(本日ID:W50SJfH+)がずっと常駐しているから注意
一日中張り付いているのか?目的は何なの? レスありがとうございます。
外の関数を呼び出すことはできました。
非同期の対処はもう少し勉強します。 undeclared-variables-check入れてみたらrequireでエラー投げて笑った
そりゃ未定義だけどさ そんな、最初にやる設定が抜けてる程度の話をされましても。 サムソンがnodeの会社を買う理由ってなんだろうな。
なんかメリットあるのか? jsでサーバサイドってそんなにダメかな?
むしろaltJSでいろいろな言語から選べるしクライアントとサーバサイドの
共通コードかけるし便利だと思うんだけど
シングルスレッドなところがダメなのかとも思ったけど
cluster使ってforkすりゃCPU数分プロセス作れるし何がイカンのか クライアントとサーバーでコード共通になってもうれしいこと思いつかない 一人がクライアントとサーバーの両方を担当するなら
同じ機能を2回書かずに済んだり、同じエディタを使えたりは利点になるか
jsしか書けない人間が複数いるなら必要に応じて担当を割り当てられるか 複数言語を習得してる人間でも、同時に異なる言語使おうとすると頭の混乱起こりやすい。
やっぱ同じ言語がクライアント・サーバの両方で使えるのは良いんじゃないかな。 JavaScriptさえ知ってればnode.js経験者として採用されるのかと まぁ後はJava/C#を使いたくない場合に
TypeScriptと絡めて「硬い」コーディングがしたい場合の選択肢か バリデーションの共有ってメリットにならないか?
webAPI側のバリデーションとclient側のエラーチェックを共通コードに纏めれたほうがいい気がするんだけど。結構面倒くさいでしょバリデーション 寒チョンにデータが送られるのでバリデーションは大事ニダ 完全なバリデーションが書けるなら client/server 共通でいいだろうけど
なかなかそうもいかないから、別言語の別観点で2重にバリデーションを
するほうが安全かも知れない。 >>263
そんな手間を掛けるくらいならテストを書いたほうがいい。
サーバサイドでjsエンジンを動かしてという手もあるんでしたっけ
reactのサーバサイドレンダリングってrailsとか使うとどうしてるんだろ。 テストで何とかしようとするのは
同じ動的型付けであるRubyが辿った悲劇の二の舞 Win使いなんだけど、みんな開発環境どうしてるんです?
Winでそのまま開発?
GUIありのLinuxをバーチャルか普通にPCインストールしてそこで開発?
それともMac? 前は仮想マシンのLinux内でやってたけど今はそのまま Node.jsなんてLinux入れるまでもないじゃん 最近のwinはlinux環境入れられるんでしょ?
もうwin環境のことは気にしなくていい? すみません質問させてください!
postcssのビルドに7秒くらいかかるんですが、もっと早くする方法ありませんか?
使ってるモジュールはpostcss-importとpostcss-cssnextだけなのですがなんでこんなにかかるんでしょう。
browserifyの時も15秒くらいかかっててwatchify使ったら爆速になったので感動したのですが
postcssにもwatchifyみたいなのってないんでしょうか... >>274ですが、postcssを使っていると言いましたが具体的には
post-css-cliを使っています。
今、代わりにwebpackを利用したpostcss-loaderを使ったビルドを行ってみたら
物凄く早くてびっくりしました。(webpackも内部的にpostcssを使っていると思ってたのですが...)
ただjsにパッケージしたいわけではなく、cssファイルとして出力したいので
webpackは使いたくないです。
昨日、こんな記事を見つけました
http://blog.greggant.com/posts/2016/05/03/post-css-is-slow.html
やっぱりPostCSSって遅いんですかね?
なんかSassよりビルドが早いってことがメリットだと思ってたんですが... SassはRuby実装版とC言語実装版があるんだよ。
Ruby実装版は遅かった。
C言語実装版は爆速
PostCSSはJavaScript実装みたいだから
一般論としてC言語実装のほうが速いだろうね。 >>275
> (webpackも内部的にpostcssを使っていると思ってたのですが...)
どのプラグイン(loader)を使うかによる
> ただjsにパッケージしたいわけではなく、cssファイルとして出力したいので
> webpackは使いたくないです。
extract-text-webpack-pluginを使えば、cssを別ファイルに切り出せる webpackで指定したrequireをバンドルせずスルーするのってライブラリ書くときにやると思うけど
変換せずにES6 Modulesそのままで出力する時代になったら同様の手法ってどう実装するんだろ
import,exportはトップレベル限定だし >>278
だからwebpackにexternalsって機能が用意されてるだろ > ES6 Modulesそのままで出力する時代
webpackを使わないって話か?
それなら細切れのファイルのままで動くはずだろ。
これらのファイルをパフォーマンスのために結合したいっていう話であれば
結合するツールを通せばいいだけ。
それがwebpackだけどなw
最初からwebpackは結合ツールだろ? npm socket.io以外の方法でsocket.ioを入れる方法はあるのでしょうか?
格安VPSを借りてnodeを入れたらnpmがメモリ不足で落ちました。。。
ちなみに128MB+swap128MBです。nodeのために借りたわけじゃないので最低プランです。
nodeを少し触ってみようと思ってみたらメモリ不足だったと。。 yarnでも使ってみたら?
npmは異常にメモリ食うツールだと思ってるんで
改良されたyarnならそこら辺も改良されてるんじゃね? あと結局のところファイルがあれば十分だろうから、
互換性がある環境をローカルで用意してコピーしても動くだろうね。 httpリクエストのパラメーターをJSONで受け取りたいのですが簡単に型チェックを行うにはどうしたらいいでしょうか? node.jsってコンパイル環境なんですか?
いまいちよくわからない・・・ 最近Winでも動くようにシェルじゃなくNodeのAPIでファイル操作書いてるけど
fsはディレクトリ名の変更が面倒だな native moduleでBuffer返そうとしてるんだけど何故かUint8Arrayが返る
これどうすればいい?
v8::Local<v8::Object> lr;
v8::MaybeLocal<v8::Object> buf=node::Buffer::New(isolate, datalen);
buf.ToLocal(&lr);
memcpy(node::Buffer::Data(lr), data, datalen);
args.GetReturnValue().Set(lr);//Uint8Arrayが返る(中身自体は期待通り) args.GetReturnValue().Set(buf); 自己解決 根本的な勘違いをしてた
global掴んでbuffer引っこ抜いきつつ、変換掛けたらとりあえず動いた downloadRecの処理が終わったあとに処理をしたいのですが、何かいい方法ありますか?
var client = require('cheerio-httpcli');
var URL = require('url');
var target = "http://nodejs.jp/"
downloadRec(target, 2);
function downloadRec(url, l) {
if (l <= 0) return;
console.log(url);
client.fetch(url, {}, function(err, $, res) {
$("a").each(function(i) {
var next_url = $(this).attr('href');
next_url = URL.resolve(url, next_url);
downloadRec(next_url, l - 1);
});
});
} >>295
使って色々頑張ってみたんだがどうしてもできなかったので、どうすればいいか教えてください。 Promise直接使うみたいなアホな事する時代は終わったで
時代はasync/await >>294
function downloadRec(url, l) {
if (l <= 0) return 処理終わった後に実行する関数(); >>298
それだと処理し終わった後に実行する関数が複数回実行されないか? >>297
いやいや。段階的に移行した方がいいと知った。
先ずはPromiseを使いこなしてからasync/awaitへ
じゃないと使いこなせないし >>299
確認不足だった
$("a")のlengthを使えばできるかも すみません教えてください
node.jsでaccessのデータを扱うにはどうしたらいいでしょうか?
勉強を始めてみたもののこの部分がさっぱり分からなくて foreverで嵌まっています。
環境はCentOS6.8+node.js v4.7.2+npm 2.15.11です。
通常なら起動すると、
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: ここにパス
が出るのが正常ですが、
最終行のinfoが出ずにコマンドが帰ってこない状態になっています。
肝心のnodeは起動しているのですが、コマンドが帰ってこないので仕方なくCtrl+Cで中断するとnodeのプロセスも止まってしまいます。
forever は-g付でグローバルインストールしており、何度か削除、再インストールを繰り返しましたがだめでした。
散々ぐぐっても解決できず数日立ち往生しています。
何か気付きがある方は知恵をお貸しください。 ■ このスレッドは過去ログ倉庫に格納されています