Debuginfo

思考とアウトプット

ブログ移行

Waza Labにブログを移行しました。

GW Hackathon - Day3

数時間かけてfacebookログイン導入。URLスキームの設定ができてなくてはまる。 safariを起動するとシミュレーターがめちゃくちゃ重くなるのはなぜですか? 参考: https://github.com/brentvatne/react-native-login Add Parse + React Native http://stacko…

GW Hackthon - Day2

May 3, 2015 昨日slackoverflowで聞いたのは朝起きたら回答がありました。すごく初歩的なことを聞いたようでとても恥ずかしいです^^; 数時間煮詰まってわからなければ、帰り際にstackoverflowに投稿すれば朝には回答があるかもしれないので、そうやって聞け…

React NativeでFluxを使う

React NativeのMovieチュートリアルをFluxで実装します。 Flux実装が山ほどある中、Facebook Fluxのgithub上のexampleのtodo,chatで使われている本家のFluxモジュールです。Reflux, altが色々enhanceしたもののようですが、npmのダウンロード数をみると圧倒…

GW (self)Hackathon - Day1

May 2, 2015 今年のGolden Weekは長いので技術力のブラッシュアップのために一人ハッカソンを開始します。 ReactivecocoaとReactive Nativeのどちらをターゲットにしようか迷いましたが、React Nativeにすることにしました。理由はReactivecocoaのswift版がβ…

Atomのautocompletion-plusをxcodeライクにする

補完大事ですね! # .atom/keymap.cson 'atom-text-editor:not(mini).autocomplete-active': 'tab': 'autocomplete-plus:confirm' 'enter': 'autocomplete-plus:confirm' 'up': 'unset!' 'down': 'unset!' 'ctrl-p': 'core:move-up' 'ctrl-n': 'core:move-do…

React.jsを触ってみた。Railsとの相性は?

WebDB Press vol.86のReactによるフロントエンド開発を写経してreact.jsの勉強してみた。 Reactive ProgramingやVirtual DOMを意識せずに書けてしまいました。 個人的な観点からは、やはりAnother JS Frameworkという感じ。 AngularJSのようにフロントでグイ…

SwiftでFacebook Messenger SDKを導入する

二日ぐらい前にF8で発表されたやつですね。 アプリの表現力が上がるのは間違いないので実装しました。 Good Design InteriorというインテリアのECサイトを作ってます。 これに入れ込みます。商品を友達と相談して決める機能を追加するかたちになります。 と…

サインアップ(ユーザ登録完了)後にGoogle AnalyticsのイベントをRailsから送る

flashを使ってやりました。 Registrationのコントローラ側にflashをセットして, # Users::RegistrationsController < Devise::RegistrationsController flash[:first_sign_up] = true Viewで発火。 <% if flash[:first_sign_up] %> <script>ga('send', 'event', 'sig</script>…

Swift XCTest - Use of unresolved identifier

大きな声じゃ言えませんが、iOSアプリのテストを書いてません。 速さ重視でやってきたので、そろそろ安定性と仕様周りを固めるためにテストを書くことにしました。 が、、テストを動作させるのにめっちゃハマりました。計5時間。。 Use of unresolved ident…

AWS cloudwatchで監視

前職ではmonitoringって言ってたけど、日本語では監視なんだと最近気づきました。 CPU Utilization - EC2デフォルトでAlarmを作る Memory Usage - Custom metricsを作る Load Avarage - Custom metricsを作る サービスの監視 - LBでalarmを作る RDS Freeable…

AWS Opsworks + CircleCI で自動デプロイ

AWS IAMユーザー(circleci)を作成 作ったユーザのAWS Access Key ID/Secret Access Keyを取得 CircleCIのSetting->Permissions->AWS Permissionsを追加 awsコマンドを手元で走らせてデプロイできるか確認 注意:regionはus-east-1を使用する $ aws opsworks …

ニュースを読まない僕が選挙に行った。

今年は半分意図的に半分は多忙さでニュース等のメディアを自分から読むことをしてきてない。 それでもpassivelyにニュースは耳にしてしまう世の中なので生きる上で問題ない。 そんな自分が選挙に行った。 デフレ脱却は、格差社会を生むと思う。 儲ける人は儲…

Swift Fundamentals: The Language of iOS developmentを読んだ

Swift Fundamentals: The Language of iOS Development作者: Mark Lassoff,Thomas Stachowitz出版社/メーカー: LearnToProgram.tv, Inc.発売日: 2014/09/22メディア: Kindle版この商品を含むブログを見る とりあえず、読み終わりました。Object-Cを触った事…

AngularJS+Slip.jsでタッチデバイスでリストの順番を並べるUIを作成する 

上記のようにリストを動的にスマホで動かせるようにするためにSlip.jsを使いました。Directiveに定義してng-repeatのDOMに置きます。$last === trueでループが終わったところで発火するようにしています。JQueryのライブラリを使うときは、これ良く使います…

