tsyama記

プログラミングとそのほか

docker-composeを使ってGitLab / Runner のローカル環境

はじめに タイトルどおり、docker-composeを使ってGitLabおよびGitLab Runnerをローカル環境に作ります。 このへん詳しく解説した記事は点在していますが、必要最低限の情報だけ網羅したような記事がなかったので書いてみます。とりあえず難しいことを考えず…

CakePHP 3.8.0のPull requestsを読み込んだ

はじめに こちらはCakePHP Advent Calendar 2019 18日目の記事です。 ここのところ、個人的にも仕事的にもLaravelに手を出し始め、CakePHPをとんと触っていなかったおかげで、CakeFestやCakePHP4系の話など、Cake界隈の盛り上がりをキャッチアップできていま…

PHPカンファレンス2019 #phpcon に参加しました

はじめに PHPカンファレンス界の本家本元、PHPカンファレンスに初参加。 人も場所も規模が大きく、いつものカンファレンスとはまた違った雰囲気でした。 見たもの PHPにおける並列処理と非同期処理入門 PHP における並列処理と非同期処理入門 - Speaker Deck…

WindowsでVagrant上にDocker環境を作るときのメモ

はじめに Windows派閥のみなさんがローカルでDocker環境構築に苦労している描写をよく目にします。 最近はだいぶ他の勢力が充実してきて鳴りを潜めている感のあるDocker on Vagrant環境ですが、個人的にはWindows環境を汚さずにあれこれ試せるので好きです。…

『オブジェクト指向でなぜつくるのか』を読みました

はじめに 2か月半ぶりの読書レポートです。もうちょっとハイペースで読みたい。 オブジェクト指向でなぜつくるのか 第2版作者: 平澤章出版社/メーカー: 日経BP発売日: 2011/04/07メディア: 単行本購入: 6人 クリック: 92回この商品を含むブログ (20件) を見…

nginxのtry_filesわかりにくすぎ問題

nginxのtry_filesディレクティブのハマりやすい罠をまとめました。nginxとphp-fpmをつなげている環境では特に注意です。

SoftDeletesでboolean形式の削除フラグを使用するLaravelプラグイン

はじめに LaravelのSoftDeletes、便利なんですが、論理削除されているかの判定に使用するカラムはDateTime型でないといけません。しかし皆さんもおそらく遣る方無い事情により論理削除の判定をフラグ形式(0か1のinteger)で持たなければならないことがある…

社内勉強会初参加しました報告 && PSRの話をした

はじめに いろいろな経緯があり、技術系の社内勉強会が開催されたので初めての登壇実績を解除しました。それとともにSpeaker deckデビューも達成したので記念でブログにあげておきます。 スライド これ speakerdeck.com 感想 LTのつもりで作ったんですが、最…

タガヤス その13 に行ってきた #タガヤス

はじめに tagayas.connpass.com タイムラインで、仙台に「タガヤス」という勉強会があることを知り、行ってみることにしました。 全然知らなかったんですがもう13回目なんですね…。自分の情報収集能力の無さがつらい。 まなび 今回の勉強会はインフィニット…

Laravel5.7~にAdminLTE3を導入

はじめに わざわざ記事に書くほどの情報量でもないんですが、いつも調べるのがめんどくさいのと、意外とジャストな記事がないのでメモ書きします。 前提:Laravel 5.7以降のBootstrapについて Laravelでは初期状態でBootstrapが含まれていますが、5.7以降で…

PHPカンファレンス北海道2019 #phpcondo とラーメン

はじめに PHPカンファレンス北海道2019行ってきました。 最近遠征に抵抗がなくなってきた。 PHPを学ぶということ PHPを学ぶということ / phpcondo-2019 - Speaker Deck タイトルを見て「初心者向けのやつかな?」と思い、見るかどうか迷ってたんですけど、初…

#v_sendai Vue.js/Nuxt.js meetup #3に行ってきました。

はじめに 今更なんですけど行ってきたのでまとめます。内容のまとめはスライドも公開されてたりするのでそこそこにして、感想を書く。技術的なところには特に触れていません。 三行まとめ フロントエンドの勉強会、なんかおしゃれ フロントエンドとかバック…

Laravelで捕まえたExceptionをSlackに通知する

はじめに こんにちは。tsyamaです。 今回はLaravelで捕まえたExceptionをSlackに通知します。 なぜこんな記事を書くのか 似たようなことをしている記事は公式を含めたくさんあるんですが、網羅的に説明されてるので情報量多すぎてとなります。なので今回はEx…

『プリンシプルオブプログラミング』を読みました

はじめに プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則作者: 上田勲出版社/メーカー: 秀和システム発売日: 2016/03/23メディア: 単行本この商品を含むブログ (11件) を見る これを読みました。 珍しく技術書を最後まで…

JSのform-serializeが地味便利

