Skip to content

Instantly share code, notes, and snippets.

@tmr111116
tmr111116 / gist:2ccbbbed1ffe8091df88
Created December 12, 2014 13:53
cocostudio から書き出された JSON の中身を雑に見る。
ruby -r json -e 'def f(o, i=0); oc = o["options"]["classname"]; on = o["options"]["name"]; print " " * i + "#{oc}, #{on}\n"; o["children"].each{|c| f c, i+2}; nil; end; ARGV.each {|j| p j; f JSON.load(open(j).read)["widgetTree"]}' *.json
@tmr111116
tmr111116 / post-merge
Created June 2, 2015 10:17
pull したタイミングで .DS_Store だけが含まれるフォルダを削除する git hook
#!/bin/sh
# pull したタイミングで .DS_Store を消して、 .DS_Store だけが含まれるフォルダを削除する。
#
# まず .DS_Store を削除してから、 .DS_Store が入っていたディレクトリを rmdir する。
# rmdir は空の場合しか削除しないので、中身が入っている場合はそのまま。 grep で不要なエラーメッセージを無視。
find . -name .DS_Store -exec rm {} \; -exec sh -c 'rmdir `dirname {}` 2>&1 | grep -E -v "rmdir:.+: Directory not empty"' \;
@tmr111116
tmr111116 / gist:3759556
Created September 21, 2012 03:21
UnityでC#の新規作成ファイルをBOM付きUTF-8にするコマンド(Mac環境向け)
# http://d.hatena.ne.jp/nakamura001/20120824/1345832011 の「複数回実行するとBOMデータが実行しただけ追加されてしまうので必ず1回だけ実行する様に気を付けて下さい。」が気になったので書きなおした。
ruby -e 'ARGV.each{|file|a=open(file).read().gsub(/\A(\xef\xbb\xbf)*/m,"\xef\xbb\xbf"*2);open(file,"w").write(a);}' /Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates/81-C#\ Script-NewBehaviourScript.cs.txt
@tmr111116
tmr111116 / gist:3810894
Created October 1, 2012 10:46
git で、特定のファイルにあったキーワードがどのコミットで消されたかを調べるコマンド。
# 全コミットのチェックサムと、キーワードが削除が表示されるので、キーワードの削除の上の行を見たらどのコミットかわかる。
git log --follow --patch ファイルのパス | grep -E '^commit|^-.*キーワード'
# --follow : ファイル名の変更を追跡する。
# --patch : パッチの形式でファイルの差分を表示する。
# grep -E : | をそのまま使いたいので。
# ^commit : どのコミットかわかるように commit で始まる行を表示する。
# ^-.* : 削除だけが見たいので - で始まる行だけを表示する。
@tmr111116
tmr111116 / .gitconfig
Created October 9, 2012 11:01
zip でアーカイブする git のエイリアス。
[alias]
root = rev-parse --show-toplevel
basename = ! basename `git root`
zip = ! git archive --format=zip --output=`git basename`.zip HEAD
@tmr111116
tmr111116 / .gitignore
Created November 12, 2012 06:11
中身は無視したいけどディレクトリ自体は取っておきたいディレクトリに .gitkeep のかわりに入れる .gitignore
# .gitignore 以外のファイルを全部無視する。
*
!.gitignore
# git の差分表示に使うには .git/info/attributes にこの内容と、
*.mwb diff=MySQLWorkbench
# git config でこれが必要。
# git config diff.MySQLWorkbench.textconv /path/to/mwb.sh
@implementation MySharedThing
+ (id)sharedInstance
{
DEFINE_SHARED_INSTANCE_USING_BLOCK(^{
return [[self alloc] init];
});
}
@end
@tmr111116
tmr111116 / NestCoroutine.cs
Created March 22, 2017 12:25
ネストしたコルーチンを止めてみる。
using System.Collections;
using UnityEngine;
public class NestCoroutine : MonoBehaviour
{
private IEnumerator _coroutine;
private int _count;
private int Count
{
get
@tmr111116
tmr111116 / unityrun.rb
Last active April 16, 2017 14:33
ProjectVersion によって起動する Unity を変えるやつコマンドライン引数対応版。
#!/usr/bin/env ruby
require "yaml"
UNITY_DIR_PREFIX = ENV.fetch("UNITY_DIR_PREFIX", "/Applications/Unity")
unity_args = ARGV.dup
project_path = Dir.getwd
path_arg = ARGV.index("-projectPath")
if path_arg