それが僕には楽しかったんです。

僕と MySQL と時々 MariaDB

MySQL の BLACKHOLE Engine とバイナリログを使ってリアルタイムにイベントをハンドリングする何かを作る

はじめに 何をやるか どうしてやるか BLACKHOLE Engine とは バイナリログとは 実装する MySQL (Master - Slave 構成) Golang 実装 これの辛い所 まとめ はじめに どうも、最近「FLASH」を見たいがために Hulu を契約したら意外と面白いコンテンツ多くてなん…

Builderscon に参加してきたから雑にまとめてみる

はじめに スカラシップ 特に面白かったセッション達 Open SKT: メルペイ開発の裏側 RDBのトラブルの現場を追え! おわりに はじめに どうも、最近 Redis はフェチとか訳わからんことを言っているけんつです。 今回、縁あって Builderscon に参加してきたので…

PHPStan を利用する環境下で call_user_func あたりでハマった話

はじめに TL;DR 前提 何が起こるか おわりに 追記 はじめに どうも、最近「盾の勇者の成り上がり」の一話をみて「あぁ、この感じの闇堕ち必至展開か」と思ったら想像以上に面白くて徹夜で全話みたけんつです。 今日は Laravel を使っている時に雑に使った ca…

画像プロキシを Golang で作った話

はじめに なに作ったか 結構苦戦した Proxy VS Reverse Proxy HMAC SHA1 Url Encoded Path 使い方 おわりに はじめに 最近、アマゾンプライムビデオで「ミッションインポッシブル:フォールアウト」を見ていて最後に個人的にあまり好きでない3作目から登場…

Golangのgoroutine周りを気合で理解する

はじめに goroutine goroutineをもう少し掘り下げる おまけ Syncパッケージ WaitGroup Mutex おわりに はじめに どうも最近netflixで配信されている「センターオブジアース」の吹き替えが絶妙に酷いことに気がついてしまったけんつです。昨日はGolangのConte…

GolangのContextを頑張って理解していく

はじめに Contextパッケージ 実例 解説 コンテキスト生成 キャンセルシグナル おわりに はじめに どうも最近吹き替えが酷い映画とドウェイン・ジョンソン主演の大体の映画にハマっているけんつです。Golang書いていてちょくちょくでてくる context.Backgroun…

DevStackでOpenStackを導入しようとした時に躓いた話

はじめに 前提条件 ハマりまくった部分 ブランチ問題 インストール時のトラブルシュート 1. Could not install packages due to an EnvironmentError 2. env: ‘/opt/stack/requirements/.venv/bin/pip’: No such file or directory 3.libvirtd failed to sta…

etcd を golang で使う

はじめに etcdとは gRPC etcd をインストールする etcdをGolangから使う おわりに はじめに 最近、OpenStackのインストールで無限に消耗しているけんつです。OpenStackのインストールがまじで辛いので現実逃避のために etcd を Golang で使ってみたのでなん…

トランザクションと同時実行制御

はじめに トランザクションと同時実行制御 セッション トランザクションとACID特性 原子性 一貫性 独立性 耐久性 同時実行制御 5つの現象 分離レベル 悲観的な同時実行制御 スナップショット分離と楽観的同時実行制御 論理的な同時実行制御 デッドロックと…

Golangのdatabase/sqlパッケージを使っていく

はじめに Database driver をインポートする データベースにアクセスする SQLの実行と結果の取得 予めクエリを用意しておく さいごに はじめに どうも、最近マイクラをかってしまい無限に時間を溶かしているけんつです。何故かgolangが書きたくなる衝動に駆…

MySQLで大量のテストデータを用意したい

はじめに 環境構築 大量のデータをどうにかして用意する おわりに はじめに どうも、最近みたハクソーリッジという映画が最高に琴線に響いて何度も見ているけんつです最近、データベース周りの勉強をしてみようと思ったのですが何かが足りないことに気が付き…

PHPerがいくGolang入門 A Tour of Go More types: structs, slices, and maps

はじめに Pointer Structs Arrays Slice Range Map function values はじめに どうも、年末にアドカレを1日分書き忘れていたので急いで書き始めたけんつです。 今回も例によって全くPHPは関係無いですが、A Tour of Go の続きをやっていこうかなと思います…

個人的に濃かった激動の2018年を振り返ってみる

はじめに 初めてインターンに参加した サーバサイド強化期間 研究室に配属された 逆求人なるものに参加した 2018年は 来年の目標 はじめに どうも、最近PS4を買ってしまいゲーム三昧な年末を全力で過ごしているけんつです。 今年は、というか主に今年の後半…

PHPerがいくGolang入門 A Tour of Go Flow control statements: for, if, else, switch and defer

はじめに For Switch defer おわりに はじめに Muroran Institute of Technology Advent Calendar 2018 20日目の記事です。どうも、2018/12/20という未来から来ましたけんつです。 引き続き A Tour of Go を進めていこうと思います。ただ昨日、気がついて…

PHPerがいくGolang入門 A Tour of Go Basics, Packages, variables, and functions

はじめに 環境 Hello,World パッケージ内の参照 関数 複数の結果を返す 名前付きreturn 変数宣言 変数初期化 短縮宣言 型 型変換 おわりに はじめに どうも、2018/12/19という未来からきたけんつです。 この記事は、Muroran Institute of Technology Advent …

Docker Remote APIを使いたかった。

