2015-01-01から1年間の記事一覧

Swiftで配列にuniqをかけるやつ

タイトル通り。 メソッド名は標準のsortInPlaceに合わせた感じにした。 一応使い方 // 引数なし版 var numbers = [1, 2, 3, 2, 3, 4] let uniqHoges = numbers.uniq() print(uniqHoges) // => [1, 2, 3, 4] print(numbers) // => [1, 2, 3, 2, 3, 4] numbers…

Xcodeのプロジェクトをリネームする

iOS

ほぼ適当な作業メモ。 http://qiita.com/kimi_dropc/items/fa860b0193fa4589a7e0 を見たけどディレクトリ名とか変わらずに残ったから完全に置換するやり方を残しておく。 1. Xcodeに変えてもらう プロジェクト設定の Identity and Type の Name に新しいプロ…

AutoLayoutで状況に応じた制約を適用する術

やりたいこと 2つのViewを条件によって1つ表示したり2つ表示したり 1つの場合は、親Viewのサイズいっぱいで 2つの場合は、良い感じにマージンを効かせて横並びに同じサイズで親Viewいっぱいに サンプルコード レイアウトはコードで書こうマンなのでサンプル…

Slackで人系の絵文字を一気に全色吐き出す君を作った

gist.github.com クソみたいに雑なスクリプト。 こんな感じで出力される。 $ skintone.pl pray :pray: :pray::skin-tone-2: :pray::skin-tone-3: :pray::skin-tone-4: :pray::skin-tone-5: :pray::skin-tone-6: コピペするのはだるいから pbcopy に食わせて…

Xcode7でInterface Builderを使わずに開発する

概要 ViewはSwift(or Objective-C)のコードで組み立てる 生のAutoLayoutのコードは辛いからSnapKitを使う まずやること 下記をやればInterface Builderから開放される。 Main.storyboardを消す プロジェクト設定の Main Interface を空欄にする Launch Scree…

YAPC::Asia Tokyo 2015に行ってきた + 座談会に出てきた

メモとか雑感とか。 聞いたトーク HTTP/2時代のウェブサイト設計 HTTP2によってレイテンシがボトルネックになることはなくなる!!ってのが激熱だった。 多量の画像を1つにまとめるよりも、別々に読み込んだ方が速いってのが驚き(デモはちょっと失敗しちゃ…

東京 Crystal 勉強会 #1 in 五反田 に参加した

7月31日に開催された東京 Crystal 勉強会 #1 in 五反田に参加した。 後輩氏が主催することもあって、なんとなくLT枠で参加した。 他の人の発表 感想を箇条書きにて。 マクロは思ったより難しくなさそう(簡単に使うぶんには) putsのオーバーロードやばい JS…

CrystalでHTTP通信

なるほど。LLだ。 というかRubyだ(Rubyわからんけど)。 require "http" require "json" client = HTTP::Client.new("lgtm.in") response = client.get("/g/mihyaeru21", headers: HTTP::Headers {"Accept": "application/json"}) obj = JSON.parse(respons…

pipでインストールできるコマンド

最近のpipのバージョンなら、githubとかにリポジトリを上げておけばPyPIに登録しなくてもモジュールをインストールできる。 サンプル 超サンプルリポジトリはこちら。 標準出力にhoge!!!!!!と出力するhogeコマンドを提供する。 $ pyenv virtualenv 2.7.9 hog…

Pythonからコマンドを実行して標準出力を受け取るやつ

subprocessを使うのが良いらしい。 設定周りが怪しいから調べないと。 import subprocess def execute(command): proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, _ = proc.communicate() return ou…

XcodeのAssistant Editorが関係ないファイルを勝手に開いた時の対処法

Xcodeを使うときはAssistant Editorを表示させて使う派で、 メインの方に実装ファイル、アシスタント側にヘッダファイルを表示させるのがいつもの構成。 しかし、たまによくAssistant Editorが関係ないファイルを開いてくれて地味にイライラする。 ストレス…

Cocos2d-x(iOS)でRxCppを使うときにハマったメモ

v2.1.0を落としてきて、適当なパスにRxCppを置いて、Header Search Pathにそこを指定した。 その後、普通にビルドしたら通ると思ったけども次のエラーが出てダメだった。 thread-local storage is not supported for the current target なにやら使えない機…

日付っぽい文字列をアレしたりepochをアレしたりするやつ

Pythonのリハビリがてら車輪の再発明をしてこんなのを書いた。 たまによく、変換するためにわざわざネットでやっていたから再発明した。 $ ./dt.py '2015-02-18 12:34:56' 1424230496 $ ./dt.py '2015-02-18' 1424185200 $ ./dt.py 1424230496 2015-02-18 12…

CPANにモジュールを上げてみた

WebService::Slack::WebApiというモジュールをCPANに公開して、ついにCPAN Authorになった。 モジュールについて アレな理由によりhubotのintegrationが使えず、(incomming webhooksもあるけど)せっかくだから生のAPIの方を弄ることに。 実態としては、API…

cocos環境構築メモ

cocos自体のインストール まずは本体を公式からダウンロード。 現時点で最新版のv3.3にした。 $ mkdir ~/lib $ mv /path/to/cocos2d-x ~/lib/cocos2d-x $ cd ~/lib/cocos2d-x $ ./setup.py こいつらは現状インストールしていないから全部スキップした。 Plea…

$PATHを改行しつつ表示する

普通にこれで良いと思った。 $ echo $PATH | sed -e 's/:/\n/g' が、ダメ。 :がnに置換されてしまう。 ダブルクオートじゃないからダメなのか...? $ echo $PATH | sed -e "s/:/\n/g" が、ダメ。 きーたのコメント欄に答えがあった。 BSD系のsedでは、\nで改…

カジュアルにClojureのファイルを実行する

Leiningenは便利だけども、プロジェクトを作らないと実行できないのがたまに面倒くさい。 そこで、ここを参考に実行用のファイルを作ってみた。 その1 Leiningenはclojure本体を~/.m2/repository/org/clojure/clojure/1.6.0/clojure-1.6.0.jarに持ってくるの…

git diff --statの横幅

Git

git diff --statの出力をパイプにぶち込むときの横幅の指定方法をすぐ忘れるからメモっておく。 デフォルトでは80文字っぽい。 git help diffで確認。 --stat[=<width>[,<name-width>[,<count>]]] こんな感じでdevelopとの比較を何らかのコマンドに渡す。 git diff --stat=128 develop |</count></name-width></width>…