FaradayはRubyでHTTPリクエストを行うことができるライブラリだけど、 特に工夫もなしに利用すると1つ1つリクエストを順番に直列に実行するようになっている。 もしなにかしらの事情でAPIを並列に叩きたい事情というものもあるので、 その場合は以下の用に対…
その名もWebhookDebugger 実はRailsのアプリケーションで15分位でシュッと書いたものを単機能だったのを、素のRackアプリケーションにして書き直したものである。 github.com 以下に簡単にこのアプリケーションについての機能を簡単に説明しておく。 基本は…
Rackとは Webサーバ/Webアプリケーションフレームワーク間のインタフェースの役割を果たすライブラリで、 Rackを利用してフレームワークやアプリケーションのインターフェース部分を実装することで、 Webサーバを変更したり、逆にWebサーバを変更しないでも…
これやりたい経緯 静的ファイル上でユーザーエージェントを判別して、広告タグを出し分けたいというのを実現するための方法と一つとしてです。 本当は配信先の広告タグスクリプトでよしなにやっててほしいんですが、 そういうわけにも行かないときはやっぱり…
今年のお正月からなんとなく毎週ブログを更新するというのを初めて10回を超えたので自分なりに振り返ってみようと思う。 ネタ探しについて まだ10回なんだけど、業務内容にも恵まれてるのかもしれんがぶっちゃけあまり困ってないです。 ネタはたくさんある方…
そもそもRubyからFirestoreを叩きたい理由 FirestoreはフロントエンドからWriteできるけど、実装の複雑さを避けるためにフロントエンドからはWriteしないで、 チャットのAPI経由でFirestoreに対してWriteを行う機構が必要だったため。*1 *2 方法 とにかくgoo…
ogp_parse_apiというサービスを適当に運用・Dockerイメージを提供しているのですが、 こちらで利用しているSinatraで脆弱性の修正を含むバージョンアップがあったのでその対応をしました。 github.com ogp_parse_apiは単純にOGP情報をスクレイピングしてJSON…
自作のGemで初回インストール時にメッセージを表示したいケースがある場合に重宝する。 まだ自分でちゃんと運用しているわけではないけど、 社内Gemの場合はREADMEやMigrationしてねーみたいなメッセージを付けてあげるのが親切・便利かと思う。 spec.post_i…
概要 PaperClipで、Railsで生成したCSVファイルをS3にアップロードするときに、Content-Typeが"text/plain"でアップロードされてしまうので、 S3にアップロードしたときに.txtファイルになってしまう問題がある。 とりあえずの解決方法 とりあえずS3にアップ…
こちらのアンサーブログだと思ってもらえれば。 webuilder240.hatenablog.com 結論 結論からいうと、集計をするためのModelを作っておいてそこから集計を行う方式にして、 色々なModelの集計に対して対応できるようにした。 create_table "aggregaters", for…
これをやりたい理由 作るDockeイメージは1つにしたいのだけど、デプロイする先によってコンテナの役割(例えばCronやJobワーカーを動かすコンテナとWebサーバーを実際に動かすコンテナ等)を分けたいときに利用する。 例えばAzureのWebApps for Container (W…
サイトのOGP情報をスクレイプするのが面倒なので、OGP情報のスクレイピングし、JSONに変換して情報を返すだけのマイクロサービスを作った。 マイクロサービスというか、用途的にはDockerが向いていると思ったので、Dockerイメージにもしてあります。 docker …
先日紹介した、拙作のself_updated_atなのですが、 この度v0.2.0へアップデートしたので、こちらの更新情報をお伝えします。 self_updated_atがどういうGemかよくわからんという人はこの記事を読んでみてください。 webuilder240.hatenablog.com 下記は更新…
self_updated_atという、ActiveRecordで指定したカラムに対して更新が発生したときに更新日時を書き換えるgemを作りました。 GitHub - webuilder240/self_updated_at https://rubygems.org/gems/self_updated_at 利用方法 ActiveRecordのModelに以下のように…
最近、個人的な趣味と社の技術検証を兼ねてFirebaseを触っている。 一番のモチベーションとしてはFirebase Realtime Databaseの存在が大きかったのだけど、 フロントエンド・クライアントサイドエンジニアがプロトタイプ作るときに、 あると便利な機能が一通…
会社的なアレ 色々社に動きがあり、関わる人間の数も増え、 一気に会社としての規模、大袈裟感は上がったように感じた。 その中で自分が納得感の行く成果が挙げられたかといえばそうではないと思っていて、 2018年は目に見える成果をどしどししていきたいと…
最近良く聞かれるので書いておく。 答える人のバックグラウンドについて 最近はだいたいRails書いてるサーバーサイドエンジニア。 最近はフロントエンドも書くことも少なくなったけど、Vue1.xのときにSPAっぽいものつくってたりした。 Reactは未経験だけど、…
そもそもRubyにInterfaceが必要とか、必要じゃないとかの議論は置いておいて、 無いのであれば、類似したことをやりたい場合はどうすればいいのかが気になって調べてた。 1. まずは簡単にやってみる module TestInterface def method1 raise NotImplementErr…
これは前に書いたブログの記事を再編集したものです。 こんにちは。 簡単なphpコードとWordPressの関数を使用すれば、とっても管理しやすい Wordpressのテーマが出来上がることを知っていますか? あまりphpの詳しくない方でも簡単に始めるモダンなWordPress…
いきなりまとめ Linux環境のGemのrb-inotifyがインストールされている環境で使用した場合、落ちるエラーを修正した。 まだ反応がなくMergeされていないので、GithubからFork版を一旦使ってほしい。 github.com PRはこちら github.com そもそもFSSMとは? Rub…
前回の記事に引き続き、 過去の作ったものでブログを書いてみるシリーズの第2弾です。 前回はこっち。 webuilder240.hatenablog.com 前にこの記事を書きましたが、 webuilder240.hatenablog.com これをAPIで公開しました。 Productionで使われることはそこま…
大げさな事を言っているけど、単にAPI何かのレスポンスをキャッシュしたいときに雑に扱えるものを作った。という感じ。 類似ライブラリはあるっちゃあるけど、このくらいの実装だったら自分でメンテしたほうが良いと思ってる。 公開も面倒なので雑にGistにし…
課金決済サービスの定期課金機能は使わない方がポータビリティ高いし、色々イレギュラーが出るので使わない方が後々幸せというのがぼくの意見です。— {{ nick }} (@webuilder240) 2017年6月29日 そのうちこれはブログに書こうと思います。 https://t.co/p8OQ…
1年以上Ruby触ってきたけど知らなかった。のでメモ代わりに書いておく。 # APIリクエストした内容 post = JSON.parse(response.body, class_object: OpenStruct) # <OpenStruct id=1, title="test", body="test", publish_date="2017-07-26T13:31:00.000Z", created_at="2017-07-26T13:31:26.340Z", updated_at="2017-07-26T13:31:26.340Z"> # post.title, post.body…</openstruct>
VisualStudio for Macを使ってみた。 と言ってもプレビュー版からの1年近い長い付き合いではある。 最近起動していなかったので、久しぶりに使ったのだけど楽しかった。 型でこの変数はどういうものなのか、というのがひと目で分かるのでそれはそれでよかっ…
築地に行った GWっぽいことをあんまりしていない気がして、今日は早起きして築地に行ってきた。 色々食べ歩きしてたけど、朝の9時過ぎには観光客で賑わって来たので早々に退散。 ゆっくり色々食べ歩きしたい人は7時 - 8時くらいに行くのがいいかも。 日枝神…
フロントエンドの進化が早いとか、フレームワークとかライブラリの入れ替わり云々の話が再燃している感じがあるので、雑に書いておくと… 単純にそれを学ばないのはもったいないし、フロントエンドを触る機会があるなら考え方は知っておくべき という一言に尽…
とにかくAzure Functionsについて考えてた1日だった。 Azure Functionsでサーバーレスなメール送信ワーカーシステム 今日はAzureFunctionsでSendGridを利用したメール送信をAzure QueueStorage経由で実行することでメール送信用のWorkerを増やさなくても、 …
2016年良かったこと探し 業務的なおはなし。 2016年は、リリースしたサービスの改善・機能追加に費やした1年だった。 このあたりはブログでも色々話したいけど、サービスのサイト公開準備中なので、公開してからやっていた仕事をアウトプットできればと思っ…
今は仕事で、今までRails + MySQLで稼働しているアプリケーションのデータベースをSQLServerに移行している。 進捗状況としては開発環境上では「ひとまずちゃんと動いているように見える」ということで、 まだProductionで運用しないが、大丈夫そうな気もし…