Skip to content

Instantly share code, notes, and snippets.

@terashim
terashim / php-array-json_encode.md
Created December 27, 2023 09:18
PHP配列の添え字が連番になっていないと `json_encode()` でJSONオブジェクトに変換される

PHP配列の添え字が連番になっていないと json_encode() でJSONオブジェクトに変換される。

$x = [0 => 'a', 1 => 'b'];
echo json_encode($x);
# => ["a","b"]

$x = [0 => 'a', 2 => 'b'];
echo json_encode($x);
# => {"0":"a","2":"b"}
@terashim
terashim / array-object-comparison-identity.php
Created May 19, 2022 02:52
[PHP] 配列とオブジェクトのそれぞれに対して比較演算子 `==` と一致演算子 `===` の挙動を確認する
<?php
/**
* 配列とオブジェクトのそれぞれに対して
* 比較演算子 `==` と一致演算子 `===` の挙動を確認する
*/
// 配列
$a = ["value" => 1];
$b = ["value" => 1];
@terashim
terashim / python-gcloud-auth-inspection.py
Last active September 14, 2023 04:03
PythonでGoogleのデフォルト認証についての状態を検証する
"""PythonでGoogleの認証についての状態を検証する
"""
import os
import google.auth
import google.auth.transport.requests
from google.auth.exceptions import DefaultCredentialsError
def get_tokeninfo():
@terashim
terashim / scales-comma-sandbox.R
Last active February 10, 2022 09:31
scales::comma() のデフォルト accuracy の挙動確認
#' ---
#' title: "scales::comma() のデフォルト accuracy の挙動確認"
#' author: terashim
#' output:
#' html_document:
#' keep_md: true
#' ---
#' ### accuracy を明示的に指定
scales::comma(c(0L, 1L), accuracy = 1)
@terashim
terashim / ifnone.py
Created February 3, 2022 06:01
Python で None を置換する ifnone 関数. Null 合体. SQL でいう IFNULL.
def ifnone(x, y):
return y if x is None else x
@terashim
terashim / R-Sys.setenv-side-effect.R
Created December 24, 2021 03:29
R Sys.setenv の副作用を検証
# Sys.setenv の副作用を検証
local({
x <- 1
Sys.setenv(MYENVVAR = x)
})
x
#> error
# 変数はローカル
@terashim
terashim / dict-add-key-value.py
Created July 29, 2021 14:27
dict にキーと値を追加する
x = {"a": 1}
{**x, "b": 10}
# {'a': 1, 'b': 10}
lst = [{"a": 1}, {"a": 2}]
list(map(lambda x: {**x, "b": 10}, lst))
# [{'a': 1, 'b': 10}, {'a': 2, 'b': 10}]
@terashim
terashim / target-markdown-sandbox.Rmd
Created June 8, 2021 15:57
Target Markdown の検証
---
title: "Target Markdown の検証"
author: "@terashim_"
date: "2021-06-08"
output: html_document
---
```{r setup, include = FALSE}
knitr::opts_chunk$set(collapse = TRUE, comment = "#>",
tar_interactive = FALSE)
@terashim
terashim / check-laravel-cache-files-permission.sh
Last active February 17, 2021 04:16
check Laravel cache files permission
# check Laravel cache files permission
cd /path/to/laravel/root/directory
find storage/framework/cache -printf "%y %4m %8u %8g %p\n"
# output example
#> d 2775 apache laravel storage/framework/cache
#> d 2775 apache laravel storage/framework/cache/data
#> f 664 apache laravel storage/framework/cache/data/.gitignore
#> d 2755 ec2-user laravel storage/framework/cache/data/47
#> d 2755 ec2-user laravel storage/framework/cache/data/47/13
@terashim
terashim / dc-down-all.sh
Last active July 23, 2023 19:40
List or down all Docker Compose projects running on your machine
#!/usr/bin/env bash
#
# Down all running Docker Compose projects
#
docker ps --filter "label=com.docker.compose.project" -q |\
xargs docker inspect |\
jq -r 'map( .Config.Labels ) |
map({"
project": ."com.docker.compose.project",