DevDevデブ!!

プログラミングのこととか書きます。多分。。。

プログラミング

mackerel-agent-pluginの出力をJSONに変換するやーつを作った

GW前に緊急事態宣言が出されたためにクラブイベントが全てなくなって、なんにもすることがなくなり酒飲んでアニメ見てたマンですこんにちは。 そんななか、GW中唯一の進捗が「mackerel-agent-pluginの出力をJSONに変換するやーつ」でございます。 github.com…

fireworq管理用のTUIアプリを作っとる

一つ前の記事のfireworqのAPIクライアントを作っていた目的がこれ stk132.hatenablog.com リポジトリはこれ github.com 詳しくはQiitaに書いた記事を見て欲しい qiita.com なぜTUIアプリなのか Qiitaのほうにも書いたけど、fireworqonsoleっていうwebコンソ…

fireworqのAPIクライアントを作っとる

github.com golang用のfireworqのAPIクライアント 名前は「tsutsu(筒)」 fireworqが花火なので、花火に関連する用語を使おうとして、打ち上げ筒から名前とったらいいんじゃね?って思って、何か専門用語があるんだろうと思って調べたら、そのまんま、筒、打…

fireworqのキュー設定、ルーティング設定の保存、適用CLIを書いた

こんにちは。最近サイバーパンク2077やってて寝不足でございます。 表題まんまなんですけどね、しょぼいCLIをしたためました。 github.com 名前は「chakka(着火)」です。 fireworkは英語で花火なので、それに合わせました。 fireworqって何? はてな社が開発…

SAA-C02を受けてきましたよ

AWSソリューションアーキテクトアソシエイトのリニューアル版?のSAA-C02を受けてきました。 結果は合格です。 なんか正答率はすぐには出なくなったんですかね?どれくらいの理解度だったのかはわかりません。 まあ再認定だったんで、合格しないと不味いだろ…

ScalaTestでUsingを使うときに気をつけたいこと

ScalaTestでUsingを使っててちょっとハマったので、そのメモ TL;DR Usingの中でfailさせてもテスト終了しないよ Usingの中でテスト対象の処理を実行し、明示的にfailしても、テストは完走します。 なぜならUsingがTryでcatchしてしまうから。 Usingって何よ…

DockerオフィシャルのMySQLとmysql/mysql-serverを間違えるとハマる

