-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
2 lines (2 loc) · 9.68 KB
/
Copy pathindex.html
File metadata and controls
2 lines (2 loc) · 9.68 KB
1
2
<!doctype html><html lang=en-us><head><meta name=generator content="Hugo 0.79.1"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><title>Alex's blog</title><link rel=stylesheet href=/posts/css/style.css><link rel=stylesheet href=/posts/css/fonts.css><link rel=icon href=favicon.ico><link rel=icon type=image/png sizes=32x32 href=/posts/images/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/posts/images/favicon-16x16.png><link rel=apple-touch-icon sizes=180x180 href=/posts/images/apple-touch-icon.png><link href=/posts/index.xml rel=alternate type=application/rss+xml title="Alex's blog"></head><body><nav class=nav><div class=nav-container><a href=/posts/><h1 class=nav-title>Alex's blog</h1></a><ul><li><a href=/posts/>English</a></li><li><a href=/posts/ja/>日本語</a></li></ul></div></nav><main><div class=catalogue><a href=https://xinbadev.github.io/posts/chatgpt/ class=catalogue-item><div><time datetime="2023-05-04 23:15:32 +1100 +1100" class=catalogue-time>May 4, 2023</time><h2 class=catalogue-title>How Chatgpt helps me create a game text extractor and teach me japanese</h2><div class=catalogue-line></div><p>Recently, I have been playing a game called “The Legend of Heroes - Trails of Cold Steel,” a JRPG that I hope can help me learn some Japanese. I ended up creating a game text extractor to make it easier for me to translate the in-game text. When combined with ChatGPT, it becomes a very helpful Japanese language teaching app. I can’t help but record what I have learned during this process.</p></div></a><a href=https://xinbadev.github.io/posts/sql/ class=catalogue-item><div><time datetime="2023-01-13 19:33:00 +1100 +1100" class=catalogue-time>January 13, 2023</time><h2 class=catalogue-title>Debugging and Optimization of SQL (Postgres query planner)</h2><div class=catalogue-line></div><p>Recently, I encountered a very interesting SQL problem at work. The same raw SQL query took significantly different execution times. Through debugging and research of this problem, I gained a deeper understanding of the SQL execution process (Postgres) and corresponding optimization techniques.</p></div></a><a href=https://xinbadev.github.io/posts/server/ class=catalogue-item><div><time datetime="2022-07-13 19:45:00 +1100 +1100" class=catalogue-time>July 13, 2022</time><h2 class=catalogue-title>Investigating Open Source Servers</h2><div class=catalogue-line></div><p>Recently, due to work requirements, I have been delve into distributed tracing. After reading a series of documents, I planned to deploy a set of distributed monitoring systems to solve the strange connection reset error that has been occurring with WebSockets. After some research, I found that the current nginx server being used does not have good support for this feature, so I decided to simply switch to a different server.</p></div></a><a href=https://xinbadev.github.io/posts/cloudflare/ class=catalogue-item><div><time datetime="2022-06-25 10:49:00 +1100 +1100" class=catalogue-time>June 25, 2022</time><h2 class=catalogue-title>Some Thoughts on the Cloudflare Incident Happened a Few Days Ago</h2><div class=catalogue-line></div><p>A few days ago, a significant incident disrupted Cloudflare’s network, affecting numerous vital websites and even causing a temporary outage on Discord. Subsequently, I came across tweets confirming that the issue indeed pertained to Cloudflare. The following day, Cloudflare promptly delivered a comprehensive incident report on their official blog, aligning with my anticipated standards of transparency and thorough analysis. In this context, I aim to document my reflections on this event.</p></div></a><a href=https://xinbadev.github.io/posts/forta/ class=catalogue-item><div><time datetime="2022-06-08 19:39:11 +1100 +1100" class=catalogue-time>June 8, 2022</time><h2 class=catalogue-title>Forta contest</h2><div class=catalogue-line></div><p>Before discussing the Forta competition, let me introduce Forta first. So far, Forta has been developed for about a year, with a total of 1330 commits, and the main developers are two people. The development language is GO. This is not a particularly large project, and its functions are relatively clear. It is mainly used for monitoring. In addition, GO is inherently a highly engineering-oriented language, so reading it is not too difficult.</p></div></a><a href=https://xinbadev.github.io/posts/strapi-cms/ class=catalogue-item><div><time datetime="2022-05-28 11:12:22 +1100 +1100" class=catalogue-time>May 28, 2022</time><h2 class=catalogue-title>Issue with Deep Filtering in Strapi CMS</h2><div class=catalogue-line></div><p>Recently, while researching optimizations for Strapi CMS, I came across a warning in the console - “Deep filtering queries should be used carefully (e.g Can cause performance issues). When possible build custom routes which will in most case be more optimised.” I was confused by this warning and decided to investigate it further.</p></div></a><a href=https://xinbadev.github.io/posts/grapqlloader/ class=catalogue-item><div><time datetime="2022-05-13 11:18:22 +1100 +1100" class=catalogue-time>May 13, 2022</time><h2 class=catalogue-title>Exploring optimization of GraphQL plugin in Strapi CMS</h2><div class=catalogue-line></div><p>Recently, the CMS server has been showing red lights again. Although various optimizations have been made over the past year, such as adding caching and reducing database access, they only provide temporary relief. As the amount of data continues to increase, the problem reemerges. For example, after the cache expires, the server becomes overloaded for a period of time, resulting in slow response times or even crashes. To address this problem, the CMS was migrated to Kubernetes with multi-node deployment to improve availability. This certainly improves the user experience, but the problem has not been truly solved. The server still slows down every day and even restarts due to increased costs from autoscaling. I could reduce this problem by increasing the server configuration, but that would be going back to the old approach. It’s necessary to optimize the code level.</p></div></a><a href=https://xinbadev.github.io/posts/goodarch/ class=catalogue-item><div><time datetime="2020-08-04 19:58:11 +1100 +1100" class=catalogue-time>August 4, 2020</time><h2 class=catalogue-title>What is a good architecture?</h2><div class=catalogue-line></div><p>I’ve been using AWS cloud services for several years now, and recently I’ve been preparing for the AWS Certified Solution Architect exam. During this time, I have reviewed the various features and systems of AWS cloud, and I have also read many AWS whitepapers. Lately, a question has been slowly emerging in my mind – what is a good architecture, or what are the characteristics of a good architecture? I have been thinking about this question for a while and have read many excellent blog posts on the subject. My impression is that many architects focus on how to use various framework technologies to achieve high availability, reliability, and performance services. While this has been eye-opening, it has also given me the impression that all you need to do is master various framework technologies (including their applicability and trade-offs) to create a good architecture. However, after reading various AWS whitepapers, I have been prompted to rethink what makes a good architecture and have gained new insights.</p></div></a><a href=https://xinbadev.github.io/posts/fallocate/ class=catalogue-item><div><time datetime="2020-03-14 17:14:11 +1100 +1100" class=catalogue-time>March 14, 2020</time><h2 class=catalogue-title>All About Fallocate</h2><div class=catalogue-line></div><p>Fallocate is a system call in Linux that is mainly used for block allocation on the hard disk. I first came across this command while testing a bug in a program locally. The bug only triggered when the hard disk was full, but there was still plenty of space left on it. I needed a way to quickly fill up the remaining space. I knew there was a command in Linux called ‘dd’ that could write a file of a specified size to the hard disk. I had used this command before when creating a swap. However, this command was too slow when it came to creating large files. Then I remembered another command I had seen on StackOverflow called ‘fallocate’. According to its introduction, this command is much faster than ‘dd’. As soon as I tried it, I found it to be true.</p></div></a><a href=https://xinbadev.github.io/posts/owasp/ class=catalogue-item><div><time datetime="2019-09-21 17:21:11 +1100 +1100" class=catalogue-time>September 21, 2019</time><h2 class=catalogue-title>OWASP TOP 10(2017)</h2><div class=catalogue-line></div><p><OWASP Top 10 - 2017 The Ten Most Critical Web Application Security Risks> summarizes the ten most likely, common, and dangerous vulnerabilities in web applications. Although it has been two years since the report was released, it is still very meaningful for introducing web security. Especially for engineers who are new to web security, this report is a very good guide that can help IT companies and development teams standardize the application development process and testing process, and improve the security of web products. This article will classify and analyze these vulnerability types and provide some of my personal opinions.</p></div></a></div><div class=pagination><a href=/posts/page/2/ class="right arrow">→</a>
<span>1</span></div></main><footer><span>© <time datetime="2024-08-17 02:02:55.681802879 +0000 UTC m=+0.049000712">2024</time> Alex. Made with <a href=https://gohugo.io>Hugo</a> using the <a href=https://github.com/EmielH/tale-hugo/>Tale</a> theme.</span></footer></body></html>