のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,643,631人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ【PHP】2chat開発スレ【2chを越える】

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
501 : 1 - 2016/09/15(木) 21:13:55.41 ID:???.net (+76,+29,-94)
>>500
お気に入り機能とか使ったことなかった…
タブ170件以上開いて新着チェックしてた

まあそれは置いておいて、
2chmateは使ったことない(IOSだから)よく分からないが、多分専ブラの機能なら大変だろうけどWEBで実装出来ると思う
専ブラ作るのが大変なのはネイティブでも変わらないし

2chは本当WEBページゴミだよな…多分ajaxとかSPAとかが流行ってなかった事に出来たからだと思うけど
502 : 1 - 2016/09/15(木) 23:14:57.05 ID:???.net (+36,+8,-34)
明日か明後日にはサーバーサイドAPIの実装が終わるので(テストはまだだけど)、クライアントの方はその後に考えます
とりあえずPushしました
503 : 1 - 2016/09/15(木) 23:16:36.60 ID:???.net (+0,-28,-19)
クライアントですがJS使えないブラウザは当然ですが、IEも捨てるかもしれません
504 : 1 - 2016/09/15(木) 23:18:34.33 ID:???.net (+57,+29,-7)
いつのまにか500行ってた
テストコード1回も書いたことないから何すればいいか分からん。。。
505 : 1 - 2016/09/15(木) 23:31:09.21 ID:???.net (-1,-29,-10)
あとPHP版でコールバック地獄で酷い事になったのでpromise採用します
506 : 1 - 2016/09/15(木) 23:54:14.47 ID:???.net (-1,-29,-34)
クライアントはvue.jsではなくangular2を使います
507 : nobodyさん - 2016/09/16(金) 16:54:03.11 ID:???.net (+52,-30,-103)
>>302だけど、俺もPHP挫折しそうww
コード補完がまともに動かなったり、->の代わりに.をくせでスペルミスしたりで動かなったり効率悪すぎ。
いちいち、メソッド名忘れると、Webで検索してるわ。
開発環境が悪いのかなぁ・・
Windows上のVisual Studio Codeで作って、仮想マシン上のLinuxにデプロイ・実行してるんだけど。

ということで、.NET Core + ASP.NET Coreに移行中。
とりあえず、開発環境と実行環境分けるとあんまいい感じじゃなさそうなので、
Linux上のVisual Studio Codeでやるわ・・
508 : 1 - 2016/09/16(金) 16:58:37.39 ID:???.net (+3,-30,-54)
VS CodeはJSとかHTMLだと軽くて強力だけどPHPは微妙
VSにPHP Tool(クソ高い)入れるかNetBeansおすすめ(そもそもPHPがゴミだけど)

C#ならVS CodeよりVSの無料版の方が絶対良い
509 : nobodyさん - 2016/09/16(金) 17:28:26.93 ID:???.net (+3,-30,-172)
>VSにPHP Tool(クソ高い)入れるかNetBeansおすすめ(そもそもPHPがゴミだけど)
勉強目的でいきなりお金払うのわね。NetBeansとかいうのいいんだ。
俺的にはコード補完とかもうちょいまともに効くならPHPという言語でも許容できるけど。

