Stop Using Access Keys Already
Access Keys are an easily overlooked security risk on AWS. Use OIDC with IAM Roles so GitHub Actions can securely access AWS resources without any secrets.
Access Keys are an easily overlooked security risk on AWS. Use OIDC with IAM Roles so GitHub Actions can securely access AWS resources without any secrets.
Backend developers often have to decide on a primary key: auto increment or UUID? What about collisions? How much faster is UUIDv7 compared with created_at + index? After benchmarking 20 million rows and looking at the design trade-offs, this post gives you the answer.
This article is part of the IT 2023 Ironman Competition: A Beginner's Guide to Keyboards - Firmware Edition.
This article is part of the IT 2023 Ironman competition: A Brief Discussion on Japanese Electricity.
This article is part of the IT 2023 Ironman Competition: Keyboard Enthusiast's Guide - Hardware Edition.
This article is part of the IT 2023 Ironman competition: The Principles of Chargers
This article is part of the IT 2023 Ironman series: An Exploration of Japanese TV Subtitles.
This article is part of the IT 2023 Ironman Competition: Semiconductors Driving Modern Society (2)
This article is part of the IT 2023 Ironman series: Lesser-Known Networking Theories (1)
This article is part of the IT 2023 Ironman Competition: Lesser-Known Networking Theories (2)
This article is part of the IT 2023 Ironman series: Semiconductors Driving Modern Society (1)
本篇為 IT 2023 鐵人賽文章:JPG 與離散餘弦轉換
本篇為 IT 2023 鐵人賽文章:逆矩陣沒有想像中的好
本篇為 IT 2023 鐵人賽文章:Seam Carving – 讓圖片不成比例地縮小
本篇為 IT 2023 鐵人賽文章:與程式有關的遊戲三選 (2)
本篇為 IT 2023 鐵人賽文章:奇異值分解
本篇為 IT 2023 鐵人賽文章:數值穩定與誤差
本篇為 IT 2023 鐵人賽文章:興趣使然的研究之旅
After reading the description, the more challenging part is how to determine the movement of the tail and the adjacency check. Here, I simply used a simple 2D vector approach.
In the C language, you can use strlen to obtain the length of a string. However, there are certain things to be aware of when using it.
Even in microcontrollers, there are various interrupts that can be used, so the execution of the code may be interrupted. This can be managed by using atomic operations.
After switching to the HHKB keyboard, I no longer have arrow keys. When editing text, I naturally try to minimize the use of arrow keys. Influenced by various external factors, I started learning Vim and found it to be quite useful, especially when paired with VSCode. Here, I would like to share some insights and tips with those who are interested.
Polly is one of the services on the Amazon cloud platform that can convert text into speech. Although text-to-speech is not uncommon, Polly can generate natural-sounding voices based on sentence structures, which is a great boon for language learners. In addition, it has a wide range of applications, such as converting subtitles into speech, scripts, narrations, dialogues, and even the possibility of using Polly to record podcasts directly.
The key point of using AVR for USB is whether the chip itself has built-in USB support. Currently, only ATmega32u4 is still in production, but it may also be difficult to obtain due to semiconductor supply shortages.
In early 2021, Raspberry Pi released the pico microcontroller, which is quite affordable at just over 100 Taiwanese dollars. One interesting feature of it is PIO, which allows the implementation of different communication protocols using specialized assembly language and architecture without consuming the resources of the main processor.
I have always been accustomed to using the terminal by directly switching tabs through the tab feature of iTerm2. There is nothing wrong with doing so, but ever since I discovered the advantages of `tmux`, I have moved all my terminal operations to tmux.
Mental models refer to our cognitive processes of how we anticipate the development of things or how things will operate. It may sound a bit academic. For example, when we see a button UI on the screen, we expect that this UI is clickable and that clicking it may trigger a series of events. Therefore, when users find that this UI is not as expected, they may feel confused.
In this project development, the planning team had a requirement to dynamically update the data by calling APIs on the previously static Landing Page. Additionally, as the interactivity of the page increased, the original combination of pug+webpack+jQuery for static pages was no longer sufficient. Therefore, we introduced next.js in the development of the new version and embarked on a journey of server setup and troubleshooting.
The first few months happened to be time for large features to come online. Before continuing with another project, there is not much development, mainly to fix some small bugs and improve existing features. And because development is not that compact, there is more time this season to focus on improving the process.
Recently with Kotlin developed a small tool to manage daily tasks, mainly hope that colleagues in Backend can also be maintained together, the other is to learn a new language can always get some new excitement and ideas, as well as many Java and JVM God in the company take advantage of digging treasure.
Our goal this time is to bring the whole idea into place, so I purchased a ESP32 development version that already has built-in WiFi and Bluetooth to develop!
This will talk about some mines on Arduino and language unfamiliar and stepped on
Among the networks, the most common one is the TCP protocol. To ensure the accuracy of data transmission, we need a series of mechanisms to ensure that the data is accurate and that both parties can receive messages. You need to do similar things in the hardware.
Create air quality monitoring applications with arduino, esp32, sensors! Although it is air quality, it is only the carbon dioxide concentration and temperature and humidity monitoring. If there is a sensor, it is not too much of a problem.
The Journey to Data Science from Scratch
Typora is my favorite markdown text editor. But there is an annoyance when using the picture upload. Because Typora will only put the path of the picture into the markdown which...
In the past, the team may have to spend some time discussing (quarreling) CI solutions, such as CircleCI, DroneCI, Jenkins, etc., but as long as the team has the code hosted on Github, it is easy to integrate CI with Github, although it can't be said to be a Pantera, killer. But in general to run tests, and even push and deploy scenarios like I think are quite simple to achieve, let's introduce below.
Screen recording is a good trouble, so check if you can use simulator to record, really can
xxd is a linux tool that can look at binary files
Writing tests has always been an indispensable part of software engineering,But how to write for a long time seems to find a bug will still run out,QA Issue still as much?
iOS 11.0 can read and write NFC Tag through CorenFC, but it can't read information such as IC cards. IC cards can only be read by iOS device...
iOS 11.0 can read and write NFC Tag through CoreNFC , but it can't read information such as IC cards. IC cards can only be read by iOS device…
About a few months ago, I wrote an article on how to set environment variables in golang, and setting environment variables gracefully is a very important thing, so I wrote a simple function to do it. The initial consideration is very simple. If a corresponding config file is provided, use os.setenv to set the key/value inside. After that throughout the app...
In golang which, if there is no assignment at initialization, it will use zero value. However, over time, we will find that if zero value is replaced each time, we would not know whether the user did not enter a value that resulted in zero value, or did the user originally enter a zero value? At this time because of Email, Name...
This article is a summary of How to collect, standardize, and centralize Golang logs | Datadog. There are usually a few points to note when using log: the log is passed as a parameter, you need to use the log to pass parameters into the unified context...
In golang, for the type of interface {}, you can make type determination to assume that the interface is a type, so that you can manipulate the methods in that type. This code can make the original interface...
Recently, projects have been moving from Ruby On Rails to golang, except for one thing you want to practice writing to see how ugly syntax feels, on the one hand, to feel the power of golang and how to organize your own code without an existing framework. Today is the goworker. He will look at the reason is to search for go worker...
About the last few months, my google chrome has been somehow connection refusal. Sometimes there are web pages that just can't open but work on other devices. Although it is strange, it may be a problem with the server configuration, and there is no trouble, so continue to use it. Set custom...
I looked at the popular sql packages now and found that almost none of the functions can be used to jump an error when connection is lost in real time. For example: nodejs mysql which, we can use connection.on ('error') to listen for errors. But in golang...
We often need to switch between different environments when developing a project, so we often set different environment variables. However, if you write directly to the program every time it is too cumbersome, if you can pass in the environment variables dynamically, you can reduce a lot of unnecessary changes, and the program is relatively clean. Flag can generally be used in golang flag this package...
In golang there are two reserved words make and new, but also the beginning of learning golang easy to confuse place, here to make a simple note. new new can be used to initialize the generic and return the storage address. So we usually use pointer variables to pick up new types. In particular, it should be noted that new will automatically use zeroed value...
As a front-end engineer, the team is usually the person who sends pull requests the most often. In order to make your PR easier to test, and to make it easier to review the reviewer, a few considerations have been summarized. The pull request describes the purpose of this pull request. For example: fix layout...
In the database, in order to improve query efficiency, the database can speed up query efficiency by creating indexes when the data is large. This article discusses the index of PostgreSQL. In most cases, using the syntax of `CREATE INDEX` directly can handle common development scenarios, there are many different types of index types available in PostgreSQL.
Medium does not support code block editing itself, although I don't know the reason behind it (perhaps the engineer is not the main customer), so if you want to highlight the code, one way is to paste the image directly, paste it on the gist and then embed it
Better-Express-Error When developing express, if an error is encountered, it is usually printed directly on the error page, or directly directed to a 404, 500 page in the production side. Although there is nothing worth mentioning, but really, see this kind of page, will you feel happy? default error...
In machine learning, if there are too many features, it can cause problems, such as overfitting...
The current company is running the cap staging deploy command directly on the local terminal. Capistrano is very convenient as a tool for automatic deployment, but inevitably encounter several problems: not everyone on the team has the same environment everyone is deploying, as a result what branch is now on staging...