$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

tech

git grepで除外パスを指定しやすくする

git grepにはさまざまな便利グッズがあるのだけど、どうやっても覚えられなくて困っていた。たまに使いたいものとして、特定ファイルは除外する方法があるが、この記法が覚えられない... 例えば、golangでテストファイルとgen/ディレクトリ以下にあるもの以…

リアルタイムに2次元位置を同期するサーバーでプレイヤーから弾を発射できるように

clusterのリアルタイム通信サーバーの漸進的な進化のような仕組みを理解したいなと思い、手習い用にMQTT+Protocol Buffersを使ってリアルタイムに2次元位置を同期するサーバーを書いてみている。今回はリアルタイムに2次元位置を同期するサーバーにアイテム…

リアルタイムに2次元位置を同期するサーバーにアイテム情報を追加した

clusterのリアルタイム通信サーバーの漸進的な進化のような仕組みを理解したいなと思い、手習い用にMQTT+Protocol Buffersを使ってリアルタイムに2次元位置を同期するサーバーを書いてみている。今回はMQTT+Protocol Buffersを使ってリアルタイムに2次元位置…

新規プロジェクトにgolangci-lintを導入したメモ

MQTT+Protocol Buffersを使ってリアルタイムに2次元位置を同期するサーバーを書いてみたで作ったレポジトリにgolangci-lintを導入したのでメモ。 以下の資料を参考にした。 golangci-lint の enable-all で コーディングルールを明確にする試み | ドクセル K…

terminalの256色のカラーに何が設定されているか手軽に見る

