読者です 読者をやめる 読者になる 読者になる

ensimeをdockerで動かしてローカルのemacsからつなぎたい

みなさんさようなら. 最近わけあってscalaを触ってます. いつもの通りemacsで開発環境をつくろうとして,ちょっと悩んだ挙句,解決しなかったのでメモ. emacsでscalaの開発をしようとすると,scala-modeはまず使うでしょう. ただ,それだけだとちょっと…

CircleCI2.0でデプロイステップを別のビルドに分離する

CircleCI2.0がベータ版として公開されている. 個人のプロジェクトではCircleCIにべったりで(無料枠だけど),Docker buildとかさせまくっているので,早速使ってみた.

SAOに感じる寂しさ

しばらく前だけど,SAOの劇場版を見てきた. 話は面白かったけど,それ以上になんかいろいろ思うところがある気がして,なんとなく寂しさを覚えた. 以下,ネタバレが混ざっている危険性があります.

ニコニコ動画のスナップショット検索v2API用gemを作った

最近,ニコニコ動画のスナップショット検索APIはバージョンアップしました. site.nicovideo.jp 今まで,ニコニコ動画の検索に関しては, github.com にお世話になっていました. だけど,3月からニコニコ動画側がv1のAPI提供を終了したため,このgemではエ…

悠木碧のtwitter botを閉じようと思う

みなさんさようなら. 2016年が終わります. 個人的に痛々しいサービスを作り始めて,そろそろ3年経ちました.運用していると,バグもあるしバージョンアップも必要だし,たまにはリファクタリングや機能追加もしないと存続できないということがよくわかりま…

gomとgoのvendoring

先日,ちょっと勘違いをして,gomに変なぷるりを送ってしまったので,反省を込めて. github.com こういうissueが立っていてなんか変だなーと思ったんだけど,やっぱり俺のミスだった.

声優の出演情報を監視するサービスを作った

みなさんさようなら. また,新たに痛いサービスを作りました. SeiyuWatch

phoenixアプリケーションをDockerでデプロイする

最近phoenix(elixir)を使っている. まぁelixir自体の話は,いろんな記事でおすすめされているのでそちらを参照してもらうとして,これをDockerに載せたいなーと思ったので. なんでDockerに載せたいのか erlangとelixirの環境構築を毎回やりたくない ってい…

swarm modeでdockerをデプロイしてみる

以前,confdを使ったデプロイを紹介したけど,あれにいろいろとコメントが付いたおかげで,swarmによるデプロイが実現できた. h3poteto.hatenablog.com okzk.hatenablog.com こういう話を探していたんだけど,前の記事を書いた時は全然わからなかったからね…

Dockerに載せたサービスをホットデプロイする

みなさん,Docker使ってますか? 開発環境に導入する話はよく聞きますが,本番Dockerで運用してますか? 本番をDockerにする上で障壁になりそうなホットデプロイ. 普段,コンテナではなくインスタンス上で直接サービスを動かしている限り,そこまで苦労はし…

Authyがとても良い

みなさん二段階認証ってちゃんと設定してますか? 俺はずっとGoogleAuthenticatorを使って二段階認証してました. Gmailくらいならまぁ……という気がしてますが,AWSのアカウントはさすがに怖いしね! 二段階認証のバックアップがほしい 二段階認証,大変良い…

RxSwiftとAPIKitの組み合わせに対する違和感

みなさんさようなら. 最近ようやくRxSwiftを触り始めています. RxSwiftでAPI通信を含むような動作をさせたいとき,何を使おうかと迷ったので,その話をします. swiftで書けるってことは,別に NSURLSession をそのまま使って rx_response を呼んでもいい…

最近思うgolangのerror

golangが結構好きになりつつある. そんな中でも延々と悩まされ,設計を考え続けているのが,error型だ. もしかしたら,あまりgolangでmysqlのような,がっつりSQLでできているRDBを使う人は少ないのかもしれない. だけど,自分が作っているものが,がっつ…

俺のためのタスク管理サービスを作った

みなさんさようなら,またひとつサービス作ったよ. 俺のためのタスク管理サービス. Fascia めずらしく痛くないというのが一番の特徴じゃないですかね. 動機 ToDoリストをどこかで管理したい これに尽きる. だいたい普段生活していると,メモできなかった…

Shoryuken,それと例外検知gemを作った話

みなさんさようなら. Railsの非同期処理って何使ってますか? Sidekiq?Resque?,え?DelayedJob? 個人的にはSidekiqが結構好きで,よく使っていたのですが,最近Redisのメモリが足らなくなってきて…… たまにエンキューに失敗します. もちろんインスタン…

ReactComponentにおけるkeyは結構大事

ReactComponentでhtmlをレンダリングしていて,コンソールにwarningが出ていることがある. 無視しても大丈夫なものもあるのかもしれないが,エラーが出ることもあるので,気になって調べてみた. こんな感じのエラー. Warning: setState(...): Cannot upda…

巨大レコードのページネーション用gemを作った

Railsにおいて,kaminariやwill_paginateのようなページネーションライブラリは非常に強力だ. というか,あまりページネーションというものを意識せずとも使えてしまうので,便利だ. ページネーション時のカウントクエリが重い 便利ではあるのだが,すべて…

golangのpanicは例外ではないのか?

goには例外がないと言われている.確かに,よく見かける,exception とかはないんだけど,あれ? panic があるじゃん? では panic は例外ではないのか? 我々は、処理構造を制御するためのtry-catch-finally形式の例外処理機構によって、コードが入り組んで…

golangでテストをする

最近golangを結構書いています. コンパイルも割と速いし,実行速度は言うまでもなく速い.クラスがないとか,例外がないとか,色々と言いたいことはあるでしょう.思想的には結構独特ですが,なれると普通に書けます.今日はそんな中でテストの話をしようと…

swift2.0への変更で詰まったところ

これをswift2.0対応させてみたので,詰まったところを書いておく.h3poteto.hatenablog.com Xcode7を入れたあと,Xcode6.4で開発していたプロジェクトを開くと,初回に古いシンタックスをすべて置換してくれる. ちなみにこれ,一度閉じてしまった場合でも,…

阿澄病に引き続き花澤病治療薬を作った

阿澄病の治療薬として,twitter botを作ってもう2年くらい経ちました.阿澄病治療薬を作った - PartyIXh3poteto.hatenablog.com 今回は,新たに花澤病の治療薬twitter botを作りました.花澤病 (@hanazawa_sick) | Twittertwitter.com 暇な方はぜひフォロー…

阿澄病治療薬SlackBotを作った

みなさんさようなら. 相変わらず阿澄病のみんなのために日々「世の中に不要そうなもの」を開発し続けています. 今回はSlackのBotを作りました. とりあえず画像をくれる asumiss imageで画像を表示してくれます. ちなみに,表示する画像はもちろん阿澄佳…

それはインデックスを乱してまでやることなのか?

常日頃から「家から出たくない」「外は危険だ」と言っているけれど,たまに実店舗に出かけて買い物をすることもある.そういうときにいつも思う. 商品を探すのがえらく大変である. こういうのは,欲しいものが決まっている時に,余計に強く思う.「これが…

バケモノの子が予想に反して面白かった

細田守のアニメとは,「ぼくらのウォーゲーム」や「おジャ魔女どれみドッカーン」くらいからの付き合いになる.前作「おおかみ子どもの雨と雪」が,思ったよりも全然面白くなくて,細田守のメジャー路線に付き合う気力を完全に失わせてくれた. おかげで今回…

UITextView内のカーソル位置をCGRectで取得する

iOSでTextViewというと,UITextViewを使うのが一般的だ. いろいろとイベントが用意されていて楽なのだが,カーソル位置を取得するのに結構迷ったので書き残しておく.目的は,UITextViewのインスタンスが与えられたところから,カーソル位置をCGRectで取得…

twitterにおけるフローの循環とストックという異物

Twitter、また協力サービスへの締め付けを強化か、OpenTween などの投稿制限 もはや絶望しかない. サードパーティー製クライアント(Whalebird)の製作者として,正直呆れ果てて絶望としか言えない. また,GFeedLine,Tween,夜フクロウ,HootSuiteを愛用…

