5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【PHP】2chat開発スレ【2chを越える】 [無断転載禁止]©2ch.net

1 :nobodyさん:2016/04/23(土) 13:45:28.79 ID:???
【2chatとは】
掲示板とチャットを組み合わせたオープンソースのPHPスクリプトです。
名前の由来は2ch+chat

【特徴】
*基本的な面
ユーザー登録は必要だが、匿名
ユーザーは日付の経過や書き込み、荒らしなどでレベルが上下し、このレベルは通報の影響度などに関わる
管理人が不在でも通報が集まった書き込みは自動削除
チャット形式の為、書き込み上限はなく、テンプレはいつでも誰でも編集可能
板はなく、各スレッドはカテゴリを付けられる為、スレッドを探しやすい
単発スレには向かない

*専ブラ
jsを使い専ブラなしで快適に閲覧出来るUIを提供
WEBで見れるため、PC⇔スマホで開いているスレなどを完全同期できる

*API
誰でも使えるAPIを提供(jsonp対応)
2ch互換のAPIも提供
ユーザーはサブパスワードを作る事で、悪意を持った外部サービス管理人によるアカウントの乗っ取りを防ぐ事が出来る
開いているスレなども外部サービス間で同期可能

2 :nobodyさん:2016/04/24(日) 09:11:09.09 ID:???
現在中核部分を作っています

3 :nobodyさん:2016/04/24(日) 11:10:56.66 ID:???
普段c#でプログラム組んでいるので、オブジェクト指向で作っていく予定です

4 :nobodyさん:2016/04/24(日) 11:46:44.86 ID:???
GitHub作りました
https://github.com/kgtkr/2chat

5 :nobodyさん:2016/04/24(日) 22:54:01.29 ID:???
クラス設計はある程度時間を掛けて行います
PHPは簡単に書ける分、コードが汚くなりやすいみたいですので・・・

6 :nobodyさん:2016/04/24(日) 22:57:03.03 ID:???
まずデータベースに依存しない主要なロジックから考えようぜ
永続化の実装、つまりmysqliなどはまだコードに出なくていい

7 :nobodyさん:2016/04/24(日) 23:03:15.96 ID:???
DBを使った本格的なWEBアプリは初めてなので、そこが悩んでいるんですよね
まだメソッドの中身は書かずに、メソッドの宣言だけを書いてクラス設計を行っています
デスクトップアプリでのオブジェクト指向はある程度分かるんですが、DBを使ったオブジェクト指向が結構難しくて・・・
c#と違ってプロパティがないのも厳しいです

8 :nobodyさん:2016/04/25(月) 00:00:42.13 ID:???
PHPで作るメリットが何かあるん?
Node.jsやPythonとか、他にも候補にがありそうだが

9 :nobodyさん:2016/04/25(月) 00:15:05.76 ID:???
javaは大規模システムでないとメリット薄いみたいですし、c#はLinux鯖だと使えない(Monoはありますが・・・)からです。
そうすると扱える言語はPHPしかないので・・・
中括弧言語以外は苦手ですし

10 :nobodyさん:2016/04/25(月) 09:23:17.98 ID:???
C#からならPHP7で正解じゃないかなあ
とりあえずPSR読んで、それとテスト書く準備しておけばいいよ

11 :1:2016/04/25(月) 18:46:27.88 ID:???
パフォーマンスとカプセル化を考えたら、Thread has-a Responseの関係はなくした方がよさそう
内部ではフィールドにあるんじゃなくて、Threadクラスのgetterでクエリー呼び出しているんだけど
全て独立したクラスとして考えた方が、良い気がする
WEBアプリはやっぱり難しい・・・
デスクトップなら多少パフォーマンス悪くても、問題ないけど、WEBアプリは大人数で使うからパフォーマンスはやっぱり重視しないとね・・・

12 :nobodyさん:2016/04/25(月) 20:17:34.90 ID:???
パフォーマンス気にするのはリリースしてそこそこの人気サービスになってからにしてくれ
まずは実装ではなく仕様を煮詰めていかないと
ある程度仕様が決まったらフレームワークとか決めてそこから本格的にクラス設計(まさかフレームワーク使わず全部自分でとは言わないよね?)

13 :1:2016/04/25(月) 20:29:42.47 ID:???
確かにまだ早いですね
フレームワークの予定はなかったんですが、使った方がいいですかね?
PHPでは、APIの提供のみを行い、UIはhtmlとjsのみで作りたいと考えています

14 :1:2016/04/25(月) 20:37:28.05 ID:???
閲覧中のスレリストやNGリストもサーバーに保存し、APIとして読み込み/書き込みを出来るようにすることで、どのようなアプリでも同期出来るようにしたいと考えています
APIは、XML/JSON/JSONP/2ch互換のdatで提供する予定です

15 :nobodyさん:2016/04/25(月) 21:44:24.42 ID:???
ユーザー登録必須だと興味すら持たれんだろうなあ
読み書きはレベル0のゲスト扱いで参加できるのかな

16 :nobodyさん:2016/04/25(月) 21:59:23.79 ID:???
idとパスワードだけで出来るので簡単に出来ます
redditみたいな感じです

17 :nobodyさん:2016/04/25(月) 22:04:06.33 ID:???
少なくとも気軽に中の様子を伺えないと見向きもされないと思う
idとパスワードだけでもハードルはかなり上がるから2ch越えるのは絶対無理

18 :1:2016/04/25(月) 22:48:29.11 ID:???
読み取りだけなら認証なしで出来ますが、クロスドメイン対応にする予定なので、認証なしで行うと悪意のあるサイトがこっそり書き込んだり出来るので危険なんですよね・・・

19 :nobodyさん:2016/04/26(火) 11:57:33.77 ID:???
とりあえずSPA取り入れたほうがいい
んでもって認証は後回しの設計と言うか別のサーバとか
プロセスに委任する形にしようぜ
まずはスクラッチとして本体だけの設計で作ってみたらどう?
認証後回しにするってのはそれが阻害する場合があるから
とりあえず作ることによって誰がどんなもののためにどうして必要なのかが見えてくる
ある程度の想定した問題に対応するのはいいとして仮定の問題に固執して対応するのは現状いらんと思うな
アイパスとか個人設定とか細かい面倒なのは後回しにしたほうが楽しめる

20 :1:2016/04/26(火) 17:59:11.72 ID:???
シングルページアプリですかね?
今はDBと接続するクラスを作っています
多分モデルって奴です

21 :nobodyさん:2016/04/26(火) 20:14:15.16 ID:???
名前空間つけてくれ

22 :1:2016/04/27(水) 00:02:44.58 ID:???
>>21
C#の使い方と少し違うみたいなので、明日しっかり調べてします

23 :1:2016/04/27(水) 00:07:04.34 ID:???
とりあえずコミットしました

24 :1:2016/04/27(水) 17:31:27.88 ID:???
クラス設計終了しました

25 :1:2016/04/27(水) 17:33:51.47 ID:???
ToDo
・ドキュメントコメント通りの動作をするように、エラーチェックとクエリーを行っていく
・このクラス群をAPIとして提供するためにラップ
・jsでUIを作る

26 :1:2016/04/27(水) 18:19:17.43 ID:???
PHPのコーティング規約全く守ってなかった・・・
大文字小文字直そう・・・

27 :1:2016/04/27(水) 18:26:07.36 ID:???
括弧の位置、フィールド名、ローカル変数名、クラス名、メソッド名、ネームスペース名はjavaの規約に合わせて書きます

28 :nobodyさん:2016/04/27(水) 19:06:13.28 ID:???
テスト書いていこう

29 :1:2016/04/27(水) 20:03:03.06 ID:???
実は今までテストした事ないんですよ
javaとかc#でも色々なアプリ作りましたが、一回もした事ないので何をすればいいか。。
でもWEBアプリなら脆弱性に繋がったりするので必要ですよね
勉強してみます

30 :nobodyさん:2016/04/28(木) 07:16:10.47 ID:???
PHPUnit が有名
FW導入した方がいいよテスト関連も充実してるし
SPAとか使うならそっち関連の導入もあるし

31 :nobodyさん:2016/04/28(木) 16:55:45.15 ID:???
テストは後回しでもいいよ
使い捨てのつもりでいいからとりあえず動くものを作ってまずは1つ完成させること

完璧を目指して手が止まるのが一番まずい
百聞は一見に如かず、実物の試作品があればいろいろと意見も出しやすいし

32 :1:2016/04/28(木) 18:01:16.00 ID:???
今は中身を書いています
コメントでメソッドの責任は書いたので、あとは実装するだけです

33 :1:2016/04/28(木) 18:18:39.80 ID:???
メモ
$delete
$attack
$category
$template
$title

34 :1:2016/04/28(木) 18:34:56.96 ID:???
追記
$not

35 :1:2016/04/29(金) 18:14:46.02 ID:???
変数の宣言とスコープがないから、いつの間にか上書きしていたりして怖い

36 :1:2016/04/29(金) 23:59:23.36 ID:???
とりあえずResponseクラス作りましたが、ソースが酷い(特にWriteResponse)ので、privateメソッドなどを使い整理します・・・
あまり長いメソッドだと、変数の上書きなどで、バグが発生する可能性があるので・・・

37 :1:2016/04/30(土) 14:10:30.08 ID:???
メモ
SHA256を64進数

38 :1:2016/04/30(土) 17:36:20.68 ID:???
2chでいうIDもトリップも43文字とかいうかなり長い文字列になってしまった・・・

39 :1:2016/04/30(土) 17:38:06.14 ID:???
パスワードハッシュは43文字にして、IDとトリップは先頭から○文字を切り取る的な事すればいいか

40 :1:2016/05/01(日) 00:01:30.60 ID:???
名前も目指している機能も似たようなサービスを見つけてしまった・・・

41 :nobodyさん:2016/05/01(日) 00:10:12.39 ID:???
気にすんなよ!!!

42 :nobodyさん:2016/05/01(日) 11:31:02.55 ID:???
どうせ違うものになるから平気
なんてサービスなのさ

43 :1:2016/05/01(日) 12:29:06.44 ID:???
>>42
にちゃっとるって奴です

44 :nobodyさん:2016/05/01(日) 12:35:15.36 ID:???
>>43
会員制ではないし、idも表示されないやん

45 :nobodyさん:2016/05/01(日) 12:39:10.92 ID:???
というか、認証必須にするのにidを表示するとはこれいかに
匿名にしたいのか、登録ユーザ性にしたいのか、よくわからん

46 :1:2016/05/01(日) 14:25:44.88 ID:???
>>45
ユーザーから見たら匿名だけど、管理を楽にするためにID制
どのユーザーが書き込んだら分かるのは管理人だけ
本人確認は2chと同じでトリップとID

47 :1:2016/05/01(日) 15:04:10.58 ID:???
とりあえず、3大クラス(Thread、Response、User)出来たけど、まだ実装忘れとか結構ありそう
とりあえずSQL制約を設定していく

48 :1:2016/05/01(日) 15:20:28.63 ID:???
AUTO_INCREMENTは1からか・・・
書き直さないと

49 :1:2016/05/01(日) 15:37:09.59 ID:???
あ、設定すれば0からでもOKなのか

50 :nobodyさん:2016/05/01(日) 17:21:21.58 ID:???
>>46
それはシステム管理者から見たら全く匿名ではないってことだよね
警察とか公的権力が働いたらログを出す義務が発生するんじゃない?

51 :1:2016/05/01(日) 21:15:32.10 ID:???
>>50
そうなるけど・・・
そっちの方が管理しやすいし
完全匿名でも、普通IPは記録するから、権力が働いたら匿名じゃなくなるのは一緒なのでは?

52 :1:2016/05/01(日) 23:06:54.88 ID:???
SQL文分からなすぎ・・・
ちょっと複雑な事するとかなり難しくなる

53 :nobodyさん:2016/05/01(日) 23:08:57.58 ID:???
>>51
そりゃ、TCP/IPを使っているのだからIPは記録するさ
でも「原理的に匿名でない設計」と「匿名を目指している設計」は似て非なるものだと思うよ
「表面的には匿名だけど、いつでも書き込んだ主を公開できる準備があるので注意してね」なんて注意書きを書いたらユーザはどう感じるかな

54 :nobodyさん:2016/05/01(日) 23:38:17.36 ID:???
なにいってんだこいつ

55 :1:2016/05/01(日) 23:41:41.15 ID:???
>>53
IDにLVをつける事によって、通報の多い書き込みの自動削除などがやりやすくなる
今の2ch見ていると、明らかに削除人が足りていないから、出来るだけ自動化したいし

56 :1:2016/05/02(月) 00:16:33.73 ID:???
responseテーブルが、スレッドIDとレス番の複合主キーなんだけど、管理しにくいな・・・
スレッドに対するレス番じゃなくて、全部のレスに適当に番号振っていった方がよさそう
2chを意識しすぎた感
明日設計見直そう

57 :1:2016/05/02(月) 22:28:44.39 ID:???
中核クラスは一応出来た
・・・と思ったんですが、javaとc#にincludeがないので、書くのすっかり忘れていました・・・
includeとコメントを詳しく書いたりして、APIを作っていきます

APIはtypeパラメーターに形式(XML、JSON、JSONP)を指定するタイプにします

58 :1:2016/05/03(火) 01:01:09.35 ID:???
JSON(P)と、2ch互換があれば、XMLいらないんじゃないかと思ってきた

59 :1:2016/05/05(木) 09:05:44.80 ID:???
クロスドメインでPOSTが使えないので、書き込みAPIの文字数制限がかなり厳しいです
そこで、短い書き込み用のGET、圧縮して送るGET、formタグからならPOSTが可能な事を利用したリダイレクトありPOSTを用意したいと思っています

60 :nobodyさん:2016/05/05(木) 09:43:28.83 ID:???
PHPにクロスドメイン制限なんてあったっけ

61 :1:2016/05/05(木) 11:19:03.14 ID:???
jsからAPIを使う時用です

62 :nobodyさん:2016/05/06(金) 13:26:22.48 ID:???
>>61
PHPを経由させればいいのでは?

63 :1:2016/05/06(金) 17:49:22.63 ID:???
>>62
IP記録などで都合がいいので、出来るだけクライアント言語で作りたいと考えています

64 :1:2016/05/06(金) 23:23:44.10 ID:???
圧縮しなくてもIE以外なら大丈夫そう
長くて6000文字程度だし
IEの2000文字制限がな・・・

65 :1:2016/05/07(土) 08:58:18.11 ID:???
API完成しました

66 :1:2016/05/07(土) 11:54:41.03 ID:???
・メモ
タイムゾーン
UPDATE変更の必要なし問題

67 :nobodyさん:2016/05/07(土) 15:24:21.79 ID:???
クロスドメインはいいんだけど
サーバ構成はどんなふうに考えてるとか
サイトマップとかページのフレーム構成とか
どんなふうに考えてるのか見てみたいな

68 :1:2016/05/07(土) 17:30:20.31 ID:???
とりあえずAPIは出来たので、今クライアントサイドを作っています
Twitter風UIにする予定です

69 :1:2016/05/07(土) 20:28:53.36 ID:???
返信をどう実装しようか。。
Twitterの場合、TLに返信が色々出てくるんだが
検索速度を考えると、整合性に気をつけてテーブル分割した方がよさそう

70 :1:2016/05/07(土) 22:04:18.58 ID:???
クライアントサイド難しい…
サーバーサイドは単純作業で、セキュリティにだけ気を付ければよかったけど

71 :1:2016/05/07(土) 22:19:37.26 ID:???
とりあえず、HTMLとcssのみで、デザインだけ作ってみます

72 :1:2016/05/07(土) 22:45:50.93 ID:???
色とかが適当だけど、とりあえず骨組み
http://www.dotup.org/uploda/www.dotup.org852825.png

73 :1:2016/05/08(日) 00:57:34.98 ID:???
JQuery UIという物があるみたいですので、それを使ってUI作ってみます

74 :1:2016/05/09(月) 00:53:48.86 ID:???
タブのダブルクリック更新出来た・・・
土日ずっとしていたからかなり進んだ

75 :nobodyさん:2016/05/09(月) 07:30:48.17 ID:???
>>1
だからSPAにしろって
今から覚えるならJQueryよりおすすめ
HTMLのView地獄の深みにハマってつらい思いするぞ

76 :1:2016/05/09(月) 07:41:01.66 ID:???
>>75
ユーザー登録、会員情報の変更以外(つまりよく使う機能)はJQ UI+シングルページで作っています

77 :1:2016/05/09(月) 23:27:19.16 ID:???
ローカル変数とグローバル関数名の衝突駄目なのか…
$$から始まる関数をJQオブジェクト作成関数にして、$始まる変数をJQオブジェクトにします

78 :1:2016/05/09(月) 23:45:45.83 ID:???
とりあえずソース整理しないと保守が・・・
jsの設計分からん

79 :nobodyさん:2016/05/10(火) 00:41:45.00 ID:???
>ローカル変数とグローバル関数名の衝突駄目なのか…
そうだっけ
どういうコードなんだろう

80 :1:2016/05/10(火) 07:50:47.24 ID:???
window.$hoge()なら大丈夫みたいですが、$$hogeの方が楽なので

81 :1:2016/05/10(火) 21:16:30.20 ID:???
会員登録ページ作ったらサーバーにアップロードします

82 :1:2016/05/10(火) 23:59:09.03 ID:???
テンプレートエンジンっていうの使った方がよさそう

83 :nobodyさん:2016/05/11(水) 11:02:28.76 ID:???
人の話聞く気ないみたいだからもう何も言わないけど
開発の仕方が5年ぐらい前に流行った開発だよね
ggったらよく出てくる内容だから勉強しやすいのかもしれないけど
特に今年は新しい環境が出揃ってこれからっていう元年に近い年だから
そっちに倣ったほうが楽しいと思うんだがな
それじゃ頑張ってくださいノシ

84 :nobodyさん:2016/05/11(水) 11:35:03.10 ID:???
何しに来たんだ
せめて誘導しろや>そっちに倣ったほうが楽しい

85 :1:2016/05/11(水) 16:03:56.63 ID:???
聞く気無い訳ではないんですが・・・
すみません
今ajaxが流行っていると書いてあったので、ajaxで作ってみました

86 :1:2016/05/11(水) 20:04:05.59 ID:???
ネットオウルmysqli_stmt::get_result()が出来ない・・・

87 :nobodyさん:2016/05/12(木) 02:44:05.11 ID:???
個人で作るならES2015+babelで作りたいよなぁ
SPA作るならフロントはReact+redux+react-routerで
ビルドはwebpackで十分だし
Angular2に手を出すのもアリだけど
DOM操作なんて人間様のやる事じゃないのでjQueryは必要無し
サーバーサイドPHPにするんならオレオレじゃなくて有名どころのFW使わないとセキュリティ周りで死ぬぞ

88 :nobodyさん:2016/05/12(木) 03:01:13.65 ID:???
てかajax使うなという訳ではないが
流行ってるってどこに書いてあるんだそんなの

89 :nobodyさん:2016/05/12(木) 10:13:48.26 ID:tNg+7L1I
流行ったのは数年前だろ
DOMで皆苦しんだ

90 :nobodyさん:2016/05/12(木) 10:37:40.79 ID:???
最初から完成品目指しているわけでないならとりあえずこのままでいいよ
一度組み上げてこのままじゃだめだよねと確認して次のステップへ行こう
この場につきっきりでコミュニケーション取りながら教えられる人なんていないだろうし

91 :nobodyさん:2016/05/12(木) 12:12:53.26 ID:???
早く確認できるといいですね・・・

92 :nobodyさん:2016/05/12(木) 13:23:55.76 ID:???
初心者にあれこれ言ったって
形から入って完成しないパターンにしかならんしな
とりあえず動くものを用意して反応を貰うのが一番良い

93 :1:2016/05/12(木) 15:51:12.71 ID:???
今調べたらajaxが流行ったのって数年前だったみたいです…
SPAアプリだと他のライブラリの方が、保守しやすいみたいですので、色々触ってみます
動く物を見せたいのですが、現在サーバーの審査待ちですので、少々お待ち下さい

94 :1:2016/05/12(木) 17:05:14.47 ID:???
サーバーサイドは
Angular2+TypeScript+css+htmlで作る予定です

95 :1:2016/05/12(木) 17:05:51.17 ID:???
ミス

クライアントサイドは
Angular2+TypeScript+css+htmlで書き直す予定です

96 :1:2016/05/12(木) 17:46:48.88 ID:???
やっぱりvue.vsにするかも

97 :nobodyさん:2016/05/12(木) 18:18:58.09 ID:???
jQueryとajaxをごっちゃにしてそうで怖い

98 :1:2016/05/12(木) 18:44:34.33 ID:???
タブとかダイアログが簡単に作れるので、そこらへんはJQuery UI使います
また、APIでAccess-Control-Allow-Origin: *を出力して、POST通信でも出来るようにします

99 :1:2016/05/13(金) 20:11:58.20 ID:???
ソースの整理出来そうな気がしてきた
日曜用事あるから、土曜頑張ろう

100 :1:2016/05/14(土) 16:33:06.50 ID:???
とりあえずVue.jsで作った
かなり分かりやすくなった

101 :1:2016/05/14(土) 16:59:04.14 ID:???
スクロール量を取得するサンプルはあるんだが、どのレスまで読んだか知る方法ないのかな・・・
各レスに固有IDつけているけど

102 :nobodyさん:2016/05/14(土) 19:50:02.33 ID:???
>>101
Page Visibility API

103 :1:2016/05/15(日) 00:55:05.09 ID:???
コンポーネントやっと出来た。とりあえず使い方は覚えたはず。。
コンポーネントが出来たから後はアンカー、ID、返信のポップアップだな

>>102
ありがとうございます。してみます

104 :nobodyさん:2016/05/15(日) 11:08:14.41 ID:???
ふつーにajax(というかxhrというべきか?)使ってるが
うちの職場が遅れすぎてるのか?

105 :nobodyさん:2016/05/15(日) 12:05:15.48 ID:???
>>88,89の話か
非同期通信ってどこで流行ってる? → 数年前。DOMで苦しんだ
まるで支離滅裂だ

106 :1:2016/05/15(日) 21:53:58.07 ID:???
レスアンカーと自信へのレスとID抽出のポップアップ、二次元配列([ポップアップ階層][レス])でバインドすればいいのだろうか?
2chのアンカーポップアップでggっても、バインドの方法は書いてないし、DOM操作のも再帰的なポップアップがない
あと、全部のレス読み込む訳じゃないから、マウスオーバー時にサーバーにリクエストする予定だし

107 :1:2016/05/15(日) 22:16:41.02 ID:???
いい方法思いついた気がする

108 :1:2016/05/16(月) 17:56:15.29 ID:???
ポップアップじゃなくてドロップアダウン形式にしました
次は>>102をします

109 :1:2016/05/17(火) 19:27:11.65 ID:???
var $responseHeaderList = $("#tab" + tab.id + ">.responseList").children(".responseheader");

//スクロール位置
var scroll=$("#tab"+tab.id).scrollTop()+$("#tab"+tab.id+">.responseList").position().top;

//一番近い要素
var $close=$responseHeaderList.first();
//最短距離
var minDistance=Math.abs(scroll-$close.position().top);

//最短距離のオブジェクト取得
$responseHeaderList.each(function () {
//距離取得
var distance=Math.abs(scroll-$(this).position().top);

//今回の方が短ければ
if(minDistance>distance){
$close=$(this);
minDistance=distance;
}

//デパッグ
//$(this).css("color","#555555");
});

tab.scrollResponse=Number($close.data("responseID"));

//デパッグ
//$close.css("color","red");

110 :1:2016/05/17(火) 19:28:15.65 ID:???
ここまで読んだやっと出来た

111 :nobodyさん:2016/05/18(水) 10:28:37.26 ID:???
どんなシステムになるのか知らんが、Reddit移住が何故失敗したかを考えた方がいい。

112 :1:2016/05/19(木) 19:19:04.16 ID:ie/BYStV
関数の型チェックにPHP7でしか使えない型を使っているから、PHP5だと動かなくてサーバーがあまりない
まだ7は普及してないし

113 :nobodyさん:2016/05/19(木) 20:10:55.06 ID:???
レンタルサーバーじゃ不自由だしVPSの方がよくない?

114 :1:2016/05/19(木) 20:13:58.11 ID:???
ラズパイで鯖立てているんだけど、PHP7のインストールが上手くできなくて・・・

115 :1:2016/05/19(木) 22:12:27.85 ID:???
ラズパイで2chat動いた
あとはポート開放だけなんだけどやり方が分からない

116 :1:2016/05/19(木) 22:14:01.00 ID:???
ラズパイでもサクサク動いてよかった
ラズパイ3欲しいが今の所は1で問題なさそう

117 :nobodyさん:2016/05/19(木) 23:14:40.04 ID:???
え、自宅サーバで公開するの?

118 :1:2016/05/19(木) 23:30:36.95 ID:???
とりあえず試しに公開したいので

119 :nobodyさん:2016/05/19(木) 23:39:49.21 ID:???
ポート開放もわからない知識レベルで自宅鯖
狂気の沙汰ほど面白い

120 :nobodyさん:2016/05/20(金) 00:17:19.01 ID:lNAjozeA
Herokuの無料枠とかでいいんじゃね
自宅サーバのセキュリティは正直面倒だ

レンサバでもXServer(と傘下のネットオウル系)やhetemlはPHP7入ってるでしょ
ttps://www.xserver.ne.jp/functions
ttp://www.minibird.jp/service/function.php
ttps://heteml.jp/service/function/

121 :1:2016/05/20(金) 07:16:43.70 ID:???
ネットオウルは無理(mysqliプリペアの拡張モジュールがない)だったので他のを試してみます

122 :1:2016/05/20(金) 18:02:21.87 ID:???
Heroku無理だ
MySQL使うのにクレカ登録がいる・・・

123 :1:2016/05/20(金) 20:17:09.92 ID:???
エックスドメインもget_result使えない・・・

