Mastodonの自鯖にRBSを導入した

はじめに この記事はMastodonにRBSを導入したときの導入背景や手順などをまとめた記事になります。 主に僕個人の備忘録としてまとめています。 導入背景 2017年5月から6年ほどCreatodonというMastodonのサーバーを個人的に運営しています。 gamelinks007.net…

Mastodonにリビジョンアップでの自動リロード機能を導入してみた

はじめに この記事はMastodonにリビジョンアップという機能を追加したときの導入背景や実装などをまとめた記事になります。 主に僕個人の備忘録としてまとめています。 導入の背景などあれこれ 2017年5月から6年ほどCreatodonというMastodonのサーバーを個人…

Creatodonの独自機能向けにテストコードを追加した

はじめに 以前からCreatodonはMastodonの最新のソースコードに追従する運用で動かしていました。 ただ、ここ半年の間で独自機能などをいくつか導入した影響もあり、最新のソースコードに追従する際に独自機能周りの挙動を手動で確認するという面倒くさいこと…

410を返すものをLambdaとCloudfrontで作った

はじめに これはCalckeyとMisskeyのサーバーを閉じる際に410を返す処理をLambdaとCloudFrontを組み合わせて作った時の備忘録です。 そのため詳細な部分はカットしてあるのであまり参考にならないかと思います。 やったこと まずこの記事を参考にHTTPSエンド…

MastodonサーバーにTwitterっぽいカスタムテーマを追加してみた

はじめに GitHubで何か面白いものはないかなぁと探していたところ、以下のリポジトリを見つけたのがきっかけ。 github.com デモの画面などをみて「思ったよりもTwitterっぽいなー」とか思ってました。 で、どうもカスタムテーマとしても導入できそうだったの…

軽量なActivityPub対応のHonkをお一人様サーバーとして建ててみた

はじめに 以下の記事を以前読んでからHonk鯖建立をやってみたいなぁと思い、建ててみました。 www.coelacanth-dream.com 建てたサーバー honk.gamelinks007.net 建てるにあたってやったこと サーバーの用意 サーバー自体はCreatodonの運用関係で利用している…

CalckeyとMisskey のサーバーを建ててみた

はじめに ノリと勢いでCalckeyとMisskey のサーバーを建ててみた話です。 Mastodon やPleromaなどのサーバーは建てたことはあるんですが、CalckeyやMisskey のサーバーはまだだったのでやってみました。 妖怪自鯖はいいぞとしても、その辺建てたことがないの…

ChatGPT-3.5でMastodonの使い方とかの問い合わせを自動で返してくれるBotを作ってみた

はじめに 運営しているMastodonサーバーで前々からMastodonの使い方とかを自動で返信してくれるBotとか作れないかなと考えていたのがきっかけ。 で、Rubyでいい感じにOpenAIのAPIが実行できるライブラリを見つけたので実際に作ってみた感じです。 github.com…

手元のPCから定期的にMasotodonへランダムに呟く

はじめに 最近ホスティングサービスなどで自分のMastodonサーバーを作られた方が、ご自身の作品を定期的に投稿できるBotを作られようとしていたのがこの記事を書くきっかけ。 その方は以下のるびまの記事を元にAWS Lambdaで定期実行をさせようとしていたんだ…

Twitterのアーカイブデータ内の呟きを雑にMastodon へとインポートできるようにしてみた

はじめに 表題のようにTwitterのアーカイブデータを元に呟きを雑にMastodonへとインポートできるようにしてみた記事です。 なお、この記事で紹介する実装は負荷などは考慮されておらず、ただ呟きをインポートできるようにしてみただけになっています。 その…

MastodonのタイムラインにNSFWな画像が流れてきたら警告するBotを作った

はじめに 以前、以下の記事で作った自動NSFWとか gamelinks007.hatenablog.com 以下の自動NSFW検知Botとかを改良したものを新たに作ってみました。 github.com 以前までのBotの問題点 以前までのBotはGoogle Cloud Vision APIを使っていたため中々にコストが…

2022年振り返り

お仕事 お仕事では相変わらずCREとしてGoとReact/TypeScriptでコードを書きつつ、顧客満足度改善につながる改修とか進めてました。 ただ去年と違うのはCREチームのリーダーとしてタスクのアサインや他部署との交渉なども行うようになった点ですね。 なので、…

Creatodonに新機能を追加した話

追加した機能 Creatodonに登録されているカスタム絵文字の表示サイズ変更と公開範囲「にゃーん」を新しい機能として追加しています。 実際の挙動などは以下で確認できます。 gamelinks007.net カスタム絵文字の表示サイズ変更 Creatodonのユーザーさんから「…

Creatodonをv3.4.6からv4.0.2へのアップデートした

はじめに これは僕が管理しているCreatodonというMastodonのサーバーのアップデートを行ったときの備忘録になります。 一部正確な情報ではないかもしれませんのでご了承ください。 経緯 前回のCreatodonアップデートの記事から一年とちょっと経ち、Fediverse…

gqlgenでのgoroutine leakを解消した

はじめに この記事は、仕事で使っているgqlgenというGo製のGraphQLサーバーを生成するツールで起きていたgoroutine leakを解消した時のまとめです 起きたこと GraphQLのSubscriptionを使った機能(リアルタイム性のある機能)をリリースした直後からメモリリー…

