ハイパーマッスルエンジニア

Vim、ShellScriptについてよく書く

AZ-900&AZ-104&AZ-305 合格体験記

1 ヶ月で AZ-900、AZ-104、AZ-305 まで合格した体験記。これさえやっときゃ受かるって話を書いていく。AZ は Azure の認定資格で、AZ-900(初級)、AZ-104(中級)、AZ-305(上級)の位置づけ。 1 ヶ月のスケジュール ざっくり以下のスケジュールで試験に挑…

tiktoken の decode_tokens_bytes でトークン分割されたバイト文字列を、分割されたまま復元する【日本語対応】

GPT

GPT の API を使うときに気になるトークン数はtiktokenで計算できる。tiktoken でトークン数を取得するのは簡単なのだが、トークン分割された後の文字列を取得するのは自前の実装が必要。今回はこのトークン分割されたバイト配列から、分割されたまま文字列…

レーシック体験記

先日レーシックを受けてきた。日記としてまとめておこうと思う。 結論から言うと「いまだにレーシックやってないやつおる?」ってぐらい良い体験だった。 金あるなら今すぐやったほうがいい。ただ子供がいる家庭は、パートナーに1〜2日は自分が使い物になら…

2023年振り返り

今までの振り返り 2019年振り返り 2020年振り返り 2021年振り返り 2022年振り返り ハイライト 家庭崩壊の危機!(今のところ無事) 子供が3歳になった!立派! エンジニアマネージャー ざっくりどんな年 前半は仕事で忙殺。大きなプロジェクトのリリース、巻…

Next.jsを使ったServer Sent Events (SSE)の実現方法

Server Sent Events (SSE)は、サーバからクライアントにリアルタイムで情報をプッシュするための技術です。この記事では、そのフロントエンドでの実装方法をいくつか紹介します。 完成品 今回実装したものは下記に収めてます。Next.jsを使っています。 githu…

エンジニアマネージャーになって10ヶ月経つ所感

ポエム。マネージャーになってから実感した気持ち、残しておくぞ。 立ち位置 マネージャーと言っても会社によって役割が全く違うと思うのではっきり書いておく。 今のエンジニア組織はWebグループとMobileグループに分かれていて、自分はWebグループのマネー…

Meilisearchをデプロイするならfly.ioでもrender.comでもなくGCE(Google Compute Engine)

Meilisearchは軽量で小規模〜中規模のデータならかなり高速なパフォーマンスを発揮する検索エンジン。 Dockerイメージが用意されていて、データの投入もREST APIで可能なので構築が非常に簡単。ローカルで立ち上げるだけなら5分もかからない。 今回はMeilise…

Meilisearchの日本語検索をさらに強化する

「Meilisearch」はOSSかつ日本語対応している検索エンジンで以下の特徴がある。 高速 タイポに強い カスタマイズ可能:検索結果のランキングルールやシノニム、ストップワードなどを設定できる RESTful API:シンプルで直感的なAPIを持っており、多くの言語…

Androidに変えてからブラウザ難民になった件

iPhoneからAndroid(Pixel5a)に乗り換えたのが2年前。 概ね支障はなかったが、ブラウザだけが未だに定まっていない。iPhone時代はsafariを使っていて不便はなかったが、Androidにしてから色々挙動が違ったり気になったりすることが多くなった。 ブラウザに求…

マークダウンで書ける無料のマインドマップツール「markmap」が最高すぎた

Vim

マインドマップのツールで悩んでいるなら朗報だ。決定版をついに見つけてしまった。 マークダウンで書ける OSSで無料 見た目がおしゃれ 素のhtmlやReactに組み込める CLIツールがありGithub Actionsに組み込める vimのプラグインがある これらの特徴を持つの…

Gather TownのWebSocket APIで入室時にslackに通知するようにした

バーチャルオフィス「Gather」ではWebSocketAPIがあり、 プレイヤー入退出のイベント プレイヤーをテレポートさせる プレイヤーのアバターを着せ替える など自由度の高いAPIが多く用意されている。 これらのAPIを使って 紙吹雪でプレイヤー吹き飛ばし プレイ…

CDNで簡単にホットリロード環境を導入する仕組みを作った

課題 jQuery, HTML, PHPで構成されているようなプロジェクトで、新たにnpmやcomposerの導入が難しく、巷のホットリロードのツールが利用できない場合を想定。 つまり既存のプロジェクトの構成は変えられないけど、ホットリロード機構は欲しかった。 作ったも…

iPhone,iPadでPDFが1枚目しか表示されない問題の解決策

iframeでPDFを表示すると、iPhoneやiPadでは1枚目しか表示されない問題がある。これはstackoverflowや他のサイトでも報告されているとおりブラウザのバグっぽい。 iPhoneだとPDFの1枚目しか表示されない PCだと1枚目以降も表示される 対応策 PDF.jsを利用す…

Next.js@12.3.2で画像アップロードできないのはmiddleware.tsがあるせいだった

現象 Next.jsで画像アップロードすると、アップロード処理がpendingで止まってしまう。 アップロード処理がpendingになる コードは下記。エラー判定はなどは飛ばしているが、FormDataをPOSTするシンプルなやつ。 pages/Index.tsx export default function Ho…

2022年振り返り

今までの振り返り 2019年振り返り 2020年振り返り 2021年振り返り ハイライト 趣味・家族・仕事のバランスが良かった お金の勉強捗った 子供の成長早すぎワロタ(無事2歳!) 今年はどんな年だったか 総じて良かった。子育てに忙殺されながらも段々と慣れて…