トップページ⇒php
1002コメント237KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2016/04/23(土) 13:45:28.79ID:???
【2chatとは】
掲示板とチャットを組み合わせたオープンソースのPHPスクリプトです。
名前の由来は2ch+chat

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

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

*API
誰でも使えるAPIを提供(jsonp対応)
2ch互換のAPIも提供
ユーザーはサブパスワードを作る事で、悪意を持った外部サービス管理人によるアカウントの乗っ取りを防ぐ事が出来る
開いているスレなども外部サービス間で同期可能
033112016/09/01(木) 20:36:09.48ID:???
じゃあスケジュールだけでも作るか
033212016/09/01(木) 21:34:15.95ID:???
予定
https://github.com/kgtkr/nch/milestones
033312016/09/01(木) 21:43:11.59ID:???
今日から9月だから9/30までにサーバーサイド終わらせよう
0334nobodyさん2016/09/02(金) 01:33:57.49ID:???
こういうガワだけアピールして結局何にも完成出来ない人間腐る程見て来たから是非頑張ってほしい
口だけじゃなくて
0335nobodyさん2016/09/02(金) 02:40:46.70ID:???
>>323
まず初めに、簡単なチャット機能を作ってみましょうって、言語の本に、よく載っている。
それをコピペすればいいだけ

君は本を読んだことがあるのか?
033612016/09/02(金) 07:48:46.29ID:???
>>334
完成させる気はあるんだけどやっぱり周りから見たらそう見えるよな
頑張るわ

>>335
java本は読んだ事あるけどサーブレットはない
今持ってるのは、java2冊とUnity一冊
033712016/09/02(金) 16:29:06.20ID:???
ThreadをTopicに名前変更(java.lang.Threadと被って面倒なので)
ついでにResponseをResに変更。こっちは単純に短くしたかった
033812016/09/03(土) 00:02:23.49ID:???
・トリップ機能は実装しない予定
代わりに無制限に作れるプロフィール機能を作る

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

※以下は今後使う事になる可能性があるので念のため白図形への置き換えを行う
▲△
▼▽
◆◇
??
??
??
??
033912016/09/03(土) 00:03:17.11ID:???
文字化け修正

♠♤
♣♧
♥♡
♦♢
034012016/09/03(土) 00:03:58.56ID:???
ここUnicode未対応鯖か
下4組はトランプ記号です
034112016/09/03(土) 00:13:36.52ID:???
トランプ記号はやっぱりなしで
034212016/09/03(土) 00:27:00.07ID:???
読みやすいコードをパフォーマンスの両立って難しいな
実際に測定した訳ではないけど読みやすさを意識するとDBアクセスがかなり増える
034312016/09/04(日) 14:57:21.86ID:???
javaの1ファイル1クラス制限はenumとか例外とかでかなり面倒
enumも例外も短くて済むから制限しなくてもいいのに
0344nobodyさん2016/09/04(日) 15:21:26.77ID:???
Javaで一番うざいのは、ソースファイルを簡単にフォルダ分けできないのがうざい・・
パッケージ名の階層がフォルダ階層する慣習?がうざいったらありゃしない。
.NETだと、Visual Studioで簡単にソリューションエクスプローラでフォルダ作れば、
自由自在だが。
034512016/09/04(日) 15:25:04.13ID:???
>>344
これもある
名前空間にするほどじゃないけどソース分けたい事とかあるし
コンパイル後のclassファイルだけ1ファイル1クラス、名前空間=フォルダ構造にすれば実行時も困らないだろうに
0346nobodyさん2016/09/04(日) 15:34:52.79ID:???
だな。コンパイル後は、名前空間=フォルダ構造で勝手にしてくれればいいが、
ソースファイルまでそんな扱いにする慣習がうざい。
慣習だから勝手にEclipseとかAndroid Studioがやってるだけで、
ビルド構成をいじくれば、自由自在にできんだけど、めんどくせぇわ。
034712016/09/04(日) 15:39:23.40ID:???
あとチェック例外も
とりあえず作って最後に例外処理したい時とかも、大量の赤ビックリが目障り
0348nobodyさん2016/09/04(日) 15:53:47.02ID:???
ああ。チェック例外か。チェック例外の良し悪しはまだ断定できんな俺。
でも、結構チェック例外いいかもと思ってる。
034912016/09/04(日) 16:00:01.44ID:???
確かに便利な事もある(ドキュメントの例外部分を見落としていた時に教えてくれたり)けど、、
オプションで指定みたいな事は出来ないのだろうか
035012016/09/04(日) 16:21:54.84ID:???
timeAPIが結構便利そう
035112016/09/04(日) 17:26:15.41ID:???
2chって一ヶ月に7000万くらいレスあるのか
035212016/09/04(日) 17:30:30.15ID:???
Twitterは2ch軽く越えてた
035312016/09/04(日) 20:34:53.79ID:???
とりあえずpushした
035412016/09/04(日) 20:36:08.51ID:???
Repositoryパターンが分かって気がする
035512016/09/04(日) 22:10:52.35ID:???
運営はルール違反には関わっても、マナー違反には関わるべきではないと言うのが個人的な考えだから、不愉快な書き込みには低評価をするシステムは取り入れる
違法な内容とか規約違反とかは通報フォームで済ませるけど
035612016/09/04(日) 22:36:32.46ID:???
DMも実装します
035712016/09/04(日) 22:46:52.57ID:???
・メモ
DMのホワイトリストorブラックリストモードはクライアントで実装出来るのでサーバーサイドでは実装しない
なるべくサーバーサイドは小さくする
035812016/09/04(日) 23:07:43.24ID:???
うわっ
APIリストマークダウンで作ったら文字コードが英語専用になってたからデータ吹っ飛んだ
MarkDown#Editorって奴htmlだとutf-8で出力出来るのにmdだと出来ないんだけど
035912016/09/04(日) 23:50:36.87ID:???
実装が必要な機能を整理する為にまとめました
https://github.com/kgtkr/nch/blob/master/api.md
0360nobodyさん2016/09/05(月) 00:16:09.63ID:???
今更だけど、まず1が2ちゃんねるについて理解してるのかが謎なんだよな
0361nobodyさん2016/09/05(月) 09:09:40.30ID:???
そこは別にどうでもいいし、なんとでもなるでしょ
036212016/09/05(月) 15:53:24.15ID:???
「2chについて理解」って例えばどんな事ですか?
ソースを読んだ事はありませんが(perlが分からないので)
036312016/09/05(月) 16:31:50.70ID:???
何かSQLの基本が理解出来ていない気がする
プログラミング言語の感覚だと全く理解できないし
0364nobodyさん2016/09/05(月) 18:27:46.72ID:???
.NETやってたんならLINQ使ってただろ?
036512016/09/05(月) 18:31:51.03ID:???
>>364
javaの方がいいと言われたのでjavaにしました
本当はリンク使いたいですが…
036612016/09/05(月) 18:43:45.84ID:???
あっ読み間違えた