はじめに 非常にググラビリティの低い"form-serialize"というJSライブラリが地味便利でした。 www.npmjs.com 使いみち axiosとか使ってJSでフォーム送信したいときとかに便利です。 やってることはjQueryのserialize()と変わりなさそうなんですが、serialize…

tideways_xhprofでプロファイル(Docker編)

PHPの性能解析ができるtideways_xhprofというプロファイラを触ってみました。Dockerおよびdocker-composeを利用した簡単な導入方法を紹介します。また、あわせてxhprof-htmlというビューアを使用しています。

バックエンドエンジニアとLighthouse

バックエンドエンジニアがAWS環境でLighthouseの点数に寄与できる項目を並べてみました。テキスト圧縮有効化、静的なアセットと効率的なキャッシュポリシーの配信、HTTP/2対応など。

PHPカンファレンス福岡 2019 に参加してきました #phpconfuk

はじめに すっごい足を伸ばして福岡まで参戦してきました。感想ブログです。 見たもの PHP 型検査・夢と理想と現実 「PHP型検査・夢と理想と現実」 #phpconfuk|tadsan|pixivFANBOX 三度目のカンファレンスですが、@tadsanさんの登壇を毎回拝聴してます。 静…

CKEditorとVueの相性が悪いと呟いたら

CKEditorとVueはそのまま導入しようとすると競合してうまく動作しません。CKEditor公式に教えてもらったVueとの共存方法を紹介します。

Vueとその中のthisについて

Vueの中で使われるthisの挙動がわかりにくいので調べてみました。Vueの単一コンポーネントで使われている場合、templateの{{}}内部やv-onなどの属性、method内でthisの挙動が変わってくるようです。

PHPerKaigi 2019に参戦(二日目とまとめ) #phperkaigi

はじめに 昨日の記事の続きです。 みたもの Hack HTTP Request and Response Interfaces Hack HTTP Request and Response Interfaces - Speaker Deck 自分にはまだ早かった…。恥ずかしながら内容についていくのも怪しい感じでした。 途中まで「PHPをハックし…

PHPerKaigi 2019に参戦(一日目) #phperkaigi

phperkaigi.jp こちらに参戦しております。 1月に参加したPHPカンファレンス仙台 2019が思いの外刺激的だったので、今度は東京まで足を伸ばしてみました。 まだ一日目ですが、今回も相当に刺激的なイベントになりそうです。興奮冷めやらぬうちに今日見たセッ…

Dockerでphpコンテナとかにnpmをインストールするときのメモ

はじめに Dockerでは公式イメージとしてnodeが提供されていて、それを使えばnpmはお手軽にお手元で使えるんですが、Laravelで開発していてphpコンテナとか、node以外のコンテナにnpmを入れたいことがある。 その際に(Docker起因ではないのだが)エラーが出…

マイクロフレームワークSlimでCakePHPのORMを使おう

マイクロフレームワークのSlimを導入してみます。migrationにはCakePHP3でも使用されているphinxを、ORMには単独でインストールすることのできるcakephp/ormを使ってみました。DIコンテナの使い方も簡単に解説しています。

PHPカンファレンス仙台2019に行ってきました #phpconsen

phpcon-sendai.net こちらに行ってきました。 こういう大きめのイベント参加したことなかったので尻込みしてたんですが、 仙台で開催するとあっては行かない手はない、ということでイベント初参加でした。 ここに書くまでもなくめちゃめちゃ内容の濃い一日で…

CakePHP bakeプラグインのすすめ

CakePHP3でbakeコマンド拡張プラグインを作成します。bake pluginコマンドを利用したプラグインの自作、SimpleBakeTaskクラス、bakeTemplateを紹介します。さらに作り込んで、BakeTaskの使い方や、Packagistへの登録にも触れています

DockerでRuby on Rails開発の準備をするメモ

Dockerおよびdocker-composeを利用して、Ruby on Railsの開発環境を構築してみました。メモです。

Slackへ定期的にYouTube動画をpostするSlack AppをGASでつくった記録

Slackへ定期的にYoutube動画をpostするSlack Appを作りました。claspを使用したGASのコード管理やYouTube Data APIの使用、SlackのIncoming Webhooksでの定期実行、Slash Commandsへの登録方法にも触れています

メール送信ログをDBに保存するCakePHPプラグイン

CakePHP3でメール送信ログをデータベースに保存するプラグイン"send_mail_logger"を作りました。プラグインを作成するにあたって、既存のCoreクラスを上書きした独自クラスの作成や、プラグイン内でのmigrationの作成を紹介します。

CakePHPで管理画面の作成を効率化するbakeコマンド拡張プラグインをつくった

CakePHP3でAdminLTEの管理画面を簡単に作れるbakeコマンド拡張プラグイン"admin_baker"を作りました。CakePHPのBakeTask(SimpleBakeTask)クラスを使ったbake拡張プラグインの作り方を紹介します。