Hamada.rb #34 & Ruby Hacking Challenge in Hamada.rb を開催した

毎月定例のHamada.rbとRuby Hacking Challenge in Hamada.rbを9/20に開催してきた この記事はその振り返りです Rubyのビルド 今回Ruby Hacking Challenge初参加の方が何人おり、rubyhackchallengeのチュートリアル進めてて、依存関係でビルド出来なかったの…

RubyのアプリケーションをPR単位でテストできるようにしてみた

はじめに RubyのアプリケーションをPR単位でテストできるようにしてみた記事です。 仕事でRubyを使っていて「PR単位で気軽にテスト環境を作りたいなぁ」という人向けの内容です。 背景など 元々仕事で 複数のプロジェクトが同時並行で進んでいる 単一のステ…

RailsをAppRuner/RDS/ECRな環境にデプロイできるようにしてみた

AWS

Railsで作成されたアプリケーションを、AWS上のAppRunner/RDS/ECRを使った環境にデプロイできるようにしてみた時のメモです。 ついでに、Terraformを使ってインフラ周りもコードで管理できるようにしてみた感じです。 作ったもの github.com ほとんど素のRai…

Goでicalendarを生成してみた

Go

はじめに Goでicalendarを生成してみたいけどどうやるんだっけ?って人向けの記事です(多分そんなにいないと思いますが……) 背景 仕事のコードで予約されているデータなどをGoogleカレンダーなどへ連携されるようにしたいという話が出たのが事のきっかけです…

GoでGoの雛型コードを自動生成できるようにしてみた

Go

はじめに 仕事ではもっぱらGoを書いてて、同じようなコードを結構毎回書いたりしてるのがストレスになってる人向けの記事です。 GoでGoの雛型コードを自動生成できるライブラリ dave/jennifer を使ってコマンド経由で楽に生成できるようにしてみました。 git…

「ゼロからわかるRuby超入門」を読んだ

以前から読もうと思ってAmazonの欲しいものリストに突っ込んでいた「ゼロからわかるRuby超入門」を送っていただいたので早速読んでみた。 www.amazon.co.jp ので、雑に感想など書いてみた。 内容など かなり初心者向けの内容でわかりやすい感じでした。 個人…

RustでRubyのNative Extensionを書く

はじめに 先日、Ruby Issue Trackerに以下のチケットが作成されました。 Feature #18481 Porting YJIT to Rust (request for feedback) 内容としては、昨年末にリリースされたRuby 3.1にマージされているYJITという新しいJITコンパイラをより開発しやすくす…

GitHub Actionsで自動的にマイグレーション&DBバックアップが走るようにしてみた

経緯 仕事の関係で、ステージング環境へ自動的にマイグレーションを走らせたい&DBのバックアップを自動化したい状況があり、GitHub Actionsで自動化してみました。 これはその時のアレコレをまとめたものです。 つくったもの(サンプル) github.com 仕事で書…

Mastodonの鯖缶を4年ほどやってみての雑感

はじめに この記事はFediverse Advent Calendar 2021 の7日目の記事です。 adventar.org 2017年からMastodonサーバーを運営してみての雑感を書きたいと思い、参加しました。 軽く自己紹介 S.H.という名前で、Creatodonという創作系のMastodonサーバーの管理…

rstdという趣味ライブラリを作っています

はじめに この記事は Ruby Advent Calendar2 2021の12/6の記事です。 qiita.com 二年くらい前から趣味で作っているrstdというライブラリの紹介したいと思い、参加しました。 作っているもの rtsdという「標準ライブラリにあると便利そうなメソッド」をRefine…

島根県浜田市での暮らしなど

はじめに この記事は地方在住 Advent Calendar 2021の12/5の記事です。 僕も地方在住でリモートで仕事をしているので日々の生活などを振り返ってみようかと思い参加しました。 居住地 現在は島根県浜田市に住んでいます。もともと出身も島根県西部のほうなの…

近況報告という名の振り返り

はじめに この記事はRubyist近況 Advent Calendar2021(2スレ目)の12/3の記事です。 近況報告の体で今年一年を振り返ってみようかなと思い、参加してみました。 この一年でやってたこと お仕事 お仕事のほうではCREというポジションに就き、Go/TypeScriptを使…

浜田市への意見などを投稿できる目安箱サービスを試しに作ってみた

はじめに 元々は浜田市若者会議という会で、「浜田市に住んでいる若者がどんな意見を持っているかを知りたい」という話が出たのがきっかけです。 とりあえず、作ってはみたんですがまだ実際にリリースしたりするように話が詰まっていないので、本当にリリー…

GoでWebsocketを使ったリアルタイムチャットを作ってみた

Go

はじめに 勉強がてらGoでWebsocketを使ったチャットアプリを作ってみた時の備忘録です。 作ったもの github.com フレームワークとしてはGinを使い、ORMにはgorm v2を使っています。 またWebsocket周りはmelodyを使っています。 github.com やったこと 細かい…

gormでPreload周りのメモリ使用量とかを比較してみた

はじめに gamelinks007.hatenablog.com この記事は、上記の記事でgormのバージョンを上げる際にPreload周りの挙動を調べてた時のあれこれをまとめたものです。 ことの発端 gorm v2へのアップデート時に、一部処理でメモリリークらしき挙動が確認されたのがこ…