124 :1:2016/05/20(金) 20:31:33.97 ID:???
15日間しか使えませんが、とりあえず動きました
http://2chat.heteml.jp/

125 :1:2016/05/20(金) 20:48:21.19 ID:???
mysqlnd使えるところ少なすぎる

126 :nobodyさん:2016/05/20(金) 22:33:08.79 ID:???
まあpdoで組むのが主流だしなあ

127 :nobodyさん:2016/05/20(金) 22:38:01.89 ID:???
http://ja.phptherightway.com

128 :1:2016/05/20(金) 22:43:23.03 ID:???
>>126
最初mysql関数で組んでいて、PHP7で使えないことに気付いて組みなおしたけど、PDOの方が主流だったのか・・・

129 :nobodyさん:2016/05/20(金) 22:52:21.60 ID:???
その辺のフレームワークだと複数のDBに対応するためにPDO一択ってだけで、パフォーマンスはmysqlndの方が良いとだろうので別に悪くはないと思うよ

130 :1:2016/05/21(土) 08:38:48.52 ID:???
>>129
MySQL以外を使う予定はないので、このままでいいですかね?

・今後の予定
モバイル版専ブラ
URLを持った、2ch風の閲覧専用ページ
IDポップアップ

131 :1:2016/05/21(土) 09:45:57.12 ID:???
TSoft Server落ちた

132 :1:2016/05/21(土) 10:12:29.63 ID:???
http://www.akiyan.com/blog/archives/2011/07/php-mysqli-fetchall.html
これを使えば、mysqlndなしでいけるのだろうか

133 :1:2016/05/21(土) 10:37:40.59 ID:???
Xdomainサーバーでもいけそうです
ここのサーバーを長期的に使うことになりそうです

134 :1:2016/05/21(土) 10:47:06.56 ID:???
Xdomain携帯だと広告出るけど、JSONPに広告タグ追加されて、不具合出たりはしないみたい
多分headerで確認しているね
ここなら安心して使える

135 :nobodyさん:2016/05/21(土) 11:41:42.34 ID:???
広告付きのサーバでチャットって流石に貧弱すぎると思うが
まあ万が一負荷が問題になるほど流行ったらよそへ移ればいいか

136 :1:2016/05/21(土) 11:47:09.27 ID:???
でも×押せばリロードするまで出ないし、SPAだからリロードは少なくて済むから大丈夫と思う

137 :1:2016/05/21(土) 11:48:07.69 ID:???
広告あってもすぐ負荷大杉画面にリダイレクトするホスティンガー()よりはマシと思うし

138 :nobodyさん:2016/05/21(土) 15:37:44.53 ID:???
>>1
.gitignoreって知ってるか
nbprojectとかいうNetbeansの設定フォルダはバージョン管理の対象から外すといい

139 :nobodyさん:2016/05/21(土) 15:38:48.65 ID:???
あと名前空間とクラスのautoloadとかcomposerくらい使おうや……

140 :nobodyさん:2016/05/21(土) 15:39:53.51 ID:???
せっかくPHP7使ってるのに書き方が5.2あたりで止まってるぞ

141 :nobodyさん:2016/05/21(土) 15:48:22.45 ID:???
失礼、名前空間は使ってたか
PSR-4に従っとくと楽だと思うが

142 :nobodyさん:2016/05/21(土) 16:51:55.65 ID:???
イントランスとは一体

143 :1:2016/05/21(土) 17:23:25.76 ID:???
>>138
外してよかったんですね
外します

>>139
使ったことありませんでした
調べてみます

>>140
スカラー型のタイプヒンティングを使いたかったので、PHP7にしました

>>141
よく分からないので調べてみます

>>142
WEBアプリ(特に永続化が必要な物)のオブジェクト指向ってどう作ればいいんでしょうか?
よく分かりませんでした

144 :nobodyさん:2016/05/21(土) 17:33:59.54 ID:???
PHP the right way読んどけ
PHPはネットにクソ情報が多すぎる

145 :nobodyさん:2016/05/21(土) 17:41:43.15 ID:???
リレーショナルデータベースへの永続化はその辺のORMのライブラリ使えば楽だけどね。このアプリは大して複雑じゃないからActive Record系が手っ取り早い。


勉強がてらなら、オブジェクトの永続化を抽象化するリポジトリパターンを独自で組んでみてもいいのでは。

Threadなどのオブジェクト(エンティティ)は自身の永続化には関知せず、ThreadRepositoryなどリポジトリクラスを作って、DBとのやり取りはそちらのクラスの責務にする。

146 :1:2016/05/21(土) 17:49:08.01 ID:???
>>144
初めて見ました
読んでみます

>>145
DBの処理と分ければいいんですね
>>144を読み終えたらしてみます

147 :nobodyさん:2016/05/21(土) 17:55:17.02 ID:???
なお永続化は特にWebアプリに限ったもんじゃない
大抵のWebアプリに永続化が必要ではあるが


Webアプリで真っ当なオブジェクト指向って時に特有なのはHTTPリクエストとHTTPレスポンスをオブジェクトとして扱うことだろうな。

大雑把に言うとアプリケーション全体をHTTPリクエストを引数にとってHTTPレスポンスを返す関数として捉える

PHP界隈だとHTTPリクエストとレスポンスのライブラリが標準にないため、フレームワークごとに乱立していた感じ
最近ようやくPSR-7 HTTP messagesという標準になってくれそうなインターフェースが決まって広まりつつある

148 :nobodyさん:2016/05/21(土) 18:07:09.53 ID:???
アプリケーションの立ち上げ処理を共通化するためのフロントコントローラパターン、URLなどリクエストに応じて処理を振り分けるルータ、までがWebフレームワークの必要最低限かな
MVC2などによる構造の切り分けも大体のフレームワークが行っている

DBへの永続化、ユーザー認証認可、テンプレートエンジンなどの他の頻出機能は好きなライブラリやコンポーネントを組み合わせやすい便利な時代になった
Composer様々だな

149 :1:2016/05/21(土) 18:09:12.44 ID:???
普通のアプリの永続化は、オブジェクトに様々な処理をして、終了時などに保存ですが、WEBアプリは処理が少ないので考え方が分からないんですよね
あと、デスクトップアプリでも、ファイルを全て読み込んで、オブジェクトに変換して、処理をして、保存といったアプリしか作った事がないので一部のみ読み込んで的なアプリがよく分かりません

150 :1:2016/05/21(土) 18:17:39.96 ID:???
IOS絵文字を削除とかしていないのに、自動で削除される・・・

151 :nobodyさん:2016/05/21(土) 18:18:52.72 ID:???
DB使ったアプリを作ったことがないだけでは

>>1の普通がどこの普通かは知らんが普通のデスクトップのアプリでもDB使うなら逐一DB更新することあるでしょ

152 :nobodyさん:2016/05/21(土) 18:42:14.46 ID:???
いきなり色々言われて>>1のモチベが下がらないか心配
composer対応とかは後回しにしてとりあえず形にしちゃった方がいいと思う

153 :nobodyさん:2016/05/21(土) 19:17:03.07 ID:???
まあ動くのが正義だしな
しっかり設計されてると保守・機能追加のしやすさはかなり変わるから徐々に改善していけばいい

154 :1:2016/05/21(土) 21:41:26.34 ID:???
PHP the right wayを軽く読んでみました
何か分かったような分からなかったような・・・

155 :1:2016/05/21(土) 22:09:48.10 ID:???
とりあえずサーバーサイドと、クライアントサイドは分離した方がよさそう
js開発をnbでするのは辛い

156 :1:2016/05/21(土) 22:13:21.64 ID:???
TypeScript採用したほうがいいのかな

157 :1:2016/05/21(土) 22:22:25.99 ID:???
Todo
>>130
autoloading
コーティング規約の統一
リポジトリパターンの採用
一部Unicode文字が使えない問題
スレッド取得APIの強化
スレタイ/全文検索
TypeScriptへの移植(未定)
TypeScriptでHTTPリクエストを隠蔽する薄いラッパーライブラリの作成(↑をするならこっちも作る)

158 :1:2016/05/22(日) 13:16:47.71 ID:???
オートロード関数ってこんな感じでしょうか?
spl_autoload_register(function($name) {
//nicht\で始まるなら
if (strpos($name, "nichat\\") === 0) {
//クラス名→パス取得
//"nichat\"を削除し、\をパス区切り文字に置き換え
//最後に絶対パス化し、".php"をつける
$path = dirname(__FILE__) . str_replace("\\", DIRECTORY_SEPARATOR, substr($name, 7)) . ".php";

//読み込み
include $path;
}
});

159 :nobodyさん:2016/05/22(日) 13:47:35.56 ID:???
こういのは技術の話よりサービスのアイデアが重要なんだが、
技術の話ばっかりなのは仕方ないか・・

160 :1:2016/05/22(日) 14:09:27.45 ID:???
>>159
確かに利用者にとっては、内部がどうなっているかは関係なく、使いやすい物が出来ればそれでいいのですが、PHPを正しく学習したいと考えています

161 :1:2016/05/22(日) 14:14:29.02 ID:???
PSR-4をざっくり読んでみました
多分今作っているオートローダーの仕様で大丈夫と思います・・・

162 :1:2016/05/22(日) 14:16:52.13 ID:???
>>157に追記
レス取得APIに自分の書き込みかを知るフラグの追加

163 :1:2016/05/22(日) 15:50:41.18 ID:???
nbってphp7に対応していないみたい
バージョン選択から選べないし
(function(){})();がエラーになって面倒

164 :1:2016/05/22(日) 17:23:23.90 ID:???
【Todo】
*サーバー
リポジトリパターンの採用
一部Unicode文字が使えない問題
スレッド取得APIの強化
コーティング規約の統一
IDポップアップ
スレタイ/全文検索

*クライアント
モバイル版専ブラ
URLを持った、2ch風の閲覧専用ページ
TypeScriptへの移植(未定)
TypeScriptでHTTPリクエストを隠蔽する薄いラッパーライブラリの作成(↑をするならこっちも作る)
コーティング規約の統一
IDポップアップ
スレタイ/全文検索

165 :1:2016/05/22(日) 17:29:08.44 ID:???
レスの取得は簡単だけど、スレはスレッドフロート式だから難しいんだよね・・・
1〜20件取得→一番下までスクロール→21〜40取得とかだと取得出来ないレスがあったり重複したりするし

166 :1:2016/05/22(日) 17:29:43.64 ID:???
1〜20件取得→1〜40件取得→1〜60件取得みたいに取得しなおすのがいいのだろうか?

167 :nobodyさん:2016/05/22(日) 18:27:48.14 ID:???
内部で各スレにインクリメンタルなIDを振ればいいだけじゃねぇのか?

168 :nobodyさん:2016/05/22(日) 18:30:58.77 ID:???
最初の20件取得、でその取得したIDの最大値が次へのセットへのカーソル。
カーソルの最大値以降の次の20件を取得。
以下ループ。

169 :nobodyさん:2016/05/22(日) 18:31:36.55 ID:???
ごめん。レスじゃなくてスレの話か・・

170 :1:2016/05/22(日) 18:36:23.01 ID:???
レスは順番変わらないからそれでいいんだけど
仕方ないからreadThreadPageを消して、searchThread追加した
あとsearchThreadにスレタイ検索も組み込んだ

171 :1:2016/05/22(日) 18:39:41.93 ID:???
とりあえずサーバーサイドはしっかり作り込みたい
クライアントサイドはバグあっても(ないほうがいいけど)脆弱性には繋がらないけど、サーバーサイドは下手したら大変な事になる
DB流出してもパスワードとトリップはハッシュ化しているから分からないけど、誰が書き込んだかは分かるからね

172 :1:2016/05/22(日) 18:47:15.63 ID:???
ページ切り替えで順番変わるのってよく考えたら検索エンジンと同じだな
Googleとかはどういう仕組み使っているんだろう

173 :1:2016/05/22(日) 18:51:58.75 ID:???
いい加減用語統一しないとな・・・
2chで言うID→ハッシュ
2chでいう>>n→リプライ
連番ID→ID
文字列ID→スクリーンネーム
でいいか

174 :1:2016/05/22(日) 22:18:01.77 ID:???
*サーバー
>リポジトリパターンの採用
core内クラスで、そこまで複雑な事をしておらず、ほとんどDB操作だけど、分割するべきなのか

>一部Unicode文字が使えない問題
php.iniの文字コード変えれば大丈夫らしい

>スレッド取得APIの強化
強化ではなくなったが、改善した

>コーティング規約の統一
作業中

>IDポップアップ
完了

>スレタイ/全文検索
スレタイ検索は完了

TODOにはなかったけど、Response取得系で、認証を行うことで自分の書き込みであるかを知ることのできるフラグを追加した

175 :1:2016/05/22(日) 23:41:55.28 ID:???
ToDo追記

*サーバーサイド
存在しないレスへのリプライのエラー発生
自信へのリプライの通知

176 :1:2016/05/23(月) 00:08:12.74 ID:???
mdを使ってToDo作りました
https://github.com/kgtkr/2chat/blob/master/ToDo.md

177 :nobodyさん:2016/05/23(月) 12:40:15.11 ID:???
将来的にはプルリクとか受け付けたりするんかな?
TODO管理とかyoutrackとかteamcity見たいので管理するとええよ
ここで垂れ流ししつつツール上で管理するとやりやすい

178 :nobodyさん:2016/05/23(月) 16:36:00.31 ID:???
知ってるかもしれないけど大まかなサーバの基本設定ね
rootからのログイン不可とSUの作成
パスワードは自動生成系の奴で16文字以上の英数大小ランダム生成
telnetの停止とsshへ変更(鍵使用推奨)
sshの標準接続ポートの変更
可能ならsshログインは特定のIPからのみ許可にした方がいい
使用しないポートはすべて閉じる
※MySQLもローカルからのアクセスだけにした方が楽

家公開ならルーターに設定入れても同じ

179 :1:2016/05/23(月) 17:35:50.91 ID:???
>>177
プルリクエストって共同開発の機能ですかね?
今までOSDNでしていたのでいまいち分からないのですが、今でも大歓迎です

180 :1:2016/05/23(月) 17:42:13.01 ID:???
でも今の状態だと迷惑掛けそう・・・

181 :1:2016/05/23(月) 19:23:52.22 ID:???
angular2って単純に読み込むだけじゃないのか?
ダウンロードしたいだけ(もしくは、JQueryみたいにweb上から読み込みたい)なのに、パッケージマネージャーが何かとか出てくるんだが

182 :1:2016/05/23(月) 19:27:04.99 ID:???
angular2ってNode.js用なのか?

183 :1:2016/05/23(月) 19:35:04.99 ID:???
これサーバーサイドと連携して動くみたい
node.js、rubyと別に解説あっていたし
vue.jsでいいか

184 :1:2016/05/23(月) 19:38:45.70 ID:???
つまり、angular2はnode.jsFWで、CakePHPと同じようなサーバーサイドの物って事か
APIを自分で作っている今回のプロジェクトには向かないのかな

185 :1:2016/05/23(月) 19:41:56.27 ID:???
ずっとJQみたいなクライアントの物と思っていた

186 :nobodyさん:2016/05/23(月) 20:06:51.38 ID:???
いや、前の理解で合ってるから
angular.jsはvue.jsと同じ位置

クライアント側でもbrowserifyなどを使えばサーバ側のnodeと同様のモジュール管理ができるようになってる。
もちろんブラウザで直接モジュールシステムを使えるというわけではなく、
ローカルでnode.jsを動かして本番用のjsファイルをビルドする際にモジュールの依存関係を解決するという方向性

187 :1:2016/05/23(月) 20:10:31.45 ID:QVAwNuKy
クライアントの物なんですね
簡単にDL出来ればいいのですが。。
でも、この程度の規模だとvueの方がいいですかね?

188 :1:2016/05/23(月) 20:18:20.80 ID:???
でもtypescriptとの相性はvueよりもいいんですよね

189 :nobodyさん:2016/05/23(月) 20:28:33.89 ID:???
angular2は時期が悪いからやめとけTypeScriptも無理して使うことはない

190 :nobodyさん:2016/05/23(月) 20:29:50.49 ID:???
Angular2は今RCだけどどうせ破壊的変更入れてくるに決まってる

191 :nobodyさん:2016/05/23(月) 22:38:24.98 ID:jeHk4Nuo
ほとんどコピペでangular2使って問題webアプリ作ってみたけどめっちゃしんどかったよ
つかjsコードそのままだと7MBとかいくし、minify?しても1.2MBでgzipで300KBぐらいまでしか落ちない
そもそもフロントのangularjsとかさえ触ったことないwebの仕組みもよく知らない初心者やが

https://github.com/himanannyaga/angular2-express-mongo-quiz/tree/master/client/app/ts
demo http://128.199.129.51/

192 :1:2016/05/23(月) 23:13:37.86 ID:???
そんなに長いのか
何か新しいjsでclass構文とか使えるらしいからvue+生jsでいいか

193 :nobodyさん:2016/05/24(火) 07:39:36.65 ID:???
勘違いだった
sourcemap(デバッグするためのファイル)ない状態で4MBぐらい
それにしてもでかすぎるが

194 :1:2016/05/24(火) 18:39:31.23 ID:???
4MBでも十分でかい・・・
1024^2*4文字ってどれだけ大きなライブラリなんだ・・・
それより、VSってJSのDoc補充出来ないのかな
JS用IDE何使おう

195 :1:2016/05/24(火) 19:01:11.96 ID:???
jsもnbでいいか

196 :nobodyさん:2016/05/25(水) 07:24:48.90 ID:???
NetBeansも悪かないけど
個人的にはphpstorm
このプロジェクト自体オープンソースとしてやっていくのであれば
申請すれば無料で使うことができるよ

197 :nobodyさん:2016/05/25(水) 12:56:20.61 ID:???
http://daily.2ch. net/test/read.cgi/newsplus/1464143234/
チャンスじゃね。

198 :1:2016/05/25(水) 16:29:52.95 ID:???
>>196
OSなら無料で使えたのか
学生でも無料で使えるのは知っていたけど、申請面倒(国際何とか学生証?的な奴)だったからやめていたけど、ちょっと調べてみる

>>197
ひろゆき時代の2chは知らないけどどうなるんだろう

199 :1:2016/05/25(水) 16:31:47.42 ID:???
3ヵ月以上続いていないと駄目らしい

200 :nobodyさん:2016/05/25(水) 20:52:21.46 ID:???
かつコミッタもそれなりにいないとダメだった気がする

201 :1:2016/05/25(水) 21:01:21.48 ID:DDgGmThD
なら無理だ
とりあえずnbで進めよう
今ライブラリ作成中

202 :1:2016/05/25(水) 21:32:34.96 ID:???
ライブラリは薄いラッパーだけ出来た
ただJSDocの仕様はどこが正しいのか分からん
乱立している感じなのだろか?

203 :1:2016/05/25(水) 22:30:44.77 ID:???
ライブラリコミットしました

204 :1:2016/05/26(木) 19:04:37.67 ID:???
大改造したらエラーの山で泣きそう

205 :1:2016/05/26(木) 19:07:58.80 ID:???
しかも90%以上のエラーが、コンパイル式静的言語ならコンパイル時に分かるエラー・・・
本当動的インプリンタ言語嫌い

206 :nobodyさん:2016/05/26(木) 19:25:28.08 ID:???
>>205
TypeScriptでも使ったら?

207 :nobodyさん:2016/05/26(木) 19:33:43.03 ID:???
なぜPHPにしたのか

208 :1:2016/05/26(木) 19:52:38.27 ID:???
>>206
クライアントサイドは別にそこまでエラーない
問題はサーバーサイド

>>207
対応サーバー多いから

209 :nobodyさん:2016/05/26(木) 19:59:33.02 ID:???
2ch越えるってんなら設定自由にいじれるサーバ使うだろうし好きな言語でよくね?
巨大掲示板群を作るのではなくOSS配布が目的なの?

210 :nobodyさん:2016/05/26(木) 20:10:55.24 ID:???
1番の目的はWebサービスの開発経験を積むことです。

211 :1:2016/05/26(木) 23:07:33.49 ID:???
>>209
とりあえず今回はPHPで作ってみます
サーバーサイドはクライアントサイドに比べるとあまり複雑ではないので、移植しようと思えば結構すぐ出来そうですし

>>210
一番ではないですが、それもありますね

212 :nobodyさん:2016/05/27(金) 11:47:01.69 ID:???
PHPってバージョン7ではセキュリティもパフォーマンスも
だいぶ上がってるみたいだし、オンラインヘルプ充実してるし俺は良いと思うけど
Node.jsなんかは作りやすいものなのか?

213 :nobodyさん:2016/05/27(金) 12:15:09.23 ID:???
なんでコンパイル時に型のエラーを検出できる静的型付言語にしなかったのかという話なのにnode.jsなんだ

nodeよりはタイプヒントつけられるPHPのほうがマシ
PHP7.1でプロパティの型も入りそうだし

214 :nobodyさん:2016/05/27(金) 12:44:59.76 ID:???
そもそも静的型付けが必要なプログラマーって実力がないからなのかな
注意力がないというか

215 :nobodyさん:2016/05/27(金) 13:01:35.98 ID:???
静的のメリットはよくわかるけど
動的のせいにするような人は静的でもあまり…

216 :nobodyさん:2016/05/28(土) 00:15:16.67 ID:AXBYWEwi
実力とか必要の問題じゃなく保守管理性の問題だと思うんですけど

217 :nobodyさん:2016/05/28(土) 00:18:18.29 ID:???
人間はミスをする生き物だから機械的に保証するべきだよ

218 :nobodyさん:2016/05/28(土) 00:24:09.68 ID:???
ま、技術的にいくら優れてようが2chに勝てないわけだが

219 :nobodyさん:2016/05/28(土) 01:12:32.12 ID:???
イントランスってなんだインスタンスだろ

220 :1:2016/05/28(土) 09:48:33.10 ID:???
俺と同じ間違え方している人いたのか
先月までイントランスってずっと読んでた

221 :1:2016/05/28(土) 10:23:30.26 ID:???
PHPってint同士の除算でもdoubleになるのか・・・
めっちゃ混乱した

222 :1:2016/05/28(土) 10:50:33.77 ID:???
VIPみたいな単発メインの掲示板にはしたくないんだよな
とりあえず、ユーザー登録とスレ建てにはキャプチャ認証つけたよう

223 :1:2016/05/28(土) 10:50:50.51 ID:???
×つけたよう
○つけよう

224 :1:2016/05/28(土) 10:53:46.94 ID:???
API形式にしたいから、BDにキャプチャIDと、非公開のランダム文字列を登録して、Image.phpかなんかにgetでID渡させて、画像表示すればいいか

225 :1:2016/05/28(土) 10:58:06.59 ID:???
画像合成は昔PHPで作った経験ある

226 :1:2016/05/28(土) 13:53:54.23 ID:???
登録時の画像認証出来た
スレ建て時の認証はいいや
本番稼働時はかなり厳しい制限する予定だし

227 :1:2016/05/28(土) 14:38:38.31 ID:???
サーバーのお試し期間があと1週間だ

228 :1:2016/05/28(土) 23:09:27.15 ID:???
この単一ファイルコンポーネントってnode.jsじゃないと出来ないのかな
javaScriptはNodeの事言っているのか、クライントの言っているのか分からない解説が多い気がする
http://qiita.com/ayasuda/items/92221229e8f8c65c6f7c

229 :1:2016/05/28(土) 23:15:02.03 ID:???
JQueryから逃げたいんだけど、JQuery UIみたいなVue.js UIみたいなライブラリってないかな・・・

230 :nobodyさん:2016/05/28(土) 23:18:41.67 ID:???
>>228
node上のツールでコンパイルしてブラウザ用ファイルを吐き出すってだけだぞ

231 :1:2016/05/28(土) 23:28:02.40 ID:???
最近のjsってnodeと連携している感じなの?
nodeはphpとかperlとかrubyみたいな事をする言語と思っていたんだが違うのだろうか

232 :1:2016/05/28(土) 23:30:02.90 ID:???
単純に使いたいだけなのにnodeとかnpmとか色々ありすぎて・・・
デスクトップアプリは単一言語で開発(WPFとかはあるけど・・・)出来て楽だったけどWEBは言語多いし難しい

233 :nobodyさん:2016/05/28(土) 23:46:18.76 ID:???
javascriptをどこで実行するか、それがブラウザとNode.jsの違い
ブラウザ上はご存知の通りDOMやそれに関連した操作を行うためのもので制限も多いが、これが基本
そのためのライブラリがJQueryとかAngular.jsとかVue.jsとか

javascriptをブラウザ以外でも使えるようにしたのがNode.js
ブラウザ上ではないので他の言語と同じようにほぼ自由になんでも出来る
パッケージマネージャとしてnpm、タスクランナーとしてgulpなど様々なツールがある

大雑把な理解はこんな感じ

234 :nobodyさん:2016/05/28(土) 23:55:30.99 ID:???
Javascriptは言語、Node.jsは実行環境
PerlやPHPなどは言語 = 実行環境みたいなものだから混乱しやすいね
一応C#もC#という言語と.NETという実行環境な感じで分かれてなかったっけよくしらんけど

235 :nobodyさん:2016/05/29(日) 03:25:55.75 ID:???
クライアントサイドはjavascript一択だからわかりやすいけど
サーバーサイドって何を使うか迷うね

クライアントとサーバーで共通の言語使えるのが一番楽だけど
Node.jsってPHPなんかに比べてサーバーアプリ作りやすいのかな?

しかも投資効率ということを考えると、RubyやPythonの方が将来性あるのかとか
いろいろ迷うね

236 :1:2016/05/29(日) 22:23:37.62 ID:???
>>234
.NETと同じような物か
納得した

あと、JQueryから逃げるために、頑張って自力でタブ作った
次はモーダルウィンドウ

237 :1:2016/05/29(日) 23:33:03.85 ID:???
モーダルウィンドウ中央表示以外は出来た
中央表示は分からん・・・
これでJQuery UIからは逃げられたから、あとはJQueryから逃げればいい

