Finisky Garden

NLP, 软件工程, 产品设计

When working with Azure Virtual Machines (VMs), monitoring performance metrics is essential for ensuring optimal operation. A common scenario involves tracking the CPU Credits Remaining for a B-series burstable VM instance.

Typically, we use az vm monitor metrics tail to get the CPU Credits Remaining metric:

阅读全文 »

Transaction systems are at the heart of modern commerce and financial activities, spanning a wide range of scenarios from e-commerce order processing to real-time settlements in financial institutions. Such systems demand high concurrency handling, real-time data storage, and efficient retrieval capabilities, all while balancing data consistency and performance. As transaction data continues to grow in scale and complexity, traditional transaction system architectures often struggle to meet these challenges due to rigid table structures and limited horizontal scalability.

MongoDB, as a distributed document-oriented database, provides a modern solution for building complex and efficient transaction systems. With its flexible schema design, high throughput capabilities, and built-in transaction support, MongoDB addresses diverse business needs effectively.

阅读全文 »

交易系统是现代商业和金融活动的核心,涵盖从电子商务订单处理到金融机构的实时清算等多种场景。这类系统通常需要高并发处理能力、实时数据存储和高效检索功能,同时需要在数据一致性与性能之间找到平衡。随着交易数据的规模和复杂性不断增长,传统交易系统架构在应对这些挑战时,往往因固定的表结构和横向扩展能力的不足而受限。

MongoDB 作为一款分布式文档型数据库,以其灵活的架构、高吞吐能力和内置的事务支持,为构建复杂、高效的交易系统提供了一种现代化的解决方案,能够满足多样化的业务需求。

阅读全文 »

Received a certificate renewal notification from Tencent Cloud, but when applying for a new certificate, I found out that Tencent Cloud no longer offers free one-year certificates:

Starting from April 25, 2024, the validity period of new free certificates issued by Tencent Cloud will be adjusted to 90 days.

Since I’ve always updated certificates manually, doing it every three months feels quite tedious. So, I decided to explore Certbot from Let's Encrypt. My only concern was how to prove ownership of a subdomain. After trying it out, I realized this wasn’t an issue at all, as Certbot only issues certificates and doesn’t pose any threat to the website itself.

Here are the configuration steps for Certbot. In fact, it’s very simple and only requires running a few commands.

阅读全文 »

收到腾讯云的证书续期通知,结果在申请新证书时发现,腾讯云不再支持一年的免费证书:

2024年4月25日起,腾讯云新签发的免费证书有效期调整为 90 天

考虑到一直是手动更新证书,如果三个月手动操作一次还是挺费劲的。于是研究Let's Encrypt的certbot,唯一的顾虑是如何证明自己对二级域名的所有权问题。实践之后发现此问题并不存在,因为certbot仅是签发一个证书而已,并不存在对网站本身的威胁。

下面是certbot的配置步骤,其实仅需要执行几个命令,非常简单。

阅读全文 »

十一去了趟伦敦,很喜欢这座拥有悠久历史和丰富文化的城市,古典和现代的结合给人留下了非常深刻的印象。限于时间,只玩了几处最具代表性的地标:大英博物馆、西敏寺、牛津大学、国家美术馆和海德公园。

去之前在小红书上做了些功课,主要是两点:提前办无接触信用卡(contactless card)和治安不好。其他就是常规操作,出发前两天买旅行险,提前在淘宝上买电话卡(用的giffgaff,信号还可以)。

旅行的体验:

  • 无接触卡非常必要,一分钱现金也没花,全带回来了。
  • 总体治安尚可,肯定不像小红书上说得那么夸张,当地朋友告诉我们治安非常好。同行的朋友确实遭遇了抢手机,虽然没抢走,但也受了点小伤。
  • 吃得还不错,不需要带泡面,当地的英式早餐、英国菜、印度菜和意大利菜都挺好吃,不是传说中的“美食荒漠”。
  • 酒店比较贵。
  • 购物不太行,不像美国日本那么好买,许多品牌比国内贵。

特别要提的是天气,十月已经不再是伦敦的旅游旺季,温度大概在10度左右,偏湿冷。当地朋友特意提示要穿waterproof,也就是冲锋衣。实际体验之后明白了原因,这里的雨可谓是霪雨霏霏,下得不大,但说下就下,而且可能伴有大风,穿雨衣忒费劲,打伞又举不住,而且大风带着小雨一样会把衣服打湿。

阅读全文 »

Nowadays, many popular apps incorporate social network features, such as Twitter, WhatsApp, and Facebook. These platforms need to scale to accommodate billions of users (graph nodes), which is no small feat. Building and maintaining a scalable social network infrastructure requires careful planning and strategic data modeling. In fact, specialized social networking applications like Facebook have dedicated teams focusing solely on optimizing their performance to the highest level. However, for smaller apps or startup projects looking to add social networking capabilities, creating a full team to handle such architecture is often impractical and unnecessary.

So, is it possible to build a high-performance, scalable social network using the right data modeling and storage solutions? The answer is yes. Early versions of Facebook used MySQL as the underlying storage to construct their social network, but today we have more advanced and efficient storage options available: MongoDB.

阅读全文 »

如今许多App都涉及社交网络,如 Twitter、WhatsApp 和 Facebook。这些平台必须扩展以处理数十亿用户(图节点),这并非易事。构建和维护一个可扩展的社交网络基础设施需要仔细的规划和战略性的数据建模。实际上,像Facebook这样专业的社交网络应用有专门的团队来做这块内容,对其性能进行极致的优化。但对于许多希望加入社交网络功能的小型App,如一个创业公司项目,建立一个团队来做这样的架构显然是不现实也没有必要的。

那么,利用合适的数据建模和存储能否构建一个高性能易扩展的社交网络?答案是肯定的。早期的Facebook使用mysql作为底层存储来构建社交网络,但今天我们可以有更好更高效的存储选择:MongoDB。

阅读全文 »

在conda环境中升级软件包后,talib无法接受DataFrame作为输入,错误信息如下所示:TypeError: Argument 'xxx' has incorrect type (expected numpy.ndarray, got DataFrame)

Traceback (most recent call last):
  File "/data/1.py", line 7, in <module>
    df['SMA_5'] = ta.SMA(df['Close'], timeperiod=5)
  File "/data/miniconda3/envs/a/lib/python3.10/site-packages/talib/__init__.py", line 64, in wrapper
    result = func(*_args, **_kwds)
TypeError: Argument 'real' has incorrect type (expected numpy.ndarray, got DataFrame)

大多数网络搜索结果都具有误导性,比如将df转换为np数组。由于在更新软件包之前代码能够正常运行,因此问题应为软件包不兼容的问题。

阅读全文 »

After upgrading packages in a conda env, talib cannot accept dataframe as input, the error message looks like TypeError: Argument 'xxx' has incorrect type (expected numpy.ndarray, got DataFrame):

Traceback (most recent call last):
  File "/data/1.py", line 7, in <module>
    df['SMA_5'] = ta.SMA(df['Close'], timeperiod=5)
  File "/data/miniconda3/envs/a/lib/python3.10/site-packages/talib/__init__.py", line 64, in wrapper
    result = func(*_args, **_kwds)
TypeError: Argument 'real' has incorrect type (expected numpy.ndarray, got DataFrame)

Most of the web search results are misleading, like changing the df into np array. Since the code works before updating packages, the problem should be package incompatibility issue.

阅读全文 »
0%