Skip to content

Instantly share code, notes, and snippets.

View takuji31's full-sized avatar
🐰
Rabbit is the justice!

Takuji Nishibayashi takuji31

🐰
Rabbit is the justice!
View GitHub Profile
@takuji31
takuji31 / Snackbar.kt
Created November 25, 2019 08:20
Bind boolean to Snackbar visibility using LiveData
fun MutableLiveData<Boolean>.bindTo(viewLifecycleOwner: LifecycleOwner, snackbar: Snackbar) {
observe(viewLifecycleOwner) { isVisible ->
if (isVisible && !snackbar.isShownOrQueued) {
snackbar.show()
} else if (!isVisible && snackbar.isShownOrQueued) {
snackbar.dismiss()
}
}
val callback = object : Snackbar.Callback() {
@takuji31
takuji31 / file.kt
Last active January 16, 2019 11:33
拡張関数の便利な使い方
data class User(val firstName: String, val lastName: String, val gender: Gender)
enum class Gender {
Male, Female, Other
}
class HogeActivity: Activity() {
lateinit var user: User
fun onCreate(savedInstanceState: Bundle) {
user = //なんかで作る
@takuji31
takuji31 / ViewExtensions.kt
Created March 4, 2016 05:17
Close drawer and run
import android.support.v4.widget.DrawerLayout
import android.support.v4.widget.DrawerLayout.SimpleDrawerListener
import android.view.View
fun DrawerLayout.closeDrawerAndRun(drawerView: View, block: DrawerLayout.(view: View?) -> Unit): Unit {
addDrawerListener(object : SimpleDrawerListener() {
override fun onDrawerClosed(drawerView: View?) {
this@closeDrawerAndRun.block(drawerView)
this@closeDrawerAndRun.removeDrawerListener(this)
}
})
#!/usr/bin/env perl
use 5.018_001;
use warnings;
use Web::Query;
my $q = Web::Query->new_from_file("data.html");
my $table = [];
$q->find('table.csv2table-table tr')->each(
sub {
機体名 項目名 箇所 変更前 変更後
ジム 機体 アーマー 960 1230
ジム 100mmマシンガン訓練型 威力 350 400
ジム 100mmマシンガン 威力 550 600
ジム 100mmマシンガン改良型H 威力 450 550
ジム ビームサーベル軽量型 威力 2500 3000
初期型ジム 機体 アーマー 1040 1330
初期型ジム 100mmマシンガン 威力 550 600
初期型ジム 100mmマシンガン改良型H 威力 450 550
初期型ジム 100mmマシンガン改良型M 威力 450 500
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
@takuji31
takuji31 / setup.sh
Created July 13, 2012 02:41
git setup script
#!/bin/sh
GIT_VER=1.8.0
mkdir -p /usr/local/src
cd /usr/local/src
curl -LO "http://git-core.googlecode.com/files/git-$GIT_VER.tar.gz"
tar zxvf git-$GIT_VER.tar.gz
cd git-$GIT_VER
@takuji31
takuji31 / Email.pm
Created January 8, 2012 07:17
Email::Sender use Gmail and Amon2
use 5.014001;
use warnings;
package Xpost::Email {
use Data::Recursive::Encode;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP::TLS;
use Email::Simple;
use Email::Simple::Creator;
use Encode;
use File::Spec;
@takuji31
takuji31 / calcdraworder.pl
Created May 12, 2011 09:48 — forked from pen/calcdraworder.pl
描画順を計算
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
# 入力ファイルはこんなかんじで
# .......
# ...AA..
# ..BB...
# ..BBC..
@takuji31
takuji31 / gist:943580
Created April 27, 2011 01:45
SWF::Editorの使い方
use strict;
use warnings;
use SWF::Editor;
use SWF::Editor::Tag::DoAction::SetVariables;
my $editor = SWF::Editor->new(file => '/path/to/file.swf');
my $tag = SWF::Editor::Tag::DoAction::SetVariables->new(
vars => {