238 :nobodyさん:2016/05/30(月) 08:38:42.12 ID:???
なんで逃げたいんだ?

239 :nobodyさん:2016/05/30(月) 13:04:08.11 ID:???
>>238
俺もそれ知りたい
技術的な理由があるならぜひ教えて欲しい >>1

240 :nobodyさん:2016/05/30(月) 13:45:49.40 ID:???
むしろSPAでなんで逃げたくないんだ

241 :1:2016/05/30(月) 18:11:10.84 ID:???
使っていてJQueryとVue.jsは相性悪いと思ったから

242 :1:2016/05/30(月) 18:29:27.79 ID:???
あとサーバー5日だ・・・

243 :1:2016/05/30(月) 18:48:42.47 ID:???
マークダウンみたいな修飾タグ実装したいな
2chのソース貼り付けしにくいし
あと&ってエスケープしないと本当に危険なんだろうか?

244 :1:2016/05/30(月) 18:52:14.27 ID:???
やっぱり危ないらしいな
http://shimax.cocolog-nifty.com/search/2007/12/php_f864.html

UTF-8だからとりあえずはいいか

245 :1:2016/05/30(月) 18:57:35.57 ID:???
今気づいたんだが、$noコマンドいらなくね
$の前に半角スペース入れれば全く同じ動作する

246 :1:2016/05/30(月) 23:32:46.98 ID:???
そういえば、Vueイントランスの作成を、el:bodyを指定して全体に適用させているんだけど、個別に分割したほうがいいのだろうか?

247 :nobodyさん:2016/05/31(火) 08:50:59.54 ID:???
イントランスとは

248 :nobodyさん:2016/05/31(火) 09:06:57.79 ID:???
インスタンス?

249 :1:2016/05/31(火) 17:28:24.29 ID:???
また間違った
恥ずかしい
インスタンス

250 :nobodyさん:2016/06/01(水) 09:32:20.94 ID:???
実は足腰の弱いプログラマ−?

251 :1:2016/06/01(水) 16:22:37.91 ID:???
>>250
プログラマじゃなくて学生
まだ勉強初めて1年半くらいだから・・・

252 :nobodyさん:2016/06/01(水) 18:56:45.44 ID:???
autoloadの設定は初期化処理のファイルで一回すれば十分だぞ
ファイルごととか見たことない

253 :1:2016/06/01(水) 19:19:03.50 ID:???
>>252
include_onceなので1回しか読み込まれないはずですが、やめた方がいいんですか?

254 :nobodyさん:2016/06/01(水) 19:56:17.53 ID:???
すべてのクラスファイルがautoloaderのファイルパスに依存するとか最悪にメンテナンス性悪いでしょ
エントリポイントとなるファイルで読みこめば充分

一回他のフレームワークのコードとか覗いてみたら

255 :nobodyさん:2016/06/01(水) 21:56:51.28 ID:zrVe8lVb
staticおじさん

256 :1:2016/06/03(金) 18:24:58.53 ID:???
今日でサーバーのお試し終了
まだ問題点が改善できていないから、まだ新しいサーバーにはアップしない

257 :1:2016/06/03(金) 19:12:37.92 ID:???
もう少しで考査始まるので更新少なくなるかもしれません

258 :nobodyさん:2016/06/03(金) 21:36:52.56 ID:???
設定用のクラスにパスワードやソルトをハードコードしてるの正直どうかと思う
dotenvとか使えば?

259 :1:2016/06/03(金) 23:25:16.83 ID:???
>>258
確かにgitで間違ってコミットしてしまったりすると怖いですね
ただ、今クライアント側を作っているので待って下さい


any型を使えばtsとvueを上手く使えそうな気がしたのでts使ってみます

260 :1:2016/06/04(土) 09:31:53.27 ID:???
ts凄い

261 :1:2016/06/07(火) 18:54:38.94 ID:???
モチベ下がってきたからしばらく開発休むかも
しばらくSTGの開発休んでいたけど、モチベ戻ってきたし

262 :1:2016/06/07(火) 18:57:40.62 ID:???
基本的に3つくらいのプロジェクトをローテーション(1ヵ月〜1ヵ月半くらい)で開発しているので、たまに長期間消えますが、プロジェクトが中止した訳ではありませんので
一つを続けてやると、飽きてくるので・・・

263 :nobodyさん:2016/06/07(火) 18:58:11.44 ID:???
予想通り

264 :1:2016/06/07(火) 19:10:49.38 ID:???
1年くらい続けているプロジェクトをそろそろ完成版リリースしたいし・・・

265 :nobodyさん:2016/06/08(水) 01:59:58.09 ID:???
tsてなに たいむしふと?

266 :nobodyさん:2016/06/08(水) 08:19:40.65 ID:???
TypeScriptじゃね?

267 :1:2016/06/08(水) 23:03:42.92 ID:???
そうです
TypeScriptです

268 :nobodyさん:2016/06/09(木) 10:31:19.78 ID:???
なるほど

269 :1:2016/06/14(火) 18:41:33.80 ID:???
ひろゆきが管理人に戻るらしい
JIMは5ch.netを立ち上げるとか

270 :nobodyさん:2016/06/14(火) 19:22:42.19 ID:???
だから、>>197でチャンスっていったじゃん。

271 :1:2016/06/18(土) 18:37:15.33 ID:pK47OYZ/
とりあえずクライアント頑張ろう
サーバーサイドは行数多いだけで単純だからjavaに書き直すのも思考停止ですぐ出来そうだけど、クライアントサイド作るのはかなり複雑だから大変

272 :nobodyさん:2016/06/19(日) 22:13:44.26 ID:fGhYV3XN
.


■ 2ch認定 スピリチュアル詐欺一覧

 小泉義仁 知井道通
http://karma.2ch.net/test/read.cgi/spiritual/1441832249/
 不道徳連発!冨田佳音のキチガイ スピ活動
http://karma.2ch.net/test/read.cgi/spiritual/1464971384/
 【詐欺師】 スピ 梶岡あん子 【キチガイ】
http://karma.2ch.net/test/read.cgi/spiritual/1466206702/
 【詐欺師】 スピ ミカタカミ 【キチガイ】
http://karma.2ch.net/test/read.cgi/spiritual/1466207813/ 
 詐欺師 岩崎士郎 嘘八百
http://karma.2ch.net/test/read.cgi/spiritual/1451143434/
 ユニフォース・センター 金子浩一
http://karma.2ch.net/test/read.cgi/spiritual/1452973952/


.

273 :1:2016/06/20(月) 00:19:47.84 ID:y9nVOQ79
jsにもc#のTask型みたいな物があればいいのに

274 :nobodyさん:2016/06/24(金) 07:48:43.14 ID:???
tsでasync/await使ってbabelでさらにトランスパイルすれば
非同期処理を同期っぽくかけるらしいよ。
でも1の場合は素直にコールバック渡して書いたほうが楽なんじゃない

275 :1:2016/06/25(土) 00:37:03.13 ID:???
>>274
何か難しそう
そういえばjsで非同期処理の排他処理って聞かないけど必要ないの?

webassemblyって言うので、c#が将来的に対応する予定らしい
やっとか

276 :nobodyさん:2016/06/25(土) 07:44:58.19 ID:???
>>275
Promise

277 :1:2016/06/25(土) 09:16:41.62 ID:BB8bE9je
jsの非同期処理ってマルチスレッドと思ってたけどシングルスレッドだったってマジかよ

278 :1:2016/06/25(土) 16:37:52.79 ID:BB8bE9je
真面目なシステム作るならjavaの方がいいのだろうか?

279 :nobodyさん:2016/06/26(日) 08:40:38.25 ID:???
1は結局サーバーサイドはphpつかってるんじゃなかったっけ?
それでなんでスレッド数気にするの?

280 :1:2016/06/26(日) 09:15:05.73 ID:igs77RHp
>>279
jsはクライアントサイド

281 :nobodyさん:2016/06/26(日) 12:25:34.41 ID:???
>>278
今更、JavaAppletに先祖帰りする必要もあるまい
あと、マルチスレッドが本当に必要なのかをよく考えるんだ
http://www.html5rocks.com/ja/tutorials/workers/basics/

282 :1:2016/06/26(日) 13:14:25.18 ID:rhVzrhMb
>>281
appletは使えないブラウザあるから使わないよ
PHPの代わりにサーブレット使った方がいいのかなと思って

283 :nobodyさん:2016/06/26(日) 16:49:43.89 ID:???
>>282
クライアントサイドJavaScriptがシングルスレッドだった事を懸念していたはずなのに、なぜサーバサイド言語の話になるんだ?
クライアントサイドならWorkerを使え、とアドバイスしてもスルーするし、意味が分からん

284 :1:2016/06/26(日) 16:55:28.58 ID:rhVzrhMb
すみません
>>277はマルチスレッドにしたいという意味ではなく、jsの非同期処理がシングルスレッドだったことに驚いただけです

285 :nobodyさん:2016/06/26(日) 22:33:26.55 ID:???
>>281
全然関係ないけど
勉強になった
ありがと

286 :1:2016/06/27(月) 00:10:56.51 ID:UC1mYRg/
目指すのは2chというより匿名Twitterになりそう
人と人が繋がるTwitterとは違って、話題に人が集まるTwitterみたいな

287 :nobodyさん:2016/06/28(火) 17:15:03.66 ID:???
Twitterとかいらないから。

288 :nobodyさん:2016/06/28(火) 17:15:47.54 ID:???
ハッシュタグみたいなクソみたいな仕組みはやめよう。

289 :1:2016/06/28(火) 18:22:34.15 ID:k2VEgnFH
そこまではしない
2chのシステムにTwitterのUIを組み合わせるみたいな
2chのUI(専ブラじゃないほう)は時代遅れ

290 :1:2016/06/29(水) 00:25:59.25 ID:???
リポジトリクラス設計メモ
ここではUserクラスを例に使う
core/userパッケージを作って関連クラスを全部突っ込む
Userクラスはパッケージプライベート
Userリポジトリクラスは1スレッド1インスタンスでnew時にconインスタンスを渡す
UserインスタンスはUserリポジトリ経由でしか取得出来ない

291 :nobodyさん:2016/06/29(水) 00:34:11.12 ID:???
DB的にテーブルなんて2,3個しかねぇんだから、UIを除くコアの部分というか
サーバー側なんて2,3週間でできるレベル。

292 :nobodyさん:2016/06/29(水) 08:46:54.92 ID:???
慣れてりゃ2,3日だな
勉強兼ねてリファクタリングしてるんでしょ

293 :1:2016/06/29(水) 16:49:53.16 ID:TQMsW2Bf
プロプログラマってそんなに早いのか
java使ってて思うんだけど検査例外が…
一回ザッと作った後に例外処理作っていく派なのにコンパイルエラーが

294 :1:2016/06/29(水) 16:59:30.59 ID:TQMsW2Bf
名称変更
サブパスワード/メインパスワード

サブパスワード/マスターパスワード

295 :nobodyさん:2016/06/29(水) 18:22:15.51 ID:???
>>288
あれ理解しやすくて良いじゃん

296 :1:2016/06/29(水) 18:26:18.59 ID:TQMsW2Bf
>>295
一つの話題に書き込むから、そもそもハッシュタグの必要性を感じない
2chでハッシュタグいるかって言われたらいらないのと同じ

297 :1:2016/06/29(水) 23:44:00.21 ID:???
VIPでアイディア募集したり意見聞いたりしてみたら役に立ちそうな情報、意見が結構出た
http://vipper.2ch.net/test/read.cgi/news4vip/1467207439/
http://vipper.2ch.net/test/read.cgi/news4vip/1467114944/

お陰で沈みかけていたモチベも回復

298 :1:2016/07/30(土) 17:15:11.85 ID:fbGk0XoS
生存報告(作業が進んでいるとは言っていない)

299 :1:2016/08/28(日) 17:06:50.32 ID:lhHuMh7u
【仕様変更】
・コマンド機能は一般ユーザーには使いにくそうなので出来るだけ廃止
・PC/スマホ等で同期する為に、開いているタブを記憶するAPIを用意する予定でしたが、
それ以外にもNGを記憶したり、その他詳細設定を記憶するAPIも用意しなければいけなくなりそうなので、
WEBStorageのような感覚で使える永続化APIを用意します

300 :1:2016/08/28(日) 17:08:56.37 ID:???
あとLinux鯖でも頑張ればC#使えるみたいなのでjavaではなく.NET Coreで作ります

301 :1:2016/08/28(日) 22:28:37.25 ID:???
プロジェクト名を"Nch"に変更します(サービス名ではありません。サービス名はまだ未定)
Number、Next、New、.NETなどのNです

302 :nobodyさん:2016/08/28(日) 23:01:41.42 ID:???
俺も最近PHPとJavaScript勉強し始めておお。一緒だと思ったらなんだよ。
C#にいくのかよ・・

303 :1:2016/08/29(月) 00:20:23.54 ID:???
>>302
PHPは使い捨てアプリじゃないと無理と言う事が分かったから…
1時間くらいで作る分にはいいんだけどね

304 :nobodyさん:2016/08/29(月) 14:15:26.44 ID:???
.NET Coreなんて使ったらレンタルサーバーじゃ対応してないだろうし、
VPSサービス使わないと運用できねぇじゃん。

305 :nobodyさん:2016/08/29(月) 14:16:29.25 ID:???
というか、名前や形から入り過ぎててワロタ

306 :1:2016/08/29(月) 16:36:49.08 ID:???
>>304
勿論VPS使うよ

307 :nobodyさん:2016/08/31(水) 01:45:15.60 ID:???
Linuxで、C#? 実績ないだろ

Javaを使え

308 :1:2016/08/31(水) 15:52:02.60 ID:???
java大嫌いなんだけど
プロパティもないしgetter地獄になるし
APS.NET Coreって実勢ないの?

309 :1:2016/08/31(水) 16:04:44.50 ID:???
確かにjavaの方が実績は多いだろうけど
日本語情報も
でもあの文法はなー

310 :1:2016/08/31(水) 16:05:36.50 ID:???
でも安定求めるならjavaの方がいいのだろうか

311 :nobodyさん:2016/08/31(水) 17:12:49.80 ID:???
実績はそりゃ、今年出たばっかだからないだろ。
でも、小さなシステムだし、.NET Coreでいいんじゃね。
逆に、Javaでも、Getter地獄で苦しまんだろ。どうせ作るクラスも少ないだろうし。
なんでもいいじゃね。

312 :1:2016/08/31(水) 17:19:32.30 ID:???
それより日本語の情報少なすぎてMySQLに接続しようとするだけで4日経った
MySql.Data使おうとしてもできないし

313 :1:2016/08/31(水) 17:22:41.52 ID:???
確かにjavaの方がいいかもな
情報少なすぎて何もできない

314 :nobodyさん:2016/08/31(水) 17:28:54.73 ID:???
そっか。.NET CoreはDB周りまだ、プロバイダの方はまだとかそんなオチとか。

315 :nobodyさん:2016/08/31(水) 17:30:38.95 ID:???
まぁ、勉強のためもあるんだろうが、小さいシステムなんだから最初から
言語とかにこだわらずに、言語に依存しないWebアプリの作り方とか注意点とか
そういうの学べれば最低限OKだと思うけどな。

316 :1:2016/08/31(水) 18:20:32.53 ID:???
じゃあやっぱりjavaか…
javaいつになったらプロパティ取り入れる気なんだろ

317 :1:2016/08/31(水) 18:52:09.43 ID:???
まだリポジトリパターンがいまいち分かってない

318 :nobodyさん:2016/08/31(水) 23:40:16.15 ID:???
ここでNode.jsを勧めてみるテスト

319 :1:2016/08/31(水) 23:49:13.93 ID:???
Node.jsはいつか覚えたい
javaとかC#の標準APIに比べるとjsって何か足りないんだよな
Nodeは知らないけど

320 :1:2016/08/31(水) 23:50:44.60 ID:???
Node.jsってsocketが得意なのか

321 :nobodyさん:2016/09/01(木) 01:07:03.22 ID:???
Go, Ruby, Python

322 :1:2016/09/01(木) 18:49:35.16 ID:???
リポジトリ作り直してどんどんコミットしていくわ
早く作らないとモチベが持たん

323 :1:2016/09/01(木) 18:58:08.34 ID:???
プロはどうやって開発しているの?このくらいなら3日くらいで終わらせる人いそうだけど

324 :nobodyさん:2016/09/01(木) 19:01:47.32 ID:???
見た感じ飽きっぽさそうだからどうしようもない。
どうせ、もう1個のゲームの方だかも完成してないんでしょ?

325 :1:2016/09/01(木) 19:02:57.67 ID:???
とりあえず新リポジトリ
https://github.com/kgtkr/nch

326 :1:2016/09/01(木) 19:03:47.72 ID:???
>>324
まだ完成してない
一個のプロジェクトばかりしてたら飽きてくるし…
こっちは慣れている間に結構進んだけど

327 :1:2016/09/01(木) 19:04:04.83 ID:???
「離れている間」のミスね

328 :1:2016/09/01(木) 19:08:43.45 ID:???
まあのんびりと作るか

329 :nobodyさん:2016/09/01(木) 19:16:27.12 ID:???
つか、色々アドバイスしてくれる人は君が離れてる間にどっかいっちゃったしね・・

330 :nobodyさん:2016/09/01(木) 20:27:30.02 ID:???
飽き性でスケジュールも決めない人は向いてないよね
新入社員でも出来る事しかできないコーダー止まりのパターンだ

331 :1:2016/09/01(木) 20:36:09.48 ID:???
じゃあスケジュールだけでも作るか

332 :1:2016/09/01(木) 21:34:15.95 ID:???
予定
https://github.com/kgtkr/nch/milestones

333 :1:2016/09/01(木) 21:43:11.59 ID:???
今日から9月だから9/30までにサーバーサイド終わらせよう

334 :nobodyさん:2016/09/02(金) 01:33:57.49 ID:???
こういうガワだけアピールして結局何にも完成出来ない人間腐る程見て来たから是非頑張ってほしい
口だけじゃなくて

335 :nobodyさん:2016/09/02(金) 02:40:46.70 ID:???
>>323
まず初めに、簡単なチャット機能を作ってみましょうって、言語の本に、よく載っている。
それをコピペすればいいだけ

君は本を読んだことがあるのか?

336 :1:2016/09/02(金) 07:48:46.29 ID:???
>>334
完成させる気はあるんだけどやっぱり周りから見たらそう見えるよな
頑張るわ

>>335
java本は読んだ事あるけどサーブレットはない
今持ってるのは、java2冊とUnity一冊

337 :1:2016/09/02(金) 16:29:06.20 ID:???
ThreadをTopicに名前変更(java.lang.Threadと被って面倒なので)
ついでにResponseをResに変更。こっちは単純に短くしたかった

338 :1:2016/09/03(土) 00:02:23.49 ID:???
・トリップ機能は実装しない予定
代わりに無制限に作れるプロフィール機能を作る

・名前欄の図形
★☆ 管理人等による書き込み
●○ 上記のプロフィール付き書き込み
■□ システムによる書き込み

※以下は今後使う事になる可能性があるので念のため白図形への置き換えを行う
▲△
▼▽
◆◇
??
??
??
??

339 :1:2016/09/03(土) 00:03:17.11 ID:???
文字化け修正

♠♤
♣♧
♥♡
♦♢

340 :1:2016/09/03(土) 00:03:58.56 ID:???
ここUnicode未対応鯖か
下4組はトランプ記号です

341 :1:2016/09/03(土) 00:13:36.52 ID:???
トランプ記号はやっぱりなしで

342 :1:2016/09/03(土) 00:27:00.07 ID:???
読みやすいコードをパフォーマンスの両立って難しいな
実際に測定した訳ではないけど読みやすさを意識するとDBアクセスがかなり増える

343 :1:2016/09/04(日) 14:57:21.86 ID:???
javaの1ファイル1クラス制限はenumとか例外とかでかなり面倒
enumも例外も短くて済むから制限しなくてもいいのに

344 :nobodyさん:2016/09/04(日) 15:21:26.77 ID:???
Javaで一番うざいのは、ソースファイルを簡単にフォルダ分けできないのがうざい・・
パッケージ名の階層がフォルダ階層する慣習?がうざいったらありゃしない。
.NETだと、Visual Studioで簡単にソリューションエクスプローラでフォルダ作れば、
自由自在だが。

345 :1:2016/09/04(日) 15:25:04.13 ID:???
>>344
これもある
名前空間にするほどじゃないけどソース分けたい事とかあるし
コンパイル後のclassファイルだけ1ファイル1クラス、名前空間=フォルダ構造にすれば実行時も困らないだろうに

346 :nobodyさん:2016/09/04(日) 15:34:52.79 ID:???
だな。コンパイル後は、名前空間=フォルダ構造で勝手にしてくれればいいが、
ソースファイルまでそんな扱いにする慣習がうざい。
慣習だから勝手にEclipseとかAndroid Studioがやってるだけで、
ビルド構成をいじくれば、自由自在にできんだけど、めんどくせぇわ。

347 :1:2016/09/04(日) 15:39:23.40 ID:???
あとチェック例外も
とりあえず作って最後に例外処理したい時とかも、大量の赤ビックリが目障り

348 :nobodyさん:2016/09/04(日) 15:53:47.02 ID:???
ああ。チェック例外か。チェック例外の良し悪しはまだ断定できんな俺。
でも、結構チェック例外いいかもと思ってる。

349 :1:2016/09/04(日) 16:00:01.44 ID:???
確かに便利な事もある(ドキュメントの例外部分を見落としていた時に教えてくれたり)けど、、
オプションで指定みたいな事は出来ないのだろうか

350 :1:2016/09/04(日) 16:21:54.84 ID:???
timeAPIが結構便利そう

351 :1:2016/09/04(日) 17:26:15.41 ID:???
2chって一ヶ月に7000万くらいレスあるのか

352 :1:2016/09/04(日) 17:30:30.15 ID:???
Twitterは2ch軽く越えてた

353 :1:2016/09/04(日) 20:34:53.79 ID:???
とりあえずpushした

354 :1:2016/09/04(日) 20:36:08.51 ID:???
Repositoryパターンが分かって気がする

355 :1:2016/09/04(日) 22:10:52.35 ID:???
運営はルール違反には関わっても、マナー違反には関わるべきではないと言うのが個人的な考えだから、不愉快な書き込みには低評価をするシステムは取り入れる
違法な内容とか規約違反とかは通報フォームで済ませるけど

356 :1:2016/09/04(日) 22:36:32.46 ID:???
DMも実装します

357 :1:2016/09/04(日) 22:46:52.57 ID:???
・メモ
DMのホワイトリストorブラックリストモードはクライアントで実装出来るのでサーバーサイドでは実装しない
なるべくサーバーサイドは小さくする

358 :1:2016/09/04(日) 23:07:43.24 ID:???
うわっ
APIリストマークダウンで作ったら文字コードが英語専用になってたからデータ吹っ飛んだ
MarkDown#Editorって奴htmlだとutf-8で出力出来るのにmdだと出来ないんだけど

359 :1:2016/09/04(日) 23:50:36.87 ID:???
実装が必要な機能を整理する為にまとめました
https://github.com/kgtkr/nch/blob/master/api.md

360 :nobodyさん:2016/09/05(月) 00:16:09.63 ID:???
今更だけど、まず1が2ちゃんねるについて理解してるのかが謎なんだよな

361 :nobodyさん:2016/09/05(月) 09:09:40.30 ID:???
そこは別にどうでもいいし、なんとでもなるでしょ

362 :1:2016/09/05(月) 15:53:24.15 ID:???
「2chについて理解」って例えばどんな事ですか?
ソースを読んだ事はありませんが(perlが分からないので)

363 :1:2016/09/05(月) 16:31:50.70 ID:???
何かSQLの基本が理解出来ていない気がする
プログラミング言語の感覚だと全く理解できないし

364 :nobodyさん:2016/09/05(月) 18:27:46.72 ID:???
.NETやってたんならLINQ使ってただろ?

365 :1:2016/09/05(月) 18:31:51.03 ID:???
>>364
javaの方がいいと言われたのでjavaにしました
本当はリンク使いたいですが…

366 :1:2016/09/05(月) 18:43:45.84 ID:???
あっ読み間違えた

.NETでDBを使ったことはなく、LINQはこれから勉強しようと思っていた所なのでまだ使った事はありません

367 :nobodyさん:2016/09/05(月) 18:51:49.35 ID:???
そっか。基本的な操作ぐらいはすぐ覚えれるだろう。
まぁ、ものにするには、慣れるしかないけど。
俺は昔にOracle(SQL)を触りまくって覚えて、最近、全然データベース触ってないけど、
触りまくったらからなんとか今でもサクッと書ける。そりゃ細かい構文は忘れるけど。

368 :1:2016/09/05(月) 18:56:14.95 ID:???
本当に基本的な物なら分かるんですが、少し複雑な事をしようとするとどうすればいいか分からなくなるんですよね
入門サイト見ても追加、更新、削除、検索の基本くらいしか載っていないので…

369 :1:2016/09/05(月) 18:58:20.34 ID:???
Query外部ファイル化面倒だし、だからと言って一行に書くわけにもいかない
メソッドチェーンで文字列を作っていって、toString()でQuery文字列に変換みたいな事出来ないだろうか

370 :1:2016/09/05(月) 19:05:59.31 ID:???
stream-apiって言うのがjavaにあるらしいがSQLで使う事出来ないのか?
ggっても出てこないんだけど

371 :1:2016/09/05(月) 23:03:06.58 ID:???
SQL文ってやっぱり外部ファイル化した方がいい?

372 :nobodyさん:2016/09/05(月) 23:38:28.62 ID:???
いや、さすがにそれはしないな・・

373 :nobodyさん:2016/09/05(月) 23:40:30.37 ID:???
ユーザーが変更できるようにそういう目的があるならしてもいいかもしれんが、
SQL分を埋め込まなきゃいけないのは宿命。もしくは、
ORMに逃げる。