terminalの256色のカラーに何が設定されているか手軽に見たかった。ChatGPTに聞いたらめっちゃ良いコマンドを教えてもらえたのでメモ。 こういうコマンドを実行する。 for i in {0..255}; do printf "\033[48;5;%sm %3d \033[0m" "$i" "$i" if [ $(( (i+1) %…

MQTT+Protocol Buffersを使ってリアルタイムに2次元位置を同期するサーバーを書いてみた

clusterのリアルタイム通信サーバーの漸進的な進化のような仕組みを理解したいなと思い、手習い用にMQTT+Protocol Buffersを使ってリアルタイムに2次元位置を同期するサーバーを書いてみた。 できたもの 簡単にclientも書いて、こういうものを作った。 termi…

MacでYouTube用にclusterの録画を撮る

下記のイベントで、MacでYouTubeアーカイブ用の録画をしたので、どのように設定したかをまとめておく。 cluster.mu 最終系 以下のように録画したい。 YouTubeのアスペクト比である16:9となるように clusterのアプリケーションのヘッダー部分は映さない clust…

Macでコマンド一発で特定のアプリケーションのウインドウを指定サイズにする

cluster.mu clusterでこちらのイベントスタッフをやることになり、そこでYouTube用のアーカイブ動画を撮る役割を担うことになった。うまくYouTubeにアップロードするために、OBSを使ってclusterをYouTubeに適切な16:9サイズ + ヘッダー無しで録画したいと考…

【cluster】スイッチで風景とスクリーンを出しわけする

clusterの推しアバター展示場で作業配信をすることがありスクリーンを設置しているのですが、初めからスクリーンが出ているのは展示場としては不恰好で嫌だなと思っていました。 そこで最初は風景が出ているけどスイッチを押すとスクリーンが出るようにして…

Unity Editorで子オブジェクトでもWorld Positionをインスペクタで表示したい

Unity Editorで子オブジェクトにするとインスペクタ上でLocal Positionしか出なくなってしまう。World Positionだけをコンポーネントとしてコピーする方法もあるのだけど、他のオブジェクトをこのオブジェクトとX軸だけ合わせたいんだよな〜と思った時には難…

はじめてのライトベイク挑戦 - clusterの推しアバター展示場のライトを調整しました

自分の推しアバター展示場の部屋の隅が暗くて悲しいなーと思っていた。そこでライトのことを学習して、はじめてのライトベイクに挑戦をしてみた。 対応したワールドは以下のリンクから入れるので、良ければ入ってみてください。 cluster.mu before / after …

clusterの推しアバター展示場の写真から写っているワールドへ移動できるようにしました

cluster.mu 自分の推しアバター展示ワールドの写真から写っているワールドへ移動できるといいな〜と思ったのでやってみました。 こんな感じで写真の近くに行くとワールドへ移動する確認が出て移動できる。3D系のマリオみたいな感じで良い! やり方 以下の資…

clusterのワールドでコメントがあったら音が鳴るようにしたい

ワールド内で作業しているとコメントがあったことに気づきにくいなと思ったので、コメントがあったら音が鳴るようにしたい。これはt_furuさんのチャットコメントを音で通知するアイテムがちょうどやりたいことだったので、こちらをそのまま活用させてもらい…

clusterで推しアバター展示ワールドを公開しました

1回目、2回目、3回目と制作していた推しアバター展示ワールドを公開しました。 cluster.mu 自分が好きなかわいい・おもしろい・魅力的なアバターを8体展示しています。どういう部分が推しなのか、写真と紹介文を一緒に飾っているので、ぜひ見にきてみてくだ…

特定ユーザーがインタラクトした時だけ横にアイテムを生成するclusterギミックを作った

たとえばマグカップなどの限定アイテムを作ってもらった時に、ワールドに飾りつつ自分がやりたい時だけ持てるアイテムとして生成できたら嬉しいなと思い、特定ユーザーがインタラクトした時だけ横にアイテムを生成するclusterギミックを作ってみた。 https:/…

clusterで推しアバター展示ワールド作る制作日記その3

今回も進捗状況と学びを共有する。 1回目 2回目 現在の様子 8展示分の写真と紹介テキストの設置を終えた。 親子関係を使って位置設定を行うときは中心となるオブジェクトを0にしておく 展示セットとして、ディスプレイアバター・写真・テキストの3点セットで…

「カスタマーマニアになろう」を読んだ

UXリサーチ学ぼうシリーズ。今回は「カスタマーマニアになろう」というスライドを読んだ。 speakerdeck.com 顧客の深い理解の手法として、顧客インタビュー・没入・同化の手法があると述べた上で、特に顧客インタビューについて詳しく教えてくれるスライドだ…

事前にアイデアを検証する方法を学ぶ - 「NO FLOP!」を読んだ

施策のヒット率を高める方法について学んでいる。今回は「NO FLOP!」を読んだ。 Google×スタンフォード NO FLOP! 失敗できない人の失敗しない技術作者:アルベルト・サヴォイアサンマーク出版Amazon 定性調査・定量調査の両方で参考になりそうな…

clusterで推しアバター展示ワールド作る制作日記その2

現在の様子 ライトを少し調整し、自分の推しポイントをテキストで表示するようにした。 ライトの設定 Light機能でワールドに陰影をつくる - Cluster Creators Guide|バーチャル空間での創作を学ぶならを参考にしながらライトの設定を軽く行った。まだあんま…

clusterで推しアバター展示ワールド作る制作日記その1

最近clusterで他の作者さんが出品しているアバターを推すワールドを作ってみている。cluster内でイベントを立てて作業配信しながら色々教えてもらえているので、Unity作業で学んだことをメモしておく。教えてくれた方、感謝です。 現在の様子 初心者でも展示…

「新規事業を成功させるPMFの教科書」を読んだ

PMFってなんだろうと興味を持ったので読んだ。 新規事業を成功させる PMF(プロダクトマーケットフィット)の教科書 良い市場を見つけ、ニーズを満たす製品・サービスで勝ち続ける作者:栗原 康太翔泳社Amazon この本で書かれている「PMFしたときは明らかにそ…

ユーザーインタビューの具体的な方法を知る - 「ユーザーインタビューのやさしい教科書」を読んだ

ユーザーニーズを理解する手法を学ぶ - 「はじめてのUXリサーチ」読んだ - $shibayu36->blog;に引き続き、定性的な意見を集める手法を学んでいる。今回は「ユーザーインタビューのやさしい教科書」を読んだ。 ユーザーインタビューのやさしい教科書作者:奥泉…

オーバーエンジニアリングしないために心がけていること

オーバーエンジニアリングしてしまうという悩みがあって困っている、そのうち必要になるのではないかという気持ちになって無駄に抽象化して頑健にしてしまう。じゃあ素朴にやればいいのかというと、例えばDBスキーマみたいな要素は素朴になってはならないと…

ユーザーニーズを理解する手法を学ぶ - 「はじめてのUXリサーチ」読んだ

最近、ユーザーのニーズを理解して定性的な意見から施策の優先度をちゃんと決められるようになりたいと思っている。そこでUXリサーチについて学習しようと決めた。そこでまずは「はじめてのUXリサーチ」を読んだ。 はじめてのUXリサーチ ユーザーとともに価…

画面リニューアルの時には本番データを使ってモックを作れるFigma Google Sheets Syncが便利

最近画面リニューアルの仕事をした時に、本番データを使ってモックを作れるFigma Google Sheets Sync Pluginを使い、非常の便利だったのでまとめる。 画面リニューアル時のよくある失敗 何らかのユーザー体験を満たしたく画面リニューアルを計画することがあ…

開発生産性カンファレンス 2024を堪能してきました

dev-productivity-con.findy-code.io 自分の所属しているクラスター社に相談したところお金を出してもらって参加できることになったので、開発生産性カンファレンス2024に行ってきました。自分が開発生産性に非常に興味が強いため各セッションすべて興味深く…

git grepの結果をfzfで絞り込んでエディターで開く

エディター側でなくCLI側でgit grepするのはいろんなオプションを渡せて便利だ。たとえば --and や --or でいろんな条件で絞り込んだり、-C オプションで周辺の行も一緒に見ることもできる。 一方でCLI側でのgit grepでは、エディター側をさっと開きにくいと…

データ分析の基本の因果推論を学ぶため、「原因と結果の経済学」を読んだ

データ分析をやっていると、ある施策の効果検証をすることが多い。効果検証では、ある施策Aが仮説通りにある指標Bを変化させられたのかを検証したい。これはつまり「ある施策Aの実施」と「ある指標B」が因果関係にあるかを推論したいと言い換えられる。 この…

「DMM.comを支えるデータ駆動戦略」読んだ

データ分析を学びたいシリーズとして読んだ。 DMM.comを支えるデータ駆動戦略作者:石垣 雅人マイナビ出版Amazon この本はプロダクト作りにおけるKPI分解から施策決定、施策振り返りから次の施策へ活かすなどのリーンおよびアジャイルな開発の一連の流れをデ…

「達人に学ぶSQL徹底指南書」読んだ

最近データ分析をしていて複雑なSQLを書き始めた結果、SQLの概念が理解できてなくて上手くクエリを書けないことに気づいた。そこで概念を理解するために「達人に学ぶSQL徹底指南書」を読んだ。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなた…