トップページ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も提供
ユーザーはサブパスワードを作る事で、悪意を持った外部サービス管理人によるアカウントの乗っ取りを防ぐ事が出来る
開いているスレなども外部サービス間で同期可能
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:???
つまりエスケープもする必要ないって事?
スレタイとか
0724nobodyさん2016/09/22(木) 00:13:44.26ID:???
うん。それはエスケープの処理が必要かはクライアント側つまりビューの都合だから、
それはクライアントに任せていいと思うけどね。
072512016/09/22(木) 00:16:31.25ID:???
ならエスケープ処理やめるか
072612016/09/22(木) 00:17:56.98ID:???
マークダウンはどうしよう
クライアントで処理しないとリアルタイムプレビューは難しいよな
リアルタイムプレビューの為に鯖にアクセスされたら鯖死にそうな気がするし
0727nobodyさん2016/09/22(木) 00:22:25.03ID:???
2chのAPIはほんとはた迷惑。
入力としてHTMLを受け入れないくせにAPIとして返すのに、
クライアント側がHTMLで表示すること前提?に勝手HTMLエスケープして返すわ
AndroidとかHTMLで表示しないクライアント開発するときは迷惑。
0728nobodyさん2016/09/22(木) 00:23:42.18ID:???
クライアント側でリアルタイムプレビューやる場合は、もうクライアント側でやるしかないでしょ。
0729nobodyさん2016/09/22(木) 00:24:24.20ID:d6OE8H1R
ちょっと表現おかしかった。
>リアルタイムプレビューやる場合は、もうクライアント側でやるしかないでしょ。
073012016/09/22(木) 00:41:53.99ID:???
マークダウンをやめると言う方法もある
今の2chの感じ見ているとそこまでいらなそうだし、簡単なタグだけ用意して
例えば
#aa
#aaend
とか
#code
#codeend
みたいな
073112016/09/22(木) 00:44:33.46ID:???
レスを毎回整形する人はいないだろうし、テンプレ、プロフィールも【見出し】とかでも何とかならないことはない
崩れると面倒なのってソースコードとAAくらい?
073212016/09/22(木) 00:54:20.35ID:???
とりあえず記法とかは後にして、今はHTMLエスケープだけしておく事にする
パイプの中身変えればすぐ修正出来るし
0733nobodyさん2016/09/22(木) 00:55:30.58ID:???
RedditもマークダウンでHTMLの入力受け付けるけど、結構凝って作る人もいるのは事実。
特にレスにマークダウン使うってより、サブミだか忘れたけど2chでいうボード?のトップページを
凝って色々やってるっぽいね。
まぁ、マークダウンで色々できるってのは2chに対してアドバンテージになると思うけど。
073412016/09/22(木) 01:01:45.98ID:???
そうなのか
カテゴリだけだとどこに作ればいいか迷いそうだからカテゴリの紹介ページ(板の説明みたいなの)作ろうと思っているが
レスはそこまで機能いらないかもな。。。
プロフィール・トピックテンプレ・カテゴリページはあった方がいいかもしれないけど
レスにマークダウンつけると鯖で処理するとしても、クライアントで処理するとしても重くなりそうだし
0735nobodyさん2016/09/22(木) 17:41:43.23ID:???
そもそもマークダウンの処理そんな重くねぇと思うけどな・・
そんな巨大なテキストを処理するわけでもないのに、たかだか(Twitterよりはユーザーは
タイピングするだろうが・・)平均300文字くらい?のレスだし。
もちろん、サーバー側でのちょっとした負荷も積もれば巨大になるけどさ。
073612016/09/22(木) 17:49:10.59ID:???
そもそもWEB系以外は想定していなかったんだよな
PCでもスマホでもWEB技術使ったアプリは作れるみたいだしそっちを使ってもらう方針だった
だからクライアントでmarked使って変換してもらおうと思っていたし…
0737nobodyさん2016/09/22(木) 17:58:30.45ID:???
じゃ、もうHTML返さなくていいんじゃね?返したくないなら。
クライアント側で処理してもらえばいいじゃん。
方言とかあるっていったけど、100%完璧に表示する必要ないし。
だいたいの記法は互換性あるからそれでいいと思う。
0738nobodyさん2016/09/22(木) 18:06:54.77ID:???
>PCでもスマホでもWEB技術使ったアプリは作れるみたいだしそっちを使ってもらう方針
それならそれでもいいんじゃね。君がブラウザ用の1つ作れば
後は移植簡単そうで君がPC,スマホへの移植全部できそうだし。
073912016/09/22(木) 18:07:49.61ID:???
昨日も書いたけど負荷の問題以外にも、クライアントでプレビュー機能を入れると鯖とクライアントでマークダウンパーサーを合わせないといけないと言う問題がある
それが一番の問題なんだけど、他のサービスはどう実装しているんだろう
そこがクリア出来れば鯖で処理してもいいんだけど
Node使うとかかな
074012016/09/22(木) 18:13:35.48ID:???
javaにjsエンジン内臓されているみたいだからそれで変換すれば何とかなるか
そこらへん調べてみる
0741nobodyさん2016/09/22(木) 18:13:53.59ID:???
理想ばっか言い過ぎた俺が悪かったな。
Redditの場合は見た感じ、そういうAPI用意してないし、プレビューする場合はクライアント側でやってると思う。
例えばReddiestってAndroidアプリはね。だから、完璧にサーバーのマークダウンと合わせてないと
思うし、100%完璧にはやってないと思う。
074212016/09/22(木) 18:16:39.55ID:???
俺もWEB以外の事全く考えていなかった
とりあえずNashornを使う方法を考えてみる
それなら、クライアントの変換スクリプトと、サーバーの変換スクリプト同じ物を使えるし
0743nobodyさん2016/09/22(木) 18:17:45.64ID:???
まぁ、リアルタイムプレビューはサーバーの負荷的にもクライアント側でやった方がいいと思うけど。
投稿する前に「プレビュー」ボタンを押してプレビューぐらいでいいなら、
サーバー側でAPIを用意してくれれば、クライアント側ではマークダウンの細かい詳細を
意識しなくなるので楽といえば楽。
074412016/09/22(木) 18:24:27.07ID:???
リアルタイムプレビューは結構便利だし、これは絶対つけたいと考えている
0745nobodyさん2016/09/22(木) 18:46:49.59ID:???
markdownを付けるならtableを表現出来るようにあって欲しいと思う
074612016/09/22(木) 18:48:32.61ID:???
確かmarkedは出来たような
074712016/09/22(木) 22:06:50.76ID:???
javaのエンジンES6の機能使えないのかよ
074812016/09/22(木) 22:08:57.76ID:???
Babelの出番か
074912016/09/22(木) 23:09:34.97ID:???
ES6以外の問題だった
変換出来た
075012016/09/22(木) 23:13:41.02ID:???
*マークダウンの仕様

