Skip to content

Instantly share code, notes, and snippets.

@TomoyaShibata
TomoyaShibata / MainActivity.kt
Last active June 29, 2018 02:50
Kotlin Coroutines でリトライをしながら通信を試行する with RxJava 2
package com.example.tomoyashibata.myapplication
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.coroutines.experimental.CommonPool
import kotlinx.coroutines.experimental.android.UI
@TomoyaShibata
TomoyaShibata / MainActivity.kt
Last active September 8, 2018 10:56
Kotlin Coroutines でリトライをしながら通信を試行する
package com.example.tomoyashibata.myapplication
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.coroutines.experimental.CommonPool
@TomoyaShibata
TomoyaShibata / ErrorMessage.kt
Created June 24, 2018 09:55
Retrofit2、RxJava2 でエラー時のレスポンスをいい感じに Data Class に詰める
package com.tomoyashibata.myapplication
data class ErrorMessage(
val message: String,
val errors: List<Error>
)
data class Error(
val resource: String,
val field: String,
@TomoyaShibata
TomoyaShibata / get_alert_dialog.dart
Last active February 18, 2018 07:41
Flutter で iOS / Android 向けに合わせた AlertDialog を愚直に出し分けるだけのメモ
// 使い方
// showDialog(context: context, child: this._getAlertDialog());
Widget _getAlertDialog() {
var title = new Text("AlertDialog");
var listBody = new ListBody(
children: [
new Text("AlertDialog body text."),
],
);
var androidAction = new FlatButton(
@TomoyaShibata
TomoyaShibata / signAndVerify.kt
Last active January 24, 2018 05:52
Android で楕円曲線暗号を使って署名/検証を行うコード。使用する楕円曲線は P-384 曲線。
private fun signVerify() {
val plainText = "I'm Tomoya Shibata"
val aliceKeyPair = this.generateKeyPair("aliceKeyPair")
// alice の秘密鍵で署名
val signSignature = Signature.getInstance("SHA256withECDSA")
signSignature.initSign(aliceKeyPair?.private)
signSignature.update(plainText.toByteArray(Charsets.UTF_8))
val sign = signSignature.sign()
Log.d("sign", String(sign))
@TomoyaShibata
TomoyaShibata / library.kt
Last active January 10, 2018 06:38
Android で NIST P-256 を使った公開鍵暗号を元に生成した共有秘密鍵で暗号化/復号するコード
import android.util.Log
import java.security.interfaces.ECPublicKey
import javax.crypto.Cipher
import javax.crypto.KeyAgreement
import javax.crypto.spec.SecretKeySpec
// Alice のキーペア作成
val aliceKpg = KeyPairGenerator.getInstance("EC")
aliceKpg.initialize(ECGenParameterSpec("secp256r1"))
val aliceKeyPair = aliceKpg.generateKeyPair()
@TomoyaShibata
TomoyaShibata / DateBindingAdapter.kt
Last active November 24, 2017 09:49
Android テンプレ for BPS
// java.util.Date をいい感じにフォーマットして表示するやつ
@BindingAdapter("date")
fun TextView.setDate(date: Date?): Unit {
if (createdAt == null) return
// android.text.format.DateFormat を使うよ
val formatedDate = DateFormat.format("yyyy.MM.dd kk:mm", date)
this.text = formatedDate
}
@TomoyaShibata
TomoyaShibata / it's_me.md
Last active July 2, 2023 01:44
これは私です!

Twitter のアカウントが凍結・あるいはサービスに問題が発生した場合、新しいアカウント、プラットフォームで「私は私です!」という自己証明を行うのはとても難しいです。

持続的な自己証明を可能な限り実現するため、この Gist を作成しました。

この一覧に記載されている各 SNS のアカウントは、私です。 万が一「なにか」が起きたときには、この一覧をご参照ください。

Bluesky

@TomoyaShibata
TomoyaShibata / style.css
Created June 15, 2017 15:33
Web 版 Twitter 2017.06.16 Update による過剰な角丸を 6px に統一するやつ
.RichEditor {
border-radius: 6px;
}
.EdgeButton {
border-radius: 6px;
}
@TomoyaShibata
TomoyaShibata / show_forced_search_menu.css
Last active June 5, 2017 13:57
デフォルトで非表示になってしまった pixiv のタグ / タイトル・キャプションやすべて / R18 選択欄を従来通り表示するようにする CSS
// お好みの CSS オーバーライド拡張機能で利用してください。
nav.column-menu { display: block; }