Skip to content

Instantly share code, notes, and snippets.

View zonuexe's full-sized avatar
🤓
PHP is a Lisp. Emacs is Web.

USAMI Kenta zonuexe

🤓
PHP is a Lisp. Emacs is Web.
View GitHub Profile
@zonuexe
zonuexe / tadsan-conf-proposal.md
Created May 14, 2023 08:29
カンファレンスのプロポーザルを送るときに考えてること

具体的なプラクティスはさんざんいろんなところに書かれてるので、自分が意識していることだけ書く

  • まず自分が最高のゲストになることを意識する
    • イベントはマーケティングツールではないので、自分がコミュニティの一員になる
      • 最近はYouTubeに動画上がってたりするから当日参加しそこねてもハードルが下がった
      • 全部は見る必要はないが、興味あるテーマのものを当日現場で参加してるつもりで見る
        • どうせ当日参加しても全セッションは見ないからね
        • 発表内容について自分ならどう表現するか批評的に見る
        • よくなかった点があれば自分ならどうしたら繰り返さないかを考える
  • スライドを見るだけでは文脈がわからないので、動画があるものは時間が許す限り動画で見る
@zonuexe
zonuexe / tadsan1.php
Last active August 27, 2022 09:53
めもりー沖縄
<?php
$money = filter_var($argv[1] ?? 12345, FILTER_VALIDATE_INT);
$coins = [10000, 5000, 2000, 1000, 500, 100, 50, 10, 5, 1];
$charge = [];
foreach ($coins as $coin) {
array_push($charge, ...array_fill(0, intdiv($money, $coin), $coin));
$money %= $coin;
}
@zonuexe
zonuexe / README.md
Last active July 10, 2022 02:08
Qiitaコメント (deleted)
@zonuexe
zonuexe / phpstan-for-phpstorm.php
Last active March 31, 2021 21:02
PhpStormでPHPStanに無駄なファイルを解析させないラッパースクリプト
#!/usr/bin/php
<?php
/** @license WTFPL http://www.wtfpl.net/ 2020 tadsan */
$base_dir = dirname(__DIR__) . '/';
$new_argv = [__DIR__ . '/phpstan'];
array_shift($argv);
file_put_contents(__DIR__ . '/../phpstan.log', json_encode($argv, JSON_UNESCAPED_SLASHES) . PHP_EOL, FILE_APPEND);
@zonuexe
zonuexe / socket-http.php
Created December 12, 2020 06:05
ソケットでHTTP/1.1通信する
<?php
$request = implode("\r\n", [
'POST /post HTTP/1.1',
'Host: httpbin.org',
'Accept: application/json',
'Content-Type: application/json',
'Connection: close',
'',
json_encode(['foo' => 'bar']),
@zonuexe
zonuexe / kokoro.md
Last active June 13, 2020 09:56
「こころ」携帯小説版

アタシはその人をいつも「センセ」と呼んでいた。だからここでもただセンセと書くだけで本名は秘密。
これはバレちゃうとか気にしてるんじゃなくて、アタシにとって自然だから。
アタシはその人のことを思い出すたびに、すぐ「センセ」といいたくなる。
小説を書いていても気持ちは同じ。イニシャルとかもわざとらしいからヤダ。

アタシがセンセと知り合ったのは鎌倉。その時アタシはまだフリーターだった。
夏休みに海に行ったメル友から「遊ぼうよ」ってメールが届いたからアタシはバイトして
お金を貯めて、遊びに行った。お金が貯まるのに3日かかった。

@zonuexe
zonuexe / fib-recursive.php
Created February 15, 2020 20:35
ジェネレータで無限を手玉に取る修行
<?php
function fib(int $i)
{
return [0, 1][$i] ?? fib($i - 1) + fib($i - 2);
}
var_dump(iterator_to_array(map(Closure::fromCallable('fib'), xrange(1, 24))));
@zonuexe
zonuexe / fib-generator.php
Last active February 15, 2020 20:13
ジェネレータで無限を手玉に取る修行 (2)
<?php
function fibonacci()
{
$i = 0;
$j = 1;
while (true) {
yield $i;
[$i, $j] = [$j, $i + $j];
@zonuexe
zonuexe / 0-util.php
Last active February 15, 2020 17:12
ジェネレータで無限を手玉に取る修行
<?php
function map(Closure $callback, iterable $iter): Generator
{
foreach ($iter as $k => $v) {
yield $k => $callback($v);
}
}
function take(int $n, iterable $iter): Generator