374 :nobodyさん:2016/09/05(月) 23:41:44.09 ID:???
というか、そういうクソSQLというかデータへのアクセスを1か所にまとめるために、なんとかパターンとかあるわけで。
リポジトリパターンもそんな感じじゃねぇのかな?

375 :1:2016/09/05(月) 23:46:37.63 ID:???
別に変更の必要はないんだけど、javaだと1行で書くか、複数行を頑張って書くかしか選択肢ないのが辛い

376 :1:2016/09/05(月) 23:48:35.26 ID:???
こうやって行ごとに+演算子とリテアル書かないといけないからかなり読みにくいんだよな

"CREATE TABLE topic("
+ "id int NOT NULL PRIMARY KEY AUTO_INCREMENT,"
+ "title text NOT NULL,"
+ "category text NOT NULL,"
+ "text text NOT NULL,"
+ "updatetime datetime NOT NULL,"
+ ""
+ "INDEX(id)"
+ ")"
+ "ENGINE=InnoDB;"

377 :nobodyさん:2016/09/05(月) 23:53:43.48 ID:???
それは、がんばってインデント揃えてスペース入れたりして見やすくするしかないような。
ヒアドキュメントみたいのないんじゃねぇかな。

378 :1:2016/09/05(月) 23:55:34.34 ID:???
複数行文字列プラグインが消えたのがな…
https://fushihara.org/blog/archives/1657

自作出来ないかな

379 :nobodyさん:2016/09/06(火) 00:08:45.20 ID:???
EclipseのJavaのデフォルトのフォーマッタが邪魔するかもしれんが、
俺は+を後ろにおいて揃えるな。
" CREATE TABLE topic( " +
"  id int NOT NULL PRIMARY KEY AUTO_INCREMENT, " +
"  title text NOT NULL,"

380 :1:2016/09/06(火) 00:56:17.95 ID:???
>>379
後ろの方が見やすいのかな
前までは後ろ派だったけど前の方が良いって聞いたから前に書くようにしたんだけど…


これさえインストール出来ればいいんだが…
installボタンないからアカウント作ればいいのかと思って作ったけど出てこない
もしかして完全に消えた?何故
https://marketplace.eclipse.org/content/java-multi-line-string-editor

381 :1:2016/09/06(火) 22:52:05.68 ID:???
ヒアドキュメントを出来るプラグイン探していたら2日潰れた
本当java嫌い

382 :1:2016/09/06(火) 23:23:10.96 ID:???
仕方ない…とりあえずこのまま頑張るか

383 :1:2016/09/06(火) 23:26:54.82 ID:???
コピーしたらIDEがエスケープしてくれる機能使って、

/*
ここの元SQL文を書いておく
改行したり
*/
String query="";//←ここに上のコメントの中身をコピー

これなら少しはマシになりそう
雑だけどしばらくはこれで代用するか
ここでプラグイン探したりしていたらモチベ死ぬ自信しかないし

384 :1:2016/09/08(木) 17:49:49.04 ID:???
TwitterってjavaじゃなくてScalaだったのか

385 :1:2016/09/08(木) 20:20:13.73 ID:???
3日でScalaに移植しよう
基本クラスの作成は11日までだから間に合うはず

386 :nobodyさん:2016/09/08(木) 20:23:29.33 ID:???
なんかブレブレだけど大丈夫か

387 :1:2016/09/08(木) 20:47:43.55 ID:???
全然大丈夫じゃない

388 :1:2016/09/08(木) 20:49:02.98 ID:???
Twitterはjavaで出来ていると思っていたけど、Scalaだと言う事を知ってScalaの方がいいのかなと思って
JVMは好きだけどjavaは嫌いだからScala覚えた方がいいのかなと

389 :1:2016/09/08(木) 20:58:31.43 ID:???
何かかなり複雑な言語っぽいな
使いこなせたら強力な武器になりそうだけど

390 :nobodyさん:2016/09/08(木) 21:08:27.74 ID:???
目的見失いすぎワロタ

391 :1:2016/09/08(木) 21:12:13.43 ID:???
javaerがScalaerに3日でなれるのだろうか

392 :1:2016/09/08(木) 21:21:52.20 ID:???
Scara入れたらエクリプスが異常に重くなった

393 :nobodyさん:2016/09/08(木) 22:06:08.52 ID:???
5ヵ月目で出来たものは結局20年前からある会員制BBSの劣化β版か…
一生完成しないパターンだから見限るわ

394 :nobodyさん:2016/09/08(木) 22:06:42.58 ID:???
典型的な完璧主義者だな。
度を超すと、物事完成させれなくなるよ。
シューティングゲームの方は完璧主義がたたって壁にぶつかったんじゃないの??
それでこっち逃げてきたとか。

395 :1:2016/09/08(木) 22:07:24.97 ID:???
STGはそんなにぶれていない
こっちはブレブレだけど

396 :1:2016/09/08(木) 22:12:01.54 ID:???
もう5ヵ月か…
PHP→javaよりはjavq→Scalaの方が楽だろうけど

397 :1:2016/09/08(木) 23:00:15.26 ID:???
思ってたよりjava→scalaの移植簡単だ

398 :1:2016/09/08(木) 23:11:20.13 ID:???
Scalaらしさとか追及していたら時間掛かりすぎてモチベ死ぬだろうから、そういうのは全く考えずにとりあえず移植する

399 :nobodyさん:2016/09/09(金) 13:43:10.78 ID:???
>>394
作り方に拘って完成に辿り着けないタイプだよね
Twitterのブランド力に影響されてるところからミーハーでもあるけど
ここで「GoogleはPythonを使っているらしい」と指摘したらまた言語を変えて作り始めそう

400 :1:2016/09/09(金) 17:36:59.04 ID:???
動的言語は苦手だからそれはないと思う

401 :nobodyさん:2016/09/09(金) 18:54:09.26 ID:???
動的言語が苦手ならなぜPHPで作り始めたのか
JavaScriptも苦手っぽいけど、今時静的言語だけで頑張るのは厳しい

402 :nobodyさん:2016/09/09(金) 18:58:04.81 ID:???
Pythonが動的言語かいなかをいいたいんじゃなくて、あくまでPythonは例で、
君の性格について言及するに引き合いにだしただけなのに、
動的言語は苦手だからとか見当はずれなレスして読解力もないのか・・

403 :1:2016/09/09(金) 19:00:04.29 ID:???
最初からPHPとjavaには不満あったけど、Scalaは結構合いそうだからこのまま進める

404 :nobodyさん:2016/09/09(金) 19:01:41.17 ID:???
Scalaは趣味ではいいけど、仕事の求人数的には役立たずじゃね。

405 :1:2016/09/09(金) 19:29:45.30 ID:???
>>404
これ趣味だし、好きな言語使いたい
これから普及する可能性もあるし

406 :1:2016/09/09(金) 19:31:06.21 ID:???
PHPが動的言語と静的言語のデメリットをとった言語なら、Scalaは両方のメリットをとった言語だと思う

407 :nobodyさん:2016/09/09(金) 23:15:11.36 ID:???
javaの上でscala動かすの?

408 :nobodyさん:2016/09/09(金) 23:20:55.70 ID:???
あ?PHPバカにすんなよ

409 :1:2016/09/09(金) 23:35:12.40 ID:???
>>407
.NET Framework上で動く言語にC#とかVB.NETがあるのと同じで、
JVM上で動く言語にjavaとかScalaがある

410 :nobodyさん:2016/09/09(金) 23:51:36.80 ID:???
疑問が二つ。
このスレに書き込むかは正直どうでもいいのでちゃんと開発し続けているのか
1についていく人間が果たしてどれだけ居るのか

411 :1:2016/09/09(金) 23:53:26.31 ID:???
今の状態ではついてくる人がいないのは分かっている
ただ開発は続いている

412 :nobodyさん:2016/09/09(金) 23:54:22.68 ID:???
静的型付け言語を

413 :1:2016/09/10(土) 00:31:58.25 ID:???
明日頑張れば移植終わりそう
TODOは明日までにクラス作って、明後日からDBだから予定変更いらないかも
これ異常予定変更したくないし

414 :1:2016/09/10(土) 10:32:12.31 ID:???
ソース半分以下になったりするからかなり便利

415 :1:2016/09/10(土) 13:50:28.68 ID:???
移植完了

416 :1:2016/09/10(土) 13:50:52.92 ID:???
間に合ったので予定変更せずに進めます

417 :nobodyさん:2016/09/10(土) 14:41:15.95 ID:???
1の予定ではいつ完成するのだろうか

418 :1:2016/09/10(土) 16:09:33.38 ID:???
>>417
https://github.com/kgtkr/nch/blob/master/todo.md

419 :1:2016/09/10(土) 16:09:52.20 ID:???
今日までと思っていたら明日までだった

420 :nobodyさん:2016/09/10(土) 18:27:08.85 ID:???
>>418
サーバのToDoしかないようだが…
全て完成するのはいつ?

421 :1:2016/09/10(土) 18:51:52.86 ID:???
>>420
クライアント側はまだ仕様がしっかり決まってないから分からない
APIの薄いラッパーは1週間くらい
クライアントアプリはサーバーより時間掛かるかも

422 :nobodyさん:2016/09/11(日) 15:34:42.06 ID:???
APIの仕様出たらオレもクライアントアプリ作るよ、ブラウザ使わないやつ

423 :1:2016/09/11(日) 17:38:08.69 ID:???
>>422
安定して来たらAPIの仕様はドキュメント化します
ドキュメント化する前も一応使えますが、仕様が大幅に変わる可能性もあります

424 :1:2016/09/11(日) 17:40:09.81 ID:???
ResRepositoryとTopicHistoryRepositoryが終わりました
Scalaの開発効率凄い

425 :nobodyさん:2016/09/11(日) 17:59:23.75 ID:???
まだ、サーバー公開してるわけじゃにし、外部の者が
開発はめんどくさいだろ。

426 :1:2016/09/11(日) 18:08:35.24 ID:???
サーバーはさくらのVPS借りる予定です
ドメインは一個とってサブドメインにします

427 :1:2016/09/11(日) 18:10:40.90 ID:???
まだ鯖どころか、スクリプトも完成していないのでクライアント開発は無理ですね

428 :1:2016/09/11(日) 18:22:24.69 ID:???
2Gプランが1700円くらいか
広告貼って月1000円くらい入ればいいんだが…1700円全額は確実に金なくなる
VIPみたいな書き込みが多くなると、Googleアドセンスは確実にBANされるだろうしどうしようかな

429 :nobodyさん:2016/09/11(日) 18:38:25.71 ID:???
PHPなら無料レンサバで様子みながら、ユーザーが増えて成功しそうなら、
有料に移行できるのになww
まぁ、最初から金を払わざるを得なくて君の本気度が試される。
無料のVPSとかあるのか知らんが。

430 :nobodyさん:2016/09/11(日) 18:42:13.11 ID:???
もう、明日にでもさくらのVPSだかしらんがどこでもいいから契約しろって。
で、自分を窮地に追い込めば、モチベーションも長続きするんじゃね??

431 :1:2016/09/11(日) 21:22:32.53 ID:???
>>429
PHP→java→Scalaにしてよかったと思ってるよ
かなり開発期間伸びたけど

>>430
それは流石に…


TopicRepositoryとTopicHistoryRepository終わりました

432 :1:2016/09/11(日) 21:23:02.14 ID:???
TopicHistoryRepositoryは既に言ってた

433 :1:2016/09/11(日) 21:48:43.30 ID:???
DM機能いらないなこれ
オープンな掲示板にしたいのにクローズな物作るのは違う気がする
要望多ければ後からつけ足せばいいし

434 :1:2016/09/11(日) 22:59:01.49 ID:???
今日一日作業したらかなり進んだ

435 :1:2016/09/11(日) 23:42:21.28 ID:???
UserRepository以外のリポジトリは終わりました
UserRは遅いので明日します
GitにPushしました

436 :nobodyさん:2016/09/12(月) 11:54:05.08 ID:???
2chの仕組みとか名前とか入れてるみたいだけど
サーバから2chへのアクセスは無いんだよね?
sakuraのサーバからは2ch一切読みに行けないんで念のため

437 :nobodyさん:2016/09/12(月) 15:25:23.87 ID:???
完全に別のサービスだと思うのにそれはないとおもう。

438 :nobodyさん:2016/09/12(月) 15:50:38.09 ID:???
まあ借りたついでに proxy2ch 置く、とかやらなきゃ問題ないかw

439 :1:2016/09/12(月) 17:00:44.99 ID:???
scがsakura使ってるからだよね
2chにアクセスする事はないからそれは大丈夫

440 :1:2016/09/12(月) 18:40:43.96 ID:???
Repositoryクラスが一通り完成しました
エラー処理が終わっていないのでそこを進めていきます

441 :1:2016/09/12(月) 18:48:55.02 ID:???
現在の設計では1書き込みでかなりDBアクセスをしなければならず、パフォーマンスに問題が発生する可能性が高いです
ただ、実際に動かしながらでも修正出来る部分なので、今はとりあえずこのまま完成させます

442 :1:2016/09/12(月) 22:14:59.61 ID:???
エラーチェックはユーザーの入力判定を優先して行っていきます(ServerException以外の物)
}

443 :nobodyさん:2016/09/12(月) 22:18:42.76 ID:???
ソース見ていろいろ突っ込みたいところだが、Scalaシラネ。

>パフォーマンスに問題が発生する可能性が高いです
>ただ、実際に動かしながらでも修正出来る部分なので、今はとりあえずこのまま完成させます
だね。どんどん進むべきだな。
でも、やっぱ、ミーハーな君は最終的にはNoSQLとかになるのかな??
俺もNoSQLよくわかってないけどw

444 :nobodyさん:2016/09/13(火) 05:22:51.06 ID:???
リレーショナルじゃないデービーって巨大なテキストファイルと違うの?

445 :nobodyさん:2016/09/13(火) 11:00:54.20 ID:???
どっちかっつーとハッシュ
って環境によって呼び名が変わるけど連想配列とかディクショナリーとかね

446 :nobodyさん:2016/09/13(火) 11:02:25.19 ID:???
ちなみにDBでパフォーマンスが問題になるほどの規模には通常ならん
よほど下手くそに作るのでもなければ

447 :nobodyさん:2016/09/13(火) 12:40:58.61 ID:???
でも、RDBMSは奥が深すぎるからな・・
トランザクションの分離レベルで、シリアライザブルをメインで使うのは駄目かな?

448 :nobodyさん:2016/09/13(火) 13:26:10.20 ID:???
中途半端なリプライ機能いらないと思う。ソース見ると1人にしかリプライしか
できないなんて、クソすぎだろ。
>>21-25
あほ。
とかまとめてリプライできないんだぜ。
2chの劣化にしかならねぇ。

449 :nobodyさん:2016/09/13(火) 13:35:52.35 ID:???
それにリプライの表示の仕方なんてクライアントでいくらでもできるかもしれんが、
ツリー表示は2ch型掲示板には向いてない。
例えば、こういう過疎スレとかで、古いレスにリプライ(例えば、>>10)とかしてツリー表示すると、
新着レスを見つけにくいんだよな。で、誰にもレスに気づかれず終わりやすい。

時系列表示だと、新着に気づきやすいから、レスが埋もれることがなくなる。
ので、時系列表示は強制すべきだな。

450 :nobodyさん:2016/09/13(火) 13:44:55.57 ID:???
>>111にも書いたけど、Redditに似せたら2chの代わりにはならず失敗するよ。
Redditはリプライ機能あるツリー表示だし、多彩なソート機能とか最悪の機能ばっかだった。

レスのソートを許すとさっきも書いたけど、過疎スレで新規レスが誰にも気づかれずに
うもれちゃう。
ソース見るとvote機能とかあるけど、voteできるようにしてもいいが、vote順にソートとか
も、これもレスを埋もれさせるのであんま感心しない(もちろん、クラアイントアプリ側で独自に実装できちゃうけど)。

時系列表示が最強。

451 :nobodyさん:2016/09/13(火) 14:06:16.06 ID:???
後は、実装的な話になってるかもしれんが、TopicHistoryって2chでいう、
過去ログとかをマネしたのかもしれんが、別に、Topicと分ける必要ねぇだろ。
TopicにLive Topicかを表すフラグつければいいだけで・・

パフォーマンス的に古いデータを別テーブルに移したいっていうなら、
先にデータが膨大になりがちなResの方を移すべきだと思うし。

452 :1:2016/09/13(火) 16:51:57.95 ID:???
>>443
KVSとかXMLとかのですよね?
よく分からないので使いません
DBは表形式で不便に感じていないので

>>446
設計見直したら一回の書き込みで大量のDB接続が必要な設計になっていました
Userクラスが原因です
しばらくはこのままで行きますが

>>448
複数人リプライですか…
実装難しそうなので見送ったのですが検討してみます

>>449
最初はツリー表示にする予定でしたが、Redditを使ってみて使いにくかったのでやめました(あと実装が難しかった)

>>450
Vote機能は自治の為の機能であって、ソートの為の機能ではありません
運営が関わるような事(法的にアウトだったり、鯖に負荷を掛けたり、個人情報の書き込みだったり)ではないが不愉快な書き込みに対してDVをすることで書き込みが削除されます
しかし、DVだけだと悪意のもった集団がDVで無差別に削除する可能性があるので対抗する機能としてUV機能も付けました
また、UVを多くされればユーザーのレベルが上がり、投票への影響力が大きくなったり書き込みの規制も緩くなります
DVを多くされれば逆の事が起こります

>>451
タイトル、カテゴリ、テンプレを自由に変更出来る用にしたので、それのバックアップです
wikiのバックアップと同じ機能です

運営は最低限の事だけを行えば自動で管理が出来る掲示板を目指しています
また、内部は複雑でも使い方はRedditのように複雑にならないように気を付けています
例えば、Vote機能は上に書いたような複雑な仕組みをしらなくても、不愉快な書き込みにはDV、良い書き込みにはUVをすると言う事だけ知っていれば使えます
あとサーバーの機能は必要最低限にします。理由は、サーバーの負荷を抑える為と、サーバーの不具合はクライアントサイドの不具合と比べて重大な事になりやすいからです

453 :nobodyさん:2016/09/13(火) 18:32:23.11 ID:???
>タイトル、カテゴリ、テンプレを自由に変更出来る用にしたので、それのバックアップです
>wikiのバックアップと同じ機能です
そういうことか。

>Vote機能は自治の為の機能であって、ソートの為の機能ではありません
了解。
ってか、投稿って匿名じゃできないんだっけか???
読むのはできるだろうけど。

>複数人リプライですか…
後は、何気にさらっと2chでは>>452にみたく1レスに複数人宛てに自由に書けるけど、
これはできなくてもいいのかな・・?
まぁ、そこらへんの使い勝手をしっかり考えたほうがいいと思う。

454 :nobodyさん:2016/09/13(火) 18:39:31.51 ID:???
>>452のレスを6回に分けて個別にレスしないといけないとしたら・・
どうだろう。俺的にはめんどくせぇな。
いかに、2chのシステムが使いやすいってことがわかると思う。

455 :1:2016/09/13(火) 18:55:45.10 ID:???
>>453
匿名で投票が出来てしまうと、荒らし対策的に問題があるので出来ないようにしています
通報はアカウントを持っていなくても出来る用にしますが(全く関わりのない人の個人情報を書き込まれた場合などの対策の為)
投票情報を公開するかは現在検討中です

>>454
確かに面倒ですね
どう実装するか考え中です
実装したいんですが中々難しくて…

456 :1:2016/09/13(火) 18:59:11.27 ID:???
投票機能がある関係上、複数垢を持たれると荒らし対策として機能しません
しかし、規約で禁止した所で効果があるとは思えません
そこで、複数垢を持つことによるメリットを潰して行きたいと考えています

また、カテゴリ機能はあくまでトピ検索の為の機能とし、自治はトピ単位で行うようなシステムにします
これはカテゴリの変更が可能だからと言う理由もあります

457 :1:2016/09/13(火) 19:04:13.21 ID:???
とりあえず例外処理が終わったので(かなり抜けがありますが)、APIを作っていきます
実際に動かしながらエラー処理をした方が早いと思うので

458 :nobodyさん:2016/09/13(火) 19:19:00.77 ID:???
後、もう1点、トピックはトピック立て直さなくていいように、
タイトルは修正できるようにして、トピック毎のレス数に制限を設けなくしてる
と思うんだけど、区切りつけないと人気のあるトピックだと、
レス番が10万とかいって、見た目うっとおしくなりそう。

トピックのレス数に制限設けて、新規トピック作成時に、前のトピックのIDを指定して、
結びつける手もある。

459 :nobodyさん:2016/09/13(火) 19:23:46.45 ID:???
>>自治はトピ単位
狭すぎじゃねぇのかな。Redditでもモデレーター集めるの大変なのに。
でも、ユーザーって管理ユーザーと一般ユーザー別れてるか知らんが。

460 :1:2016/09/13(火) 20:12:38.32 ID:???
>>458
TwitterのTLみたいに少しずつ読み込むから問題ないと思うけど

>>459
狭いかな
そこのシステムはもう少し考えてみるか

461 :nobodyさん:2016/09/13(火) 20:42:06.83 ID:???
>TwitterのTLみたいに少しずつ読み込むから問題ないと思うけど
少しずつ読むとか全く関係ないだろ。

235342 : nobodayさん 2016/09/13(火) 20:12:38.32 ID:???
あいうえお
235343 : nobodayさん 2016/09/13(火) 20:12:38.32 ID:???
かきくけこ

2ch風に表示するとこんな感じになるんだぜ。レス番の桁数が増えすぎて、見た目うっとおしくなりそう
で、レスの仕様がどうなるのかしらんが、2chと同じ本文に埋め込むなら

>>235343

長いな・・手入力だとタイプミスしそうだぜ。
まぁ、気にしすぎかもしれんけど。気づいたから言っただけ。

462 :1:2016/09/13(火) 20:47:50.41 ID:???
>>461
表示方法は実装によるけど、公式WEBアプリではレス番の表示はしないし、>>nnnnみたいな事しなくてもよくする(PHP版と同じ実装)
あと、仕組み的に全レスでユニークの連番になるから、トピで番号振ってたら飛びまくって意味分からないことになる

463 :nobodyさん:2016/09/13(火) 20:50:14.29 ID:???
まぁ、今はレス番400番台だけど、例えば
>>452で仮にレス番が40万番台としよう。
簡単に6つのレス分>>XXXXXX入力できるか?

見る方としても6桁のレス番はパッと見、人間の限界超えてるな。

464 :nobodyさん:2016/09/13(火) 20:52:46.53 ID:???
>>462
だって、ツリー表示みたいな事はやめるんじゃなかったけ??
時系列で表示するなら、どうやって、レス番号表示せずにリプライの関係を示す?

465 :1:2016/09/13(火) 20:59:34.24 ID:???
自動的なツリー表示はやめるけど、「>>返信」と言うボタンをクリックしたら展開される
専ブラのポップアップ表示みたいな感じ

466 :nobodyさん:2016/09/13(火) 21:11:50.95 ID:CJ37alkT
>>1
それは本質的にはツリー表示と一緒だから。

で、それやると、>>449に書いたように、レスが誰にも気づかれずに埋もれるんだよ。

例えば、このスレのレス番今は400台だけど、例えば古いレス番10にリプライするよ??
そうしたときに、君の言うツリー表示だと、レス番10に相当するレスをまず遡って表示して、「返信」
ボタンを押さなきゃいけないの??
これだと誰にもレスが気づかれない可能性あるよね。

それとも、逆?、新しいリプライのレスに「返信」ボタンつけるの??
この場合は、わざわざ、ボタン押さないとリプライの関係わからないんだ?

467 :1:2016/09/13(火) 21:18:14.07 ID:???
>>466

「>>nnn」と言うボタン押しても、「n件の返信があります」と言うボタン押してもポップアップされる

468 :nobodyさん:2016/09/13(火) 21:19:02.81 ID:???
>わざわざ、ボタン押さないとリプライの関係
ここは別にホーバーして表示でもいいし、実装次第だったね。すまん。

469 :1:2016/09/13(火) 21:24:48.22 ID:???
とりあえずサーバーサイド完成させて、WEBアプリ作っていく
実物見せながらじゃないと改善難しいだろうし

470 :nobodyさん:2016/09/13(火) 21:26:07.83 ID:???
ん??
>>462で「>>nnnn」みたいな事しなくてもよくするといってるのに、
>>467で「>>nnn」と言うボタン押しても
って結局どうする気なのかわからん。
まぁ、君の中でまとまってればいいやww
長々お手数かけました。

471 :nobodyさん:2016/09/13(火) 21:27:59.93 ID:???
>>469
わかった。コーディングの手を止めさせてしまって悪かった。

472 :1:2016/09/13(火) 21:30:25.81 ID:???
>>470
あーごめんミス
「>>返信」の間違え

473 :1:2016/09/14(水) 23:01:17.20 ID:???
複雑になりすぎていたのでTopicとTopicHistoryを分離しました
Userクラスも少し分離してみます
複雑すぎてAPI作るのが難しそうだったので

474 :nobodyさん:2016/09/14(水) 23:09:11.60 ID:???
done is better

475 :1:2016/09/14(水) 23:14:26.86 ID:???
ok

476 :1:2016/09/14(水) 23:44:36.65 ID:???
Userクラス分離完
API作るか

477 :nobodyさん:2016/09/15(木) 01:01:52.06 ID:???
まじいそげよ。

478 :1:2016/09/15(木) 01:36:10.83 ID:???
cookieにパスワード入れていたら危なそうなのでToken作った
明日からapi始める

479 :nobodyさん:2016/09/15(木) 14:01:33.56 ID:???
VPS借りる場合、メモリ2GBあったほうがいいかも。データベースにヘビーに
アクセスするから、1GBってどうなんだろう。
だから、さくらの更に上位のプランは高いから他がいいのかもな。