はじめに Docker の 基本的な仕組み Docker の アーキテクチャ Docker Daemon Docker Client Docker Registries Docker Remote API とは 準備 利用例 コンテナ一覧を取得 コンテナを作成 コンテナを止める おわりに はじめに 最近マッサージ機を使っている時…

サポーターズさんの逆求人にいってきたら色々変わった話

はじめに 何故参加することになったか 参加するまでの話 当日話すスライドの準備 イベントが始まるまで 面談会では… 懇親会で… 1on1面談イベントを終えて 後日談 はじめに どうも、最近忙しい忙しい言っているけど何故か映画見る時間だけはちゃんと確保でき…

Dockerコンテナ内から外部通信が向いたときにDNSが解決できない問題を解消する

はじめに 環境 問題 解決策 おわりに はじめに どうも、最近海外ドラマで特にNetflix系のドラマにドハマりしているけんつです。最近、Laradockを使うときにコンテナをビルドしたらDNSが解決できない問題に苦しめられていました。 なんかすごく詰まったのにあ…

Nagleアルゴリズムと遅延ACK

はじめに 本題に入る前に 輻輳・輻輳制御とは Nagleアルゴリズムとは The small-packet problem The small-packet problem の解決法としてのNagleアルゴリズム 余談:Nagleアルゴリズムを無効化する 遅延ACKの前に… ウィンドウ スライディングウィンドウ 遅…

Unicode9.0 以降の複雑な符号化における letter-spacing トラップ

はじめに 問題 原因 実証 終わりに はじめに どうも、最近レンタルしたレディプレイヤー1が面白すぎて購入を検討しているけんつです。最近、Webにおいて圧倒的に面倒な絵文字対応について色々と考えているところなのですが もろもろ対応していると不可解な…

MVCに基づいて設計する時に思う自分なりのベストプラクティス

はじめに MVC とは Controller の役割 Model の役割 View の役割 MVCのメリットとデメリット メリット デメリット MVCを使うためのベストプラクティス Controller の使い方 URL設計を見なおしてみる。 Controller と Model でやりとりを増やし過ぎない Facad…

【PHPのお話】PSRって知ってますか?

PHP

はじめに PSRとは PSR-1 Basic Coding Standard PSR-2 Coding Style Guide PSR-3 Logger Interface PSR-4 Autoloader PSR-6 Caching Interface PSR-7 HTTP Message Interface PSR-11 Container Interface PSR-13 Hypermedia Links PSR-15 HTTP Handlers PSR-…

oEmbed を叩いてメディア共有サイトのコンテンツ情報を簡単に取得する

はじめに oEmbed とは Quick Start oEmbed の規格 Consumer Request Provider Response Response Format Response parameters Errors Security considerations おわりに はじめに どうも、よく訓練された PHPer のけんつです。 突然ですが、みなさん Youtube…

oauth2-mastodon をつくった話

はじめに パッケージ概要 使い方 さいごに はじめに いろいろあって、mastodon の Streaming API を叩くことになったが PHP で使えるいい感じの OAuth2 クライアントがなかったので自作した。レポジトリは以下のリンクから github.comPackagist にも追加して…

AWS SDK for PHP から AWS SQSを使ってみた

はじめに AWS Simple Queue Service とは スタンダードキュー メッセージの順序 一回以上の配信 ショートポーリングを使用したメッセージ処理 AWS SDK for PHP による実践 標準キュー(スタンダードキューの実践) メッセージの送信 メッセージの受信と削除 FI…

Laravelの動く環境をdocker-compose(PHP 7.2 + nginx + MySQL)でいい感じにする

はじめに docker-compose 環境を立ち上げる はじめに Laravelを $ php artisan serve で動かすのにすごくモヤモヤしていたのでdocker-compose をつかってLaravelのプロジェクトが動くインフラ(PHP 7.2 + nginx + MySQL)を構築してみたからまとめる。ディレク…

yarn + webpack を感覚で使っていたので勉強がてら手元に環境を構築してみる

はじめに yarnとは webpackとは yarn の導入 webpack の導入 nvm の導入 webpackの導入をやる はじめに 今までJavaやScala、Cなど型が割としっかりしている言語を使って開発を続けてきた。 しかし、その経験がweb系の開発を行うときに思わぬ障害になった。 P…

Laravelを使いたかったので雑に入門した

はじめに 対象 Laravelとは Laravelの環境を構築する ルーティング リクエスト周り ビュー コントローラ モデル おわりに はじめに なぜか急にwebシステムを作る必要がでてきたため、Laravelを使ってみようとおもった。 だが使ったことないので備忘録も兼ね…

PHPでheaders already sentを解消するためだけに雑にテンプレートエンジンを作った話

はじめに エラーの原因と解決策 テンプレートエンジンの実装 おわりに はじめに どうもよく訓練されたJavaer、けんつです。 PHPの勉強がてらオレオレTwitterクライアントを作ろうとしていたら次のエラーにぶち当たった。 Warning: Cannot modify header info…

PHPでLeague/Routeを使ってルーティングを構成する

はじめに 環境 ルーティングを構成する基本要素 Dependency Injection Container (PSR-11) そもそもDIとは DIコンテナとは HTTP message interfaces (PSR-7) Dispatchから先 ルーティング周りをもう少し頑張ってみる ワイルドカードを使いたい場合 HTTPメソ…