Skip to content

Instantly share code, notes, and snippets.

@kuluna
kuluna / compress.sh
Last active March 9, 2025 01:49
指定したディレクトリ内の特定の拡張子のみを圧縮
#!/bin/bash
# 引数チェック
if [ $# -lt 2 ]; then
echo "使用方法: $0 <対象ディレクトリ> <拡張子>"
exit 1
fi
# 圧縮対象のディレクトリ(引数で指定)
TARGET_DIR="$1"
@kuluna
kuluna / MainActivity.kt
Last active July 22, 2018 08:56
Android smart? setContentView
class MainActivity : AppCompatActivity() {
private val binding: ActivityMainBinding by SetContentView(this, R.layout.activity_main)
}
@kuluna
kuluna / DataBindingAdapter.kt
Last active March 11, 2018 06:36
Android DataBinding 💛 RecyclerView
import android.content.Context
import android.databinding.DataBindingUtil
import android.databinding.ViewDataBinding
import android.support.annotation.LayoutRes
import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
abstract class DataBindingAdapter<E, T : ViewDataBinding>(val context: Context, @LayoutRes private val layoutId: Int) : RecyclerView.Adapter<DataBindingAdapter.DataBindingViewHolder<T>>() {
@kuluna
kuluna / Response.kt
Last active October 4, 2021 08:54
Retrofit 💛 LiveData for Android
data class ResponseBody<T>(
var body: T?,
var error: ResponseError?
)
data class ResponseError(
var statusCode: Int,
var message: String
)
@kuluna
kuluna / nmb.js
Last active March 2, 2017 04:33
Push notification used Nifty Mobile Backend
'use strict';
var req = require("request");
var crypto = require("crypto");
exports.push = function(niftyAppKey, niftyClientKey, title, message) {
const uri = "https://mb.api.cloud.nifty.com/2013-09-01/push";
const timestamp = new Date().toISOString();
const headers = {
"X-NCMB-Application-Key": niftyAppKey,