- 1. Laravel Log::infoの使い方 ~ ログ出力
- 2. 【PHP】`firebase/php-jwt`でトークンをdecode時に { “status”: “\”kid\” empty, unable to lookup correct key” }のエラーが発生
- 3. PHPの日付取得方法まとめ
- 4. 【PHP基礎復習5】文字列から数値のみを抽出する
- 5. 9月5日
- 6. 【PHP基礎復習4】引き算②
- 7. 作業メモ 20220905
- 8. 【PHP基礎復習3】掛け算
- 9. 【PHP基礎復習2】引き算
- 10. 【PHP基礎復習1】割り算の余り
- 11. ゆめみの採用試験サンプル問題をPHPで解いてみた
- 12. LaravelのPHPUnitテストでキャッシュ一覧を取得する(CACHE_DRIVER=array編)
- 13. Docker上でLaravelのプロジェクトを作成するまで 前半
- 14. 【環境構築】 「memory_limit」が足りないと言われた!
- 15. 文字コードの5C問題について解説
- 16. Python,Ruby,PHP,Java,JavaScript,Perlの演算子の比較
- 17. Laravelでサイト構築
- 18. そのif文もっと見やすくしてみません?
- 19. Laravel8のJetstreamでAPIの発行をhasTeamPermissionでコントロールする
- 20. 【サボりたいエンジニア向け】コーディングに役立つチートシートまとめ
Laravel Log::infoの使い方 ~ ログ出力
# 動作環境
・PHP: 8.1.10
・Laravel:9.27.0# ファサード
“`php:Laravel
use Illuminate\Support\Facades\Log;
use Log; // エイリアスでもいける環境もあるみたいですが、私のは無理でした。
“`# ログの基本
“`php:Laravel
Log::info(“ログ”);
Log::info($request);
“`これでいけます。
# 出力先はこちら
storage/logs/laravel.log他にもいろいろできるみたいです。
使用することがあったら追記します。
【PHP】`firebase/php-jwt`でトークンをdecode時に { “status”: “\”kid\” empty, unable to lookup correct key” }のエラーが発生
## 概要
PHPでJWTの仕組みを実装する場合、[firebase/php-jwt](https://github.com/firebase/php-jwt)のライブラリが使用されることがあると思います。このライブラリを使用して、JWTのトークン作成からdecodeまでの実装は[PHP: JWT を使った認証](https://blog.sarabande.jp/post/123018347873)の記事が、参考になると思います。
さて、実際にトークンのdecodeを行う時に以下のような実装を行ったところ、` { “status”: “\”kid\” empty, unable to lookup correct key” }`というエラーが発生しました。
“`php
$decodedResult = JWT::decode($token, env(‘JWT_SECRET_KEY’), [‘HS256’]);
“`なお、今回使用したライブラリのバージョンは`v6.3.0`です。
## 原因
[こちら](https://stackoverflow.com/a/7231065
PHPの日付取得方法まとめ
# はじめに
主に自分用に、PHPで日付を取る方法をまとめています。
特に、前月や次月の日付を取得したいという場合、取得に注意が必要なので、以下にまとめておきます。## 念のたPHPのバージョン
“`
PHP 7.3.29
“`## 日付の取得・加算・減算
主にstrtotimeを使用した取得の仕方をまとめます。
“`php
//現在の日付のtimestamp
strtotime(“now”)//現在の日付をyyyy/MM/dd HH:mm:ssの形式で(デフォルトはUTC。変更したい場合はphp.iniのdate.timezoneを変更)
date(‘Y/m/d H:i:s’, strtotime(‘now’));//1年前・1年後
date(‘Y/m/d H:i:s’, strtotime(‘-1 year’));
date(‘Y/m/d H:i:s’, strtotime(‘+1 year’));//1ヶ月前・1ヶ月後
date(‘Y/m/d H:i:s’, strtotime(‘-1 month’));
date(‘Y/m/d H:i:s’, strt
【PHP基礎復習5】文字列から数値のみを抽出する
[問題]
入力された文字列から数値の部分だけ取り出して出力しなさい。# コード
“`PHP
$input = fgets(STDIN);
echo preg_replace(‘/[^0-9]/’, ”, $input_line), PHP_EOL;
“`↓ 15kgと入力
# 結果
“`
15
“`☆文字列から数値のみを抽出する
preg_replace(正規表現, 置換後の文字列, 対象の文字列);
9月5日
9月5日 プロゲートのアプリでPHPの内容を1から8まで完了。内容が難しので復習が必要。
【PHP基礎復習4】引き算②
[問題]
ユキさんは、あるアイドルグループのファンです。
そのグループは西暦A年に結成されました。現在は西暦B年ですが、今年で何周年でしょうか。# コード
“`PHP
$input1= fgets(STDIN);
$input2= fgets(STDIN);
echo $input2 – $input1, PHP_EOL;
“`↓ 2015、2022と入力
# 結果
“`
7
“`
作業メモ 20220905
今日作業で参考にしたサイト
https://into-the-program.com/display-block-none/
https://qiita.com/TakePro/items/0faee19101a02aeb5f7a
https://www.delftstack.com/ja/howto/javascript/javascript-get-input-value/
http://kayakuguri.github.io/blog/2017/12/06/laravel-ajax-csrf/
https://sota1235.hatenablog.com/entry/2015/10/11/213000
https://qiita.com/toontoon/items/7634f8a3905bad79b38d
https://qiita.co
【PHP基礎復習3】掛け算
[問題]
ユキさんは、スーパーでアルバイトをしています。
時給A円でB時間働くと、何円お給料をもらえるでしょうか。# コード
“`PHP
$input1= fgets(STDIN);
$input2= fgets(STDIN);
echo $input1 * $input2, PHP_EOL;
“`↓ 990、5と入力
# 結果
“`
4950
“`
【PHP基礎復習2】引き算
[問題]
ユキさんは、400ページある本を読んでいます。
昨日はAページ、今日はBページ読みました。残りは何ページか出力させなさい。# コード
“`PHP
$input1 = fgets(STDIN);
$input2 = fgets(STDIN);
echo 400 – $input1 – $input2, PHP_EOL;
“`↓ 110、87と入力
# 結果
“`
203
“`
【PHP基礎復習1】割り算の余り
[問題]
入力値AをBで割った余りを出力する。(A>B)
余りが0の場合も0と出力されるようにする。# コード
“`PHP
$input1 = fgets(STDIN);
$input2 = fgets(STDIN);
echo $input1 % $input2, PHP_EOL;
“`
↓ 17、5を入力
# 結果
“`
2
“`
ゆめみの採用試験サンプル問題をPHPで解いてみた
[新卒・中途採用におけるコードチェックの実施とチェック時の観点について(株式会社ゆめみサーバサイドの場合)](https://qiita.com/taruhachi/items/0318c1a603478058d863)という記事を見ていたら[採用試験サンプル](https://www.yumemi.co.jp/serverside_recruit)が公開されていて、そしてその選択肢にPHPがあったので解いてみることにします。
べつに転職するつもりとかは全くありませんが。
# [問題](https://www.yumemi.co.jp/serverside_recruit)
“`csv
create_timestamp,player_id,score
2021/01/01 12:00,player0001,12345
2021/01/02 13:00,player0002,10000
2021/01/03 12:00,player0021,100
2021/01/04 12:10,player0031,200
2021/01/05 12:00,player0041,300
…
LaravelのPHPUnitテストでキャッシュ一覧を取得する(CACHE_DRIVER=array編)
## PHPUnitでキャッシュドライバを配列するときの設定
“`xml:phpunit.xml
“`
## キャッシュ一覧を取得する方法“`php:test.php
$store = Cache::getStore();
$reflection = new \ReflectionClass(get_class($store));
$property = $reflection->getProperty(‘storage’);
$property->setAccessible(true);
$cache = $property->getValue($store);
“`これですべてのキャッシュされたキーと値の配列が取得できる。
## Example
“`php
// キャッシュ
Cache::add(“hoge”, “value1”);
Cache::add(“hoge2”, “value2”);// すべてのキ
Docker上でLaravelのプロジェクトを作成するまで 前半
この記事ではDocker上にLaravelプロジェクトを立ち上げる方法を解説していきます。
今回の記事を理解する上で大事な用語が多いですが、随時解説していきますので安心してついてきてくださいね!なお、自分のPCは
・MacBook Pro
・M2チップ
なので、予めご了承ください## まずはDockerのインストールから
なにはともあれ、まずはDockerのインストールをしないと始まらないので、
[公式サイト](https://www.docker.com/get-started/)から、ご自身のOS用のDockerをダウンロードしてください。
DockerDesktopをインストールしてくださいね。Docker Hubの方ではないので注意してくださいね。
指示通りインストールできたらターミナルを開いて
“`
docker version
“`
と叩いて、Dockerに関する情報が出てきたらインストールは無事完了です!Macをお使いの方で何か不具合があったら、再起動することで動くことがあるので試してみてください!
## 実際にDocker上にLaravelプロジェクト
【環境構築】 「memory_limit」が足りないと言われた!
環境構築時にコードを“`clone“`してきた後
ターミナル上で“`$ php init“`したら下記のようなエラー文が表示されました
“`
Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/RuleSetGenerator.php on line 129
“`
メモリが足りないとのこと。。## 解決策1 「cloneしてきたphp.iniを編集する」
1. “`$ php init“` で作成されたdockerをdeleteする
1. “`php.ini“`内の「memory_limit」を編集する
“`
memory_limit=256M
↓
memory_limit=-1
“`3. 再度“`$ php init“`で環境構築する
→変化なし。。
## 自PC内ディレクトリのphp.iniを編集
1. cloneして
文字コードの5C問題について解説
最近直面した5C問題をメモとしてまとめておこうと思います。
## 5C問題とは
日本語は、ひらがな、カタカナ、漢字など文字数も多く、1バイト(256種類)では
すべての文字を表現することは難しいため、`ShiftJIS`では、漢字を**1文字当たり2バイト**を
使って文字情報を表します。ここで問題なのが、`「¥」`、`「 \ 」`の文字コードが「**5c**」であり、
**一部の漢字の文字コードが重複している**ため、コンピュータはその箇所を
**エスケープ記号**として解釈することにより正常に読み取れなくなっている。
文字 Shift-JISコード 噂 89 5c Python,Ruby,PHP,Java,JavaScript,Perlの演算子の比較
Python,Ruby,PHP,Java,JavaScript,Perlの演算子の比較
# Python
https://qiita.com/G-Rape/items/cd3f2f284ba990164564
# Ruby
https://www.tohoho-web.com/ruby/operators.html
# PHP
https://qiita.com/mzmz__02/items/8bfbcf2cd48d9e9f2806
# Java
https://qiita.com/suema0331/items/7045e3ce3e2f5faa9acf
# JavaScript
https://qiita.com/uhyo/items/cc92a553059274d85403
# Perl
https://perlzemi.com/blog/20161005147566.h
Laravelでサイト構築
今日の開発で参考にした記事
https://johobase.com/create-table-primarykey-sql/
https://qiita.com/usayamadausako/items/f53a24ada4c22e1a2cc9
https://qiita.com/yukibe/items/7bab0d596ae9a0930f18
https://qiita.com/ryo2132/items/63ced19601b3fa30e6de
https://qiita.com/aoaoao/items/623bf40a1c317fc45a8f
https://note.com/hotate52/n/n7819e25bc700
https://programmercollege.jp/column/2663/
https://webukatu.com/wordpress/bloそのif文もっと見やすくしてみません?
# 基本
“`
if($priceA > $price B){
$message = ‘Aの方が高い’;
}else{
#message = ‘Bと同じかBの方が高い’;
}
“`
というコードがあったら
“`
$price = $price > $price
? ‘Aの方が高い’
: ‘Bと同じかBの方が高い’;
“`
と書けるよというのがこのお話の基本
(?とか:を先頭にしておくと、三項演算子の処理が続くよ、とわかるのでおすすめ)循環複雑度が下がるので不具合の発生度が下がるはず
# 応用
基本があれば応用があるのが世の習い
もっと複雑な処理でもこんなふうに綺麗になる
## 汚いif文
“`if ($paymentTotal > $salesTotal) {
$differenceBetweenPaymentsAndSales = $paymentTotal – $salesTotal;
if ($price1) {
$result1 -= $diffLaravel8のJetstreamでAPIの発行をhasTeamPermissionでコントロールする
Laravel入門中です。
今回はJetstreamのAPI Token発行を制限してみます。
あまりよくわかっていないので、この方法が適切かどうかわかりませんがとりあえずやってみました。### 前提
– Laravel8.x
– Jetstream team版導入済み### roleを追加
まず、teamに閲覧専用のpermissionを追加します。
app>Providers>jetstreamServideProvider.phpの
“`php:jetstreamServideProvider.php
protected function configurePermissions()
{
Jetstream::defaultApiTokenPermissions([‘read’]);Jetstream::role(‘admin’, ‘Administrator’, [
‘create’,
‘read’,
‘update’,【サボりたいエンジニア向け】コーディングに役立つチートシートまとめ
# はじめに
こんな人が役に立つ記事
* コーディング業務の効率を上げたい。
* コーディングに関するチートシートを知りたい。
* 打つのもめんどいからコピペでなんとかしたい(笑)今回は、コーディングに役立つチートシートをまとめました。
## VSCODEチートシート
エンジニアなら必ず使うであろうVsCodeのショートカットチートシート。これはよく使ってます!
関連する記事
OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた