Skip to content

Instantly share code, notes, and snippets.

@ngyuki
ngyuki / README.md
Last active July 15, 2022 15:12
tcp chat by coroutine

[PHP]PHP のコルーチンを使ってみる

PHP 5.5 でコルーチンが実装されましたが、全く使っていなかったので使ってみました。

コルーチンとは

コルーチンとは何なのかというと・・・Wikipedia によると次の通りです。

コルーチン - Wikipedia

@ngyuki
ngyuki / autoissue
Last active September 18, 2020 07:29
auto generate issue for centos6
#!/bin/bash
#
### BEGIN INIT INFO
# Required-Start: $network
# Should-Start: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
#
# chkconfig: 2345 98 02
@ngyuki
ngyuki / .bootstrap-modals
Last active October 29, 2018 00:47
Bootstrap でモーダルを多重表示するサンプル
We couldn’t find that file to show.
#!/usr/bin/env bash
# example)
# ./phpunit-watch src/ tests/ -c tests/ --colors
set -e
set -u
function usage
{
@ngyuki
ngyuki / uopz-di-classes.php
Last active March 6, 2018 12:29
Example of uopz di experimental
<?php
interface SayInterface
{
public function say();
}
class Ore implements SayInterface
{
public function say()
{
<?php
function compose(callable $initial, callable ...$functions)
{
if (count($functions) < 1) {
throw new \InvalidArgumentException('at least two functions are required');
}
return array_reduce($functions, function ($f, $g) {
return function (...$args) use ($f, $g) {
return $f($g(...$args));
function success(t){
return new Promise(resolve => {
setTimeout(() => {
resolve();
}, t);
})
}
function error(t){
return new Promise((resolve, reject) => {
#!/usr/bin/env node
// @see https://qiita.com/soarflat/items/1a9613e023200bbebcb3
function sampleResolve(value) {
return new Promise(resolve => {
setTimeout(() => {
resolve(value);
}, 1000);
})
<?php
namespace strpos {
function startsWith($haystack, $needle) {
return (strpos($haystack, $needle) === 0);
}
function endsWith($haystack, $needle) {
return strrpos($haystack, $needle, 0) === strlen($haystack) - strlen($needle);
}
}
@ngyuki
ngyuki / gist:3421011
Created August 22, 2012 00:52
svn で author の一覧を取得するワンライナー
# author の一覧を取得
svn log -q $URL | grep -v "^----" | cut -d "|" -f2 | sort | uniq
# 作業ディレクトリ内で実行する場合
svn log -q | grep -v "^----" | cut -d "|" -f2 | sort | uniq