>C#ならVS CodeよりVSの無料版の方が絶対良い
うん。今、それに向けて作業してる。元々、UWPアプリとか作っててVisual Studio 2015使ってるからね。
これ以上、メインマシンをよごしたくなくて、維持でも実行環境(Webサーバー+DBサーバー)は仮想マシン上に構築しようとしてたけど、
Windows上で.NET Core + ASP.NET Coreの開発環境入れてもIISとかインストールされないっぽい(
Kestrelとかいう軽量サーバーがデフォルト?)から、VSにすることにした。
で、データベースだけはLinux上に。
510 : nobodyさん - 2016/09/16(金) 17:32:57.59 ID:???.net (-1,-29,-14)
あれ,IIS Expressとかにインストールされちったw
511 : 1 - 2016/09/16(金) 18:28:33.80 ID:???.net (-1,-29,-35)
TODO:
User子クラスに認証関係のチェック不足が大量にあったので修正する
512 : 1 - 2016/09/16(金) 20:36:37.97 ID:???.net (-1,-29,-29)
API一通り完成したのでコミット&Pushしましたー
513 : nobodyさん - 2016/09/16(金) 20:57:06.34 ID:???.net (+57,+29,-19)
全部POSTメソッドなんだ。
つか、ソース見にくすぎだな。
514 : nobodyさん - 2016/09/16(金) 21:06:49.13 ID:???.net (+44,-30,-250)
つか、これ、コンパイルは通ってるの??
abstract class HttpApiBase(val tokenFlag:TokenFlag,val strParams:List[String],val intParams:List[String]) extends HttpServlet
Scalaの事よくわからんけど、tokenFlagとかコンストラクタの引数?
継承元のHttpServletってサーブレットコンテナ?がHttpServletのインスタンスを生成して、適切なdoPostとかdoGetとか呼んでくれるんじゃないの?
HttpApiBaseにコンストラクタ引数を宣言してて、だれがこれをセットしてくれるのか??
515 : nobodyさん - 2016/09/16(金) 21:10:30.17 ID:???.net (+18,-9,-23)
あ、ごめん。Scalaはなんか違うのか。派生クラスみたら、定数値っぽいのがセットされてるな。
516 : 1 - 2016/09/16(金) 21:38:02.32 ID:???.net (+40,-30,-40)
>>514
class Hoge(val i:Int)

public class Hoge{
  public final int i;
  public Hoge(int i){
    this.i=i;
  }
}
と同じ(実際は内部でgetterが生成されていたりするけど)
かなり短く書ける
517 : 1 - 2016/09/16(金) 21:44:30.44 ID:???.net (-2,-30,-30)
あとListはscalaのAPIで不変なリスト
javaのHoge<T>はScalaではHoge[T]
Hoge[]はArray[Hoge]
518 : 1 - 2016/09/16(金) 23:09:55.00 ID:???.net (+57,+29,+0)
あっ大事な事忘れていた
web.xmlがない
519 : 1 - 2016/09/16(金) 23:11:44.98 ID:???.net (-1,-29,-5)
URLとかは
hogeFooよりhoge-fooの方がいいのだろうか
520 : nobodyさん - 2016/09/16(金) 23:42:59.51 ID:???.net (+10,-30,-98)
RESTfull API的には
hoge/foo/afef
で、HTTPメソッドGETで取得、POSTで挿入、PUTで更新、PATCHで部分更新、DELETEでリソース削除。
521 : 1 - 2016/09/16(金) 23:48:46.55 ID:???.net (+16,-13,-24)
>>520
POSTとGETは分かりますが、残りは対応面倒と聞きました
全部POSTに統一が一番シンプルでいいかと思ったので、POSTに統一しています
522 : 1 - 2016/09/16(金) 23:49:26.23 ID:???.net (+57,+29,-28)
まだ、バグ修正などありますが、APIを頭の中で整理するために仕様書を書きます
523 : nobodyさん - 2016/09/16(金) 23:56:47.02 ID:???.net (+36,-29,-130)
対応って別に全部に対応する必要はないよ。
例えば、User自体は削除できないんだから、Userに対してDeleteメソッドは定義する必要はないし。
Scalaとか使う道具にはこだわるが、作りだす物にはこだわりがないのかね?
いきなり全部はできんけど。

つか、せめて、取得系はGETでいくべきだ。全部POSTとか、クソAPI呼ばわりされること間違いなし。

