約 3,112,935 件
https://w.atwiki.jp/ohden/pages/1087.html
npm npm 8.15.0 npm install npm cache clear force npm ls npm run npm run lint npm run build npm run dev tmp npm access npm adduser npm audit npm bin npm bugs npm cache npm ci npm completion npm config npm dedupe npm deprecate npm diff npm dist-tag npm docs npm doctor npm edit npm exec npm explain npm explore npm find-dupes npm fund npm get npm help npm hook npm init npm install npm install-ci-test npm install-test npm link npm ll npm login npm logout npm ls npm org npm outdated npm owner npm pack npm ping npm pkg npm prefix npm profile npm prune npm publish npm query npm rebuild npm repo npm restart npm root npm run-script npm search npm set npm set-script npm shrinkwrap npm star npm stars npm start npm stop npm team npm test npm token npm uninstall npm unpublish npm unstar npm update npm version npm view npm whoami 更新日: 2023年09月04日 (月) 22時38分04秒 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/m_shige1979/pages/1443.html
ルーティング 概要 ルーティングファイルを用意してリクエスト毎に処理を分ける サンプル index.js var server = require("./server"); var router = require("./router"); server.start(router.route); server.js var http = require("http"); var url = require("url"); function start(route) { function onRequest(request, response) { var pathname = url.parse(request.url).pathname; console.log("Request for " + pathname + " received."); route(pathname); response.writeHead(200, {"Content-Type" "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888); console.log("Server has started."); } exports.start = start; router.js function route(pathname) { console.log("About to route a request for " + pathname); } exports.route = route; 実行 コマンド D \Tools\Works\nodejs_test\sample04 node index.js Server has started. Request for / received. About to route a request for / Request for /favicon.ico received. About to route a request for /favicon.ico Request for /test received. About to route a request for /test Request for /favicon.ico received. About to route a request for /favicon.ico 画面
https://w.atwiki.jp/m_shige1979/pages/1451.html
ファイル構成 概要 新規にExpressのファイル構成 構成情報 ./ /node_modules /public /images /javascripts /stylesheets /routes /views /app.js /package.json ディレクトリの説明 node_module モジュールのディレクトリ public Javascriptやスタイルシートのファイルを配置する routes ルーティングパスに対してのメソッド用のロジックを含むファイルを配置 views テンプレートファイルを配置する(デフォルトはJadeテンプレート) app.js サーバ起動用のJavascriptファイル。ルーティングなどを設定する。 package.json 必要なモジュールの設定情報
https://w.atwiki.jp/m_shige1979/pages/1440.html
実行方法(Windows7) 実行方法 javascriptファイルを作成して、「node javascriptFile」で実行する サンプル ソースファイル // サンプルメッセージ設定 var msg = "sample01 Test"; // サンプルメッセージ表示 console.log(msg); 実行コマンド D \Tools\Works\nodejs_test\sample01 node sample01.js sample01 Test D \Tools\Works\nodejs_test\sample01
https://w.atwiki.jp/ohden/pages/1158.html
nodenv nodenvやnvmを使うんならanyenv使うのが良いと思う。 anyenv h4 ■ h5 ■ h6 ■ 更新日: 2023年09月11日 (月) 01時14分08秒 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/ohden/pages/1156.html
環境構築 NodeJS on nodenv nodenvを使って任意のnodeJSを有効にする。 nodenvは、anyenvを使ってinstallする。 nodenv versions * system 18.17.1 nodenv global 18.17.1 node --version v18.17.1 NestJS install Nest CLIをinstallする。 $ npm install -g @nestjs/cli install終わったらversionを確認できるか試す。 $ nest --version 10.1.17 NestJS Application作成 document $ nest new nest-app ? We will scaffold your app in a few seconds.. ? Which package manager would you ?? to use? (Use arrow keys) ? npm yarn pnpm package managerの選択。矢印キーで"?"が動くので、選択して...Enterで決定。 個人的にいろんなんpackage managerを混在させるの嫌いなので行けるところまでnpmで... ? Which package manager would you ?? to use? npm CREATE nest-app/.eslintrc.js (663 bytes) CREATE nest-app/.prettierrc (51 bytes) CREATE nest-app/README.md (3340 bytes) CREATE nest-app/nest-cli.json (171 bytes) CREATE nest-app/package.json (1949 bytes) CREATE nest-app/tsconfig.build.json (97 bytes) CREATE nest-app/tsconfig.json (546 bytes) CREATE nest-app/src/app.controller.spec.ts (617 bytes) CREATE nest-app/src/app.controller.ts (274 bytes) CREATE nest-app/src/app.module.ts (249 bytes) CREATE nest-app/src/app.service.ts (142 bytes) CREATE nest-app/src/main.ts (208 bytes) CREATE nest-app/test/app.e2e-spec.ts (630 bytes) CREATE nest-app/test/jest-e2e.json (183 bytes) ? Installation in progress... ? ? Successfully created project nest-app ? Get started with the following commands $ cd nest-app $ npm run start Thanks for installing Nest ? Please consider donating to our open collective to help us maintain this package. ? Donate https //opencollective.com/nest Applicationの動作確認 生成されたNest Applicationを動かしてみる。 $ cd nest-app $ npm run start > nest-app@0.0.1 start > nest start [Nest] 16937 - 09/10/2023, 1 58 09 PM LOG [NestFactory] Starting Nest application... [Nest] 16937 - 09/10/2023, 1 58 09 PM LOG [InstanceLoader] AppModule dependencies initialized +9ms [Nest] 16937 - 09/10/2023, 1 58 09 PM LOG [RoutesResolver] AppController {/} +8ms [Nest] 16937 - 09/10/2023, 1 58 09 PM LOG [RouterExplorer] Mapped {/, GET} route +2ms [Nest] 16937 - 09/10/2023, 1 58 09 PM LOG [NestApplication] Nest application successfully started +2ms nodenv local 一応、local環境にも設定。 $ nodenv local 18.17.1 構成管理 生成されたApplicationはgit initされた状態なので、commitくらいはしておく。 $ git add . $ git commit -m "base commit" 更新日: 2023年10月14日 (土) 23時39分34秒 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/m_shige1979/pages/1442.html
equireで分割 概要 実行ファイルとサーバの起動ファイル2つに分割 サンプル index.js var server = require("./server"); server.start(); server.js var http = require("http"); function start() { function onRequest(request, response) { console.log("Request received."); response.writeHead(200, {"Content-Type" "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888); console.log("Server has started."); } exports.start = start; 実行 コマンド D \Tools\Works\nodejs_test\sample03 node index.js Server has started. Request received. Request received. 画面
https://w.atwiki.jp/m_shige1979/pages/1457.html
MongoDB 概要 MongoDB用の接続に関する説明 インストール package.jsonを編集 { "name" "application-name", "version" "0.0.1", "private" true, "scripts" { "start" "node app" }, "dependencies" { "express" "3.1.0", "jade" "*", "mongodb" " = 0.9.0" } } 「npm install」でインストールを実行 D \Tools\Works\nodejs_test\webexpress01 npm install npm WARN package.json application-name@0.0.1 No README.md file found! npm http GET https //registry.npmjs.org/mongodb npm http 200 https //registry.npmjs.org/mongodb npm http GET https //registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz npm http 200 https //registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz npm http GET https //registry.npmjs.org/bson/0.1.8 npm http 200 https //registry.npmjs.org/bson/0.1.8 npm http GET https //registry.npmjs.org/bson/-/bson-0.1.8.tgz npm http 200 https //registry.npmjs.org/bson/-/bson-0.1.8.tgz bson@0.1.8 install D \Tools\Works\nodejs_test\webexpress01\node_modules\mongodb\node_modules\bson (node-gyp rebuild 2 builderror.log) || (exit 0) D \Tools\Works\nodejs_test\webexpress01\node_modules\mongodb\node_modules\bson node "C \Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild mongodb@1.2.14 node_modules\mongodb └── bson@0.1.8 D \Tools\Works\nodejs_test\webexpress01 mongodbサーバのデータを用意、確認 use testdb01 switched to db testdb01 db.sample.find() { "_id" ObjectId("51656cdc05d8cc0fb2136d90"), "aaa" "111" } { "_id" ObjectId("516571711a63b8674ff2f9b7"), "aaa" "222" } サンプルソース app.js /** * Module dependencies. */ var express = require( express ) , routes = require( ./routes ) , user = require( ./routes/user ) , mongo = require( ./routes/mongo )// 追加 , http = require( http ) , path = require( path ); var app = express(); app.configure(function(){ app.set( port , process.env.PORT || 3000); app.set( views , __dirname + /views ); app.set( view engine , jade ); app.use(express.favicon()); app.use(express.logger( dev )); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, public ))); }); app.configure( development , function(){ app.use(express.errorHandler()); }); // ルーティングメソッド設定 app.get( / , routes.index); app.get( /users , user.list); app.get( /mongo , mongo.showMongo);// 追加 app.post( /mongo , mongo.saveMongo);// 追加 http.createServer(app).listen(app.get( port ), function(){ console.log("Express server listening on port " + app.get( port )); }); routes/mongo.js /* * データベース */ var mongo = require( mongodb ); var client = new mongo.Db( testdb01 , new mongo.Server( localhost , 10000)); client.open(function (err, client){ if(err){ console.log(err); }else{ console.log( connected to mongodb ); } }); // 表示用 exports.showMongo = function(req, res){ client.collection( sample , function(err, collection){ if(err){ throw err; } collection.find().toArray( function(err, results){ if(err){ throw err; } res.render( mongo , { title aaaa , list results }); } ); } ); }; // 追加用 exports.saveMongo = function(req, res){ // パラメータ取得 var name = req.param( name ); client.collection( sample , function(err, collection){ if(err){ throw err; } // 保存 collection.save({aaa name}, function(err, results){ if(err){ throw err; } // リダイレクト res.redirect("/mongo"); } ); } ); }; views/mongo.jade doctype 5 html head meta(charset="utf-8") title= title body div h1 Mongo DB h2 データ追加 form(action="./mongo", method="post") input(type="text", name="name") input(type="submit", value="追加") ul each item in list li=item.aaa 結果 画面表示して既存のデータを確認 データを入力して追加 表示画面に表示されていること クライアントより確認して、追加されていること db.sample.find() { "_id" ObjectId("51656cdc05d8cc0fb2136d90"), "aaa" "111" } { "_id" ObjectId("516571711a63b8674ff2f9b7"), "aaa" "222" } { "aaa" "333333", "_id" ObjectId("516575141f4ca65020000002") }
https://w.atwiki.jp/evenewsjapan/pages/26.html
担当 Nie 記載日 2008/10/12 原文 http //myeve.eve-online.com/devblog.asp?a=blog bid=589 コメント Eveで使用しているサーバ関連の技術的な情報です。 My node was equipped with the following... 投稿者:CCP Mindstar 2008.10.06 17 40 24 皆さんこんにちも! 我々がここ2,3週間行っていた事についてDev Blogに書き加えようと思います。 そして、Tranquility サーバのクラスターに何が起こっているのかもお知らせ致します。このIssueはStacklessIO、64bit EVEへのアップグレードと関係しています-、そして我々が目指している内容についても触れていきます。 1x EVE Server Cluster EVEサーバのクラスターは、3つ層に分かれています。時に専用用語が飛び交いますが(下記にも)実際は結構簡単に説明できる内容です。 Proxy Blades EVEサーバークラスターのPublicに面している部分です。これらはクラスターの空きをプレイヤーの接続またはプレイヤーのコミュニケーションを確立させるために使用されます。 SOL Blades Tranquilityの馬力になる部分で、我々の現在の焦点でもあります。このクラスターは、90~100枚ごとに分割され、それぞれ2つのnodeを走らせています。 Nodeとは単一のEVE Server Processです。これはクラスターの中で最も下部レベルのプロセスです。 Dedicated SOL Blade これは私たちが一つの星系だけに割り当てているSOL Bladesです。Jita,Motsu、およびSaliaのような星系です。他のSOL Bladeと同様に2つのNodeを走らせていますが、2つ目のNodeは現在Idle中で稼動していません。 Database Cluster EVE Onlineの永続的な層です。走っているNodeは、Databaseと頻繁にやりとりをおこない、もちろんゲーム内で行うほとんどすべての事がここに集約されています。われらのRamSan(シリコンを用いた記憶媒体)のおかげで、我々のDatabaseはTranquilityが生じさせる膨大な入出力の負荷についていくことができます。 ピーク時には我々のDatabaseは2,000 transaction per seconds以上(1秒間に2000ユーザが出した命令や反応、その他行動等)の速度で処理を行い、またそれらは、38,000IOPS(毎秒入出力処理)を生じさせます。この負荷に追いつくために、私たちは現在2つのRamSanを用いています。 1x SOL Blade EVEサーバーアプリケーションそれ自身(Nodeと呼びます)は激しいCPU処理を行います。 そのためStackless Python programming methodologyを使用することは必然でした。それぞれのNodeのPython Componentはシングルスレッドであり、これは一度に一つのCPUコアしか使用できないことを意味しています。 私たちのSOLはIBM製で、ごく最近までAMD Opteron 2.8Ghz Dual Core Processorsと、4GBのDDR1 Ramで稼働していました。ここ6カ月ほど、私たちはOpteron(CPU)をより強力なものへ進歩させるよう動いていました。我々はいつくかのdual socket,dual core Intel Xeon 3.0Ghz Woodcast bladesを選択し、テストに不可欠なStacklessIOを使用していました。現在そのStacklessIOはリリースされ、それらのBladesをフル活用し、TranquilityのTest Bladeとして第一段階に入っています。 1x Rapid Deployment Jitaへ1,400人のプレイヤーがに集まったとき不運なことに、Jitaを担当していたBladeのメモリが不足が起きたという知らせがありました。我々はIntel test bladesをアテにしすぎていたかもしれません。 対応としていくつかのRAMを入れ替え、5つの新しい16GBのDDR2Ramを備えたIntel SOL bladesを実装する準備を行いました。我々はこの試験実装をTranquilityへ先週ほどこし、Dedicated SOL Bladeとして設置しました。安定性を信じてそしてパフォーマンスの向上を期待して見守っていたのです。そしてその夕暮れに、(ロングメンテ後)Jita,Saila,そしてMotsuではパフォーマンスは向上が確認できました。それらのRegionではお祭り騒ぎになりましたが。。。 先週末の間GM達は、一つも「Stuck Character」のPetitionをJitaから受け取らなかったのです!! 3x Epic Fleet Fights この土曜日、私たちは、0.0を支えているNodeの一つが致命的な状態になり、まもなく停止してしまうことを確認しました。この問題は断続的に起こっていました。この問題は、本来修正可能であり、現在我々は解決しようと一生懸命働いています。 原因となる理由としては、700人以上のプレイヤーが一つの場所に集結している時に起こっています。彼らの居るAMD Nodeは、クラッシュしつづける以外に何かできることはありませんでした。我々は試験的な意味でも、その問題のある星系をIntel Bladesへと再配置しました。Jitaは昨晩よりも良いパフォーマンスを見せました。我々はこれらのNodeが艦隊戦をよりうまく処理してくれるだろうと考えています。このシステムは持ちこたえ、停止という事実は噂の如く、過去の歴史となりました。 日曜日の夜ではM-OEES星系はホットスポットでした、そしてM-OEESは前もってIntel 64Bit Dedicated SOL Bladeに割り当てらていました。それは、450人以上のプレイヤーによるピーク時でも十分に耐えれました。 月曜日の夜に、1000人以上のプレイヤーがこの星系で戦闘を始めようとしました。日曜日の如く、私たちはそこで我々での戦いも起こると予想しました、そしてその星系はDedicated nodeへと割り当てられましたが、不幸なことに700人のプレイヤーを抱えるAMD BladeがNode Crashを起こしたことによって、私たちのIntel Bladeは1,200人以上をとらえようとしてクラッシュしました・・・。ですが興味深いことに、クラッシュしたにも関わらず多くのプレイヤーが、この1000人を抱えたBladeのパフォーマンスがshutdownの10~15分前には、とても良いパフォーマンスを示していると報告があったのです。 私はCCPがこの事実に対してとても興奮しているということを強調したいと思います。そして我々は希望でいっぱいです。なぜならいったんこれらのノード死を引き起こす問題が解決できれば、今後この印象的な素晴らしいパフォーマンスを皆さんに提供できるからです。多くの人々が、新しいテクノロジーのためにとてもハードな仕事に入りました、そしてそれらはプレイヤーの皆さんに対してうまく提供できていると思っています。 さて・・・次なる目標は・・・ 私たちはこれらのアップグレードを完全に終わらせたわけではありません。まだ多くのすべき仕事があります。ここ最近の2週間、我々はいくつかの新技術の準備をしています。そして我々は現在、すべての人々が利益を得るための最も良い方法のために開発しています。 新しく、そして速いBlades 3.0Ghz Intel Woodcrest Bladesは好調ですが、このプロセッサ技術はWolfdaleにとって変わるでしょう。Wolfdaleはさらにパワフルです、我々はいくつかのintel Xeon 3.3Ghz Wolfdale Bladesを急遽注文しました。我々はこれらをすぐにClusterに組み込むよう考えています。そしてこれらが我々により大きなパフォーマンスの増大を与えるだろうと予測しています。それによりTranquility Clusterへの道を開かれるでしょう。現在購入することを検討しているハードウェアは、HPC(High Performance Computing=高機能計算)が出来る時代までの間に見るであろうハードウェアであるという意識をする価値はあることでしょう。このプロジェクトの進捗に関しての詳細なプレゼンテーションは、11月のFanfestaで行われる予定です。 皆さんを助けるために、私たちを助けてください 私たちが、新しいハードウェアを得るということは良いことです、しかし、そこには私たちがHPCのハードウェアをアップグレードするまで、すこし時間があります。この間、艦隊戦闘システムをDedicated Nodeへ置くためにDowntime中に実施しようと思っています。我々はプレイヤーがどこにクラッシュの原因を作るか予測できるわけではないため、どの星系に艦隊戦、または大規模な行動があるのかを知らなければなりません!私たちは、プレイヤーが直接Virtual World Operation teamにこの情報を伝えるための方法を確立し、実施しています。コープの Directors(各コープのCEOまたは幹部)は、大規模艦隊戦やその他の計画された作戦をPetitionするよう求められます。(24時間以上前にStuck Characterのカテゴリで行ってください。参加する人数もそれぞれ何名づつなのかの見積もりを含んでください)それがあれば我々はDowntimeの間に、星系をDedicated Sol Bladesに割り当てるよう作業します。(これによりクラッシュ等のトラブルが回避できる仕組み) 最後に、この一連の出来事に対して一個人的な考えを残しておこうとおもいます。 This is EVE Online! Impossible is nothing! ※上記ラスト文について:これはEve Onlineなんだ、不可能なことは何もない!! まさにその通り、素晴らしきはEve開発者。我々プレイヤーはもっと彼らを尊敬し協力すべきカモカモ。(私見)
https://w.atwiki.jp/m_shige1979/pages/1438.html
インストール(Windows7) Node.jsのサイトよりWindows版のインストーラーを取得してダウンロードする 「next」を押下 チェックして、「next」を押下 インストール完了まで待機 完了を確認して「Finish」を押下 環境設定を開く ”path”にインストールしたパスを追加(今回は”C \Program Files\nodejs”) コマンドプロンプトより確認