ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

QAの現場で役立つエレベーターピッチの件

とあるユニファのQAエンジニアでぐちです。

QA資料の棚卸をしていた際に、入りやすかったQA現場と入りにくかったQA現場の違いを考える時があったので纏めていたところ、一つの要因にエレベーターピッチがあるなと思ったので、今回エレベーターピッチについて展開しようかと思います。

続きを読む

ChatGPTとFew-Shot Promptingの活用

こんにちは、サーバーサイドエンジニアの小川です。

6月のことにはなりますが、ユニファではChatGPTを活用した入力補助機能(β版)をリリースしました。 私は帳票管理というプロダクトにChatGPTを活用した機能の実装を担当したので、工夫した点について一部紹介させて頂きます。

続きを読む

How to Use Animation with Jetpack Compose

Greetings! I'm Farhan, an Android Engineer from the Product Engineering Department.

"Animation is not the art of drawings that move but the art of movements that are drawn." - Norman McLaren

In the field of Android development, Jetpack Compose has changed the game. It's like the Marvel superhero of the Android UI framework: powerful, flexible, and incredibly fun to use. But what really sets it apart is its ability to bring your app to life through animation. In this article, we'll dive into the magical world of Jetpack Compose Animation.

Why Animate?

Before we jump into the code, let's talk about why animations are crucial.

  1. User Engagement: A well-animated app keeps the user's eyes glued to the screen.
  2. Feedback: Animations can provide meaningful feedback. A button that changes color and size when pressed is far more intuitive.
  3. Transitions: They help in guiding the user's attention when switching between different parts of the app.
続きを読む

Manipulating DOM with Chrome Plugin (Vite + Vue.js)

By Patryk Antkiewicz, backend engineer at Unifa.

Unifa uses a web application called OZO for work time tracking, which requires us to input tasks we worked on each day and time spent on them. Tasks can be selected from the list or filled manually using specific codes. For engineers the inputs are quite similar each day, there are also some recurring meetings, so filling such reports manually every day becomes a bit tedious task. The codes also change depending on the project we are currently working so remembering the correct ones is sometimes problematic. I thought it would make the whole process much more convenient if I had some kind of cache containing my 'favorite' inputs which I could inject into OZO with one click, so I decided to create a tool that I could use for that purpose.

続きを読む

プロダクトマネジメントと料理

こんにちは、プロダクトマネージャー(PdM)のサトウです。

最近、子供も大きくなり自由な時間が増えたので料理を楽しむ機会が増えてきました。 夜な夜な料理系動画を観ながら、気になる料理に挑戦しています。 先日、料理をしているとプロダクトマネジメントと料理には共通点がありそうだなと感じました。 今回の記事では、共通点と感じたことについて紹介したいと思います。

【目次】

  • 段取り
  • 意思決定
  • 継続的改善
  • おわりに
続きを読む

Ruby on Railsのexists? / any? / present?

初めに

こんにちは。ユニファのバックエンドエンジニア、シュウです。

最近、社内のRuby on Railsのソースコードを調査している中で、レコードの存在チェックによく使われている3つのメソッドを見ました。

  • present?
  • exists?
  • any?

Ruby on Railsのエンジニアになってから、「存在チェックの際にはexists?any?の方がパフォーマンスが優れている」という話をよく聞きますが、実際に調査してみると意外にも興味深い結果が得られました。この記事では、present?exists?any?の3つのメソッドの挙動、パフォーマンス、および適切な使用場面についてまとめました。

続きを読む

Custom Layouts in Jetpack Compose

Hello, this is Android Engineer Shakil from Product Engineering Department.

Jetpack Compose is a modern, fully declarative UI toolkit for building native Android user interfaces. It comes with a lot of built-in Layouts like Rows, Columns, Boxes, etc that enables us to create a lot of different types of UI quite easily. We can also customise these Layouts quite significantly via use of the Modifier property.

However, there is maybe niche cases where the built in Components with Modifiers may not be enough. What to do then. Well, Custom layouts to the rescue.

続きを読む