Skip to content

Instantly share code, notes, and snippets.

Avatar

Akihito Koriyama koriym

View GitHub Profile
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 / 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.

@koriym
koriym / meida_query.php
Last active Jan 31, 2021
Minimum repository pattern with AOP
View meida_query.php
<?php
// The next Rqy.Query
namespace Ray\Query\Fake\Media;
use Ray\Query\Annotation\Sql;
interface RegisterUserInterface
{
@koriym
koriym / install_arm_php.log.md
Last active Nov 21, 2020
Brew install log on arm Mac
View install_arm_php.log.md

php

akihito@kumaair(arm64) ~ % /opt/homebrew/bin/brew install php
Warning: You are running macOS on a arm64 CPU architecture.
We do not provide support for this (yet).
Reinstall Homebrew under Rosetta 2 until we support it.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
@koriym
koriym / php_spaceship.md
Last active Nov 4, 2020
PHP spaceship operator example
View php_spaceship.md
usort($descriptors, function (AbstractDescriptor $a, AbstractDescriptor $b): int {
    $order = ['semantic' => 0, 'safe' => 1, 'unsafe' => 2, 'idempotent' => 3];
    
    return $order[$a->type] <=> $order[$b->type]; // sort by type
});
@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?