iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
🍿

Productivity Weekly (2022-02-02 Issue)

に公開

Hello. I'm Hirakiba from the Productivity Improvement Team at Cybozu Inc.

Our Productivity Improvement Team holds an internal meeting every Wednesday called "Productivity Weekly" to share topics discovered during the week related to improving developer productivity.
This article is a compilation of the topics from those meetings.

This is the 61st edition. Past articles can be found here.

news 📺

Serverless Framework V3 Is Live!

https://www.serverless.com/blog/serverless-framework-v3-is-live

Serverless Framework, the framework for developing serverless applications, has received a major update to v3.

Major changes include the introduction of the stage parameter to switch parameters per environment, improvements to the CLI display, and making error message causes easier to understand.

The stage parameter is a feature where values change depending on the current stage (such as dev or prod). You can set values using params.<stage_name>.<any_key> and retrieve the value corresponding to the stage with ${param:<key_name>}.

Additionally, the CLI display has been improved. The design has been refreshed, redundant information has been removed, and the colors are easier on the eyes, making the content much clearer[1].

The article covers explanations for each change, instructions for upgrading from v2, and more. It seems more user-friendly in v3, so I'd like to update soon.

GitHub Actions: Self-hosted runners can now disable automatic updates | GitHub Changelog

https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/

It is now possible to disable automatic updates for GitHub Actions self-hosted runners. Disabling this allows administrators to update runners at their preferred timing.

However, it is also noted that for service compatibility, the runner must be manually updated within 30 days after a new version becomes available. I'm not sure what happens if you don't update (perhaps jobs stop being assigned?), but even if you disable auto-updates and fix the version, you'll likely still need manual updates on a short cycle anyway.

In any case, having an option to control the update timing is a welcome addition. I'm not sure how many use cases there are, but it's good to keep in mind.

Dependency graph adds support for GitHub Actions | GitHub Changelog

https://github.blog/changelog/2022-01-31-dependency-graph-adds-support-for-github-actions/

GitHub's Dependency graph now supports GitHub Actions workflows.

Dependency graph is a feature that visualizes dependencies for packages and libraries. You can check both which packages you depend on and which repositories depend on the packages you've created. With this update, GitHub Actions workflows have been added to the supported targets. This makes it easy to see which actions your workflows depend on or where the actions you've created are being used.


It looks like this. It's nice that the ref is also displayed.

This is a subtly nice change.

AWS Lambda supports Max Batching Window for Amazon MSK, Apache Kafka, Amazon MQ for Apache Active MQ, and RabbitMQ as event sources

https://aws.amazon.com/jp/about-aws/whats-new/2022/01/aws-lambda-max-batching-window-amazon-msk-apache-kafka-mq-rabitmq/

AWS Lambda has added the Max Batching Window feature, which allows fine-tuning of invocation timing. When using data from sources like RabbitMQ as an event source, it becomes possible to ingest data in a batch-like manner[2]. This is available in all regions where Lambda is supported at no additional cost.

Previously, Lambda had to be executed every time data flowed in. Therefore, to process large amounts of data together like batch processing, it was necessary to insert something like Amazon SQS in between[3].

The four event sources supported this time are Amazon MSK, Apache Kafka, Amazon MQ for Apache Active MQ, and RabbitMQ. Using these as sources, it seems like invocation costs can be reduced without complex setups.

tool 🔨

I tried switching from Docker Desktop to Rancher Desktop - knqyf263's blog

https://knqyf263.hatenablog.com/entry/2022/02/01/225546

This is an article about switching from Docker Desktop to Rancher Desktop, which might become an alternative to Docker Desktop.

Since Docker Desktop introduced paid subscriptions for some users last year, alternatives have been actively sought (especially on Mac, where creating a Docker environment without Docker Desktop is more cumbersome than on Linux or Windows). Various alternative products like podman, minikube, and lima have gained attention, and many people have been exploring them. I have also tried a few myself, but my impression was that none of them match Docker Desktop in terms of ease of use.

Rancher Desktop, introduced in this article, is a GUI application developed by SUSE for easily building Kubernetes environments (it uses k3s and lima internally). Originally it only handled containerd, but recently dockerd became selectable, making Rancher Desktop a viable alternative to Docker Desktop.

This article explains how to migrate from Docker Desktop to Rancher Desktop, how to disable the Kubernetes cluster, image vulnerability scanning, and more.

