【PHP】2chat開発スレ【2chを越える】 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2016/04/23(土) 13:45:28.79ID:???掲示板とチャットを組み合わせたオープンソースのPHPスクリプトです。
名前の由来は2ch+chat
【特徴】
*基本的な面
ユーザー登録は必要だが、匿名
ユーザーは日付の経過や書き込み、荒らしなどでレベルが上下し、このレベルは通報の影響度などに関わる
管理人が不在でも通報が集まった書き込みは自動削除
チャット形式の為、書き込み上限はなく、テンプレはいつでも誰でも編集可能
板はなく、各スレッドはカテゴリを付けられる為、スレッドを探しやすい
単発スレには向かない
*専ブラ
jsを使い専ブラなしで快適に閲覧出来るUIを提供
WEBで見れるため、PC⇔スマホで開いているスレなどを完全同期できる
*API
誰でも使えるAPIを提供(jsonp対応)
2ch互換のAPIも提供
ユーザーはサブパスワードを作る事で、悪意を持った外部サービス管理人によるアカウントの乗っ取りを防ぐ事が出来る
開いているスレなども外部サービス間で同期可能
00511
2016/05/01(日) 21:15:32.10ID:???そうなるけど・・・
そっちの方が管理しやすいし
完全匿名でも、普通IPは記録するから、権力が働いたら匿名じゃなくなるのは一緒なのでは?
00521
2016/05/01(日) 23:06:54.88ID:???ちょっと複雑な事するとかなり難しくなる
0053nobodyさん
2016/05/01(日) 23:08:57.58ID:???そりゃ、TCP/IPを使っているのだからIPは記録するさ
でも「原理的に匿名でない設計」と「匿名を目指している設計」は似て非なるものだと思うよ
「表面的には匿名だけど、いつでも書き込んだ主を公開できる準備があるので注意してね」なんて注意書きを書いたらユーザはどう感じるかな
0054nobodyさん
2016/05/01(日) 23:38:17.36ID:???00551
2016/05/01(日) 23:41:41.15ID:???IDにLVをつける事によって、通報の多い書き込みの自動削除などがやりやすくなる
今の2ch見ていると、明らかに削除人が足りていないから、出来るだけ自動化したいし
00561
2016/05/02(月) 00:16:33.73ID:???スレッドに対するレス番じゃなくて、全部のレスに適当に番号振っていった方がよさそう
2chを意識しすぎた感
明日設計見直そう
00571
2016/05/02(月) 22:28:44.39ID:???・・・と思ったんですが、javaとc#にincludeがないので、書くのすっかり忘れていました・・・
includeとコメントを詳しく書いたりして、APIを作っていきます
APIはtypeパラメーターに形式(XML、JSON、JSONP)を指定するタイプにします
00581
2016/05/03(火) 01:01:09.35ID:???00591
2016/05/05(木) 09:05:44.80ID:???そこで、短い書き込み用のGET、圧縮して送るGET、formタグからならPOSTが可能な事を利用したリダイレクトありPOSTを用意したいと思っています
0060nobodyさん
2016/05/05(木) 09:43:28.83ID:???00611
2016/05/05(木) 11:19:03.14ID:???00641
2016/05/06(金) 23:23:44.10ID:???長くて6000文字程度だし
IEの2000文字制限がな・・・
00651
2016/05/07(土) 08:58:18.11ID:???00661
2016/05/07(土) 11:54:41.03ID:???タイムゾーン
UPDATE変更の必要なし問題
0067nobodyさん
2016/05/07(土) 15:24:21.79ID:???サーバ構成はどんなふうに考えてるとか
サイトマップとかページのフレーム構成とか
どんなふうに考えてるのか見てみたいな
00681
2016/05/07(土) 17:30:20.31ID:???Twitter風UIにする予定です
00691
2016/05/07(土) 20:28:53.36ID:???Twitterの場合、TLに返信が色々出てくるんだが
検索速度を考えると、整合性に気をつけてテーブル分割した方がよさそう
00701
2016/05/07(土) 22:04:18.58ID:???サーバーサイドは単純作業で、セキュリティにだけ気を付ければよかったけど
00711
2016/05/07(土) 22:19:37.26ID:???00721
2016/05/07(土) 22:45:50.93ID:???http://www.dotup.org/uploda/www.dotup.org852825.png
00731
2016/05/08(日) 00:57:34.98ID:???00741
2016/05/09(月) 00:53:48.86ID:???土日ずっとしていたからかなり進んだ
0075nobodyさん
2016/05/09(月) 07:30:48.17ID:???だからSPAにしろって
今から覚えるならJQueryよりおすすめ
HTMLのView地獄の深みにハマってつらい思いするぞ
00771
2016/05/09(月) 23:27:19.16ID:???$$から始まる関数をJQオブジェクト作成関数にして、$始まる変数をJQオブジェクトにします
00781
2016/05/09(月) 23:45:45.83ID:???jsの設計分からん
0079nobodyさん
2016/05/10(火) 00:41:45.00ID:???そうだっけ
どういうコードなんだろう
00801
2016/05/10(火) 07:50:47.24ID:???00811
2016/05/10(火) 21:16:30.20ID:???00821
2016/05/10(火) 23:59:09.03ID:???0083nobodyさん
2016/05/11(水) 11:02:28.76ID:???開発の仕方が5年ぐらい前に流行った開発だよね
ggったらよく出てくる内容だから勉強しやすいのかもしれないけど
特に今年は新しい環境が出揃ってこれからっていう元年に近い年だから
そっちに倣ったほうが楽しいと思うんだがな
それじゃ頑張ってくださいノシ
0084nobodyさん
2016/05/11(水) 11:35:03.10ID:???せめて誘導しろや>そっちに倣ったほうが楽しい
00851
2016/05/11(水) 16:03:56.63ID:???すみません
今ajaxが流行っていると書いてあったので、ajaxで作ってみました
00861
2016/05/11(水) 20:04:05.59ID:???0087nobodyさん
2016/05/12(木) 02:44:05.11ID:???SPA作るならフロントはReact+redux+react-routerで
ビルドはwebpackで十分だし
Angular2に手を出すのもアリだけど
DOM操作なんて人間様のやる事じゃないのでjQueryは必要無し
サーバーサイドPHPにするんならオレオレじゃなくて有名どころのFW使わないとセキュリティ周りで死ぬぞ
0088nobodyさん
2016/05/12(木) 03:01:13.65ID:???流行ってるってどこに書いてあるんだそんなの
0089nobodyさん
2016/05/12(木) 10:13:48.26ID:tNg+7L1IDOMで皆苦しんだ
0090nobodyさん
2016/05/12(木) 10:37:40.79ID:???一度組み上げてこのままじゃだめだよねと確認して次のステップへ行こう
この場につきっきりでコミュニケーション取りながら教えられる人なんていないだろうし
0091nobodyさん
2016/05/12(木) 12:12:53.26ID:???0092nobodyさん
2016/05/12(木) 13:23:55.76ID:???形から入って完成しないパターンにしかならんしな
とりあえず動くものを用意して反応を貰うのが一番良い
00931
2016/05/12(木) 15:51:12.71ID:???SPAアプリだと他のライブラリの方が、保守しやすいみたいですので、色々触ってみます
動く物を見せたいのですが、現在サーバーの審査待ちですので、少々お待ち下さい
00941
2016/05/12(木) 17:05:14.47ID:???Angular2+TypeScript+css+htmlで作る予定です
00951
2016/05/12(木) 17:05:51.17ID:???クライアントサイドは
Angular2+TypeScript+css+htmlで書き直す予定です
00961
2016/05/12(木) 17:46:48.88ID:???0097nobodyさん
2016/05/12(木) 18:18:58.09ID:???00981
2016/05/12(木) 18:44:34.33ID:???また、APIでAccess-Control-Allow-Origin: *を出力して、POST通信でも出来るようにします
00991
2016/05/13(金) 20:11:58.20ID:???日曜用事あるから、土曜頑張ろう
01001
2016/05/14(土) 16:33:06.50ID:???かなり分かりやすくなった
01011
2016/05/14(土) 16:59:04.14ID:???各レスに固有IDつけているけど
01031
2016/05/15(日) 00:55:05.09ID:???コンポーネントが出来たから後はアンカー、ID、返信のポップアップだな
>>102
ありがとうございます。してみます
0104nobodyさん
2016/05/15(日) 11:08:14.41ID:???うちの職場が遅れすぎてるのか?
01061
2016/05/15(日) 21:53:58.07ID:???2chのアンカーポップアップでggっても、バインドの方法は書いてないし、DOM操作のも再帰的なポップアップがない
あと、全部のレス読み込む訳じゃないから、マウスオーバー時にサーバーにリクエストする予定だし
01071
2016/05/15(日) 22:16:41.02ID:???01091
2016/05/17(火) 19:27:11.65ID:???//スクロール位置
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");
01101
2016/05/17(火) 19:28:15.65ID:???0111nobodyさん
2016/05/18(水) 10:28:37.26ID:???01121
2016/05/19(木) 19:19:04.16ID:ie/BYStVまだ7は普及してないし
0113nobodyさん
2016/05/19(木) 20:10:55.06ID:???01141
2016/05/19(木) 20:13:58.11ID:???01151
2016/05/19(木) 22:12:27.85ID:???あとはポート開放だけなんだけどやり方が分からない
01161
2016/05/19(木) 22:14:01.00ID:???ラズパイ3欲しいが今の所は1で問題なさそう
0117nobodyさん
2016/05/19(木) 23:14:40.04ID:???01181
2016/05/19(木) 23:30:36.95ID:???0119nobodyさん
2016/05/19(木) 23:39:49.21ID:???狂気の沙汰ほど面白い
0120nobodyさん
2016/05/20(金) 00:17:19.01ID:lNAjozeA自宅サーバのセキュリティは正直面倒だ
レンサバでもXServer(と傘下のネットオウル系)やhetemlはPHP7入ってるでしょ
ttps://www.xserver.ne.jp/functions
ttp://www.minibird.jp/service/function.php
ttps://heteml.jp/service/function/
01211
2016/05/20(金) 07:16:43.70ID:???01221
2016/05/20(金) 18:02:21.87ID:???MySQL使うのにクレカ登録がいる・・・
01231
2016/05/20(金) 20:17:09.92ID:???01241
2016/05/20(金) 20:31:33.97ID:???http://2chat.heteml.jp/
01251
2016/05/20(金) 20:48:21.19ID:???0126nobodyさん
2016/05/20(金) 22:33:08.79ID:???0127nobodyさん
2016/05/20(金) 22:38:01.89ID:???01281
2016/05/20(金) 22:43:23.03ID:???最初mysql関数で組んでいて、PHP7で使えないことに気付いて組みなおしたけど、PDOの方が主流だったのか・・・
0129nobodyさん
2016/05/20(金) 22:52:21.60ID:???01301
2016/05/21(土) 08:38:48.52ID:???MySQL以外を使う予定はないので、このままでいいですかね?
・今後の予定
モバイル版専ブラ
URLを持った、2ch風の閲覧専用ページ
IDポップアップ
01311
2016/05/21(土) 09:45:57.12ID:???01321
2016/05/21(土) 10:12:29.63ID:???これを使えば、mysqlndなしでいけるのだろうか
01331
2016/05/21(土) 10:37:40.59ID:???ここのサーバーを長期的に使うことになりそうです
01341
2016/05/21(土) 10:47:06.56ID:???多分headerで確認しているね
ここなら安心して使える
0135nobodyさん
2016/05/21(土) 11:41:42.34ID:???まあ万が一負荷が問題になるほど流行ったらよそへ移ればいいか
01361
2016/05/21(土) 11:47:09.27ID:???01371
2016/05/21(土) 11:48:07.69ID:???0138nobodyさん
2016/05/21(土) 15:37:44.53ID:???.gitignoreって知ってるか
nbprojectとかいうNetbeansの設定フォルダはバージョン管理の対象から外すといい
0139nobodyさん
2016/05/21(土) 15:38:48.65ID:???0140nobodyさん
2016/05/21(土) 15:39:53.51ID:???0141nobodyさん
2016/05/21(土) 15:48:22.45ID:???PSR-4に従っとくと楽だと思うが
0142nobodyさん
2016/05/21(土) 16:51:55.65ID:???01431
2016/05/21(土) 17:23:25.76ID:???外してよかったんですね
外します
>>139
使ったことありませんでした
調べてみます
>>140
スカラー型のタイプヒンティングを使いたかったので、PHP7にしました
>>141
よく分からないので調べてみます
>>142
WEBアプリ(特に永続化が必要な物)のオブジェクト指向ってどう作ればいいんでしょうか?
よく分かりませんでした
0144nobodyさん
2016/05/21(土) 17:33:59.54ID:???PHPはネットにクソ情報が多すぎる
0145nobodyさん
2016/05/21(土) 17:41:43.15ID:???勉強がてらなら、オブジェクトの永続化を抽象化するリポジトリパターンを独自で組んでみてもいいのでは。
Threadなどのオブジェクト(エンティティ)は自身の永続化には関知せず、ThreadRepositoryなどリポジトリクラスを作って、DBとのやり取りはそちらのクラスの責務にする。
0147nobodyさん
2016/05/21(土) 17:55:17.02ID:???大抵のWebアプリに永続化が必要ではあるが
Webアプリで真っ当なオブジェクト指向って時に特有なのはHTTPリクエストとHTTPレスポンスをオブジェクトとして扱うことだろうな。
大雑把に言うとアプリケーション全体をHTTPリクエストを引数にとってHTTPレスポンスを返す関数として捉える
PHP界隈だとHTTPリクエストとレスポンスのライブラリが標準にないため、フレームワークごとに乱立していた感じ
最近ようやくPSR-7 HTTP messagesという標準になってくれそうなインターフェースが決まって広まりつつある
0148nobodyさん
2016/05/21(土) 18:07:09.53ID:???MVC2などによる構造の切り分けも大体のフレームワークが行っている
DBへの永続化、ユーザー認証認可、テンプレートエンジンなどの他の頻出機能は好きなライブラリやコンポーネントを組み合わせやすい便利な時代になった
Composer様々だな
01491
2016/05/21(土) 18:09:12.44ID:???あと、デスクトップアプリでも、ファイルを全て読み込んで、オブジェクトに変換して、処理をして、保存といったアプリしか作った事がないので一部のみ読み込んで的なアプリがよく分かりません
01501
2016/05/21(土) 18:17:39.96ID:???0151nobodyさん
2016/05/21(土) 18:18:52.72ID:???>>1の普通がどこの普通かは知らんが普通のデスクトップのアプリでもDB使うなら逐一DB更新することあるでしょ
■ このスレッドは過去ログ倉庫に格納されています