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

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

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

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

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

*API
誰でも使えるAPIを提供(jsonp対応)
2ch互換のAPIも提供
ユーザーはサブパスワードを作る事で、悪意を持った外部サービス管理人によるアカウントの乗っ取りを防ぐ事が出来る
開いているスレなども外部サービス間で同期可能
062412016/09/18(日) 15:56:25.13ID:???
>>623
あーそういう事か
scalaはクラス宣言がそのままデフォルトコンストラクタになって、括弧も省略できるから

class Hoge extends Base(1)

public class Hoge extends Base{
  public Hoge(){
    super(1);
  }
}
と同じ
0625nobodyさん2016/09/18(日) 15:59:54.36ID:???
>>624
そういうことか。なるほど。
>>516の説明じゃちょっと納得できなかったから。
お手数かけました。
062612016/09/18(日) 16:02:17.93ID:???
あとはifとかtry-catchが式だったり
中括弧で囲むと複式になったり…
そこらへんは考え方の違いと言うか…
062712016/09/18(日) 16:03:14.83ID:???
まだScala触り始めて10日だけど
062812016/09/18(日) 16:12:12.19ID:???
TomCatが起動しない原因が全く分からない
一回消して入れなおすしかないのだろうか
Neonにバージョンアップもしたいし
062912016/09/18(日) 16:44:08.77ID:???
プロジェクトフォルダ整理していたらjava初めてすぐの頃に作った物が大量に…
ゴミばっかり
0630nobodyさん2016/09/18(日) 17:37:47.11ID:???
Tomcatは使わず、それぞれ単独インストールする方が良いと思ってる
063112016/09/18(日) 18:42:08.09ID:???
servlet-classに存在しないクラスを指定したら一応起動する(アクセスしたら当然エラーだけど)
謎すぎる
063212016/09/18(日) 18:52:05.40ID:???
もしかするとtomcatがおかしいかもしれないから8.8→8.10にバージョンアップしてみる
063312016/09/18(日) 19:46:44.95ID:???
やっぱり無理
他のクラス作ってしてみたら出来た…
何故だ
0634nobodyさん2016/09/18(日) 20:38:28.79ID:???
少しずつ動作確認しないで作るとこうなっちゃうわけだ。
HttpServletBaseどんどん動くとこまでコード削ってて、原因突き止める?
一度にすべてのバグの嵐に見舞われるわけだし。
0635nobodyさん2016/09/18(日) 20:42:54.10ID:???
少しずつ作って・実行なら対処するバグも1度に数個で
自分がちょっと前に追加したコードが原因だろうから範囲が狭くて見つけやすいけど。

完成するまで全く実行・デバッグしないでつくる->いざ、実行時に1度に大量のバグに見舞われる。
手に負えなくなるよ。
063612016/09/18(日) 21:11:07.29ID:???
まさかここで詰まるとは思っていなかった
原因が全く分からないし
昨日の夜から全く原因が分からん
063712016/09/18(日) 21:21:46.42ID:???
今日1日あったら解決すると思ってたのに
063812016/09/18(日) 21:28:29.48ID:???
NoClassDefFoundError、ClassNotFoundExceptionも大量に…
063912016/09/18(日) 21:49:30.66ID:???
HttpApiBaseを継承したら起動できないみたいだな
ここ調べた方がよさそう
0640nobodyさん2016/09/18(日) 22:12:21.92ID:???
はは。
064112016/09/18(日) 22:14:45.70ID:???
ここまで原因が見つからないって…
064212016/09/18(日) 22:28:22.44ID:???
キツイ…
0643nobodyさん2016/09/19(月) 10:06:23.73ID:???
なんか現象の起きる最小のjar作れん?
もしかしてGitHubからもってくればこっちで再現できたりする?
064412016/09/19(月) 10:40:42.90ID:???
>>643
今Pushしたから多分再現できる
環境が悪いのか、バグなのか分からないから動かしてくれると助かる
他にも色々バグありそうだけど、とりあえずTomcatの起動したい
064512016/09/19(月) 10:50:06.29ID:???
最小のjarは原因が不明だから難しい
064612016/09/19(月) 10:53:42.41ID:???
abstract class TestBase(private val httpMethod: HttpMethod, private val tokenFlag: TokenFlag, private val strParams: List[String], private val intParams: List[String]) extends HttpServlet {
}

