サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
tech.unifa-e.com
こんにちは。ユニファで開発組織副本部長を務めているやまぐち(@hiro93n)です。主にプロダクトマネージャーとデザイナーの部門を管轄しています。 プロダクトマネジメントでは、やらないことを決めることがしばしば重要ですが、組織マネジメント面でも似たようなことがあると思っています。今回はその中の5件をご紹介します。 1.メンバーのSlack timesに入らない 必要以上に身内感が出てしまい、意思決定でも「まー距離近いからだよな」のような感覚で捉えられるなど良いことがないと感じるためです。 そこで具体的な相談が始まってしまうこともあまり良いことだとは思っておらず、あくまでpublicなchでのコミュニケーションを中心に振る舞っています(し、それでいいのよとしたい)。 2.他者に自分の意図を察してもらうことを前提としない 自分が察することはたまにやりますが、相手に察してもらう前提のコミュニケー
皆様こんにちは、ユニファCTOの赤沼です。 もう一ヶ月以上経ってしまいましたが、先日「社会課題解決 on Rails!イノベーションを起こすスタートアップと繋がろう」というイベントを開催しました! X Mile 開発責任者 の蝦名さん、iCARE CTO の工藤さんと共に、Ruby on Rails を活用したプロダクトによって社会課題の解決に取り組んでいるスタートアップとして、技術面での取り組みや、解決しようとしている課題などについてパネルディスカッションを行いました。モデレータはホライズンテクノロジー CTO の大谷さんにご協力いただきました! アーカイブは下記に公開しておりますので、ぜひご覧ください。 youtube.com Connpass のイベント情報はこちら。 icare.connpass.com どんな事を話したのか 詳細はぜひアーカイブをご覧いただければと思いますが、パネ
こんにちは、プロダクトエンジニアリング部の能登です。春、いいですね。私などは山菜など春が旬を食する楽しみが専らですが… 端的に言うと: Swift言語を使ったCLIアプリ作成ガイド。Swift言語の平行処理機能とCLIアプリは相性が良い。 1) CLIについて iPhone/iPadアプリ開発にしようするSwift言語でもコマンドを作成する機能が提供されています。今回の内容はSwift言語のCLIアプリ開発ガイドとなります。 スマートフォンやノート/デスクトップ上で動作するアプリはマウスや画面タッチによる軽快な操作性と見た目を備えています。今日アプリが広く普及する以前からコンピューターは存在しCLIについて簡潔に説明すると行単位でコマンド(命令)を受け付けるインターフェイスが主流だった頃(1990年前半)がありました。 今日でもクラウドコンピューティングサービス上のインスタンス(サーバー)
この投稿はUnifa Advent Calendar 2022の19日目の記事です。 こんにちは、プロダクトエンジニアリング部の伊東です。 今年もあっという間でした。 2022年もたくさん開発を頑張りました! 私は日々の開発の生産性を向上させるために使用しているツールを定期的に見直しています。 今回は、個人的に2022年に導入してよかった開発ツールベスト5を紹介したいと思います。 もし知らないツールがあったら導入してみてください。(主にCUI、TUIツールになります。) ベスト5 「zコマンド」 cdコマンドの代替ツールです。 zのあとに一度移動したことがあるディレクトリ名を入力すると、パスを意識しなくても簡単にディレクトリに移動してくれます。 あのディレクトリの場所どこだっけとなっても、名前さえ覚えていればすぐ移動できて便利です。cdで移動しなくなりました。 # Documentsディレ
随分も昔のとある開発現場にて、 「プロだったら普通に期間内に終わらすでしょ?」 「どうしてこんな普通の事わからないの?見てわかるよね?」 「そんな操作は普通の人はしない!」 「普通に使えるものを開発して欲しかった」 会議は普通という言葉が踊っていた 参加していたQAエンジニアは思う この現場の「普通」は狂ってる…っと… なんか導入が他の皆さんと毛色が違う感じになってしまいました。 とあるユニファのQAエンジニアでぐちです。 普通ってなんだろうね? 皆さん「普通」ってどういうイメージ持ってます? 当たり前、特に変わりがない、平均的、一般的… まぁ「そうあって当たり前」といった感じですよね? この当たり前と思われてる「普通」ですがQAにとっては非常に怖い存在でして、 「普通」踊らされるとQAはすごく苦しみます。 企画者の普通 デザイナーの普通 プログラマーの普通 ユーザーの普通 などなど… 物
By Vyacheslav Vorona, iOS engineer at UniFa. You may have heard of Rust Language, said to be designed for "memory safety and speed". Being an iOS developer, I didn't pay much attention to Rust since we typically use Swift. It by design prevents unsafe behavior in terms of memory usage and is supposed to be, well... swift. However, some time ago I stumbled upon a blog post mentioning Rust as a way
ユニファの西川です、こんにちは。 今年の7月からプロダクトデベロップメント本部を離れ、別の新しいことをやってます(何やってるか興味ある方はぜひ面談ご応募お願いします)。 ユニファではCOMFORTABLE ZONEを自ら抜け出ることが大好きな人たちを大絶賛歓迎 & 募集中です。 unifa-e.com 今日は「ある条件に当てはまる時には一定期間無償でSaaSプロダクトを提供する」というありがちな割引やキャンペーン(以下、割引CP)について、 割引CPによってどれくらいCVRが上がるならばペイするのか 割引CPがペイするには無償期間を何ヶ月以内に収めなければならないのか …の2点を解析してみたいと思います。 前提 今回のブログでは、 「割引CP実施時の限界利益 > 非実施時の限界利益」 を「ペイする」と表現*1 対象として見る売上は月額料金のみ コストにおいても初期費や解約コストは考慮しない
こんにちは、はじめまして。 今年の4月からデザインチームにプロモーション担当としてジョインしているデザイナーの谷崎です。 私はいま、富山県からフルリモートで在宅勤務しているのですが、一回もオフィスに行ったりリアルでお会いしたことがないにも関わらず、首都圏在住のチームの皆さんとの距離はまったく感じません。ほぼパフォーマンスに差し支えない、と言っても過言ではないです。 「地方からフルリモート勤務」という働き方もじわじわ広がってきている昨今、リモート勤務に関わる皆さまの参考になればと思い、なぜ私がチームとの距離を感じず楽しく働けているのかをまとめてみます。 ※アイキャッチ中の写真は、お花見の時に撮った富山が誇る名峰、立山連峰の写真です。ちょっと足を伸ばせば、こんな景色が当たり前の環境で仕事させてもらえているのは、やっぱりいいなとしみじみ……。 1. 部署をまたいだ情報共有体制が整っている わから
こんにちは、データエンジニアリングチームの宮崎です。 最近、ユニファのデータを統合的に分析するための基盤開発に取り組んでおります。 そこで、本記事では開発の概要についてご紹介したいと思います。 開発のモチベーション これまで、ユニファでは日々のデータ分析にRedashを用い、直接サービス中のDBに対してクエリを投げて行ってきました。 しかし、サービスの成長とともにDBへの負荷が懸念されたり、複数のプロダクトやCRMのデータを組み合わせて統合的に分析したいという需要が高まってきました。 そこで、サービス中のDBから独立して実行可能で、よりリッチな分析を可能とするデータ分析基盤の開発に取り組み始めました。 データウェアハウスの選定 今回、データ分析基盤の中核となるデータウェアハウスとしてGCPのBigQueryを採用することにしました。 ユニファではメインのクラウドとしてAWSを活用しており、
この記事はユニファ開発者ブログ Advent Calendar 2021 の 7 日目の記事となります。 adventar.org こんにちは、プロダクトエンジニアリング部の田中です。 今回は、1on1 で約 2 年半使用している事前面談シートの振り返りをしてみます。 私が所属しているプロダクトエンジニアリング部では定期的に 1on1 が実施されています。 頻度と時間は各々で調整可能で、私は 2 週間に 1 回、30 分の間隔で上司にお願いしています。 元々は 1on1 を受けるにあたり特に用意も何もせず手ぶらで臨んでいたのですが、終了後に時折「あっこれ言い忘れた」ということがあり、良くないなと感じていました。 そんな折、以下のブログ記事を拝見し、それ以来こちらの事前面談シートを使わせていただきまして(ありがとうございます)、シートに記載し、上司に共有した上で 1on1 の時間を迎えるよう
あいわらず鍋ばかり食べているWebエンジニアの本間です。 ただ、鍋の種類はごま豆乳鍋から寄せ鍋に変わりました。 さて1ヶ月以上遅れになりますが、 Ruby 3.0 が無事リリースされました。 まずはリリースに携わった全ての皆さま、本当にありがとうございます。 また今回は念願のメジャーバージョンアップであり、Ruby 3x3の達成おめでとうございます! 速く、使いやすくなったRubyをこれからもバリバリと使わせいただこうと思っています。 そのRuby 3.0で並行処理関連の2つの機能が追加されました。 Ractor Fiber Scheduler これらを見て「そういえばRubyの並行処理って何があるんだろう?」という疑問が浮かびました。 また、過去にこのようなエントリを投稿していたこともあります。 tech.unifa-e.com 新しい機能が追加されたタイミングで過去の機能も含めて整理し
こんにちは、プロダクトマネージャーの田嶋です。 はじめにお断りしておきますが、本記事は、2021年7月にリリースした開発プロジェクト(以降「Rプロジェクト」)において、遅延なく開発を進められたことのプチ自慢です🎉 笑 週次で滞りなくバーンダウンが落ちていく様子を、チームで安心して見ることができました。スケジュールのストレスなく開発を進めることができたのは、チームの頑張りのほか、見積もりとスケジュール管理が良かったからだとも思っています! 開発プロジェクトにスケジュールが求められる理由は様々ですが、キャンペーン施策や営業資料の準備計画を立てるため、あるいは利用顧客へも告知責任があるから、などです。そのいずれの場合も、計画やそのための作業見積もりは欠かせません。 しかし多くの開発プロジェクトにおいて、実績は見積もりよりも上振れし、遅延してしまうことが多いのではないでしょうか。 本記事では、R
こんにちは、ユニファQAの坂口です。 QAチームでテスト自動化エンジニアを担当しており、現在は主にPostmanでAPIテストを実装しています。 GWは本を読んだりTwitter APIで遊んだりしていました。 本記事では、PostmanでCookieが必要なAPIを実行する方法を紹介いたします。 シングルサインオンで認証するような、セッション情報が求められるWebページのAPIを実行する際に活用できるのではないかなと思います。 また、Cookieは有効期限がありますので、Webブラウザに保存したCookie情報を自動でPostmanに連携する機能(Postman Interceptor)についても紹介します。 環境 Postman app バージョン8.3.1 (8.3.1) MacBookPro macOS Catalina 10.15.7 PostmanでCookieを設定する 以下
(2021-04-19追記)下記内容を追記しました。 ログの出力方法 注意点 人生初の某春のパン祭りに参加中のWebエンジニアの本間です。早くゴールしてご飯に戻りたい...。 さて、弊社のRailsアプリケーションの多くは、Amazon ECS + AWS Fargateの組み合わせで稼働しています。 過去はEC2上で動かしていたのですが、ECS + Fargateに移行したことで様々なメリットがありました。 しかし、ECS + Fargateに移行したことでデメリットもあります。 EC2でRailsを動かしていた時代では、作業用のEC2にsshで接続し、そこでrails consoleを動かして作業、ということが簡単にできていました。 ECS + Fargateに移行してからはこの方法が使えなくなってしまったため、データ修復やジョブリトライの作業を行うのが難しくなりました。 DBに直接接
研究開発部の浅野です。普段は画像やヘルスケアデータを扱うことが多いのですが、最近シフトスケジューリング問題に興味をもって学び始めたので、その内容を少しご紹介したいと思います。シフトスケジューリング問題とは、人員の配置基準や働く人の希望、能力、相性、業務負荷などを加味しながらある一定期間(1ヶ月など)の勤務シフト表を作成する問題です。看護師のナーススケジューリングが有名ですが、保育士のシフト作成も多くの園長先生が頭を悩ませていることの一つです。今回はこの問題を最適化問題としてモデル化・定式化して実際に解いてみたいと思います。 最適化問題は、制約条件を満たす解の中で、目的関数を最小(最大)にする解を求めるもので、次のように定義されます。 \begin{align} minimize \quad &f(x): &目的関数\\ subject \; to \\ &g(x)>= 0: &不等式制約条
こんにちは。人間中心設計(HCD)専門家のやまぐち(@hiro93n)です。 主にプロダクトマネージャーやQAエンジニアの部署でマネージャーをやっています。キャリア的にはデザインの部署のマネージャーのやりたさもあるのでデザイナーにかかる課題解決などにも首を突っ込んでいます。マネージャーばかりでゲシュタルト崩壊しそうですね。自分はしました。 そんなわけでこの記事はユニファAdvent Calender 2020、22日目の記事です。 いいマネージャーになりたい人ほどマネージャーをクビになる いい人をやめて、悪人になれ? でもやっぱり嫌われたくないあなたへ 三方よしへの近道はメンバーに好かれることじゃない いいマネージャーになりたい人ほどマネージャーをクビになる さて、社内では「我こそはマネージャー」みたいな顔をしていますが、ユニファに入社するまでこれまで少なくとも3度はマネージャー(この場合
こんにちは。スクラムマスターの渡部です。 最近出版された「心理的安全性のつくりかた*1」という本が、発売から2ヶ月経たずに4版決まった*2り、Tech系カンファレンスでも心理的安全性についてのセッションがあって*3かなり盛り上がったりと、心理的安全性機運の高まりを感じている昨今です。 当然(?)ながら僕も「心理的安全性のつくりかた」を読んで、短期的にも長期的にも今後のふるまいを見直す良いきっかけになりました。 ただ、いかんせん「心理的安全性ってわかりにくい言葉だなぁ」という感想は今でも変わっていないので、備忘的な意味で次の2つのことをブログに残したいと思います。 このブログで扱うこと そもそも、心理的安全性ってなに?どんな効果があるの? 心理的安全性を阻害するBadパターン このブログで扱わないこと 心理的安全性を構成する4つの因子の詳細 いかにして心理的安全性を高めていくか? これらは書
こんにちは、最近野菜が高いのでもやしばかり食べているWebエンジニアの本間です。 そろそろレタスが食べたい...。 さて、ここ1、2年、ユニファではAmazon ECS+AWS Fargateを使用して、Railsアプリケーションを本番運用することが増えてきました。 stagingでテストしたDockerイメージがそのまま本番で使えて安心だったり、オートスケールが簡単だったりとメリットが多く、大変便利だと感じています。 ただ、そのような環境を構築する中で、vCPU数やメモリ量、およびPumaの並行性に関するパラメーターをどうしようか毎回悩んでいたため、この辺で自分の中で整理しておこうと思います。 前提 下記を使用したWebアプリケーションを前提にします。 Amazon ECS AWS Fargate Puma Ruby on Rails MRI(CRuby) このようなシステム構成において
Webエンジニアのほんまです。 弊社ではインフラの管理コストを極力減らすため、AWSのマネージドサービスへの利用を推奨しています。(例:RDS -> Aurora) その中の一つに「バックグラウンドジョブに使うキューストアに Amazon SQS を使う」というものがあります。 SQSを使うことで急な負荷増減やデータ消失への対応といった悩ましい問題から解放されます。 Ruby on Rails で Amazon SQSをストアとするバックグラウンドジョブフレームワークだと Shoryuken がよく使われている印象です。 今回、Amazon SQS と Shoryuken でバッググラウンド処理を動かす方法、そして本番運用を見据えて検討が必要な事項を調査したのでシェアしたいと思います。 動かしてみる キューの作成 Railsアプリケーションの作成 ワーカープロセスの起動 エラー処理の確認
研究開発部の浅野です。普段は画像処理、信号処理、データ分析などを中心に行っていますが、自然言語処理についても今後の応用範囲が広そうなので理解を深めていきたいと思っています。自然言語処理には翻訳、対話応答、感情分析、要約など様々なタスクがある中で、今回は基本的かつ汎用的であるテキスト分類についてまとめたいと思います。テキスト分類とは、文章がどんな内容について書かれているかを調べ、それをもとにトピックごとに分類するタスクです。 ルールベースの手法 最も直感的な方法としては、例えばニュースの分類を行う際に、「日本」や「アメリカ」など複数の国名がでてきたら「国際」というカテゴリーにする、というように経験に基づくルールを設定するというものがあります。この場合「日本はWBC準決勝にて6-2でアメリカを下した。」という文も国際ニュースに分類されてしまうので、「WBC」や「勝ち/負け」に関する単語が入って
こんにちは、tjinjinです。9月からユニファでインフラエンジニアとして働いています。この記事はユニファアドベントカレンダーの2日目です。昨日は渡部さんのJIRAの便利Tipsでしたね、JIRA力を上げていきたい…! この記事では業務サポート用のslack appを作ったのでご紹介します。 作ったもの とあるサポート業務で特定の外部の方に対して、ファイルのダウンロードをさせたいという要件がありました。セキュリティ的に厳しくない(誰が使ったかを別の仕組みで検知できる)ため、今回はS3のpresigned URLを使って一時的にダウンロードが可能なリンクを生成することにしました。 また、サポートの方が毎回エンジニアに依頼する方式ではつらそうだったので、弊社だとSlackで業務のやりとりをすることが多いのでSlack Appで実装することにしました 業務フローとしては下記のイメージです。 環境
滑り込みで東京オリンピックの抽選申し込みを済ませました、Webエンジニアの本間です。 どの日でもよいので抽選に当たって欲しいのですが、全部当たると困ってしまう、なかなか悩ましい気持ちになりました。 さて弊社では、現在開発中のプロジェクトのフロントエンドの実装において Vue.js を使っています。 今回、Vue.jsを使った実装をしている中で、複数ページにまたがるフォームの実装で調査した内容を紹介しようと思います。 想定する画面 今回想定するのは、「入力画面1」←→「入力画面2」←→「確認画面」→「完了画面」のような遷移でフォームをsubmitする画面一覧です。 この手の画面、サーバーサイドのみで実装しようとすると大変だったのですが、モダンフロントエンドの機能を活用することでかなり楽に実装できるようになりました。 このような画面をVue.jsで実装することを考えます。 Vuexを使う場合
お久しぶりになります、iOSエンジニアのしだです。 開発部ブログも更新する人が多くなって、前回からだいぶ日が空いたように感じます。 今回は、あるまとまった写真から顔を切り出して、FaceNetから特徴量を抽出しクラスタリングを試しました。 以下の FaceNet のトレーニング済みのモデルがあるので使用しています。 FaceNet は、Triplet Loss と呼ばれる基準となる Anchor と Positive の距離を近くに、Negative との距離を遠くにマッピングされるように学習されます。 顔画像から特徴ベクトルとして利用可能なのでクラスタリングなどのタスクに利用できます。 github.com 準備 Python 3.6.6 FaceNet リポジトリを clone しておく $ mkdir facenet-example $ cd facenet-example $ gi
こんにちは、Webエンジニアの本間です。 今回、Railsアプリケーションを Amazon ECS、しかも AWS Fargate の上で運用する機会に恵まれました。 その中でログに関する話を書こうと思います。 というのも、これまでのEC2インスタンス上でのログと、ECSでのログでは扱いが大きく異なっており、色々と注意&工夫しないと障害調査等で苦労することがわかったためです。 従来から変更しないといけない点、それを見据えて工夫した点をばーっと書いていきたいと思います。 従来との変更点 実サーバーやEC2インスタンス上でRailsアプリケーションを運用した時との変更点です。 出力先 通常、Railsアプリケーションでは $RAILS_ROOT/logs 以下にファイルとして出力していくと思いますが、Dockerを使った環境ではこれはできません。 理由としては2点あります。 特に対策をしないと
こんにちは、iOSエンジニアのしだです。いつの間にかR&Dチームとして1年経ってしまいました。R&Dというと社内でも何をやっているか理解しづらい部署であり、いよいよ社内でもぼっち感がでてきました。 ここ最近は、顔認証(Face Recognition)ばかりやっていて、iOSからも同僚からもだいぶ離れてしまいさびしさも感じられる今日このごろです。 今回は、顔認証におけるディープラーニングで学習する際に用いられる損失関数についてどのような違いがあるか見てみたいと思います。 損失関数(Loss function) 顔認証は、この顔とあの顔が同一人物かどうか、顔の特徴量を使って同定することです。 この顔の特徴量は、ディープラーニングを用いて学習して、最終的に埋め込みベクトル化(Embeddings)することが多いです。 この顔の特徴ベクトルをうまく学習するための損失関数には、通常の分類タクスで用
皆様こんにちは。ユニファの赤沼です。最近はすっかり IoT ブームで、もともとハードウェア開発の経験がない方でも電子工作に興味を持たれている方は多いのではないでしょうか。今回は電子工作を行う時に便利なサービスを一つ紹介したいと思います。 電子工作時の課題 電子工作をする時に、特にもともとソフトウェア開発をされていた方が感じる課題には例えば下記のようなものがあるのではないでしょうか。 実際に電子回路を組んでみないと設計が正しいのか、ちゃんと動くのかがわからない ちゃんと動かなかった時にどこに問題があるのかがわかりづらい 回路のつなぎ方を間違えるとパーツが壊れたり発火したりする可能性がある ソフトウェアの開発であればターミナル上でコードを書いて少しずつ動かして確認することができますし、デバッグも print デバッグや デバッグツールでデバッグポイントを設定してステップ実行したりすることが可能
最近、鼻づまりがひどいWebエンジニアのほんまです。 今までだましだましやってきましたが、ついに花粉症になってしまったかもしれません😷🌸 さて、今回も前回に引き続き、ログ出力で工夫していることを紹介しようと思います。 背景 調査依頼などでログを追っていると、いつ、どういった流れでデータが追加/変更/削除されたのか、知りたい時がある。 そのような時、SQLがログに出力されていると調査がはかどる。 Railsではログレベルを DEBUG にすることで、SQLがログに記録されるようになる。 しかし、SELECTのログも記録されるため、大量のログで見づらくなったり、ディスクを圧迫する問題がある。 更新系のSQLだけログに出力する方法はないものだろうか? 対策 SQL実行の検知 RailsではSQLが発行されるたびに sql.activerecord というイベントを通知しています。 rails
おはこんばんにちは! ユニファのサービスインフラ担当のすずきです! 私の出身は京都なんですが、最近新宿で関西人の集まる酒場なるところを発見し潜入してみました! するとそこには、関西人もしらないB級グルメとか大阪の地ビールとか、サン◯リアのサングリアとか色んな商品があったので、 気になる方はぜひ探してみてくださいw どこかの回しもんみたいなことはこれくらいにして本題へ いつもAWSとかのことばっかりやってるので今回はsudoの設定ファイル sudoers を取り上げてみようと思います。 sudoについて 人によってはとりあえず sudo つけて実行すれば管理者権限で実行できるんでしょ?みたいに思われるかもしれませんが、それは sudoers にてそのユーザは sudo 利用時にこのユーザの権限で、このコマンドは実行しても良いですよと許可をもらっているだけなんです。 Amazon Linux
皆様こんにちは。ユニファの赤沼です。ユニファでは着々とメンバーが増え、できることも増えてきて嬉しい限りなのですが、反面オフィスが手狭になってきて、換気が不十分で空気の悪さが気になるようにもなってきました。二酸化炭素濃度が上がると生産性にも悪影響があるという事でチームラボさんも測定と改善に取り組まれているようです。 ch.nicovideo.jp そこで試しに空気品質センサを使って空気品質モニターを自作してみました。今回使ったセンサはスイッチサイエンスさんで販売されている、 CSS811 というセンサモジュールを使った SparkFun 製のブレークアウトボードです。 www.switch-science.com Hookup ブレークアウトボードのチュートリアルは SparkFun の下記サイトで公開されていますので、これを参考に回路を組んでいきます。 CCS811 Air Quality
次のページ
このページを最初にブックマークしてみませんか?
『tech.unifa-e.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く