.NETでDBを使ったことはなく、LINQはこれから勉強しようと思っていた所なのでまだ使った事はありません
0367nobodyさん2016/09/05(月) 18:51:49.35ID:???
そっか。基本的な操作ぐらいはすぐ覚えれるだろう。
まぁ、ものにするには、慣れるしかないけど。
俺は昔にOracle(SQL)を触りまくって覚えて、最近、全然データベース触ってないけど、
触りまくったらからなんとか今でもサクッと書ける。そりゃ細かい構文は忘れるけど。
036812016/09/05(月) 18:56:14.95ID:???
本当に基本的な物なら分かるんですが、少し複雑な事をしようとするとどうすればいいか分からなくなるんですよね
入門サイト見ても追加、更新、削除、検索の基本くらいしか載っていないので…
036912016/09/05(月) 18:58:20.34ID:???
Query外部ファイル化面倒だし、だからと言って一行に書くわけにもいかない
メソッドチェーンで文字列を作っていって、toString()でQuery文字列に変換みたいな事出来ないだろうか
037012016/09/05(月) 19:05:59.31ID:???
stream-apiって言うのがjavaにあるらしいがSQLで使う事出来ないのか?
ggっても出てこないんだけど
037112016/09/05(月) 23:03:06.58ID:???
SQL文ってやっぱり外部ファイル化した方がいい?
0372nobodyさん2016/09/05(月) 23:38:28.62ID:???
いや、さすがにそれはしないな・・
0373nobodyさん2016/09/05(月) 23:40:30.37ID:???
ユーザーが変更できるようにそういう目的があるならしてもいいかもしれんが、
SQL分を埋め込まなきゃいけないのは宿命。もしくは、
ORMに逃げる。
0374nobodyさん2016/09/05(月) 23:41:44.09ID:???
というか、そういうクソSQLというかデータへのアクセスを1か所にまとめるために、なんとかパターンとかあるわけで。
リポジトリパターンもそんな感じじゃねぇのかな?
037512016/09/05(月) 23:46:37.63ID:???
別に変更の必要はないんだけど、javaだと1行で書くか、複数行を頑張って書くかしか選択肢ないのが辛い
037612016/09/05(月) 23:48:35.26ID:???
こうやって行ごとに+演算子とリテアル書かないといけないからかなり読みにくいんだよな