480 :nobodyさん:2016/09/15(木) 14:11:15.58 ID:0CclNGS2
P2Pハイブリッドで。
全員がサーバー相当する必要はなく、http://2chat.net/へアクセスしたら
ポート解放して読み書き可能なサーバー相当のPCへつなぐ。

481 :nobodyさん:2016/09/15(木) 14:36:15.91 ID:???
awsとかconohaとかシームレスに拡張できるものがいいかもね

482 :1:2016/09/15(木) 17:33:36.38 ID:???
>>479
2GB借りる予定
1GBは足りなくなるってどこかで見た
さくらが大手らしいから一応さくらにしようと考えているけど

>>480
P2Pは仕組みよく分からないから今回はなしで

>>481
さくらってプラン変更するのに解約→再契約がいるんだよね?
でも有名サイトも結構さくら多いからな…

483 :1:2016/09/15(木) 17:38:21.18 ID:???
APIベースクラス作ったから後は単純作業だ…

484 :nobodyさん:2016/09/15(木) 17:56:23.33 ID:???
>2GB借りる予定
あ、2GBで1700円か。勘違いしてた。1GBが1700円と思ってた。
>さくらってプラン変更するのに解約→再契約がいるんだよね?
プラン変更はわからんけど、スケールアップしなくても、新しいプランを契約して、
2つのサーバーをローカルネットで連携させて、スケールアウト見たいな事は
できるんじゃね??WebサーバーとDBのサーバーの2つ仮想サーバーに分けるとか。

485 :nobodyさん:2016/09/15(木) 17:59:56.73 ID:???
Webサーバーだけだと、ディスク容量がもったいないので、
(Webサーバー+DBサーバー)とDBサーバーで、DBは分散させてこうかな?
適当。

486 :1:2016/09/15(木) 18:17:36.93 ID:???
拡張とか2つ借りると言っても2000円越えるのは絶対無理
そんな金ない

487 :1:2016/09/15(木) 18:22:47.38 ID:???
nch.net既に使われてた

488 :1:2016/09/15(木) 18:23:40.75 ID:???
スクリプト名はNchだけど、サービス名はどうしようかな

489 :nobodyさん:2016/09/15(木) 18:27:37.11 ID:???
そっか。
2つ借りる状態になるってことはアクセス数増えてくるわけだから、
その間に広告とか貼ってマネタイズするとかそういう計画はないんだ。
そうしてアクセス数の増加とともに広告で金稼いで、サーバー代捻出して
ステップアップしていくと普通に思ってわ。

490 :1:2016/09/15(木) 18:30:00.02 ID:???
>>489
広告は色々心配があって…
アドセンスとか規約厳しいみたいだし、書き込み内容が酷いとBANされないかなと
アマゾンとかは大丈夫なのだろうか

491 :nobodyさん:2016/09/15(木) 18:34:20.53 ID:???
そっか。俺はそこらへん素人だから実情わかってなかったわ。

492 :1:2016/09/15(木) 18:37:35.26 ID:???
俺もよく分からないから調べてみる
Googleはアウトらしいけど、他なら大丈夫な所あるかも

493 :1:2016/09/15(木) 18:41:30.17 ID:???
2chの広告はマイクロアドって言う奴っぽい
ggってみたら審査も緩いらしいし、ここならいけるかも(Googleで落ちた人が使っているらしい)

494 :1:2016/09/15(木) 18:47:25.42 ID:???
画像投稿機能はサーバー側には付けません
imgurAPIを利用します

495 :nobodyさん:2016/09/15(木) 20:20:39.67 ID:???
そこらへんは悩みどころだよな。
レスの本文に何を許すのか。本文に(Markdownとかによる)HTML入力を許すのか。
それとも、単にPlainなテキストのみ許可するのか・・・
HTML入力許すとブラウザで表示する場合はいいけど、クライアントアプリでの
表示が大変になる・・

496 :1:2016/09/15(木) 20:24:21.14 ID:???
MarkDown使う(独自拡張したいけど大変そう)
クライアントアプリはあまり考えていない。もし作るならElectronとか使ってする

497 :nobodyさん:2016/09/15(木) 20:36:32.49 ID:???
2chmateとかandroidやiOSを無視する気ですかね。
まぁ、そこらへんはすべてのHTMLタグに対応しなくて(できるわけもないし)、
表とかはきつそうだけど、基本的なタグだけ対応すれば、まぁ、でもユーザーが
やりすぎるとブラウザでの表示とクライアントアプリでの表示がかい離しすぎちゃうけど。

498 :1:2016/09/15(木) 20:43:11.45 ID:???
>>497
WEBブラウザからだと問題ある?
WEBアプリはスマホ対応するけど
あと今調べたらElectronみたいなCordovaって言うのがあるらしい

499 :1:2016/09/15(木) 20:58:47.06 ID:???
最近reCAPTCHAって奴多いなと思っていたらGoogleだったのか
凄い有能だと思っていたけど流石Google

500 :nobodyさん:2016/09/15(木) 21:02:47.89 ID:???
例えば、2chなら2chmate並みの操作性に近づけてくれるなら別にWebブラウザでもいいよ。
もちろんWebアプリで可能だと思うし。まぁ、デメリットはブラウザ(JavaScript)で動く分、多少重くなるだろうが。

最低、スレをお気に入りに登録して新着チェックを簡単にできるようにそれぐらいは必要でしょう。

このスレだって、途中で>>1がいなくなって戻ってきたけど、このスレをお気に入りに登録して、
新着チェックできるからこそ、>>1が戻ってきた事に気づけたわけだし。

まぁ、でもスマホとかじゃ2chmateなど専用ブラウザから見てる人圧倒的なんじゃないかな。
2chのスマホ向けのWebページがしょぼすぎて低機能なのもあるけど。

501 :1:2016/09/15(木) 21:13:55.41 ID:???
>>500
お気に入り機能とか使ったことなかった…
タブ170件以上開いて新着チェックしてた

まあそれは置いておいて、
2chmateは使ったことない(IOSだから)よく分からないが、多分専ブラの機能なら大変だろうけどWEBで実装出来ると思う
専ブラ作るのが大変なのはネイティブでも変わらないし

2chは本当WEBページゴミだよな…多分ajaxとかSPAとかが流行ってなかった事に出来たからだと思うけど

502 :1:2016/09/15(木) 23:14:57.05 ID:???
明日か明後日にはサーバーサイドAPIの実装が終わるので(テストはまだだけど)、クライアントの方はその後に考えます
とりあえずPushしました

503 :1:2016/09/15(木) 23:16:36.60 ID:???
クライアントですがJS使えないブラウザは当然ですが、IEも捨てるかもしれません

504 :1:2016/09/15(木) 23:18:34.33 ID:???
いつのまにか500行ってた
テストコード1回も書いたことないから何すればいいか分からん。。。

505 :1:2016/09/15(木) 23:31:09.21 ID:???
あとPHP版でコールバック地獄で酷い事になったのでpromise採用します

506 :1:2016/09/15(木) 23:54:14.47 ID:???
クライアントはvue.jsではなくangular2を使います

507 :nobodyさん:2016/09/16(金) 16:54:03.11 ID:???
>>302だけど、俺もPHP挫折しそうww
コード補完がまともに動かなったり、->の代わりに.をくせでスペルミスしたりで動かなったり効率悪すぎ。
いちいち、メソッド名忘れると、Webで検索してるわ。
開発環境が悪いのかなぁ・・
Windows上のVisual Studio Codeで作って、仮想マシン上のLinuxにデプロイ・実行してるんだけど。

ということで、.NET Core + ASP.NET Coreに移行中。
とりあえず、開発環境と実行環境分けるとあんまいい感じじゃなさそうなので、
Linux上のVisual Studio Codeでやるわ・・

508 :1:2016/09/16(金) 16:58:37.39 ID:???
VS CodeはJSとかHTMLだと軽くて強力だけどPHPは微妙
VSにPHP Tool(クソ高い)入れるかNetBeansおすすめ(そもそもPHPがゴミだけど)

C#ならVS CodeよりVSの無料版の方が絶対良い

509 :nobodyさん:2016/09/16(金) 17:28:26.93 ID:???
>VSにPHP Tool(クソ高い)入れるかNetBeansおすすめ(そもそもPHPがゴミだけど)
勉強目的でいきなりお金払うのわね。NetBeansとかいうのいいんだ。
俺的にはコード補完とかもうちょいまともに効くならPHPという言語でも許容できるけど。

>C#ならVS CodeよりVSの無料版の方が絶対良い
うん。今、それに向けて作業してる。元々、UWPアプリとか作っててVisual Studio 2015使ってるからね。
これ以上、メインマシンをよごしたくなくて、維持でも実行環境(Webサーバー+DBサーバー)は仮想マシン上に構築しようとしてたけど、
Windows上で.NET Core + ASP.NET Coreの開発環境入れてもIISとかインストールされないっぽい(
Kestrelとかいう軽量サーバーがデフォルト?)から、VSにすることにした。
で、データベースだけはLinux上に。

510 :nobodyさん:2016/09/16(金) 17:32:57.59 ID:???
あれ,IIS Expressとかにインストールされちったw

511 :1:2016/09/16(金) 18:28:33.80 ID:???
TODO:
User子クラスに認証関係のチェック不足が大量にあったので修正する

512 :1:2016/09/16(金) 20:36:37.97 ID:???
API一通り完成したのでコミット&Pushしましたー

513 :nobodyさん:2016/09/16(金) 20:57:06.34 ID:???
全部POSTメソッドなんだ。
つか、ソース見にくすぎだな。

514 :nobodyさん:2016/09/16(金) 21:06:49.13 ID:???
つか、これ、コンパイルは通ってるの??
abstract class HttpApiBase(val tokenFlag:TokenFlag,val strParams:List[String],val intParams:List[String]) extends HttpServlet
Scalaの事よくわからんけど、tokenFlagとかコンストラクタの引数?
継承元のHttpServletってサーブレットコンテナ?がHttpServletのインスタンスを生成して、適切なdoPostとかdoGetとか呼んでくれるんじゃないの?
HttpApiBaseにコンストラクタ引数を宣言してて、だれがこれをセットしてくれるのか??

515 :nobodyさん:2016/09/16(金) 21:10:30.17 ID:???
あ、ごめん。Scalaはなんか違うのか。派生クラスみたら、定数値っぽいのがセットされてるな。

516 :1:2016/09/16(金) 21:38:02.32 ID:???
>>514
class Hoge(val i:Int)

public class Hoge{
  public final int i;
  public Hoge(int i){
    this.i=i;
  }
}
と同じ(実際は内部でgetterが生成されていたりするけど)
かなり短く書ける

517 :1:2016/09/16(金) 21:44:30.44 ID:???
あとListはscalaのAPIで不変なリスト
javaのHoge<T>はScalaではHoge[T]
Hoge[]はArray[Hoge]

518 :1:2016/09/16(金) 23:09:55.00 ID:???
あっ大事な事忘れていた
web.xmlがない

519 :1:2016/09/16(金) 23:11:44.98 ID:???
URLとかは
hogeFooよりhoge-fooの方がいいのだろうか

520 :nobodyさん:2016/09/16(金) 23:42:59.51 ID:???
RESTfull API的には
hoge/foo/afef
で、HTTPメソッドGETで取得、POSTで挿入、PUTで更新、PATCHで部分更新、DELETEでリソース削除。

521 :1:2016/09/16(金) 23:48:46.55 ID:???
>>520
POSTとGETは分かりますが、残りは対応面倒と聞きました
全部POSTに統一が一番シンプルでいいかと思ったので、POSTに統一しています

522 :1:2016/09/16(金) 23:49:26.23 ID:???
まだ、バグ修正などありますが、APIを頭の中で整理するために仕様書を書きます

523 :nobodyさん:2016/09/16(金) 23:56:47.02 ID:???
対応って別に全部に対応する必要はないよ。
例えば、User自体は削除できないんだから、Userに対してDeleteメソッドは定義する必要はないし。
Scalaとか使う道具にはこだわるが、作りだす物にはこだわりがないのかね?
いきなり全部はできんけど。

つか、せめて、取得系はGETでいくべきだ。全部POSTとか、クソAPI呼ばわりされること間違いなし。

RESTful APIに別に無理してしなくてもいいが、
例えばQiitaのAPIはRESTful APIっぽいし。
https://qiita.com/api/v2/docs
http://wp.tech-style.info/archives/683

524 :1:2016/09/17(土) 00:03:42.90 ID:???
>>523
なるほど
何か難しそうだけどそういう風なのが普通なのか
あとエラーコードの返し方も考えた方がよさそう
全部jsonで返しているし

525 :1:2016/09/17(土) 00:04:24.59 ID:???
これHTTPの基礎勉強しないと駄目だ

526 :nobodyさん:2016/09/17(土) 00:05:38.71 ID:???
RESTにしなくても、RPC的なAPIでもいいと。
https://dev.twitter.com/rest/public
Twitterはそんな感じだけど。パラメータの渡し方は。

527 :1:2016/09/17(土) 00:06:00.49 ID:???
PATCHとか初めて聞いた

528 :nobodyさん:2016/09/17(土) 00:06:47.04 ID:???
いや、エラーは全部JSONでいいよ。他のResponseとかも
JSONで返すんだし統一性がないと俺ならブチ切れる。

529 :nobodyさん:2016/09/17(土) 00:09:19.60 ID:???
エラーはHTTPのステータスコードでエラーを示して、
更に詳しい情報やメッセージなどをレスポンスのJSONボディで返すのが
普通かな。大手サービスはだいだいこんな感じ。

530 :1:2016/09/17(土) 00:10:05.25 ID:???
>>528
エラーの詳細はJSONだろうけど、HTTPステータスがエラーでも200 OK返しているからどうなのかなと思って
例えば、「本文が長すぎます」みたいなのは200 OKでいいの?

531 :nobodyさん:2016/09/17(土) 00:12:25.56 ID:???
>>526のTwitterはGET,POSTでパラメータはどっちかというとクエリパラメータで
渡して、RPC的なんだと思う。

532 :1:2016/09/17(土) 00:12:43.05 ID:???
>>529
大まかなエラー内容はHTTPステータスでいいのか

REST APIで調べたら「セッションなどの状態管理を行わない」って書いてあったけどトークンってこれに含まれる?
何か凄く難しい

533 :1:2016/09/17(土) 00:14:25.50 ID:???
>>531
twitter参考にしているからこっちがいいのだろうか
何か凄く難しい…
TwitterAPI生では触った事ないから内部でどうなっているか考えた事なかった

534 :nobodyさん:2016/09/17(土) 00:16:42.85 ID:???
>>530
それはまずい、それはクライアラント側のエラーだから
ステータスコードは400のBad Requestで、
JSONの方に、本文が長すぎますみたいな感じで。
まぁ、はじめてなんからほどほどでいいけど。

https://tools.ietf.org/html/rfc7231
で、どんなステータスコードあるかサクっと見たほうがいい。
4xx系がクライアント側のエラー
5xx系がサーバー側。例えば、クライアント側のリクエストには問題ないが、
サーバー側で問題発生で処理できないとか。

535 :1:2016/09/17(土) 00:18:20.61 ID:???
>>534
何か基礎が分かってないみたいだからRESTとRPCを見て、エラーコードも確認してみる
実装は明日にする

536 :nobodyさん:2016/09/17(土) 00:23:06.98 ID:???
>REST APIで調べたら「セッションなどの状態管理を行わない」って書いてあったけどトークンってこれに含まれる?
これって認証がらみのトークンだっけ??
通常は、HTTPのリクエストヘッダにAuthorizationヘッダってあるから
https://tools.ietf.org/html/rfc7235#section-4.2
これで渡してもらうのがふつう。

537 :nobodyさん:2016/09/17(土) 00:25:30.64 ID:???
まぁ、ほんとは認証がらみではOAuth2っていうプロトコルあって、
これをどのサービスを使ってるんだけど。まぁ、さすがに今は覚えることありすぎて
やりすぎかな。

QiitaのAPIもTwitterもFacebookもDropboxもOAuth2だし。みんなこれ使ってる。

538 :1:2016/09/17(土) 00:28:52.08 ID:???
Authorizationヘッダとかあったのか
OAuthはTwitterで聞いた事はあるけどよく知らない
HTTPってかなり複雑だったんだな…

539 :1:2016/09/17(土) 00:31:04.56 ID:???
やる事が思っていたより多かった

540 :nobodyさん:2016/09/17(土) 00:34:41.55 ID:???
まぁ、俺は何度もHTTPのRFCの仕様を何度もよんだし。
いろいろ大手のAPIを叩いたし、OAuth2のクライアント側も自分で実装したりしたから、
ここらへんは叩き込まれてるけど。あくまでクライアント側だけだから。
>>507で書いたように今はサーバ側を君と一緒に勉強しようとかなと
ここに居座ってるw

541 :1:2016/09/17(土) 00:36:51.23 ID:???
一度実装したものを作り直すのは大変だから一回表とかにまとめてみる

542 :nobodyさん:2016/09/17(土) 00:42:23.14 ID:43HWDKIQ
>>541
そこだね。見てて思ったんだけど、作り方が水平方向的?なんだよね。
例えば、モデルクラス作るなら、一気に全部モデルクラスを作るみたいな。
これだと、途中で設計まずったときに全部作り直しになるじゃん。
俺なら例えば最初にUserだけのモデル作って、その次は垂直方向にUser用のAPIを作るね。
そうすりゃ、早い段階で問題点に気づけるし、全体像を早い段階で気づける。

543 :1:2016/09/17(土) 10:10:06.72 ID:???
アジャイル開発って奴か
クラス間の依存とか考えたら結構難しくて…

544 :nobodyさん:2016/09/17(土) 10:34:47.47 ID:???
認証後回しにしてメインのスレッドとレスポンスからがいいと思う

545 :1:2016/09/17(土) 10:41:23.23 ID:???
サブパスワードで安全にしようと考えていたけど、流石に大量のパスワード覚えるのは面倒か
ここ全く考えてなかった

546 :1:2016/09/17(土) 10:55:39.20 ID:???
・SubPass廃止
・Tokenの仕様変更
・Storageは1トークン1つ
・GET、POSTメソッドを分ける
・HTTPステータスも返す

547 :nobodyさん:2016/09/17(土) 14:47:49.39 ID:???
そもそも、サブパスでセキュリティで気にするなら
HTTPSを使わんと。
Let's encrypt!!

548 :1:2016/09/17(土) 16:02:12.48 ID:???
HTTPSってサーバーの設定じゃない?
サーブレット側でも対応することあるの?

549 :nobodyさん:2016/09/17(土) 17:05:10.60 ID:???
ないと思う。
というよりそういう事いいたかったんじゃなくて、HTTPSはサーバー証明書が
必要になるわけだから、サーバー証明書簡単に取れるのか知らないので
そこらへん気をとめておいてねって言いたかった。

550 :1:2016/09/17(土) 17:13:27.05 ID:???
証明書無料のあるか探しておく

551 :1:2016/09/17(土) 17:16:17.06 ID:???
メモ
http://qiita.com/uasi/items/cfb60588daa18c2ec6f5

552 :1:2016/09/17(土) 17:29:25.24 ID:???
authorization認証よく分からん
とりあえずはリクエストパラメーターでいいか…

553 :nobodyさん:2016/09/17(土) 17:38:38.30 ID:???
いや、別にOAuth2とか使わないんでしょ?
で、独自認証なんでしょ??そんだったら、
Authorizationヘッダのフォーマットを自由に決めていいんだって
(HTTPのAuthorizaitionヘッダの形式に違反しないかぎり)。
例えば、Authorization : nch {token}
とか

554 :nobodyさん:2016/09/17(土) 17:42:20.58 ID:???
>>551見ると、Authorization ヘッダについて調べたのセクションに
Authorization: auth-scheme (token68 / auth-params)
ってなってんじゃん。この形式にしたがってフォーマット決めておけばOK。
例えばauth-schemeは「nch」ね(IANAにもちろん登録されてないスキームだけど)。
後はtoken68の形式か。

555 :1:2016/09/17(土) 17:45:18.34 ID:???
なるほど。スキームは自由でいいのか
Authorization : nch (token_id) (token_key)みたいな感じで

556 :nobodyさん:2016/09/17(土) 17:46:14.52 ID:???
それか>>551
Chatwork API は X-ChatWorkToken: トークン ヘッダ
ってなってるように、独自のリクエストヘッダを定義するとか。
X-NChTokenみたいな。

557 :nobodyさん:2016/09/17(土) 17:48:34.18 ID:???
>>555
そう。Authorization: BearerとかはOAuth2を使ってるときの仕様であって、
OAuth2使ってないんだから、独自でもOKだと。HTTPの仕様に従ってるかぎり。

