流感来袭

2022年末的流感有点猛。

上周五花花学校搞尼古拉斯节活动。这是疫情三年后首次线下举行。自然是人满满。戴口罩也没几个。

活动后周日花花出现发烧症状,拿抗原测试,一条杠,不是新冠。那么流感多半是自己扛。她周日晚上高烧39。周一降到38,但是又咳嗽和痰。

我周一出现症状。周一晚上高烧,感觉比新冠猛烈。睡了14个小时。周二起床后38。一天在床上修养。花花倒是活络不少,晚上还洗澡洗头,没洗想落下后患。

周三我睡到10点,基本烧全退了。昨晚睡前还有37.8。晚上发了几次汗,换了两套汗衫。可是花花下午烧却起来了。一度达到40。花妈赶紧物理擦拭降温,也有39.6。发烧胃口也没有,喝了点柠檬汁拌蜂蜜,一小碗土豆汤,小小几口面包。又昏睡过去。

好久没如此大病了。还在夫人强体有方,每日打坐正念,果然有效。

继续煎熬。

API爱好者收集的一些有用的API

ipstack
zenserp
zenscrape
ipapi
weatherstack
vatlayer
marketstack
aviationstack
scrapestack
userstack
screenshotlayer
pdflayer
positionstack
serpstack
coinlayer
mediastack
countrylayer
languagelayer
Bin Checker
Resume Parser
Sentiment Analysis API
Keyword Extraction API
Bad Words API
Text to Emotion API
Vault API
Smart Crop
Google Search API
Lecto API
Language Translation API
Paraphraser API
Spellchecker API
404 Watch API
Whois API

k6 压力测试工具

同事介绍的,看起来不错,还能测gRPC。 用空看一下。

Link https://k6.io/blog/performance-testing-grpc-services/

github 上有现成搭好的项目,拉下来试试,感觉还很不错。另外,对于这个项目还有文章具体解释的。

显示器坏了

家里的一台老的显示器坏了,型号是Acer AL1916w ,版本是s。具体问题就是开机没反应。网上搜了一下,类似问题很常见,就是电源部分故障,通常是电容击穿了。

比如这个修理视频

ebay上也有成套的维修组件可供购买,但是不太值得。估计这显示器就值10欧元。所以计划自己买几个电容,尝试维修一下。修不好也不心疼。

ebay组件1

ebay组件2

明显有个电容鼓包了

而且更换电容的时候最好是几个一起更换。现在就是找出这些电容,购买配件,然后替换。拭目以待。

继续学习DDD

记录:DDD不是架构而是一种思想,一种观察事物的角度。而六边形架构则是实现的一种架构。 过去程序员从数据结构,存储出发解决问题。而DDD提倡从业务角度去考虑问题。

架构

DDD风格的架构
https://www.cnblogs.com/davenkin/p/road-to-ddd.html

理解 Domain Model

理解 实体 Entity

https://cloud.tencent.com/developer/article/1790795

理解 仓库 Repository
https://cloud.tencent.com/developer/article/1803939

理解 值对象 Value Object

https://cloud.tencent.com/developer/article/1790794

理解 聚合 Aggregate

理解 六边形架构 Hexagonal Architecture

六边形架构是DDD是常用的一种架构信息,与其对标的是传统的分层模型和加入依赖反转的分层模型

第一次看到这个模型可能有点懵,六边形架构其实和以前的洋葱模型类似,要从信息的流动的角度来看。当信息流从六边形外部流入,经过边界,达到内部“领域模型”,经过处理,可能需要从六边形的另外一边存取数据(数据库,外部资源),流入或者流出。

和以前的分层模型相比(比如MVC),它强调的是系统“内外”之分,而不是内部的分层。当信息跨越边界(Port)的时候,需要又Adpater来适配。参考阅读1

比如信息从外部进入六边形的时候,把信息转成内部里理解的Request对象。

当信息流出六边形的时候,要转成外部颗理解的Response对象。

工厂

Application Service

Application Service 里的体现是实际业务中的每个用例额,场景,use case。在usease

参考

shopify的模板语言liquid

shopify使用了 liquid 作为自己模板语言。在我看来liquid是smarty的后继者。


Shopify的文档 (链接) (github)常用的对象(object) (cheat sheet)

github (链接

作品1 按照meta信息排序.

基本思路就是在循环显示之前,先循环一遍,把信息取出来后,单独保存到一个新的数组内。然后对这个数组进行排序。

{% assign newArray = false %}

{% for line_item in line_items %}
	{% assign newOrder = line_item.product.metafields.regalnummer.value  | default:'' %}
	{% assign matrix = newOrder | append:'.'  | append:forloop.index0 %}
	{% if newArray %}
		{% assign tmpIndex = matrix | split:',' %}
		{% assign newArray = newArray | concat:tmpIndex %}
	{% else %}
		{% assign newArray = matrix | split:',' %}
	{% endif %}
{% endfor %}

{% assign newArray = newArray | sort %}

显示的时候就按照这个新的数组进行循环

    {% for newArrayItem in newArray %}
     	{% assign i = newArrayItem | split:'.' | last | times: 1 %}
     	{% assign rowObj =line_items[i]  %} 
        <tr>
            <td>{{ rowObj.quantity }} x</td>
            <td>({{ rowObj.variant.inventory_quantity }})</td>
            <td>{{ rowObj.product.metafields.regalnummer.value }}</td>
            <td>{{ rowObj.variant.barcode }}</td>
<!--        <td>{{ rowObj.product.metafields.exp.value }}</td> -->
            <td>{{ rowObj.sku }}</td>
            <td>{{ rowObj.vendor }}</td>
            <td>{{ rowObj.title }}</td>
            <td style="text-align: right;">
                {{ rowObj.price | money }}</td>
    		<td style="text-align: right;">
    		    {{ rowObj.price | times:rowObj.quantity | money }}</td>
    		<td style="text-align: right;">
                {% assign a = rowObj.grams %}
                {% assign b = rowObj.quantity %}
                {{ a | times: b }}</td>
        </tr>
    {% endfor %}

最终效果

借了两只公猫

家里就不太平了。第一天两只公猫不知如何使用厕所,在客厅沙发,卧室地毯,厕所的猫马桶前留下五处猫屎和猫尿。我打扫了一个早上。

家里两只女猫对来访者特别反感。小黑一只在骂。姐姐就到处躲藏。两只公猫也知道自己是新来的,躲在床底下整个白天都不出来。

第二天还算太平。清晨公猫们找到了厕所进入的方法。但是还是不思饮食。还试图翻窗逃跑。女猫们则退守到阳台,死活不进屋。

看看第三天晚上会发生什么。