Akata Works

東京エンジニア。主にRuby,Go,たまにAWSとiOS。ゲーム音楽が好きです。連絡はTwitterかakata.onen@gmail.comまで

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

RailsとBundlerで`bundle exec`を省略した話とその時の副産物について

Railsアプリケーションの開発に使っているBundlerで一々bundle execを打つのって面倒ですよね。 調べてみるとrbenvのpluginだとかいろいろあるらしいのですが、 これまではずっとエイリアスでなんとか凌いでいました。 ↓こんなやつ↓ alias rs='bundle exec r…

今更ながらXcode 7のBitcodeについてまとめてみた

タイトルにあるように今更ながら、Xcode 7でいろいろあったBitcodeについてまとめてみました。 まずはじめに、BitcodeとはXcodeのビルドフローにおける中間言語(LLVM IR)のバイナリ表現です。 LLVM IRにはテキスト表現とバイナリ表現の2種類がありますが、そ…

コンテンツ単位でボットからのアクセスを無視する

自身のサイトに訪れたユーザのアクセス情報をイベント単位で取得し、レポートを作成したり、Mixpanelを使用するとき、 クローラなどのボットが凄まじいノイズっぷりを発揮し、 レポートがメチャクチャになります。 サイト単位やページ単位でボットのアクセス…

Xcodeで遭遇したエラーたち・・(逐次更新)

見つかる度に逐次更新していく予定です。 duplicate symbol OBJC_CLASS$_ (2015-09-18) duplicate symbol _OBJC_CLASS_$_#{hoge} 同じ名前のクラスや変数,メソッドなどが定義されていれば発生します。本来はIDEの恩恵ですぐに気付くと思いますが、僕の場合…

Xcodeのキャッシュのせいでエラーが出ていた

Tipsレベルですが・・ Xcodeでとあるフレームワークを入れたり消したり、バージョンを上げたり下げたりしていたら、 バージョンAを参照してるつもりが、バージョンBが参照されていました。 ちゃんとFramework Search Pathもフレームワークのパスも確認したが…

Homebrewで"configure: error: cannot run C compiled programs"が出た

最近、iOS 9の開発のためにMac OSXをEl Capitan 10.11 Betaに、 XcodeをXcode 7 Beta変えたところ、 しばらく使っていたら、急にtigが使えなくなりました・・ なんか依存ライブラリのReadlineが死んでいたっぽいので、 再インストールしてみました。 $ brew …

Rubyのスコープと変数定義で「What!?」ってなった話

最近になって急に、開発言語がPerlからRubyとObjective-Cに早変わりして大変です。 そして、Perlの感覚でRubyを書いていると「What!?」ってなったことがあったので、 久しぶりに記事にしてみました。 下記はPerlのコードです。 #!/usr/bin/env perl use stri…

未変更のファイルが変更扱いになっていた問題(サブモジュール編)

Git

最近、git addしてもgit checkoutしても、変更扱いされているファイル(以下hoge)がありました。 僕としてはhogeをまったく変更した記憶がないんですが・・ 同じような現象としてファイルモードの問題があったので、 下記URLを参考に解決しようと思ったのです…

Macでトラックパッドのスピードを限界突破したい

Mac

