2025-12-26 05:30:24
年中我去法国巴黎旅行,当时天气很热。在去埃菲尔铁塔的路上,我用佳能 EOS R6 Mark II 配一个转接头和 24-70mm F2.8 红圈镜头拍照。拍着拍着,背景的曝光越来越严重,最后相机显示错误码 01,再也无法使用。我还以为是天气热造成电子零件发热暂时不能工作,想着一会儿冷却后就自己好了,但是尝试了很多次后彻底坏了。
[caption id="attachment_70691" align="alignnone" width="1279"]
错误代码 01:设备间通信故障。请检查摄像头、镜头或麦克风适配器的触点。 Err 01: Communication Between the Devices is Faulty. Check the Camera, lens, or mout adapter contacts.[/caption]
起初我以为是相机的问题,但把这个镜头装到另一台单反相机上发现也无法使用。而把 EOS R6 换上其他两个镜头(50mm F1.2 和 70-200mm F2.8)则完全正常。由此可以确认,是这个 24-70mm 镜头坏了。
这个 24-70mm 镜头被称为“万金油”,焦段非常好用,旅行拍摄常常依赖它。镜头坏了后,这半年我只能勉强用 50mm F1.2 拍照,但它是拍人像的镜头,拍风景效果就差很多,只能用 iPhone 的广角镜头补拍。
我的镜头是 2017 年买的,已经 8 年,早已过了三年的保修期。当时买时花了 1300 多英镑,坏掉挺可惜的。于是我联系了佳能官方,得知可以维修。流程是:先填一个表格,官方审核后会寄给你 UPS 邮寄标签,把镜头打包寄到他们仓库是免费的。
[caption id="attachment_70695" align="alignnone" width="652"]
2017年7月在Panamoz上买的。[/caption]
他们收到镜头的第二天,就给出了维修费用估价:288.04 英镑,包括两个半小时人工(每小时约 80 英镑)和一个坏掉的零件(他们还顺带清理了镜头/小保养)。我觉得价格可以接受,于是就同意维修。需要注意的是,他们必须先收到镜头才能检查和报价,无法根据描述提前报价。
如果觉得太贵,还可以额外支付约 8 英镑把镜头退回,或者直接让他们当作废品处理。
大约不到两周,他们就修好了。我付了款,第二天 UPS 就寄回了镜头。正好这个圣诞节我要去瑞士,可以好好拍风景了。
288英镑,还能让这个镜头再战几年,挺值的。朋友说:单反穷三代。
[caption id="attachment_70692" align="alignnone" width="1536"]
维修镜头的费用是288.04英镑。还能让这个镜头再战几年。[/caption]
[caption id="attachment_70693" align="alignnone" width="864"]
修好的镜头,除了修,还做了一个小保养/清理[/caption]
[show_file file="/var/www/wp-post-common/justyy.com/slr.php"]
英文:Faulty Canon R6 MarkII Camera
英文:Canon Repaired My Canon 24-70mm for 288 GBP
2025-12-24 00:36:44
前几周,在微软剑桥研究院 2025 冬日派对上,我第一次听说、也是第一次品尝到带酒精的咖啡,当时就觉得特别好喝。咖啡香气很足,又很提神,同时还有明显的甜味,感觉应该放了不少糖。
[caption id="attachment_70560" align="alignnone" width="864"]
这个饮料好喝,好像是Teqilla酒+咖啡,超市有卖已经调好的。[/caption]
后来上网搜了一下,发现这种**龙舌兰浓缩咖啡(Tequila Espresso)**其实并不复杂。周末去超市顺手买了瓶 Tequila,又配了一瓶咖啡利口酒,想着在家复刻一下当晚的味道。第一次照着配方做出来,虽然少了派对的氛围,但那股熟悉的香甜和微醺感一下子就回来了。细品还是稍微有点不一样,不过还是挺不错的。
这种组合很有意思:咖啡负责清醒,酒精负责放松,刚好卡在一天结束的那个节点,让人既不想立刻睡觉,也不想再继续工作。
如果没有摇壶,可以直接在杯中加冰, 倒入龙舌兰和咖啡利口酒,再加入浓缩咖啡,轻轻搅拌即可。 口感略弱,但非常方便。
不加冰,直接将热浓缩咖啡与龙舌兰、咖啡利口酒混合, 更像一杯“带酒精的咖啡”,适合冬天饮用。
制作Tequila Espresso的原料在超市里都能买到。[/caption]
[show_file file="/var/www/wp-post-common/justyy.com/cocktail.php"]
2025-12-23 23:19:20
文章写完之后,我一般都会让 AI / ChatGPT 再帮我润色一遍,让文字更通顺一些。
媳妇午餐时间只有一小时。选了她公司边上附近的一土耳其餐馆。[/caption]
[caption id="attachment_70661" align="alignnone" width="2048"]
这个是前两周在意大利罗马和媳妇在公寓沙发上的合影。[/caption]
[caption id="attachment_70660" align="alignnone" width="1024"]
媳妇在意大利[/caption]
[caption id="attachment_70659" align="alignnone" width="2048"]
朋友做的抹茶蛋糕 很不错![/caption]
[caption id="attachment_70658" align="alignnone" width="864"]
上了年纪 感觉体力不支,是不是有一天蛋糕也切不动了。[/caption]
[caption id="attachment_70657" align="alignnone" width="2048"]
2025年的生日蛋糕 以众不同,前几年都是花50英镑定做的。[/caption]
[caption id="attachment_70656" align="alignnone" width="2048"]
蛋糕分量有点大,第二天吃了一些也没吃完。[/caption]
[caption id="attachment_70655" align="alignnone" width="1536"]
泰国餐馆的饭后甜点[/caption]
[caption id="attachment_70654" align="alignnone" width="2048"]
泰国餐的一些咖喱[/caption]
[caption id="attachment_70653" align="alignnone" width="2048"]
还有这个,我都忘记是啥了[/caption]
[caption id="attachment_70652" align="alignnone" width="2048"]
甜饮,好多糖,乱死了[/caption]
[caption id="attachment_70651" align="alignnone" width="864"]
每年生日去 Costa, Greggs拿免费吃的。Greggs店员听说,结果我自费又了买了三个甜甜圈。[/caption]
[caption id="attachment_70650" align="alignnone" width="2048"]
Costa的生日礼物,我自费了拉铁咖啡。[/caption]
[caption id="attachment_70649" align="alignnone" width="2048"]
生日午饭,和媳妇还有老大一起在剑桥Leisure Park边上的土耳其饭店吃的。[/caption]
[caption id="attachment_70648" align="alignnone" width="1536"]
我吃了牛排[/caption]
[caption id="attachment_70647" align="alignnone" width="864"]
和媳妇喝了点无酒精的酒,店员看我有孩子 不让我喝酒。[/caption]
[caption id="attachment_70646" align="alignnone" width="864"]
无酒精的酒。[/caption]
[caption id="attachment_70662" align="alignnone" width="1536"]
照片里的我们真年轻啊[/caption]
2025生日朋友圈文案[/caption]
[show_file file="/var/www/wp-post-common/justyy.com/birthday.php"]
2025-12-21 06:27:28
昨天顺利通过了 AI-900(889/1000) 和 DP-900(850/1000) 两门微软认证考试。
[caption id="attachment_70626" align="alignnone" width="1024"]
Microsoft AI-900 AI Fundamentals[/caption]
两场都是线下考试,AI-900 原定 11:30,DP-900 原定 13:30。我 10:30 左右到考场,运气不错,被允许提前开始,结果 11:30 就全部考完了。
| Code | 证书名称 | 证书号码 | 获得日期 |
|---|---|---|---|
| AI-900 | Microsoft Azure AI Fundamentals | 7Z9DA9-388866 | 2025年12月19日 |
| DP-900 | Microsoft Azure Data Fundamentals | CD4244-E236BG | 2025年12月19日 |
You are my Microsoft AI-900 Test Coach. Please give me 60 questions, one at a time. After each question, I will answer — then you will tell me whether my answer is correct, and provide a brief explanation of the correct answer. Keep track of any questions I get wrong. After the first 60 are done, ask me those incorrect ones again until I answer all of them correctly. Number the questions sequentially (1, 2, 3… up to 60, then 61, 62, 63…) until I’ve answered everything correctly.还有就是看油管视频,在O’reilly上也有视频和教程,通过了还能有认证的Credly电子奖章/证书:
O’Reilly (oreilly.com) 是一个知名的学习平台和出版商,专注于技术、软件开发、数据、人工智能、云计算和商业技能。 O’Reilly (oreilly.com) is a well-known learning platform and publisher focused on technology, software development, data, AI, cloud, and business skills.对于不会的内容可以多问问AI。比如我就在考试当天问了ChatGPT last-minute cheat sheet:关于数据仓库的那些容易混淆的服务,比如:Azure Data Factory、Azure DataBricks、Azure Data Lake等。 Microsoft Learn上也有模拟题,不过题目有限,就50-60道题不停的重复,不会做的题专门的学习,每道题做过后可以立马查看答案,还有提供相关的链接学习。Microsoft Learn上有针对每个证书提供的Learn Path,照着进度学习即可。 总题来说,这些Fundamentals的课程并不难,通过了才能解锁下一些更难的证书,然后就可以去找/换工作了,比如Data Engineer、AI Engineer这些。 英文:Passing Microsoft AI-900 and DP-900 Certificates Today!
2025-12-18 21:47:19
std::transform_reduce 及示例std::transform_reduce 是一个强大的 C++17 算法,它结合了 transform 和 reduce(或 accumulate)的功能。它允许你对元素进行转换,然后使用二元操作进行归约,从而写出简洁高效的代码。
template<class InputIt1, class InputIt2, class T,
class BinaryOp1, class BinaryOp2>
T transform_reduce(InputIt1 first1, InputIt1 last1,
InputIt2 first2, T init,
BinaryOp1 binary_op1,
BinaryOp2 binary_op2);
template<class InputIt, class T,
class BinaryOp1, class UnaryOp>
T transform_reduce(InputIt first, InputIt last,
T init,
BinaryOp1 binary_op1,
UnaryOp unary_op);
#include <iostream>
#include <vector>
#include <numeric>
#include <execution>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
int sum_of_squares = std::transform_reduce(
std::execution::seq, // 顺序执行
numbers.begin(),
numbers.end(),
0, // 初始值
std::plus<>(), // 二元操作(求和)
[](int x){ return x*x; } // 一元转换(平方)
);
std::cout << "平方和: " << sum_of_squares << std::endl;
return 0;
}
#include <iostream>
#include <vector>
#include <numeric>
int main() {
std::vector<int> a = {1, 2, 3};
std::vector<int> b = {4, 5, 6};
int dot_product = std::transform_reduce(
a.begin(), a.end(),
b.begin(),
0 // 初始值
);
std::cout << "点积: " << dot_product << std::endl;
return 0;
}
#include <iostream>
#include <vector>
#include <numeric>
#include <execution>
int main() {
std::vector<double> numbers(1'000'000, 1.5);
double sum = std::transform_reduce(
std::execution::par, // 并行执行
numbers.begin(),
numbers.end(),
0.0
);
std::cout << "并行求和: " << sum << std::endl;
return 0;
}
transform_reduce 避免了为转换后的值创建中间容器。std::transform_reduce 可以让你的代码更简洁、更高效,尤其适合大数据集或并行计算场景。
[show_file file="/var/www/wp-post-common/justyy.com/cpp.php"]
英文:Understanding std::transform_reduce in Modern C++