RESTful APIに別に無理してしなくてもいいが、
例えばQiitaのAPIはRESTful APIっぽいし。
http://qiita.com/api/v2/docs
http://wp.tech-style.info/archives/683
524 : 1 - 2016/09/17(土) 00:03:42.90 ID:???.net (+62,+29,-31)
>>523
なるほど
何か難しそうだけどそういう風なのが普通なのか
あとエラーコードの返し方も考えた方がよさそう
全部jsonで返しているし
525 : 1 - 2016/09/17(土) 00:04:24.59 ID:???.net (+41,+13,-3)
これHTTPの基礎勉強しないと駄目だ
526 : nobodyさん - 2016/09/17(土) 00:05:38.71 ID:???.net (+2,-29,-34)
RESTにしなくても、RPC的なAPIでもいいと。
http://dev.twitter.com/rest/public
Twitterはそんな感じだけど。パラメータの渡し方は。
527 : 1 - 2016/09/17(土) 00:06:00.49 ID:???.net (+0,-22,-12)
PATCHとか初めて聞いた
528 : nobodyさん - 2016/09/17(土) 00:06:47.04 ID:???.net (+6,-29,-44)
いや、エラーは全部JSONでいいよ。他のResponseとかも
JSONで返すんだし統一性がないと俺ならブチ切れる。
529 : nobodyさん - 2016/09/17(土) 00:09:19.60 ID:???.net (+91,+29,-54)
エラーはHTTPのステータスコードでエラーを示して、
更に詳しい情報やメッセージなどをレスポンスのJSONボディで返すのが
普通かな。大手サービスはだいだいこんな感じ。
530 : 1 - 2016/09/17(土) 00:10:05.25 ID:???.net (+15,-20,-35)
>>528
エラーの詳細はJSONだろうけど、HTTPステータスがエラーでも200 OK返しているからどうなのかなと思って
例えば、「本文が長すぎます」みたいなのは200 OKでいいの?
531 : nobodyさん - 2016/09/17(土) 00:12:25.56 ID:???.net (+32,-29,-51)
>>526のTwitterはGET,POSTでパラメータはどっちかというとクエリパラメータで
渡して、RPC的なんだと思う。
532 : 1 - 2016/09/17(土) 00:12:43.05 ID:???.net (+70,+29,-59)
>>529
大まかなエラー内容はHTTPステータスでいいのか

REST APIで調べたら「セッションなどの状態管理を行わない」って書いてあったけどトークンってこれに含まれる?
何か凄く難しい
533 : 1 - 2016/09/17(土) 00:14:25.50 ID:???.net (+62,+29,-34)
>>531
twitter参考にしているからこっちがいいのだろうか
何か凄く難しい…
TwitterAPI生では触った事ないから内部でどうなっているか考えた事なかった
534 : nobodyさん - 2016/09/17(土) 00:16:42.85 ID:???.net (+9,-29,-94)
>>530
それはまずい、それはクライアラント側のエラーだから
ステータスコードは400のBad Requestで、
JSONの方に、本文が長すぎますみたいな感じで。
まぁ、はじめてなんからほどほどでいいけど。

http://tools.ietf.org/html/rfc7231
で、どんなステータスコードあるかサクっと見たほうがいい。
4xx系がクライアント側のエラー
5xx系がサーバー側。例えば、クライアント側のリクエストには問題ないが、
サーバー側で問題発生で処理できないとか。
535 : 1 - 2016/09/17(土) 00:18:20.61 ID:???.net (+0,-29,-35)
>>534
何か基礎が分かってないみたいだからRESTとRPCを見て、エラーコードも確認してみる
実装は明日にする
536 : nobodyさん - 2016/09/17(土) 00:23:06.98 ID:???.net (+3,-29,-89)
>REST APIで調べたら「セッションなどの状態管理を行わない」って書いてあったけどトークンってこれに含まれる?
これって認証がらみのトークンだっけ??
通常は、HTTPのリクエストヘッダにAuthorizationヘッダってあるから
http://tools.ietf.org/html/rfc7235#section-4.2
これで渡してもらうのがふつう。
537 : nobodyさん - 2016/09/17(土) 00:25:30.64 ID:???.net (+3,-29,-62)
まぁ、ほんとは認証がらみではOAuth2っていうプロトコルあって、
これをどのサービスを使ってるんだけど。まぁ、さすがに今は覚えることありすぎて
やりすぎかな。

