algonote(en)

There's More Than One Way To Do It

Programming

List of Programming Courses by Cloning Popular Apps

Want to learn with real-world examples I Want to Learn with Real-World Examples When learning development in a new programming language or genre, reading books and official documentation is helpful. However, there is often a significant ga…

How Flog can be used to visualize need for refactoring and persuade boss to return debt

How to look for high complexity parts I want to visualize the messiness of code When I usually develop with Ruby, I sometimes encounter code that I find difficult to read. I wish I could refactor it freely, but software development at work…

Programmer ability cannot be measured by years of experience

More important than years of experience What are the key factors in estimating a programmer's ability? When software engineers and designers register with a job search site, they may be asked to submit a skills sheet: how many years of Jav…

Personal guidelines for team separation

Dogmatic and prejudiced. Preface When you increase the number of developers to grow a software product more, at some point you will need to reorganize the team structure. This is because as the complexity of the breadth and depth of what w…

It is wrong to abuse delegate on the basis of Demeter's Law

IMO Delegate in Ruby and Rails When a class is too bloated because all the requirements are packed, you probably want to split it up. When designing tables, you may want to normalize and split it into separate tables. There are the other w…

Measuring Python Cohesion with Cohesion

How to measure cohesion in Python What is Cohesion? Cohesion is a software metric that measures the proximity of related methods and variables. For example, in LCOM4, the functions accessing a variable in a class are traced and clustered. …

Software Engineer Information Resources

Software engineer information gathering summary. Thin and wide. General Japanese X(Twitter) A tweeting social network, where a self-proclaimed 3-year-old can share useful insights. Hatena bookmark Social bookmarking website. You can find u…

rails stats and company valuation

Is the development speed slow, or is what you are making bad? Preface: Can rails stats measure company value? rails stats is a handy command to get statistics about the Rails repository, and you can do the same in Laravel with php artisan …

Scrum may not be inherently necessary for Web development in Japan

Is a full-time Scrum Master needed? Introduction I recently read the paper "The New New Product Development Game," which is the source of Scrum. It is generally a discussion of how US companies can become as good as Japanese companies by a…

Measuring Cognitive Complexity of the frontend with SonarQube

How to find the frontend code smells Continuous Inspection with SonarQube There are some ways to quantify the readability of a program. For example, Cyclomatic Complexity and Cognitive Complexity are used. Cognitive Complexity is considere…

SBOM requirements for legal regulation (in Japan)

Introduction to Software Bill of Materials What is SBOM? SBOM (Software Bill of Materials) is a list of software components and their dependencies. It is not always the same as the list of libraries because some of the software may use in-…

Unity is already profitable

Read Unity's financial report Runtime Fee will be introduced in Unity Update: Unity withdrew some of the changes. It has been announced that Runtime Fee will be introduced to Unity from 2024/01. Unlike the previous billing model, the fee i…

Checklist for Technology Selection

How to select technology stack Preface When you develop something, it is often necessary to use some external services or tools. Unless it is a hobby development, we want to make decisions with a certain level of rationality. Here is a che…

Is the structure that forces engineers to study in the IT industry evil?

One of the most common complaints made by new software engineers is that they have a hard time studying. In web development, where they have to study every time a new technology comes out, sometimes outside of work hours, or they feel left…

List of open source web services that architects should check out

Reference for implementation Preface: Let's read open source implementations When you are doing web development, you may feel uneasy whether this way of writing is normal or not, or whether the direction of implementation is good or not. I…

How Twitter caches timelines

Reading Twitter's internal structure. Introduction Microblogging services like Twitter have a lot of posts in a short period of time. Especially for the timeline, simply moving data in and out from the RDB will not scale. I found some arti…

Write Code Every Day at HackerRank

Notes about HackerRank. What is HackerRank? HackerRank is a learning site where you can learn programming by solving problems. While most of these sites specialize in either web development or competitive programming, HackerRank covers bot…

GraphQL Adoption Anti-patterns

Is GraphQL a silver bullet? Introduction In web and application development, there are various methods for passing data between servers and between server and clients. The most common are SOAP and XML in the past. In most cases, JSON REST …

List of libraries (gem) commonly used in Rails development

A list of commonly used gems Preface As I summarized last month, I think that the return from apps to the web is happening a little in the SaaS boom. Even if you can use a lightweight framework for just the API of an mobile app, a full-sta…

Using RDBMS & Rails is rational selection for zero to one development, especially in SaaS era

How the architecture has changed over the trend of products Introduction There are several architectural patterns that we can choose in web development. The server structure is categorized by monolithic or microservices. Tthe database is s…

Learn Server-side C#(ASP.NET MVC) on Udemy

Study server-side C# Preface When it comes to web development, PHP is traditionally used in famous LAMP (Linux, Apache, MySQL, PHP) stack. Next movement is MVC frameworks such as Ruby on Rails. Recently, Golang is often used in microservic…

Learn biped robot by Zaku (ZEONIC TECHNICS)

Notes about robot Zaku What is ZEONIC TECHNICS? ZEONIC TECHNICS is a bipedal robot course offered by Bandai. It is based on Kondo Kagaku hobby robots, and many of the parts are from Kondo Kagaku. The humanoids offered by Kondo Kagaku, such…

How to run Emacs macro via CLI without remembering complex shell commands

Proof of concept Introduction When I convert file or replace some text, if the repeat is necessary, Use unix commands Combine 1 Write scripts are standard selection routine. Sometimes complex 2 is called as shell art. Ref: 【シェル芸人への…

How to find CTO-class engineer

opinionated article What is CTO? CTO(Chief Technical Officer or Chief Technology Officer) is the top of company in charge of technology. Some companies also have VP of Engineering as different role. In that case, recruiting, education and …

List of Russian-related softwares

Check Russian libraries Introduction The relation between Russia and Ukraine was worse and military advance was conducted. Many countries including Japan is doing sanction to Russia. The effect is huge. Software libraries used for web deve…

Collectible Card Game AI

Notes about the papers of Collectible Card Game AI Introduction Game AI competition in IEEE COG 2019 was held. The competitions include Angry Bird level generation, fighting video game like Street Fighter 2, DeepMind hanabi. Also, Collecti…

Learn Qt by Udemy course

Notes about Qt course (Translation of Japanese article in 2020) Introduction Stay home is consensus. Although I prefer stay home natively since born, I noticed the importance of walking recently. Every course is free or on sale. No schedul…

Create VCDB 2.0 with No Code(Glide)

No code app for searching Japanese venture capitals TLDR Demo www.youtube.com https://jpvcdb.glideapp.io What is VCDB Two years ago, I surveyed the fund size of Japanese venture capitals. I ended up just searching at that time. Visualizati…

List of Famous Machine Learning Patents

Summary of famous machine learning patents Introduction Machine learning community is relatively open. Papers can be dowloaded from arXiv for free. On the other hand, we sometimes found some methods are registered as patents. I daily colle…

binding.pry by many programming languages

Comparison of process interruption tool What is binding.pry? While debugging, the engineers sometimes want to see the variable values at that point. If your language is static and you use IDE, you can set break point by GUI tools. However,…