mutex Tech Blogのフィード

https://zenn.dev/p/mutex_inc

東京大学発のスタートアップ 株式会社mutex の Tech Blogです!

フィード

記事のアイキャッチ画像
Push通知を含むiOSアプリのCD構築
はてなブックマークアイコン 1
mutex Tech Blogのフィード
はじめに 背景最近では、iOSアプリのCI/CDをGitHub Actionsで構築する記事が多く見られるようになりました。特にCD(継続的デリバリー)においては、TestFlightへの自動アップロードや証明書の自動管理など、有用な情報が数多く出回っています。しかし、実際に私が構築してみると、「Push通知(APNs)を含んだビルド」に関する情報がほとんど見当たらないという問題につまずいたので、本記事を投稿しました。 直面した課題GitHub ActionsでCDを構築し、TestFlightのアップロードまではできましたが、App Store Connectから以...
4日前
記事のアイキャッチ画像
プロジェクトにインストールしたコマンドのシェル補完問題
mutex Tech Blogのフィード
はじめにこの記事はシェルにzshを利用している読者を想定しています。mise+CLI補完の問題について説明していますが、他のプロジェクト・パッケージ管理ツールに関しても同じ問題を同様の方法で解決できます。miseでプロジェクトにコマンドをインストールしたとき、普通の方法で.zshrcを編集して補完を有効化すると後述の問題が発生します。今回の記事では、miseでインストールしたコマンドのシェル補完を利用するときの個人的ベストプラクティスを紹介します。以降、補完を利用したいmiseでインストールするコマンドの一つとして、Pythonのプロジェクト・パッケージ管理ツールuvを例に...
11日前
記事のアイキャッチ画像
ネイティブアプリで考えるアクセシビリティに配慮したデザイン
mutex Tech Blogのフィード
はじめにネイティブアプリのアクセシビリティ対応について調べる機会があったので、学んだことを備忘録的にここにまとめます。 前提筆者はデザイナーなので、UI観点での話が多いです。 そもそもアクセシビリティとはアクセシビリティは、英語では“Accessibility”で、「近づきやすさ」、「利用のしやすさ」、「便利であること」などと訳されます。つまり、身体や障がいの有無や年齢など個人の性質・特性怪我をしている、又明るいところ、暗いところにいるなど、特定の状況によらず利用できるかどうかという観点のことを指します。 ウェブアクセシビリティ上記のアクセシビリテ...
1ヶ月前
記事のアイキャッチ画像
【ゲーム理論】ポケポケ「幻のいる島」環境における最適戦略は何だったか、解析してみた
mutex Tech Blogのフィード
はじめにポケポケ、楽しいです。最近では対戦の方はご無沙汰ですがログインは毎日ちゃんとしています。筆者はこういうゲームが与えられると何とかしてハックできないかと考えてしまうタイプです。偶然にもコンピュータが多少触れるので、それを活かせるとなお良しです。まあ対戦 AI を組むとかは大変なので、今回はメタゲームの観点からアプローチしてみます。メタゲームとは、その環境でどういうデッキがよく使用されているかを読み、その上でなるべく勝率が高そうなデッキを使用するという、各対戦より一段階上のレイヤーでの意思決定をゲームと捉えたものです。本記事には特にポケポケのゲームシステムに依存する話はな...
2ヶ月前
記事のアイキャッチ画像
1PasswordでのSSH認証情報の管理とコミット署名
mutex Tech Blogのフィード
はじめに1PasswordのSSHキー管理やGitコミット署名などの機能の簡単な紹介です。基本的にMac向けの記事ですが、ドキュメントを参考にすればWindowsでも同様のことが実現できます。最近の1Password Developerのドキュメントは結構しっかり書かれているので、詳しくはドキュメントを参考にしてください。https://developer.1password.com/docs/ssh 準備1Passwordのインストールを行ってください。brew install --cask 1password執筆時点での筆者の1Passwordのバージョンは、8...
2ヶ月前
記事のアイキャッチ画像
数オリの問題でOpenAI o1 vs DeepSeek(R1)
mutex Tech Blogのフィード
はじめに本記事では、現在話題沸騰中のDeepSeek(R1)について、OpenAI o1との精度比較を行います。今回の検証には、個人的な思い入れのある数学オリンピック2016年度の問題を使用しました。検証前は全12問を使って検証する予定でしたが、想像より両方とも正解率が低かったため、最初の4問のみで検証を終了しました。 検証検証のプロンプトは以下です。プロンプト以下は日本語で書かれた数学の問題です。ただし、文中に数式がある場合は、KATEX形式の数式を$記号一つ、または$記号二つで囲んだ形式で書かれています。問題を解いてください。{問題文}早速、検証結...
2ヶ月前
記事のアイキャッチ画像
Optimizerの変遷 ~最急降下法からAdamWまで~
mutex Tech Blogのフィード
はじめに機械学習のコードを書いているエンジニアの方はoptimizerに何を選べばいいか迷ったことがあると思います。とりあえず有名なモデルでよく使われているAdamやAdamWをよく考えずに選んでいませんか。本記事ではそれぞれのoptimizerのパラメータ更新式の定性的な意味について、最急降下法からAdamWまでの変遷とともに説明したいと思います。 optimizerの発展の流れ 最急降下法まずは、最も基本的なパラメータ更新手法である、最急降下法について軽くおさらいする。 パラメータ更新式 \bm{G}_t = \nabla f(\bm{\theta}_{t-...
2ヶ月前
記事のアイキャッチ画像
Warningの色について
mutex Tech Blogのフィード
はじめにセマンティックカラーの一つとしてデザインシステムに記載されることも多いWarning。弊社でもデザインする際はカラーパレットの一つとして登録しているのですが、コントラスト比の関係で見えづらくなりがちです。なのでWarningのデザインを行う際にアクセシビリティにどう対応するか考えてみました。白背景に黄字は見えづらい… そもそもセマンティックカラーって?デジタル庁によると、セマンティックカラーは、デザインスタイルやUIの種別を問わず特定のセマンティクス(意味や目的)が割り当てられたカラーです。これらのカラーは特定の情報や文脈で意味を伝えるために使用され、情...
3ヶ月前
記事のアイキャッチ画像
最強の機械学習フレームワークを作りたい その 1 「何がしたいか、Lean 4 の基礎とともに」
mutex Tech Blogのフィード
はじめにPyTorch という機械学習フレームワークがあり、弊社でもよくお世話になっています。しかし、PyTorch で開発をしていると、以下のような事態に陥ることがあります:テンソル形状で不整合を起こすコードを書いてしまい、実行後、それも短くない時間経過ののちにエラーによってそのことに気づく常に詳細なドキュメンテーションを心がけることでこうした事態をある程度防ぐことはできますが、できればこういうのはシステマチックに検出したいものです。PyTorch の枠組みでそのような検出をすることは難しいです。なぜなら、テンソルは torch.Tensor という型を持っているのみ...
4ヶ月前
記事のアイキャッチ画像
Figma Slides 超入門
mutex Tech Blogのフィード
はじめに存在は知りつつも、Figmaでよくないか?と思ってキャッチアップを避けてきたFigma Slides。調べてみると意外と大きな可能性を秘めていそうなので記事にまとめました。 この記事の対象読者完全初心者Figma Design触ってるけどFigma Slidesを触ってなかった人僕はこれ 前提区別のためにこの記事ではFigmaのことをFigma Designと呼ぶこの記事は、Figma Slidesをある程度使えるようになるために書いた記事なので、網羅的に全ての機能を紹介はしてない Figma Slidesの料金体系Figm...
4ヶ月前
記事のアイキャッチ画像
Python標準ライブラリを使いこなす 初級編 ~二重でfor文書いたりしてませんか?~
mutex Tech Blogのフィード
概要Pythonは標準ライブラリで便利な機能を多数用意しています。しかし、きちんと使いこなせている人は少ないのではないでしょうか。可読性の高いコードを書くことができるように標準ライブラリを使った方法に書き直す問題を作りました。 問題 二重ループ 悪い例for i in range(100): for j in range(1000): # some process pass二重ループを上の例のように書くと実際の処理の部分のネストが深くなってしまいます。Pythonはネストを4文字分のスペースで表現するので、ネストが深くなっ...
4ヶ月前
記事のアイキャッチ画像
【最新版】gRPC × Node.jsでのマイクロサービス開発のベストプラクティス
mutex Tech Blogのフィード
はじめに弊社では、ある程度の規模のあるバックエンドを開発する際、gRPCを使ってマイクロサービスを構築する設計を取ることがあります。今回は、Protobuf周辺のエコシステムであるBufのJavaScript版であるProtobuf-ESと、つい先日v2がリリースされた、gRPC互換のAPI構築に強いConnectを使って、簡単なアプリケーションを例にマイクロサービスでのgRPC × Node.jsのベストプラクティスを整理していきます。 想定読者gRPCに興味があるNode.js × TypeScriptで開発を行っているマイクロサービスアーキテクチャに興味が...
4ヶ月前
記事のアイキャッチ画像
【Python】__repr__ と __str__ を深掘る
mutex Tech Blogのフィード
問題提起まず以下のコードをご覧ください。from datetime import datetime, timezoneepoch_start = datetime.datetime.fromtimestamp(0, tz=datetime.timezone.utc)print(epoch_start)print([epoch_start])出力は以下のようになります。1970-01-01 00:00:00+00:00[datetime.datetime(1970, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)]epoch_s...
5ヶ月前
記事のアイキャッチ画像
【2024年版】Dockerfileのベストプラクティスを整理しながらNode.jsで実践する
mutex Tech Blogのフィード
はじめに最初はなんとなくで書いていたDockerfileなのですが、社内用にベストプラクティスを整理するタイミングがあったので、実際にNode.js + TypeScriptでアプリケーションを作成しながらまとめることにしました。この記事でフォーカスするのは、 Dockerfileのベストプラクティスそのものの詳細ではなく、それらを整理と「結局どう実装すんねん?」ってところです。主に以下の内容を参考にしています。!ちなみに、少し内容が古いのでおすすめしないですが、ドキュメントに関して日本語訳版もありました。Dockerfile を書くベストプラクティス - Doc...
5ヶ月前
記事のアイキャッチ画像
AIにアイコン選ばせてみた ~CLIPとVoyagerを利用したアイコン検索~
mutex Tech Blogのフィード
概要今回、AIを用いてアイコンを検索するアプリケーションを作ってみました。アイコン名・タグなどは利用せずにアイコンの形状だけで検索しています。検索ワードは多言語対応です。日本語でも英語でも検索できます。試していないですが他の主要な言語でも検索できるはずです。多くの方に試していただきたいので、検索の実行はGPUが使えない環境でもできるようにしています。 対象読者アイコン選びで不便さ・大変さを感じているデザイナー技術の内容は読み飛ばしてもらって構いませんAIを用いた検索技術に興味がある人 利用した技術今回のアプリケーションは、以下のアルゴリズムで検索を実...
5ヶ月前
記事のアイキャッチ画像
AIのUIについて その1 「なぜAIという括りでUI/UXを考える必要があるのか」
mutex Tech Blogのフィード
はじめに自社のプロダクトに AI 機能があるので、一回全体的に考えたいという経緯でこの記事を書き始めた構成としては、以下のような形式でシリーズ化していくなぜ AI という括りで UI/UX を考える必要があるのか(今回はこれ)AI 機能を大別し、それぞれの UI/UX について詳細に考える今後生まれるであろう AI による新しい UI/UX 概要理想的には、AI による機能であることはユーザーに意識させる必要はないユーザーがアプリケーションを通して目標を達成する際に、それが AI かどうかはどうでも良いからただ、現実的には、以下の理由からユーザーに ...
5ヶ月前
記事のアイキャッチ画像
TypeScriptによるDB操作の決定版 Drizzle × Kysely
mutex Tech Blogのフィード
はじめにTypesScriptでDBを扱う際のライブラリ選定の基準には、次のようなものが挙げられます。クエリ書きやすさ型安全性エコシステムDSLの有無Migrationのしやすさこれらの観点から、クエリの書きやすさと型安全性に優れたKyselyと、エコシステムが充実しているDrizzleを組み合わせることで、快適な開発体験を得ることができました。弊社ではPrisma, TypeORMなどのORMも使っていた経緯がありますが、TypeORMは型安全性が低く、また、PrismaはSQLの書き方に慣れているエンジニアにとっては書きづらく、DSLのキャッ...
6ヶ月前
記事のアイキャッチ画像
ド・モルガンの法則を TypeScript で証明してみた
mutex Tech Blogのフィード
はじめに本記事では、命題論理の定理であるド・モルガンの法則を、TypeScript を用いて証明することを目指します。ド・モルガンの法則とは、任意の命題 P, Q について、 \neg (P \lor Q) \leftrightarrow \neg P \land \neg Q \\ \neg (P \land Q) \leftrightarrow \neg P \lor \neg Qが成り立つことを言います。さて証明です。命題の真偽のみに興味があるので、P, Q を p: boolean, q: boolean で表現し、全パターン試してみればいいわけです。\n...
6ヶ月前
記事のアイキャッチ画像
UIの文言 ボタンテキスト編
mutex Tech Blogのフィード
何についての話かすでに散々書かれた内容だが、アプリケーションの UI を組む上で、ボタンの文言は「名詞(体言止め)」を使うか、「動詞(〇〇する)」を用いるかの話。(例)「保存」or「保存する」「投稿を削除」or「投稿を削除する」なんとなく手癖で「名詞(体言止め)」を使っていたが、しっかりルールを決めたいと思ったので調べつつ考えをまとめた。 前提この記事でいう動詞とは、「〇〇する」で表せるもののことを指す「戻る」「進む」など「〇〇する」の形でないものの扱いについては、また別の機会にまとめる 結論基本的には名詞動詞が良い場合もあるそのアクシ...
6ヶ月前
記事のアイキャッチ画像
End-to-End の OCR Free な文書理解モデル「Donut」で名刺画像を構造化データに変換してみる
mutex Tech Blogのフィード
概要株式会社mutexの熊澤です。2022年に、End-to-End の OCR Free な文書理解モデル「Donut」がリリースされ、弊社内でも実験的に使っていました。Donutは、Transformerベースのモデルで、画像からテキストを抽出する文書理解タスクに特化しています。今回は、Donutを使って、以下のような簡単な実験をしていきたいと思います。名刺画像をランダムに作成Donutのベースモデルをファインチューニング結果の確認 名刺画像をランダムに作成 名刺の形式名刺の形式は以下の通りです。会社名氏名メールアドレス電話番号住所...
7ヶ月前