Capistranoでバックグラウンド処理を発火する

Capistranoでバックグラウンドジョブを実行させたいときがある. 監視スクリプトなんかがいい例だ. そんな時,2タイプの記事を見つけた. sleepすればいいよ Capistranoのメモd.hatena.ne.jp $ /dev/nullリダイレクト Capistranoを使ってサーバ上にてバック…

capistranoでunicornのoldプロセスが殺せない

最近Capistranoを導入しました. 一般的なRailsのプロジェクトにCapistranoを組み込むのは,このあたりを参考にすると割と楽にいける.Capistrano 3系でRails4.1のデプロイ[rbenv][rvm][ruby2.1] - 酒と泪とRubyとRailsとmorizyun.github.io unicorn + rails…

UrlShortener for iOSを使ってみた

iOS上で短縮URLを使いたくなったので,短縮URLサービスを色々と調べてみた. 実は短縮URL系のサービスはAPIを提供しているところが多く,そのAPIのURLを叩けば割と簡単に短縮URLを生成できる. でもこれ,自分で通信部分を書くのって結構めんどくさい気がす…

enh-ruby-mode対応のruby-block.elを作った

今日はEmacsの話をします. Enhanced-ruby-modeのすすめ Emacsでrubyのコードを書いてみると,結構よくシンタックスハイライトしてくれています. これはデフォルトで付属するruby-modeによるものです.しかし,ruby-modeだとインデントに難があるというのが…

sprocketsの機能に不満を感じたのでgemを作った

Railsのassets関連の機構として採用されているSprockets.rails/sprocketsgithub.com かなり便利な上に,普段あまりこいつの機能について意識せずに使える設計となっているので,見事だなぁと思うわけですが,ちょっとだけ不満なことがありました.Sprockets…

Emacsにagを入れたら速すぎて捗る

Emacsを使ってのgrepでは,ずっとrgrepを使ってきたのですが,最近なんだか重い気がして色々調べてみました.するとどうやら,最近はgrepやackじゃなくて,ag(the silver searcher)を使ったほうが速いとのこと……. そしてこれはemacsからも利用できるんで…

ActiveRecordのconnection_poolで怒られる

Whalebirdを実装していた時の話. iOS向けtwitterクライアント,Whalebirdを公開しました - PartyIXh3poteto.hatenablog.com サーバ側のAPIを実装しているときに,Userstreamタスクを実装したことがあった.Userstreamは,無限ループに入るタスクである. そ…

swiftのクラス変数

swiftは未だにクラス変数が定義されていない. Class variables not yet supportedと言われます. これは待ってればそのうち実装されるってことなんですかね? とりあえず現状で代替案の実装をしてみましょう. 構造体に値を持たせてgetする クラス変数はsta…

RequestのRSpecを実装する

Railsのテストを書く上で,やっぱりRSpecはめちゃくちゃ書きやすい. そんな中でも最近はcontrollerのspecはあまり書かなくて,requestのspecばかりを書いている.そもそもcontrollerのspecは単体テストで,requestのspecは結合テストなのだけれど,だいたい…

退職します

新卒で入ったインターファームを退職します. 先週の木曜日が最終出社日でした. 有給消化のため,ようやく念願である冬眠に入ることができます.研究室を謳歌していたころを懐かしみ,就寝時間を28時くらいに,起床時間を12時くらいにずらして,生産性の向…

UILocalNotificationサンプルソース

先日こんなお問い合わせをいただいた.@h3_poteto ブログ見てツイートさせていただきました。 ローカル通知についてもっと教えて教えて欲しいです。 アプリが起動してない時にどこの部分の処理が行われるのかなど、 できれば、「iOS8でUILocalNotificationの…

サンフランシスコにいってきた

そういえば先週辺りサンフランシスコに行ってきました.特に仕事とか関係なくて,ただ遊びに行っただけですけど.id:hetaredream がサンフランシスコにいたので,id:ishitsukajun と一緒に遊びに行きました. 休日だったし,特に中にはいれたわけではないの…