ここからDL
https://raw.githubusercontent.com/chjj/marked/master/marked.min.js

これでXSS対策
marked.setOptions({sanitize:true});

変換
var hoge=marked("変換したい文字列");
075112016/09/22(木) 23:19:20.74ID:???
mdtext要素に変換語のhtml突っ込む事にする
075212016/09/22(木) 23:31:51.97ID:???
マークダウン使用
msg
profile
topic
topicHistory
res
075312016/09/22(木) 23:59:10.61ID:???
修正版プッシュ
075412016/09/23(金) 18:02:14.60ID:???
何もライセンス書いてなかったけど、何も書かないとGitHubの標準ライセンスになって再配布禁止になるのか
今度つけよう
075512016/09/24(土) 12:25:34.63ID:???
トピックビュー
/topic/:id

単発編集履歴
/history/:id

検索(カテゴリは"-"区切り)
/search/:category/:text

ユーザー関係
/user

プロフィール表示
/profile/:id
075612016/09/24(土) 15:56:07.60ID:???
カテゴリ-区切りは多分やめる
編集履歴は
topic/:id/history
で全部
topic/:topic/history/:history
で単発
0757nobodyさん2016/09/24(土) 23:26:02.20ID:???
XMLで返すとかじゃダメなのかねぇ
JavaScriptでもJavaでもPHPでもJSPでも扱いやすいと思うけど
Ajaxでログ呼び出してクライアントで処理とか負担軽減の理想的な形じゃね?
075812016/09/24(土) 23:52:19.52ID:???
JSONでとりあえず作っているからこのままいく
XMLに移植するなら後から簡単に出来るだろうし
0759nobodyさん2016/09/25(日) 06:56:36.79ID:???
2ch tenpura とか何よこれ
0760nobodyさん2016/09/25(日) 07:03:54.20ID:???
.plってperlか?俺は知らんがソースが綺麗ってことは伝わってくる。プロの仕業だなこれ
076112016/09/25(日) 11:02:05.81ID:???
別のリポジトリ見てない?
ソース綺麗じゃないし、plファイルとかない
0762nobodyさん2016/09/25(日) 11:03:26.70
https://github.com/new2ch/2chtenpura
明らかに>>1じゃないだろ
076312016/09/25(日) 11:09:46.81ID:???
それ俺じゃない
0764nobodyさん2016/09/25(日) 11:24:37.82ID:???
>>759-760 は別に>>1のこと言ってるんじゃなくね?
0765nobodyさん2016/09/25(日) 12:27:10.77ID:???
>>759
なぜこのスレで2ch tenpuraの話題を出したんだろう?
0766nobodyさん2016/09/25(日) 12:28:35.26ID:???
>>765
作者じゃない?
0767nobodyさん2016/09/25(日) 14:09:59.98ID:???
>>759だけど。
>>1のGitHub見てたら
https://github.com/kgtkr?tab=repositoriesre
readcgiってあるじゃん。なんだこのフォークって思ってたどってったらnew2chにたどり着いたんだよ。
つか,2chtenpuraって有名なん?
076812016/09/25(日) 14:12:49.85ID:???
>>767
何か2chのUI新しくするみたいな話になって、そのプロジェクトがreadcgi(cgiって付くけどvue.js)
tenpuraは知らんが
こっちのソース再利用出来るところあればプルリクしようかと思ってフォークした
076912016/09/25(日) 14:14:32.88ID:???
こっちがメインだから向こうに行って消えるみたいな事を心配する必要はないと一応言っておく
0770nobodyさん2016/09/25(日) 14:14:49.65ID:???
【2ch】新しい2chを作る会【OpenSource】 [無断転載禁止]2ch.net
http://carpenter.2ch.net/test/read.cgi/operatex/1474454727/

