Skip to content

Instantly share code, notes, and snippets.

View STAR-ZERO's full-sized avatar

Kenji Abe STAR-ZERO

View GitHub Profile
class SampleViewModel : ViewModel() {
val sampleData = UiAsyncLoadLiveData<String> {
value = try {
async(coroutineContext + CommonPool) {
"very long time process!"
}.await()
} catch (e: CancellationException) {
null
}
}
@jaredsburrows
jaredsburrows / Rx1TestBase.java
Last active July 28, 2019 04:16
RxAndroid overriding schedulers
import org.junit.After;
import org.junit.Before;
import rx.Scheduler;
import rx.android.plugins.RxAndroidPlugins;
import rx.android.plugins.RxAndroidSchedulersHook;
import rx.schedulers.Schedulers;
/**
* JUnit Tests.
*
@keijiro
keijiro / 00_README.md
Last active April 6, 2022 07:26
About Xcode Manipulation API in Unity

Unity から出力される Xcode プロジェクトをカスタマイズする方法 - Xcode Manipulation API

Unity 5 には Xcode Manipulation API が標準で搭載されており、これを使うことで、Unity の出力する Xcode プロジェクトを比較的簡単にカスタマイズすることができます。

ここでは例として、Unity から出力される Xcode プロジェクトの Info.plist ファイルを書き換えてみます。

下にある XcodeProjectUpdater.cs がそれです。このファイルを Editor ディレクトリ下に放り込んでおきます。すると、ビルド時に Info.plist を書き換えて、“TestEntry” というキーに “Hello” という値を設定します。見たそのまんまのシンプルな内容です。

鍵となるのは UnityEditor.iOS.Xcode に用意されている PlistDocument と PBXProject です。これらのクラスを使うことで、plist ファイルや Xcode プロジェクトファイルの書き換えが簡単に行えるわけです。

@rummelonp
rummelonp / Tweetbot.scpt
Created January 7, 2014 08:01
iTunes の曲情報を Tweetbot for Mac で投稿するやつ
tell application "iTunes"
set strName to name of current track
set strArtist to artist of current track
set strAlbum to album of current track
end tell
set the clipboard to "Now Playing: “" & strArtist & "” / “" & strName & "” from “" & strAlbum & "”"
tell application "Tweetbot"
activate
@coastwise
coastwise / VertMinusCameraFOV.cs
Created July 8, 2013 20:16
VERT- Field of view scaling for Unity3D cameras.
using UnityEngine;
using System.Collections;
/**
* This class attempts to force VERT- Field of view scaling.
* By default, Unity uses the HOR+ technique.
*
* http://en.wikipedia.org/wiki/Field_of_view_in_video_games#Scaling_methods
*/
@Shinpeim
Shinpeim / rack.md
Last active December 16, 2015 10:38

Rackアプリケーション

ユーザーからのリクエストとかが詰まった「env」っていうオブジェクトを受け取って「ステータスコード、HTTPレスポンスヘッダとボディ」を返すアプリケーション。コネクションの管理とかはしない。たんじゅんにenvっていうオブジェクトを受け取って結果を返す、ふつうの Ruby のクラス。

たんじゅんにenvを受け取って結果を返すだけのものだから、一枚wrapすることで「本体のRackアプリケーションにenvを渡す前にちょこっとenv書き換えたれ」とか「本体から帰ってきたレスポンス書き換えたれ」とかが簡単にできる。これがRackミドルウェア。

Sinatra とか Rails で書いたアプリケーションの実体はRackアプリケーションである(というかRackアプリケーションにできる)。言い方を変えると、Sinatraとかは「Rackアプリケーションを作るためのフレームワーク」である。

Rackサーバー

HTTPリクエストを受け取って、環境変数とかといっしょにした env を作る。そしたら env をRackアプリケーションに渡して、Rackアプリケーションから受け取ったステータスコード、HTTPレスポンスヘッダとボディをHTTPレスポンスとして返す。という動きをするサーバー。

2013 年の新卒研修メニュー

Rails Tutorial

目的

  • 2013 年にモダンな方法で一通り Web アプリケーションを自分一人で作れるようになってもらう
  • 作る過程で Web 開発で必要とされるアプリケーションレイヤのスキルセットを身につけてもらう

教科書

@mochiz
mochiz / gist:4736183
Last active April 16, 2023 03:56
rbenvとruby-buildでRuby環境を最新に保つ

rbenvとruby-buildでRuby環境を最新に保つ

更新日:2014/11/19

rbenv, ruby-buildを更新

$ cd ~/.rbenv
$ git pull origin master
$ cd ~/.rbenv/plugins/ruby-build
$ git pull origin master
@Shinpeim
Shinpeim / 000.md
Last active January 22, 2022 07:31
プロセスとかスレッドとかプロセス間通信とかについて書く場所

重要

サイズがあまりに大きくなってしまったので、gist ではなくて github 上で管理するようにしました。

https://github.com/Shinpeim/process-book

URL 変わっちゃうの申し訳ないんだけど、一覧性が高くなるのと pull req が受け取れるメリットのほうを取ります。せっかく読みにきてくれたのにひと手間かかっちゃってすみません。

この文書の目的

@narusemotoki
narusemotoki / androidscreenshot.sh
Created February 7, 2013 02:24
Androidのスクリーンショットを撮影してパソコンのホームディレクトリに保存するシェルスクリプト。 adbの用意が必要です。 スクリーンショットのファイル名はscreen_shot_{timestamp}.png。 Ubuntuで動作確認しています。Macは動くだろうけどWindowsは動かないと思う。 Cygwinなら動くのかな? ICS以上じゃないと動かないかも。
#!/bin/sh
TIMESTAMP=`date +'%s'`$(printf '%03d' $(expr `date +%N` / 1000000))
SCREEN_SHOT_NAME=screen_shot_${TIMESTAMP}.png
adb shell /system/bin/screencap -p /sdcard/${SCREEN_SHOT_NAME}
adb pull /sdcard/${SCREEN_SHOT_NAME} ~/${SCREEN_SHOT_NAME}
adb shell rm /sdcard/${SCREEN_SHOT_NAME}