"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;"
0377nobodyさん2016/09/05(月) 23:53:43.48ID:???
それは、がんばってインデント揃えてスペース入れたりして見やすくするしかないような。
ヒアドキュメントみたいのないんじゃねぇかな。
037812016/09/05(月) 23:55:34.34ID:???
複数行文字列プラグインが消えたのがな…
https://fushihara.org/blog/archives/1657

自作出来ないかな
0379nobodyさん2016/09/06(火) 00:08:45.20ID:???
EclipseのJavaのデフォルトのフォーマッタが邪魔するかもしれんが、
俺は+を後ろにおいて揃えるな。
" CREATE TABLE topic( " +
"  id int NOT NULL PRIMARY KEY AUTO_INCREMENT, " +
"  title text NOT NULL,"
038012016/09/06(火) 00:56:17.95ID:???
>>379
後ろの方が見やすいのかな
前までは後ろ派だったけど前の方が良いって聞いたから前に書くようにしたんだけど…


これさえインストール出来ればいいんだが…
installボタンないからアカウント作ればいいのかと思って作ったけど出てこない
もしかして完全に消えた?何故
https://marketplace.eclipse.org/content/java-multi-line-string-editor
038112016/09/06(火) 22:52:05.68ID:???
ヒアドキュメントを出来るプラグイン探していたら2日潰れた
本当java嫌い
038212016/09/06(火) 23:23:10.96ID:???
仕方ない…とりあえずこのまま頑張るか
038312016/09/06(火) 23:26:54.82ID:???
コピーしたらIDEがエスケープしてくれる機能使って、

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