これ関係か
077112016/09/25(日) 14:16:01.15ID:???
>>770
それそれ
077212016/09/25(日) 14:25:11.30ID:???
とりあえずNchWebAppリポジトリにプッシュした
0773nobodyさん2016/09/25(日) 14:31:52.02ID:???
消えるとかってより、素直に強敵出現した?と思った。
077412016/09/25(日) 14:40:21.84ID:???
>>773
この掲示板に人が来てくれるのが一番嬉しいけど、やっぱり難しいし、どれだけ時間が掛かるか分からない
俺も人が多くて、使いやすい掲示板欲しいと思っていたから、2chをもっとよく出来るなら手伝いたいなとは思ってた
サーバーサイドの機能は触らせて貰えないだろうから、機能は頑張れば勝てるだろうし
077512016/09/25(日) 14:42:42.81ID:???
あと勉強にもなるし
077612016/09/25(日) 21:28:55.53ID:???
ある程度コンポーネント出来たから、画面作っていく(画面もコンポーネントだけど)
0777nobodyさん2016/09/25(日) 23:04:35.41
Angularつかうならangular-cli
http://qiita.com/kitfactory/items/c95ca84371670b21f4ac
077812016/09/25(日) 23:07:15.55ID:???
hogehoge-cliってよく聞くけどよく分かってなかった
ちょっと見てみる
077912016/09/25(日) 23:09:39.51ID:???
パッと見たけど何か凄い
クイックスタート頑張ったのは何だったのか
078012016/09/25(日) 23:13:19.30ID:???
npmで出来たファイル削除出来なくてゴミが溜まってる
078112016/09/25(日) 23:14:31.95ID:???
名前が長すぎるからゴミ箱に移動できません。完全に削除しますか?
-Y
システムがなんちゃら
-スキップ

