golang で処理の高速化をするために goroutine/channel を使って並行処理にし、待ち時間を無駄にしないようにするのは言葉で表すのは簡単ですが、実際にパターンとして落としこむためには経験が必要だなと思うので、今回 Dispatcher-Worker として Job Queue…
Go言語でコマンドラインツールを作るときに入力を受け取るインターフェースでオプションや標準入力で受け付けることはあると思いますが、パイプで渡すことも考慮されているとクールなツールになるなと思っています。 標準入力の受け取り それぞれの実装方法…
Ansible 2.1を動かしたところ、下記のようなエラーが発生… [kaneshin@casper-01] ~/local/src/github.com/kaneshin/kamimai (master) ( ^o^) < ansible-playbook -C misc/playbook/localhost.yml PLAY [127.0.0.1] ****************************************…
DenverにてGopherCon 2016が7/11~7/13の三日間で開催されるのに行く予定です。 ほぼ一ヶ月後には本場(?)のGopherたちと濃い期間を過ごすと思うと非常に楽しみ。 ただ、飛行機代とホテル代でかなりの銭が飛んだので、見合った成果を持ち帰りたいなと思って…
Go言語の構造体に関数を定義したあとに、動的に処理を変更することはreflectを使わない限りできないです。 ただ、スタブやモックとして関数の挿げ替えを行いたい場合や、実装を動的に変更したいという特質な要件を持つ人もたまにはいるでしょう。 そんなとき…
net/http パッケージで使用される ListenAndServe 関数は tcp による Listen のため、 UNIX ドメインソケットで Listen するには自前で準備する必要があります。 func (srv *Server) ListenAndServe() error { addr := srv.Addr if addr == "" { addr = ":ht…
GoogleがCloud Vision APIを使ってみた記事です。 実装したリポジトリはこちらです。 github.com/kaneshin/pigeon 準備 まず、Google Cloud Consoleでプロジェクトを作成し、Cloud Vision APIを有効にしてください。 その後、Service AccountのCredentialsを…
今年 ことしは4年振りにCanonの一眼レフを新調しました。 ボディはEOS 6D、レンズはEF24-70mm F2.8L II USMです。 まだあまり使用していないですが、しっくりきています。 今年の写真 おわりに 来年はたくさん撮影します。
スタッフ枠だったので受付も手伝いました。 登壇内容 GNU Debuggerを使おうよ、Print Debuggingやめようよ、というお話でした。 GDBを使え!という話でしたが、当方、現在Print Debuggingしています。明日から頑張る。 資料は昨日の朝からソラマチの外で作り…
株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記
この記事はCodeIgniter Advent Calendar 2013 の 1 日目の記事です。 今年はPHPについてAdvent Calendarを書きたかったんですよ! そしたらPHP Advent Calendar 2013は全て埋まってたわけで… しょうがないので書きたかったCodeIgniter のAdvent Calendar作っ…
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault]; [[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
別にObjective-Cは関係ないけど、Objective-Cでやってます。 //* NSLog(@"foo"); /*/ NSLog(@"bar"); //*/ /* NSLog(@"foo"); /*/ NSLog(@"bar"); //*/ 1行目にスラッシュが1つか2つかだけです。 高度なコードすぎて、エディタによってはうまくシンタックス…
こんな感じでかいたりする __weak __typeof(&*self) self_ = self;
会社の日報に開発Tips載せることにしたので、こっちでもそのメモを残すかな。 git-logは単体だと使い物にならないので、オプションをつけた方がいい。 また、コミットを「誰が」「いつ」したかの情報はログをパッと見るとき自分はそこまで重要ではないので--…
コマンドで SELECT * FROM table INTO OUTFILE "foo.csv" FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r'
これ以外に楽な方法ってあるのですかね? gistを見てたら見つけた感じです
gitをターミナルで使用してるときに、ブランチをいちいち確認する時間がもったいないので、画像のようにブランチ名を色を変えて表示させてる。 くわしくはkaneshin/dotfilesの .zshrc .shrc.common をみてもらったほうがいいですね。zshrcの中身はエスケープ…
LinkedTube
homebrewをupgradeかけたら、gitの補完ができなくなった $ git _git:.:26: no such file or directory: /usr/local/share/zsh/site-functions/git-completion.bash (anon):6: command not found: __git_main なので、こうする $ ln -s /usr/local/etc/bash_c…
本当は、すでに @mattn さんが作っていました。 mattn/ctrlp-sudden-death でも、何か使ってみると文字が変えられないのでモドカしい!! mattn さんちゃんと元ネタ見たんだろうか…。これコード見た限り文字列変更できないような。 github.com/mattn/ctrlp-s…
gcc@ gcc-ar@ gcc-nm@ gcc-ranlib@ x86_64-apple-darwin11.4.0-gcc@ x86_64-apple-darwin11.4.0-gcc-ar@ x86_64-apple-darwin11.4.0-gcc-nm@ x86_64-apple-darwin11.4.0-gcc-ranlib@ x86_64-apple-darwin11.4.0-gcc-tmp@ $ ls | grep --color=none gcc | sed…
// single tap UITapGestureRecognizer* singleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTapGesture:)]; [self.view addGestureRecognizer:singleTapGesture]; // double tap UITapGestureRecognize…
NSDataの中身をみたくなったときは下記を埋め込む // NSData *data const unsigned char *ptr = [data bytes]; unsigned char s[512]; for(int i = 0, n = [data length]; i < n; ++i) { unsigned char c = *ptr++; s[i] = c; NSLog(@"char=%c hex=%x", c, c…
この記事はVim Advent Calendar 2012 の 31 日目の記事です。 2012年も今日で終わりですね。12月は忙しかったので気付いたら年末でした。 最近はXcodeばかりを使用していたのでVimエディタからは離れていましたが、XcodeをVimライクにするプラグインのXVimを…
意図的にスレッドスリープさせたいとき [NSThread sleepForTimeInterval:.3f]; sleep()は整数のみ
そんなときは [button setEnabled:NO]; [button.titleLabel setAlpha:.5f]; で無理矢理白っぽくする!
テーブルのセルの選択したものを知りつつ、セグエを使うとき - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:IDENTIFIER]) { // Assume self.view is the table view NSIndexPath *index…
if you wanna get it. Simply code like this NSString *fontName = self.label.font.fontName; CGFloat fontSize = self.label.font.pointSize;
調べて、自分テイスト風にしてみた。