swiftでテストモジュールから,アプリケーションモジュールのクラスを呼び出す

swiftでのテスト界隈だと,Quickなんかが最近期待されていますね.[Swift] Quick で振る舞いテストをしてみよう | Developers.IO [Swift] Quick で振る舞いテストをしてみよう | Developers.IO でもそんなことを無視して,従来通りのXCTestでユニットテスト…

asumi.chをRails3.2からRails4.2までアップグレードした

asumi.chを公開してもう1年以上たちましたね.阿澄病治療薬を作った - PartyIX 阿澄病治療薬を作った - PartyIX そろそろ時期なのかなーということで,Railsのバージョンアップをしました. というわけでメモを残しておきます. とりあえずアップデートをか…

Fabricに取り込まれたCrashlyticsを使ってみる

iOSアプリの開発をしているとクラッシュレポートが欲しいときがある. 「バグあるんだけど」と言われてもシミュレータでも自分の端末でも再現できないし,それどころか報告者の端末でも再現性が低かったりすることがある. というか,報告してくれるだけマシ…

LinuxのFireFoxにて,FlashPlayerが古いと言われる

最近,FlashPlayerが安全ではないと言われる……. 更新しろというので更新してみるのだが,Linux版のAdobeFlashPlayerは11.2で更新を停止し,以降はサポートのみとなっているのは有名な話です.なので,どれだけ最新にしても「安全ではない」と言われ続けます…

sidekiqのリトライ回数は26回以上を指定できる

Railsの非同期処理実行を実現するgemとして,sidekiqは非常に有用です. 有名ではあるので,一般的な使い方についてはここでは説明しません.Rails - sidekiqの使い方 - Qiita Rails - sidekiqの使い方 - Qiita この辺を見ると簡単に使えるようになると思い…

TweetStreamとTwitterというGemでUserstreamを使う

現在,rubyからtwitterのAPIを叩くのに便利なGemとして,twitter gemがある.sferik/twitter sferik/twitter · GitHub これでRESTのAPIはほぼすべて叩ける仕様になっている. RESTのAPIはこれでいいのだが,ひとつ重要な機能として,Userstreamがある.twitt…

iOS向けtwitterクライアント,Whalebirdを公開しました

半年くらいカタカタし続けていましたけど,ようやく公開になりました.去年の4月に,iOS使いになったのですが,やっぱりtwitterを見るにはサードパーティ製のクライアントが欲しくて……. ただ,どうにもぐっとくるクライアントに出会えなかったので,自分で…

サイコパスは事件の構成と面白さによって作品の面白さが決まる

2014年後半アニメの感想として,今度はサイコパス2について書いていきます.サイコパス2,非常に面白くて毎週楽しみにしていた気がするんですが,最終話まで来たら「あれ,なんかこんなもんか」という終わり方をしました. 1期ってもっと最後まで楽しかった…

SAOは思い出補正

2014年後半アニメの感想として,SAOの第2期について書いていきます. このソードアート・オンラインⅡ,面白いといえば面白いのですが,やはり1期ほどではないという,月並みな感想しか出てきません.こういう,第2期を制作しちゃうアニメだとよくあることで…

ライブハウス内って写真撮っていいの?

毎年恒例になりつつありますが,EGO-WRAPPIN'のMidnight Dejavuに行ってきました. なんと今年で14年目!今年は直前にツアーがあったりして,日程の発表が遅れていたりして不安だったのですが,無事チケットがとれて,参加してきました.そういえば去年も最…

Railsで呼び出すjsをページごとに分けたい

Railsにかぎらず,ある程度のフレームワークに乗っかって開発していると「できることはできるんだけど,ちょっと好みに合わせたい」みたいな要望が発生してくる.今回のも,そんな「気を使えばできるけど頑張りたくない」ときに便利なことです. Railsはjava…

RNCryptorをswiftで使う

自分でiOSアプリを作り,バックグラウンドのサーバーも自分で実装していたりすると,通信時に暗号化した文字列を送りたかったりする場合が多々あります. もちろんSSL通信にしたりすることも重要なんですが,iPhoneの通信ログ自体はPCにつなぐと割りと簡単に…