【PHP】2chat開発スレ【2chを越える】 [無断転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2016/04/23(土) 13:45:28.79ID:???掲示板とチャットを組み合わせたオープンソースのPHPスクリプトです。
名前の由来は2ch+chat
【特徴】
*基本的な面
ユーザー登録は必要だが、匿名
ユーザーは日付の経過や書き込み、荒らしなどでレベルが上下し、このレベルは通報の影響度などに関わる
管理人が不在でも通報が集まった書き込みは自動削除
チャット形式の為、書き込み上限はなく、テンプレはいつでも誰でも編集可能
板はなく、各スレッドはカテゴリを付けられる為、スレッドを探しやすい
単発スレには向かない
*専ブラ
jsを使い専ブラなしで快適に閲覧出来るUIを提供
WEBで見れるため、PC⇔スマホで開いているスレなどを完全同期できる
*API
誰でも使えるAPIを提供(jsonp対応)
2ch互換のAPIも提供
ユーザーはサブパスワードを作る事で、悪意を持った外部サービス管理人によるアカウントの乗っ取りを防ぐ事が出来る
開いているスレなども外部サービス間で同期可能
0408nobodyさん
2016/09/09(金) 23:20:55.70ID:???04091
2016/09/09(金) 23:35:12.40ID:???.NET Framework上で動く言語にC#とかVB.NETがあるのと同じで、
JVM上で動く言語にjavaとかScalaがある
0410nobodyさん
2016/09/09(金) 23:51:36.80ID:???このスレに書き込むかは正直どうでもいいのでちゃんと開発し続けているのか
1についていく人間が果たしてどれだけ居るのか
04111
2016/09/09(金) 23:53:26.31ID:???ただ開発は続いている
0412nobodyさん
2016/09/09(金) 23:54:22.68ID:???04131
2016/09/10(土) 00:31:58.25ID:???TODOは明日までにクラス作って、明後日からDBだから予定変更いらないかも
これ異常予定変更したくないし
04141
2016/09/10(土) 10:32:12.31ID:???04151
2016/09/10(土) 13:50:28.68ID:???04161
2016/09/10(土) 13:50:52.92ID:???0417nobodyさん
2016/09/10(土) 14:41:15.95ID:???04181
2016/09/10(土) 16:09:33.38ID:???https://github.com/kgtkr/nch/blob/master/todo.md
04191
2016/09/10(土) 16:09:52.20ID:???04211
2016/09/10(土) 18:51:52.86ID:???クライアント側はまだ仕様がしっかり決まってないから分からない
APIの薄いラッパーは1週間くらい
クライアントアプリはサーバーより時間掛かるかも
0422nobodyさん
2016/09/11(日) 15:34:42.06ID:???04231
2016/09/11(日) 17:38:08.69ID:???安定して来たらAPIの仕様はドキュメント化します
ドキュメント化する前も一応使えますが、仕様が大幅に変わる可能性もあります
04241
2016/09/11(日) 17:40:09.81ID:???Scalaの開発効率凄い
0425nobodyさん
2016/09/11(日) 17:59:23.75ID:???開発はめんどくさいだろ。
04261
2016/09/11(日) 18:08:35.24ID:???ドメインは一個とってサブドメインにします
04271
2016/09/11(日) 18:10:40.90ID:???04281
2016/09/11(日) 18:22:24.69ID:???広告貼って月1000円くらい入ればいいんだが…1700円全額は確実に金なくなる
VIPみたいな書き込みが多くなると、Googleアドセンスは確実にBANされるだろうしどうしようかな
0429nobodyさん
2016/09/11(日) 18:38:25.71ID:???有料に移行できるのになww
まぁ、最初から金を払わざるを得なくて君の本気度が試される。
無料のVPSとかあるのか知らんが。
0430nobodyさん
2016/09/11(日) 18:42:13.11ID:???で、自分を窮地に追い込めば、モチベーションも長続きするんじゃね??
04311
2016/09/11(日) 21:22:32.53ID:???PHP→java→Scalaにしてよかったと思ってるよ
かなり開発期間伸びたけど
>>430
それは流石に…
TopicRepositoryとTopicHistoryRepository終わりました
04321
2016/09/11(日) 21:23:02.14ID:???04331
2016/09/11(日) 21:48:43.30ID:???オープンな掲示板にしたいのにクローズな物作るのは違う気がする
要望多ければ後からつけ足せばいいし
04341
2016/09/11(日) 22:59:01.49ID:???04351
2016/09/11(日) 23:42:21.28ID:???UserRは遅いので明日します
GitにPushしました
0436nobodyさん
2016/09/12(月) 11:54:05.08ID:???サーバから2chへのアクセスは無いんだよね?
sakuraのサーバからは2ch一切読みに行けないんで念のため
0437nobodyさん
2016/09/12(月) 15:25:23.87ID:???0438nobodyさん
2016/09/12(月) 15:50:38.09ID:???04391
2016/09/12(月) 17:00:44.99ID:???2chにアクセスする事はないからそれは大丈夫
04401
2016/09/12(月) 18:40:43.96ID:???エラー処理が終わっていないのでそこを進めていきます
04411
2016/09/12(月) 18:48:55.02ID:???ただ、実際に動かしながらでも修正出来る部分なので、今はとりあえずこのまま完成させます
04421
2016/09/12(月) 22:14:59.61ID:???}
0443nobodyさん
2016/09/12(月) 22:18:42.76ID:???>パフォーマンスに問題が発生する可能性が高いです
>ただ、実際に動かしながらでも修正出来る部分なので、今はとりあえずこのまま完成させます
だね。どんどん進むべきだな。
でも、やっぱ、ミーハーな君は最終的にはNoSQLとかになるのかな??
俺もNoSQLよくわかってないけどw
0444nobodyさん
2016/09/13(火) 05:22:51.06ID:???0445nobodyさん
2016/09/13(火) 11:00:54.20ID:???って環境によって呼び名が変わるけど連想配列とかディクショナリーとかね
0446nobodyさん
2016/09/13(火) 11:02:25.19ID:???よほど下手くそに作るのでもなければ
0447nobodyさん
2016/09/13(火) 12:40:58.61ID:???トランザクションの分離レベルで、シリアライザブルをメインで使うのは駄目かな?
0448nobodyさん
2016/09/13(火) 13:26:10.20ID:???できないなんて、クソすぎだろ。
>>21-25
あほ。
とかまとめてリプライできないんだぜ。
2chの劣化にしかならねぇ。
0449nobodyさん
2016/09/13(火) 13:35:52.35ID:???ツリー表示は2ch型掲示板には向いてない。
例えば、こういう過疎スレとかで、古いレスにリプライ(例えば、>>10)とかしてツリー表示すると、
新着レスを見つけにくいんだよな。で、誰にもレスに気づかれず終わりやすい。
時系列表示だと、新着に気づきやすいから、レスが埋もれることがなくなる。
ので、時系列表示は強制すべきだな。
0450nobodyさん
2016/09/13(火) 13:44:55.57ID:???Redditはリプライ機能あるツリー表示だし、多彩なソート機能とか最悪の機能ばっかだった。
レスのソートを許すとさっきも書いたけど、過疎スレで新規レスが誰にも気づかれずに
うもれちゃう。
ソース見るとvote機能とかあるけど、voteできるようにしてもいいが、vote順にソートとか
も、これもレスを埋もれさせるのであんま感心しない(もちろん、クラアイントアプリ側で独自に実装できちゃうけど)。
時系列表示が最強。
0451nobodyさん
2016/09/13(火) 14:06:16.06ID:???過去ログとかをマネしたのかもしれんが、別に、Topicと分ける必要ねぇだろ。
TopicにLive Topicかを表すフラグつければいいだけで・・
パフォーマンス的に古いデータを別テーブルに移したいっていうなら、
先にデータが膨大になりがちなResの方を移すべきだと思うし。
04521
2016/09/13(火) 16:51:57.95ID:???KVSとかXMLとかのですよね?
よく分からないので使いません
DBは表形式で不便に感じていないので
>>446
設計見直したら一回の書き込みで大量のDB接続が必要な設計になっていました
Userクラスが原因です
しばらくはこのままで行きますが
>>448
複数人リプライですか…
実装難しそうなので見送ったのですが検討してみます
>>449
最初はツリー表示にする予定でしたが、Redditを使ってみて使いにくかったのでやめました(あと実装が難しかった)
>>450
Vote機能は自治の為の機能であって、ソートの為の機能ではありません
運営が関わるような事(法的にアウトだったり、鯖に負荷を掛けたり、個人情報の書き込みだったり)ではないが不愉快な書き込みに対してDVをすることで書き込みが削除されます
しかし、DVだけだと悪意のもった集団がDVで無差別に削除する可能性があるので対抗する機能としてUV機能も付けました
また、UVを多くされればユーザーのレベルが上がり、投票への影響力が大きくなったり書き込みの規制も緩くなります
DVを多くされれば逆の事が起こります
>>451
タイトル、カテゴリ、テンプレを自由に変更出来る用にしたので、それのバックアップです
wikiのバックアップと同じ機能です
運営は最低限の事だけを行えば自動で管理が出来る掲示板を目指しています
また、内部は複雑でも使い方はRedditのように複雑にならないように気を付けています
例えば、Vote機能は上に書いたような複雑な仕組みをしらなくても、不愉快な書き込みにはDV、良い書き込みにはUVをすると言う事だけ知っていれば使えます
あとサーバーの機能は必要最低限にします。理由は、サーバーの負荷を抑える為と、サーバーの不具合はクライアントサイドの不具合と比べて重大な事になりやすいからです
0453nobodyさん
2016/09/13(火) 18:32:23.11ID:???>wikiのバックアップと同じ機能です
そういうことか。
>Vote機能は自治の為の機能であって、ソートの為の機能ではありません
了解。
ってか、投稿って匿名じゃできないんだっけか???
読むのはできるだろうけど。
>複数人リプライですか…
後は、何気にさらっと2chでは>>452にみたく1レスに複数人宛てに自由に書けるけど、
これはできなくてもいいのかな・・?
まぁ、そこらへんの使い勝手をしっかり考えたほうがいいと思う。
0454nobodyさん
2016/09/13(火) 18:39:31.51ID:???どうだろう。俺的にはめんどくせぇな。
いかに、2chのシステムが使いやすいってことがわかると思う。
04551
2016/09/13(火) 18:55:45.10ID:???匿名で投票が出来てしまうと、荒らし対策的に問題があるので出来ないようにしています
通報はアカウントを持っていなくても出来る用にしますが(全く関わりのない人の個人情報を書き込まれた場合などの対策の為)
投票情報を公開するかは現在検討中です
>>454
確かに面倒ですね
どう実装するか考え中です
実装したいんですが中々難しくて…
04561
2016/09/13(火) 18:59:11.27ID:???しかし、規約で禁止した所で効果があるとは思えません
そこで、複数垢を持つことによるメリットを潰して行きたいと考えています
また、カテゴリ機能はあくまでトピ検索の為の機能とし、自治はトピ単位で行うようなシステムにします
これはカテゴリの変更が可能だからと言う理由もあります
04571
2016/09/13(火) 19:04:13.21ID:???実際に動かしながらエラー処理をした方が早いと思うので
0458nobodyさん
2016/09/13(火) 19:19:00.77ID:???タイトルは修正できるようにして、トピック毎のレス数に制限を設けなくしてる
と思うんだけど、区切りつけないと人気のあるトピックだと、
レス番が10万とかいって、見た目うっとおしくなりそう。
トピックのレス数に制限設けて、新規トピック作成時に、前のトピックのIDを指定して、
結びつける手もある。
0459nobodyさん
2016/09/13(火) 19:23:46.45ID:???狭すぎじゃねぇのかな。Redditでもモデレーター集めるの大変なのに。
でも、ユーザーって管理ユーザーと一般ユーザー別れてるか知らんが。
04601
2016/09/13(火) 20:12:38.32ID:???TwitterのTLみたいに少しずつ読み込むから問題ないと思うけど
>>459
狭いかな
そこのシステムはもう少し考えてみるか
0461nobodyさん
2016/09/13(火) 20:42:06.83ID:???少しずつ読むとか全く関係ないだろ。
235342 : nobodayさん 2016/09/13(火) 20:12:38.32 ID:???
あいうえお
235343 : nobodayさん 2016/09/13(火) 20:12:38.32 ID:???
かきくけこ
2ch風に表示するとこんな感じになるんだぜ。レス番の桁数が増えすぎて、見た目うっとおしくなりそう
で、レスの仕様がどうなるのかしらんが、2chと同じ本文に埋め込むなら
>>235343
長いな・・手入力だとタイプミスしそうだぜ。
まぁ、気にしすぎかもしれんけど。気づいたから言っただけ。
04621
2016/09/13(火) 20:47:50.41ID:???表示方法は実装によるけど、公式WEBアプリではレス番の表示はしないし、>>nnnnみたいな事しなくてもよくする(PHP版と同じ実装)
あと、仕組み的に全レスでユニークの連番になるから、トピで番号振ってたら飛びまくって意味分からないことになる
0463nobodyさん
2016/09/13(火) 20:50:14.29ID:???>>452で仮にレス番が40万番台としよう。
簡単に6つのレス分>>XXXXXX入力できるか?
見る方としても6桁のレス番はパッと見、人間の限界超えてるな。
0464nobodyさん
2016/09/13(火) 20:52:46.53ID:???だって、ツリー表示みたいな事はやめるんじゃなかったけ??
時系列で表示するなら、どうやって、レス番号表示せずにリプライの関係を示す?
04651
2016/09/13(火) 20:59:34.24ID:???専ブラのポップアップ表示みたいな感じ
0466nobodyさん
2016/09/13(火) 21:11:50.95ID:CJ37alkTそれは本質的にはツリー表示と一緒だから。
で、それやると、>>449に書いたように、レスが誰にも気づかれずに埋もれるんだよ。
例えば、このスレのレス番今は400台だけど、例えば古いレス番10にリプライするよ??
そうしたときに、君の言うツリー表示だと、レス番10に相当するレスをまず遡って表示して、「返信」
ボタンを押さなきゃいけないの??
これだと誰にもレスが気づかれない可能性あるよね。
それとも、逆?、新しいリプライのレスに「返信」ボタンつけるの??
この場合は、わざわざ、ボタン押さないとリプライの関係わからないんだ?
0468nobodyさん
2016/09/13(火) 21:19:02.81ID:???ここは別にホーバーして表示でもいいし、実装次第だったね。すまん。
04691
2016/09/13(火) 21:24:48.22ID:???実物見せながらじゃないと改善難しいだろうし
0470nobodyさん
2016/09/13(火) 21:26:07.83ID:???>>462で「>>nnnn」みたいな事しなくてもよくするといってるのに、
>>467で「>>nnn」と言うボタン押しても
って結局どうする気なのかわからん。
まぁ、君の中でまとまってればいいやww
長々お手数かけました。
04731
2016/09/14(水) 23:01:17.20ID:???Userクラスも少し分離してみます
複雑すぎてAPI作るのが難しそうだったので
0474nobodyさん
2016/09/14(水) 23:09:11.60ID:???04751
2016/09/14(水) 23:14:26.86ID:???04761
2016/09/14(水) 23:44:36.65ID:???API作るか
0477nobodyさん
2016/09/15(木) 01:01:52.06ID:???04781
2016/09/15(木) 01:36:10.83ID:???明日からapi始める
0479nobodyさん
2016/09/15(木) 14:01:33.56ID:???アクセスするから、1GBってどうなんだろう。
だから、さくらの更に上位のプランは高いから他がいいのかもな。
0480nobodyさん
2016/09/15(木) 14:11:15.58ID:0CclNGS2全員がサーバー相当する必要はなく、http://2chat.net/へアクセスしたら
ポート解放して読み書き可能なサーバー相当のPCへつなぐ。
0481nobodyさん
2016/09/15(木) 14:36:15.91ID:???04821
2016/09/15(木) 17:33:36.38ID:???2GB借りる予定
1GBは足りなくなるってどこかで見た
さくらが大手らしいから一応さくらにしようと考えているけど
>>480
P2Pは仕組みよく分からないから今回はなしで
>>481
さくらってプラン変更するのに解約→再契約がいるんだよね?
でも有名サイトも結構さくら多いからな…
04831
2016/09/15(木) 17:38:21.18ID:???0484nobodyさん
2016/09/15(木) 17:56:23.33ID:???あ、2GBで1700円か。勘違いしてた。1GBが1700円と思ってた。
>さくらってプラン変更するのに解約→再契約がいるんだよね?
プラン変更はわからんけど、スケールアップしなくても、新しいプランを契約して、
2つのサーバーをローカルネットで連携させて、スケールアウト見たいな事は
できるんじゃね??WebサーバーとDBのサーバーの2つ仮想サーバーに分けるとか。
0485nobodyさん
2016/09/15(木) 17:59:56.73ID:???(Webサーバー+DBサーバー)とDBサーバーで、DBは分散させてこうかな?
適当。
04861
2016/09/15(木) 18:17:36.93ID:???そんな金ない
04871
2016/09/15(木) 18:22:47.38ID:???04881
2016/09/15(木) 18:23:40.75ID:???0489nobodyさん
2016/09/15(木) 18:27:37.11ID:???2つ借りる状態になるってことはアクセス数増えてくるわけだから、
その間に広告とか貼ってマネタイズするとかそういう計画はないんだ。
そうしてアクセス数の増加とともに広告で金稼いで、サーバー代捻出して
ステップアップしていくと普通に思ってわ。
04901
2016/09/15(木) 18:30:00.02ID:???広告は色々心配があって…
アドセンスとか規約厳しいみたいだし、書き込み内容が酷いとBANされないかなと
アマゾンとかは大丈夫なのだろうか
0491nobodyさん
2016/09/15(木) 18:34:20.53ID:???04921
2016/09/15(木) 18:37:35.26ID:???Googleはアウトらしいけど、他なら大丈夫な所あるかも
04931
2016/09/15(木) 18:41:30.17ID:???ggってみたら審査も緩いらしいし、ここならいけるかも(Googleで落ちた人が使っているらしい)
04941
2016/09/15(木) 18:47:25.42ID:???imgurAPIを利用します
0495nobodyさん
2016/09/15(木) 20:20:39.67ID:???レスの本文に何を許すのか。本文に(Markdownとかによる)HTML入力を許すのか。
それとも、単にPlainなテキストのみ許可するのか・・・
HTML入力許すとブラウザで表示する場合はいいけど、クライアントアプリでの
表示が大変になる・・
04961
2016/09/15(木) 20:24:21.14ID:???クライアントアプリはあまり考えていない。もし作るならElectronとか使ってする
0497nobodyさん
2016/09/15(木) 20:36:32.49ID:???まぁ、そこらへんはすべてのHTMLタグに対応しなくて(できるわけもないし)、
表とかはきつそうだけど、基本的なタグだけ対応すれば、まぁ、でもユーザーが
やりすぎるとブラウザでの表示とクライアントアプリでの表示がかい離しすぎちゃうけど。
04981
2016/09/15(木) 20:43:11.45ID:???WEBブラウザからだと問題ある?
WEBアプリはスマホ対応するけど
あと今調べたらElectronみたいなCordovaって言うのがあるらしい
04991
2016/09/15(木) 20:58:47.06ID:???凄い有能だと思っていたけど流石Google
0500nobodyさん
2016/09/15(木) 21:02:47.89ID:???もちろんWebアプリで可能だと思うし。まぁ、デメリットはブラウザ(JavaScript)で動く分、多少重くなるだろうが。
最低、スレをお気に入りに登録して新着チェックを簡単にできるようにそれぐらいは必要でしょう。
このスレだって、途中で>>1がいなくなって戻ってきたけど、このスレをお気に入りに登録して、
新着チェックできるからこそ、>>1が戻ってきた事に気づけたわけだし。
まぁ、でもスマホとかじゃ2chmateなど専用ブラウザから見てる人圧倒的なんじゃないかな。
2chのスマホ向けのWebページがしょぼすぎて低機能なのもあるけど。
05011
2016/09/15(木) 21:13:55.41ID:???お気に入り機能とか使ったことなかった…
タブ170件以上開いて新着チェックしてた
まあそれは置いておいて、
2chmateは使ったことない(IOSだから)よく分からないが、多分専ブラの機能なら大変だろうけどWEBで実装出来ると思う
専ブラ作るのが大変なのはネイティブでも変わらないし
2chは本当WEBページゴミだよな…多分ajaxとかSPAとかが流行ってなかった事に出来たからだと思うけど
05021
2016/09/15(木) 23:14:57.05ID:???とりあえずPushしました
05031
2016/09/15(木) 23:16:36.60ID:???05041
2016/09/15(木) 23:18:34.33ID:???テストコード1回も書いたことないから何すればいいか分からん。。。
05051
2016/09/15(木) 23:31:09.21ID:???05061
2016/09/15(木) 23:54:14.47ID:???0507nobodyさん
2016/09/16(金) 16:54:03.11ID:???コード補完がまともに動かなったり、->の代わりに.をくせでスペルミスしたりで動かなったり効率悪すぎ。
いちいち、メソッド名忘れると、Webで検索してるわ。
開発環境が悪いのかなぁ・・
Windows上のVisual Studio Codeで作って、仮想マシン上のLinuxにデプロイ・実行してるんだけど。
ということで、.NET Core + ASP.NET Coreに移行中。
とりあえず、開発環境と実行環境分けるとあんまいい感じじゃなさそうなので、
Linux上のVisual Studio Codeでやるわ・・
■ このスレッドは過去ログ倉庫に格納されています