Skip to content

Instantly share code, notes, and snippets.

Avatar

Akihito Koriyama koriym

View GitHub Profile
@koriym
koriym / .phpv
Created Jul 25, 2022
Fast Brew PHP version switching
View .phpv
# usage: . ~/.phpv php_version
export PATH="/opt/homebrew/opt/php@$1/bin/:$PATH"; php -v
@koriym
koriym / How I explained REST to my wife...
Created Jul 9, 2020
How I explained REST to my wife...
View How I explained REST to my wife...
Wife: Who is Roy Fielding?
Ryan: Some guy. He's smart.
Wife: Oh. What did he do?
Ryan: He helped write the first web servers and then did a ton of research explaining why the web works the way it does. Oh yea, his name is on the specification for the protocol that is used to get pages from servers to your browser.
Wife: How does it work?
@koriym
koriym / php_semantic_exception.php
Last active Jul 8, 2022
PHP Semantic Exception
View php_semantic_exception.php
<?php
namespace Application;
$fileName = '/not-writable';
// Human-only readable exceptions
// throw new \RuntimeException("{$fileName} is not writable.");
// Semantic exceptions
View alps3min.xml
<?xml version="1.0" encoding="UTF-8"?>
<alps
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://alps-io.github.io/schemas/alps.xsd">
<title>ALPS3min</title>
<!-- Ontology -->
<descriptor id="name" />
<!-- Taxonomy -->
@koriym
koriym / WhyPageAndAppResource.md
Last active Jun 11, 2022
なぜ PageリソースとAppリソースがあるのか
View WhyPageAndAppResource.md

なぜ PageリソースとAppリソースがあるのか

どこから来たのか

BEAR.Sunday以前のフレームワーク、BEAR.Saturdayがページとリソースというレイヤーを持っていました。

https://blog.excite.co.jp/exdev/25879834/

MVCでいうとコントローラーの役割が"ページ"。ページクラスはコントローラーと違ってルーターによるメソッドのマッピングは必要なく、HTTPメソッドにマップするメソッドがありました。

@koriym
koriym / suppress_deprecated.php
Created Nov 14, 2021
Suppress E_DEPRECATED in vendor files
View suppress_deprecated.php
<?php
if (PHP_VERSION_ID >= 80100) {
set_error_handler(static function (int $errno, string $errstr, string $errfile) {
return $errno === E_DEPRECATED && str_contains($errfile, dirname(__DIR__) . '/vendor');
});
}
@koriym
koriym / 大東亜戦争終結に関する詔書.md
Last active Aug 15, 2021
玉音放送(大東亜戦争終結に関する詔書)全文
View 大東亜戦争終結に関する詔書.md

玉音放送(大東亜戦争終結に関する詔書)全文

Imperial Rescript on Surrender

朕深ク世界ノ大勢ト帝國ノ現狀トニ鑑ミ非常ノ措置ヲ以テ時局ヲ收拾セムト欲シ玆ニ忠良ナル爾臣民ニ吿ク

私は、世界の情勢と日本の現状を深く考え、緊急の方法でこの事態を収拾しようとし、忠実なるあなた方臣民に告げる。

After pondering deeply the general trends of the world and the actual conditions obtaining in Our Empire today, We have decided to effect a settlement of the present situation by resorting to an extraordinary measure.

> 朕ハ帝國政府ヲシテ米英支蘇四國ニ對シ其ノ共同宣言ヲ受諾スル旨通吿セシメタリ

@koriym
koriym / ruleset_xml_schema.xsd
Created May 5, 2021 — forked from addiks/ruleset_xml_schema.xsd
New ruleset_xml_schema.xsd
View ruleset_xml_schema.xsd
<?xml version="1.0"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
targetNamespace="http://pmd.sf.net/ruleset/1.0.0"
elementFormDefault="qualified">
<xs:element name="ruleset">
<xs:complexType>
<xs:sequence>
@koriym
koriym / NotPreladerdFinder.php
Created Mar 10, 2021
Loader to find classes that have not been preloaded
View NotPreladerdFinder.php
<?php
// preloadされていないクラスを見つけるローダー
$notPreloaded = new ArrayObject();
spl_autoload_register(function (string $class) use ($notPreloaded) {
$notPreloaded[] = $class;
},
true,
true
);
@koriym
koriym / pcre2.h_not_found.md
Last active Feb 10, 2021
'pcre2.h' file not found on Mac Big Sur with PHP 8?
View pcre2.h_not_found.md
/opt/homebrew/Cellar/php/8.0.2/include/php/ext/pcre/php_pcre.h:23:10: fatal error: 
      'pcre2.h' file not found
#include "pcre2.h"
         ^~~~~~~~~
1 error generated.

To fix this issue, Symlink pcre2.h manually.