じゃぁ聞くけどjavaで作るよりnode.jsの方がいい利点はなに?
>>5
サーバサイドとクライアントサイドでコードの共有化ができるくらいかな。
俺はTypeScript大好きっ子だからjsに型がないという弱点も克服したし。 javascriptは言語仕様も実装も活発に更新されてる生きた言語だけどjavaは……
去年はjava9とjava ee 8が出たけど内容は乏しくて死につつある言語
cobolのように現役で使われてはいるけど見向きもされない言語にまっしぐら
>>8
そのくせ昔のが動かなくならないようにとバックワードコンパチビリティがキチガイみたいに徹底してるのが好き。
rubyとかpythonとかphpとかとてもやってられない。 Javaはこれからの言語じゃなくてこれまでの言語ということだな
未来より過去が大事
「そのくせ」の使い方を間違えている
活発に更新されている言語なのに(逆接)互換性命なら「そのくせ」でいいけど
javaの本は今でもたくさんあるのに、node.jsの本はちょっとしかなく、前より減ってるけど
それでも未来はあるの?
それは視点ないし評価の反転であって主従ないし因果関係としては順接だろう
「そのくせ」よりも「だからこそ」の方が適切だと思う
>>14
プログラミングの本には未来がないだろうね >>14
前スレで言ってたように言語仕様が毎年更新されるから出しづらいのかも。
と言うか皆買わないんじゃないかな。
本なくても使えるし。 javaはjavaでjava vmの部分で生き残るんじゃないの
kotlinがあるから最新トレンドの言語仕様が使えるし。
最近はASTとかを駆使してコードの変換も個人でかけるようになったし気にせずいろんな言語で書いて最悪トランスレータをかけばいいよw
kotlinはnativeもやってるからjvmなくても生きていける可能性がある
そこら辺はandroid次第
>>9だけどjavascriptのこと書いたんだけどjavaと勘違いしてる人がいるみたいで…
言葉足らずだったわゴメンゴメン ブラウザではともかくnode.jsでは後方互換性が徹底されてるとは感じない
>>23
つまりAPIの破壊的変更が多いってことかね?あんまし使ったことがないから知らんかった。どの辺の話? v0.12まではほとんどどこでも壊れてたイメージ
streamから何から
v4以降はネイティブアドオンでなければ深刻じゃないかな
細かい非互換性は日本語のブログなんかでもまとめられてる
今はsemverだからメジャーバージョンアップは後方非互換なんでLTSでも年に一回は動かなくなる可能性がある
なーんだ、結局rubyやpythonやphpとおんなじじゃん。ガッカリ
>>25
active期間が終わってから1年間のmaintenance期間があるわけだからその間に移行しろってことでしょ
メジャーバージョンアップが頻繁だってのは分かるけど Meteor.jsを結構前にチュートリアルを一通りやったときは
バックエンドとクライアントでコードを共有できる喜びは感じたかな。
ただ惜しむらくはDBがmongoDB固定だったこと。
今は変わっただろうか?
仕組み上他のDBにしづらいフレームワークで色々ロックインしちゃうんだけど
当時からなんだかとってもPWAって感じだった。
今jsしてないんだけどフロント周りはまだ暴風雨状態なの?
React選んだ人は3年くらい無風じゃね
あれこれ手を出してる人もいるだろつけど
reactはreduxとか, 本体より周辺が暴風雨なイメージ
非同期はいいぞーって言われても、処理終了まで待ちたい場合は、プログレスバーとか出せばいいの?
react無風か?今やv16だぞ何年前のライブラリだっけ?
+reduxでreactと同等のことができるhyperappがスンバらしい。300行しかないのにコードが読みやすい。
reactはv0.14→v15→v16だから落ち着いたものだよ
非互換な変更はまず警告が出るバージョンがリリースされて次のバージョンで変更とかだし移行のためのツールも提供されるし
Electronってやつと同じことはjavaじゃできないんですか
vscode→electronベースのide
webstorm→javaベースのide
同じようなアプリを作れるかって意味ならできるんじゃね?
これから業務用アプリもスマホ化してきますやんかー、
そうしたらHTML5とかで作るって話になりますやんかー
javaには無理?node.jsじゃないとだめ?
wasmなんかよさげなこと書いてますね、unityもいけるのか
wasmよくわからんかった
ためしにunityの何かを入れてみたけど、ぜんぜん動かない
JavaScriptがwasmにコンパイル出来たらいいんだがなぁ。
動的な部分が多いからコンパイル自体がそもそも難しいか。
jsのサブセットともいえるasm.jsからwasmならできる
むしろ一番最初にwasm出てきた時やってたのがそれだろ
そりゃasm.jsじゃなくてAssemblyScriptのことだろ。
>>45
AssemblyScriptが中で使ってるBinaryenがasm.js→wasmサポートしてるじゃん
そいつってTS→asm.jsしてBinaryen呼び出してるだけだったりしてね?
俺が44で書いたのは元々wasmがasm.jsベースで実装始まったって見た気がしたからでそんなライブラリとは関係ないけど あぁ、サブセットってところに引っかかっただけだ。
話を戻すと、RPythonに対するPyPyみたいなものがあればいいんだがなぁ。
wasm調べてたらrustってのに行き着いたのだけど
rustっていいの?
websocketをやらねば!!
↓
node.js!!
↓
なんか使いづらい、ぐっさくね?
↓
java!!
↓
もう老人
↓
wasm!!からの~
↓
なに?
なんでnodeはwebsocket使いにくいの?
煽りじゃなく、ほんとなら個人的に対策立てたいので。
NodeでWebSocket使おうと思ってるところなんだけど, どのライブラリを使うのがいいか分からん
統計だけ見ればwsかな?
Nodeとブラウザで同じコードで動くようにするにはisomorphic-ws使えばいいのかな?
使ってる人おせーて
ぐっさいからWebAssemblyができたんでしょ
答え出てるやん
nodeでAPI作ったらテストツールはfrisbyしかないの?
sqlite3で、serialize関数の中に書くのと直に書くのの違いは何ですか?
データベース読み取り完了後に処理するには直に並べて書いてもいいのでしょうか
コールバックの引数からしか結果を取得できないので無理でした
db.run(...)でクエリを実行
↓
DBとは無関係の普通のjsの式を実行
serializeの中にこの2行を書いたらクエリの実行が完了してから2行目が実行されるのでしょか。
サーバーサイドとクライアントで共通に使うモジュールでlog4jsを使いたいんですが、サーバー側は
npmのlog4js-node、クライアント側はオリジナルのlog4jsを使うようなことってできないでしょうか。
それぞれwebpackでバンドルしてますのでwebpack.configで差し替えるような方法でもよいです。
yes/noクエスチョンして撃沈するやつ大杉www
FreeBSDで
$node -e "console.log('Hello world');"
を入力すると
illegal instruction (core dumped)
と表示されるます
解決方法を教えてください
ちなみにgdbコマンドでcoreファイルを調べても
#0 0x086bed17 in ?? ()
と表示されますが詳細が分かりません
osはi386-marcel-freebsdです
backtraceでは#0~3が全部in ⁇ ()としか表示されません
またnpmもコアダンプするのでllnodeはインストールできませんでした
nodeのバージョンは最新の9.3.0の他に8.9.3、6.12.2、4.8.7を試したのですが全てコアダンプしました
インストーラーにはpkgを使いました
おおーそんなことってあるのか
FreeBSDの環境構築含めて最小限の再現手順を添えてIssueに上げたら?
ちなみに今のバージョンって8.10.0と9.8.0だよ
Node.jsを使ってwindowsでmp3を再生するにはどうすればいいのでしょうか?
とりあえずググって出てきたplay-soundというのとplayerというのを使ってみたのですが
何故かうまくいきません
play-soundは外部プレイヤーを呼び出してるだけっぽいですし
>>71
simplayerってのが気になってたから代わりに試して報告レスを書く権利をやろう >>72
ありがとうございます
それも見たのですが、コマンドを呼び出してるだけですよね
アプリを入れなくてもいいのはいいのですが、
windowsではwavしか再生できないというのが困ります
まぁwindowsがイケてないのですが・・ Electronのメインプロセスでサウンドが鳴らせないことが問題だったのですが
非表示のレンダラプロセスを起動しておいてそこで鳴らせばいいと気づきました
mp3を鳴らすモジュールもElectronを使うようにすれば実現できるでしょうね
メモリ使用量的に富豪的ですが
Pixi.js ベースのゲームエンジン、Phaser とか使わないとできないのかも
CommonJSのやつをESモジュールに書き換える際に依存モジュールってどうしてる?
ブラウザ用にバンドル出力すると.mjsじゃなくなっちゃうし
axiosでdatファイルやsubjectファイルを取得するソフトを作っているのですが、文字化けしてしまいます。
jconvやiconv-liteなどのパッケージを使ったり、環境もDigitalOceanのドロップレットを使ったり
ローカルのWindows10で動かしたり色々しているのですが、どうしても文字化けが治りません。
どなたか、ご教示いただけませんでしょうか。
dat ファイルって、5ch の?
HTML に、文字コードを付けていないのだろ。
どうせ、CP932 だろ
強制変換すれば?
>>79
ご回答ありがとうございます。
axiosで取得した時にSHIFT_JISのコードをaxiosが勝手にutf-8扱いしてデコードしていたために
おかしくなっていただけでした。 >axiosが勝手にutf-8扱いしてデコード
そうか?
鯖がUA観て送信塩湖変えてる可能性は?
スクレイピングなら、Ruby で、Selenium WebDriver, Mechanize の方が簡単
JavaScript, Node は、面倒くさい。
まだ、Electron の方がマシ
参考までに。
Ruby で、Selenium WebDriver で、Chrome のHeadless mode で、
5ch をスクレイピングしたら、文字化けもせずに、テキストが取得できた
ブラウザが、CP932 を自動的に、UTF-8 に変換しているのかな?
driver.navigate.to "http://2chb.net/r/linux/1479499953/8-9"
element = driver.find_element(:css, 'div[data-id="8"] > div.message > span')
puts "内容 :#{element.text}" 以前ならnodeでスクレイプはjsdomとjqueryが定番だったイメージ
最近は知らんけど
最近はヘッドレスChrome使う。(puppeteerなどのラッパーを使って)
seleniumと比べて挟むレイヤーが少なくて同じ以上の事ができる。
他のブラウザでやんなきゃならないときはSeleniumだね。セットアップが非常にめんどくさいけど。
Windows環境でもpuppeteerのヘッドレスChrome動くようになった?
>>89
MBPでもWindowsは動くから分からない理由にならん >>90
MBPだから(いちいちwindows環境用意するのは面倒、従って)分からん MBPだから面倒とはよく分からんな
AT互換機やVMと大してWindowsセットアップの手間は変わらんのに
Node.jsではグローバル変数はglobalの属性にすると知りました
jsファイルにグローバル変数のように書いてる変数はグローバル変数ではなかったのでしょうか?
エントリーポイントのjsファイルも、
実際にはモジュールのように独自の名前空間に閉じ込められていたということなのでしょうか
>>95
グローバル変数がグローバルオブジェクトのプロパティだというのはNode固有の話ではない。
ブラウザだとwindow、Nodeだとglobalでそのグローバルオブジェクトにアクセスできるというだけ。
>>96
仮に閉じ込められているとしても、その「外」が無ければどっちと捉えても同じ。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
AY2FW
fs.createReadStream()のstart, endの値ってuintの範囲に制限されてるっぽくて困った
GitHub見たら10.3.0で修正されてると見て試したら問題なかった 良かった
それよりはzip slipの方が余程大事じゃねえの
標準のZIP展開は並列処理されず遅いので皆自分で書いたりして試したことがあると思うが
パスをそのまま信用しちゃまずいことあるだろうなってことは99.99%の作者が気づく
それをケアしていないのはバグではなく、素朴な実装を目指しただけ
つまり問題と責任は利用者側にある 実際のファイルへの書き込みはライブラリ外の場合も多いだろうし
特に標準が用意されていない環境でそういったライブラリを選ぶときは
きちんと知識を持った上で中身を確認して利用しろというだけのことでしかない
GAEの無料枠で動くようになったけど今となっては遊び場にも微妙だな
GAEこそ真のPaaS
そんなふうに考えていた時期が俺にもありました
>>110
俺はだめだとは思わないけどdatastore周りとかじゃないかな。 nodistをインストールしたら、node7.2.1がインストールされました
このバージョンはどのような基準で決まるのでしょうか?
最新のLTSは8.9.0のようです
それが入るなら分かりますが・・
npmってのはnode.jsでサーバサイドアプリケーションを開発する人専用のツールではなく、
Javaで書かれたプログラムを実行するのにJavaVMが必要なように
何か使いたいアプリケーションがnode.jsで書かれていて、
それをインストールするために必要なものという認識でよいのでしょうか?
なんかちょっと使いたいものを調べるとなんでもnpmが出てくるのですが、
別にnode.jsで何かサーバサイドアプリケーションを作りたいわけではないので、
なんでいちいちnode.js導入しないといけないのだろうと思ってたのですが。
NodeJSはJavaScriptの処理系のひとつでブラウザを除けば最も広く使われている
NPMはパッケージマネージャ
そもそもNPMのCLIツールがJavaScriptで書かれていてNode上で動かすことが前提
NPMで導入可能なパッケージは必ずしもNodeを必要としないがNode上で動かすことを前提としたものも多い
例えばブラウザ向け開発でもWebpackとかでブラウザ用JSを生成するわけだがWebpack自体はNode上で動作する
>>119-120
なるほど、どうもありがとうございます。
VMとかたとえが悪くてすみませんでした。
rpmとかでLinuxにアプリケーションをインストールするイメージで、
node.jsはOSに相当するプラットフォームのようにとらえていました。
あくまでも、その言語向けのアプリケーションを開発するために必要な、
ライブラリを管理するためのマネージャーなんですね。 >>121
みんなこういう例え話好きだが使ってみたほうが早いと思うぞ。
正直osで例えるのはまじで何が言いたいのかわからない nodeコマンドはjsインタプリタ。
nodeで動くjsモジュールが公式、非公式に色々提供されている。多彩なモジュールによりコマンドラインツールやwebサービス、ブラウザアプリ、デスクトップアプリまで開発できる。
パッケージマネージャはnpm。
nodeのモジュールのインストールと、スクリプトの実行機能をもっている。
スクリプト実行はnodeコマンドだけでもできるが大量のモジュールを使うアプリでは依存関係や実行タスク切替が必要になる。そこまで管理できるのがnpm。
npmではまだ機能不足だと感じる人たちはさらにwebpackのようなツールを使う。
web界隈ではcoffeescriptやtypescriptなどのaltjsのjsへの変換が日常的におこなわれる。こういったトランスパイラもnpmでインストールして実行できる。
またトランスパイラはaltjsの変換以外にも毎年アップデートされるjs(es)のパージョン間の違いや、ブラウザ環境とサーバー環境の違いを吸収したり、jsx,vuexなどのDSLの変換等も行うが、それらもnpmで導入出来るようになっている。
coffeescriptは滅んだよ。今altjsで生存確認取れるのはtypescriptだけ。
>>118
たとえ話に意味があるとは思えないが
python: python - pypi
python: python - conda (anaconda)
ruby: ruby - gem
perl: perl - CPAN
node.js: javascript - npm
linux: python - yum
linux: perl - rpm プロジェクト毎に3万ファイルとか50MB以上とかダウンロードしてくるけどこんなもん?
SSDが死にそう
>>126
> SSDが死にそう
安心しろ。この程度でSSDが死ぬことはない
SSDの書き込み回数は1万回ぐらいと言われているが、それはセルごとだ。
1セルのサイズは多くても4ビットだ。もっとも1セル単位で
書き込むわけではなくブロック単位で書き込む。
ブロックサイズは製品にって違うが2KBとしよう
50MB = 50000KB、3万ファイルだから1ファイル1.6KB。
ざっくり大目に見てブロックサイズと同じで2KBとしよう。
つまり1ファイルで1ブロック書き込みをするということだ
ということは1プロジェクトのファイル数が3万とか50MBあったとしても
結局は1万回書き込みができるブロック毎に1回しか書き込みしないということだよ
さらに128GBのSSDであれば、128 * 1024 * 1024 = 134217728KB
これをブロックサイズで割ると67108864ブロックあることがわかる。
それぞれのブロックごとに1万回書き込みができるのだから
全ブロックで671088640000(約67千億回)が総書き込み可能回数となる
SSDはうまくブロックごとの書き込み数を平均化してくれるので
3万ファイル = 3万回の書き込み なので 22369621(約2千万)プロジェクトの
ダウンロードが可能ということだよ(1ファイル1ブロック書き込む前提) 将来プログラマーになりたい高校生です
去年どうやったらプログラム上手くなりますか?と5chで聞ききました。
とにかく何か作れ!と教えてもらいました。そして作りました。
レベルが低くて恥ずかしいのですが、JSで壁にブツカッてしまいました。
こちらのWEBなのですが、
http://www.pafumo.com/
地域を絞り込んで検索をしたら出来るのですが、
選択肢の中身がもとに戻ってしまうのです。
そしてサーバーサイドJSだったら、こういう問題も解決できるかもしれない。
と思いまして、今、導入を考えているのですが、
私のレベルは低すぎて、よく分からなくて、ココの皆さんに教えていただきたくて、
書き込みました。
レベルが低すぎてスイマセンが、なにかアドバイスを頂けませんか?
私は、サーバーサイドJSをやったほうが良いのでしょうか? >>128
これまじでつくったん?
高校生でこのレベルだったら日本じゃ食いっぱぐれないから自信持っていいよwすごい
将来有望!
phpやったことないけど、「php 入力値 保持」とかでググって解決できるかも? >>128
別にサーバーサイドJavaScriptだろうがphpだろうが大差ない
好きな言語を使えばいいし、言語による問題など無いに等しい
言語の壁なんてずっと先の話の話だ
現時点では自分自身の壁の方がずっと近くにある
あとなどうせ現時点では大したデータ入ってないだろうけど
そのコードおそらく脆弱性があるからな。
<input type="radio" name="gakureki" value="AND `学歴_int` IN(2,3)">高校
<input type="radio" name="gakureki" value="AND `学歴_int` IN(2,3,4)">専門
こんな感じでSQLの一部(らしきもの)をサーバーにそのまま投げてはいけない。
この部分は、サイト利用者が自由に書き換えられるから、SQLインジェクションという脆弱性になる
その結果サーバーの全てのデータの流出や削除が起こる可能性がある
仕事ではありえないレベル >>128
hiddenタグとかに埋め込むとかformでpostした内容を読み取ってvalueを書き替えるじゃん?
PHPをやったら簡単かも、htmlspecialcharsとか使えるし->その先はスレ違いで。 「たのしいRuby 第5版、2016」を、3回読んで、
無料のRails チュートリアルをやればよい
Rails をやれば、どのフレームワークにも応用できる
PHP は、Rubyよりも難しいから、素人レベルでは避ける方が無難。
数言語を学んでからの方が良い
フレームワークの基礎は、Rails。
無料のRails チュートリアルをやった後に、以下の掌田津耶乃の本を読む
Node.js超入門、2017
Python Django 超入門、2018
Spring Framework 4 プログラミング入門、2014
Spring Boot プログラミング入門、2016
rubyは組み込みメソッドの仕様が恣意的で見た通りに動いてるとは限らない。
逐次確認が必要だが昔からドキュメント書きたくないでござるの人たちばっかりのコミュニティなのでrubyソース読む羽目になる(教祖もそうすべきと言っている)
Pythonが(書きにくく)読みやすいと言われるのに対しRubyが(好き勝手に書きやすく)読みにくいと言われるのはそのため。
また、似た機能を実現するためのメソッドがたくさんあり、まったく動作が同じ単なるエイリアスだったり、微妙に動作が違っていたりする。これも調べないと分からない。
構文レベルでも同様の混乱を引き起こしており、行き当たりばったりの機能追加が言語全体の一貫性を著しく損ねている状態。
例)https://qiita.com/jnchito/items/83410c0cda446efea582
なのでPythonに完敗して滅んだ。
動物の細胞内に共生して生き長らえているミトコンドリアのように、現在はRailsの内蔵バッテリーとしてのみ生存が確認されている。 >>128
クライアントに状態を保存したいなら、 WebStorage で事足りるかと思います
サーバに進んでもいいけど WebExtension でブラウザ拡張にするって手もありですかね Node.jsに興味がある者です(使ったことはありません)
Node.jsって非同期処理らしいけど、コールバック地獄になったりしないのでしょうか?
見通しの良いプログラム書けますか?
どんな用途に向いていますか?例えば企業のHP? 掲示板? ゲーム?
ド素人ですみませんが、教えてください。
firebaseとかをやると多少サーバサイド周りが楽になる。おすすめ
>>139
NodeというかJavaScriptの文化が非同期中心
コールバック地獄に対してはそれを解消するために色々な機能の導入が進んでる
* ジェネレータ/yield
* promise
* async/await >>137
そのWebExtensionはSafari、特にMobile Safariで
使えるようになるのでしょうか? 最初からasync/awaitできるようにライブラリを再設計してもらいたいね
それよりもasync awaitは、forEachとか関数を引数に取るようなメソッドを使うと
いつの間にかasyncの世界が解除されてしまうのツライ。そのせいでバグってるの何度かみた。lintツールで監視してほしいんだがないかなー?
>>145
try catchが、機能しなくなったりとか。
await 入れ忘れてるとpromiseになっちゃうから >>146
だからlintで対応したいと言ってる。 lintでやることじゃない
TypeScriptで型チェックすればいいんじゃね
>>149
つまり型推論を使わずに受け側の型を確定しろってこと?めんどくせえよ。
lintでasync function 内のスコープで関数を引数に取るような関数呼び出しがあったら警告する。くらいで良い サンプルコードとexpected/actual見ないと何とも言えんな
TypeScriptなら推論してくれるだろ?どこが面倒くさいと言っているんだろうか。
>>128
128ですー!
お兄様達!ありがとうございました。
今回は色々反省点も多かったですが、自分の未熟さが又見えてきました。
本当にありがとうございました
今回はセキュリティを少し修正して一度つくりなおします
まずは・・・また空っぽのWEBサイトに戻りましたwww これより簡単な最新版インストール方法ないん?@ubuntu16.04
sudo apt-get install npm
sudo npm install -g n
sudo n latest
sudo npm install -g npm@latest
nのnvmやnodebrewに対する利点欠点教えてくれ。移行の検討したい
では中古ですのでKindle版より安くお願いします。
裁断は不可です。
いやまぁ、もう持ってるんだけどね
なんかAmazon見てたらオススメ欄に明らかにこんな値段じゃなかった気がする価格で出てたから
なんか原書のIN ACTIONが改版してるみたいだね
基礎から学ぶ Vue.js、mio、2018/5/29
Vue の本が出た
JavaScriptってウンコだな
並列処理ができるサーバーサイドでnode.jsよりマシな言語って何かある?
>>164
C#と言ったんだが…
Visual Studioでも駄目ならもうこの業界から去った方がいいよ こんばんわ>>128です
ちょうど一ヶ月前に色々教えていただきました
あの時はありがとうございました
あれからずっとWEBサイトを作りました
WEBサイトと宿題以外何もやってません
http://www.pafumo.com/
その時に色々注意されたんですが
とにかく教えていただいたスレッド?にはまた書き込ませてもらいました
ワタシとしては頑張ったほうだと思うのですが
完全に生活リズムが崩れて体調も崩したり泣いたり色々ありましたが
とにかくコチラの皆さんに見ていただきたかったのです
とにかく1ヶ月は寝る間も惜しんでやりました
どうでしょうか?動きとかどうでしょうか? >>167
褒めてほしいなら褒めてやろうか?
『高校生にしちゃ良くできてるわ笑』
体調?泣いた?甲子園じゃないんだから感動しねぇわ
node.js使いこなしてから書き込めや
もうすぐ夏休み終わりだぞ?
宿題おわらなくても先生に涙見せればok?ってか こんな大人ばっかりだから
間違えても職業プログラマにはなるなよ
そのまま趣味レベルで大学卒業する迄頑張って何かを作り続けてみ
巷のプログラマのレベルの低さを理解できるようになるから
プログラマになったらそいつらの下で仕事するのが馬鹿らしくなるよ
>>167
こんにちは>>128と>>167です。
ありがとうございます。
前回の僕が作ったWEBが駄目すぎて色々注意をいただきましたね。
でも今回はダメ出しがなかったので、
そこそこ通用したのかな?と思っておきます。 突っ込むのが面倒だからだと思う
なるべく色々な人に見せた方がいいよ
5chの住人はめんどくさがりが多そうだから(多分)
ツッコむのが面倒以前に
おそらくサイトも見てないと思う
node.jsのサーバがちょっとした負荷で無応答になって
それっきり復帰できないので対応策を教えてください。
例えば「user/index」というURLに対してDBなどのソート処理などを
クライアントから連打してリクエストを何回か送ると、
そのうち無応答になります。
タイムアウト処理をしてタイムアウト時に強制的に
res.redirect()とかres.end()すればよいと思ったのですが、
一度無応答になると以降「uder/index」にリクエストしても全て
無応答になってしまいます。
(厳密には「GET」などのリクエストは受け取っている表示が出たあと
全くログが出ません。)
サーバ全体はダウンしていなくて「user/add」へのリクエストは
正常に動くので「user/index」だけが無応答になっている状態です。
この無応答状態を解除する方法を教えてください。
処理中のアクションの関数まだ継続中なら、強制終了したいのですが
その方法がわかりません。
最悪、タイムアウト時にサーバを再起動したいのですが、
外部からでなくnodejs自体で内部から再起動することはできるのでしょうか?
よろしくおねがいします。
フレームワークはexpressを使っています。
また、node.jsのパフォーマンスや可用性対策で参考になるサイトが有りましたら
教えていただけると大変助かります。
>DBなどのソート処理
DB の更新処理に時間が掛かって、表がロックされているとか?
DBのタイムオーバーを設定できないの?
Node.js が受け付ける、同時接続数とかも
5ch のサーバーなんて、しょっちゅうアクセス不能を戻す
>>177
こういうときは再現可能なシンプルなコードを書いて晒すのが一番かと user/indexって単なるselectじゃないの?
それを繰り返してロックするなんてことあるのかね?
select for update呼んでるとか?
>>185
もちろんググりましたよ
おおむねどこもウィキペディアに書かれている理由がほとんどのようですが
パソコン通信やダイヤルアップ接続時代ならともかく現代では無意味です
知識の集積とか気分とか善意とかの理由も2chのようなコミュニティでは無意味でしょう
ちょっとは自分で考えることも覚えましょう >>189
私は具体的な根拠をあげて意見を述べたつもりです
それをあなたは見下したような態度をとっただけで具体的な反論もない
プライドだけは高そうですね コウモリ野郎っていうのは、こっちでは向こうの悪口、向こうではこっちの悪口言う奴ですよね
いろんなところで質問するマルチポストとは違うような気がするんですが
>>186
マルチポストの是非については納得いかないかもしれないが
(そして今は俺もそこには触れないが)
マルチポストしたら実際どうなるかは今実感してるはずだろ
せっかく年齢の割に優秀とか言ってもらえてたのにこの数分でこの有様だ
その向上心と行動力をこんな事で殺さないでくれよ勿体ない 意識高い系にはNode.jsよりもRuby onRailsの方が向いてると思うよ
Ruby on railsなんて一番チームワークが必要だ。
オワコンJava servletで十分。
そしてなるべく家から出るな。
>>193
実際どうなるか今実感しているのは、全く論理的でない筋違いなレスがもらえるということです
マルチポストの話題というのはひょっとしたらタブーになっているのでしょうか
あなたのマルチポスト以外の発言もまた意味不明です
>>195
いえ、何が怖いのかよくわかりません
>>196
>>197
何言ってるのかさっぱりわかりません プライド捨てられないやつは一人でやった方がいいよ。
周りに迷惑かけるだけだから。
マルチポスト高校生に束になってもかなわない自称プログラマー達www
有能な若者に嫉妬なんかしてないで自分たちの心配した方がいいんじゃないの?www
おれはマルチポスト君は変なこと言ってないと思うぞ。物言いはムカつくがw
>>203
お前の方が相当病んでるぞ マルチポストの件でスゴイ荒れてますけど、
僕の書き込みは、173が最後なので、その後の口論みたいなのは僕じゃないです。
ちなマルチポストが駄目って事は1ヶ月前に2chで教えてもらいました
だからもうマルチポストをするつもりはないです
2つのスレッドで報告したのは2つのスレッドで色々教えてもらったからです。
でも途中から見た人にはマルチポストに見えたかも知れません
すいませんでした
よしジジイども、何が何でも叩け
ジジイのプライド見せてやれ
ってかDBの方で設定してる最大のコネクションとコアは何本と何個なの?
そっちが問題だろ。
問題のクエリを何端末か開いて叩いてみればいいじゃないか。
別のメソッドは返事してくれてるんだから、nodeで何かする問題でもなかろう。
>>210
マルチポストがなぜ駄目かの質問書き込みは私です
あらぬ疑いをかけられた様で申し訳ないです
マルチポストが駄目と言われたそうですが、もし理由があったなら教えてもらえないでしょうか >>214
Wikipediaの理由ひとつひとつに論理的に反論してみ 実行するSQLをログで履いて、それを
コピーして手動でDBでSQL実行すると
意図通り4件のレコードが取得できるのに、
nodejsで同じSQLを実行するとresultオブジェクトの
行数が0件なのは非同期処理関係ありますか?
因みにresultオブジェクトは正しく取得できて
いてDBのテーブル名やカラム名情報は
取得できているから接続には問題がない。
一応、結果として返されてはいるのに、
何故か手動の時と結果の内容が違う。
>>217
件数が異なるのに、なんで「resultオブジェクトは正しく取得出来てる」と思えるの?
正しくないじゃん。
nodeでクエリ投げるユーザと、手動で実行するユーザは同じなの?
そのDBやテーブルでSELECTをGRANTしてないとかそういう話ではないと切り分けしてる? 1.回答が複数のコミュニティーに分散してしまい、知識の集積という1コミュニティーの目的にそぐわない。
2.ネット資源(サーバーや回線の能力)とて無限ではない。同じ内容の記事をばら撒くのは資源の無駄遣いといえる。
3.その問題に関心のある人は類似した複数のコミュニティーに参加して新規投稿をチェックしていることが多いが、あちこちの同じ投稿に対してそれが本当に目新しい内容かを峻別しなければならなくなる。
4.他のコミュニティーで付けられた回答を知らずに同内容の回答を付けてしまったり、他のコミュニティーですでに解決したことを知らずに検討を続けたり、善意の回答者の労力が無駄になる。
5.この場所だけでは質問が解決するか不安であるという不信感を表明することと、結果としては同じである。
ウィキペディアの内容をコピペするのはマナー違反にならないの?
プログラミングと言うよりも、環境構築だろ。
LinuC・データベーススペシャリストなどの資格もいるし、数年以上掛かる
DB なんて、WEB+DB とか、ミックの本を読んだり、何年も勉強する
掌田津耶乃の本
Node.js超入門、2017
Python Django 超入門、2018
ましてや、Node, Django の本などは、ここ1, 2年の話。
一方、Rails なんて何十冊も出てるだろ
Node, Django ができる奴は、英語もできて、自分で問題を解決できる人だけ。
最低でも数言語できて、資格も持っていて、数年以上勉強している人だけ
そもそも簡単な言語の順番は、Ruby, Python, JavaScript の順番。
初心者は、無料のRails チュートリアルで、環境構築もみっちり勉強すべき
Node.js超入門は読んだけどこれ読んだだけだとNode.jsを使うアドバンテージなんて得られないと思う
素直にPHPかRubyでも使ってた方がいいんじゃないかってレベル
ちゃんと使おうと思うなら実践Node.jsプログラミングくらいを読んだ方がいいと思う
>>221
2ちゃんねるがこんなに高尚なコミュニティーだとは知らなかった 何日くらい回答なかったらマルチポストしていいんだろうかって悩むことはある
>>229
そんなもんでいちいち悩まずマルチすりゃあいいんだよ。
ここは罵詈雑言、煽り上等、虚実混交の2ちゃんねるだ。
難癖付けられたら華麗にスル~ 結局、掌田津耶乃の「Node.js超入門」「Python Django 超入門」を読んでも、触り程度。
本格的な勉強は、Python, JavaScript で、悪戦苦闘していじくりまわすしかない
それならRuby で、Sinatra をいじくりまわす方が簡単。
難しい言語のフレームワークをいじくりまわすのは、時間を損する
マルチしても良いけど、全部で言い方変えるのと、
全部の回収するのは徹底してほしい。
世界中で、すべての主要言語のフレームワーク・ゲームエンジンの本を書いたのは、掌田だけ!
昔ニフティーフォーラム会議室ってあったよなあ
マルチポスト探し出して投稿者を糾弾することを生きがいにしてたような奴がいたなあ
Nashorn生まれてすぐ脂肪www
憐れwwwww
>>217
resultをコールバックの中で取得してるよね?
コンセント刺さってる?レベルの質問で申し訳ないが babel-upgradeで楽できるかと思いきやstage-*の中身を個別に書き足さなきゃ行けなくてしんどい
Chromeの低速時JavaScript無効化はブラウザ側jsだよな
node.jsへ誘導する為の動き
サーバーサイドの意味を全く理解してないなこのマルチ
無名関数の req, res, に続く3番目の「next」ってなんなんですか?
「next()」を実行すると、次の処理が行われるって言うけど
「次の処理」が何なのかわからないかからよくわかりません。
nextで次に何が呼ばれるか確かめる方法ってありますか?
あとexpressには routesとviewのフォルダしか無いけど、
モデルクラスの定義ってどうやるの?
クラスを定義してオブジェクト指向をやろうとすると、
メンバ変数への値の格納や参照に「this」を使うけど、
JavaScriptの「this」って無名関数のなかだと違う意味になるし、
非同期処理だかthisに格納した値を生成したインスタンスから取り出そうと
思っても格納されていない。
無名関数内でメンバ変数に格納するという作業が後回しになって、
インスタンスからメンバにアクセスして値を取得するコードが
先に実行されてるからだと思う。
Promiseとか使ったけどこのメンバ変数への格納だけはうまく行かなかった。
というのはインスタンスのnewが関数実行じゃないから、
コンストラクタは返り値としてオブジェクトをreturnするわけじゃないだろ?
通常の関数のreturnが非同期でうまくいかない問題はPromiseで
解決できたけど、インスタンスのnewを非同期で成功させる方法がわからない。
node jsで無名関数を使わない処理なんてほぼ無いと言っていいから、
このままだとインスタンスを生成してクラスに処理を委託することができない。
reqに入れれば次のミドルウエアなりなんなりで読めるっしょ。
JavaScript のthis は、文脈依存だからバグる。
jQuery, Haxe では、this を変えてる
だから事前に、this を取っておく。
変数 = this
フレームワークは最初に、無料のRails チュートリアルをやった方が、わかりやすい
Node.js超入門、掌田津耶乃、2017
var that=this
先輩がよく書くこれが何の事か理解するのに半年かかった。
>>250
またRails語の布教してるの?
次世代言語スレで叩かれて学習しただろう? クラスのコンストラクタでasync await使えるようになってほしい
>>252
x Rails語の布教
〇 掌田津耶乃の宣伝 Promiseの再帰について質問です
やりたいことは、フォルダの中を再帰的に掘って見つけたファイルを配列に入れて返す、です
フォルダの深さやファイル数は不確定です
1フォルダの中身をループでひとつずつ見ていって
ファイル・フォルダか判定し
ファイルなら返す配列に入れる
フォルダなら再帰
返った配列を、返す配列にconcat
とする再帰関数を作れば良いと考えたのですが
この再帰関数自体と、ファイル・フォルダ判定が非同期なので、全部堀り終わったかわかりません
そこでループの中身をまるっとPromiseにして、仮配列に貯めておき
最後にPromise.allで実行する、としているのですが、なんか回りくどい気がします
考え方は正しいでしょうか?
https://jsbin.com/rocebihipo/edit?js あるいは再帰関数内でasync-await使えばいいんじゃない
どっちによ最初の関数が終了するかpromiseがresolveすればそれが完走判定になる
素直にnpmから同じことをやるモジュール拾って使ったほうがいいと思うけど
あざます
>>260
同期ならふつうの再帰関数になるので
数が少ないうちはそれでも良いかなと考えてます
>>261
なるほどー files = [ ]
Dir.glob( 'C:/Users/Owner/Documents/**/*.txt' ) do | full_path |
next if File.directory? full_path # ファイルだけを処理する
files.push full_path
end
puts files
Ruby なんて、これだけ。
glob に、** で再帰する。glob star
ただし、. で始まる、directory, file を除く
find ./ -name "*.txt"
find なんて、これだけ。
ウインドーズ環境でnode.jsでcon.拡張子 みたいなファイル作ったら消せなくなるな。
いろいろ調べてやってみたが全部のほうほうで消せなかった。
消せなくなる勇気があればやってみてほしい。
管理者でコマンドプロンプト開いて
rd /s "\\?\フォルダ名"
visual studio 2017ってnode.jsは自分でダウンロードして
インストールする必要があるの?
>>271
VS2017でもnode.js開発できるよ 日本語通じてない感やばない?
VS2017はインストール時にNodeを一緒にインストールするか選べる
グローバル空間に、ネームスペースを付けずに、パッケージに
含まれる関数全部を一度に分割代入を使わずにリクワイヤーするにはどうやりますか?
Object.assign(global, require('hoge.js'))
>>277
ありがとうございます。
リファレンスエラーになってできませんでした。 未だに--saveが必要なくなったことに気がついてない人がいる
あの変更はかえって--no-saveする手間が増えて不便だわ
>>287
どうしてそう思うのか書いてもらえないと参考にならない。
海外のブログ読んでると、真っ先にyarn移ったような人たちが最近続々とnpmに戻ってきていて、俺にはなぜyarnに移ったのか、そしてなぜnpmに戻ってきたのかサッパリ分からない。 今さら分からない人は分かりたいとも思ってないだろうからどうでもいんじゃね?
npmに戻る人がいるのはnpmがyarnのいいところをどんどん取り入れたからだろう
まともなロックファイル、パフォーマンス、コマンドラインの改善(npx含む)はyarnの後追い
npm独自なのはセキュリティ周りか
良くも悪くも、標準だからだと思うけど。
俺も標準だから戻ったよ。
標準の地位に胡座をかいてシュリンクラップ糞のまま放置してたからyarnに寝首をかかれた
なんでも独占はよくない切磋琢磨が必要
ラズパイでなんかやろうとしたときに全然うまくいかなくて試しにyarnにしたらうまくいった事はあった
ほとんどAPI同じだけどstatsじゃなくてdirent実装したのは何でなん?
yarnはパッケージマネージャー界のCoffeeScript
個人的な感覚だけど組込み関連でもっと伸びるんじゃないかと思う
最近シリアル通信のプログラムよく書いてるよ
node.js は、Ruby on Rails でも必須
Babel, Webpack で、ES2015 を、ES5 へ変換する。
Coffee Script, Type Script は不要
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
Rails プログラマーも、この本を読むのが必須!
jsはフロントエンドで排他的な地位を築いてるわけだがwasmで変わるかどうか
class使うと冗長的でイヤだな~
JAVAの人以外に使う人いるのか?
PHPもclass文化が入ってきてから長ったらしくて見にくくなった
昔はReactはclass必須だったけど最近はconstしか使わなくなったな
>>309
それじゃnpmのバージョンが表示されてるだけ
npm outdated electronとか
npm list electron 仕事じゃなければclass使う機会ないんじゃないの?
もともと第一級言語だし。
JAVAはいちいち面倒なことしてるなって思う。
去年までのreactではライフサイクル扱うのに必須だったからそれなりにclass使ってた
今はhooksで不要になったけど
vuejsでclass使わないのはvuejsのclassサポートの出来が悪いから
webcomponentsではclass使う
おっとwebcomponentsではssrしてないからスレチか
dockerでwindowsとalpineの間で共有フォルダを作り、windows上のvscodeで作業しています。
作業ファイル(React)をvscodeを通してdocker内でnpm startしローカルホストを立てそれをwindowsのchromeでアクセスしています。
そのとき、ファイルを変更しては保存をしての繰り返しで挙動を逐一チェックしたいのですが、
修正した.jsファイルを更新してもブラウザ上では内容が更新されません。
一度ctrl c を押して停止させてから、再度npm startをして接続すると、ブラウザでも修正内容が更新されます。
ブラウザのキャッシュ削除や、検証モードでdisable cacheにチェックを入れていても同じでした。
dockerを使わないwindowsだけでの作業をしていた時は、ブラウザの更新マークを押すだけで修正内容が反映されていました。
現在、自動でキャッシュを削除してくれるるnodemonを入れて作業しているのですが、
こちらも結局は、ファイルを上書き保存した時点で自動でnpm startを繰り返してくれるだけなので
どうしても時間がかかってしまいます。
上書き保存をし、ブラウザを更新しただけで修正内容が反映される様にするにはどうすればいいでしょうか?
nodemonってことはwebpackは起動してない?
hot module replacement(HMR)使うならdockerの中だろうとwebpack通さないと
あとHMRちゃんと設定できてればブラウザのリロードしなくてもファイル保存しただけで変更が反映されるよ
つか画面周りの開発でdocker使っていいことあるか?
初心者ですがWindowsでnode.jsを使いたいのですが
一人で開発する分にはnvm-windowsとnode.jsとvscodeぐらいを入れとけばやれますか?
作ったアプリを配布する際にパッケージの依存関係を何かに表さなければならないと思うのですが、どう抽出して何に記述しますか?
あとBrowserifyって額面どおりのことを本当にやれるんですか?
(たとえばローカルファイルにアクセスしたりソケット通信するようなJavaScriptコードについて
ガチの初心者かい
的外れなこと聞くよりnpmとかyarnのチュートリアル探してやった方が意味があるぞ
Node.js, VSCode, Babel, Webpack。
他には、VSCode の拡張機能とか、yarn, gulp
タスクランナーは、gulp, npm scripts
PC 内のファイルにアクセスするなら、Electron とか。
VSCode も、Electron 製
なるほどPC内のファイルにアクセスするためのツールなんですね、Electronって。
ファイルにアクセスするだけならnode.js単体でもできる
electronはブラウザとnode.jsを統合したものでHTMLベースのGUIを持ちつつファイルやネットワークを自在に扱える
つまりデスクトップアプリのプラットフォーム
Electron は、サーバー側・GUI の両方を、1つにまとめたもの!
V8 は、JavaScript の実行環境
サーバー側は、Node.js + V8。
GUI はブラウザで、Chromium + V8
おおー!
V8 が重複しているから、これを1つにしたら効率的!
つまり、Electron = Node.js + Chromium + V8
だから、Electron アプリは、300MB もあるw
>>327
知らないならそんな無理してレスしなくてもいいやろ この変な改行は見覚えあるな
いつもWeb板の質問スレでめちゃくちゃなレスしてるやつかな
違うよ。Rubyガイジっていう、ム板で一番嫌われているキチガイ。
糖質の見本みたいなやつ。医学発展のために献体すべき。
Nodeって、なんでこんなに広がったんだろうな?
たかだかjs如きが
たかがJSと蔑まれる要因だった高過ぎる自由度が、ベストプラクティスの集積のお陰ですべてプラスに転化してしまったんだ
古くはunixやcもたかがだしpcもwindowsもたかがだし
たかがtcp/ip、たかがjava、たかがlinux、そんなばっかだぞ
詰まったので質問させてください
WSH(JScript)で書いたスクリプト[run.js]からnode.js[test.js]を実行して結果を標準出力で受け取って表示させると日本語が文字化けします
文字化けしないように受け取るにはどうすればいいか教えてください
[run.js](WSH)test.jsを実行して標準出力で結果を受け取る
var WShell = WScript.CreateObject("WScript.Shell");
a = WShell.Exec("\"C:\\Program Files\\nodejs\\node.exe\" C:\\script\\test.js").StdOut.ReadAll();
WScript.echo(a);//結果の日本語文字化け
WScript.Quit(0);
[test.js](node.js)コマンドプロンプトのdirの結果
var childProcess = require("child_process");
var iconv = require("iconv-lite");
var buffer = childProcess.execSync("dir",
{
timeout: 60 * 1000, // タイムアウト1分
});
console.log(iconv.decode(buffer, "Shift_JIS"));
少なくともブラウザ上で実質唯一の選択肢だったのがブラウザ以外で実用的になったわけだし, 広がる道理としては十分だと思うけどな
>>342
ありがとうございます!
CodePageを65001にしても変わらずrun.js実行で文字化けの結果が返ってきます・・・ あ、CodePageじゃなくてchcpです。レジストリからいじってやりました・・・
>>339
process.stdout.write(buffer); >>345
ありがとうございました!最後の行を置き換えたら文字化けせずに表示されました
ずっとハマってたのでちゃんとできて泣きそう聞いてよかった クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0
WScript.Shell の、Run, Exec は、絶対パスじゃなくても、node みたいなコマンド名で書けるだろ?
例えば上なら、powershell というコマンド名
コマンドプロンプトで、where node と入力すると、パスが通っているだろ?
C:\Program Files\nodejs\node.exe
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0
WScript.Shell の、Run, Exec は、絶対パスじゃなくても、node みたいなコマンド名で書けるだろ?
例えば上なら、powershell というコマンド名
コマンドプロンプトで、where node と入力すると、パスが通っているだろ?
C:\Program Files\nodejs\node.exe
そのやり取り見てふと探してみたけどNodeから扱えるクリップボード監視APIorモジュールってないんだな
単なるコピペなら見つかったけど
node.jsでローカルのクリップボード操作ってどうしてる?
java使ったりFlash使ったりは見つかるけどいまいち
npm startをしたところ
Something is already running on port 3000. Probably:
Would you like to run the app on another port instead?
と表示されNoを選択したところローカルで立ち上がりませんでした。
(先にport3000を閉じたくてNoを選んだのですが)
既にport3000が立ち上がっているのが原因かと思うのですが
port3000のローカルを閉じるにはどうすればいいのでしょうか?
通常ですとctrl cで閉じれると思うのですが、
気づいたらそのフォルダごと消えていて、でもport3000は更新しても立ち上がったままになっていまして。
フォルダの方は練習用だったので消えても良いのですが
今後のためにport3000を閉じるコマンドを教えて頂けないでしょうか
netstat -a -n | grep 3000
>>355
こういったコマンドがあったのですね・・・
関連コマンドも調べてみて勉強になりました
ありがとうございます! prompt系モジュールでtimeout実装したのって無いの?
探したけどinguirerがプラグインで追加できるくらいしか見つからなかった
>>358
Promise.race()でタイマーと組み合わせればいい 全く初心者です。
Node.js と nuxt.jsってどうちがうの?
Node.js は、Electron, Ruby on Rails でも使う、すべてのweb 系の基礎。
絶対に、インストールして使うもの
パッケージマネージャーのnpm/yarn も使う。
Webpack, Babel なども
Nuxt.js は、Vue.js をより効果的に使うためのライブラリ
JavaScript のサーバー側は、Node.js で、
クライアント側は、jQuery, Vue.js, React など
初めてwebpackでサンプルをビルドした新参ですが、node moduleからbrowser.jsっていうのが組み込まれているようです
これって何をするものなんでしょうか?
browser.js は、babelで変換せずに、ES6で書いたJSを、ブラウザで実行する
Not intended for serious use
Compiling in the browser has a fairly limited use case...
まあ、実験用
詳しくは「browser.js」で検索して!
>>366
有り難うございます
ES6で書かなければ必要ないものが組み込まれちゃうって事なんでしょうか?
自分のコードが大丈夫でも使用したmoduleがES6の可能性あるとかなのかな
とりあえず気にしない事にします VSCode では、普通にES6 でも動くから、気にした事がない
それが他人のプロジェクトなら、その設定ファイルに書いてあるのだろう
サーバにphpとDBおいてフロントサイドをjsで運用しているんですが
web-dev-serverでこういった環境をローカルに作る事って可能でしょうか?
それともnode.jsを使う以上サーバサイドもjsにしてしまうべきなんでしょうか?
PHPのbuilt-inのweb server使え
>>370
有り難うございます
今までxammpっていうのを使っていたのでそれに流せばいいのでしょうか?
ちょっと試してみます Ruby なら、PowerShell から、1-liner で、
Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
何も考えなくても、これでブラウザからアクセスできる
http://localhost:8080
これで遊んだ後は、Routing, O/R マッパーなどを備えた、Sinatra, Rails などのフレームワークを使う。
Rails のコピーが、CakePHP, Spring Boot 最終的な構成で、考えれば?
フロントエンドをサーバーサイドと一緒に配布する(ただの静的ファイル扱い)だけなら、同じサーバでいいけど、
そうでないなら、フロントエンド側も初めから別のサーバにしておく方がいい(CORS対応は必須)。
dev-serverだから開発用途のでしょ
たぶんwebpack-dev-serverだろうけどそれならhot module replacementとか使えるからサーバが何だろうと開発時は使うべき
サーバがnode以外の時はproxyの形で使える
>>376
有り難うございます
proxyの概念自体がよく解ってないんですが、そういう仲立ち的な使い方も出来るという事ですね
ちょっとnpmだけでも覚える事が多すぎるのでゆっくり慣れていく所存です… Node.js のnpm, yarn, PHP のComposer とか、Ruby のBundler のコピーだろ。
別に、覚えることなんてない
global/local のインストールの区別と、本番用/開発用の区別だけ。
それと、設定ファイル
たぶんnpmレジストリで公開されてるパッケージ群の総称としてnpmと言ってんじゃね
npmのパッケージ全部覚えるとか
Cの野良ライブラリ覚えるのとか
githubのレポジトリ全部覚えるのとか
苦行以外の何物でもない
node.jsはjavaにおけるjvmみたいなもの?
electronを使ったデスクトップアプリは今後普及するでしょうか?
>>382
web開発で培った技術がパソコン・携帯端末でもさらに活かせるようになったら嬉しい。 VSCode は、Electron 製
マルチプラットフォームは、
React Native + Expo
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI
Mono を使っている、Unity, Xamarin
やっぱり漏れは、サーバー側は、Node.js よりも、Ruby を使うけど
Ruby使うセンスはわからんな。
今どきRailsとか?
あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。
>>385
>あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。
流石にそれはないww >>386
Railsがそれぐらいあり得ない悪手だよ、今どき。 案件の数的にはphp, laravelってのが多いな。
PHPも7以降はプリミティブにもタイプヒンティング使えるからそれを積極的に使うとrailsより良かったりする。
PHPはフレームワーク使わずに、きちんとバリデーションして信頼境界線を意識して使うと、すごく便利よ。
歯を磨くには歯ブラシだなって思う。
Electronで作られたソフトってVSCode以外に何がある?
>>392
Slack
Fiddler Everywhere Skype、Discord、Atom、Wordpress、WhatsAppのそれぞれデスクトップ版はElectronらしい
HomebrewのインストーラがBashに置き換えられた
どっちにpublishすればいいねん問題は杞憂に終わったか
でも一強他弱の構図ってあんまりろくなことにならないんだよなぁ
やーんはcliだから今の話とはちょっと…
リポジトリ/レジストリがms/github一強過ぎて他の選択肢がーってことよね
eventsモジュールにいつの間にか生えてるonceメソッド
ずっと前にこのスレで誰かが欲しがってたやつだな
Deno出てきたけどコアモジュールの互換性がないのはきつい
両対応のための中間モジュールが必要になって太る結果にならないといいけど
勉強を始めるならそれでもいいがプロダクションで使うのはまだしばらくnode一択だな
Deno普通に良さそうだな。
地味に名前で喧嘩売ってるのも嫌いじゃない。
deno、typescriptネイティブに使えるのが良いな
セキュリティ機能は、早々にalias切って無効化して使いそう。
あと、モジュール読み込みがgolangぽくURIなのは構わんけど、deno.landの信頼性が未知数だ
モジュールがURIなのはgoと同じ轍を踏みそうで気にはなるな。
みんなちゃんと互換性に注意して作って、最初からRESTなAPIのようにv1とかv2とかパスに含めるかな?みたいな猜疑心はある。
ただ、Denoでよくやったと思うのは、バンドラーを積んだ事だと思ってるけど、みんなどう思う?
今までnodeで作ったサーバモジュールをインターネットが繋がってない環境にデプロイするの、結構めんどくなかった?
bundleは素晴らしいと思う。
モジュールURIはversion含められるみたいよ
armまだなのか。ラズパイで動けばホントに言うことなかったんだけどな。
やっぱbundle前提か。
しかし、deps.tsは言われてみるとなんと言うことはないんだけど、賢いな。
こいつがっつり使ってみようかな。
Nodeと併用できないと趣味以外で使う人いないだろうな
node.jsなしでESLintが動かないなら難しい
あとlanguage protocol serverが実装されないと難しい
開発ツールとしてのポジションとなるのは難しいね
linterはdenoが公式に内蔵する可能性高い
formatterはすでに入ってる
nodeにもTLA着たけどREPLじゃ動かんな
仕様ではESM限定だった気がするけどDevTools辺りではできてなかったっけ
こんな感じのコードでresolveは実行されてもpromiseが伝達しないケースがあるんだけど
内部的にはどういう理屈でそうなってるの?
new Promise(function(resolve,reject){
eventemitter.on('hoge', function(){
this.removeAllListeners();
resolve();
});
});
>>427
伝達されないケースの具体例を出さないとわからんよ 実際にはlistenerがasync関数で後から発火した他の同期listener内で先にresolve実行してた
そりゃ伝達しないわ…
Web API実装の流れでNodeにEventTargetが来たけど使う人いる?
逆なら欲しかったけど