Recently I worked on a project that happens to be architected this way. (Not my decision) React.js Frontend -> GraphQL Server -> Cloudflare -> Laravel Backend REST APIs Naturally getting the real IP of the visitor is very troublesome. Previously when it was just Cloudflare sitting in front of the Laravel app. Getting the visitor IP is a simple case of configuring https://github.com/fideloper/Trust
まず最初にフロントとサーバの設計を記載します ログインの動作 ログインの概要 アンケートの前提を記載しておきます メアドとパスワードを事前に登録しておく(社内アンケートなどでの使用を想定) ログイン成功時にトークンをクライアントに送信する(クライアントはそれを記憶しておく) クライアントはアンケートをサーバに送る時にトークンを同時に送る アンケート登録時の動作 アンケート登録の概要 クライアントからPOSTされてきたデータを読み込み、DBに登録します。 ログイン処理(認証) 以下の例では$auth->['psw']にクライアントから入力されたパスワードが入ってきます。 public static function CheckPsw($auth) { $ret = [ 'result' => true, 'id' => 0, ]; // get psw from DB. $psw = Psw
概要 posts morphMany comments (いろいろなものに付けられるコメントはその1つとして投稿に属する) comments hasMany replies (返信はコメントに属する) という2階層のリレーションがあったとき, posts から comments_and_replies_count に相当するものを取得したい。できるだけ Eager Loading を使ってパフォーマンスに配慮して。 普通に <?php declare(strict_types=1); namespace App\Database\Eloquent\Relations; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\MorphOne; use Illuminate\Data
PHPのインストール ここから各OSに合わせてダウンロード、インストールする Composerのインストール ここにアクセスする Downloadを選択 Composer-Setup.exeをクリックしてダウンロード、実行 モードの選択 Developer mode(開発者モード)にチェックを入れると、アンインストーラが含まれません。 パスの変更 インストールしたPHPのパスが表示されます。 基本的にデフォのままでokです。 プロキシの利用設定 プロキシを利用する場合は設定を行います。 利用しない場合はそのままNextをクリック。 Installをクリック インストールが終わるとこのような画面が表示されます。 Google翻訳にかけるとこうなりました。 情報 続行する前に、以下の情報をお読みください。 重要 セットアップによって環境が変更されましたが、実行中のプログラムのすべてがこのことに
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どうもはじめまして! Qiitaへの初投稿にガクブルしながら記事を書いているMashikaです! もはやテスト投稿的な感じで、自分の備忘録を記載しておこうと思います。 内容としてはタイトルの通り、phpの画像関連ライブラリであるGDライブラリを使って、画像加工のWebアプリケーションを作った時のことを書いていきます。 ちなみに、Webアプリケーションを作成したきっかけは、とある友人へ仲間達から各自で自撮りした写真へメッセージを添えた画像をアルバムにして渡そうという話しが出た時に、各自画像編集アプリを落としてメッセージを入れてというのが、
Laravel 5.7 Release And Upgrade memo いつものごとく、メモ書き。9/10にリリースされていました。書いてたけど、書いてたメモを消してしまったので今頃です。 5.7 は LTS ではない ので、2019/03/04 までバグ修正の保守期間、2019/09/04 までセキュリティフィックス期間となるみたいです。一年です。 参考 Release Note Upgrade Guide High Impacts 影響が大きいものを。 public/svg ディレクトリを追加。そこに 500.svg,403.svg,404.svg などといったファイルを Github からダウンロードしてきて設置してください。 Blade タグで使用していた or が削除されました。代わりに ?? を使用してください。 Route::redirect のHTTP Statusが 3
こんにちは。 オープンソースに参加して、技術力を伸ばしたい!でも英語が!!っていう人結構いるのではないでしょうか? そこで、ララベルにコミットできるようになることを目標にLaravelのマージされたプルリクを教材に英語を教えてみることにしました。 海外で働きたいとか金髪美女と付き合いたいとかではなくLaravelのコミッターになるために必要最低限の英語力を最短距離で身につけてもらうことを目標にして書いていこうと思います。 で、お前は誰だ!って方いると思うので一応紹介させていただきますが、私はToeic960点取得、IT企業での翻訳経験ありのプログラマーです。 それでは早速第1回目のお勉強を始めましょう。 対象のプルリクは、なるべくネイティブが書いたものでかつみなさんが興味を持てそうな内容を選ぶように心がけてみました。 今回の対象のプルリクはこれにしました。 URL :https://git
BPMS自体を共同で作業できる為にしていく事 BPMS自体業務向けのシステムでしか やる人がいないので もっと簡易的に一緒にできないかなと 処理フローを書き フローの各所のプログラムを書き それが条件によってかわる ここはどれも共通している部分だと想う 業務フロー=プログラムフロー タスク=プログラム 業務分岐=処理+IF文と考えるとわかりやすい (IF文もCONDITIONといって WEBで各処理ごとに設定の方が管理はしやすい) 処理が可視化して作れるといったほうが あーそうなんだとなるのかなと 分岐条件のプログラムをlaravel GAS node typescriptで作成できるようにする PROCESSMAKER⇒ルーティング⇒GASへの通信 各業務(処理の実行)をGASでAPI通信にする 実行プログラムを全てGAS経由にする できるだけ共同作業で使える物を母体 そこから各言語で記
今更ではありますが、Laravel5.3よりAuth::user()がコンストラクタで取得できない仕様に変更されたみたいです。 ググって分かりづらかった部分をシンプルに書きます。 どういうこと? 通常のactionでは取得できる Auth::user() が、コンストラクタの中では同じように記述しても取得できません。 class HogeController extends Controller { private $user; public function __construct() { $this->user = \Auth::user(); \Log::info($this->user); // null } public function index() { \Log::info($this->user); // null \Log::info(\Auth::user());
integerのサイズ指定で困ったことがあったため備忘録として残します。 結論だけ見たい人はクリックME 【概要】 laravelの便利機能の一つマイグレーション。 多くの人は新規開発の際、これを利用してDB構築をする人が多いと思います。 g その際、カラムで指定した型の長さを明示的に指定する場合もあります。 (サーバの記憶領域が多きくなった昨今、意味もなく長さ指定するのは逆にNG) 特にでコード値を保存しますよーってパターンはほぼ必ずあると思います。 例えば、都道府県マスタを作成する際、皆さんほぼほぼJIS X0401 をベースにテーブル定義をすると思います。 //prefsマイグレーション public function up() { Schema::create('prefs', function (Blueprint $table) { // JIS X0401に準拠して01~47
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く