ぷらすのブログ

Category 開発

[Go] スライスのfor rangeループ内で新しいスライスにappendしたらバグらせた

久々にポインタ関連でバグらせてしまったので、自戒のためにメモしておく。

tl;dr

  • for range ループの value は常に同じアドレス値を取る。
続きを読む

WebサーバをNginxから証明書自動更新に対応したCaddy 2に移行した

こんにちは、@p1assです。

最近、運用していた Web サーバを Nginx から Caddy に移行しました。この記事では Caddy の特徴や移行してみた感想などを書きたいと思います。

続きを読む

レイヤードアーキテクチャを採用した際のWebSocket実装例

こんにちは、@p1assです。

先日、レイヤーアーキテクチャを採用している Web API サーバに WebSocket を組み込むことになったのですが、コネクションの管理やどのレイヤーで各機能を管理するか悩んだのでブログにまとめておきます。

使用している言語は Go で、Web フレームワークは echo です。

続きを読む

Docker Contextsを使ってDocker Composeをデプロイする際の注意点

こんにちは、ぷらす(@p1ass)です。

先日、CAMPHOR- DAY 2020というオンラインのトークイベントで、「複数サービスを運用しやすい理想のコンテナ環境を VPS 上に構築する」というタイトルで登壇しました。

登壇資料は既にアップロードしていて見られるのですが、端折っている部分の補足をしたいと思います。また、当日頂いた質問についても回答します。

続きを読む

GitHub APIを使ってブランチを新規作成する

こんにちは、@p1assです。

先日、GitHub API を使用して git のブランチを作成しようとしたのですが、純粋にブランチを作成する API が生えておらず、色々調べた結果作成できることが分かってのでメモを残しておきます。

続きを読む

僕がコンピュータサイエンスに関して知らないこと

こんにちは、@p1assです。

最近、Twitter 上で、「コンピュータサイエンスについて学びたい」みたいな話をよく見るのですが、僕もその1人です。

コンピュータサイエンスの学科に所属してないので、「独学で学ばないといけない」という気持ちはあるのですが、 「じゃあ一体何を学べばいいんだ?」 となってしまったので、自分なりに知らないことを挙げていきます。

挙げたものが本当にコンピュータサイエンスなのかどうかの確証はないです。

続きを読む

Kubernetesのイメージタグの更新を楽にするCLIツールをGoで作った

この記事はCAMPHOR- Advent Calendar 2019の 11 日目の記事です。

はじめに

こんにちは、@p1assです。

今回は自分が作ったmikkuという CLI ツールを紹介をします。

mikku はセマンティックバージョニングで管理しているリポジトリの管理や、Kubenetes のマニフェストにかかれている Docker イメージのタグの更新を楽にする CLI ツールです。

この記事では mikku の特徴、開発することにしたモチベーションや苦労した点などを紹介したいと思います。

続きを読む

Goでデータベースにアクセスするにはどんなライブラリがベストか考える

この記事はGo5 Advent Calendar 2019の 1 日目の記事です。

はじめに

Go のメジャーバージョンはいつの間にか 5 まで到達していたようですね、@p1assです。

Go でデータベースにアクセスするときに使うライブラリはdatabase/sqlや それをラップしたsqlx, gorm, gorpなど様々なライブラリがありますが、皆さんはどのライブラリを使っていますか?

おそらく様々な理由があってどれか(ここに挙げられていないものかもしれない)を使っているでしょう。 しかし、それは本当にベストな選択だったのでしょうか?

この記事では、Go でデータベースをアクセスする際に、どんな機能が必要かを考えつつ、上に挙げたのライブラリを比較していきます。 あくまでこの記事で述べるのは僕個人の意見ですが、この記事を通して皆さんが改めてライブラリ選定を考えるきっかけになれば幸いです。

続きを読む

Markdownで書いた実験レポートをTeX組版の美しいPDFに変換するDockerイメージを作った

こんにちは、@p1assです。

皆さんは、実験レポートを何で書いていますか? Word ですか?それとも LaTeX ですか?

私はそのどちらでもなく、 Markdown 書いています。 Markdown はシンプルなシンタックスで様々な表現ができ、多くのエンジニアに愛されています。 しかし、Markdown は実験レポート用途にあまり使われていないため、そのままでは美しい PDF を作成できません。

この記事では、pandoc という様々なフォーマットのドキュメントを相互変換するツールを使って、Markdown で書いた実験レポートを TeX 組版の美しい PDF にする方法をご紹介します。

続きを読む

VS CodeでJupyter Notebooksのノートブックを表示したときにmatplotlibのスタイルをデフォルトにする

こんにちは、@p1assです。

VS Code では Jupyter Notebooks のノートブックをネイティブで表示することができますが、matplotlib で plot した時のスタイルが黒ベースのものになっています。自分は標準の色の方が好きなので変更する方法を紹介します。

続きを読む
3