QiitaのAPIもTwitterもFacebookもDropboxもOAuth2だし。みんなこれ使ってる。
538 : 1 - 2016/09/17(土) 00:28:52.08 ID:???.net (-1,-29,-37)
Authorizationヘッダとかあったのか
OAuthはTwitterで聞いた事はあるけどよく知らない
HTTPってかなり複雑だったんだな…
539 : 1 - 2016/09/17(土) 00:31:04.56 ID:???.net (+52,+29,-2)
やる事が思っていたより多かった
540 : nobodyさん - 2016/09/17(土) 00:34:41.55 ID:???.net (+70,+29,-81)
まぁ、俺は何度もHTTPのRFCの仕様を何度もよんだし。
いろいろ大手のAPIを叩いたし、OAuth2のクライアント側も自分で実装したりしたから、
ここらへんは叩き込まれてるけど。あくまでクライアント側だけだから。
>>507で書いたように今はサーバ側を君と一緒に勉強しようとかなと
ここに居座ってるw
541 : 1 - 2016/09/17(土) 00:36:51.23 ID:???.net (+77,+29,-35)
一度実装したものを作り直すのは大変だから一回表とかにまとめてみる
542 : nobodyさん - 2016/09/17(土) 00:42:23.14 ID:43HWDKIQ.net (+40,+30,-100)
>>541
そこだね。見てて思ったんだけど、作り方が水平方向的?なんだよね。
例えば、モデルクラス作るなら、一気に全部モデルクラスを作るみたいな。
これだと、途中で設計まずったときに全部作り直しになるじゃん。
俺なら例えば最初にUserだけのモデル作って、その次は垂直方向にUser用のAPIを作るね。
そうすりゃ、早い段階で問題点に気づけるし、全体像を早い段階で気づける。
543 : 1 - 2016/09/17(土) 10:10:06.72 ID:???.net (+57,+29,-22)
アジャイル開発って奴か
クラス間の依存とか考えたら結構難しくて…
544 : nobodyさん - 2016/09/17(土) 10:34:47.47 ID:???.net (+94,+29,-20)
認証後回しにしてメインのスレッドとレスポンスからがいいと思う
545 : 1 - 2016/09/17(土) 10:41:23.23 ID:???.net (+57,+29,-35)
サブパスワードで安全にしようと考えていたけど、流石に大量のパスワード覚えるのは面倒か
ここ全く考えてなかった
546 : 1 - 2016/09/17(土) 10:55:39.20 ID:???.net (-1,-29,-48)
・SubPass廃止
・Tokenの仕様変更
・Storageは1トークン1つ
・GET、POSTメソッドを分ける
・HTTPステータスも返す
547 : nobodyさん - 2016/09/17(土) 14:47:49.39 ID:???.net (-1,-29,-32)
そもそも、サブパスでセキュリティで気にするなら
HTTPSを使わんと。
Let's encrypt!!
548 : 1 - 2016/09/17(土) 16:02:12.48 ID:???.net (+5,-22,-24)
HTTPSってサーバーの設定じゃない?
サーブレット側でも対応することあるの?
549 : nobodyさん - 2016/09/17(土) 17:05:10.60 ID:???.net (+62,+29,-22)
ないと思う。
というよりそういう事いいたかったんじゃなくて、HTTPSはサーバー証明書が
必要になるわけだから、サーバー証明書簡単に取れるのか知らないので
そこらへん気をとめておいてねって言いたかった。
550 : 1 - 2016/09/17(土) 17:13:27.05 ID:???.net (+52,+29,-2)
証明書無料のあるか探しておく
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について