Skip to content

Instantly share code, notes, and snippets.

@okumurakengo
okumurakengo / MyJwk.cs
Created January 13, 2025 07:25
ChatGPT に作ってもらった、公開鍵のpemファイルからJWKに変換するサンプルと、JWKを使ったJWTの検証方法
// 公開鍵を指定して、JWK形式で出力してくれるサンプル
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text.Json;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.OpenSsl;
using Org.BouncyCastle.Security;
@okumurakengo
okumurakengo / Program.cs
Last active January 13, 2025 07:16
ほぼChatGPT に聞いた、秘密鍵と公開鍵の作成方法と、JWT検証のサンプル
// C# を使う場合、 ChatGPT がほぼ作成
using System;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text;
using Microsoft.IdentityModel.Tokens;
class Program
@okumurakengo
okumurakengo / StringCaseHandler.php
Created December 31, 2024 06:57
ChatGPTに作ってもらったキャメルケースとスネークケースの変換クラス
<?php
declare(strict_types=1);
namespace App\Handlers;
/**
* Class StringCaseHandler
*/
class StringCaseHandler
@okumurakengo
okumurakengo / index.php
Last active December 29, 2024 11:04
フォルダ内の画像一覧表示
<?php
const PAGE_COUNT = 100;
const UPLOADS_DIR = __DIR__ . '/uploads';
$page = $_GET['page'] ?? 1;
$offset = ($page - 1) * PAGE_COUNT;
$sort_category = $_GET['sort_category'] ?? 'create_date';
$sort_type = $_GET['sort_type'] ?? 'asc';
@okumurakengo
okumurakengo / .htaccess
Last active October 20, 2024 07:16
簡易 php ルーティング
RewriteEngine On
RewriteCond %{REQUEST_URI} !(\.png|\.jpg|\.webp|\.gif|\.jpeg|\.zip|\.css|\.svg|\.js|\.pdf)$
RewriteRule (.*) routes.php [QSA,L]
@okumurakengo
okumurakengo / README.md
Last active October 6, 2024 03:30
適当にslackのChatGPTボットのapi
@okumurakengo
okumurakengo / gacha_items.sql
Last active August 4, 2024 09:36
ガチャのマスタから重みを考慮して抽選する
CREATE TABLE gacha_items (
id INT AUTO_INCREMENT PRIMARY KEY,
item_name VARCHAR(255) NOT NULL,
weight INT NOT NULL,
UNIQUE (item_name)
);
INSERT INTO gacha_items (item_name, weight) VALUES
('レアアイテムA', 10000),
('レアアイテムB', 15000),
@okumurakengo
okumurakengo / foo.sql
Created August 4, 2024 09:00
mysql 5.7 と php で複数カラムから RANK() 相当の select
CREATE TABLE foo (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
point INT,
cnt INT,
num INT
);
INSERT INTO foo (name, point, cnt, num) VALUES
('Alice',30,50,20),
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@okumurakengo
okumurakengo / フロイドの循環検出法.ipynb
Created June 8, 2022 00:19
フロイドの循環検出法
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.