class Test extends TestBase(HttpMethod.GET,TokenFlag.UNNECESSARY,List(),List()){
}

だとエラー

abstract class TestBase() extends HttpServlet {
}

class Test extends TestBase(){
}

だと動く
064712016/09/19(月) 10:59:55.64ID:???
abstract class TestBase(private val i:List[Int]) extends HttpServlet {
}

class Test extends TestBase(List()){
}

だとエラー

abstract class TestBase(private val i:Int) extends HttpServlet {
}

class Test extends TestBase(1){
}

だと動く
064812016/09/19(月) 11:02:26.71ID:???
abstract class TestBase(private val i:Map[String,String]) extends HttpServlet {
}

class Test extends TestBase(Map.empty){
}

だと動く
064912016/09/19(月) 11:05:08.84ID:???
List.empty…起動する
List()…エラー
065012016/09/19(月) 11:05:58.97ID:???
List(1)…エラー
使えないじゃん
065112016/09/19(月) 11:06:50.06ID:???
当然
List.apply(1)
でも駄目
065212016/09/19(月) 11:07:52.96ID:???
原因は分かった…でも何故?
謎でしかない
065312016/09/19(月) 11:22:55.46ID:???
原因判明したから質問サイト行ってくる
0654nobodyさん2016/09/19(月) 14:23:01.82ID:???
teratailか?stackoverflowか?2chか・・
065512016/09/19(月) 14:25:33.39ID:???
teratail
https://teratail.com/questions/48511
065612016/09/19(月) 14:47:02.51ID:???
ListじゃなくてArrayなら大丈夫みたいなのでとりあえず代用します
065712016/09/19(月) 14:54:59.36ID:???
でも本当何故エラーになるんだろう
065812016/09/19(月) 14:57:27.83ID:???
あれっ出来ない
065912016/09/19(月) 15:00:23.57ID:???
066012016/09/19(月) 15:18:55.33ID:???
List以外にも原因ありそう
066112016/09/19(月) 16:03:55.92ID:???
もうこれどうなってるか分からん
0662nobodyさん2016/09/19(月) 16:43:56.86ID:???
なんか面白そうなスレめっけたw
こういう系のスレでちゃんと進んでるっぽいのは珍しいなw
0663nobodyさん2016/09/19(月) 16:48:31.02ID:???
くるタイミングおっそいわww
>>1はそろそろモチベーション切れかけてまた、2,3か月の休息とるんじゃねぇか。
066412016/09/19(月) 16:50:34.98ID:???
既にモチベ死にかけている
やっとサーバーサイド終わったと思ったらTomcatが動かないとか悲しすぎる
066512016/09/19(月) 16:51:46.20ID:???
Tomcatが動けばクライアントサイド始められるのに
066612016/09/19(月) 16:53:27.56ID:???
適当にプロジェクト分割してみる
0667nobodyさん2016/09/19(月) 16:56:08.96ID:???
Scalaとか使うからだなwwユーザー少ないし。
短くかけるってことは、裏で前提として覚える事がいっぱいあるから短くかけるんでって、
そんなのすぐれた言語とは思わん。

何事もバランス。そこそこ短くかけて、前提となる覚える事も少なくてみんな理解しやすい。
これで十分だわ。
066812016/09/19(月) 16:56:41.87ID:???
>>667
twitterもscalaだからwebには強いはず
0669nobodyさん2016/09/19(月) 17:01:43.62ID:???
Webとはあんま関係ないな。
Scalaは言語とコレクションのクラスライブラリぐらい?独自に提供してるの?
Web部分はJavaのライブラリに依存してるだろ。
067012016/09/19(月) 17:03:25.18ID:???
>>669
コレクションは不変のが結構ある
0671nobodyさん2016/09/19(月) 17:19:14.16ID:???
なんだモチベ尽きかけてんのかw
趣味プロジェクトでモチベは最大の敵だからなw
067212016/09/19(月) 17:21:08.72ID:???
Tomcat9って評価版だったのか
これ多分Tomcatのバグだわ
Tomcat8にする
067312016/09/19(月) 17:21:48.66ID:???
そういう事だったか
067412016/09/19(月) 17:23:32.54ID:???
これで直らなかったら知らん
0675nobodyさん2016/09/19(月) 17:28:42.70ID:???
俺もそう思うときあるけど、最終的には自分のコードに問題あるから。
0676nobodyさん2016/09/19(月) 17:30:04.94ID:???
つか、コンストラクタに問題ありそうだったら、コンストラクタに
引数渡すのやめてみればいいじゃん。とりあえず、それで回避したら?]。
067712016/09/19(月) 17:31:11.55ID:???
>>675
俺も何回もそういう経験あるけど今回はバグ以外に見当たらない
特定の場面だけエラーとかあるん?