558 :nobodyさん:2016/09/17(土) 17:51:12.40 ID:???
auth-scheme [ 1*SP ( token68 / #auth-param ) ]
厳密にはこうだから、パラメータ2つ渡したいなら
Authorization : nch id=(token_id), key=(token_key)
こんな感じかな。確か,区切りでいいはず。

559 :1:2016/09/17(土) 17:56:31.37 ID:???
それってどこに空白入れてもいいんだよね?
=の前後とか
解析難しそう

560 :nobodyさん:2016/09/17(土) 17:56:43.62 ID:???
で、認証が必要なAPIに認証せずにリクエストしたら、
ステータスコード401のUnauthorizedでレスポンス返す。
で、レスポンスのヘッダにWWW-Authenticate : nch
って指定して、nchスキームでの認証が必要ですよって示すのが普通。

561 :nobodyさん:2016/09/17(土) 18:00:31.58 ID:???
RFC 7235には
auth-param = token BWS "=" BWS ( token / quoted-string )
BWS=Bad White Spaceで仕様上は許可してるけど、推奨しないホワイトスペースだね。

562 :nobodyさん:2016/09/17(土) 18:04:29.65 ID:???
解析自体は難しくない。quoted-stringのを使わなければ。
まず、ヘッダ全体をスペースでSplitする(.NETならString.Split)で、
先頭がauth-scheme。で、今度は残り全体をまず「,」でSplitする。
でそれを今度は「=」でSplitして、終わり。
適宜前後のホワイトスペースをTrimする。

563 :nobodyさん:2016/09/17(土) 18:11:07.36 ID:nfgV7g+h
string authHeader;
var items = authHeader.Split(' ', 1, StringSplitOptions.RemoveEmptyEntries);
items[0]がauth-schemeで空白は既にない。
items[1]が残り。
items[2].Split(',').Select(i => i.Trim());
でこれをそれぞれSplit('=').Select(i => i.Trim())
で終わり。

HTTPの仕様上、quoted-stringってのがゴミ。これを含めると解析はクソめんどくさくなる。

564 :nobodyさん:2016/09/17(土) 18:14:24.42 ID:???
>items[2].Split(',').Select(i => i.Trim());

items[1].Split(',').Select(i => i.Trim());
こうだった。
だから、君の仕様でquoted-stringを使わないように認証トークン生成して
仕様で決めてくれれば解析は楽。

565 :1:2016/09/17(土) 18:15:14.69 ID:???
思ったんだけどid=(id),key=(key)にするメリットって何?
省略可能なパラメーターがある訳ではないし(id),(key)の方が楽だと思う
仕様でそうなっているから?

566 :nobodyさん:2016/09/17(土) 18:16:16.49 ID:???
まぁ、もちろん一番楽なのは、
Nch-ID : token_id
Nch-KEY : token_key
と独自ヘッダで分けてくれれば一番楽だね。

567 :1:2016/09/17(土) 18:17:28.80 ID:???
名前被りがなければ自由にヘッダって作っていいんだよね
それならそうしようかな

568 :nobodyさん:2016/09/17(土) 18:17:57.62 ID:???
>>563
そうだね。仕様でそうなってるからだね。
俺だったら仕様違反はしないけど、もし、(id),(key)にしたいなら、
独自ヘッダにするね。

569 :nobodyさん:2016/09/17(土) 18:19:56.47 ID:???
>>567
うん。独自ヘッダは最初にX-ZZZZみたいなX-を先頭につける慣習??みたいの
あるっぽいことだけ指摘しておく。

570 :1:2016/09/17(土) 18:20:41.97 ID:???
>>569
なら"X-Token:(id),(token)"にする

571 :1:2016/09/17(土) 18:26:51.23 ID:???
プッシュしました

572 :nobodyさん:2016/09/17(土) 18:28:16.24 ID:???
了解。idとtokenに使う文字は注意してね。なんで使えるわけじゃないから。
仕様で確認してね。

573 :1:2016/09/17(土) 19:19:03.25 ID:???
>>572
idは数字のみ、tokenはbase64から=を除いたものだから多分大丈夫

574 :nobodyさん:2016/09/17(土) 20:53:57.80 ID:???
なんだかんだでちゃんと進んでて偉いわ

575 :1:2016/09/17(土) 21:08:17.79 ID:???
エラー関係はCSVで外出しした方が管理楽かも

576 :1:2016/09/17(土) 21:22:09.76 ID:???
twitterの200台ステータスは200 OKしか使ってないみたい
これは分ける必要なさそう

577 :nobodyさん:2016/09/17(土) 21:22:16.27 ID:???
いやいや、偉くないだろ。ユーザーにとっては、完成させれるか完成させれないかの
どっちかしない。開発者にとっては、完成させれなくても勉強になるけど。
だから、進んでても最終的に完成するかしないかが問題。

578 :nobodyさん:2016/09/17(土) 21:30:42.88 ID:???
というか、このサーブレットはローカル環境で動いてるの???

579 :1:2016/09/17(土) 21:36:14.21 ID:???
>>578
まだ実際に動かしてはいない
web.xmlとか作ってないからテスト出来ないし

580 :1:2016/09/17(土) 21:36:54.23 ID:???
HTTPステータスコードってこんな感じ?

200 成功
401 認証が必要/認証エラー
403 リクエストの送りすぎ(書き込み間隔が短い)
404 見つからない(スレなど)
409 既に存在する(スクリーンネームなど)
421 リクエストがおかしい(パラメータが足りない、数値に変換出来ない、文字列が正規表現に一致しない、長すぎる)
500 鯖内部でエラー

581 :1:2016/09/17(土) 21:39:51.01 ID:???
例えば、トピックIDを指定して取得するAPIで見つからなかったらエラーを返しているけど、
トピック検索APIで見つからなかったら成功+空の配列を返している
つまり単取得系と多取得系の違い
これってどっちもエラー返すべきだろうか…

582 :nobodyさん:2016/09/17(土) 21:49:02.01 ID:???
ワロタ。やっぱ動かしてないかww
昨日も書いたけど、すごい水平展開に開発していくな。

https://tools.ietf.org/html/rfc7231
には421のってないな。
まぁ、そんな感じでいいんじゃないかな。
細かいところはAPIによってもマチマチだし。

583 :nobodyさん:2016/09/17(土) 21:50:44.95 ID:???
>>581
それでいいと思う。検索の方はエラーじゃなくていいと思う。

584 :1:2016/09/17(土) 21:51:08.71 ID:???
ウィキペディア見てた

421 Misdirected Request (RFC 7540)
誤ったリクエスト。

585 :1:2016/09/17(土) 21:52:45.98 ID:???
とりあえずエラーコードは連番でしてみる

586 :1:2016/09/17(土) 21:54:03.23 ID:???
500エラーはエラーコード-1だけでいいか
詳細教えたら危険だろうし

587 :nobodyさん:2016/09/17(土) 22:00:42.38 ID:???
というか、マジで動かす方を優先した方がいい。
でないと、また、大幅な手戻り発生しそう。
クラスの依存関係で無理って言ったけど、そんなの当たり前。
だから、そこらへんは適当に動くようにつくればいいだけ。後で修正すればいいんだから。
>>544の人もアドバイスしてくれてるのに。

588 :1:2016/09/17(土) 22:02:21.52 ID:???
とりあえず動かした方がいいのか
なら適当にAPI作って動かしてみる

589 :nobodyさん:2016/09/17(土) 22:10:38.89 ID:???
俺もPHPの勉強し始めてるっていって、この前ASP.NET Coreをやりだしてるっていったけど、
君みたいなやり方してないぞww
初めての作業で全体像見えないまま、クラス設計なんてしようがないし。
だから、とりあえず、1,2つだけモデルクラスを作って、それで次はすぐにWeb APIの方作って、
実際にブラウザからアクセスさせてる。
それで、作り方に問題なさそうって確認してから、おおざっぱに全体の設計を
把握してから残りモデルクラスの作業に取り掛かってる。

590 :nobodyさん:2016/09/17(土) 22:24:28.58 ID:???
PHPerだけどサーバサイド5日くらいで終わりそうじゃね?
ぼくのかんがえたさいこうの設計目指さなければ

591 :nobodyさん:2016/09/17(土) 22:27:06.02 ID:???
複雑じゃないならActiveRecordで十分っしょ

592 :nobodyさん:2016/09/17(土) 22:29:55.08 ID:???
まぁ、元々機能少ないからそんぐらいだろうね。データベースのテーブルも
5,6ぐらいしかないし。

593 :nobodyさん:2016/09/17(土) 22:33:27.35 ID:???
ただ、俺はPHPで開発環境が悪いのか、コード補完とかあんま効かなくて、
タイプミスとかでエラー、メソッド名もまだ覚えてないから補完したいのにで
出なくていちいちブラウザで調べたりしてブチキレで。ASP.NET Coreの方に移行中だけど。

594 :1:2016/09/17(土) 22:36:38.04 ID:???
5日ってそんな物なのか?
もしかしてここって職業プログラマ多い?

595 :nobodyさん:2016/09/17(土) 22:44:10.09 ID:nfgV7g+h
君は、HTTPの基本みたいな事だってわかってなかったし新しい事を覚える時間が
かかるんだからしょうがないよ。
でも、なれればテーブル数も5,6ぐらいで小機能だし、5日ぐらいで実装できると思う。
俺はまだサーバーサイドは素人だから慣れが必要だけど。
でも、クライアントサイドやってきた経験から言うと、慣れれば機能的には5日くらいあれば実装できるとは思ってた。

サービスの仕様とか考える時間とかは別問題だから抜かしてね。
単純に実装する時間だけの話ね。

596 :nobodyさん:2016/09/17(土) 22:44:38.69 ID:???
sageつけ忘れた。

597 :1:2016/09/17(土) 22:50:52.40 ID:???
これで小機能って凄い
俺の中では今まで作ったWEBアプリで一番大きいのに…

598 :1:2016/09/17(土) 23:02:38.97 ID:???
とりあえずコンパイル通ったのでweb.xml作っていきます

599 :nobodyさん:2016/09/17(土) 23:02:41.15 ID:???
業務とかに比べると全然ちいさいよ。
業務だとテーブルだけでも何十、何百って数あるんだから。
で、それらのテーブルを複数結合したり、バッチで何十のテーブルを見て更新かけたり。

だからテーブル数5,6って学生の宿題用(テーブル数2,3?)に毛が生えたぐらいの規模だと。
2chだってもともと小機能なんだし。ただ、小機能とはいえユーザー数は
圧倒的だから。そこらへんはまた単純に作るだけじゃなく別のノウハウが必要だと思う。

600 :1:2016/09/17(土) 23:07:40.52 ID:???
>>599
テーブルが何百って…そんなにあるのか
2chは単純だからな。ユーザーが多い以外に良い所がない気もするけど、掲示板だとユーザーの数が最大のメリットになるし
専門学校とか大学の工業科ってこういうの作ったりするの?こういう系の仕事するなら工業科進んだ方がいいかな

601 :1:2016/09/17(土) 23:09:46.74 ID:???
2chってどういう負荷分散しているんだろう
gzipの存在知らなくて転送量で死に掛けた時期があったらしいし、技術と言うより単純な仕組みだから負荷少ないのだろうか

602 :1:2016/09/17(土) 23:12:09.04 ID:???
web.xml凄く読みにくいし書きにくい
csv→xmlの簡単な変換器作った方が早そう

603 :nobodyさん:2016/09/17(土) 23:22:30.64 ID:???
URLの設計の方は考え出してるの?
/api/v1/ここどうするの?

604 :1:2016/09/17(土) 23:25:59.77 ID:???
>>603
/api/http/hoge/foo/…にする
今後socketとか作る可能性もあるから

605 :1:2016/09/17(土) 23:26:23.63 ID:???
例えば
/api/http/topic/write/
みたいな

606 :nobodyさん:2016/09/17(土) 23:30:10.83 ID:???
RESTful API的にはアレだけど。いっか。
必要な情報は全部、クエリ文字列で渡すんでしょ?

607 :1:2016/09/17(土) 23:40:46.58 ID:???
>>606
トークン以外は全部クエリで渡す
xmlで渡したりするのが本当らしいけど、それにメリットあまり感じないし

608 :nobodyさん:2016/09/17(土) 23:47:54.31 ID:???
メソッドもGET,POSTの2つで、パラメータはクエリ文字列経由で渡してで
RPC的なTwitter APIぽくしてるってことね。
了解。

609 :1:2016/09/17(土) 23:51:34.62 ID:???
TwitterAPI結構参考にした
直接触った事はなくても、4j使って触った事はあるから他のに比べたら分かるし

610 :1:2016/09/18(日) 00:00:21.08 ID:???
node.jsの実験の為にcsv→xml変換器作ったら凄く楽だった
オープンオフィスでAPIリスト作れば自動で変換してくれる

611 :1:2016/09/18(日) 00:26:10.28 ID:???
tomCatが起動しないからテスト出来ない

612 :nobodyさん:2016/09/18(日) 11:59:41.41 ID:???
tomcatいる?javaなんか
まあAppServer無くてもjarは動かせるが

613 :1:2016/09/18(日) 12:12:33.89 ID:???
web.xmlがあるとエラーで落ちる
別にクラスパス間違っている訳じゃないし

614 :nobodyさん:2016/09/18(日) 13:20:47.67 ID:???
クラスパスに言及が行くってことはClassNotFoundExceptionかな?
まあ色々ややこしいとこはあるかなあ

615 :1:2016/09/18(日) 13:24:53.37 ID:???
"(TOM_CAT)\webapp/Nch.war"に配置したら
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Nch]]

エクリプスから実行したら
情報: サービス Catalina を起動します [日 9 18 13:23:35 JST 2016]
情報: Starting Servlet Engine: Apache Tomcat/8.0.32 [日 9 18 13:23:35 JST 2016]
情報: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [185] milliseconds. [日 9 18 13:23:36 JST 2016]
重大: A child container failed during start [日 9 18 13:23:37 JST 2016]
重大: A child container failed during start [日 9 18 13:23:37 JST 2016]
重大: The required Server component failed to start so Tomcat is unable to start. [日 9 18 13:23:37 JST 2016]
情報: Pausing ProtocolHandler ["http-apr-8080"] [日 9 18 13:23:37 JST 2016]
情報: Pausing ProtocolHandler ["ajp-apr-8009"] [日 9 18 13:23:37 JST 2016]
情報: サービス Catalina を停止します [日 9 18 13:23:37 JST 2016]
情報: Destroying ProtocolHandler ["http-apr-8080"] [日 9 18 13:23:37 JST 2016]
情報: Destroying ProtocolHandler ["ajp-apr-8009"] [日 9 18 13:23:37 JST 2016]

616 :nobodyさん:2016/09/18(日) 15:15:31.08 ID:???
とりあえずnchの事は忘れて、1つのサーブレット作って起動。
それからじゃな。

617 :nobodyさん:2016/09/18(日) 15:18:58.45 ID:???
普段GlassfishだからTomcat忘れとるなあ、、、ちょっと動かしてみるかな

618 :1:2016/09/18(日) 15:24:07.23 ID:???
Glassfishの方がいいの?

619 :nobodyさん:2016/09/18(日) 15:32:43.63 ID:???
>>617
サーブレットって引数なしのコンストラクタ以外のコンストラクタって
定義できる??。俺はそれが気になるわ。>>514に書いたけど。

620 :1:2016/09/18(日) 15:36:34.74 ID:???
>>619
HttpApiBaseは親クラスだから関係ないと思ってたんだけど違う?
web.xmlに書いているクラスは全て引数無しのコンストラクタ

621 :nobodyさん:2016/09/18(日) 15:42:16.46 ID:???
あ、ごめん。
子クラスでコンストラクタの宣言ないとデフォルトの引数なしの
コンストラクタが宣言されたことになるんだっけ???
Scalaが?
そんだったら問題ないね。すまん。

622 :1:2016/09/18(日) 15:45:56.70 ID:???
>>621
javaもコンストラクタがないクラスはコンパイル時に自動で追加される

623 :nobodyさん:2016/09/18(日) 15:50:08.08 ID:???
>>622
追加されるのは、親クラスに引数がないコンストラクタがある場合じゃなかったけ??
親クラスに引数があるコンストラクタがある場合、
子クラスで勝手に引数なしのコンストラクタ追加しようがないじゃん。
親クラスのコンストラクタに渡す引数が不明なんだから。

624 :1:2016/09/18(日) 15:56:25.13 ID:???
>>623
あーそういう事か
scalaはクラス宣言がそのままデフォルトコンストラクタになって、括弧も省略できるから

class Hoge extends Base(1)

public class Hoge extends Base{
  public Hoge(){
    super(1);
  }
}
と同じ

625 :nobodyさん:2016/09/18(日) 15:59:54.36 ID:???
>>624
そういうことか。なるほど。
>>516の説明じゃちょっと納得できなかったから。
お手数かけました。

626 :1:2016/09/18(日) 16:02:17.93 ID:???
あとはifとかtry-catchが式だったり
中括弧で囲むと複式になったり…
そこらへんは考え方の違いと言うか…

627 :1:2016/09/18(日) 16:03:14.83 ID:???
まだScala触り始めて10日だけど

628 :1:2016/09/18(日) 16:12:12.19 ID:???
TomCatが起動しない原因が全く分からない
一回消して入れなおすしかないのだろうか
Neonにバージョンアップもしたいし

629 :1:2016/09/18(日) 16:44:08.77 ID:???
プロジェクトフォルダ整理していたらjava初めてすぐの頃に作った物が大量に…
ゴミばっかり

630 :nobodyさん:2016/09/18(日) 17:37:47.11 ID:???
Tomcatは使わず、それぞれ単独インストールする方が良いと思ってる

631 :1:2016/09/18(日) 18:42:08.09 ID:???
servlet-classに存在しないクラスを指定したら一応起動する(アクセスしたら当然エラーだけど)
謎すぎる

632 :1:2016/09/18(日) 18:52:05.40 ID:???
もしかするとtomcatがおかしいかもしれないから8.8→8.10にバージョンアップしてみる

633 :1:2016/09/18(日) 19:46:44.95 ID:???
やっぱり無理
他のクラス作ってしてみたら出来た…
何故だ

634 :nobodyさん:2016/09/18(日) 20:38:28.79 ID:???
少しずつ動作確認しないで作るとこうなっちゃうわけだ。
HttpServletBaseどんどん動くとこまでコード削ってて、原因突き止める?
一度にすべてのバグの嵐に見舞われるわけだし。

635 :nobodyさん:2016/09/18(日) 20:42:54.10 ID:???
少しずつ作って・実行なら対処するバグも1度に数個で
自分がちょっと前に追加したコードが原因だろうから範囲が狭くて見つけやすいけど。

完成するまで全く実行・デバッグしないでつくる->いざ、実行時に1度に大量のバグに見舞われる。
手に負えなくなるよ。

636 :1:2016/09/18(日) 21:11:07.29 ID:???
まさかここで詰まるとは思っていなかった
原因が全く分からないし
昨日の夜から全く原因が分からん

637 :1:2016/09/18(日) 21:21:46.42 ID:???
今日1日あったら解決すると思ってたのに

638 :1:2016/09/18(日) 21:28:29.48 ID:???
NoClassDefFoundError、ClassNotFoundExceptionも大量に…

639 :1:2016/09/18(日) 21:49:30.66 ID:???
HttpApiBaseを継承したら起動できないみたいだな
ここ調べた方がよさそう

640 :nobodyさん:2016/09/18(日) 22:12:21.92 ID:???
はは。

641 :1:2016/09/18(日) 22:14:45.70 ID:???
ここまで原因が見つからないって…

642 :1:2016/09/18(日) 22:28:22.44 ID:???
キツイ…

643 :nobodyさん:2016/09/19(月) 10:06:23.73 ID:???
なんか現象の起きる最小のjar作れん?
もしかしてGitHubからもってくればこっちで再現できたりする?

644 :1:2016/09/19(月) 10:40:42.90 ID:???
>>643
今Pushしたから多分再現できる
環境が悪いのか、バグなのか分からないから動かしてくれると助かる
他にも色々バグありそうだけど、とりあえずTomcatの起動したい

645 :1:2016/09/19(月) 10:50:06.29 ID:???
最小のjarは原因が不明だから難しい

646 :1:2016/09/19(月) 10:53:42.41 ID:???
abstract class TestBase(private val httpMethod: HttpMethod, private val tokenFlag: TokenFlag, private val strParams: List[String], private val intParams: List[String]) extends HttpServlet {
}

class Test extends TestBase(HttpMethod.GET,TokenFlag.UNNECESSARY,List(),List()){
}

だとエラー

abstract class TestBase() extends HttpServlet {
}

class Test extends TestBase(){
}

だと動く

647 :1:2016/09/19(月) 10:59:55.64 ID:???
abstract class TestBase(private val i:List[Int]) extends HttpServlet {
}

class Test extends TestBase(List()){
}

だとエラー

abstract class TestBase(private val i:Int) extends HttpServlet {
}

class Test extends TestBase(1){
}

だと動く

648 :1:2016/09/19(月) 11:02:26.71 ID:???
abstract class TestBase(private val i:Map[String,String]) extends HttpServlet {
}

class Test extends TestBase(Map.empty){
}

だと動く

649 :1:2016/09/19(月) 11:05:08.84 ID:???
List.empty…起動する
List()…エラー

650 :1:2016/09/19(月) 11:05:58.97 ID:???
List(1)…エラー
使えないじゃん

651 :1:2016/09/19(月) 11:06:50.06 ID:???
当然
List.apply(1)
でも駄目

652 :1:2016/09/19(月) 11:07:52.96 ID:???
原因は分かった…でも何故?
謎でしかない

653 :1:2016/09/19(月) 11:22:55.46 ID:???
原因判明したから質問サイト行ってくる

654 :nobodyさん:2016/09/19(月) 14:23:01.82 ID:???
teratailか?stackoverflowか?2chか・・

655 :1:2016/09/19(月) 14:25:33.39 ID:???
teratail
https://teratail.com/questions/48511

656 :1:2016/09/19(月) 14:47:02.51 ID:???
ListじゃなくてArrayなら大丈夫みたいなのでとりあえず代用します

657 :1:2016/09/19(月) 14:54:59.36 ID:???
でも本当何故エラーになるんだろう

658 :1:2016/09/19(月) 14:57:27.83 ID:???
あれっ出来ない

659 :1:2016/09/19(月) 15:00:23.57 ID:???


660 :1:2016/09/19(月) 15:18:55.33 ID:???
List以外にも原因ありそう

661 :1:2016/09/19(月) 16:03:55.92 ID:???
もうこれどうなってるか分からん

662 :nobodyさん:2016/09/19(月) 16:43:56.86 ID:???
なんか面白そうなスレめっけたw
こういう系のスレでちゃんと進んでるっぽいのは珍しいなw

663 :nobodyさん:2016/09/19(月) 16:48:31.02 ID:???
くるタイミングおっそいわww
>>1はそろそろモチベーション切れかけてまた、2,3か月の休息とるんじゃねぇか。

664 :1:2016/09/19(月) 16:50:34.98 ID:???
既にモチベ死にかけている
やっとサーバーサイド終わったと思ったらTomcatが動かないとか悲しすぎる

665 :1:2016/09/19(月) 16:51:46.20 ID:???
Tomcatが動けばクライアントサイド始められるのに

666 :1:2016/09/19(月) 16:53:27.56 ID:???
適当にプロジェクト分割してみる

667 :nobodyさん:2016/09/19(月) 16:56:08.96 ID:???
Scalaとか使うからだなwwユーザー少ないし。
短くかけるってことは、裏で前提として覚える事がいっぱいあるから短くかけるんでって、
そんなのすぐれた言語とは思わん。

何事もバランス。そこそこ短くかけて、前提となる覚える事も少なくてみんな理解しやすい。
これで十分だわ。

668 :1:2016/09/19(月) 16:56:41.87 ID:???
>>667
twitterもscalaだからwebには強いはず

669 :nobodyさん:2016/09/19(月) 17:01:43.62 ID:???
Webとはあんま関係ないな。
Scalaは言語とコレクションのクラスライブラリぐらい?独自に提供してるの?
Web部分はJavaのライブラリに依存してるだろ。

670 :1:2016/09/19(月) 17:03:25.18 ID:???
>>669
コレクションは不変のが結構ある

671 :nobodyさん:2016/09/19(月) 17:19:14.16 ID:???
なんだモチベ尽きかけてんのかw
趣味プロジェクトでモチベは最大の敵だからなw

672 :1:2016/09/19(月) 17:21:08.72 ID:???
Tomcat9って評価版だったのか
これ多分Tomcatのバグだわ
Tomcat8にする

673 :1:2016/09/19(月) 17:21:48.66 ID:???
そういう事だったか

674 :1:2016/09/19(月) 17:23:32.54 ID:???
これで直らなかったら知らん

675 :nobodyさん:2016/09/19(月) 17:28:42.70 ID:???
俺もそう思うときあるけど、最終的には自分のコードに問題あるから。

676 :nobodyさん:2016/09/19(月) 17:30:04.94 ID:???
つか、コンストラクタに問題ありそうだったら、コンストラクタに
引数渡すのやめてみればいいじゃん。とりあえず、それで回避したら?]。

677 :1:2016/09/19(月) 17:31:11.55 ID:???
>>675
俺も何回もそういう経験あるけど今回はバグ以外に見当たらない
特定の場面だけエラーとかあるん?

>>676
それならできた

678 :nobodyさん:2016/09/19(月) 17:37:00.87 ID:???
ロクすっぽテストケースも書いてないプロジェクトとTomcatと
どっちが信頼性あると思ってんだよ。

679 :1:2016/09/19(月) 17:39:45.10 ID:???
評価版ってバグが大量にあるバージョンではないの?

680 :1:2016/09/19(月) 17:44:11.59 ID:???
動かないけどエラーメッセージがさっきと違う
これはヒントになりそう

681 :1:2016/09/19(月) 18:05:12.96 ID:???
普段なら3時間あれば解決するのに何で2日経っても解決しないのか

682 :1:2016/09/19(月) 18:07:42.95 ID:???
おっ

683 :1:2016/09/19(月) 18:10:22.69 ID:???
scalaで似たようなエラーがstackoverflowにあったから確かめてみる

684 :1:2016/09/19(月) 18:14:09.10 ID:???
キタ――(゚∀゚)――!!キタ――(゚∀゚)――!!キタ――(゚∀゚)――!!
やっと起動したーーーーーーーーーー

685 :1:2016/09/19(月) 18:15:26.62 ID:???
WEB-INF/libにscala-library.jar入れたら出来たーーーーー
2日潰れたけどやっとクライアントサイド出来る
scalaでservletのページには載ってなかったけど英語のページに乗ってた

686 :1:2016/09/19(月) 18:16:55.86 ID:???
よっしゃ

687 :1:2016/09/19(月) 18:17:02.44 ID:???
疲れた

688 :1:2016/09/19(月) 18:20:17.58 ID:???
Eclipseのjar追加で参照しても駄目とか聞いてない
手動コピー必須なのかよと
って事でサーバーサイドデパッグしながらクライアント進めていきます

689 :1:2016/09/19(月) 18:21:44.49 ID:???
>>675
>>678
これがあってたorz

690 :nobodyさん:2016/09/19(月) 21:36:36.08 ID:???
どう?Next2ch超えれそう?

691 :1:2016/09/19(月) 21:45:34.02 ID:???
>>690
Next2chは名前は聞いた事あるけどどういう物かを知らない
とりあえずangular2覚える

692 :nobodyさん:2016/09/19(月) 21:48:58.73 ID:sayZi2XP
>>690
super2ch.netじゃなくて?

693 :1:2016/09/20(火) 00:05:29.54 ID:???
これ駄目だ
angular2難しすぎて意味が分からん
これ覚えていたら確実にモチベ死ぬ
とりあえずvueで作って見た方がいいかも
angular2使っていたら完成する気がしない

694 :1:2016/09/20(火) 00:07:07.99 ID:???
vueの場合、scriptタグで読み込めば終わりだったけど、angularは色々しないといけないらしくて理解出来ない
TypeScript使いたかったけど

695 :1:2016/09/20(火) 00:10:54.96 ID:???
日本語の解説が多いからvue.jsは本当楽

696 :nobodyさん:2016/09/20(火) 10:21:47.07 ID:???
1年後も言語とフレームワークの選定やってそう

697 :nobodyさん:2016/09/20(火) 16:07:13.80 ID:???
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015

Haxeプログラミング入門、尾野政樹、2015

Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS, Flash, PHP, C++, Java, C#, Python に書き出せる。
Windows8.1対応

IDEは、FlashDevelop

このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/

698 :1:2016/09/20(火) 17:08:23.06 ID:???
angular2昨日は初めてだったから意味分からなかったけど2日目になると少し分かってきた
流石に1日で投げるのは早かった

699 :1:2016/09/20(火) 17:08:54.17 ID:???
とりあえずHelloWorldは出来た

700 :1:2016/09/20(火) 17:13:12.79 ID:???
SPAだけど#〜使って画面切り替える
レス表示&書き込み、トピ検索&書き込み、トピ表示、通知、メッセージ、プロフィール表示、プロフィール管理を作る
残りのユーザー情報は別ページで作る

701 :1:2016/09/20(火) 17:15:49.87 ID:???
もう少しまとめる
・レス表示・書き込み、トピ情報表示・書き換え
・トピ検索・トピ作成
・通知、メッセージ、プロフィール管理
・プロフィール表示
こんな感じ

702 :nobodyさん:2016/09/20(火) 17:55:25.31 ID:???
spaの場合のグーグルのクローラの制御てどうなるんだろ?

703 :1:2016/09/20(火) 17:56:40.37 ID:???
googleはjs実行すると聞いた

704 :1:2016/09/20(火) 17:59:00.99 ID:???
それにしても情報少なすぎる

705 :1:2016/09/20(火) 22:06:52.26 ID:???
Resコンポーネント作ってる

706 :1:2016/09/20(火) 22:50:21.77 ID:???
DateパルプってISO-8601文字列使えるのか

707 :1:2016/09/21(水) 17:13:58.79 ID:???
もう少し進んだら新しいリポジトリ作ります

708 :1:2016/09/21(水) 21:15:27.87 ID:???
markdown大変そう

709 :nobodyさん:2016/09/21(水) 22:47:19.93 ID:???
APIではちゃんとHTMLにして返してよね。

710 :1:2016/09/21(水) 22:54:05.33 ID:???
>>709
なるべく鯖では処理しないよ
jsで沢山処理させる事で負荷減らせるし

711 :1:2016/09/21(水) 22:57:05.20 ID:???
マークダウン生成とか重そうだし

712 :nobodyさん:2016/09/21(水) 23:06:37.64 ID:???
>>709
HTMLで返すAPIとか糞すぎるわ

713 :nobodyさん:2016/09/21(水) 23:19:58.02 ID:???
いやいや、
クライアント側でマークダウン処理させる方がいやだわ。

HTMLなら大抵のクライアントライブラリの方のDOMで「一貫して同じように」処理できるけど、

マークダウンだと方言みたいのあるだろ。
利用する言語によってサービスで利用するマークダウンのクライアントライブラリあんのか知らんけど、
なければ自分で作ってとかやってられんがな。