前回のエントリに引き続き、codebuildでCI環境を作ってる最中にハマったネタ。 stk132.hatenablog.com dockerhubにあるMySQLのイメージにDockerオフィシャルのmysqlと、オラクルのMySQLチームが管理しているmysql/mysql-serverというのがある。(もちろんこの…

play-jsonの2.8でWritesが非変になっててハマった話

表題が全てなんですけど、play-jsonのWritesは2.7まで反変だったんですが、2.8から非変になってます。 そのせいでplay2.7から2.8に更新したタイミングでコンパイルエラーが出るようになりました。 ことのあらまし 今年scala3出るらしいし、scalaもplayもバー…

stream closedと言われた夜

作業してたの昼だけど。 scalaでgzip圧縮されているtsvを読んで、行毎にcase classのインスタンスに変換して、Seqで返すメソッドを書いてたんだけど、当該メソッドの戻り値のSeqにアクセスしたらstream closedって言われてしまった。 こんなコード scala2.12…

fsnotifyでなんやかんやするためのフレームワークっぽいの作った

こんにちは、こんにちは。 発売日に購入して丸一ヶ月かけてポケモンクリアしました。チャンピオン戦は四天王的なやつらと連戦させられるのかと思ったら、1戦毎にインターバルを挟む形式で、スタジアムの外にも出られる仕様だったので、拍子抜けでしたね。 ダ…

go用のDynamoDBとDAXの合体クライアントを作った

ポケモンやってます!!!(未クリア) リングフィットやってません!!!!!!(リングコンで運動はしてる) ラビフットかわゆす〜〜〜とか思ってたら、進化してエースバーンになったらリア充サッカー部員っぽくなって悲しいです。 (実はポケモンはルビサファ…

aws-cdkでセキュリティグループのIngressRuleに他のセキュリティグループを指定する

ポケモン買ったので、リングフィットを起動してないです。みなさんはどうでしょう? (起動はしてないけど、リングコンつかってリングアローとか適当に運動してる) 今回も表題そのまんまの話です。 普通にできるっしょと思ったらちょっと手こずったので、書い…

aws-sdk-go ssm Parameter Storeのラッパーを作った

みなさんがデスストランディングで遊んでる間、プライベートで実務で使うためのライブラリを作ってたんですよ。いや使うかわからんけど github.com なぜ作った? aws-sdkあるあるだと思うんですけど、入力、出力がそれぞれXXXXInput, XXXXOutputとかになって…

pongo2のテンプレートファイルからレンダリングするやつ作った

pongo2のテンプレートファイルと、json or yamlのパラメータファイルを渡して、パラメータをテンプレートに埋め込んでレンダリングするコマンドを作りました。 github.com 就業時間に作ったので、会社のリポジトリだけど pongo2って何よ? pongo2はgo用のテ…

supervisorのログローテーションの挙動について調べた

supervisorのログローテーション機能について、linuxのlogrotateのcopytruncateみたいにログをロストする可能性がないかどうか気になったので調べた。 ロストしない(はず) そもそもローテーション方法がlogrotateとは異なる。 logrotateの場合、ログファイル…

pyhoconをdockerコンテナで実行するやつ作った

表題まんま。作りました。 github.com Python公式のalpineイメージにpipでpyhoconインストールしただけでーすwwwwwwww pyhoconってなにさ? HOCONフォーマットのpython用parser HOCONっていうのは、LightBend社が開発した設定ファイル用のフォーマッ…

WEBサーバがスタンドアローンコンプレックス-冷房壊れてアッチッチの巻

こんにちは。 AWSの東京リージョンで障害が発生しましたね。 www.itmedia.co.jp 冷却装置が故障したために、サーバが加熱されて〜ってのが原因らしいですね。 クラウド事業者で障害が発生するのは、人為的なオペレーションミスか、データセンターのファシリ…

scalateでVAST形式のxmlを出力したい人生だった。。。

Qiitaに書いたけど、自分のブログにも書いておく qiita.com ことのあらまし 動画広告の標準フォーマットであるVAST形式のxmlをテンプレートから出力したくて、Scalateを使おうとしたんだけど、小一時間ハマってた なんでTwirlじゃなくてScalate使おうとした…

scalikejdbcのQueryDSLでカラムをバッククォーテーションで囲む

表題のまんま scalikejdbcGenで自動生成したモデルのcreate, saveメソッドがコケる ユニットテストが通らなくて、なんでやねんと思ってたらsyntax errorになってて、よくみたら対象テーブルのカラム名にMySQLの予約語が使われてた。 バッククォーテーション…

第一次重複レコード集約戦争勃発

あけましておめでとうございます。(遅い) 年始早々バッチの結果がアレしてアレでした。 アレになってしまった原因の一端が、あるテーブルに大量に重複レコードがあることだったため、重複レコードの集約にとりかかってました。 問題のテーブルXについて 主キ…

ぼくとRedisの一年戦争

WAR IS OVER..... じゃあないんだよ!絶賛続行中です この記事はWanoグループアドベントカレンダーの19日目の記事です。 今回はWano入社から1年以上に渡って続いているRedisとの格闘について記したいと思います。 Redisとは Redisは、データ構造サーバーを実…

block.fmを!!!スクレイピング!!!!したい!!!!! (Scalaのfor式、Futureを添えて)

みなさん、block.fm聴いてますか!スクレイピングしてますか!?(普通はしません) この記事はWanoグループアドベントカレンダーの11日目の記事です。 (12/12に書いてるけど、この業界は業務開始時間までは前日扱いだからいいよね) 前回はポエムでお茶を濁し…

最近Scala書いてるよって話

しわーっす。今年もあっという間に12月ですね。 この記事はWanoグループアドベントカレンダーの6日目の記事です。 はじめに言っときますが、この記事にはコード出てきません、ほぼポエムです。 最近業務でScalaを書き始めたので、きっかけとか勉強方法とか書…

aws GlueのETL jobでLTSVをパースするの巻

こんにちは、私です。 最近近所のドラッグストア、ファミマ、西友でICE BOXが品切れ起こしてて困ってます。 ICE BOX難民です。 みんなサクレとかパルム食べててくださいよ。 今回の内容は、まあ表題の通りです。 athenaがLTSVに対応してません nginxのログを…

accounts-serviceをコロコロした

(追記: accounts-serviceゆーてますけど、プロセス一覧に出るのはaccounts-daemonですね。。。) こんにちは。私です。 連日酷暑が続きますが、みなさんいかがお過ごしでしょうか? 私はダメです。 このエントリの内容は ubuntu14.04から16.04にアップデート…

BigQueryどハマり珍道中

こんにちは私です。 前回のブログエントリから結構な間が空いてしまいましたが、存命です。 前回のエントリはathenaの話でしたが、今回はbigqueryです。 またもや大量のログと格闘しております。 アド関係やってると大量ログとの格闘は避けられないようです…

ログ集計バッチとしてのaws athena

タイトルそのまんまなんですが、最近aws athenaをログ集計バッチ代わりにつかっています。 athenaって何? 小宇宙(コスモ)を燃やすやつでも、サイコソルジャーでもない。 雑に説明すると、S3に配置したログファイルについてスキーマを定義して、SQLを実行で…

zapはgoroutine safeなのか??

READMEに明記されてないので調べてた (というかzapはドキュメント薄い。。。ソース読まないと分からん) (基本goroutine safeと明記されてないものはgoroutine safeでは無いんだけど) github.com 事の発端 zapのリポジトリのREADMEにはgoroutine-safeの記載は…

echoのcontent-type上書きに注意(訂正:上書きしてませんでした)

(訂正) 上書きしてませんでした (2018-08-25) コメントをいただき、修正しました HTMLBlobやBlobなどのレスポンスを書き込むContext構造体の関数は、content-typeの上書きはしません HTMLBlobやBlobなどのレスポンスを書き込む関数(以降、便宜的にレスポンス…

echoでgraceful restart

ちょろっとググっても見つからなかったので書いておく。 分かってると思うけど、golangのWAFのechoです。 go-server-starterを使う github.com 使い方は下記の記事を参考にした。 shogo82148.github.io net/httpをそのまま使うのであれば、上記の記事の通り…