サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
blog.zaim.co.jp
こんにちは、 Zaim でサーバーサイドエンジニアをしている @hira です。 Go 1.16 で追加された embed パッケージ についてはご存知でしょうか? 私は、このパッケージを使って簡単な Web サイトを作成しました。 サーバーから配信したいアセットファイルなどを簡単に Go のバイナリに埋め込むことができて便利だったので、今回は embed パッケージについて紹介します。 ファイルをバイナリに埋め込める embed パッケージembed パッケージは設定ファイルやアセットファイルを Go の実行バイナリに埋め込めるパッケージです。 ファイルの読み込みだけであれば os パッケージの ReadFile 関数を使っても実現できますが、 embed パッケージを使うことでファイルの内容を直接コードで扱うことができるようになります。 ファイルの内容は実行バイナリに埋め込まれるため、
こんにちは。株式会社 くふう AI スタジオ でデザイナーをしている miya です。今回、どなたでも簡単にイラスト生成できる「イラストモジュール omiso」を Figma Community に公開しました。 作成したきっかけ前回 Zaim のイラストシステムを構築する際に、イラストモジュールを作成しました。 Zaim のイラストは、課題として「描く人によって微妙に絵柄が異なる」「塗り面があったりなかったりし、汎用性に欠ける」といった課題がいくつかありました。 そこで、イラストのルール(体格・描き込み度など)を定義しモジュール化することで、誰でも同じクオリティで簡単にイラストを作成できるようになりました。 そこまでの課題・経緯・アクションは別の記事にまとめてます。 そのまま Zaim のイラストモジュールは公開できないので、今回どなたでも簡単にイラスト生成できる「イラストモジュール o
株式会社 Zaim でデザイナーをしている miya です。 今回は Zaim でよく使うイラストを「効率的に一貫したイラストを誰でも量産できる」ことを目指したイラストシステムを用意したので、その経緯をまとめたいと思います。 イラストシステムを構築したきっかけそもそもイラストシステムは「ユーザーにサービスの世界観が伝わる」「一貫したユーザー体験を提供できる」「誰でも同じタッチのイラストを効率的に作成できる」ことを目指した仕組みかと思います。 とくに Zaim では、実在する人物が映った写真を使わないことで「自分ごと化」しやすいよう、イラストを用いることが多いので、効率的に一定のクオリティで用意する仕組みがないことが、一つの障壁になっていました。 見つけた課題いざイラストシステムを構築しようとすると、いくつか課題が出てきました。 1. よく見ると絵柄がバラバラパッと見た雰囲気は同じですが、担
こんにちは、くふうカンパニーグループである株式会社 Zaim の @unicco です。先週、発表した通り当社では ChatGPT Plus の利用料を全社員に対して補助する制度を始めました。 ここで言及していた「利用ガイドライン」に関して「どんな内容かを知りたい」という問い合わせをいくつか受けましたので、現時点のものをここで紹介しようと思います。 なお策定にあたっては DevOps に強いエンジニア(@bbz662)を中心に、情報セキュリティや危機管理対応を統括する IT 戦略室と法務担当、データサイエンティスト(@koya3to)というグループを横断したチームを作り、約 3 日で完成となりました。 生成系 AI 利用ガイドライン現版ではマイクロソフト社が出資する OpenAI 社が提供する ChatGPT の業務利用に限って記載します。 適宜アップデートしていきます。 ChatGPT
はじめに こんにちは、 Zaim でサーバーサイドを担当している naoki85 です。 Zaim は 10 年の歴史があるサービスで、管理しているアプリケーションの中には、PHP のフレームワークである CakePHP で作成、運用していたものもありました。 この度、CakePHP 2 系のサポートが終了したことに伴い、Laravel への移行を実施しました。 今回のリプレースでは、特に以下の点を改善したいと考えていました。 ・PHP 系リンターの導入 ・テストの拡充 ・インフラ構成の改善 本記事では、この 3 点について記載します。 そもそも Laravel を採用した理由 CakePHP の後継プロジェクトとして、 PHP を選択することは自然な流れでした。 当初、 CakePHP 3 系または 4 系へのアップデートを考えていましたが、大部分の書き換えが必要であるため、作業する負荷
はじめにこんにちは、 Zaim でデータエンジニアをしている、 naoki85 です。 Zaim では BI ツールとして Looker を使用しています。 主なデータソースは BigQuery です。 さて、今回の記事は、グループベースの権限設定で少し苦労した話です。 本記事で伝えたいこと最も伝えたいのは、グループベースの権限を管理したい場合は「クローズドシステム」を有効にするのがおすすめだ、ということです。 Looker のデフォルトでは All Users 権限にすべてのユーザーが所属しているうえ、至る所で All Users に対しアクセスが付与されています。 クローズドシステムという設定は、この All Users というグループを無効にし、各ユーザーには管理者が設定したグループを割り当てるようにするものです。 なおクローズドシステムを有効にするためには、Looker サポートに
家計簿サービス Zaim のデザイナーの miya です。 株式会社 Zaim は 2022 年 8 月に採用サイトをリニューアルしました! https://zaim.co.jp/recruit Zaim 採用サイトファーストビュー今回は、Zaim 採用サイトをリニューアルするにあたって工夫したコミュニケーションについて記事にしたいと思います。 採用サイトの課題Zaim は、「家計簿(お金)」だけではなく「さまざまな人達の暮らし」に寄り添ったサービスを目指しています。 しかし以前までの採用サイトでは、コンセプトを表現できていないという課題がありました。 これらの課題を解決する為、Zaim は家計簿(お金)だけでなく、暮らしや多様性を大切にした会社であることをイラストを用いて表現することになりました。 くふう 1:リファレンスとタッチパターンを元に話し合いまず、「暮らし」や「さまざまな人達(
はじめにこんにちは、 Zaim でサーバーサイドを担当している @naoki85 です。 Zaim では 2020 年 3 月から2021 年 9 月現在まで、原則リモートワークでの勤務を続けています。 その中で、エンジニアの交流の一環として、朝会でのライトニングトーク(LT)を実施してきました。 そろそろ 1 年になるので、本記事を通して弊社での事例を共有します。 LT を始めた理由 リモートワークを始めた当初から、社員間のコミュニケーションが薄まることは想定できていました。 そこで弊社では有志で毎日の朝会を実施し、交流をはかりました。 ただ、当初はノーテーマの雑談であり、毎日やっているとネタが尽きてしまう……という問題に直面しました。 そこで、せっかくエンジニアが集まっているのだからと週 5 日のうち 3 日の朝会を LT として、1 日 1 人ずつ発表してもらうことにしました。 LT
家計簿サービス Zaim のデザイナーの 🎨 imaizumi です。 私は現在 3 歳の娘がいるワーキングマザー(ワーママ)です。Zaim は育休復帰後にジョインして働いていており、ワーママにはとても助かる環境だと思っています。 今回はそんな働くママ&パパが、Zaim でどのように働いているかをご紹介しようと思います。エンジニアとデザイナーのママパパ 3 人にインタビューをしました。 話を聞いた人🎼 kyosuke エンジニア 小学校低学年、保育園児の二人 🤖 sumida エンジニア 小学 3 年と 6 歳の男子二人 🎨 imaizumi デザイナー 3 歳の娘 一日のスケジュールと勤務形態は?まずはみんなの一日のスケジュールを聞いてみました。 勤務時間はパパママメンバーに限らず、自分たちの生活スタイルに合わせて調整しています。Zaim は比較的朝型で、8 時くらいから働くメ
こんにちは、株式会社 Zaim で iOS エンジニアをしている TEM です。今年の WWDC では多くの面白い発表がありましたね!今回その中でも一番興味を惹かれたセッション「Use SwiftUI with UIKit」について簡単にまとめてみました。 WWDC22 「Use SwiftUI with UIKit」 このセッションは名前の通り UIKit で SwiftUI をどのようにして使っていくかを示すセッションです。iOS 版の Zaim アプリでは Widget を除いて SwiftUI を取り入れられていないので、導入の助けになればと思い視聴しました。 従来の UIHostingController を使って UIKit に SwiftUI を取り入れる場合すでに iOS13 から、UIHostingController を使って UIKit に SwiftUI を取り込む
家計簿サービス Zaim の iOS チームの @y_sumida です。 先日のWWDC22はリアルタイムでは起きていられませんでしたが、セッションと資料を少しずつキャッチアップ中です。 またiOSチームでも定例の時間などを使って、一緒にセッション動画を見てディスカッションをして、予習および今後のプロダクトへの適用を考えています。 そんな中、ZaimのiOSチームだけではなく、グループ会社横断でWWDC22雑談会を実施したのでご紹介します。 WWDC22雑談会実施の経緯ZaimのSlackには、同じくふうグループであるDa Vinci Studio のアプリ開発チームとの交流用チャンネルがあります。 そこでも今回のWWDCの気になるセッションや新機能について話していたところ、これはデザイナーさんにも共有した方がいいよねということになり、合同でWWDC22雑談会を開催することになりました。
こんにちは、Zaim でサーバーサイドエンジニアをしている @tsurumi です。 2022 年 2 月に Zaim に入社して約 4 か月が経ちました。今日は私が Zaim に入社して感じた、リモートでも困らない環境づくりを紹介したいと思います。 リモートでも困らない環境づくり最近はリモートワーク主体の IT 系企業が多いと思います。Zaim も例に漏れずリモートワークを前提とした環境でした。特に Zaim では地方に住んでいるメンバーも多いので、しばらくリモートワークがメインとなりそうです。 私自身も初日からリモートワークは初めてで、コミュニケーションがちゃんと取れるのか、会社に馴染めるのか、といった不安がありました。 Zaim ではリモート前提の働き方で困らないように、以下のような工夫がされていました。 バーチャルオフィス oVice でオフィスにいる感がアップZaim ではバーチ
iOS チームの @y_sumida です。 Zaim ではアプリの仕様書を GitHub リポジトリで管理しています。 GitHub にする前は、ドキュメント管理ツールの「Kibela」やデザインツールの「Sketch」で施策ごとに仕様をまとめていました。 ただ、変更履歴が追いにくく、仕様全体をまとめた場所もなく不便だったため、各施策に関連する機能の仕様から順にテキストに起こすことにしました。 いくつかのツールを検討した結果、仕様を作成、変更する際のレビューを必須にしたかったのと、レビュー時のコメントのやりとりを残したかったので、今は GitHub に落ち着いています。 仕様書を作成する流れ新機能や企画が立ち上がると、担当者は Kibela に施策、企画の要件をまとめます。同時に Figma 上で UI、画面遷移を検討します。 企画の内容や画面遷移が固まってきたところで、エンジニアが G
家計簿サービス Zaim のデザイナーの今泉です。 今回は普段の施策とは別に、エンジニアとの雑談の中から生まれたアイデアで、少し空いた時間を使って、かゆい所に手が届くような改善ができた話をします。 メインの施策の進め方は以下の記事を読んでください。 改善したのはレシート撮影の機能です。 カメラで文字を読み取るレシート撮影機能Zaim はレシートをスマホのカメラで撮影すると、家計簿に必要な品名、日付、金額、店名などを自動で読み取る機能があります。 レシートを撮影するだけで自動で家計簿を記録できる便利な機能ですが、使いこなすにはちょっとしたコツがある機能です。 例えば、「まっすぐ・水平に撮る」「明るい場所で無地の背景の上で撮る」など、撮影に成功しやすい条件がいくつかあります。 この操作に慣れるまで、「なんかうまく読み取れない!」という体験になってしまうことも。 実際、私自身もレシートを撮影して
家計簿サービス Zaim の iOS チームの @y_sumida です。 今回はアプリチームがどのように事業に関わっているのかについて書いてみました。 Zaim のアプリチームZaim には Web 版とアプリ版がありますが、圧倒的にアプリを使うユーザーが多いです。 そのため、施策もアプリを使いやすく発展させる施策を優先します。 多くの場合、iOS/Android でなるべく差分がないように開発するため、両 OS のチームをまとめてアプリチームとして活動しています。 使っているツール類・GitHub ・Kibela ・Figma ・Asana ・Slack GitHub iOS/Android 版のそれぞれのリポジトリがあり、開発タスクを issue 登録して プルリクエストを作ってチーム内でレビューしてマージという、よくあるフローで開発します。 UI 変更の場合、デザイナーにレビューし
こんにちは、 Zaim でサーバーサイドエンジニアをしている @hira です。 少し前に、単純作業を手軽に自動化できたら便利だと思い、コマンドラインツールを作成することにしました。個人的に Go が好きなのとコマンドラインツールを作るための機能が標準で用意されているので Go で作ることにしました。 今回は、その中で私自身が実際に利用して便利だと感じた Go のパッケージについて共有したいと思います。 Go でコマンドラインツールを作るメリット 3 つパッケージを紹介する前にコマンドラインツールを Go で作って感じたメリットを挙げたいと思います。 シングルバイナリになる まず 1 つ目のメリットは Go でコードをコンパイルするとシングルバイナリになる点が挙げられます。シングルバイナリであれば、実行環境で処理系などを用意せずに利用できるツールを作成できるため、ツールを使う側の人にとって
【Figma】10 万通り以上のイラストが生成できるモジュールを公開しました こんにちは。株式会社 くふう AI スタジオ でデザイナーをしている miya です。今回、どなたでも簡単にイラスト生成できる「イラストモジュール omiso」を Figma Community に公開しました。 作成したきっかけ前回 Zaim のイラストシステムを構築する際に、イラストモジュールを作成しました。 Zaim のイラストは、課題として「描く人によって微妙に絵柄が異なる」「塗り面があったりなかったりし、汎用性に欠ける」といった課題がいくつかありました。 そこで
2021 年 Zaim スタッフが選ぶ「買ってよかった!暮らしを“改善”してくれたモノ」 6 選 #Zaim Zaim スタッフの tkyara です。普段は、広告周りを中心に仕事をしています。 師走に入り今年もあと僅かとなりましたね。弊社の年末納会イベントでは、「スタッフみんなの買ってよかったモノ」を 1 年の締めくくりの話題として恒例で発表し合っています。 これまでも Zaim スタッフの頭の中で、2020 年、2019 年…と 買ってよかったモノをお伝えしてきましたが、今年はひとつテーマを持って Zaim スタッフに聞いた買ってよかったモノを紹介したいと思います。 「より多くの人の暮らしを改善する」Zaim は、MVV(ミッション・ビジョン・バリュー)を毎週の全社ミーティング内で読み合わせをしています。 その中のビジョンが、「より多くの人の暮らしを改善する」となっています。ツールや
こんにちは、 Zaim でサーバサイドエンジニアを担当している @hira です。 Zaim では、サービスの使い方を紹介する記事など家計簿本体以外のページ(以下コンテンツサイト)における SEO 対策の一環として、ページスピードを改善しました。 ページスピードはウェブページにアクセスしてからコンテンツがブラウザに表示されるまでの時間のことです。ページスピードの改善は、ユーザー体験や検索結果の掲載順位に影響を与えるため、SEO の観点からも非常に重要な要素のひとつです。 他の作業と並行しながら、この改善プロジェクトに取り組んで約 1 か月、ページスピードを 100 点満点で表したスコアを 56 点から 100 点へと大幅にアップできました。本記事では、この改善をするにあたって取り組んだことを共有します。 SEO の観点からページスピード改善は無視できないGoogle の過去のイベントでは、
こんにちは、Zaim と同じくふうカンパニーグループである Da Vinci Studio でアプリ開発を担当している @hachiya です。 先日、Zaim からオンラインショッピングを楽しく・便利にお買い物支援ツール「Yoica」をリリースしました!Amazon や楽天市場のショッピングサイトを横断して商品を検索したり評価を確認できたりするほか、複数の商品を見比べやすいようタブブラウザのような作りになっていることが特徴です。 このアプリは、Da Vinci Studio が Zaim と一緒に Flutter で開発しました。Zaim としては初めての Flutter アプリです。 この note では、その開発の過程で「こうすると Flutter で作ったアプリのクオリティが上がって、使いやすくなる」と気づいたポイントを紹介していきたいと思います。 プロジェクト発足のきっかけ私が所
先行して DataBinding を利用していたクラスですね。こちらもそこまで多くなく、4 ファイルでした。 3. Entry name 'AndroidManifest.xml' collided 最後に「Entry name 'AndroidManifest.xml' collided」にも対応します。 こちらの記事 にある通り、gradle.properties に「android.useNewApkCreator=false」を追加します。Stack Overflow の先人に頼りまくりです。 しかし Zaim では上記で対応した場合、特定の Build Variant で以下のエラーが発生してしまいました。 adb: failed to install app/build/outputs/apk/target/target.apk: Failure [INSTALL_PARSE_
The package manager for Kubernetesk8s のパッケージを管理してくれる人です。 helm install stable/prometheusといったコマンドで、サクッと Prometheus などをインストールできます。 (3)Prometheus Power your metrics and alerting with a leading open-source monitoring solution.メトリクスの収集やアラートを投げることが可能です。k8s でメトリクスを収集するのに、よく使われますね。CNCFの Trail Map の Observability & Analysis に載っているのも Prometheus です。 Helm と Prometheus はありますが、Argo CD と Grafana は載っていませんでした……。残念(
新型コロナウイルス感染症やコロナワクチンについては、必ず1次情報として厚生労働省や首相官邸のウェブサイトなど公的機関で発表されている発生状況やQ&A、相談窓口の情報もご確認ください。※非常時のため、すべての関連記事に本注意書きを一時的に出しています。 こんにちは、株式会社 Zaim の開発部でマネージャーをしている高山です。年末の超忙しい時期、皆さまいかがお過ごしでしょうか。 Zaim は、この 1 年を振り返ると社員が増えた一方、コロナ禍をきっかけにフルリモートでの勤務となったのが大きな変化でした。この写真は今年 3 月に移転したものの、ほとんど使われていないオフィスです。悲しい……。 こうした環境下において、エンジニアを率いる身として特に意識しているのは「コミュニケーションコストを下げる」ことと「開発スピードを上げる」ことです。最近「これらを両立するために、コミュニケーションのやり方を
こんにちは、 Zaim でサーバーサイドを担当している naoki85 です。今回は Zaim で進めている Web 版 Zaim の React 対応について紹介します。 きっかけは jQuery の脆弱性Zaim の Web 版の運用が始まったのは 2013 年の初頭。そこからデザインや UI などリニューアルを数回、繰り返してきましたが、フロントエンド周りの大幅な変更は、なかなか着手に踏み切ることができていませんでした。 ところが、どうしてもせざるを得ない事態が発生しました。昨年に問題となった jQuery の脆弱性です。Web 版の一部で利用している jQuery をバージョンアップしなくてはならなくなったため、まずはバージョンごとの差異を埋めてくれる jquery-migrate プラグインを入れることを検討しました。ただ、解決できない問題が一つだけ、残ってしまいました。 j
Android アプリ開発者のみなさん、こんにちは。Zaim Android チームの ishikawy です。 今回は Google Play の定期購入の専用機能に追加された「一時停止」に対応した話を書きます。Google の勉強会で聞いたところによると、「一時停止機能を実装すると解約率を 2 割程度下げられる想定」とのことで、定期購入を辞める抑止力になる効果が期待できます。 定期購入の「一時停止」とは ユーザー側から購読している定期購入を一時的に停止できます。停止期間はユーザーが 1 か月から 3 か月の間で選べ、直近の有効期間が終わった時点から停止になります。指定した停止期間が終了すると、自動的に定期購入は再開します。 アプリ側での開発は不要ですが(※UI 対応などは必要)、Google Play Console から設定を変えることと、サーバー側の実装が必要です。 以下、具体的な
株式会社 Zaim で iOS エンジニアをしている TEM です。 この記事はくふうカンパニー Advent Calendar 2019 の16日目の記事となります。 皆さん SwiftUI 触っていますか? 私は最近、業務の一貫で少し触っているのですが、短いコードで View を実装できることが便利です。書いていてとても楽しく、もう UIKit で の開発に戻れないような気になっています。 ただ、SwiftUI は UIKit との開発と比べて、簡単にViewを実装できる分、少し混み入ったことをやろうとすると、途端にコードが複雑化してしまうのが難点です(SwiftUI がリリースされたばかりで、あまり情報がないというのもありそうです)。 今回は、従来の UIKit を使った開発では簡単に実装できたUIを、SwiftUI で実装したときに苦労したことについて書きたいと思います。 画面の最
こんにちは、Zaim 経営企画担当の kotomi です。12 月もそろそろ中盤の気配。さすがに「ああっ年末!」と実感がわいてきました。大阪出身の私は、帰省の準備を開始。実家とはいえある種の旅行。今年も色々行ったなぁ…旅行ってお金かかるけど満足度すごいよな…などなど振り返っています。 実は Zaim では 「買ってよかった 2019」に加え今年初の試みで「行ってよかった 2019」を募ってみました。実はこれあるスタッフが気まぐれに質問しただけなのですが、出るわ出るわ旅行情報…!発想もしなかった旅行先&楽しみ方に盛り上がったので、その厳選版を公開したいと思います!よろしければ、年末のすべりこみ旅行計画にお役立てください…?! 国内編(1)神奈川県・長谷寺涼しげで気持ちよさそう…早くも夏が待ち遠しい(遠い) 期待以上によかった!真夏の猛暑の中行ったのですが、展望台からの海、鎌倉の見晴らしが最高
Zaim 経営企画担当の kotomi です。令和最初の師走もそろそろ近づいてきた、11 月終盤。 この季節がやってまいりました!そうです、毎年恒例「Zaim 今年の買ってよかった」発表です。これまで、社内の忘年会行事として発表していたものを昨年初めて公開したこちら。年を重ねるごとに候補も増え…今回も厳選版をご紹介します! ※ 記載価格はすべて note 公開時点です (1)ポンパドール「カモミールフラワー」 これ、試したら本当によく眠れます!睡眠関連、お悩みの方も多いですよね…牛乳を入れてミルクティーも温まってよさそう。
お元気ですか。watura です。 最近、キーボードを自作しました。その上キーの配列を QWERTY 以外のものにするという暴挙をしたため、驚くほどゆっくりこの文章を書いています。 ところで、GitHub の「ラベル」って使っていますか? Zaim では、フルカスタマイズしてラベルを活用しています。この記事では、ラベルの実務的な運用をまとめていきます。ちなみに今回は iOS リポジトリのラベルを例としましたが、他もほとんど同じラベルを使っています。 ネーミングの基本まず、ラベルの一覧です。 具体的には以下のように、 0. 優先度 (高) 0. 優先度 (中) 0. 優先度 (低) 1. 不具合 1. 機能追加 1. 機能変更 1. デザイン 1. 相談 1. リファクタリング 1. その他 2. Asana 2. Crashlytics 2. 要望 99. Asana行き 99. タスケテ
次のページ
このページを最初にブックマークしてみませんか?
『Zaim スタッフの頭の中|くふうAIスタジオ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く