Skip to content

Instantly share code, notes, and snippets.

View yammerjp's full-sized avatar

Keisuke Nakayama yammerjp

View GitHub Profile
@yammerjp
yammerjp / YammerCustomStreamWrapper.php
Created January 21, 2025 04:18
PHPのstream wrapperを自分で定義する
<?php
class YammerCustomStreamWrapper {
private $position;
private $data;
public $context;
public function stream_open($path, $mode, $options, &$opened_path) {
switch ($path) {
@yammerjp
yammerjp / edit-colima-template.sh
Created January 4, 2025 03:31
Apple Siliconのcolimaをいい感じに (CPUとメモリの割り当てをホストマシンの半分に、vzとvirtiofsを使って、mountInotifyする)
#!/bin/bash
set -eo pipefail
function message() {
echo "$0: $1" 1>&2
}
if [ "$(uname)" != "Darwin" ]; then
@yammerjp
yammerjp / env2optpl.gawk
Created December 31, 2024 05:01
*.envの内容を1passwordに登録し、Secretのテンプレートファイルを生成
# Usage:
# $ gawk -f env2optpl.gawk namespace.name.env > name-secret.yaml.1password.tpl
# $ op inject - name-secret.yaml.1password.tpl > name-secret.yaml
# Example: namespace.name.env
# SECRET_KEY=SECRET_VALUE
# SECRET_KEY2="DOUBLE_QUOTED_VALUE"
# SECRET_KEY3="VALUE MUST NOT INCLUDE EQUAL CHARACTER"
BEGIN{
FS="="
}
@yammerjp
yammerjp / gen-sql-index.sh
Last active December 7, 2024 12:59
generate queries such as `ADD INDEX ...` from TypeScript sources
#!/bin/bash
TEMPORARY_DIR="/tmp/gen-sql-index"
set -e
function message()
{
echo "$1" 1>&2
}
@yammerjp
yammerjp / even.awk
Created May 22, 2023 01:36
偶数列のフィールドを出力
{
for(i=1; i<=NF; i++) {
if(i%2==0) {
if(i!=1) {
printf(" ")
}
printf("%s", $i)
}
}
printf("\n")

ABC266のawkの最短解答は、現在次のもののようです。(私の書いたコードではありません)

$0=$(gsub(_,FS)/2)

https://atcoder.jp/contests/abc266/submissions/34440987

この回答が面白かったので、以下にどのようなコードであるかの解説を書きます。

awkの基本文法

@yammerjp
yammerjp / Dockerfile.php-7.4.30-break-comparison
Last active September 27, 2022 01:36
A simple patch as an experiment to modify the comparison operations in PHP 7.4.30 ... https://github.com/php/php-src/tree/PHP-7.4.30
FROM ubuntu:20.04
WORKDIR /root
# apt-get installでtzdataがインストールされるときにタイムゾーンを聞かれるの でいい感じに回避
ENV DEBIAN_FRONTEND=noninteractive
RUN echo 'tzdata tzdata/Areas select Asia' | debconf-set-selections
RUN echo 'tzdata tzdata/Zones/Europe select Tokyo' | debconf-set-selections
# git以外はPHPのREADMEをみて必要そうなのでいれておく \
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y \
  1. Install Docker Desktop for Mac
  2. Install VSCode
  3. Install extensions and update settings (with the bash script)
curl -sL "https://git.io/JsqAf" | bash
@yammerjp
yammerjp / url2md.js
Created May 7, 2021 09:51
現在開いているページのURLとタイトルをMarkdownの形式でクリップボードにコピーする (以下のテキストをブックマークのURL欄に)
javascript:(function(){const e=document.createElement('input');e.value=`[${document.title}](${location.href})`;document.querySelector('body').append(e);e.select();document.execCommand('copy');e.remove();})();
@yammerjp
yammerjp / README.md
Last active January 14, 2020 08:57
for and forEach with Javascript ES6

Javascriptにおける、forとforEachの比較

同じ結果を出力する繰り返し文を、次の2つの文法で記述し比較する。

前提(環境構築)

以下はJavasciptを実行し、実行結果を比較する。