【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も提供
ユーザーはサブパスワードを作る事で、悪意を持った外部サービス管理人によるアカウントの乗っ取りを防ぐ事が出来る
開いているスレなども外部サービス間で同期可能
0574nobodyさん
2016/09/17(土) 20:53:57.80ID:???05751
2016/09/17(土) 21:08:17.79ID:???05761
2016/09/17(土) 21:22:09.76ID:???これは分ける必要なさそう
0577nobodyさん
2016/09/17(土) 21:22:16.27ID:???どっちかしない。開発者にとっては、完成させれなくても勉強になるけど。
だから、進んでても最終的に完成するかしないかが問題。
0578nobodyさん
2016/09/17(土) 21:30:42.88ID:???05801
2016/09/17(土) 21:36:54.23ID:???200 成功
401 認証が必要/認証エラー
403 リクエストの送りすぎ(書き込み間隔が短い)
404 見つからない(スレなど)
409 既に存在する(スクリーンネームなど)
421 リクエストがおかしい(パラメータが足りない、数値に変換出来ない、文字列が正規表現に一致しない、長すぎる)
500 鯖内部でエラー
05811
2016/09/17(土) 21:39:51.01ID:???トピック検索APIで見つからなかったら成功+空の配列を返している
つまり単取得系と多取得系の違い
これってどっちもエラー返すべきだろうか…
0582nobodyさん
2016/09/17(土) 21:49:02.01ID:???昨日も書いたけど、すごい水平展開に開発していくな。
https://tools.ietf.org/html/rfc7231
には421のってないな。
まぁ、そんな感じでいいんじゃないかな。
細かいところはAPIによってもマチマチだし。
05841
2016/09/17(土) 21:51:08.71ID:???421 Misdirected Request (RFC 7540)
誤ったリクエスト。
05851
2016/09/17(土) 21:52:45.98ID:???05861
2016/09/17(土) 21:54:03.23ID:???詳細教えたら危険だろうし
0587nobodyさん
2016/09/17(土) 22:00:42.38ID:???でないと、また、大幅な手戻り発生しそう。
クラスの依存関係で無理って言ったけど、そんなの当たり前。
だから、そこらへんは適当に動くようにつくればいいだけ。後で修正すればいいんだから。
>>544の人もアドバイスしてくれてるのに。
05881
2016/09/17(土) 22:02:21.52ID:???なら適当にAPI作って動かしてみる
0589nobodyさん
2016/09/17(土) 22:10:38.89ID:???君みたいなやり方してないぞww
初めての作業で全体像見えないまま、クラス設計なんてしようがないし。
だから、とりあえず、1,2つだけモデルクラスを作って、それで次はすぐにWeb APIの方作って、
実際にブラウザからアクセスさせてる。
それで、作り方に問題なさそうって確認してから、おおざっぱに全体の設計を
把握してから残りモデルクラスの作業に取り掛かってる。
0590nobodyさん
2016/09/17(土) 22:24:28.58ID:???ぼくのかんがえたさいこうの設計目指さなければ
0591nobodyさん
2016/09/17(土) 22:27:06.02ID:???0592nobodyさん
2016/09/17(土) 22:29:55.08ID:???5,6ぐらいしかないし。
0593nobodyさん
2016/09/17(土) 22:33:27.35ID:???タイプミスとかでエラー、メソッド名もまだ覚えてないから補完したいのにで
出なくていちいちブラウザで調べたりしてブチキレで。ASP.NET Coreの方に移行中だけど。
05941
2016/09/17(土) 22:36:38.04ID:???もしかしてここって職業プログラマ多い?
0595nobodyさん
2016/09/17(土) 22:44:10.09ID:nfgV7g+hかかるんだからしょうがないよ。
でも、なれればテーブル数も5,6ぐらいで小機能だし、5日ぐらいで実装できると思う。
俺はまだサーバーサイドは素人だから慣れが必要だけど。
でも、クライアントサイドやってきた経験から言うと、慣れれば機能的には5日くらいあれば実装できるとは思ってた。
サービスの仕様とか考える時間とかは別問題だから抜かしてね。
単純に実装する時間だけの話ね。
0596nobodyさん
2016/09/17(土) 22:44:38.69ID:???05971
2016/09/17(土) 22:50:52.40ID:???俺の中では今まで作ったWEBアプリで一番大きいのに…
05981
2016/09/17(土) 23:02:38.97ID:???0599nobodyさん
2016/09/17(土) 23:02:41.15ID:???業務だとテーブルだけでも何十、何百って数あるんだから。
で、それらのテーブルを複数結合したり、バッチで何十のテーブルを見て更新かけたり。
だからテーブル数5,6って学生の宿題用(テーブル数2,3?)に毛が生えたぐらいの規模だと。
2chだってもともと小機能なんだし。ただ、小機能とはいえユーザー数は
圧倒的だから。そこらへんはまた単純に作るだけじゃなく別のノウハウが必要だと思う。
06001
2016/09/17(土) 23:07:40.52ID:???テーブルが何百って…そんなにあるのか
2chは単純だからな。ユーザーが多い以外に良い所がない気もするけど、掲示板だとユーザーの数が最大のメリットになるし
専門学校とか大学の工業科ってこういうの作ったりするの?こういう系の仕事するなら工業科進んだ方がいいかな
06011
2016/09/17(土) 23:09:46.74ID:???gzipの存在知らなくて転送量で死に掛けた時期があったらしいし、技術と言うより単純な仕組みだから負荷少ないのだろうか
06021
2016/09/17(土) 23:12:09.04ID:???csv→xmlの簡単な変換器作った方が早そう
0603nobodyさん
2016/09/17(土) 23:22:30.64ID:???/api/v1/ここどうするの?
06051
2016/09/17(土) 23:26:23.63ID:???/api/http/topic/write/
みたいな
0606nobodyさん
2016/09/17(土) 23:30:10.83ID:???必要な情報は全部、クエリ文字列で渡すんでしょ?
0608nobodyさん
2016/09/17(土) 23:47:54.31ID:???RPC的なTwitter APIぽくしてるってことね。
了解。
06091
2016/09/17(土) 23:51:34.62ID:???直接触った事はなくても、4j使って触った事はあるから他のに比べたら分かるし
06101
2016/09/18(日) 00:00:21.08ID:???オープンオフィスでAPIリスト作れば自動で変換してくれる
06111
2016/09/18(日) 00:26:10.28ID:???0612nobodyさん
2016/09/18(日) 11:59:41.41ID:???まあAppServer無くてもjarは動かせるが
06131
2016/09/18(日) 12:12:33.89ID:???別にクラスパス間違っている訳じゃないし
0614nobodyさん
2016/09/18(日) 13:20:47.67ID:???まあ色々ややこしいとこはあるかなあ
06151
2016/09/18(日) 13:24:53.37ID:???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]
0616nobodyさん
2016/09/18(日) 15:15:31.08ID:???それからじゃな。
0617nobodyさん
2016/09/18(日) 15:18:58.45ID:???06181
2016/09/18(日) 15:24:07.23ID:???0619nobodyさん
2016/09/18(日) 15:32:43.63ID:???サーブレットって引数なしのコンストラクタ以外のコンストラクタって
定義できる??。俺はそれが気になるわ。>>514に書いたけど。
06201
2016/09/18(日) 15:36:34.74ID:???HttpApiBaseは親クラスだから関係ないと思ってたんだけど違う?
web.xmlに書いているクラスは全て引数無しのコンストラクタ
0621nobodyさん
2016/09/18(日) 15:42:16.46ID:???子クラスでコンストラクタの宣言ないとデフォルトの引数なしの
コンストラクタが宣言されたことになるんだっけ???
Scalaが?
そんだったら問題ないね。すまん。
0623nobodyさん
2016/09/18(日) 15:50:08.08ID:???追加されるのは、親クラスに引数がないコンストラクタがある場合じゃなかったけ??
親クラスに引数があるコンストラクタがある場合、
子クラスで勝手に引数なしのコンストラクタ追加しようがないじゃん。
親クラスのコンストラクタに渡す引数が不明なんだから。
06241
2016/09/18(日) 15:56:25.13ID:???あーそういう事か
scalaはクラス宣言がそのままデフォルトコンストラクタになって、括弧も省略できるから
class Hoge extends Base(1)
は
public class Hoge extends Base{
public Hoge(){
super(1);
}
}
と同じ
06261
2016/09/18(日) 16:02:17.93ID:???中括弧で囲むと複式になったり…
そこらへんは考え方の違いと言うか…
06271
2016/09/18(日) 16:03:14.83ID:???06281
2016/09/18(日) 16:12:12.19ID:???一回消して入れなおすしかないのだろうか
Neonにバージョンアップもしたいし
06291
2016/09/18(日) 16:44:08.77ID:???ゴミばっかり
0630nobodyさん
2016/09/18(日) 17:37:47.11ID:???06311
2016/09/18(日) 18:42:08.09ID:???謎すぎる
06321
2016/09/18(日) 18:52:05.40ID:???06331
2016/09/18(日) 19:46:44.95ID:???他のクラス作ってしてみたら出来た…
何故だ
0634nobodyさん
2016/09/18(日) 20:38:28.79ID:???HttpServletBaseどんどん動くとこまでコード削ってて、原因突き止める?
一度にすべてのバグの嵐に見舞われるわけだし。
0635nobodyさん
2016/09/18(日) 20:42:54.10ID:???自分がちょっと前に追加したコードが原因だろうから範囲が狭くて見つけやすいけど。
完成するまで全く実行・デバッグしないでつくる->いざ、実行時に1度に大量のバグに見舞われる。
手に負えなくなるよ。
06361
2016/09/18(日) 21:11:07.29ID:???原因が全く分からないし
昨日の夜から全く原因が分からん
06371
2016/09/18(日) 21:21:46.42ID:???06381
2016/09/18(日) 21:28:29.48ID:???06391
2016/09/18(日) 21:49:30.66ID:???ここ調べた方がよさそう
0640nobodyさん
2016/09/18(日) 22:12:21.92ID:???06411
2016/09/18(日) 22:14:45.70ID:???06421
2016/09/18(日) 22:28:22.44ID:???0643nobodyさん
2016/09/19(月) 10:06:23.73ID:???もしかしてGitHubからもってくればこっちで再現できたりする?
06441
2016/09/19(月) 10:40:42.90ID:???今Pushしたから多分再現できる
環境が悪いのか、バグなのか分からないから動かしてくれると助かる
他にも色々バグありそうだけど、とりあえずTomcatの起動したい
06451
2016/09/19(月) 10:50:06.29ID:???06461
2016/09/19(月) 10:53:42.41ID:???}
class Test extends TestBase(HttpMethod.GET,TokenFlag.UNNECESSARY,List(),List()){
}
だとエラー
abstract class TestBase() extends HttpServlet {
}
class Test extends TestBase(){
}
だと動く
06471
2016/09/19(月) 10:59:55.64ID:???}
class Test extends TestBase(List()){
}
だとエラー
abstract class TestBase(private val i:Int) extends HttpServlet {
}
class Test extends TestBase(1){
}
だと動く
06481
2016/09/19(月) 11:02:26.71ID:???}
class Test extends TestBase(Map.empty){
}
だと動く
06491
2016/09/19(月) 11:05:08.84ID:???List()…エラー
06501
2016/09/19(月) 11:05:58.97ID:???使えないじゃん
06511
2016/09/19(月) 11:06:50.06ID:???List.apply(1)
でも駄目
06521
2016/09/19(月) 11:07:52.96ID:???謎でしかない
06531
2016/09/19(月) 11:22:55.46ID:???0654nobodyさん
2016/09/19(月) 14:23:01.82ID:???06551
2016/09/19(月) 14:25:33.39ID:???https://teratail.com/questions/48511
06561
2016/09/19(月) 14:47:02.51ID:???06571
2016/09/19(月) 14:54:59.36ID:???06581
2016/09/19(月) 14:57:27.83ID:???06591
2016/09/19(月) 15:00:23.57ID:???06601
2016/09/19(月) 15:18:55.33ID:???06611
2016/09/19(月) 16:03:55.92ID:???0662nobodyさん
2016/09/19(月) 16:43:56.86ID:???こういう系のスレでちゃんと進んでるっぽいのは珍しいなw
06641
2016/09/19(月) 16:50:34.98ID:???やっとサーバーサイド終わったと思ったらTomcatが動かないとか悲しすぎる
06651
2016/09/19(月) 16:51:46.20ID:???06661
2016/09/19(月) 16:53:27.56ID:???0667nobodyさん
2016/09/19(月) 16:56:08.96ID:???短くかけるってことは、裏で前提として覚える事がいっぱいあるから短くかけるんでって、
そんなのすぐれた言語とは思わん。
何事もバランス。そこそこ短くかけて、前提となる覚える事も少なくてみんな理解しやすい。
これで十分だわ。
0669nobodyさん
2016/09/19(月) 17:01:43.62ID:???Scalaは言語とコレクションのクラスライブラリぐらい?独自に提供してるの?
Web部分はJavaのライブラリに依存してるだろ。
0671nobodyさん
2016/09/19(月) 17:19:14.16ID:???趣味プロジェクトでモチベは最大の敵だからなw
06721
2016/09/19(月) 17:21:08.72ID:???これ多分Tomcatのバグだわ
Tomcat8にする
■ このスレッドは過去ログ倉庫に格納されています