714 :nobodyさん:2016/09/21(水) 23:23:15.53 ID:???
>>713
>>712に対してね。
>なるべく鯖では処理しないよ
>jsで沢山処理させる事で負荷減らせるし
で付加へらしたい別の理由があるなら仕方ないけど。

715 :1:2016/09/21(水) 23:28:10.59 ID:???
なるほど、そういう事か
確かに途中でmdの仕様変更したくなったときに表示崩れる可能性もあるな
ちょっと考えてみる

716 :1:2016/09/21(水) 23:28:45.80 ID:???
今の所はmarked使ってるけど

717 :nobodyさん:2016/09/21(水) 23:29:11.80 ID:???
でも、たいていのは2つ返すかもね。
この前あげたQiita APIも元のメッセージとマークダウンが展開されたHTMLの両方。
前触ったRedditAPIも今見返すと両方返すね。

718 :1:2016/09/21(水) 23:35:24.50 ID:???
両方返すようにした方がいいか
ちょっと改造してみる

・レス
・トピのテンプレ
・プロフィール

これ以外はHTMLでエンコードしているけど

719 :nobodyさん:2016/09/21(水) 23:53:25.22 ID:???
まぁ、両方返すのがAPIを使う側にとってはありがたいね。

720 :1:2016/09/21(水) 23:55:04.43 ID:???
単純にHTMLをエスケープした奴も両方返すべき?

721 :1:2016/09/22(木) 00:00:43.85 ID:???
ただjsで変換だとリアルタイムで確認しながら入力とか作りやすいけど、鯖で変換すると面倒な気もする
鯖直したらjsも修正必要だし

722 :nobodyさん:2016/09/22(木) 00:07:39.01 ID:???
ん??
本来、HTMLを受け入れる部分(レス・トピのテンプレ・プロフィール)以外は、
API的にはノータッチでいいと思う。
本来クライアント側ではHTMLで表示するとは限らないから。

723 :1:2016/09/22(木) 00:10:24.00 ID:???
つまりエスケープもする必要ないって事?
スレタイとか

724 :nobodyさん:2016/09/22(木) 00:13:44.26 ID:???
うん。それはエスケープの処理が必要かはクライアント側つまりビューの都合だから、
それはクライアントに任せていいと思うけどね。

725 :1:2016/09/22(木) 00:16:31.25 ID:???
ならエスケープ処理やめるか

726 :1:2016/09/22(木) 00:17:56.98 ID:???
マークダウンはどうしよう
クライアントで処理しないとリアルタイムプレビューは難しいよな
リアルタイムプレビューの為に鯖にアクセスされたら鯖死にそうな気がするし

727 :nobodyさん:2016/09/22(木) 00:22:25.03 ID:???
2chのAPIはほんとはた迷惑。
入力としてHTMLを受け入れないくせにAPIとして返すのに、
クライアント側がHTMLで表示すること前提?に勝手HTMLエスケープして返すわ
AndroidとかHTMLで表示しないクライアント開発するときは迷惑。

728 :nobodyさん:2016/09/22(木) 00:23:42.18 ID:???
クライアント側でリアルタイムプレビューやる場合は、もうクライアント側でやるしかないでしょ。

729 :nobodyさん:2016/09/22(木) 00:24:24.20 ID:d6OE8H1R
ちょっと表現おかしかった。
>リアルタイムプレビューやる場合は、もうクライアント側でやるしかないでしょ。

730 :1:2016/09/22(木) 00:41:53.99 ID:???
マークダウンをやめると言う方法もある
今の2chの感じ見ているとそこまでいらなそうだし、簡単なタグだけ用意して
例えば
#aa
#aaend
とか
#code
#codeend
みたいな

731 :1:2016/09/22(木) 00:44:33.46 ID:???
レスを毎回整形する人はいないだろうし、テンプレ、プロフィールも【見出し】とかでも何とかならないことはない
崩れると面倒なのってソースコードとAAくらい?

732 :1:2016/09/22(木) 00:54:20.35 ID:???
とりあえず記法とかは後にして、今はHTMLエスケープだけしておく事にする
パイプの中身変えればすぐ修正出来るし

733 :nobodyさん:2016/09/22(木) 00:55:30.58 ID:???
RedditもマークダウンでHTMLの入力受け付けるけど、結構凝って作る人もいるのは事実。
特にレスにマークダウン使うってより、サブミだか忘れたけど2chでいうボード?のトップページを
凝って色々やってるっぽいね。
まぁ、マークダウンで色々できるってのは2chに対してアドバンテージになると思うけど。

734 :1:2016/09/22(木) 01:01:45.98 ID:???
そうなのか
カテゴリだけだとどこに作ればいいか迷いそうだからカテゴリの紹介ページ(板の説明みたいなの)作ろうと思っているが
レスはそこまで機能いらないかもな。。。
プロフィール・トピックテンプレ・カテゴリページはあった方がいいかもしれないけど
レスにマークダウンつけると鯖で処理するとしても、クライアントで処理するとしても重くなりそうだし

735 :nobodyさん:2016/09/22(木) 17:41:43.23 ID:???
そもそもマークダウンの処理そんな重くねぇと思うけどな・・
そんな巨大なテキストを処理するわけでもないのに、たかだか(Twitterよりはユーザーは
タイピングするだろうが・・)平均300文字くらい?のレスだし。
もちろん、サーバー側でのちょっとした負荷も積もれば巨大になるけどさ。

736 :1:2016/09/22(木) 17:49:10.59 ID:???
そもそもWEB系以外は想定していなかったんだよな
PCでもスマホでもWEB技術使ったアプリは作れるみたいだしそっちを使ってもらう方針だった
だからクライアントでmarked使って変換してもらおうと思っていたし…

737 :nobodyさん:2016/09/22(木) 17:58:30.45 ID:???
じゃ、もうHTML返さなくていいんじゃね?返したくないなら。
クライアント側で処理してもらえばいいじゃん。
方言とかあるっていったけど、100%完璧に表示する必要ないし。
だいたいの記法は互換性あるからそれでいいと思う。

738 :nobodyさん:2016/09/22(木) 18:06:54.77 ID:???
>PCでもスマホでもWEB技術使ったアプリは作れるみたいだしそっちを使ってもらう方針
それならそれでもいいんじゃね。君がブラウザ用の1つ作れば
後は移植簡単そうで君がPC,スマホへの移植全部できそうだし。

739 :1:2016/09/22(木) 18:07:49.61 ID:???
昨日も書いたけど負荷の問題以外にも、クライアントでプレビュー機能を入れると鯖とクライアントでマークダウンパーサーを合わせないといけないと言う問題がある
それが一番の問題なんだけど、他のサービスはどう実装しているんだろう
そこがクリア出来れば鯖で処理してもいいんだけど
Node使うとかかな

740 :1:2016/09/22(木) 18:13:35.48 ID:???
javaにjsエンジン内臓されているみたいだからそれで変換すれば何とかなるか
そこらへん調べてみる

741 :nobodyさん:2016/09/22(木) 18:13:53.59 ID:???
理想ばっか言い過ぎた俺が悪かったな。
Redditの場合は見た感じ、そういうAPI用意してないし、プレビューする場合はクライアント側でやってると思う。
例えばReddiestってAndroidアプリはね。だから、完璧にサーバーのマークダウンと合わせてないと
思うし、100%完璧にはやってないと思う。

742 :1:2016/09/22(木) 18:16:39.55 ID:???
俺もWEB以外の事全く考えていなかった
とりあえずNashornを使う方法を考えてみる
それなら、クライアントの変換スクリプトと、サーバーの変換スクリプト同じ物を使えるし

743 :nobodyさん:2016/09/22(木) 18:17:45.64 ID:???
まぁ、リアルタイムプレビューはサーバーの負荷的にもクライアント側でやった方がいいと思うけど。
投稿する前に「プレビュー」ボタンを押してプレビューぐらいでいいなら、
サーバー側でAPIを用意してくれれば、クライアント側ではマークダウンの細かい詳細を
意識しなくなるので楽といえば楽。

744 :1:2016/09/22(木) 18:24:27.07 ID:???
リアルタイムプレビューは結構便利だし、これは絶対つけたいと考えている

745 :nobodyさん:2016/09/22(木) 18:46:49.59 ID:???
markdownを付けるならtableを表現出来るようにあって欲しいと思う

746 :1:2016/09/22(木) 18:48:32.61 ID:???
確かmarkedは出来たような

747 :1:2016/09/22(木) 22:06:50.76 ID:???
javaのエンジンES6の機能使えないのかよ

748 :1:2016/09/22(木) 22:08:57.76 ID:???
Babelの出番か

749 :1:2016/09/22(木) 23:09:34.97 ID:???
ES6以外の問題だった
変換出来た

750 :1:2016/09/22(木) 23:13:41.02 ID:???
*マークダウンの仕様

ここからDL
https://raw.githubusercontent.com/chjj/marked/master/marked.min.js

これでXSS対策
marked.setOptions({sanitize:true});

変換
var hoge=marked("変換したい文字列");

751 :1:2016/09/22(木) 23:19:20.74 ID:???
mdtext要素に変換語のhtml突っ込む事にする

752 :1:2016/09/22(木) 23:31:51.97 ID:???
マークダウン使用
msg
profile
topic
topicHistory
res

753 :1:2016/09/22(木) 23:59:10.61 ID:???
修正版プッシュ

754 :1:2016/09/23(金) 18:02:14.60 ID:???
何もライセンス書いてなかったけど、何も書かないとGitHubの標準ライセンスになって再配布禁止になるのか
今度つけよう

755 :1:2016/09/24(土) 12:25:34.63 ID:???
トピックビュー
/topic/:id

単発編集履歴
/history/:id

検索(カテゴリは"-"区切り)
/search/:category/:text

ユーザー関係
/user

プロフィール表示
/profile/:id

756 :1:2016/09/24(土) 15:56:07.60 ID:???
カテゴリ-区切りは多分やめる
編集履歴は
topic/:id/history
で全部
topic/:topic/history/:history
で単発

757 :nobodyさん:2016/09/24(土) 23:26:02.20 ID:???
XMLで返すとかじゃダメなのかねぇ
JavaScriptでもJavaでもPHPでもJSPでも扱いやすいと思うけど
Ajaxでログ呼び出してクライアントで処理とか負担軽減の理想的な形じゃね?

758 :1:2016/09/24(土) 23:52:19.52 ID:???
JSONでとりあえず作っているからこのままいく
XMLに移植するなら後から簡単に出来るだろうし

759 :nobodyさん:2016/09/25(日) 06:56:36.79 ID:???
2ch tenpura とか何よこれ

760 :nobodyさん:2016/09/25(日) 07:03:54.20 ID:???
.plってperlか?俺は知らんがソースが綺麗ってことは伝わってくる。プロの仕業だなこれ

761 :1:2016/09/25(日) 11:02:05.81 ID:???
別のリポジトリ見てない?
ソース綺麗じゃないし、plファイルとかない

762 :nobodyさん:2016/09/25(日) 11:03:26.70
https://github.com/new2ch/2chtenpura
明らかに>>1じゃないだろ

763 :1:2016/09/25(日) 11:09:46.81 ID:???
それ俺じゃない

764 :nobodyさん:2016/09/25(日) 11:24:37.82 ID:???
>>759-760 は別に>>1のこと言ってるんじゃなくね?

765 :nobodyさん:2016/09/25(日) 12:27:10.77 ID:???
>>759
なぜこのスレで2ch tenpuraの話題を出したんだろう?

766 :nobodyさん:2016/09/25(日) 12:28:35.26 ID:???
>>765
作者じゃない?

767 :nobodyさん:2016/09/25(日) 14:09:59.98 ID:???
>>759だけど。
>>1のGitHub見てたら
https://github.com/kgtkr?tab=repositoriesre
readcgiってあるじゃん。なんだこのフォークって思ってたどってったらnew2chにたどり着いたんだよ。
つか,2chtenpuraって有名なん?

768 :1:2016/09/25(日) 14:12:49.85 ID:???
>>767
何か2chのUI新しくするみたいな話になって、そのプロジェクトがreadcgi(cgiって付くけどvue.js)
tenpuraは知らんが
こっちのソース再利用出来るところあればプルリクしようかと思ってフォークした

769 :1:2016/09/25(日) 14:14:32.88 ID:???
こっちがメインだから向こうに行って消えるみたいな事を心配する必要はないと一応言っておく

770 :nobodyさん:2016/09/25(日) 14:14:49.65 ID:???
【2ch】新しい2chを作る会【OpenSource】 [無断転載禁止]2ch.net
http://carpenter.2ch.net/test/read.cgi/operatex/1474454727/

これ関係か

771 :1:2016/09/25(日) 14:16:01.15 ID:???
>>770
それそれ

772 :1:2016/09/25(日) 14:25:11.30 ID:???
とりあえずNchWebAppリポジトリにプッシュした

773 :nobodyさん:2016/09/25(日) 14:31:52.02 ID:???
消えるとかってより、素直に強敵出現した?と思った。

774 :1:2016/09/25(日) 14:40:21.84 ID:???
>>773
この掲示板に人が来てくれるのが一番嬉しいけど、やっぱり難しいし、どれだけ時間が掛かるか分からない
俺も人が多くて、使いやすい掲示板欲しいと思っていたから、2chをもっとよく出来るなら手伝いたいなとは思ってた
サーバーサイドの機能は触らせて貰えないだろうから、機能は頑張れば勝てるだろうし

775 :1:2016/09/25(日) 14:42:42.81 ID:???
あと勉強にもなるし

776 :1:2016/09/25(日) 21:28:55.53 ID:???
ある程度コンポーネント出来たから、画面作っていく(画面もコンポーネントだけど)

777 :nobodyさん:2016/09/25(日) 23:04:35.41
Angularつかうならangular-cli
http://qiita.com/kitfactory/items/c95ca84371670b21f4ac

778 :1:2016/09/25(日) 23:07:15.55 ID:???
hogehoge-cliってよく聞くけどよく分かってなかった
ちょっと見てみる

779 :1:2016/09/25(日) 23:09:39.51 ID:???
パッと見たけど何か凄い
クイックスタート頑張ったのは何だったのか

780 :1:2016/09/25(日) 23:13:19.30 ID:???
npmで出来たファイル削除出来なくてゴミが溜まってる

781 :1:2016/09/25(日) 23:14:31.95 ID:???
名前が長すぎるからゴミ箱に移動できません。完全に削除しますか?
-Y
システムがなんちゃら
-スキップ

ゴミが残るから「ゴミN」って名前にして放置してる

782 :nobodyさん:2016/09/26(月) 00:54:44.89
rimraf

783 :nobodyさん:2016/09/26(月) 17:16:38.02 ID:???
うお、同じこと考えてる人がいてびびった
>>1
>ユーザー登録は必要だが、匿名
これはゲスト参加もありのほうが盛り上がると思うぞ
クッキーやNG機能がうまく働けばそれほど荒れないと思う

784 :1:2016/09/26(月) 17:25:39.60 ID:???
クッキーって忍者帳みたいな奴?
セキュリティとか色々問題があるんだよな

785 :1:2016/09/26(月) 17:27:03.47 ID:???
そもそも登録にメアドすらいらない仕様だからゲスト参加作る必要性が
ユーザー名とパスワード入力するだけだから10秒掛からないし

786 :nobodyさん:2016/09/26(月) 22:02:06.77
AbemaTV方式とか

