Skip to content

Instantly share code, notes, and snippets.

@SAMUKEI
SAMUKEI / cleanup-versions
Last active February 24, 2026 14:55
ローカルの言語バージョン一覧化&未使用削除ツール (Ruby/Node/Python/Flutter/Java/Go)
#!/usr/bin/env bash
#
# cleanup-versions - ローカルの言語/ツールバージョンを一覧化し、未使用分を対話的に削除
#
# Usage:
# cleanup-versions # 一覧表示のみ(安全)
# cleanup-versions --clean # 未使用バージョンの対話的削除(1つずつ確認)
# cleanup-versions --clean-all # 未使用バージョンを一括削除
#
# Environment:
@SAMUKEI
SAMUKEI / build.gradle
Created June 14, 2018 02:43
NullableをNonNullにする闇魔法(DataBinding 3.0.0一時しのぎ)
// databindingの @Nullable を @NonNull に置換
// FIXME: DataBinding3.0.0で@NonNull,@Nullableが付与してくれるようになったが、修正範囲が大きいため、一時的に@Nullableを@NonNullとして扱うように・・・
task replaceJava {
doLast {
println ':replaceJava#Batabinding'
def dir = "build/generated/source/kapt"
def pack = "jp/xxx/databinding"
for (String type : ["developDebug", "developRelease", "productionRelease", "productionDebug"]) {
try {
ant.replaceregexp(match: '@Nullable', replace: '@NonNull', flags: 'g', byline: true) {
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01">
<Items>
<Item>
<ASIN>B00SKQWBFS</ASIN>
</Item>
</Items>
</ItemSearchResponse>
private fun doRequest(url: String) {
// API呼び出し
val request = Request.Builder().url(url).build();
val client = OkHttpClient()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(response: com.squareup.okhttp.Response) {
val xml = response.body().string()
try {
// XMLのパース(XPath)
@SAMUKEI
SAMUKEI / generate_xcassets.sh
Created December 17, 2015 08:59 — forked from usami-k/generate_xcassets.sh
Create xcassets from image files for Xcode 5 : http://qiita.com/usamik26/items/c0c0559b6d66aa8e3bff
#!/bin/sh
create_imagesets() {
for file in * ; do
if [ -f $file ] ; then
file_base=${file%.*}
imageset_base=${file_base%~iphone}
imageset_base=${file_base%~ipad}
imageset_base=${imageset_base%@2x}
dir=$imageset_base".imageset"