Like Docker Desktop, it's a GUI that handles VM construction and other details just by installing and launching it, which is convenient. It also includes Trivy, making it easy to perform vulnerability scans on images. While it's still uncertain if it will become a complete replacement for Docker Desktop, it's great to have more options. I'm looking forward to its future development.

I'm using Raycast as an alternative to Alfred - Poem, Creation, and Thinking Plaza

https://motemen.hatenablog.com/entry/2022/02/raycast

There is a famous launcher for Mac called Alfred, and this article introduces Raycast, a similar tool.

In this article, the author explains what's great about Raycast and provides examples of creating extensions. I thought it was great to be able to install extensions from a community-based Store.

There was also an article with impressions of using Raycast written by someone else. This one compares Raycast with Alfred for each feature. If you already use Alfred, this article will be helpful.

https://blog.kyanny.me/entry/2021/12/22/221925

I usually use Alfred, but I gave Raycast a try as well. Having a community-based store and the cool look seemed good. However, since I couldn't set a double tap of an arbitrary key as a Hotkey[4], I felt like sticking with Alfred was fine.

I feel like both have their own merits, so you can just use whichever fits your use case. If you're interested, give it a try.

Small Topics 🍘

This is a section for introducing topics from Productivity Weekly that I don't quite have the energy to cover fully, or topics where there wasn't much to say beyond a quick mention.

Afterword

Since there were few topics this week, we spent the remaining time discussing things like Nezuko Kamado dying in MySQL 5.6[5], ATOK getting a secret mode[6], and using avatars for Zoom easily in a browser[7].

The Productivity Improvement Team at Cybozu is working to improve the development productivity of our internal engineers. If you're interested in our team, click the link below!
https://note.com/cybozu_dev/n/n1c1b44bf72f6

omake 🃏

Here is this week's bonus.

The Rise and Fall of yarn and npm | Nullable6T7

https://blog.ikeryo1182.com/yarn-and-npm/

yarn v3 was released recently. This article shares impressions on the changes in yarn v3.

However, the truly interesting part is the subsequent sections: "Why we use yarn," "yarn vs npm," and "Conclusion." It describes why yarn became popular despite npm already existing, and whether to choose yarn or npm in the modern era. It really made sense to me.

I also remember using yarn when I was a university student because npm was incredibly slow, thinking, "This is so fast," and "The era of yarn has arrived!" But before I knew it, npm's performance reached a level where I didn't mind it much anymore, and I ended up thinking, "Well, npm is fine then." It's nostalgic.

Still, yarn has its own strengths, and the Workspace feature was a wonderful feature that npm didn't have (of course, there are other great features unique to yarn as well). I thought yarn is the way to go for monorepo configurations. While npm has had Workspace features since around v7, it was still a bit underwhelming at least when it first came out (I wonder if it's different now?).

Lately, pnpm is also around, so I'm curious about that too. I hear it's incredibly fast.

Kazuo Umezu Big Art Exhibition

https://twitter.com/Shitimi_613/status/1489894325177962498

I went to the Kazuo Umezu Big Art Exhibition held at Tokyo City View in Roppongi Hills. There were various artworks related to Umezu's works and a newly drawn work (ZOKU-SHINGO) on display (no photography allowed), and I enjoyed it very much. To be honest, I had only read The Drifting Classroom before, but now I want to read his other works too.

It's running in Tokyo until March 25th, so everyone should go and check it out.

https://umezz-art.jp/

脚注
  1. It's hard to explain in words. Please read the article for details. ↩︎

  2. Similar functionality was already available when using Kinesis and DynamoDB as event sources (AWS Lambda now supports custom batch window for Kinesis and DynamoDB event sources). Although the name is different... ↩︎

  3. Reference: Choices and service comparison when implementing batch processing on AWS (Japanese) ↩︎

  4. I want to launch the launcher with a double tap of the Command key. "Habit" is a powerful thing. ↩︎

  5. Apparently, this has been resolved since MySQL 5.7. The world of character encodings seems tough. ↩︎

  6. I've always thought it was problematic when predictive text showed everything during screen sharing. A welcome feature. ↩︎

  7. This kind of topic is quite common, but the interesting part is that User Local is providing it. In the end, doing it on Zoom usually makes the PC extremely heavy and unusable. ↩︎

GitHubで編集を提案

Discussion