787 :nobodyさん:2016/09/27(火) 12:08:34.26 ID:???
                     ____         
                   / ___  \      
                ( ̄二  |´・ω・`|   \  
                 \ヽ   ̄ ̄ ̄    )  
                ∠/       /| |   
                (        ///  
                 |   ,、______,ノ ̄ ̄)     
                 |  /    ̄/ /     
                _|_|____//_  
.            |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ̄ ̄ ̄ ̄ ̄|
──────   |    進捗どうですCAR    |          |
 _____    |   ,-─-、        . ,-─-、 |          |
.           |_/  ,-、ヽ____/ ,-、 ヽ_|_____|
             ',   -' ノ   ヽ:::::::::',  -'  ノ  ヽ::::::::::丿

788 :1:2016/09/27(火) 17:44:09.71 ID:???
クライアントアプリ作っているといくつかAPIが足りないことに気付いた

789 :nobodyさん:2016/09/27(火) 18:16:59.84
OpenAPIでよろ

790 :1:2016/09/28(水) 19:23:49.63 ID:???
サーバーのデパッグしてるけど「例外が発生しました」しか表示されないから全く進まない…
例外名とスタックトレースくらい表示してほしい

791 :1:2016/09/28(水) 20:14:08.35 ID:???
もしかして例外がどこで発生したか分からないとかないよね
全部想像しろとか無理すぎるんだが

792 :1:2016/09/28(水) 21:10:41.04 ID:???
デパッグ起動したら出来た

793 :1:2016/09/28(水) 21:32:19.76 ID:???
Statement.RETURN_GENERATED_KEYS忘れてたせいで動かね

794 :1:2016/09/28(水) 21:38:00.68 ID:???
PHPMyなんとかって言うMySQL管理ツールとnodeとjavaサーブレットとエクリプスとVSCodeとChromeと専ブラ立ち上げたら重すぎてPCが動かん

795 :nobodyさん:2016/09/28(水) 21:55:53.36 ID:???
スペックは?

796 :1:2016/09/28(水) 22:00:03.18 ID:???
メモリ4GB

797 :nobodyさん:2016/09/28(水) 22:04:33.14 ID:???
そりゃ、そんなアプリ立ち上げるときつそうだな。
ノート?デスクトップ??
今メモリ8GBで3千円くらい?と安いのに。拡張できないPCなん?

798 :nobodyさん:2016/09/28(水) 22:05:50.56 ID:???
32ビットOSとかいうオチとか?

799 :1:2016/09/28(水) 22:07:34.99 ID:???
64bit
win10
livaっていう小さい奴

800 :nobodyさん:2016/09/28(水) 22:09:13.77 ID:???
ぶっww
ECSのLivaかww
まさか、CPUはAtomとかじゃないよね??

801 :nobodyさん:2016/09/28(水) 22:16:51.26 ID:???
つか、プログラミング歴1年だっけ?
たぶん、高校生あたりでお金の問題なんだろうが、プログラミングやるなら
しっかりしたPCを1台ぐらい持っておかないとね。
Livaを買ったのか貰ったのかしらんが、Liva買ったんなら選択肢誤ってるな。

802 :1:2016/09/28(水) 22:18:50.45 ID:???
>>800
CPUは分からん

>>801
今1年半
俺専用PCじゃないしな
とりあえず何とかなってるしまあ…

803 :nobodyさん:2016/09/28(水) 22:34:25.27 ID:???
Mac買え(マカー並感

804 :1:2016/09/28(水) 22:40:06.97 ID:???
Macって何が便利なの?
使った事ないからよく分からん
デザイナー向けと聞いたけど

805 :1:2016/09/28(水) 22:41:29.12 ID:???
あとフリーソフトが少なかったり、ゲームも全くないと聞いた
VSがないのもな
.NETも好きだし

806 :1:2016/09/28(水) 23:09:11.47 ID:???
SELECT テーブル FROM カラム名
と思っていたらテーブル名とカラム名逆だった

807 :1:2016/09/28(水) 23:09:56.42 ID:???
WHELEじゃなくてWHEREだったし
全部書き直しだ

808 :nobodyさん:2016/09/28(水) 23:12:56.92 ID:???
>>806
ワロタ
SELECT A FROM B
どうみてもBから(FROM)Aを選択・射影(SELECT)するじゃね。

809 :1:2016/09/28(水) 23:16:30.78 ID:???
27個…

810 :1:2016/09/28(水) 23:20:22.68 ID:???
終わった

811 :1:2016/09/28(水) 23:21:07.50 ID:???
>>808
テーブルの中のカラムだから、テーブルが先と思った
PHPの方ではあってるのに

812 :nobodyさん:2016/09/28(水) 23:55:37.70
せめてSurfaceくらいは…

813 :nobodyさん:2016/09/28(水) 23:59:11.59
NUCなら良かったのに
EclipseとかIDEは重いやつおおいし

814 :1:2016/09/28(水) 23:59:17.92 ID:???
まだ買い替えて1年経ってないから(前のPCが死にかかってて起動に1時間掛かる様な状態だったけどwin10出るまで待ってた)あと数年はこのPC使う予定

815 :1:2016/09/29(木) 00:01:31.27 ID:???
PC死んでいた時期

101 :名前は開発中のものです。 :2015/11/01(日) 17:13:47.34 ID:22x8NxDl
細かい調整は作った後にする予定です
後一昨日からPCの調子が悪くてVSの起動も出来ないので少し開発は休んでいます
すみません

816 :nobodyさん:2016/09/29(木) 00:03:27.56
バックエンドはいいとしてフロントエンドはどうすんの?

817 :1:2016/09/29(木) 00:05:39.24 ID:???
>>816
結構進んでいる
フロントとバックを同時にデパッグ中

818 :1:2016/09/29(木) 00:06:00.23 ID:???
SQLで文字化けした

819 :nobodyさん:2016/09/29(木) 00:07:43.90
照合順序は?

820 :nobodyさん:2016/09/29(木) 00:20:01.49 ID:???
学生ならブログでサービス作ってるアピールして乞食すればどっかの気前良いおっちゃんがポンとSurfaceでもMacBookでも買ってくれそうw

821 :1:2016/09/30(金) 00:16:15.06 ID:???
独自ヘッダつけるとクロスドメインの通信が結構面倒になるみたい

822 :nobodyさん:2016/09/30(金) 00:41:09.00 ID:???
そうなんだ。それは知らんかった。

823 :nobodyさん:2016/09/30(金) 00:43:51.19 ID:???
CORSとか全く知らんので俺も調べてみっかな。

824 :1:2016/09/30(金) 00:48:05.53 ID:???
これ普通にリクエストパラメーター送信の方が楽みたい
「単純なリクエスト」だとヘッダ追加するだけみたいだけど、独自ヘッダつけたら2回リクエスト送るとか

825 :nobodyさん:2016/09/30(金) 02:11:48.21 ID:???
昔サーバー側でアニメーション作るとかいうメチャクチャなことする時にヘッダ勉強したな

826 :nobodyさん:2016/09/30(金) 15:03:28.35
>>821
Access-Control-Allow-Headers

827 :1:2016/10/01(土) 01:42:01.88 ID:???
>>826
optionメソッドでリクエストみたいな事書いてあったけど。。。よく分からない

投票で匿名性が若干壊れる可能性がある事に気付いた
レスの体力がレベル依存だから、体力公開してしまうとマズイ気が
一人だけ高かったりすると同一人物だと特定出来る

828 :nobodyさん:2016/10/01(土) 02:25:48.11 ID:???
perlの話題出てたから覗いてみたけど確かに精通してる感ある
昔の個人が配布してたperl/cgiなんて酷いなんてものじゃなかったし
わかってる人がわざとレベルを落として古いperl/cgiをそのまま書き直しましたって感じ

829 :nobodyさん:2016/10/01(土) 16:39:57.52 ID:???
あのソースはこのスレと関係なくね?

830 :nobodyさん:2016/10/01(土) 19:08:34.68 ID:???
>>827
最初にOPTIONSメソッドでリクエストが飛ぶ(ヘッダが確認されるだけ、内容を返す必要なし)→次にGETなりPOSTなりが飛ぶ

831 :1:2016/10/01(土) 20:20:18.63 ID:???
>>830
doPostとかdoGetはあるけどdoOptionがないから作れない

832 :nobodyさん:2016/10/01(土) 22:29:07.70
http://www.javadrive.jp/servlet/ini/index2.html
あるよ

833 :1:2016/10/01(土) 22:36:38.79 ID:???
複数形か
仕様もう少し調べてみる

834 :nobodyさん:2016/10/01(土) 22:40:31.03 ID:???
仕様書読んでなさそうだな。
この業界に身を置くなら最終的には技術文書ぐらい読めるようにならんと。

835 :1:2016/10/01(土) 22:46:13.91 ID:???
技術文書ってもしかして英語?

836 :nobodyさん:2016/10/01(土) 22:49:39.41 ID:???
うん。たいてい英語だな。

837 :1:2016/10/01(土) 22:54:53.24 ID:???
Google翻訳最近優秀になってきたけどまだ分かりにくいんだよな
たまにソースコードとか翻訳したら駄目な所も翻訳するし(TypeScript→活字体など)

838 :nobodyさん:2016/10/01(土) 22:59:38.27 ID:???
ある程度は読めるでしょ

839 :nobodyさん:2016/10/01(土) 23:01:34.62 ID:???
そうだ。俺が間違ってた。英語なんてもう覚える必要ない時代はすぐだな。
機械翻訳で十分な時代がもうすぐそこに。

840 :nobodyさん:2016/10/01(土) 23:03:47.35 ID:???
>>838
いや、wikipediaとか見てるっぽいから読めなさそうには思えた。

841 :1:2016/10/01(土) 23:11:22.55 ID:???
英語だけは全く無理

842 :nobodyさん:2016/10/02(日) 11:10:31.10 ID:???
「無理」というのはですね、嘘吐きの言葉なんです。途中で止めてしまうから無理になるんですよ

843 :nobodyさん:2016/10/02(日) 11:44:15.11 ID:???
ワタミきらい

844 :nobodyさん:2016/10/02(日) 12:29:55.56 ID:???
>>842
この場においては間違ってはいないかな
英語は今でも苦手だけど、辞書を引きつつ読もうと努力したことである程度は読める自信が付いた
辞書なしで読めることはほとんどないけど、英文を見た瞬間「絶対無理!」とそっと閉じる事はなくなった
やるかやらないかの違い

845 :1:2016/10/02(日) 12:35:20.20 ID:???
結構頑張ってるけどPCだとつい翻訳使ってしまう
翻訳使うから覚えられないんだろうな…

846 :nobodyさん:2016/10/02(日) 12:50:49.11 ID:???
そんな時、出会ったのが皇潤です。
じゃなくて
聴くだけで覚える
じゃなくて
まあ原文見ながらやってりゃこの手のやつは言い回し同じだからそのうち

847 :nobodyさん:2016/10/02(日) 14:02:00.31 ID:???
技術文書の英語ってワンパだからすぐ慣れるよな
逆に言うと技術文書英語ばっかり読んでても、日常会話や英字新聞が読めるようなスキルには全くつながらないっていう…

848 :nobodyさん:2016/10/02(日) 16:34:58.91 ID:???
日本語で説明してあっても理解しづらいことがあるのに英語で技術文書とかきつい

849 :nobodyさん:2016/10/02(日) 17:25:39.95 ID:???
>>845
機械翻訳を使ってもいいと思うよ
最も技術文書を機械翻訳すると変な日本語になるから辞書で補完が必須だけど
苦手意識をなくすことが大切
あと、一度翻訳したものは適当訳でいいから手元にメモを残しておくこと
そういうのが積み重なって自分の資産になる

850 :1:2016/10/03(月) 18:12:10.86 ID:???
marked.jsモジュールが読み込めない

851 :1:2016/10/03(月) 21:32:41.15 ID:???
強引に読み込めたけど今度は別の場所でエラー
どうなってんだ

852 :nobodyさん:2016/10/05(水) 07:18:34.78
あげ

853 :1:2016/10/05(水) 16:33:56.79 ID:???
これっぽい
https://github.com/AngularClass/angular2-webpack-starter/issues/1067

854 :1:2016/10/05(水) 16:39:49.25 ID:???
システムJSじゃなくてWebPackでしてみる

855 :1:2016/10/05(水) 16:41:43.11 ID:???
あと前言ってたcliって奴使ってみる

856 :1:2016/10/05(水) 22:16:31.64 ID:???
何インストールしようとしても全部エラー出て無理だ
どうなってるんだよ

857 :nobodyさん:2016/10/05(水) 23:56:44.44 ID:???
Angularとか完全に俺は蚊帳の外だからアドバイスできることはないな。
頑張るんだ。

858 :nobodyさん:2016/10/06(木) 10:58:28.35 ID:???
エラーってなんのエラー?
npm で入れるんじゃだめか

859 :1:2016/10/06(木) 18:04:26.13 ID:???
npm installでインストールできない
おかしかったから全部再インストールしたけど駄目だった

860 :1:2016/10/06(木) 18:20:51.08 ID:???
winとnpmって相性悪いのかな

861 :1:2016/10/06(木) 18:31:15.53 ID:???
nodistとかいう奴使ってみる
winなら使えって書いてあったし

862 :nobodyさん:2016/10/06(木) 18:31:17.74 ID:???
あーそっかwinだっけ
VPSの一番安いとこもしくはお試し期間長いとこ借りてUbuntuかCentOSあたりでやってみては

863 :1:2016/10/06(木) 18:32:34.23 ID:???
>>862
ラズパイ常時起動しているから多分そっちで出来る
初代の512MBの方だから良い奴じゃないけど

864 :nobodyさん:2016/10/06(木) 18:33:25.05 ID:???
WinにVM入れたほうがマシかもしれんけど、まあWinのせいか切り分けできるなら
試しにやるのは夕置くかもね

865 :nobodyさん:2016/10/06(木) 18:33:41.49 ID:???
有効かもね

866 :1:2016/10/06(木) 18:34:21.53 ID:???
http://qiita.com/koba_ninkigumi/items/0c9fda1557f8d78670ef
このページに書いてあるようにしても
npm i -g angular-cli
でエラー出るのが謎

867 :1:2016/10/06(木) 18:35:35.35 ID:???
ん?nodistもおかしいぞ

>nodist update
update
Installing undefined
C:\Program Files (x86)\Nodist\lib\nodist.js:89
var major = parseInt(version.split('.')[0])
^

TypeError: Cannot read property 'split' of undefined
at Function.nodist.isIojs (C:\Program Files (x86)\Nodist\lib\nodist.js:89:31)
at nodist.getSourceUrlPrefix (C:\Program Files (x86)\Nodist\lib\nodist.js:190:13)
at nodist.getUrlToExe (C:\Program Files (x86)\Nodist\lib\nodist.js:206:18)
at nodist.fetch (C:\Program Files (x86)\Nodist\lib\nodist.js:581:18)
at C:\Program Files (x86)\Nodist\lib\nodist.js:491:10
at C:\Program Files (x86)\Nodist\lib\nodist.js:416:7
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)

868 :1:2016/10/06(木) 18:36:21.41 ID:???
もしかするとユーザー名が日本語だからエラー出るのか?

869 :1:2016/10/06(木) 18:42:42.36 ID:???
updateがv-upで消えたっぽい

870 :nobodyさん:2016/10/06(木) 19:24:41.35
age

871 :nobodyさん:2016/10/06(木) 19:41:50.92 ID:???
パスに日本語混じったりもそうだけどパスが長すぎるでエラーもウザいよな

872 :1:2016/10/06(木) 19:42:42.97 ID:???
>>871
それ解決するツール入れようとしたけどそれも駄目だった

873 :1:2016/10/06(木) 20:25:18.61 ID:???
あーnpm本当嫌い

874 :nobodyさん:2016/10/06(木) 22:45:27.86 ID:???
Linux上でやるのをおすすめ
Win10ならBash on Windowsでおk

875 :nobodyさん:2016/10/06(木) 23:01:33.48 ID:???
この1週間全然進んでなさそうだな。

876 :1:2016/10/06(木) 23:09:47.63 ID:???
全く進んでない
エラーで動かなすぎる

877 :1:2016/10/06(木) 23:10:07.60 ID:???
>>874
ちょっと見てみる

878 :1:2016/10/07(金) 01:36:37.40 ID:???
複雑すぎて全く分からない
作ったのに動かないとか一番つらい

879 :nobodyさん:2016/10/07(金) 09:47:59.65 ID:???
Mac買え、Mac

880 :nobodyさん:2016/10/07(金) 16:42:01.77 ID:???
>>877
開発者モードとかOnにしてbashってコマンドプロンプトで打ち込むだけだよ

881 :1:2016/10/07(金) 18:10:15.13 ID:???
>>879
「Mac Book」でggった
"はるかに軽く。はるかに先へ。 148,800円(税別)から。"
3万くらいと思っていたら15万って
桁が違った

>>880
もう少ししてみる

882 :nobodyさん:2016/10/07(金) 18:11:56.44 ID:???
MiBookにLinuxぶち込め

883 :1:2016/10/07(金) 18:12:56.85 ID:???
ラズパイ3買おうかな…

884 :1:2016/10/07(金) 18:13:26.97 ID:???
最近色々買い過ぎて金がない
この間コップ本買って5K吹っ飛んだし

885 :1:2016/10/07(金) 19:48:58.53 ID:???
PowerShellとかあるのか
使ってみよう

886 :nobodyさん:2016/10/07(金) 20:35:16.02 ID:???
http://qiita.com/Aruneko/items/c79810b0b015bebf30bb
Win10なんだからこれで

887 :nobodyさん:2016/10/07(金) 22:11:08.98 ID:???
Docker使えDocker
vm感覚で使い捨て開発環境できてvmより遥かに軽い
まぁwinだとDockerでも色々罠があるのかもしらんが

888 :1:2016/10/07(金) 22:41:25.03 ID:???
何かアンギュラー動かすだけで凄い大変だな

889 :1:2016/10/07(金) 23:05:04.97 ID:???
angular-cliの問題かも
似たようなバグ報告が大量にあるから安定するの待ってみる
cli使わずにすることにした

890 :1:2016/10/07(金) 23:16:12.77 ID:???
…他のソフトのせいにするなと言われそうだけど

891 :nobodyさん:2016/10/08(土) 11:32:44.04 ID:???
Windows Subsystem for Linux (WSL) (Bash on Windows)は、
Linux API を、Windows API に変換するので、Ubuntu64 のバイナリがそのまま動く

apt-get で、パッケージもインストールできる

日本語も使える端末、ConEmu。
GUI表示用のXサーバー、Xming X Server for Windows

892 :nobodyさん:2016/10/08(土) 11:42:45.70 ID:???
【Bash】Windows Subsystem for Linux【Ubuntu】2&#169;2ch.net
http://hayabusa6.2ch.net/test/read.cgi/linux/1468149353/

893 :1:2016/10/08(土) 11:48:11.14 ID:???
色々インストールしすぎてCドライブがあと800MBしかない

894 :nobodyさん:2016/10/08(土) 12:37:04.68 ID:???
wwwww

895 :1:2016/10/08(土) 15:46:00.17 ID:???
ゴミ箱に3.8GBも入ってた

896 :1:2016/10/09(日) 00:18:30.93 ID:???
アンギュラーエラー行数が出ないからデパッグが全く進まない

897 :1:2016/10/09(日) 16:29:53.56 ID:???
動いたやったぜ

898 :1:2016/10/10(月) 01:13:25.44 ID:???
最近コミットしてない

899 :nobodyさん:2016/10/11(火) 09:05:27.07 ID:???
>>881
MacBookは新しいやつだから。
Airにしとけ

900 :nobodyさん:2016/10/11(火) 11:37:12.67 ID:???
テストを……テストコードを書くのです

901 :1:2016/10/11(火) 18:05:34.47 ID:???
900レス越えたか

>>899
そんなすぐは買えない
いつか欲しいな程度で

>>900
テストコードか…書いた事ないし何をすればいいか分からない
とにかく動かして直していくタイプだし
java本でもテストコードの所だけ読み飛ばしたしもう一度読んでみるか

902 :1:2016/10/11(火) 20:04:39.43 ID:???
テストコードはかなり前から言われている気がするけど…

903 :1:2016/10/11(火) 21:03:13.89 ID:???
CSS設定しないとダサすぎる

904 :1:2016/10/11(火) 21:51:06.07 ID:???
順調に進みだした

905 :1:2016/10/11(火) 21:51:33.76 ID:???
…分秒が記録されない謎

906 :1:2016/10/12(水) 00:19:49.49 ID:???
NchServer
NchClient
NchUserConfig
リポジトリを名前変更&新規作成しました
上からサーバーアプリ、クライアントアプリ、ユーザー設定等(登録やパスワード、トークン等の設定など重要な物)です
NchLibというNchのライブラリリポジトリも作る予定です

907 :1:2016/10/12(水) 18:40:25.06 ID:???
sql.Dateじゃなくてsql.Timestamp使わないといけないのかよ

908 :1:2016/10/12(水) 20:03:21.00 ID:???
PHPより重くなった気がするんだけど
IDEとか色々立ち上げてローカル鯖でしているのが原因だといいんだが

909 :nobodyさん:2016/10/12(水) 20:22:35.47 ID:???
見通しどうなってるの?
後1か月くらいでお目見え?

910 :1:2016/10/12(水) 20:27:54.69 ID:???
>>909
まだCSS、デパッグ、セキュリティホールとか色々あるからな
モチベ次第

911 :1:2016/10/12(水) 20:29:44.04 ID:???
CSS設定しないとレイアウトが酷すぎてとにかく醜い

912 :1:2016/10/12(水) 21:42:49.16 ID:???
Bootstrapっていうの使ってみようかな

913 :nobodyさん:2016/10/13(木) 05:47:35.68 ID:???
デザインはやりだすときりがないから後回しでいいと思うよ

914 :1:2016/10/13(木) 17:56:00.68 ID:???
大体の色付け、文字の大きさとかは設定しないといけないし
綺麗にするのは後回しでいいだろうけど
全くCSS設定していないからデパッグするにも見にくすぎる

915 :nobodyさん:2016/10/13(木) 18:42:19.44 ID:???
初めは2chと同じUIにしてCSSは後回しにしては?

916 :nobodyさん:2016/10/13(木) 18:55:15.83 ID:???
デパッグじゃなくてデバッグね。

917 :1:2016/10/13(木) 19:05:41.62 ID:???
>>915
レス表示だけなら2chと同じUIでいいけど、他が無理

918 :nobodyさん:2016/10/13(木) 19:37:28.89 ID:???
bootstrapは覚えるのにちょっと時間かかるから
http://codepen.io
この辺から必要な部分コピペしたら?

919 :1:2016/10/13(木) 19:41:45.89 ID:???
覚えるの時間掛かるなら後回しいいや
とりあえず最低限のサイズ、色付けしておこう
安っぽい2chみたいなUIになるけど

920 :nobodyさん:2016/10/13(木) 20:52:15.85 ID:???
UIとか一番最後だろ
モデル層がしっかりしていれば後からいくらでも変えられるし

921 :1:2016/10/13(木) 21:00:07.81 ID:???
モデルってサーバーサイドだよね

922 :nobodyさん:2016/10/13(木) 21:12:02.73 ID:???
webだしまあそうだね
何にせよ今の段階で凝ったデザインにしてもしょうがないよな、分業してるわけじゃないし

923 :1:2016/10/13(木) 21:12:06.74 ID:???
今こんな感じ
http://i.imgur.com/HGsA2WP.png

924 :nobodyさん:2016/10/13(木) 21:14:05.95 ID:???
確認用には十分じゃない?ほかにどうしたいの

925 :nobodyさん:2016/10/13(木) 21:17:20.04 ID:???
だな。確認用には十分だよね。

926 :1:2016/10/13(木) 21:27:32.41 ID:???
何か見にくいなと思って
まあいいか

927 :1:2016/10/14(金) 00:17:14.50 ID:???
画面更新(特にレス)が大変だな…
「N件の返信があります」の更新をするためには、新しく読み込んだレスのリプライ先を既に読み込んでいたら…とか色々必要なのか

928 :nobodyさん:2016/10/14(金) 06:36:54.36 ID:???
>>918
getbootstrap.comもわすれない

929 :nobodyさん:2016/10/15(土) 01:14:03.46 ID:???
まあ、わざわざスレ建ててんだからCSSくらいこのスレのやつにやらせてもいいんじゃね
俺ですら書こうと思えば書けるし

930 :1:2016/10/15(土) 10:04:47.08 ID:???
複数人で開発するの慣れてないから大変な事になりそう
GitHubのプルリクとかそういう機能分からないし

931 :1:2016/10/15(土) 11:51:15.30 ID:???
scalaのお陰でリスト操作関数覚えたけど、便利
全部定数縛りしてたらそういう関数使わないとまともに作れないし

932 :1:2016/10/15(土) 11:54:51.27 ID:???
今までコンポーネントがデータを直接持っていたけど、idのみ持たせてstaticでMap<id,Obj>を定義したらデータ更新が楽になった

933 :1:2016/10/15(土) 16:30:23.18 ID:???
日付がおかしいぞ
後曜日が英語

934 :1:2016/10/15(土) 16:33:30.56 ID:???
TODO
書き込んでもトピックの日付が更新されない(スレッドフロートじゃない)

935 :nobodyさん:2016/10/15(土) 20:53:22.71 ID:???
何が完成するのかイメージが沸かない

936 :nobodyさん:2016/10/16(日) 06:59:03.62 ID:???
まあ、ここは1の愚痴スレにしかなってなくて、他の誰もが分からないからね

937 :1:2016/10/16(日) 11:11:35.51 ID:???
>>935
もう少ししたら多分分かる


TODO
・msg、profile、通知機能
・お気に入り、タブも

938 :nobodyさん:2016/10/16(日) 12:38:00.62
がんばって

939 :nobodyさん:2016/10/16(日) 15:05:57.31 ID:???
>>923の写真見る限り進んでるか。
でも、ここにいる無責任なギャラリーの一人としてもっと急いでくれと。

940 :1:2016/10/16(日) 16:16:09.99 ID:???
急いではいるけど・・・
もっと早く作れるようになりたい

941 :nobodyさん:2016/10/16(日) 16:25:44.28 ID:???
>>939
いやいや画面だけなら10分で作れるから

942 :1:2016/10/16(日) 16:26:37.08 ID:???
10分って凄い
数時間掛かった…

943 :1:2016/10/16(日) 17:06:09.70 ID:???
とりあえず次スレのスレタイと本文(未確定)
Nchリポジトリはまだ作ってないけど

【Scala】匿名掲示板Nch開発スレ part2【Angular2】


【Nchとは】
2chより高機能なオープンソースの掲示板
名前の由来は、Next New NumberなどのN+channel

【特徴】
・10秒で終わる簡単なユーザー登録が必要
・完全匿名
・マークダウンを使用可能
・2chとは非互換
・API公開
・自動管理を行う為荒らしに強い
・PC、スマホで同期可能な高機能WEBアプリ
・VIPのような単発スレには向かない。また安価スレは不可能

【GitHub】
最新情報、ソースを置いているリポジトリへのリンク等あり
https://github.com/kgtkr/Nch

944 :nobodyさん:2016/10/16(日) 18:31:31.39
nodejsで作れよ

945 :1:2016/10/16(日) 18:35:22.84 ID:???
クライアントはangularだからnodeも入ってるよ

946 :nobodyさん:2016/10/16(日) 18:45:49.28
サーバだよ
expressとかで

947 :1:2016/10/16(日) 18:48:19.39 ID:???
もうやめてくれ
PHP→java→scalaでやっと完成したのに
scalaに不満ないし

948 :nobodyさん:2016/10/16(日) 18:53:42.98
おk

949 :1:2016/10/16(日) 18:56:48.45 ID:???
もう少しで最低限のUIは完成しそう

950 :1:2016/10/16(日) 21:36:38.20 ID:???
1台のPCでEclipse、Tomcat、VSCode、Node、Chrome立ち上げたらスクリプト1行弄るだけで下の画像みたいな状態になって全く開発進まん
https://i.imgur.com/4kL1ygO.png

951 :nobodyさん:2016/10/17(月) 14:06:29.22 ID:???
メモリいくつよ

952 :nobodyさん:2016/10/17(月) 16:27:35.45 ID:???
4GBって前に言ってたよ。どのLivaか知らんが小さいLivaだって・・

953 :nobodyさん:2016/10/17(月) 17:33:30.19 ID:???
4じゃきついわなあ、8でもちょっと、、、

954 :1:2016/10/17(月) 21:55:18.15 ID:???
親がPCでブラウザくらいしか使わないからなー

955 :nobodyさん:2016/10/17(月) 23:02:09.19 ID:???
俺も勉強用に1台Webサーバー組もうかと考え中だな。
CPU Celeron 4000円
メモリ 8GB 4000円
SSD 128GB 4000円
マザー 8000円
ケース 5000円
電源 3000円
3万ちょい。でも踏ん切りがつかん。

956 :1:2016/10/17(月) 23:08:47.11 ID:???
SSDってそんなに安いのかよ

957 :nobodyさん:2016/10/17(月) 23:13:59.18 ID:???
だな。256GBが安いので6000円くらいだし。
俺も君みたく2chat開発とか明確な目標があればポチれるんだけど、
結構曖昧なただの物欲なので踏ん切りがつかねぇ。

958 :1:2016/10/17(月) 23:15:37.41 ID:???
最初メモリ2GB買う予定だったけど2GBにしなくて本当良かった

959 :nobodyさん:2016/10/17(月) 23:20:12.60 ID:???
2GBはやばいね。タブ大目に開いてるブラウザとEclipse立ち上げたら
終わりそうだな。

960 :nobodyさん:2016/10/17(月) 23:22:01.67 ID:???
さっさと2chat完成させてそれで稼いでいいマシン買おうぜ。
つか、大目じゃなうて多めだった。

961 :1:2016/10/17(月) 23:26:41.38 ID:???
まずは鯖代の半分目指す

962 :nobodyさん:2016/10/17(月) 23:41:04.05 ID:???
昨今Webプログラマとして健康で文化的な最低限度の生活を送るにはメモリ8GBは必要でしょ

963 :1:2016/10/17(月) 23:55:58.45 ID:???
今のPC買ったときはC#だけ、javaだけとかでWEB鯖建てたりIDE沢山起動する必要もなかったからここまで重くなるとは思ってなかった

964 :nobodyさん:2016/10/18(火) 00:39:51.18
AWSの無料枠有能です
仮想化自宅サーバ有能です

965 :nobodyさん:2016/10/18(火) 11:54:47.46 ID:???
AWS1年無料試すのいいかもね、クレカはいるけど
あと型落ちのNUCとか小型PCのセレロンかatomのベアボーン買ってきて
メモリとSSDは予算にあわせてサーバにするのもいいかも

966 :nobodyさん:2016/10/18(火) 11:55:51.37 ID:???
ってラズパイあるんだっけ、リモートデバッグは厳しいのかな

967 :1:2016/10/18(火) 22:48:47.67 ID:???
とりあえずwinで頑張ってみる

968 :1:2016/10/19(水) 19:04:12.38 ID:???
来週一週間は開発休むかも
模試あるから

969 :1:2016/10/20(木) 00:54:47.21 ID:???
クライアントアプリプッシュしました

970 :1:2016/10/20(木) 00:55:36.87 ID:???
一通り完成したらローカルDBでキャッシュ作って高速化とかオフラインでも見れるようにしたいな

971 :nobodyさん:2016/10/21(金) 17:00:05.41
indexedDB

972 :1:2016/10/21(金) 17:23:00.39 ID:???
そうそれ
まだしないけど
今はサービスの初期化に非同期通信入ってて色々困ってる

973 :1:2016/10/21(金) 17:42:46.83 ID:???
async pipeとか言う便利そうな物発見

974 :nobodyさん:2016/10/21(金) 17:56:13.98
Promiseだいすき

975 :1:2016/10/21(金) 18:52:22.15 ID:???
ライブラリが対応していないとPromiseも色々面倒
C#のTaskみたいにwaitで同期処理に出来たらいいのに
シングルスレッドじゃ面倒なのだろうか

976 :nobodyさん:2016/10/21(金) 19:15:38.83 ID:???
co.js使ってgenerator function/yieldとか
Babel使ってES7 async/awaitとか

977 :nobodyさん:2016/10/21(金) 20:24:37.97 ID:???
PromiseはPolyfillがあるので使い放題だと思うけど

978 :1:2016/10/21(金) 23:07:07.50 ID:???
async pipe使ったらブラウザがフリーズした
内部で無限ループ起こってるみたい?

979 :nobodyさん:2016/10/22(土) 17:23:15.93
Promise最強よ

980 :1:2016/10/22(土) 20:19:20.40 ID:???
クラウドって結局何なの?
VPSでいいのかな

981 :nobodyさん:2016/10/22(土) 20:36:37.18 ID:???
クラウドって結局負荷に合わせて柔軟にメモリ、CPUとかを増やせるサービスって
ことじゃね??まぁ、高いからVPSでいいと思うけど。

982 :1:2016/10/22(土) 20:37:37.28 ID:???
高いのか…
VPSにしよう

983 :nobodyさん:2016/10/22(土) 20:39:44.13 ID:???
クラウドは、CPUあたりメモリ当たりとか高いよね。つか、クラウドだと
従量課金みたいなのもあるから、ユーザーいなかったら逆に安くなるとか・・?

984 :nobodyさん:2016/10/22(土) 21:58:13.07
GCPいいよー

985 :nobodyさん:2016/10/23(日) 00:10:33.65 ID:???
http://qiita.com/umireon/items/20567bc8b4c6713d7591
http://d.hatena.ne.jp/megascus/touch/20140413/1397365082
Azure DreamSparkとWebAppなら遅いけどタダやで

986 :1:2016/10/23(日) 16:33:07.41 ID:???
API重複コード多すぎるんだけど何とか出来ないかな
readNew系、readAfter系、readBefore系を上手くまとめたい

987 :1:2016/10/23(日) 16:35:07.37 ID:???
文字列だから共通化が難しいと言うか・・・
どうしよう

988 :1:2016/10/23(日) 16:37:28.72 ID:???
WEB.xml面倒だからアノテーション使ってみる

989 :1:2016/10/24(月) 23:39:56.41 ID:???
とりあえず一通り機能出来た
あとはサーバーにある大量の脆弱性修正とか色々忘れている内部処理の追加、クライアントのお気に入り、タブ機能追加すればとりあえず完成
そろそろ次スレか

990 :nobodyさん:2016/10/24(月) 23:44:50.10 ID:???
長かった

991 :1:2016/10/24(月) 23:46:25.70 ID:???
脆弱性って言うのは人のプロフィールみたいな奴を勝手に変更出来たりとかいう奴
忘れている機能はDVされたときのレベルダウンとかその逆とか色々
お気に入り、タブはほぼクライアントだけで実装する

992 :1:2016/10/24(月) 23:49:33.30 ID:???
長かったってまだ終わってない
とりあえず脆弱性修正すれば限定公開は出来る程度

993 :1:2016/10/24(月) 23:57:06.22 ID:???
とりあえずプッシュ

994 :1:2016/10/25(火) 00:07:40.74 ID:???
次スレ
http://tamae.2ch.net/test/read.cgi/php/1477321636/

995 :nobodyさん:2016/10/25(火) 14:20:07.49 ID:???


996 :nobodyさん:2016/10/26(水) 15:47:36.21 ID:???
うめ

997 :1:2016/10/26(水) 18:32:56.48 ID:???
書き込み割れると面倒だから埋め

998 :1:2016/10/26(水) 18:33:06.83 ID:???
998

999 :1:2016/10/26(水) 18:33:35.21 ID:???
999

1000 :1:2016/10/26(水) 18:34:11.42 ID:???
lllllllll,,    llllllll             lllllll
llllllllllll,,     llllllll             llllll
llllllll lllll,,   llllllll      ,,,,,,,,,     lllllll ,,,,,,,,,,
llllllll 'lllll,,   lllllll   ,,lllllllllllllllllll,,   lllllll,llllll'''llllllll,
llllllll   'lllll, llllllll   ,llllll''   ''llllll   llllllll''   lllllll
llllllll   ''lllll, lllllll   lllllll         lllllll'     lllllll
llllllll     ''llllllllllll   lllllll,    lllllll'  lllllll     lllllll
llllllll      'lllllllll   ''lllllllllllllllllll''   lllllll     lllllll
''''''''       ''''''''     '''''''''''''     ''''''     ''''''

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 186日 4時間 48分 43秒

1002 :1002:Over 1000 Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php

187 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)