はじめに
PHP で条件分岐して違う HTML タグや文章を表示したい場合に、なるべくシンプルに HTML を書く方法を調べた。
TL;DR
<?php if (true) : ?><?php endif; ?>のように:とendifを使う
はじめに
Apache2 + PHP でウェブサーバを立てている状況で、非公開ディレクトリ(パブリックでないローカルのディレクトリ)の画像を読み込んで表示する方法を調べた。
※「画像は表示したいが、画像ファイル自体は公開ディレクトリに格納したくない」のような特殊なケース
TL;DR
- 以下を組み合わせて、
<img>のsrcに画像を設定する
はじめに
Ruby の 5.times のように、JavaScript で簡単に指定回数(N回)のループを行う方法を調べた。
TL;DR
- スプレッド構文(
...)を使う[...Array(10)].forEach,[...Array(10)].map, etc
Array.fillを使うArray(10).fill().forEach, etc
Array.fromを使うArray.from({ length: 10 }).forEach, etc
- スプレッド構文,
Array.fillは IE 非対応なので注意 (2020/01/10 現在)
はじめに
BenSampo/laravel-enum を利用して、Laravel で Enum を使う方法を整理した。
※機能が豊富なので、自分が使った範囲のみ。
TL;DR
- ローカライゼーションやバリデーションが簡単に実現できる
<select>のオプションもtoSelectArray()で簡単に設定できる- 他にも機能がいっぱいある
はじめに
AWS S3 Bucket 内のオブジェクトの ACL(アクセス権限) を一括で変更する方法を調べた。
S3のパーミッションの設定を一括変更する | ハックノート の通り
TL;DR
- 事前に
awsコマンド(AWS CLI) を設定 aws s3 ls --recursive s3://my-bucket/でバケット内のオブジェクトを再帰的に取得aws s3api put-object-acl --acl privateでパブリックアクセス不可に設定awk,xargsと組み合わせて、1件ずつ処理を行う
はじめに
Laravel で 全角カタカナ・半角英数記号 に変換しつつバリデーションする方法について整理した。
要件としては下記。
- バリデーションの前にデータを変換
- 「全角かな・半角カナ」→「全角カナ」
- 「全角英数記号」→「半角英数記号」
- 変換したデータに対してバリデーション
- バリデーション OK ならその後の処理も変換後のデータを利用
- レコードの 作成/更新 とか検索とか
- バリデーション OK ならその後の処理も変換後のデータを利用
TL;DR
prepareForValidationでバリデーション前の処理mb_convert_kanaで全角・半角の変換- 変換できない文字もあるので注意
regexルールで正規表現を使ってバリデーション- バリデーション通れば後はいつも通り
はじめに
ツールチップを簡単に表示できる atomiks/tippyjs を触る機会があったので、簡単に使い方を整理した。
本記事は tippy v5 系を利用しているので、最新 v6 系(2020/08/01 現在)と挙動や設定が異なる可能性あり
TL;DR
tippy(<target>, { content: 'my tooltip' })でツールチップを設定<target>はセレクタ(#idなど)でも、Node(document.querySelector('#id')など)でも OK
contentに HTML も設定可能tippy(<target>, { content: '<strong>my tooltip</strong>' })tippy(<target>, { content: 'my<br>tooltip', allowHTML: true })
- 既存テーマを利用する場合は CSS を読み込んで
theme: 'lightのように指定
はじめに
「画像クリックで拡大」を簡単に実現できる imgix/luminous を触る機会があったので、簡単に使い方を整理した。
デモページ を見ると、何ができるのかがすぐわかる。
TL;DR
npm i luminous-lightboxでインストール- CDN:
<script src="https://cdnjs.cloudflare.com/ajax/libs/luminous-lightbox/2.3.2/luminous.min.js"></script>
- CDN:
<a href="拡大画像"><img src="サムネイル"></a>に対して以下を実行new Luminous(document.querySelector('a'))
- ギャラリー表示の場合は
LuminousGalleryを使用new LuminousGallery(document.querySelectorAll('a'))
はじめに
Rails で sitemap_generator を使って sitemap(sitemap.xml.gz)を作成する方法にについて整理した。
実運用で使うであろう whenever と組み合わせたバッチ処理についても合わせて整理した。
TL;DR
- Gemfile に
sitemap_generator,wheneverを追加してインストール [bundle exec] rails sitemap:installでconfig/sitemap.rbを作成sitemap.xml.gzに出力したい内容を記述
[bundle exec] rails sitemap:refreshでpublic/sitemap.xml.gzの作成や更新[bundle exec] wheneverizeでconfig/schedule.rbを作成- 定期的に処理したい内容(
rake 'sitemap:refresh')を記述
- 定期的に処理したい内容(
[bundle exec] whenever --update-crontabで cron ジョブの設定