最近全然更新してなかった割にはしょぼい記事ですが・・ Macのトラックパッドのスピードが遅いです。 Better Touch Toolを使って速くしているつもりですが、それでも遅いです。 すごいイライラします´д` ; そこで、defaultsコマンドを使ってみました。 こい…

ScalaのArrayとApplyについて調べた

初、Scalaの記事です。 Scalaは言語仕様にオマジナイ的なものが少なくて、 勉強していて「なるほど、ここはこうなってんだ〜〜」て思うことが多いです。 さて、そんなScalaの配列ですが、定義方法だけでも結構あります。 val num: Array[Int] = new Array[In…

CentOS 6.4にTorch7をインストールしてみた

最近あまり記事書いてないなーと思いながら投稿・・ 巷で噂のディープラーニングをやろうと思ってTorch7をインストールしてみました。 CentOS 6.4でやりました。 ディープラーニング系のライブラリは導入が割とメンドクサいらしく日本語の記事が少ないですね…

DBIxでN+1問題に直面した・・其の壱

いにしえのコードを修正していたらDBIxでN+1問題に直面している部分を発見した!! なので解決策をサクッと書こうと思います(/・ω・)/ 初めにN+1問題とは PerlのDBIxのようなORMは最適化のために余分なカラムは読み込まないようになっていることが多いです。 …

スタブでオリジナルのメソッドを呼び出す

Test::Mock::Guardモジュール便利ですよね。シンプルで使いやすいので、よくこれでメソッドの動作を変えたりしてます。 しかしこの前、かなりシビアな条件でのみ起こり得るバグに遭遇してしまい、 Forkしたりスリープ埋め込んだりして、 なんとか再現しよう…

ScalaをインストールするためのAnsible-Roleを書いた

ちゃんとgit pullした後にpullされているか確認しましょう。 ひどい目にあいますよ\(^o^)/ はい、今回はScala(ついでにsbtも)です。結論:めっちゃ簡単だった akatakun/scala · GitHub 第1弾Git: GitをインストールするためのAnsible-Roleを書いた - Akata…

PerlとDBIxでトランザクションのテストをするときに注意したいこと

複数のテーブルを操作するときトランザクションを貼る必要がありますよね?? そこでよくTest::Mock::Guardなどのモジュールを使って 擬似的にエラーを吐かせたりするんですが、ちょっと詰まったとこがあったのでここにメモしておきます。 下の関数はとある…

ZshでChange DirectoryしたときにList Segmentsする

Zsh

Zshでcdしたときにlsされると便利かな~って思って適当に実装してみた。 手っ取り早く考えたのがこれ alias cd="cd $1 ls" まあコレはちゃんと動かないんですけどね。 エイリアスは引数を取れないので、問答無用でホームディレクトリ帰され、lsに引数が渡さ…

ZshをインストールするためのAnsible-Roleを書いた

AnsibleのRoleシリーズの第3弾はシェルスクリプトのZshです。 akatakun/ansible-role-zsh · GitHub 第1弾Git: GitをインストールするためのAnsible-Roleを書いた - Akata Works 第2弾Vim: VimをインストールするためのAnsible-Roleを書いた - Akata Works 第…

perl: warning: Setting locale failed.

MacからSSHでCentOSに接続してPerlを実行すると以下のエラーが出た。 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "ja_JP.UTF-8" are supported and inst…

タイピングゲームを自動化するスクリプトを組んだった

今更ながら、YAPC::ASIA 2011の竹迫さんの発表を見て興味を持ったので、 Win32::GuiTestモジュールを触ってみました。 まあ、.NET Framework使えよって話ですがね。 せっかくオープンソース化されたので、時間があれば読んでおきたいな。 開発環境はCygwinと…

Perlのプラグマについて調べてみた

ふと、プラグマってたまーに聞くけど一体全体何なんだって思ったので調べてみた 個人的にはPerlプログラミング救命病棟の以下の説明がしっくりきた Perlコンパイラの動作を変更するモジュールである φ(゚Д゚ )フムフム… 確かにstringもwarningもutf8プラグマもPerl…

VimをインストールするためのAnsible-Roleを書いた

最近忙しくてちょっとペースが落ちてきているのが気になるakataです。 気が付いたら社会人も二年目になっていました。 今回は前回に引き続き、AnsibleでVimをインストールするためのRoleを書きました!! と言っても、ほとんどGitの使い回しですが・・(^_^;)…

GitをインストールするためのAnsible-Roleを書いた

まあ、タイトルどおりなんですが、AnsibleでGitをインストールするためのRoleを書きました!! でも、実際はセッティングとリポジトリのクローンまでできますよ。 本当はずいぶん前に書いたものもあるのですが、冪等性(笑)状態で、最適化もしていないオレ…

Perlの文字列の扱い方・・其の壱

いい加減に理解しておこうと思って、Perlの文字列の扱い方についてまとめました。長いので2回に分けたいと思います。あと、ちょっと覚書みたいになってます(文章って難しい・・) 簡単に概要と背景ですが、 Perlのバージョン5.8以降は内部文字列をutf8とし…

AWS S3とBase64エンコードの話

最近、すごいエンジニアの人のブログを最初の記事から読んでいます。 勉強になるのはもちろんのこと、すごいエンジニアの人に比べて自分の成長スピードがいかほどか比較できておもしろいです(やっぱりすごい人はすごい!!) さて、本題に入ります。 前々回…

CygwinでZshを使う

最近、Windows側の操作は専らCygwinを使っています。 僕の基本ツールの中でもTmuxとVim,Gitはもう入れていたのですが、Zshはまだ入れていなかったので、ササッと入れるつもりで挑んでみました。 パッケージ管理ツールとしてapt-cygコマンドが入っていれば、…

PerlでAWS S3にアクセスする

今やっている仕事でAWS S3上のファイルを取得する必要があり、AWSのSDKを探していたんですが、AmazonさんはPerl用のモジュールは用意してくれていなかった・・ でもCPAN上にはたくさんモジュールがあり、中でも比較的によく使われているのは Net::Amazon::S3…