ゴミが残るから「ゴミN」って名前にして放置してる
0782nobodyさん2016/09/26(月) 00:54:44.89
rimraf
0783nobodyさん2016/09/26(月) 17:16:38.02ID:???
うお、同じこと考えてる人がいてびびった
>>1
>ユーザー登録は必要だが、匿名
これはゲスト参加もありのほうが盛り上がると思うぞ
クッキーやNG機能がうまく働けばそれほど荒れないと思う
078412016/09/26(月) 17:25:39.60ID:???
クッキーって忍者帳みたいな奴?
セキュリティとか色々問題があるんだよな
078512016/09/26(月) 17:27:03.47ID:???
そもそも登録にメアドすらいらない仕様だからゲスト参加作る必要性が
ユーザー名とパスワード入力するだけだから10秒掛からないし
0786nobodyさん2016/09/26(月) 22:02:06.77
AbemaTV方式とか
0787nobodyさん2016/09/27(火) 12:08:34.26ID:???
                     ____         
                   / ___  \      
                ( ̄二  |´・ω・`|   \  
                 \ヽ   ̄ ̄ ̄    )  
                ∠/       /| |   
                (        ///  
                 |   ,、______,ノ ̄ ̄)     
                 |  /    ̄/ /     
                _|_|____//_  
.            |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ̄ ̄ ̄ ̄ ̄|
──────   |    進捗どうですCAR    |          |
 _____    |   ,-─-、        . ,-─-、 |          |
.           |_/  ,-、ヽ____/ ,-、 ヽ_|_____|
             ',   -' ノ   ヽ:::::::::',  -'  ノ  ヽ::::::::::丿
078812016/09/27(火) 17:44:09.71ID:???
クライアントアプリ作っているといくつかAPIが足りないことに気付いた
0789nobodyさん2016/09/27(火) 18:16:59.84
OpenAPIでよろ
079012016/09/28(水) 19:23:49.63ID:???
サーバーのデパッグしてるけど「例外が発生しました」しか表示されないから全く進まない…
例外名とスタックトレースくらい表示してほしい
079112016/09/28(水) 20:14:08.35ID:???
もしかして例外がどこで発生したか分からないとかないよね
全部想像しろとか無理すぎるんだが
079212016/09/28(水) 21:10:41.04ID:???
デパッグ起動したら出来た
079312016/09/28(水) 21:32:19.76ID:???
Statement.RETURN_GENERATED_KEYS忘れてたせいで動かね
079412016/09/28(水) 21:38:00.68ID:???
PHPMyなんとかって言うMySQL管理ツールとnodeとjavaサーブレットとエクリプスとVSCodeとChromeと専ブラ立ち上げたら重すぎてPCが動かん
0795nobodyさん2016/09/28(水) 21:55:53.36ID:???
スペックは?
079612016/09/28(水) 22:00:03.18ID:???
メモリ4GB
0797nobodyさん2016/09/28(水) 22:04:33.14ID:???
そりゃ、そんなアプリ立ち上げるときつそうだな。
ノート?デスクトップ??
今メモリ8GBで3千円くらい?と安いのに。拡張できないPCなん?
0798nobodyさん2016/09/28(水) 22:05:50.56ID:???
32ビットOSとかいうオチとか?
079912016/09/28(水) 22:07:34.99ID:???
64bit
win10
livaっていう小さい奴
0800nobodyさん2016/09/28(水) 22:09:13.77ID:???
ぶっww
ECSのLivaかww
まさか、CPUはAtomとかじゃないよね??
0801nobodyさん2016/09/28(水) 22:16:51.26ID:???
つか、プログラミング歴1年だっけ?
たぶん、高校生あたりでお金の問題なんだろうが、プログラミングやるなら
しっかりしたPCを1台ぐらい持っておかないとね。
Livaを買ったのか貰ったのかしらんが、Liva買ったんなら選択肢誤ってるな。
080212016/09/28(水) 22:18:50.45ID:???
>>800
CPUは分からん

>>801
今1年半
俺専用PCじゃないしな
とりあえず何とかなってるしまあ…
0803nobodyさん2016/09/28(水) 22:34:25.27ID:???
Mac買え(マカー並感
080412016/09/28(水) 22:40:06.97ID:???
Macって何が便利なの?
使った事ないからよく分からん
デザイナー向けと聞いたけど
080512016/09/28(水) 22:41:29.12ID:???
あとフリーソフトが少なかったり、ゲームも全くないと聞いた
VSがないのもな
.NETも好きだし
080612016/09/28(水) 23:09:11.47ID:???
SELECT テーブル FROM カラム名
と思っていたらテーブル名とカラム名逆だった
080712016/09/28(水) 23:09:56.42ID:???
WHELEじゃなくてWHEREだったし
全部書き直しだ
0808nobodyさん2016/09/28(水) 23:12:56.92ID:???
>>806
ワロタ
SELECT A FROM B
どうみてもBから(FROM)Aを選択・射影(SELECT)するじゃね。
080912016/09/28(水) 23:16:30.78ID:???
27個…
081012016/09/28(水) 23:20:22.68ID:???
終わった
081112016/09/28(水) 23:21:07.50ID:???
>>808
テーブルの中のカラムだから、テーブルが先と思った
PHPの方ではあってるのに
0812nobodyさん2016/09/28(水) 23:55:37.70
せめてSurfaceくらいは…
0813nobodyさん2016/09/28(水) 23:59:11.59
NUCなら良かったのに
EclipseとかIDEは重いやつおおいし
081412016/09/28(水) 23:59:17.92ID:???
まだ買い替えて1年経ってないから(前のPCが死にかかってて起動に1時間掛かる様な状態だったけどwin10出るまで待ってた)あと数年はこのPC使う予定
081512016/09/29(木) 00:01:31.27ID:???
PC死んでいた時期

101 :名前は開発中のものです。 :2015/11/01(日) 17:13:47.34 ID:22x8NxDl
細かい調整は作った後にする予定です
後一昨日からPCの調子が悪くてVSの起動も出来ないので少し開発は休んでいます
すみません
0816nobodyさん2016/09/29(木) 00:03:27.56
バックエンドはいいとしてフロントエンドはどうすんの?
081712016/09/29(木) 00:05:39.24ID:???
>>816
結構進んでいる
フロントとバックを同時にデパッグ中
081812016/09/29(木) 00:06:00.23ID:???
SQLで文字化けした
0819nobodyさん2016/09/29(木) 00:07:43.90
照合順序は?
0820nobodyさん2016/09/29(木) 00:20:01.49ID:???
学生ならブログでサービス作ってるアピールして乞食すればどっかの気前良いおっちゃんがポンとSurfaceでもMacBookでも買ってくれそうw
082112016/09/30(金) 00:16:15.06ID:???
独自ヘッダつけるとクロスドメインの通信が結構面倒になるみたい
■ このスレッドは過去ログ倉庫に格納されています