Akata Works

フルスタックなクリエイターになる・・つもりの二年目Webエンジニアのブログ

Bitcodeバージョンの違いで発生するInvalid bitcode version (Producer: xxxx Reader: yyyy)

タイトルイコールほぼ答えみたいなものですが、Facebook SDKなど外部のフレームワークを使用する場合、SDKをビルドした際のBitcodeバージョンとそれを使用したアプリをビルドした際のBitcodeバージョンが異なればアーカイブ時にタイトルのエラー が出ます(xx…

Rails Console(irb)のアウトプット待ちがメンドイときに消す方法

小ネタです。Rails Console(irb)で適当な処理を実行すると返却値が出力されますよね?例えば以下のeachメソッドの返却値はレシーバ自身なので、eachブロックでゴニョゴニョ処理をするとレシーバが出力されます > %w/hoge huga foo bar/.each{|e| e} => ["hog…

RailsのStatsタスクに調査対象ディレクトリを追加してみる

どうもです。rake statsコマンドを使っていますか?これは一言で言えばプロジェクトの大まかな統計情報を取るためのコマンドです。リファクタリングすべきかどうか、テストコードを書くべきかどうかをざっくり判断したいときに使ったりします $ rake stats +…

Mac上にGoのバージョン管理ツールgvmをインストールしてみた

追記(2017/04/19): MacOS Sierraだとコンパイルに使用するGo 1.4が動作しないため失敗するらしいです 公式のバイナリpkgならうまくいきます Downloads - The Go Programming Language 仕事でGoを使う機会に巡り会えそうだったので、ちょっとフライング気味に…

一昨日に開催された第2回 botソンに参加して画像レスbotを作成した話

2016年07月09日、株式会社トレタ様で開催されたbotハッカソンこと通称botソンに参加してきました。個人でもくもく開発して最後に発表といった感じの勉強会です この記事はその勉強会で作った簡単に画像レスをするためのSlack botの紹介みたいなもので、Herok…

RailsとMySQLでiOSの絵文字に対応(UTF8MB4化)した話

兼ねてからちょこちょこエラーが出ていたiOSの絵文字を含んだデータにようやく対応しましたので、その備忘録です。 Railsは3.2.11、MySQLは5.6.25です。 ちなみにMySQLは5.5以降からUTF8MB4に対応しています。 はじめに 文字コードをUTF8からUTF8MB4に変更を…

開発環境にMacを使用しているの方は要注意!SRMコマンド!

みなさん、開発環境には何を使っていますか?Linuxですか?Macですか?はたまたWindowsですかね? ちなみに僕は家も会社もMacを使っています。 そしてMac以外をご使用の方はこの先を読む必要はあまりないかもしれません(読んでくれるとうれしいけどね) 先日…

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種類がありますが、そ…

複数台のMacでアプリケーションの設定を共有する

Mac

久しぶりの投稿ですが、小ネタです。 ".zshrc"や".vimrc"などのいわゆるドットファイルは、ずいぶん前からGitHubで管理していたんですが、 アプリケーションの設定ファイルを共有していなかったのでシンボリックリンクで共有してみました。 今回はDropboxに…

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

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

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

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

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…