iTranslated by AI
Productivity Weekly (2021-01-06 Issue)
Happy New Year. I'm Hiraki-ba from the Productivity Improvement Team at Cybozu, Inc.
Our Productivity Improvement Team holds an internal meeting called "Productivity Weekly" every Wednesday, where we share tips and news discovered during the week related to improving developer productivity.
This article is a compilation of the topics discussed during that meeting.
This is the 8th edition. You can find past articles here.
news
AWS Compute Optimizer can now recommend optimal memory sizes for Lambda functions!
AWS Compute Optimizer is now able to recommend the optimal memory size for Lambda.
An article from Classmethod introduces examples where increasing the memory size can (potentially) reduce processing time and costs.
If AWS Compute Optimizer is not enabled, you will need to opt-in.
Even after enabling it, recommendations may not appear immediately, so let's wait patiently.
Release of "Web Browser Security — Organizing the Mechanisms that Support Web Application Safety"
A security book learned from the perspective of a web browser has been released.
It seems to explain not only the various security mechanisms but also the background and history of why those mechanisms were introduced.
・Mechanisms that set boundaries between resources and impose restrictions on applications (Origin, SOP, CORS, CSP, etc.)
・Mechanisms whose roles can be understood by considering web browser behavior at the OS process level (CORB, CORP, Fetch Metadata, etc.)
・Things related to the state of communication channels and received data (HSTS, SRI, etc.)
・Security mechanisms regarding Cookies, which are indispensable for modern web applications
https://www.lambdanote.com/collections/wbs
This seems highly recommended for people who want to become well-versed in these areas.
Honestly, since there are parts of these browser mechanisms that I only vaguely understand or don't know at all, I personally want to read it.
IntelliJ IDEA can now use machine learning for code completion ranking.
IntelliJ IDEA can now use machine learning to rank code completion suggestions.
You can choose whether to enable this on a per-language basis in the settings.
Additionally, by checking Mark position changes in completion popup, you can see the rank changes caused by machine learning.
In my environment, it was already enabled (for some reason, only for Java and Python), so it might be automatically enabled when upgrading to version 2020.3.
It's been 4 or 5 hours since I enabled the setting to visualize rank changes and enabled its use in TypeScript, but there's no particular change yet, so I'll wait patiently.
Also, according to the official Twitter, no data is sent externally.
know-how
[2021 Edition] Release flow for GitHub x Go tools
This is an example of tagging and releasing a Go package using GitHub Actions' workflow_dispatch.
In conventional release flows, there were minor issues, such as needing to run the same tests twice before a release or having to wait for tests to finish before releasing. (Please read the article for details.)
This article is very informative as it effectively utilizes GitHub Actions' workflow_dispatch and the GitHub Statuses API to eliminate those problems. I recommend this article to anyone releasing any kind of tool, not just Go.
tool
Tools for using credentials stored in 1Password as environment variables
This is an article by someone who created a tool to use credentials stored in 1Password as environment variables from the terminal or elsewhere.
For those who manage credentials used in CLI tools within 1Password, using them should become much easier.
TabFS is a browser extension that mounts your browser tabs as a filesystem on your computer.
This is a browser extension that mounts browser tabs as a file system. We had a lively discussion about how opening sites with malicious code could lead to serious trouble.
disclaimer: this extension is an experiment. I think it's cool and useful and provocative, and I usually leave it on, but I make no promises about functionality or, especially, security. applications may freeze, your browser may freeze, there may be ways for Web pages to use the extension to escape and hurt your computer ...
As mentioned in the disclaimer on the distribution page, since worst-case scenarios are possible, those who wish to use it should do so at their own risk after considering all potential cases. (The code looks interesting, but I don't recommend using it.)
Uptime monitor and status page powered by GitHub Actions, Issues, and Pages
This is a template repository for easily monitoring the status of websites. You can use it immediately by "using" the template and configuring the sites you want to monitor.
It also seems to allow updating README.md to display statuses or sending notifications to Slack.
While it enables status monitoring without having to prepare your own scripts or machines, there was a lively discussion in our meeting about whether it might be questionable regarding GitHub's Terms of Service.
for example, don't use Actions as a content delivery network or as part of a serverless application,
but a low benefit Action could be ok if it’s also low burden.
https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-additional-product-terms#5-actions-and-packages
Upon investigation, it states that it should not be used as a serverless application, but it is OK if the burden is low.
It is a difficult judgment to make.
Afterword
This was the first Productivity Weekly of the year.
Since it was just after the new year, there were few news items regarding service updates. (The news about recommending optimal memory sizes for Lambda functions was from the end of the year.)
We are only at the 8th edition, but my goal for this year is to consistently post Productivity Weekly summaries.
Thank you for your support this year as well.
The Productivity Improvement Team holds meetings to share these kinds of topics every week. If you are interested in our team, click the link below!
Discussion