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:???
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:???
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:???
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:???
色とかが適当だけど、とりあえず骨組み
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
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:???
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:???
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:???
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:???
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:???
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
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:???
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:???
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:???
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:???
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:???
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:???
271 :
1
2016/06/18(土) 18:37:15.33 ID:pK47OYZ/
とりあえずクライアント頑張ろう
サーバーサイドは行数多いだけで単純だからjavaに書き直すのも思考停止ですぐ出来そうだけど、クライアントサイド作るのはかなり複雑だから大変
272 :
nobodyさん
2016/06/19(日) 22:13:44.26 ID:fGhYV3XN
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:???
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
281 :
nobodyさん
2016/06/26(日) 12:25:34.41 ID:???
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:???
296 :
1
2016/06/29(水) 18:26:18.59 ID:TQMsW2Bf
>>295 一つの話題に書き込むから、そもそもハッシュタグの必要性を感じない
2chでハッシュタグいるかって言われたらいらないのと同じ
297 :
1
2016/06/29(水) 23:44:00.21 ID:???