Google I/O 2012 Tokyo Report: Vietnam Carb and Android Design SessionsNobuya Sato
※この記事は別アカウント(hyiromori)から引っ越しました はじめに 社内ツールに認証を入れる際に、Google OAuth を使った認証の仕組みをいれました。 その作業の記録です。 CakePHP 4.1.6 を使っていますが、基本的な部分は CakePHP に限らず PHP 全般で使えると思います。 また最近OAuthなど認証の学習を始めたので、違う箇所や別の良い方法がある場合はコメントいただけるとありがたいです。 前提 GCPで認証情報は作成され、JSONファイルを取得済であること OAuth2 の Authorization Code Grant によるフローで実装しています やりたいこと 今回は Google OAuth を使ってユーザーを認証することを目的としていました。 またGoogleアカウントに紐づくメールアドレス、名前、プロフィール画像を取得してアカウント情報を作
初、Advent Calendarです。よろしくお願いします(^o^) この記事は、CakePHP 3 Advent Calendar 201513日目用に書きました。 Queue Pluginって? イケメンのMark S.さんが作ってくれている、CakePHP Queue Pluginのことです。 DBにTaskを追加して、Queue用のworkerを動かしておくと、定期的にTaskを実行してくれます。 なぜ、Queue Pluginを使ったか スクレイピングでデータを貯めて、それを参照するWebアプリを作っています。 定期的にスクレイピングしてデータを貯めていますが、それが追いつかない時に、追加でスクレイピングしてくれる仕組みがあると良いなと考え、調べた結果、Queue Pluginを使ってみることにしました。 ※スクレイピングの実行間隔を狭めれば良いんじゃないかとか思いましたが、ま
オープンソースのプログラミング言語であるPHPの開発者らが使用していたGitサーバーに何者かが侵入し、PHPのソースコードにバックドアをしかけていたことが判明しました。ハッカーは悪意のあるコミットをプッシュする際、PHPの開発者であるラスマス・ラードフ氏らになりすましていました。 php.internals: Changes to Git commit workflow https://news-web.php.net/php.internals/113838 PHP's Git server hacked to add backdoors to PHP source code https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/
$post->likes()->create([ 'user_id' => $users[array_rand($users)], ]); <?php use Illuminate\Database\Seeder; use App\Models\Like; class LikeSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $posts = App\Models\Post::all(); $users = App\User::pluck('id')->all(); /* $postsを繰り返し処理を実施する。ただし$usersは複数系で利用したいので、useでそのまま利用する。 */ $posts->each(function ($post)
当社はCookieを使用して、お客様が当社のWebサイトでより良い体験を得られるようにしています。引き続き閲覧する場合は、プライバシーポリシーに同意したことになります。
パラメタライズドテストとは、 渡す引数が違うだけで同じメソッドを何度もテストするというテスト方法になります。 今回は下記のFizzBuzzを使って、説明していきます。 declare(strict_types=1); class FizzBuzz { public function toFizzBuzz(int $count) { $result = ''; if ($count % 3 == 0) { $result .= 'Fizz'; } if ($count % 5 == 0) { $result .= 'Buzz'; } if (!($count % 3 == 0) && !($count % 5 == 0) ) { $result .= $count; } return $result; } } class FizzbuzzTest extends TestCase { /**
phpmdとは phpmdは静的コード解析ツールです。 phpmd hoge.php text cleancodeとか1行コマンド入れるだけでさくっとチェックしてくれます。 コマンドの文法はここらへんを参照。 ソフトウェアテストのような厳重なチェックは行いませんが、ソースコードの大まかな問題点をざっと確認してくれます。 いちいち確認せずとも問題外のコードを門前払いしてくれるというだけでだいぶ手間が省けるので、とりあえずpre-receiveあたりに突っ込んでおくと捗るでしょう。 なお、実際に動かすと100%死ぬコードでもphpmdチェックは問題なく通ることもあるので、phpmdを導入したからといってテストを省いたりしてはいけません。 以下は具体的にどんな指標で弾かれるかのルール一覧です。 確認したバージョンは2.6.0です。 ルールセットはPMDから取り入れたようです。 なお、関数と書いて
http://book.cakephp.org/2.0/ja/models/associations-linking-models-together.html http://blog.ecworks.jp/archives/268 http://qiita.com/kazu56/items/eaaa0c2d7294a28ac21c http://qiita.com/moriyant/items/b57ee4fc45af2fc03194 hasとbelongが、すぐどっちがどっちかわからなくなる。 「持っている」とかアバウトな言葉じゃなくてテーブル定義で教えてくれ。 結論 hasMany 相手テーブルに、自分テーブル.idへの外部キーがある。 hasOne hasManyだけど外部キーがUNIQUE。 belongsTo 自分のテーブルに、相手テーブル.idの外部キーがある。 hasAndB
2020年10月24日 Composerバージョン2がリリースされました🎉 https://blog.packagist.com/composer-2-0-is-now-available しかし、最新版では今まで動いていたComposerプロジェクトが動作しなくなったりまだ安定化できていなさそうなので、一旦以前の1系のバージョンに戻します。 公式のインストーラ経由 $ curl -sS https://getcomposer.org/installer | php -- --version=1.10.15 $ mv composer.phar /usr/local/bin/composer 公式のDockerイメージ経由 現在、 latest は 1.10.15 を指してるのでlatestを指定していた場合は1系の最新版がインストールされます。 いずれは2系がインストールされるようにな
目的 コードの複雑度は人に依存するのか、タスクに依存するのかを調べたい 誰が書いたかという点も重要視するが、誰が直せるかに着目したい 直してもらいたい箇所にアサインできるといいなを自動で抽出したい まずは誰が関数を書いたかという定義を策定する 関数の中身を一番変更している人間 できなくもないだろうけど、ただただメンドくさい 関数の宣言箇所をコミットした人 これならイケそう(Git前提) 最初に書いてメンテしていれば複雑度に影響しないはず そもそも、誰かのメンテが必要なものを最初に書いている シグニチャを変えればコミッタは変わるが、それって複雑度にきっと影響するよね ということで、勝手に宣言部を書いた人単位で割り当てしてみる(こういうのは勢いが大事) 実装を考える phpmdがある これで循環的複雑度はわかる 誰がそれをもたらしたかの定義もできた Gitを使っていれば、blameすることで誰
今回やりたいこと postされてくる日付を、現在の日付(今日)より、前であればvalidationを有効にしたい 基本 app/src/Model/Table/HogeTable.php POST入力値等の入力値チェックは validationDefault に記述する saveの入力値チェック(Entityチェック)は buildRules に記述する cakephp3のバリデーションは2パターン存在 思考の流れ 自分で考えたbadコードを、プレビューしていただき、 より良いコードになった流れです。 public function validationDefault(Validator $validator) bakeにより、デフォで設定されているのが、 下記の初期段階です。 ※hoge_date は、postされてくるinputのラベル名になります。 $validator ->date
先日開催された CakePHP Meetup イベントにて、.env と app_local.php に対する話題がでました。これらは環境ごとに異なる値を管理するために利用されるものですが、どちらを使えばいいのか明確な基準がなく、なんとなくでイベントは話題が流れていきました。後から気になって色々調べたので、こちらにご紹介します。 先に結論ですが、プロジェクトによってどちらかを選べばよく、特に理由がなければ app_local.php を利用した方がいいという感じでした。明確に片一方が素晴らしいということはありませんでした。 .env の使い方 こちらは環境変数に値をセットする方式で、その値にアクセスするには env() 関数を利用します。例えばDB の設定情報は以下のように記述します。 # .env export DATABASE_HOST="production.database.hos
はじめに 「この記事を見ればお目当てのartisanコマンドが(だいたい)全て見つかる!」っていう記事です。 以前書いたGitでやりたいこと、ここで見つかるのartisanコマンドバージョンです。 僕自身が「あのartisanコマンドどう書くんだっけ?」ってなった時に見返す用でもありますのでストックしておくと便利かなと思いますw ※この記事では全てのartisanコマンドを網羅したわけではありません。 .envのAPP_ENVを表示
2020年10月24日 Composr 2.0.0 がリリースされました🙌 半年前の記事から少し気になってましたが、思ったより早くリリースされて嬉しいです! Composer 2.0 is now available! 今回はこちらのリリース記事の内容を要約してご紹介します! Composerとは? Composerとは、PHPのパッケージ管理ツールです。 composer.json に書かれたパッケージ及び依存関係にあるパッケージも含めコマンド一発でインストールしてくれます。 Composerを使っていないPHPプロジェクトはほぼほぼないと言っても良いでしょう。 そんな素敵なツールのメジャーバージョンアップニュースです。 変更点 記事の内容を要約してご紹介します。 詳細な変更点については、チェンジログをご覧ください。 パフォーマンスの向上 Composerとpackagist.orgの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く