IX2105でIPoEとPPPoEを同時に使用する
はじめに以前記事にしたように、IIJのFiberAccess/NFではIPoEとPPPoEを両方使うことができます。家庭用ルーターではどちらか片方しか使えないことが多いのですが、IX2105のような業務用ルーターでは同時に使うことができます。先日(と言っても結構時間が空いてしまいましたが)その設定をしたので、内容を記録しておこうと思います。sublimer.hatenablog.com環境NEC...
View ArticleGrafana、Grafana Loki、PromtailでNginxのアクセスログを可視化する最強のダッシュボードを作る
はじめにNginxのアクセスログをPromtailとGrafana Lokiで集約してGrafanaで可視化してみました。とてもかっこいい最強のダッシュボードができたので、手順などを記録しておこうと思います。環境ソフトウェアGrafana v8.1.3Grafana Loki main-64e2a36Promtail 2.2.1Nginx...
View ArticleWireGuardで拠点間VPNを設定してみた
はじめにWireGuardを使って、自宅とOracle Cloudの間で拠点間VPNを構築してみました。Oracle Cloud上のVMから自宅サーバーのDBにアクセスする際などにセキュアな通信ができ、非常に便利です。構築した際の手順やハマったポイントなどを記事に残しておこうと思います。環境自宅(172.16.0.0/23) ルーター(172.16.0.1)VM1(172.16.0.11) on...
View ArticleC# ( .NET Core)で作る自作TURNサーバー 〜開発のTipsとプロトコルの説明を添えて〜 #nttcom_ac2021
はじめにこの記事は、 NTT Communications Advent Calendar 2021 12日目の記事です。皆様こんにちは。NTTコミュニケーションズ イノベーションセンターの@sublimerです。今年の4月にNTTコミュニケーションズに入社し、SkyWayの開発・運用の業務を行っています。本記事では、C# ( .NET...
View Article今年買って良かった物2021
はじめに毎年書いている「今年買って良かった物」の2021年分です。今年は就職したので生活が色々と変わったのですが、去年ほど物を買うことはなかったように思います。とはいえ、生活環境をより良くするためにいろいろ買ってみたので、買ったものと使ってみた感想を簡単に書いていこうと思います。これまでの「買って良かった物」はこちらです。sublimer.hatenablog.comsublimer.hatenab...
View ArticleSkyWay Beta用の認証JWT(SkyWay Auth Token)を生成するサーバーをGoogle Apps Scriptで動かす
はじめに2月21日に、新しいSkyWayのβ版であるSkyWay Betaがリリースされました。 SkyWay Betaでは、JWT形式のトークン、SkyWay Auth Tokenを使用して、細かい権限管理ができるようになっています。一方で、ドキュメントにはSkyWay Auth Tokenを利用するためには、これを払い出すアプリケーションサーバーを構築する必要があります。...
View Article1年間で読んだWebサイトをRedashで集計して可視化してみた
はじめに私は、興味がある分野の技術ブログ等をRSS登録して毎日更新された記事をチェックしているのですが、有用な記事や広く共有したい記事などを埋もれさせてしまうことがあり、もったいないなぁと感じていました。この課題を解決するため、Webサイトをクリッピング・記録し、RSSで共有ができるWebアプリケーション、「fluid」を作りました。fluid.sublimer.me今日は、このfluidを使い始め...
View Article社会人1年目の振り返りなど
はじめに社会人というのもを初めてだいたい1年が経ったので、どんな感じだったのかを振り返ってみようと思います。仕事のことを詳細に書くわけには行かないので、業務以外のことをメインに書きます。4月入社式がありました。当然ながらリモートです。入社式自体は特に何事もなく終えました。翌日からは約1ヶ月間、研修がありました。こちらも当然リモートです。リモートで研修をすること自体は全く苦痛ではなかったのですが、座学...
View Article自宅KubernetesクラスターでArgoCDと格闘した話
はじめに数ヶ月前から自宅Kubernetesクラスターの運用をはじめました。過去に一度自宅Kubernetesに挑戦してはいたのですが、当時はクラスターを組んで満足してしまい、本格的な運用はしていませんでした。今回は本格的に運用し、順次運用しているアプリケーションのKubernetes上への移行を進めています。Kubernetesで実行するアプリケーションのmanifestはGitHubリポジトリに...
View ArticleMastodonの実行基盤をDocker ComposeからKubernetesに移行した話 #FediverseAdventCalendar
はじめにこの記事は、Fediverse Advent Calendar...
View Article今年買って良かった物2022
はじめに毎年書いている「今年買って良かった物」の2022年分です。今年は社会人2年目となり、日々の業務にもまぁまぁ慣れてきたかなぁといった感じでした。一方の世の中は、昨年以上に色々大変でした。経済関係はいろいろと動きがありましたが、それなりに何かは買っていたので、買ったものを紹介しようと思います。ちなみに去年の分は↓です。sublimer.hatenablog.comDellプロフェッショナルシリー...
View Article普段の技術系の情報収集のやり方
はじめに技術のトレンドや世の中の動向を追うためにいろいろな方法で情報収集をしているので、そのやり方を紹介しようと思います。情報発信について書かれた記事と比較して情報収集について書かれた記事は少ないような気がするので、どうやって情報収集をすればよいか困っている人の助けになると嬉しいです。RSSRSSはWeb上の記事の更新情報を収集・通知できる仕組みです。私は、RSSをFeedlyというサービスを使って...
View ArticleMicroK8sを動かしているサーバーのディスク容量枯渇への対処
はじめに私は自宅サーバーでMicroK8sでKubernetesクラスターを構築して運用しているのですが、先日ディスクの空きが減っているというアラートが出ていました。不要なデータを削除するようにして復旧させたので、その手順などを書いておこうと思います。原因の調査VM内を調べたところ、...
View ArticleWebRTCを使ったアプリケーション開発時に使えるReactコンポーネントライブラリを作った
はじめにGWの成果物として、Reactのコンポーネントライブラリを作って公開しました。github.com私はWebRTCを使ったWebアプリケーションを時々作るのですが、デバイス選択機能を毎回自作しており、コンポーネントとしてまとめておけば、いつでも手軽に使えて嬉しいのでは?と思い、作ってみました。音声の入力・出力、映像の入力のデバイス選択機能と、映像のプレビュー表示機能を実装しました。...
View ArticleMbed TLSを使うようにしたlibdatachannelで、Mbed TLSのデバッグログを出力させる方法
はじめにOBSとaiortcを使ったWHIPサーバーの間で通信をさせていたところ、途中でエラーになってしまう問題が発生しました。その過程で色々と知見が得られたので、ブログ記事として記録しておこうと思います。最終的に動いたコードはこちらです。github.com挑戦していたことと調査の流れOBSからWebRTC-HTTP ingestion protocol...
View Article「Fediverse IT系アカウントまとめ」というリストを作って、Mastodonで技術系の情報収集をしている話...
この記事は、Fediverse (2) Advent Calendar 2023の18日目の記事です。はじめに皆さんこんにちは。...
View ArticleOpenTelemetryを使って初めてその便利さに気づいた話
この記事は「OpenTelemetry Advent Calendar 2023」の20日目の記事です。はじめに先日、ローカル環境でではありますがOpenTelemetryを実際にアプリケーションに組み込んで使ってみました。...
View Article今年買って良かった物2023
はじめに2023年分の今年買って良かった物です。今年は2022年がそのまま続いたような、あまり変化のない一年だったように思います。とはいえ、去年ほどではないもののいろいろ買ったりはしていたので、買ったものを紹介していこうと思います。これまでの買って良かったものは↓です。今年買って良かった物2018 - await wakeUp();今年使って良かったもの2019 - await...
View Article自作のOSSにちょっと凝った名前を付けるようにしている話
はじめに個人開発でいろいろなツールを作ってOSSとして公開するときに、名前をどんな感じで決めているのかを紹介します。何かツールを作りたいとなった時は、コードを書き始める前に脳内でざっくり以下の観点について考えるようにしています。最低限実装する機能実現可能性名前OSSの命名ですが、基本的にはちょっと凝った名前を付けるようにしています。ただ、どうしてもいい名前が思い浮かばない時は味気ない名前で妥協するこ...
View Articleよく聞いている技術系Podcastまとめ2024年度版
はじめに私が普段聴いているPodcastを紹介します。fukabori.fmfukabori.fm学生の頃から聴いているPodcastです。特定の技術に関する回もあればビジネスやマネジメントに関する回もあり、ITエンジニアとして知っておくと良さそうな知識が広く得られるのでお気に入りのPodcastです。個人的に一番好きな回は、第13回の「ペアプロやテストの疑問とか、ソフトウェアエンジニアの育成とか」...
View Articleプログラミングを始めてだいたい10年が経った
この4月で、プログラミングを始めてだいたい10年が経った。最初に書いたコードは高専の部活動で書いたHello Worldだったと思う。言語はCで、サクラエディタで書いてBorlandC++ Compilerでコンパイルするという温かみのある方式だった。当時は、エディタとコンパイラの違いもよく分かっていなかった。...
View ArticleDependabotがpath_dependencies_not_reachableのエラーでPull Request作成に失敗した時の解決方法
はじめにDependabotの設定をしているにもかかわらず、セキュリティアップデートのPull...
View ArticleDrizzle ORMでオプショナルな値を元に検索条件を指定する方法
はじめにDBのレコードを取得する際、基本的には全件を取得するが、オプショナルな引数が指定されている場合はその値を条件として検索したい。というケースがあるかと思います。 ORMとしてDrizzle ORMを使っている場合にそのような処理を書く良い感じの方法が公式のドキュメントからは見つけられなかったので、調べて見つけたやり方をメモしておこうと思います。環境macOS Sonoma...
View ArticleCloudfalreなどのCDNを利用している場合にCDNを迂回してOriginサーバーにリクエストを送る方法
はじめにCDNサービスを利用している場合、通常は名前解決後のIPアドレスがCDNサービスのものとなってしまうため、OriginサーバーへのリクエストはCDNサービスを経由したものとなります。動作確認などのためにOriginサーバーに直接リクエストを送りたい場合は、リクエストを送る際にオプションを設定することで、CDNを迂回してOriginサーバーにリクエストを送ることができます。前提条件Origin...
View ArticleJSONのシリアライズ・デシリアライズ(stringify・parse、Marshal・Unmarshal、dumps・loads、to_string・f...
はじめに毎回どれがどれだっけとなるので備忘録としてメモしておきます。シリアライズとデシリアライズJSONの処理において、オブジェクトをJSON文字列に変換する処理の方が「シリアライズ(Serialize)」です。オブジェクトは一般的にはkeyとvalueのペアが含まれており、構造化・階層化がなされています。これを文字列という、メモリ上で直列に保持される単一の値に変換するため、直列化(シリアライズ)と...
View ArticleCaptured Surface Control APIを使ってWebRTC経由で画面共有の遠隔操作をする
はじめにCaptured Surface Control APIを利用すると、共有中の画面に対するスクロールやズームの操作をJavaScriptで行うことができます。この機能の何が嬉しいのかと言うと、オンラインでプレゼンをしているときに発表者以外の参加者がスライド送りを担当したり、miroを使ったミーティング中に参加者全員が共有中の画面をズームをしたりできるようになります。今回は、Captured...
View ArticleNode.jsで実行中の処理の行番号や関数名を取得する方法 令和最新版(Node.js v22.9.0以降のgetCallSite)
はじめにこれまでNode.jsで行番号や関数名を取得する際は、わざと例外を発生させてスタックトレースから値を拾ってくる方法がよく使われていました。 Node.js v22.9.0からは getCallSite()というAPIが使えるようになったので、今後はこっちを使う方が良さそうです。環境Node.js v22.9.0macOS Sonoma...
View ArticlePlaywrightでWebSocketの通信をモックする
はじめにPlaywrightでは、v1.48.0からWebSocket routingという機能を使ってWebSocket通信をモックしたり通信内容の一部を改変できるようになりました。動作を試すために実際にサンプルを作ってみたので、サンプルを元にWebSocket routingの機能を紹介します。環境Playwright v1.48.0Node.js v20.10.0macOS Sonoma...
View ArticleMastodonのOpenTelemetry対応を試してみた
はじめに10月8日にリリースされたMastodon v4.3.0から、OpenTelemetryでアプリケーションのトレース情報を記録できるようになりました。早速使ってみたので、トレース情報を可視化するまでの流れを紹介します。環境Mastodon v4.3.0 一部機能追加や変更を行なったバージョンを利用していますComparing...
View Article