>>676
それならできた
0678nobodyさん2016/09/19(月) 17:37:00.87ID:???
ロクすっぽテストケースも書いてないプロジェクトとTomcatと
どっちが信頼性あると思ってんだよ。
067912016/09/19(月) 17:39:45.10ID:???
評価版ってバグが大量にあるバージョンではないの?
068012016/09/19(月) 17:44:11.59ID:???
動かないけどエラーメッセージがさっきと違う
これはヒントになりそう
068112016/09/19(月) 18:05:12.96ID:???
普段なら3時間あれば解決するのに何で2日経っても解決しないのか
068212016/09/19(月) 18:07:42.95ID:???
おっ
068312016/09/19(月) 18:10:22.69ID:???
scalaで似たようなエラーがstackoverflowにあったから確かめてみる
068412016/09/19(月) 18:14:09.10ID:???
キタ――(゚∀゚)――!!キタ――(゚∀゚)――!!キタ――(゚∀゚)――!!
やっと起動したーーーーーーーーーー
068512016/09/19(月) 18:15:26.62ID:???
WEB-INF/libにscala-library.jar入れたら出来たーーーーー
2日潰れたけどやっとクライアントサイド出来る
scalaでservletのページには載ってなかったけど英語のページに乗ってた
068612016/09/19(月) 18:16:55.86ID:???
よっしゃ
068712016/09/19(月) 18:17:02.44ID:???
疲れた
068812016/09/19(月) 18:20:17.58ID:???
Eclipseのjar追加で参照しても駄目とか聞いてない
手動コピー必須なのかよと
って事でサーバーサイドデパッグしながらクライアント進めていきます
068912016/09/19(月) 18:21:44.49ID:???
>>675
>>678
これがあってたorz
0690nobodyさん2016/09/19(月) 21:36:36.08ID:???
どう?Next2ch超えれそう?
069112016/09/19(月) 21:45:34.02ID:???
>>690
Next2chは名前は聞いた事あるけどどういう物かを知らない
とりあえずangular2覚える
0692nobodyさん2016/09/19(月) 21:48:58.73ID:sayZi2XP
>>690
super2ch.netじゃなくて?
069312016/09/20(火) 00:05:29.54ID:???
これ駄目だ
angular2難しすぎて意味が分からん
これ覚えていたら確実にモチベ死ぬ
とりあえずvueで作って見た方がいいかも
angular2使っていたら完成する気がしない
069412016/09/20(火) 00:07:07.99ID:???
vueの場合、scriptタグで読み込めば終わりだったけど、angularは色々しないといけないらしくて理解出来ない
TypeScript使いたかったけど
069512016/09/20(火) 00:10:54.96ID:???
日本語の解説が多いからvue.jsは本当楽
0696nobodyさん2016/09/20(火) 10:21:47.07ID:???
1年後も言語とフレームワークの選定やってそう
0697nobodyさん2016/09/20(火) 16:07:13.80ID:???
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015

Haxeプログラミング入門、尾野政樹、2015

Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS, Flash, PHP, C++, Java, C#, Python に書き出せる。
Windows8.1対応

IDEは、FlashDevelop

このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
069812016/09/20(火) 17:08:23.06ID:???
angular2昨日は初めてだったから意味分からなかったけど2日目になると少し分かってきた
流石に1日で投げるのは早かった
069912016/09/20(火) 17:08:54.17ID:???
とりあえずHelloWorldは出来た
070012016/09/20(火) 17:13:12.79ID:???
SPAだけど#〜使って画面切り替える
レス表示&書き込み、トピ検索&書き込み、トピ表示、通知、メッセージ、プロフィール表示、プロフィール管理を作る
残りのユーザー情報は別ページで作る
070112016/09/20(火) 17:15:49.87ID:???
もう少しまとめる
・レス表示・書き込み、トピ情報表示・書き換え
・トピ検索・トピ作成
・通知、メッセージ、プロフィール管理
・プロフィール表示
こんな感じ
0702nobodyさん2016/09/20(火) 17:55:25.31ID:???
spaの場合のグーグルのクローラの制御てどうなるんだろ?
070312016/09/20(火) 17:56:40.37ID:???
googleはjs実行すると聞いた
070412016/09/20(火) 17:59:00.99ID:???
それにしても情報少なすぎる
070512016/09/20(火) 22:06:52.26ID:???
Resコンポーネント作ってる
070612016/09/20(火) 22:50:21.77ID:???
DateパルプってISO-8601文字列使えるのか
070712016/09/21(水) 17:13:58.79ID:???
もう少し進んだら新しいリポジトリ作ります
070812016/09/21(水) 21:15:27.87ID:???
markdown大変そう
0709nobodyさん2016/09/21(水) 22:47:19.93ID:???
APIではちゃんとHTMLにして返してよね。
071012016/09/21(水) 22:54:05.33ID:???
>>709
なるべく鯖では処理しないよ
jsで沢山処理させる事で負荷減らせるし
071112016/09/21(水) 22:57:05.20ID:???
マークダウン生成とか重そうだし
0712nobodyさん2016/09/21(水) 23:06:37.64ID:???
>>709
HTMLで返すAPIとか糞すぎるわ
0713nobodyさん2016/09/21(水) 23:19:58.02ID:???
いやいや、
クライアント側でマークダウン処理させる方がいやだわ。

HTMLなら大抵のクライアントライブラリの方のDOMで「一貫して同じように」処理できるけど、

マークダウンだと方言みたいのあるだろ。
利用する言語によってサービスで利用するマークダウンのクライアントライブラリあんのか知らんけど、
なければ自分で作ってとかやってられんがな。
0714nobodyさん2016/09/21(水) 23:23:15.53ID:???
>>713
>>712に対してね。
>なるべく鯖では処理しないよ
>jsで沢山処理させる事で負荷減らせるし
で付加へらしたい別の理由があるなら仕方ないけど。
071512016/09/21(水) 23:28:10.59ID:???
なるほど、そういう事か
確かに途中でmdの仕様変更したくなったときに表示崩れる可能性もあるな
ちょっと考えてみる
071612016/09/21(水) 23:28:45.80ID:???
今の所はmarked使ってるけど
0717nobodyさん2016/09/21(水) 23:29:11.80ID:???
でも、たいていのは2つ返すかもね。
この前あげたQiita APIも元のメッセージとマークダウンが展開されたHTMLの両方。
前触ったRedditAPIも今見返すと両方返すね。
071812016/09/21(水) 23:35:24.50ID:???
両方返すようにした方がいいか
ちょっと改造してみる

・レス
・トピのテンプレ
・プロフィール

これ以外はHTMLでエンコードしているけど
0719nobodyさん2016/09/21(水) 23:53:25.22ID:???
まぁ、両方返すのがAPIを使う側にとってはありがたいね。
072012016/09/21(水) 23:55:04.43ID:???
単純にHTMLをエスケープした奴も両方返すべき?
072112016/09/22(木) 00:00:43.85ID:???
ただjsで変換だとリアルタイムで確認しながら入力とか作りやすいけど、鯖で変換すると面倒な気もする
鯖直したらjsも修正必要だし
0722nobodyさん2016/09/22(木) 00:07:39.01ID:???
ん??
本来、HTMLを受け入れる部分(レス・トピのテンプレ・プロフィール)以外は、
API的にはノータッチでいいと思う。
本来クライアント側ではHTMLで表示するとは限らないから。
072312016/09/22(木) 00:10:24.00ID:???
つまりエスケープもする必要ないって事?
スレタイとか
■ このスレッドは過去ログ倉庫に格納されています