AngularJSでwindowのresizeイベントでreloadする

ResponsiveのWeb appだとwindowリサイズ時に表示を切り替えたいときありますよね。 例えば、iPhoneを横で見たりとかすると画面が崩れるとか。 こんなときは、resize時にreloadすればいいと思います。そのコードはJQueryですが^^; あとはこれをどこに置くかと…

Redisのキーをワイルドカードで消す

メモ。 $ redis-cli KEYS "journey_id:*" | xargs redis-cli DEL

RedisでNotification(通知)を実装する

弊社サービスTraBerryのWebアプリケーションで通知を実装しました。その実装方法の話です。 Notificationで使ったRedis keyは2つ。Arrayで全体の通知の管理。Hashで中身の格納です。 list:notification:user_id:<user_id> hash:notification:user_id:<user_id> 上記hashのキー</user_id></user_id>…

LAMYにジェットストリームの替芯を使う一番簡単な方法

LAMY サファリ イエロー ローラーボール L318 〔正規輸入品〕出版社/メーカー: LAMY発売日: 2012/12/10メディア: オフィス用品購入: 2人 クリック: 2回この商品を含むブログを見る 三菱鉛筆 油性ボールペン替え芯 SXR-5 黒 24出版社/メーカー: 三菱鉛筆メデ…

DigitalOceanとAWSを利用し、スタートアップ初期に月額$100以下のインフラコストでサービスを提供する方法

私が勤めるActie, IncではTraBerryというサービスを提供しています(βです)。 弊社ではこのインフラにDigitalOceanと無料枠のAWSを利用しています。 DigitalOceanを利用することで大幅なコスト削減を実現しています。 スタートアップ時にはアクセスも少なく…

fluentd(td-agent)とfluent-agent-liteでログ集約

nginx reverse proxy以下に数台のアプリケーションサーバを配置してます。 Applictionサーバでログが分散してて、検証するのにかなり辛いのでFluentd(td-agent)とfluent-agent-liteを使ってログをまとめてみました。 ちょろっと調べてみると、 アプリケーシ…

YAPC::Asia 2014で発表しました!

スピーカー募集締め切りの30分前に投稿したら、運良く採用されたので話してきました! 内容はスタートアップにジョインしてから半年で私が思ったこととか。 緊張しましたが、終わった後の高揚感はたまりませんね。 I gave a presentation in the developer's…

AngularJSでリダイレクト後に戻るを使えるようにする

メモ。 例えば、401等にリダイレクトした後に戻るボタンを使うと永遠に前の前に戻る事ができない。 これを回避するために$location.replace()を$location.path()の後に使う。 myFunc.init(userID).then(function(data){ $scope.data= data; }, function(res)…

AngularJSのEcosystem, ngModules.orgがすごい

AngularJSはあまり使われてないのでしょうか? うちの会社ではバリバリ使ってます。 Googleトレンドを見るとグイグイ来てることがわかります。 実際、つまずいてもStackoverflowを参照するとほぼ問題が解決しています。 では、本題ですが、JSのイケテナイと…

Redis.pmのシリアライズにはJSON::XSを使う

自分で書いた去年のRedisエントリが参考になっています(笑。ググって出てきたという。。 Perl でRedisを操作してみた ~ シリアライズは自前で? ~で書いたようにRedisモジュールのシリアライズは自分で行うのですが、 何で直列化しようと迷ったところ、JSON:…

Mojolicious文字化けまとめ

よくハマるのでメモ。 言葉の定義から Encode::decode_utf8 : バイト文字列からPerl内部文字列の変換のこと Encode::encode_utf8 : Perl内部文字列からバイト文字列の変換のこと Teng等で deflate : DBに挿入時のファンクション inflate : DBから取ってくる…

経営戦略全史は読まないと損

知っている人がおすすめしている本は読むようにしています。 シェアオフィスのA氏のFeedに流れてて良書だということなので読みました。 時系列で体系だって経営戦略の話(それ以外も)がまとまっています。 なにより楽しく読めるのが良いです。 下記はStart-…

AnsibleでMySQLのリプリケーションする

この数日はインフラエンジニアやってます。 冪等性を保証するためにスピードが遅くなるのはスタートアップでは致命的かもしれませんが、万が一の再構築のケースを考えるとここで一生懸命作っておくのが将来のリスクに備えることかと思います。 時間を決めて…

AngularJSでのObjectの比較

http://stackoverflow.com/questions/1068834/object-comparison-in-javascriptにある JSON.stringify(obj1) === JSON.stringify(obj2)をAngularJSで作ったObjectとで比較するとFailするので注意。なぜなら$$hashKeyが付与されているから。 Angularで比較し…

サービス名の決め方

ここ1週間程、Actie, Incではチームで新しいサービスの名前を考えていました。 サービス名は具体的には.comドメインがとれるものですね。 他ドメインでもいいのですが、なんだかんだ.comが良いように思います。 下記のリンクのようにドメインを探すサイトは…