shobylogy

叩けシンプルの杖

料理を並列化して夕食の品数を増やす(一人暮らし向け)

最近は、健康のため、可能な限り一食の品数を増やし、バランスの良い食事を心がけています。 今回は、一人暮らしの狭いキッチン、コンロ一つという条件下で料理を並列化し、可能な限り品数を増やす方法をご紹介します。 実際の結果がこのような感じになりま…

bitFlyerの過去チャートを1時間足で取得する

以前、bitFlyerの過去チャートを取得するという記事を書いたが、betterなサービスを発見したのでメモ。 CryptCompareというサービスのAPIで、1時間足であれば、Cryptwatch以上に過去に遡ってチャートを取得できる。*1 https://www.cryptocompare.com/api/ 使…

Kerasで過学習を防止するためにEarlyStopping Callbackを使う

Kerasには過学習を防止するためのEarlyStopping Callbackが存在します。 コールバック - Keras Documentation 使い方 使い方は簡単で、modelのfitメソッドのcallbackに渡すだけです。 from keras.callbacks import EarlyStopping model.fit(X_train, Y_train…

Jupyter NotebookでKerasのTraining進行状況を表示する(keras-tqdm)

Jupyter NotebookからKerasを使用すると、Trainingの進行状況がよくわからなくて不便ですよね。 keras-tqdmというライブラリを使うと、Jupyter NotebookでKerasのfitメソッドの進行状態をprogress barで表示してくれます。 GitHub - bstriner/keras-tqdm: Ke…

bitFlyerの過去チャートを取得するAPI

bitFlyer公式では現在の価格を取得するAPIしか提供されていない。 ビットコイン取引所【bitFlyer Lightning】 過去のチャートを取得するにはCryptowatchというサービスのAPIを利用する。*1 Public Market REST API - Cryptowatch Docs エンドポイントは以下…

Skype英会話のすゝめ

Skype英会話を始めて約3年が経ち、皆さんにも是非おすすめしたいと思うようになってきたのでこの記事を書きました。 概要 Skype英会話を始めて変わったこと 良いところ いまいちなところ おすすめの学習ステップ Skype英会話を始めて変わったこと 英語を話す…

分離型キーボードを買ったら肩こりが改善した話(Mistel Barocco)

最近、肩こりが悩みだったのですが、分離型キーボードを買ったら改善しました。 買ったのは、Mistel Baroccoというコンパクトなタイプの分離型キーボードです。*1 このような感じで仕事をしています。 なぜこれを選んだの? 手軽に入手でき、Happy Hacking K…

深夜に高熱を出した際にやったことと、使ったサービスまとめ

先日、深夜に39.4度の高熱が出てしまい、相当大変だったため、その時に使ったサービスなどをまとめておきます。 概要 病院に行くべきか相談する 病院まで行く 病院で症状を伝える 回復する 病院に行くべきか相談する 深夜に病院に行くべきか迷った際には、救…

Swift + iOS 8のUITableViewControllerのバグを回避するためのSwiftLintカスタムルール

iOS 8のUITableViewControllerの実装にはバグがあり、Swiftでサブクラスを作ると、iOSのクラッシュが発生する場合があります。 今回はそれをSwiftLintで検知して回避するためのカスタムルールについて説明します。 なお、以下の説明はXcode 7.3.1 + Swift 2.…

iOS DCの前夜祭で大規模リニューアルのノウハウについて発表してきました

だいぶ時間が経ってしまいましたが、 iOS DC 2016の前夜祭で、大規模リニューアルのノウハウについて発表してきました。 こちらが発表資料です。 この発表で伝えたかったのは「ノウハウがあれば、リニューアルは怖くない」ということです。 リニューアルがユ…

エンジニア向け日頃の疲れを取るおすすめの入浴剤

エンジニア、肩や腰が凝りますよね。 温泉に行きたい…でも忙しくてなかなか行けない。 そんな方は入浴剤を使って毎日の疲れを取るのがおすすめです。 今回は、私が日頃から使っている入浴剤を紹介します。 温泉に行きたい方はこちらをどうぞ blog.shoby.jp …

SwiftとObjective-C混在のプロジェクトで、BridingHeaderのビルドが低頻度で失敗する問題を修正する

iOS

SwiftとObjective-C混在のプロジェクトで、CI上でBridingHeaderのビルドが低頻度で失敗する現象に悩まされていました。(失敗した場合もRebuildすると成功します) 常に失敗するのではなく低頻度で失敗するケースの場合、Headerのimport周りが怪しいことが多…

心理的安全性を向上させる「ドラッカー風エクササイズ」を自分のチームでやってみた

最近、良いチームには「心理的安全性」が必要だということが話題になっていて、個人的に気になっていたところに、ninjinkunさんが「ドラッカー風エクササイズ」を紹介してくれたため、自分の所属するチームで試してみた。 ドラッカー風エクササイズのすすめ …

iOSアプリの画像を最適化してアプリの容量を減らす

iOS

最近アプリの容量が増えてきたので、容量を減らすべく画像の最適化を行いました。 調べて出てくる情報がどれも古かったため、今だとどうしたらいいかを書いておきます。 以下の情報はXcode 7.2.1環境を想定しています。 概要 Asset Catalog を使う ASSETCATA…

I'll talk about color detection from fashion images in Fasion Tech Meetup #2

I'll participate in Fashion Tech Meetup #2, and talk about color detection from fashion images. The meetup will be held on March 22. fashion-tech.connpass.com Sad to say, the event will not be translated into English. However I'll translat…

第二回 Fashion Tech Meetup (3/22) で商品画像からの色検出について話します

3/22(火)に第二回 Fashion Tech Meetupというイベントに参加します。 フリルにカラー検索という機能を実装した際に、商品画像から色情報を検出した話をする予定です。 fashion-tech.connpass.com Fashion Tech Meetupは、ファッション x テクノロジーとい…

Objective-Cで書かれたメインプロダクトを少しずつSwiftに書き換える

iOS

現在、私はObjective-Cで書かれたメインプロダクトを少しずつSwiftに書き換えている最中です。*1 おそらく奮闘中の皆さんのためにも、私が得た知見をお話ししようと思います。 なぜメインプロダクトのSwift移行が進まないのか これは、単純にメインプロダク…

UIAlertControllerを最前面に表示できるよう拡張する

UIAlertController、UIAlertViewのshowみたいな感覚で表示できなくて不便ですよね。 特に、Modalで表示したViewControllerの上に、UIAlertControllerを被せるような使い方をしようと思うと大変です。 そこで、若干ゴリ押しですが、常に最前面にUIAlertContro…

エンジニア向け都内から行ける日帰り温泉

エンジニア、肩や腰が凝りますよね。そんな疲れた時には温泉に行きましょう。 実は都内から気軽に行ける日帰り温泉がたくさんあります。 今回は、私が頻繁に通うおすすめの温泉を紹介します。 おすすめ温泉 東京染井温泉 Sakura 港北天然温泉 スパガーディッ…

「シリコンバレー式 自分を変える最強の食事」を読んで「完全無欠生活」を始めた

最近どうにも体調がすぐれず「健康になりたい」という漠然とした思いを抱いていたのですが、「シリコンバレー式 自分を変える最強の食事」という良さそうな本を見つけたため、その本に則って「完全無欠(Bulletproof)生活」を始めました。 シリコンバレー式…

RMagickで画像のホワイトバランスを調整する

蛍光灯下で撮影された画像が緑っぽくなってしまうのを補正するために、RMagickでホワイトバランスを調整する手法を実装してみました。 手法 実装がシンプルなgray worldとretinexをRMagickを使って実装してみました。 qiita.com 上記記事のcolorcorrectと元…

iOS 7をサポート対象外にして得られたもの

iOS

年末に「iOS 7をサポート対象外にしよう!」ということを勧めていたのですが、 blog.shoby.jp この度無事に自分の関わるプロジェクトでiOS 7をサポート対象外にすることに成功しました。 無事にiOS 7を切れたのでめでたい ? https://t.co/KdLGDXnW6o— shoby …

RMagickでHSLへの変換がうまく動かないことがある

RMagickのPixel#to_hslaでsやlが正しく変換できない現象が発生していた。*1 原因はImageMagickのバグだった。 2011-05-14 6.6.9-9 Cristy <quetzlzacatenango@image...> Fix transient bug for HSL to RGB and back. http://www.imagemagick.org/script/changelog.php 6.6.9-9 以降のImag</quetzlzacatenango@image...>…

Universal Linksの運用の手間を減らす

iOS

概要 apple-app-site-associationを署名したファイルではなく、JSON形式のAPIにする JLRoutesを使ってWebPageURLをCustomURLと合わせてハンドリングする apple-app-site-associationを署名したファイルではなく、JSON形式のAPIにする iOS 9以降の場合、HTTPS…

「 iOS 7をサポート対象外にして開発を健全化する」というタイトルで発表しました

iOS

第24回 potatotipsで、「 iOS 7をサポート対象外にして開発を健全化する」というタイトルで発表しました。 こちらの発表には、業界全体で、最先端の技術を追い求められる健全な開発環境を当たり前にしたいという思いを込めています。 最近は、Swiftがオープ…

モックAPIを使ってアプリの開発をスムーズに進める

API

mokable.ioという実際に叩けるモックAPIを作れるサービスがあります。 これを使うとアプリの開発をスムーズに進められることが分かったので、書いておきます。 モックAPIを使った開発フロー クライアント側のエンジニアがAPIのレスポンス(仮)を考える API…

LGTM画像に貼る用の猫画像を集める

結論から。The Cat APIというサービスを使うと猫画像を効率的に集められます。 その名の通りAPIを提供してくれているので、アニメーションGIF画像だけを集めることもできます。 http://thecatapi.com/api/images/get?format=html&results_per_page=20&type=g…

Google I/O & WWDC情報共有会でiOS 9の新機能について発表しました

iOS 9の新機能について、実際にサービスに活かすとしたら、という観点で発表しました。 今回、Search APIsがサービス運営的な意味では特に意味を持つと考えています。 Webとアプリの連携が強まり、アプリ内のコンテンツが検索できるようになりましたが、これ…

How Google Worksを読んだ

How Google Worksという本を読んだ 「グーグルはこの方法で成功した!グーグル会長がビジネスの真髄を初公開!」という帯がついていたので、ビジネス書かと思ったら全然違った。 一言で言うと、経営者、マネージャー向けの「エンジニアの取り扱い説明書」だ…

記事を公開する時間で見られる数が変わるらしい

ブログや何かで記事を公開する場合、読まれやすい時間があるらしい。読んで欲しい層の行動を予測して記事を公開するのが良いと聞いた。 もちろん話題になる記事はいつ公開しても話題になるし、ならない記事はいつ書いてもならない。 ただ、目に止まる人の数…

CLGeocoderを使って郵便番号を住所に変換する

iOS

住所入力をさせる際に、郵便番号から住所を補完したいことはよくあると思いますが、アプリでそれを実装しようと思うと少し面倒です。 しかし、iOSだけであれば、CLGeocoderを使うと、自前で郵便番号変換用のAPIを作らなくても済みます。 また、現在地を取得…

CoreLocationを使ってバックグラウンドで位置情報を取得する

iOS

iOS 8からいろいろ変わってて、知ってた知識が使えなくなってたのでメモ。 概要 プロジェクト設定からBackgroundModes>Location updatesを有効にする Info.plistに位置情報の使用目的を書く CLLocationManagerを初期化 locationManagerのrequestAlwaysAutho…

サンフランシスコで身の危険を感じたので、歩いてる所が危なかったら教えてくれるアプリを作った

こんにちは。shobyです。 WWDCでサンフランシスコに初滞在だったのですが、治安の悪い道に迷い込んでしまい、身の危険を感じることがありました。*1 catatsuyさんの記事が有名ですが、サンフランシスコは案外危険です。一本道を間違えると途端に治安が悪い箇…

NullabilityとGenericsを使って既存のObjective-Cアプリの開発速度を上げる

WWDC 2015でSwift 2.0が発表されましたが、それに合わせて、Objective-Cに新しいシンタックスが追加されました。 NullabilityとLight Weight Genericsです。*1 これらのシンタックスはSwiftとの相互利用性を向上させるために導入された物ですが、これらのシ…

サンフランシスコのエンジニアにおすすめの本を聞いてきた

@ninjinkun さんに紹介してもらって、サンフランシスコ在住のエンジニアの方に会ってきた。 おすすめの本を教えてもらったので、後で読む用のメモ。 WebPayの@hmskさん クリエイティブ都市論 クリエイティブ都市論―創造性は居心地のよい場所を求める作者: リ…

uberPOOLを使ってみた

せっかくのサンフランシスコに来たので、日本ではまだ使えないuberPOOLを使ってみた。 概要 uberPOOLとは 良い点 悪い点 uberPOOLとは uberの相乗りサービス。 目的地が近い人とuberを相乗りすることにより、通常料金の約半額で乗ることができる。 サンフラ…

WWDCでApp Review Labに行ってきた

趣味で作ったアプリがリジェクトされてしまっていたので、WWDCのApp Review Labに行ってきました。 とても親切に対応してくれました。 概要 作っていたアプリについて リジェクトされていた理由 Labでの受け答え 作っていたアプリについて 猫画像を高速で収…

iOS 9で気になった機能まとめ

WWDCで発表されたiOS 9の機能で特に気になった物を挙げておきます。 ※この記事は公開範囲にある(ログインしなくても閲覧可能な)Documentに記載された情報のみ書いています。 Introductiondeveloper.apple.com 概要 App Thinning Search AppThinning AppSto…

WWDCに行ってきます(準備編)

WWDCに行ってきます(準備編) お久しぶりです。shobyです。 なんと、運良くWWDCのチケット抽選に当選し、行けることが決まりました! (入社3ヶ月の人間をWWDCに行かせてくれるFablic社に感謝!ありがとうございます!) 今回は、準備編ということで、初WWD…

第16回 potatotipsでぽちぽちテストの効率化について発表してきました

ぽちぽちするのは大変ですが頑張りましょうという話です。 要点だけいうと、集まって時間区切ってわーっとやると時間が短くて済むし、何回かそれをやると取りこぼしが減るという話です。 この方法はDesign Sprintの良い所を取り入れています。 Design Sprint…

shobyが何を考えてアプリを作ってきたか

引き継ぎの際に考えていたことをポエムをまとめましたので、後日投稿します。 退職エントリーにこう書いたけど投稿してなかったので投稿します。 このポエムの背景 このポエムは、前職でiOSエンジニアとしてアプリを作る際に考えていたことをまとめたものに…

「なぜポエムを書くべきか」というポエム

社内でポエムを書くことを勧めるポエムです。 概要 ポエムって何? なぜポエムを書くべきか 自分の考えを共有することがなぜ重要か ポエムの実践 ポエムって何? 自分の思いや感情を込めた軽い文章。特に厳密な定義はない。 なぜポエムを書くべきか 自分の考…

第15回potatotipsでアプリにおける 「おもてなし」Tipsを発表しました

【第15回】potatotips(iOS/Android開発Tips共有会)でアプリにおける 「おもてなし」Tipsを発表しました。 Fablicに入社後、初の発表でした。 補足 今回は、ごくごく当たり前なことですが、ついつい忘れがちになってしまいそうなポイントをTipsとして挙げまし…

株式会社Fablicに入社しました

入社のご報告です。 2/2から株式会社Fablicに入社しました。 Frilという女性向けフリマアプリを作っている会社です。 入社のきっかけは @ninjinkunさんに紹介していただいたことです。 社員の方とお話をする中で、アプリ開発に対する強い情熱を感じ、「もう…

ピクシブ株式会社を卒業しました

1月末でピクシブ株式会社を退職しました。 2012年4月に新卒として入社してから約3年間大変お世話になりました。 ピクシブ初のiOSアプリエンジニアとして入社し、一人で開発を続けるところから、 モバイルチームのリーダーとして、大人数で開発を進めるところ…

zip内の特定ファイルを取り出すライブラリSBYZipArchiveを公開しました

zipファイルを展開せず、一部のファイルだけを取り出したかったので作りました。ニッチ! SBYZipArchive 基本的にminizipのObjective-Cラッパーです。 インストール CocoaPodsに対応してるので、こんな風に書けば使えます。 platform :ios, '7.0' pod 'SBYZi…

愛情駆動開発とサービスの良し悪しについて

良いサービスを作る方法論は数多くあるが、一番大事なのは、そのサービスにどれだけ愛情を込められたか、その一点だと信じている。 そのサービスの可能性をどれだけ信じられるか、どれだけ夢を語れるかが、最終的に良いサービスを作る決め手となる。 愛情を…

iOSアプリでSQLiteを使い日本語の全文検索をする。

iOS

iOSアプリで全文検索 iOSアプリで日本語の全文検索したいこと、ありますよね。私はあります。 そもそもiOSアプリ内で日本語の全文検索をするという需要がないみたいで、情報が少なかったのでまとめました。 SQLiteの全文検索拡張 実はSQLiteにはFTS3 and FTS…

Orbi Yokohamaに行ってきました

新しくできたOrbi Yokohamaに行ってきました。 セガとBBC Earthのまさかのコラボにより生まれた「大自然超体感ミュージアム」だそうです。 要は新しいタイプのテーマパークです。 内装はこんな感じ。 感想 こういうテーマパークは見て終わりという所がほとん…

白鷺宝

最近、デパ地下巡りにはまっています。 今回は白鷺宝というお菓子を買ってきました。 このお菓子、都内だと数箇所の百貨店のデパ地下でしか売っていないレア物。 見た目は真っ白でとても綺麗。 白餡とは思えない上品な味がします。 こちらは三越本店の限定品…