Let's write β

プログラミング中にできたことか、思ったこととか

RustでLayered Architectureをやってみた

ちょっとしたネットワークリクエストを伴うツールを書く事があり、せっかくなのでRustでレイヤードアーキテクチャでやってみることにしました。 github.com フォルダを分けてモジュールレベルで分離するのではなく、Cargoのworkspaceをつかって各レイヤーをc…

DE0-CVを購入し開発環境をセットアップした

FPGAを初めたいなぁと前から思っていたのですが、なかなか時間がとれそうになく踏みだせていなかったのですが 思いきって購入しました。 DE0-CV www.youtube.com マルツオンラインから購入しました。 DE0-CVでは、開発環境としてQuartas Primeという物がInte…

Rails5 + MySQLでArmgとDBコネクタの拡張を組み合わせて位置情報を扱う

背景 サービスで位置情報を色々なところで扱うのですが MySQLで扱うためには当然Geometry型のカラムを用意してActiveRecordとつなぐ必要があり PostGisを使っているケースが多く、MySQL周りのライブラリはあまり活発ではありませんでした。 RGeoのMySQL2コネ…

位置情報のハッシュをS2 Geometryライブラリを利用して計算して地球上の多角形を被覆してみた

前回の記事では、S2 Geometryライブラリを使って地球上の円形を覆っていました。 poketo7878-dev.hatenablog.com その時、「まだ多角形ポリゴンのサポートはされていない」と書いていました。 その後、そのバージョンアップが対応され、内部に穴を持たない多…

S2 Geometryで周辺の位置情報を検索する

位置情報のハッシュをもとめるGoogle製のライブラリS2のGo移植版を「渋谷駅を中心に半径4kmの円」に含まれるデータを範囲検索するというユースケースを想定して利用しました。

最小構成サーバーでは負荷に耐えられなくなってきたので、SidekiqのJob処理を別サーバーに移動した

背景 調査手順 CPU負荷の確認 sarでCPU負荷の内訳を確認 topで負荷の高いユーザープロセスの概要を把握 psでユーザープロセスの詳細を把握 対応手順 Job処理をバッチサーバーに移動 ソースコードをバッチサーバにもデプロイ Wheneverによるcrontabの登録をバ…

Fastlane gemのSpaceshipを使ってiOSアプリのバージョン番号のリストを取得する

RubyのGemでiTunes ConnectからiOSのバージョン番号のリストを取得する

ニコ生のTSをダウンロードするスクリプトをRustで書いた

ニコ生のTSをダウンロードするツールというのがネットに何個か見つかって、画質選択ができたり、複数に分割されているものに 対応しているものがすぐには見つからなかったので勉強がてら書いてみました。 extern crate reqwest; extern crate sxd_document; …

GoogleMapのスタイルギャラリーSnazzyMapsのスタイルを適用したGoogle Static Mapの作成

GoogleMapのStaticMapを作るときに、スタイルをカスタマイズしてアプリケーションのテーマと雰囲気を合わせたいなという場合があります。 GoogleMapのスタイルはカスタマイズできるのですが、個別の項目を1からカスタマイズするよりは、 おしゃれな既存のテ…

独学でプログラミングしてきてよかった本まとめ

良いコードを書きながら速くチームで成し遂げたい ビジネス的には、ビジネスの機運を適切につかむためにも速くリリースすることが必要である事が多く、 一方で出来合いのコードで速くリリースし続けると負債となって溜まっていってしまいます。 そういうジレ…

rlwrapがMacでの子プロセスのディレクトリの追跡をサポートしたようです

前回の記事でも触れましたが最近はplan9portのrcをつかって生活をしています。 rcではヒストリ機能はサポートしておらず、readline系のなんかを使うと良いんじゃないかみたいなアドバイスがされています。そんなときに便利なのはやっぱりrlwrapです。任意の…

rbenvをPlan9portのrcに対応させるPRを送った

plan9の標準シェルrcを最近メインで使い始めたのですが、ヒストリー機能がないとかそういうのは自前でやるとしても rbenvなどの普段使っているツールが動かないのは辛いです。 rbenvとhubにrcサポート用のPR送ろっかなぁどニッチだけど— Pocket7878 (@Hannib…