これなら少しはマシになりそう
雑だけどしばらくはこれで代用するか
ここでプラグイン探したりしていたらモチベ死ぬ自信しかないし
038412016/09/08(木) 17:49:49.04ID:???
TwitterってjavaじゃなくてScalaだったのか
038512016/09/08(木) 20:20:13.73ID:???
3日でScalaに移植しよう
基本クラスの作成は11日までだから間に合うはず
0386nobodyさん2016/09/08(木) 20:23:29.33ID:???
なんかブレブレだけど大丈夫か
038712016/09/08(木) 20:47:43.55ID:???
全然大丈夫じゃない
038812016/09/08(木) 20:49:02.98ID:???
Twitterはjavaで出来ていると思っていたけど、Scalaだと言う事を知ってScalaの方がいいのかなと思って
JVMは好きだけどjavaは嫌いだからScala覚えた方がいいのかなと
038912016/09/08(木) 20:58:31.43ID:???
何かかなり複雑な言語っぽいな
使いこなせたら強力な武器になりそうだけど
0390nobodyさん2016/09/08(木) 21:08:27.74ID:???
目的見失いすぎワロタ
039112016/09/08(木) 21:12:13.43ID:???
javaerがScalaerに3日でなれるのだろうか
039212016/09/08(木) 21:21:52.20ID:???
Scara入れたらエクリプスが異常に重くなった
0393nobodyさん2016/09/08(木) 22:06:08.52ID:???
5ヵ月目で出来たものは結局20年前からある会員制BBSの劣化β版か…
一生完成しないパターンだから見限るわ
0394nobodyさん2016/09/08(木) 22:06:42.58ID:???
典型的な完璧主義者だな。
度を超すと、物事完成させれなくなるよ。
シューティングゲームの方は完璧主義がたたって壁にぶつかったんじゃないの??
それでこっち逃げてきたとか。
039512016/09/08(木) 22:07:24.97ID:???
STGはそんなにぶれていない
こっちはブレブレだけど
039612016/09/08(木) 22:12:01.54ID:???
もう5ヵ月か…
PHP→javaよりはjavq→Scalaの方が楽だろうけど
039712016/09/08(木) 23:00:15.26ID:???
思ってたよりjava→scalaの移植簡単だ
039812016/09/08(木) 23:11:20.13ID:???
Scalaらしさとか追及していたら時間掛かりすぎてモチベ死ぬだろうから、そういうのは全く考えずにとりあえず移植する
0399nobodyさん2016/09/09(金) 13:43:10.78ID:???
>>394
作り方に拘って完成に辿り着けないタイプだよね
Twitterのブランド力に影響されてるところからミーハーでもあるけど
ここで「GoogleはPythonを使っているらしい」と指摘したらまた言語を変えて作り始めそう
040012016/09/09(金) 17:36:59.04ID:???
動的言語は苦手だからそれはないと思う
0401nobodyさん2016/09/09(金) 18:54:09.26ID:???
動的言語が苦手ならなぜPHPで作り始めたのか
JavaScriptも苦手っぽいけど、今時静的言語だけで頑張るのは厳しい
0402nobodyさん2016/09/09(金) 18:58:04.81ID:???
Pythonが動的言語かいなかをいいたいんじゃなくて、あくまでPythonは例で、
君の性格について言及するに引き合いにだしただけなのに、
動的言語は苦手だからとか見当はずれなレスして読解力もないのか・・
040312016/09/09(金) 19:00:04.29ID:???
最初からPHPとjavaには不満あったけど、Scalaは結構合いそうだからこのまま進める
0404nobodyさん2016/09/09(金) 19:01:41.17ID:???
Scalaは趣味ではいいけど、仕事の求人数的には役立たずじゃね。
040512016/09/09(金) 19:29:45.30ID:???
>>404
これ趣味だし、好きな言語使いたい
これから普及する可能性もあるし
040612016/09/09(金) 19:31:06.21ID:???
PHPが動的言語と静的言語のデメリットをとった言語なら、Scalaは両方のメリットをとった言語だと思う
0407nobodyさん2016/09/09(金) 23:15:11.36ID:???
javaの上でscala動かすの?
0408nobodyさん2016/09/09(金) 23:20:55.70ID:???
あ?PHPバカにすんなよ
040912016/09/09(金) 23:35:12.40ID:???
>>407
.NET Framework上で動く言語にC#とかVB.NETがあるのと同じで、
JVM上で動く言語にjavaとかScalaがある
0410nobodyさん2016/09/09(金) 23:51:36.80ID:???
疑問が二つ。
このスレに書き込むかは正直どうでもいいのでちゃんと開発し続けているのか
1についていく人間が果たしてどれだけ居るのか
041112016/09/09(金) 23:53:26.31ID:???
今の状態ではついてくる人がいないのは分かっている
ただ開発は続いている
0412nobodyさん2016/09/09(金) 23:54:22.68ID:???
静的型付け言語を
041312016/09/10(土) 00:31:58.25ID:???
明日頑張れば移植終わりそう
TODOは明日までにクラス作って、明後日からDBだから予定変更いらないかも
これ異常予定変更したくないし
041412016/09/10(土) 10:32:12.31ID:???
ソース半分以下になったりするからかなり便利
041512016/09/10(土) 13:50:28.68ID:???
移植完了
041612016/09/10(土) 13:50:52.92ID:???
間に合ったので予定変更せずに進めます
0417nobodyさん2016/09/10(土) 14:41:15.95ID:???
1の予定ではいつ完成するのだろうか
041812016/09/10(土) 16:09:33.38ID:???
>>417
https://github.com/kgtkr/nch/blob/master/todo.md
041912016/09/10(土) 16:09:52.20ID:???
今日までと思っていたら明日までだった
0420nobodyさん2016/09/10(土) 18:27:08.85ID:???
>>418
サーバのToDoしかないようだが…
全て完成するのはいつ?
042112016/09/10(土) 18:51:52.86ID:???
>>420
クライアント側はまだ仕様がしっかり決まってないから分からない
APIの薄いラッパーは1週間くらい
クライアントアプリはサーバーより時間掛かるかも
0422nobodyさん2016/09/11(日) 15:34:42.06ID:???
APIの仕様出たらオレもクライアントアプリ作るよ、ブラウザ使わないやつ
042312016/09/11(日) 17:38:08.69ID:???
>>422
安定して来たらAPIの仕様はドキュメント化します
ドキュメント化する前も一応使えますが、仕様が大幅に変わる可能性もあります
042412016/09/11(日) 17:40:09.81ID:???
ResRepositoryとTopicHistoryRepositoryが終わりました
Scalaの開発効率凄い
0425nobodyさん2016/09/11(日) 17:59:23.75ID:???
まだ、サーバー公開してるわけじゃにし、外部の者が
開発はめんどくさいだろ。
042612016/09/11(日) 18:08:35.24ID:???
サーバーはさくらのVPS借りる予定です
ドメインは一個とってサブドメインにします
042712016/09/11(日) 18:10:40.90ID:???
まだ鯖どころか、スクリプトも完成していないのでクライアント開発は無理ですね
042812016/09/11(日) 18:22:24.69ID:???
2Gプランが1700円くらいか
広告貼って月1000円くらい入ればいいんだが…1700円全額は確実に金なくなる
VIPみたいな書き込みが多くなると、Googleアドセンスは確実にBANされるだろうしどうしようかな
0429nobodyさん2016/09/11(日) 18:38:25.71ID:???
PHPなら無料レンサバで様子みながら、ユーザーが増えて成功しそうなら、
有料に移行できるのになww
まぁ、最初から金を払わざるを得なくて君の本気度が試される。
無料のVPSとかあるのか知らんが。
0430nobodyさん2016/09/11(日) 18:42:13.11ID:???
もう、明日にでもさくらのVPSだかしらんがどこでもいいから契約しろって。
で、自分を窮地に追い込めば、モチベーションも長続きするんじゃね??
■ このスレッドは過去ログ倉庫に格納されています