サーバーサイドJavaScript総合
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/05/15(木) 16:22:12ID:omRBHTnIクライアントJavaScript/JScriptについてはWeb制作板へどうぞ。
とりあえず俺は今頃Jaxerで遊んでみてます。
AJAJAって無くなったのかな? 公式らしきURLがwikipedia転送になってますね
その他にもいろいろ実装あるので、>>2以降で軽くリンクとか書いて行きます
0176nobodyさん
2011/11/11(金) 20:53:37.75ID:???ありがとう!
パーフェクトのはクライアントサイドの本だと思ってたよ
買ってみる!
node.jsやるならwinよりmacのがいいのかな
情報はmacのが多い気がする
0177nobodyさん
2011/11/11(金) 21:31:45.09ID:???わざわざ本番環境に使えない環境でノウハウ貯める意味ないと思う。
0178nobodyさん
2011/11/12(土) 00:23:45.33ID:???0179nobodyさん
2011/11/12(土) 05:09:42.00ID:???わざわざMacを用意するのは馬鹿だけど。
0180nobodyさん
2011/11/16(水) 08:06:30.47ID:???っぽいんですけど情報はメッチャ少ないですね
>>177,178
素直にUbuntuでやります
有り難う御座いました
0181nobodyさん
2011/12/17(土) 23:59:15.09ID:???現在、多くのプログラマ(素人)がウェブアプリケーションというものがベストな正しい方向だと勘違いしている。
ソフトウェアの作るにおいてそのアプリケーションに応じた状態遷移を実装するというのは基本中の基本である。
その点においてウエブブラウザというある状態遷移が実装されているアプリケーションの上に
また別のアプリケーションを実装するのは論外である。
そこまでするなら普通にアプリケーションを実装してダウンロードして使ってもらえばいいのである。
ウェブアプリケーションとは虚構にしか他ならない。
ウェブアプリケーションを作ろうとしているあなた。
今すぐ普通のアプリケーションとし設計し始めてはいかがだろう。
そうすればきっと後悔しないですむ。
HTMLやHTTPを悪者にはしていない。
TCP/IPができあがり、その応用として、ファイルを送ったりするようになった。
ファイルの中身のテキストにデータ構造をもたせ、それはつまりツリー構造なわけだが
その実装としてのハイパーテキスト、つまりHTMLという送る側と送られる側で決め事(プロトコル)
をつくり、画像や音楽など表現の幅を広げることは当然の成り行きだっただろう。
そして、その送る側としてのHTMLファイルサーバ、つまりWebサーバ、送られる側としてのプロトコルの解釈・表示系としての
ブラウザというアプリケーション。
ここまではいい。
だが、そこから先が素人の発想というか、いそがばまわれを忘れた者の愚かな発想。
つまりブラウザ上で、アプリケーションを動かすという発想なのである。
ブラウザというのは、おくられてきたステートレスな通信内容の一瞬の表示手段でしかない。
つまりアプリケーションのためのひとつのパーツなのである。
Windowsでいえば、コントロールのひとつ。(実際WebBrowserというコントロールがある。)
JavaならWebClietnだ(これは、ブラウザではないが。)。
包含関係が逆なのである。
ブラウザ上にアプリケーションを作るのは愚かなブームである。
0182nobodyさん
2011/12/18(日) 00:22:26.17ID:???0183nobodyさん
2011/12/18(日) 20:54:05.79ID:???サーバークライアント型アプリケーションをインストールする手間を省き
ユーザーにとって簡略的手順を提供するにはブラウザが手っ取り早い
ブラウザは殆どのOSにプリインストールされてるし
0186nobodyさん
2011/12/27(火) 08:21:21.17ID:???3年半以上も前の書き込みかよ…
もうnodeも無理じゃね?
でもライノーなんて1997年くらいからあるんだぜ?ww
カスタマイズ可能な法人向けパッケージ製品でSSJS使えるのはいくつかあるけど
パッケージ自体はJAVAかCで書かれてるしなぁ
0187nobodyさん
2011/12/27(火) 09:13:23.30ID:???ちょー繁盛サービスなんか無いってことですね。
ネット後進国ジャップwwwwwww
0188nobodyさん
2011/12/27(火) 12:11:37.94ID:???いやいや
ナウなヤングでお馴染みのCAさんはバリバリ使ってサービス展開してるよ
ただ、団塊ゴミ幹部ばかりの企業では取り入れられないだろうね
0189nobodyさん
2011/12/27(火) 15:06:28.22ID:???新規サービスのどこかに取り入れたいな。
とりあえずテストしてみてるけど。
ネックはノウハウと開発スピード。
0190nobodyさん
2012/01/21(土) 10:53:04.52ID:???pdf.jsを使おうとしているが、文字化けが激しいな。これ。
ただ、FireBugの出力を見るかぎり、日本語のパースそのものはできているみたいだ。
こんな風にソースが出力される:
<div data-canvas-width="216" style="font-size: 24px; font-family: GothicBBB; left: 192px; top: 244.667px; letter-spacing: 3.25px;" data-text-length="9">カスタマーサポート</div>
でもって、PDFに埋め込まれたフォントをパースしてdata-uriにしてWebフォントとして読み込み。
@font-faceで参照しているようだ。
この様子だと、font.jsのPDF埋め込みフォントを読み取って変換する処理が怪しい。
でも、data-uriってたしか字数制限なかったっけ?
0191nobodyさん
2012/01/29(日) 15:01:57.65ID:???IE8で動かないんだが、どうすればいい?
0192nobodyさん
2012/01/29(日) 18:52:01.87ID:???0194nobodyさん
2012/02/01(水) 16:39:52.44ID:???その後、プロンプトでnpm install socket.ioを実行して、http://socket.io/にあるサンプルを起動してみた
だが、しばらくしても何も起きない
おかしいと思ってみたら、
エラー: io is not defined
ソースファイル: http://localhost/webchat/
行: 12
と表示されてた
サイトのFAQを読みながらサイトにあるサンプルの記述を調べてみたんだが、特におかしなところがなかった
IISな環境でsocket.ioを使ったクライアントにはどうすればいいの
サーバー側はどうも動いてるんだが、クライアント側が全然動かない
0195nobodyさん
2012/02/01(水) 23:48:35.36ID:???socket.ioが提供してるスクリプト読み込んでるか?express介してるならファイルパスが定義されてるはず
サーバー側とクライアント側のスクリプト2つ合わせてsocket.ioだ
個人的にはWindowsはサーバーサイドプログラミングには向かないと思ってるので
VMwarePlayerでUbuntuいれろって思う
(Windowsであることを理由にバグかどうかわからんっていうならWindows避けてほしい)
0196194
2012/02/02(木) 16:24:20.48ID:???<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="description" content="">
<meta name="robots" content="all">
<title>???????</title>
<link rel="stylesheet" href="">
<script src="http://localhost/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:8124');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
</head>
<body>
<p>test</p>
</body>
</html>
ちゃんとやってるよ
0198194
2012/02/02(木) 20:07:18.02ID:???0200nobodyさん
2012/02/02(木) 20:39:33.72ID:???0202nobodyさん
2012/02/14(火) 12:22:43.52ID:???あと、指定は/socket.io/socket.io.jsでよかったはず
0203nobodyさん
2012/02/15(水) 21:06:46.01ID:???チャットのサンプルがあるフォルダーに移動してnpm install -dをたたいて
localhost:3000のページを開いてみたら、こういう風に言われた
Error: Cannot find module 'jade'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at View.templateEngine (C:\Program Files (x86)\nodejs\node_modules\express\lib\view\view.js:134:38)
at Function.compile (C:\Program Files (x86)\nodejs\node_modules\express\lib\view.js:68:17)
at ServerResponse._render (C:\Program Files (x86)\nodejs\node_modules\express\lib\view.js:417:18)
at ServerResponse.render (C:\Program Files (x86)\nodejs\node_modules\express\lib\view.js:318:17)
at C:\inetpub\wwwroot\chat\app.js:38:7
at callbacks (C:\Program Files (x86)\nodejs\node_modules\express\lib\router\index.js:272:11)
[x1B][90mdebug -[x1B][39m served static content /socket.io.js
モジュールがあるフォルダーを見てもjadeはちゃんと存在するのに、なぜか起動しない
0204nobodyさん
2012/02/15(水) 23:59:13.96ID:???たぶんパスだと思うけど、よくわからないから、chat/app.jsのあるルートでbundle installでとりあえず直下にnode_module/ができてそこにはいると思う
0206nobodyさん
2012/02/16(木) 12:11:10.70ID:j3I05iJ0書き忘れた
chat/node_module/というフォルダーがあってそこにjade、socket.io、nis、expressなどが入ってた
npm install -dだと動かないのかな
0207nobodyさん
2012/02/21(火) 00:23:28.96ID:j6lMfzZ1CGI?Apacheのモジュール?それともnode.js自体がアプリケーションサーバ?
0208nobodyさん
2012/02/21(火) 02:31:37.23ID:Nv/vOYjoMIKAMIのインターネット でググれwwww
痛すぎてワラタwwwwwwwwwwwwww
0209nobodyさん
2012/02/21(火) 09:18:17.07ID:???nodeが普及するならそこから
0210nobodyさん
2012/02/21(火) 22:18:38.01ID:???意味不明な書き込みするなよキチガイ。
お前なんかには聞いてねーんだよヴァーカ。
てゆーかググって理解したからいいんだけどな。
0212nobodyさん
2012/03/28(水) 17:00:27.11ID:QP+7A6sEちょっと読み書きするだけでこういう風になりがちで気持ち悪いし、
描き方によっては流れが読みにくくなることもある
fs.open("hoge","w",null,fuction(err,fd){
var str = "nya-";
fs.write(fd,str,0,str.length,null,function(err,written,buffer){
fs.close(fd);
});
});
C#4.5みたいな非同期構文がほしいよ
0213nobodyさん
2012/03/29(木) 00:43:04.45ID:???ttps://github.com/joyent/node/wiki/modules#wiki-async-flow
0214nobodyさん
2012/04/05(木) 16:03:40.76ID:???ありがとう
こういう便利なものがあるとはしらなかった
でも、やっぱり、C#4.5を使いだすと、こういうやつですら面倒になる
0215nobodyさん
2012/09/03(月) 07:43:17.96ID:Dysvhu0iテキストボックス内でそのページのURLを出すことはできないでしょうか?
どうしてもタグなどがエスケープされてそのままのスクリプトが出てしまいます
location.hrefではどうしてもできませんでした
よろしくお願いします
0216nobodyさん
2012/09/03(月) 12:32:08.16ID:???WordPressの投稿欄の話とかしてる?
0217nobodyさん
2012/09/11(火) 20:38:40.39ID:???まとめて送れば解決しそうなんだが、ドキュメントを読んでもlazyで読み込みが完了したときにコールバックさせる方法がわからない
lazyでドキュメント完了時に呼びさされるイベントとかあったら教えてほしい
var state = fs.stat(path,function(err,state){
if(err)
return;
var stream = fs.createReadStream(path);
new lazy(stream)
.lines
.forEach(function(line){
socket.json.emit("req pastlog",CreateMessageFromText(line.toString()));
});
});
0218nobodyさん
2012/09/15(土) 18:44:32.31ID:???0219nobodyさん
2012/09/20(木) 06:00:31.76ID:lXsx7qcr0220nobodyさん
2012/09/25(火) 10:23:14.05ID:???皆はどうですか?
0221nobodyさん
2012/10/02(火) 07:29:26.11ID:???node.jsで動くなり茶スクリプト作ったけど、あんまり使いたくないねえ
そういや、匿名関数でこういうことやると落ちるんだが、うちだけ?
function foo(){
this.Add = function(){
console.log("aaa");
}
function GetRoomList(callback){
var stream = fs.createReadStream($room_configure_file_name);
new lazy(stream)
.lines
.forEach(function(line){
this.Add();
})
});
}
}
0222nobodyさん
2012/10/02(火) 09:33:06.14ID:???上のthisと下のthisは同じものにならないんじゃないの?
0223nobodyさん
2012/10/02(火) 12:16:09.29ID:???入れ子の無名関数のthisはどこにも参照されていない筈
0224nobodyさん
2012/10/02(火) 16:26:17.64ID:???>>223
そうなの?
C#ではこういう書き方ができたから、通ると思ったんだが…
JavaScriptだとダメなの?
0225nobodyさん
2012/10/02(火) 17:05:54.11ID:???>>221を書いた人なの?そもそもjsのプログラムとして完成させてくれないと何をしたいのかわからん
これこのままじゃ、fooって関数を宣言してるだけだよね?GetRoomListは宣言してるけど使ってないし何なの?
0226221
2012/10/02(火) 17:08:46.50ID:???すまん
肝心な部分が抜けてた
function foo(){
var collection = {}
this.Add = function(line){
//lineの内容に応じた処理を行う
//collectionに追加
}
function GetRoomList(callback){
var stream = fs.createReadStream("foo.txt");
new lazy(stream)
.lines
.forEach(function(line){
this.Add(line);
})
});
}
GetRoomList();
}
0227nobodyさん
2012/10/02(火) 17:35:07.60ID:???括弧の対応とれてないだろうがw
無理やり文法エラーなおして、this.Add()の関数になにか適当な処理いれて、
最後にfoo()を呼び出すようにすれば俺の環境だとちゃんと動くぞ
上のthisと下のthisに違うものが入るかと思ったが、両方とも同じグローバルオブジェクトがはいるんだな
forEachの仕様をよく理解してなかったわ
0228221
2012/10/02(火) 19:41:47.18ID:???var fs = require("fs");
function foo(){
var collection = {}
this.Add = function(line){
//lineの内容に応じた処理を行う
//collectionに追加
console.log(line);
}
function GetRoomList(callback){
var stream = fs.createReadStream("roomlist.txt");
new lazy(stream)
.lines
.forEach(function(line){
this.Add(line);
});
}
GetRoomList();
}
$test = new foo();
文法エラーを修正したが、こんなエラーが出る
0229nobodyさん
2012/10/02(火) 19:48:55.73ID:???at C:\Users\xxx\Documents\WebChat\test.js:17:9
at EventEmitter.self.forEach (C:\Users\xxx\Documents\WebChat\node_modules
\lazy\lazy.js:62:13)
at EventEmitter.<anonymous> (C:\Users\xxx\Documents\WebChat\node_modules\
lazy\lazy.js:46:19)
at EventEmitter.emit (events.js:93:17)
at self.bucket.yield (C:\Users\xxx\Documents\WebChat\node_modules\lazy\la
zy.js:152:18)
at Function.<anonymous> (C:\Users\xxx\Documents\WebChat\node_modules\lazy
\lazy.js:186:21)
at self.bucket (C:\Users\rirufa\Documents\WebChat\node_modules\lazy\lazy.js:
158:21)
at EventEmitter.emit (events.js:93:17)
at ReadStream._emitData (fs.js:1365:10)
at afterRead (fs.js:1347:10)
0230nobodyさん
2012/10/02(火) 19:55:27.08ID:???それだと上のthisと下のthisは違ってしまうからうごかんわw
this.Add = function(line){
の上に
var self = this;
とかいれて、
下のthisをselfに置き換えればとりあえず動くよw
0231221
2012/10/02(火) 19:59:50.02ID:???それでやったら動いた
0232nobodyさん
2012/10/02(火) 20:36:44.53ID:???javascriptの場合、コールバック関数内でthisが何になるかは、コールバックを渡した関数の仕様に依存することになるから
仕様がはっきりしない場合はthisは使えないと思ったほうがいいね
0233nobodyさん
2012/10/02(火) 22:58:43.49ID:uRHsxp7z0234nobodyさん
2012/10/02(火) 23:24:35.04ID:???Pythonみたく代入した場所でスコープ決まったり、Rubyみたく変数名の表記で決まったり、それぞれルールがあるだけじゃね?
0235nobodyさん
2012/10/02(火) 23:39:57.49ID:???0236nobodyさん
2012/10/06(土) 23:43:38.61ID:???C#やC++とかだとthisはオブジェクトのインスタンス自身を表すことになってるのに、なぜかJavaScriptだけ別物
0237nobodyさん
2012/10/07(日) 07:01:11.25ID:???0238nobodyさん
2012/10/07(日) 17:10:29.74ID:???オブジェクト生成後にあとからメソッドが追加できるという自由すぎる言語特性ゆえ、
thisのスコープをJavaなんかと同様にしてしまうと、弊害があると考えられたから。
これ結構常識だと思うのだけど...
0239nobodyさん
2012/10/13(土) 13:32:24.29ID:???サンプルのleaderboard見てクラクラきた。
慣れると楽なのかな?
0240nobodyさん
2012/10/20(土) 10:25:51.21ID:nMqOZ8tI// コールバック関数
略
$("#twi").append('<li><div class="icon"><a href="https://twitter.com/'+ val.from_user +'"><img width="60px" height="60px" alt="'+ val.from_user +'" src=" ' +
val.profile_image_url +'" /></a></div>'+ '<div class="text"><dl><dt><strong>ユーザー名</strong>: ' + val.from_user +
'<br/><strong>投稿時間(GMT)</strong>: ' + val.created_at +
'</dt><dd><strong>投稿文</strong>:<pre> '+ val.text +'</pre></dd></dl></div></li>');
//GMTをどうにか日本時間にしたい
});
略
//アクセス先のURL
jQuery.getJSON('http://search.twitter.com/search.json?callback=?',
//サーバーに送るデータ
{q:'さとし+OR+ピカチュウ',//複雑なnot検索がしたい
//AND検索は、クエリを「+」(スペース)で繋ぐ
//OR検索は、クエリを「+OR+」で繋ぐ
//NOT検索は、除外したいクエリの前に「-」をつける
//フレーズ検索は、フレーズを「"」で囲む
略
ここにおいて、まずGMTを日本時間(JPN)に直すにはどうしたらいいのか。
そして複雑なNOT検索(例えばAという単語について、
BとCという単語が付属しているものを除外する。また単独のフレーズとして
DとFという単語を除外する。)をするにはどうしたらいいのか。
以上の2点について教えてください!
0241nobodyさん
2012/10/20(土) 10:29:48.62ID:nMqOZ8tISat, 20 Oct 2012 01:27:30 +0000
という表記を
2012年10月20日(土) 10:27
としたいです。
0242nobodyさん
2012/10/20(土) 11:05:33.73ID:nMqOZ8tI0243nobodyさん
2012/12/25(火) 02:53:11.59ID:???ちょい前にNodeの1.0ブランチできたってね
0244nobodyさん
2012/12/25(火) 13:51:52.77ID:???■ このスレッドは過去ログ倉庫に格納されています