笔记、图表和知识管理平台Atlantis
Atlantis 是一个自托管平台,用于 Mermaid.js 图表、笔记和知识管理。采用 Next.js、Tailwind CSS 和 Shadcn UI 构建。
Atlantis 是一个自托管平台,用于 Mermaid.js 图表、笔记和知识管理。采用 Next.js、Tailwind CSS 和 Shadcn UI 构建。
《一个通用的 AI 考试备考 Prompt 模板》 《适用于任何认证考试的 AI 刷题 Prompt》 《通用型 AI 考试教练 Prompt(适用于各类考试)》 《一个适用于任何考试的 AI 备考 Prompt》 《把 AI 变成你的通用考试教练》 《我用这个 Prompt 备考各种认证考试》 《一个能用于任何考试的 AI 教练 Prompt》 《用一个 Prompt,搞定各种考试复习》 《通用考试刷题 Prompt:让 AI 当你的私人教练》 《可复用的 AI 考试训练 Prompt 模板》 《通用考试练习 Prompt:让 AI 按考试标准出题》 《一套可迁移的 AI 考试备考 Prompt》我使用了下面这个提示词来准备我的 Microsoft Azure 考试,比如 AI-900 和 DP-900,我发现它们特别有用。事实上,这个 prompt 可以用于任何类型的理论考试,并不仅限于 Azure 相关考试。例如,它也可以用来准备驾驶理论考试或 Life in the UK 考试。 你是我的 _________ 考试教练。请一次给我 60 道题(逐题给出,题型混合单选题和多选题)。在每一道题之后,我会先作答——然后你需要告诉我我的答案是否正确,并简要解释正确答案,以及为什么其他选项是错误的。请记录我答错的题目。 当最初的 60 道题完成后,请再次提问我之前答错的那些题目,直到我把所有题目都答对为止。题目需要按顺序编号(1、2、3……到 60,然后 61、62、63……),直到我全部正确回答为止。 请不要重复题目,并确保尽可能覆盖考试大纲中的各个知识点。你不需要询问我是否继续。在完成 60 道题之后,请评估我是否有通过考试的可能性。 请随机化答案选项顺序,并且不要以任何形式提示正确答案。 PS: 请将 __________ 替换为你的考试名称,例如:“Microsoft AZ-204” 原英文的Prompt:
You are my _________ Test Coach. Please give me 60 questions, one at a time (mixed with questions of single answer and multiple answers). 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 and why other answers are incorrect. 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. Please don't repeat the questions, make sure you cover as many areas of the exam topics as possible. You don't need to ask me confirmations to continue. Estimate if I can pass the test after 60 questions. Do randomize answers, and Do NOT hint answers in anyway. PS: Fill the __________ with your exam name, for example: "Microsoft AZ-204"祝你考试顺利! 比如:以下是ChatGPT在接受到这个提示词后变身为我的考试辅导教练。 [caption id="attachment_70839" align="alignnone" width="883"]
Fan-out / fan-in 指的是一种并发模式:将工作拆分为多个单元并行执行,然后在所有任务完成后进行同步。虽然它经常在无服务器(serverless)函数的语境中被提及,但这一概念并不局限于无服务器架构。
更广义地说,fan-out / fan-in 是一种通用的并发模式,适用于任何可以将任务分解为相互独立部分的场景,例如线程、进程、Actor、微服务,甚至分布式作业,并在之后将结果汇聚起来。其核心思想是在执行阶段将工作并行展开(fan-out),在收敛阶段对各个分支的输出进行协调和聚合(fan-in),而不依赖于具体的执行模型或底层基础设施。
[caption id="attachment_70812" align="alignnone" width="1653"]
Fan-out / fan-in 指的是一种并发模式:将工作拆分为多个单元并行执行,然后在所有任务完成后进行同步。[/caption]
在实际工程中,fan-out / fan-in 模式常用于提升系统吞吐量和资源利用率,尤其适合 I/O 密集型或可并行计算的场景。通过将一个复杂任务拆分为多个相互独立的子任务并同时执行,可以显著缩短整体处理时间;而在 fan-in 阶段,对各个子任务的结果进行统一汇总、排序或合并,则有助于保持业务逻辑的完整性与一致性。不过,这种模式也需要注意并发控制、错误处理以及超时与重试机制,否则容易在高并发场景下引入资源争用、级联失败或结果不一致等问题。因此,在设计和实现 fan-out / fan-in 架构时,应结合具体场景权衡并发度、系统复杂度与稳定性。
[show_file file="/var/www/wp-post-common/justyy.com/design.php"]
英文:System Design: Fan-out/Fan-in Concurrency Pattern
Anchor 是一个注重速度、隐私和可靠性的离线优先、自托管笔记应用。
jotty·page 是一款轻量级但功能强大的自托管应用程序,用于管理您的个人、基于文件的笔记和清单。
鞠建东教授是中国清华大学经济管理学院教授、中国金融四十人论坛成员,其学术生涯兼具深厚的中国根基与国际视野。他早 […]
| 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!
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++以前看别人搞的各种docker应用,甚是羡慕,奈何自己水平有限,总是无法完成docker应用的安装。 现在我用好几个机器练习安装docker,已经有了一点眉目,虽然还很生涩,但是总比不会要强,我自己的数据我自己做主。 下面就是我部署的docker应用: mtab mTab是一款完全免费、无广告的浏览器书签助手。它的设计理念就是要让我们这些每天都要和浏览器打交道的人,能够更加轻松地管理自己的网页收藏。说白了,就是要帮我们把乱糟糟的书签变得井井有条,让我们找起东西来不再抓瞎! lsky_pro Lsky Pro+ 是一个使用 PHP 语言,采用 Laravel 框架开发的一款 Web […]
上周,在《特惠VPS突遭强制清退》一文的评论中,友博“大致”问我最终决定买了哪家的 VPS,我回复是购买了 CC 家:刚好在"网络星期一" (Cyber Monday),CloudCone 推出一款相对低价的套餐 CM-25-VPS-1,年付9.99美元,性价比不错,可惜当前已售罄。
CM-25-VPS-1 套餐详情: 1 vCPU Core 1 GB Dedicated RAM 50 GB of SSD Cached Disk On RAID-10 Configuration 1 TB/Mo Bandwidth at 1 Gb/s 1x IPv4 and 3x IPv6 Datacenter: DC1, Los Angeles, USA Lifetime Recurring Offer
下单并付款,稍等片刻机器已开通。运气不错,VPS 盲盒开出【 74.48.*.* 】IP段,根据网友反馈,该IP段可以完美解锁美区的各项跨国服务。另外,还可以在后台自助免费开通三个 IPv6 地址。
近日,了解到不少 VPS 爱好者使用一款名为“融合怪”的VPS服务器测评脚本。已整合诸多第三方测试脚本进行优化融合,一条命令搞定 VPS 基础信息、CPU测试、内存硬盘跑分、流媒体解锁测试、IP质量/安全信息查询、邮件端口测试、上游及回程路由线路检测、三网路由测试、网速测试及三网 Ping 值测试等项目。
刚好,我就“融合怪”脚本来测试新购买的 CloudCone 的 VPS——
export noninteractive=true && curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh && ./goecs.sh install && goecs #针对海外服务器-无加速
export noninteractive=true && curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh && ./goecs.sh install && goecs #针对国际/国内服务器-带CDN加速
硬件很一般,有过度超售之嫌疑,不适合作为建站机。非纯 SSD ,而是固态缓存的机械硬盘,网友们戏称 CloudCone 的硬盘为“石头盘”。
--------------------------------------系统基础信息-------------------------------------- CPU 型号: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz CPU 数量: 1 Virtual CPU(s) CPU 缓存: L1: 64 KB / L2: 256 KB / L3: 30 MB GPU 型号: GD 5446 AES-NI : Enabled VM-x/AMD-V/Hyper-V : Enabled 内存 : 312.29 MB / 969.46 MB 气球驱动: Undetected 内核页合并: Undetected 虚拟内存 Swap: 0.00 MB / 1022.98 MB 硬盘空间: 3.60 GB / 48.14 GB [7.5%%] /dev/vda1 - / 启动盘路径: /dev/vda1 系统 : ubuntu 22.04 [x86_64] 内核 : 5.15.0-46-generic 系统在线时间 : 0 days, 00 hours, 03 minutes 时区 : UTC 负载 : 0.04 / 0.07 / 0.03 虚拟化架构: KVM NAT类型 : Full Cone TCP加速方式: cubic IPV4 ASN: AS35916 MULTA-ASN1 IPV4 Location : Los Angeles / California / United States IPV6 ASN: AS35916 MULTA-ASN1 IPV6 Location : Los Angeles / California / United States IPv6 子网掩码 : /64 --------------------------------CPU测试-通过sysbench测试-------------------------------- 1 线程测试(单核)得分: 477.95 ---------------------------------内存测试-通过stream测试---------------------------------- Function Best Rate MB/s Avg time Min time Max time Copy:6522.3 0.025541 0.024531 0.025913 Scale:10056.6 0.016271 0.015910 0.016894 Add: 9918.2 0.025001 0.024198 0.028126 Triad:10232.4 0.024645 0.023455 0.026655 -----------------------------------硬盘测试-通过fio测试----------------------------------- 测试路径块大小 读测试(IOPS) 写测试(IOPS) 总和(IOPS) /root 4k 3.51 MB/s(877) 3.54 MB/s(884) 7.05 MB/s(1761) /root 64k 58.58 MB/s(915) 59.12 MB/s(923) 117.69 MB/s(1838) /root 512k 155.46 MB/s(303) 163.72 MB/s(319) 319.18 MB/s(622) /root 1m 156.24 MB/s(152) 166.65 MB/s(162) 322.89 MB/s(314)
这个IP段不错,能解锁 Netflix 、Disney+、Spotify、ChatGPT、Sora、Gemini等几乎所有美国主流流媒体和AI服务网站。
--------------------------------------跨国平台解锁-------------------------------------- IPV4: ============[ 跨国平台 ]============ Apple:YES (Region: USA) BingSearch:YES (Region: US) Claude: YES Dazn: YES (Region: US) Disney+:YES (Region: US) Gemini:YES (Region: US) GoogleSearch:YES Google Play Store:YES (Region: US) IQiYi:YES (Region: US) Instagram Licensed Audio:YES KOCOWA:YES MetaAI:NO (GeoBlocked) Netflix:YES (Region: US) Netflix CDN:US OneTrust:YES (Region: US CALIFORNIA) ChatGPT: YES (Region: US) Paramount+:YES Amazon Prime Video:YES (Region: US) Reddit: YES SonyLiv:YES (Region: US) Sora: YES (Region: US) Spotify Registration:YES (Region: US) Steam Store:YES (Community Available) (Region: US) TVBAnywhere+:YES (Region: US) TikTok:YES (Region: US) Viu.com:YES Wikipedia Editability:YES YouTube Region:YES YouTube CDN:LAX --------------------------------------IP质量检测-------------------------------------- 以下为各数据库编号,输出结果后将自带数据库来源对应的编号 ipinfo数据库 [0] | scamalytics数据库 [1] | virustotal数据库 [2] | abuseipdb数据库 [3] | ip2location数据库 [4] ip-api数据库 [5] | ipwhois数据库 [6] | ipregistry数据库 [7] | ipdata数据库 [8] | db-ip数据库 [9] ipapiis数据库 [A] | ipapicom数据库 [B] | bigdatacloud数据库 [C] | dkly数据库 [D] | ipqualityscore数据库 [E] ipintel数据库 [F] | ipfighter数据库 [G] | fraudlogix数据库 [H] | cloudflare数据库 [I] | IPV4: 安全得分: 信任得分(越高越好): 0 [8] VPN得分(越低越好): 100 [8] 代理得分(越低越好): 100 [8] 社区投票-无害: 0 [2] 社区投票-恶意: 0 [2] 威胁得分(越低越好): 100 [8] 欺诈得分(越低越好): 84 [E] 滥用得分(越低越好): 0 [3] ASN滥用得分(越低越好): 0.0013 (Low) [A] 公司滥用得分(越低越好): 0 (Very Low) [A] 威胁级别: low [9] 流量占比: 真人(越高越好)22% [I] 机器人(越低越好)77% [I] 黑名单记录统计:(有多少黑名单网站有记录): 无害记录数: 0 [2] 恶意记录数: 0 [2] 可疑记录数: 0 [2] 无记录数: 95 [2] 安全信息: 使用类型: business [8 9] isp [A] hosting [0 3 7 C] 公司类型: hosting [0 7] isp [A] 浏览器类型: 主流71% 其他28% [I] 设备类型: 桌面55% 移动44% 其他0% [I] 操作系统类型: 主流92% 其他7% [I] 是否云提供商: Yes [7] 是否数据中心: No [6 8 A] Yes [0 5 C G] 是否移动设备: No [5 A C G] Yes [E] 是否代理: No [0 4 5 6 7 8 9 A C] Yes [E G] 是否VPN: Yes [E G] No [0 6 7 A C] 是否TorExit: No [7] 是否Tor出口: No [7] 是否网络爬虫: No [9 A E] 是否匿名: No [6 7] Yes [8] 是否攻击者: No [7 8] 是否滥用者: No [7 8 A C E] 是否威胁: No [7 8 C] 是否中继: No [0 7 8 C] 是否Bogon: No [7 8 A C] 是否机器人: No [E] DNS-黑名单: 314(Total_Check) 0(Clean) 0(Blacklisted) 0(Other) IPV6: 安全得分: 滥用得分(越低越好): 0 [3] ASN滥用得分(越低越好): 0.0013 (Low) [A] 公司滥用得分(越低越好): 0 (Very Low) [A] 流量占比: 真人(越高越好)22% [I] 机器人(越低越好)77% [I] 安全信息: 使用类型: hosting [3] isp [A] 公司类型: isp [A] 浏览器类型: 主流71% 其他28% [I] 设备类型: 桌面55% 移动44% 其他0% [I] 操作系统类型: 主流92% 其他7% [I] 是否数据中心: No [A] Yes [G] 是否移动设备: No [A G] 是否代理: No [A] Yes [G] 是否VPN: Yes [G] No [A] 是否Tor: No [3 A] 是否网络爬虫: No [A] 是否滥用者: No [A] 是否Bogon: No [A] DNS-黑名单: 314(Total_Check) 0(Clean) 0(Blacklisted) 314(Other)
尤其在晚上8-11点晚高峰期间,访问速度不错,比我之前使用的俄罗斯的 VPS 延迟更高、但速度反而更快!
------------------------------------上游及回程线路检测-------------------------------------
AS174 AS2914 AS6939
Cogent NTT Hurricane Electric
Tier1 Global Tier1 Global Tier2
北京电信v4 219.141.140.10 电信163 [普通线路]
北京联通v4 202.106.195.68 联通4837 [普通线路]
北京移动v4 221.179.155.161 移动CMI [普通线路]
上海电信v4 202.96.209.133 电信163 [普通线路]
上海联通v4 210.22.97.1 联通4837 [普通线路]
上海移动v4 211.136.112.200 移动CMI [普通线路]
广州电信v4 58.60.188.222 电信163 [普通线路]
广州联通v4 210.21.196.6 检测不到回程路由节点的IPV4地址
广州移动v4 120.196.165.24 移动CMI [普通线路]
成都电信v4 61.139.2.69 电信163 [普通线路]
成都联通v4 119.6.6.6 联通4837 [普通线路]
成都移动v4 211.137.96.205 移动CMI [普通线路]
北京电信v6 2400:89c0:1053:3::69 电信163 [普通线路]
北京联通v6 2400:89c0:1013:3::54 联通4837 [普通线路]
北京移动v6 2409:8c00:8421:1303::55 移动CMIN2 [精品线路] 移动CMI [普通线路]
上海电信v6 240e:e1:aa00:4000::24 电信163 [普通线路]
上海联通v6 2408:80f1:21:5003::a 联通4837 [普通线路]
上海移动v6 2409:8c1e:75b0:3003::26 移动CMI [普通线路]
广州电信v6 240e:97c:2f:3000::44 电信163 [普通线路]
广州联通v6 2408:8756:f50:1001::c 联通4837 [普通线路]
广州移动v6 2409:8c54:871:1001::12 移动CMIN2 [精品线路] 移动CMI [普通线路]
准确线路自行查看详细路由,本测试结果仅作参考
同一目标地址多个线路时,检测可能已越过汇聚层,除第一个线路外,后续信息可能无效
-------------------------------------三网回程路由检测-------------------------------------
[NextTrace API] preferred API IP - 104.26.13.151 - 209.01ms - Misaka.BER
广州电信 - ICMP v4 - traceroute to 58.60.188.222, 30 hops max, 52 byte packets
1.00 ms AS35916 * 美国, 加利福尼亚, 洛杉矶, multacom.com
2.37 ms AS35916 * 美国, 加利福尼亚, 洛杉矶, multacom.com
3.72 ms AS2914 [NTTA-128] 美国, 加利福尼亚, 洛杉矶, gin.ntt.net
1.04 ms AS2914 [NTT-BACKBONE] 美国, 加利福尼亚, 洛杉矶, gin.ntt.net
10.54 ms AS2914 [NTT-BACKBONE] 美国, 加利福尼亚, 圣何塞, gin.ntt.net
9.09 ms AS2914 [NTT-BACKBONE] 美国, 加利福尼亚, 圣何塞, gin.ntt.net
14.56 ms AS4134 [CHINANET-US] 美国, 加利福尼亚, 圣克拉拉, chinatelecom.com.cn 电信
155.71 ms AS4134 [CHINANET-BB] 中国, 广东, 广州, chinatelecom.com.cn
157.08 ms AS4134 [CHINANET-BB] 中国, 广东, 广州, chinatelecom.com.cn 电信
*
167.34 ms AS134774 [CHINANET-GD] 中国, 广东, 深圳, chinatelecom.cn 电信
*
广州联通 - ICMP v4 - traceroute to 210.21.196.6, 30 hops max, 52 byte packets
1.05 ms AS35916 * 美国, 加利福尼亚, 洛杉矶, multacom.com
1.03 ms AS35916 * 美国, 加利福尼亚, 洛杉矶, multacom.com
3.26 ms AS2914 [NTTA-128] 美国, 加利福尼亚, 洛杉矶, gin.ntt.net
1.35 ms AS2914 [NTT-BACKBONE] 美国, 加利福尼亚, 洛杉矶, gin.ntt.net
1.16 ms AS2914 [NTT-BACKBONE] 美国, 加利福尼亚, 洛杉矶, gin.ntt.net
0.88 ms AS701 [UU-152] 美国, 加利福尼亚, 洛杉矶, verizon.com
0.83 ms * [NSFNET-T3] 美国, 加利福尼亚, 洛杉矶
198.77 ms AS701 [UU-152] 美国, 加利福尼亚, 洛杉矶, verizon.com
188.23 ms AS4837 [CU169-BACKBONE] 中国, 广东, 广州, chinaunicom.cn 联通
189.50 ms AS4837 [CU169-BACKBONE] 中国, 广东, 广州, chinaunicom.cn 联通
*
176.67 ms AS17623 [APNIC-AP] 中国, 广东, 深圳, chinaunicom.cn 联通
166.67 ms AS17623 * 中国, 广东, 深圳, chinaunicom.cn 联通
广州移动 - ICMP v4 - traceroute to 120.196.165.24, 30 hops max, 52 byte packets
1.10 ms AS35916 * 美国, 加利福尼亚, 洛杉矶, multacom.com
2.00 ms AS35916 * 美国, 加利福尼亚, 洛杉矶, multacom.com
10.30 ms AS2914 [NTTA-128] 美国, 加利福尼亚, 洛杉矶, gin.ntt.net
0.83 ms AS2914 [NTT-BACKBONE] 美国, 加利福尼亚, 洛杉矶, gin.ntt.net
105.81 ms AS2914 [NTT-BACKBONE] 日本, 东京都, 东京, gin.ntt.net
*
158.33 ms AS2914 [NTT-BACKBONE] 中国, 香港, gin.ntt.net
162.90 ms AS2914 [NTT-BACKBONE] 中国, 香港, gin.ntt.net
158.88 ms AS2914 [NTT-GLOBAL] 中国, 香港, gin.ntt.net
156.34 ms AS58453 [CMI-INT] 中国, 香港, cmi.chinamobile.com 移动
166.51 ms AS58453 [CMI-INT] 中国, 广东, 广州, cmi.chinamobile.com 移动
169.17 ms AS9808 [CMNET] 中国, 广东, 广州, chinamobileltd.com 移动
176.66 ms AS9808 [CMNET] 中国, 广东, 广州, chinamobileltd.com 移动
*
165.89 ms AS9808 [CMNET] 中国, 广东, 广州, chinamobileltd.com 移动
167.95 ms AS9808 [CMNET] 中国, 广东, 广州, chinamobileltd.com 移动
170.17 ms AS56040 [APNIC-AP] 中国, 广东, 深圳, gd.10086.cn 移动
-------------------------------------PING值检测--------------------------------------
TG-DC1 MIA USA 58 | TG-DC3 MIA USA 58 | TG-DC4 AMS NL 150 |
TG-DC2 AMS NL 151 | TG-DC5 Singapore 175 |
CNN 13 | Twitch 17 | Sora 19 |
Claude 19 | Apple 21 | Azure 28 |
BBC 29 | DisneyPlus 31 | NYTimes 36 |
DigitalOcean 38 | OpenAI 39 | Wikipedia 43 |
Netflix 66 | Google 71 | MetaAI 76 |
Gemini 83 | AWS 84 | Bing 106 |
GitHub 107 | Docker Hub 111 | Instagram 112 |
Reddit 113 | Microsoft 117 | Amazon 122 |
GitLab 176 | eBay 178 | YouTube 179 |
StackOverflow 186 | Facebook 204 | Spotify 212 |
Bilibili 217 | ViuTV 225 | AliExpress 243 |
Twitter/X 269 | Google Cloud 304 | iQIYI 310 |
PrimeVideo 357 | TikTok 392 | TVB Anywhere 622 |
Steam 1912 |
--------------------------------------就近节点测速--------------------------------------
位置 上传速度 下载速度 延迟 丢包率
Speedtest.net 756.05 Mbps 838.81 Mbps 757.348μs N/A
洛杉矶 623.40 Mbps 750.41 Mbps 1.621001ms N/A
日本东京 438.03 Mbps 66.37 Mbps 110.051772ms N/A
联通上海5G 25.93 Mbps 0.02 Mbps 190.198559ms N/A
电信浙江 1.09 Mbps 47.54 Mbps 168.561535ms N/A
电信Suzhou5G 7.24 Mbps 88.40 Mbps 190.003686ms N/A
移动Suzhou 1.22 Mbps 0.35 Mbps 299.405527ms N/A
----------------------------------------------------------------------------------
前几天,收到一份俄文的电子邮件,看起来不像是诈骗邮件,我的确在这家俄罗斯云服务商 EdgeCenter 有2台特惠类VPS。因我不懂俄文,让AI将俄文内容转译中文——
尊敬的客户:
现通知您,位于符拉迪沃斯托克和哈巴罗夫斯克数据中心的虚拟服务器存档资费方案将于2025年12月25日起停止服务。涉及的存档资费方案包括:
• KVM-SSD-0-RC-OLD
• KVM-SSD-0-RC-OLD2022
• KVM-SSD-1-RC-OLD
• KVM-SSD-1-RC-OLD2022
• KVM-SSD-0-VL-OLD
• KVM-SSD-1-VL-OLD为避免服务中断,请提前迁移至现行资费方案。2025年12月25日之后将无法续订旧版(存档)资费方案。
资费迁移指南:
• 请通过官网查看现行资费方案
• 可通过用户专区或邮件联系EdgeCenter 技术支持团队快速办理迁移我们的专家将协助您:
•选择合适的资费方案
•安排升级时间
•实施无缝服务迁移(确保业务连续运行)。建议您提前联系,以便安排最佳迁移时段,最大限度减少业务中断。服务时限说明:
• 即将到期的资费方案在已付费周期内仍可正常使用
• 付费周期结束后,基于存档资费方案的服务将自动终止若您不计划迁移:
• 如不同意或无法迁移至现行资费方案,您有权终止服务
• 基于即将到期资费方案的服务将持续至当前付费周期结束,届时服务将自动关闭感谢您的理解与支持!
EdgeCenter 团队敬上
如有疑问,请联系技术支持
我在2020年4月就撰文《Gcore伯力VPS推荐及支付宝付款教程》,介绍过这家VPS,前几年的速度很快,在线看高清视频也非常流畅,但没多久,就关闭了支付宝/微信的充值方法,仅限俄国本地支付渠道进行付款。
俄罗斯从2022年初起对乌克兰发起的军事入侵,导致包含俄罗斯VPS在内的部分网站被美国多家公司封锁,如“X”、Facebook、Instagram、Steam等网络服务无法正常使用,导致使用效果大打折扣,沦为鸡肋。
如今,符拉迪沃斯托克(海参崴)和哈巴罗夫斯克(伯力),俄罗斯远东地区两个主要城市毗邻中国,下架原先88元/每月特惠套餐。对国人VPS玩家来说,并不是一件好事,而当前套餐,最低配1核/512MB内存/20GB SSD存储/1000GB流量竟然需要1005.98卢布,两者价差11倍有余。
看到我在 EdgeCenter 尝试手工续期,尝试多次均提示“服务有效期截止日期:2025年12月25日。您无法续订超过该指定日期的服务。”。算了,近日还是“黑色星期五”(Black Friday)和“剁手星期一”(Cyber Monday)期间,还是换台美国的小鸡吧,不和俄罗斯公司玩了。你们说,是买台 RackNerd 的洛杉矶 DC02 或 DC03 服务器,还是买 CloudCone 洛杉矶 DC2 服务器好?
很早之前博客用过iconfont字体图标,没错,就是左下角的小火箭,惊叹于它的矢量特性、多平台适用性及易维护等 […]
原先的阿里云免费证书政策又悄悄调整了,只给3个月有效期,如果想要省事用12个月的,那么请交68元升级为个人测试 […]
Parquet 文件入门 Python 读写 Parquet 文件实战 大数据存储优化:Parquet 格式解析 Python 数据分析必备:Parquet 文件处理技巧 列式存储揭秘:Parquet 文件与性能优化 使用 Python 和 PyArrow 处理嵌套 Parquet 数据 从 CSV 到 Parquet:Python 数据格式转换教程
pandas 和 pyarrow(或 fastparquet):
pip install pandas pyarrow
pandas 和 pyarrow 读取 Parquet 文件:
import pandas as pd
import pyarrow.parquet as pq
# Parquet 文件路径
file_path = "example.parquet"
# 读取 Parquet 文件到 DataFrame
df = pd.read_parquet(file_path)
# 显示前 5 行
print(df.head())
import pandas as pd
# 创建示例 DataFrame
data = {
"name": ["Alice", "Bob", "Charlie"],
"age": [25, 30, 35],
"city": ["London", "Paris", "New York"]
}
df = pd.DataFrame(data)
# 保存为 Parquet
df.to_parquet("output.parquet", engine="pyarrow", index=False)
pyarrow 直接读取:
import pyarrow.parquet as pq
from io import BytesIO
# 直接读取 Parquet 文件
table = pq.read_table("example.parquet")
df = table.to_pandas()
print(df.head())
pandas 和 pyarrow,你可以轻松地读取、写入并处理 Parquet 文件,用于数据分析、ETL 流程和大数据应用。
[show_file file="/var/www/wp-post-common/justyy.com/python.php"]
英文:Introduction to Parquet Files: Read & Write using Python使用原子 TAS 指令实现自旋锁 Implementing a Spinlock Using the Atomic TAS Instruction 从零实现自旋锁:基于 TAS 的最小同步原语 Building a Spinlock from Scratch with Atomic TAS 用 test-and-set 实现最简单的互斥锁 Implementing a Minimal Mutex Using Test-and-Set 自旋锁的底层原理:TAS、原子性与忙等待 Inside Spinlocks: TAS, Atomicity, and Busy Waiting 原子操作与自旋锁:用 C 语言实现线程同步 Atomic Operations and Spinlocks: Thread Synchronization in C 从原子指令到锁:全面理解 TAS 和自旋锁 From Atomic Instructions to Locks: A Complete Guide to TAS and Spinlocks 动手写一个自旋锁:tryLock / lockAcquire / lockRelease 全实现 Hands-On Spinlock Implementation: tryLock, lockAcquire, and lockRelease 你的第一个自旋锁:基于 C 语言的 TAS 实现 Your First Spinlock: A TAS-Based Implementation in C 原子交换与线程互斥:自旋锁实现指南 Atomic Exchange and Thread Mutual Exclusion: A Guide to Implementing Spinlocks假设我们有一个 TAS(Take-And-Set)函数。该操作返回内存中原来的值,并以原子方式将其替换为新值。原子性(atomicity)意味着没有其他线程能够观察到中间状态;整个读-写操作是一体不可分的。 在 C++ 中,标准库函数
std::exchange 在逻辑上表现相同,但它不是原子操作。同步原语需要硬件级别的原子性。
int TAS(int* memory, int newVal) {
int old = *memory;
*memory = newVal;
return old;
}
我们想使用这个原语来实现一个简单的自旋锁,包括:
lockAcquire()lockRelease()
typedef struct {
int lock;
} lockType;
typedef struct {
int val;
} threadArgType;
void threadFunc(void* arg) {
lockAcquire((static_cast<lockType*>arg)->lock);
(static_cast<threadArgType*>arg)->val++;
lockRelease((static_cast<lockType*>arg)->lock);
}
tryLocktryLock 函数尝试获取锁一次。如果锁为空(值为 0),TAS 将其设置为 1 并返回原值(0)。如果锁已被占用,TAS 返回 1。tryLock 函数是非阻塞的——它会立即返回。
因此 tryLock() 只有在 TAS 返回 0 时才会成功:
enum {
UNLOCKED = 0,
LOCKED = 1
}
int tryLock(lockType* lock) {
// 如果之前已锁定返回 1,如果之前未锁定返回 0
int old = TAS(lock->lock, LOCKED);
return (old == UNLOCKED); // true (1) = 成功获取锁
}
lockAcquire()tryLock() 成功。这称为 自旋锁,因为 CPU 会忙等待。必要时可以加入短暂的 sleep。例如,sleep(0) 并不会真正暂停执行,而是让出 CPU,允许其他线程运行。
它通常用于实现跨线程的互斥自旋锁。
void lockAcquire(lockType* lock) {
while (!tryLock(lockType* lock)) {
// 自旋直到锁可用
}
}
另一种实现:
void lockAcquire(lockType* lock) {
do {
if (tryLock(lockType* lock)) {
break;
}
} while (1);
}
展开 tryLock:
void lockAcquire(lockType* lock) {
do {
int old = TAS(lock->lock, LOCKED);
// 无论锁是否已被获取,锁都已设置为 LOCKED
if (old == UNLOCKED) {
break;
}
} while (1);
}
这是使用 TAS 实现的最简单方法。在实际系统中,我们可能会加入 pause 指令或退避策略,但基本思路是相同的。
lockRelease()
void lockRelease(lockType* lock) {
TAS(lock->lock, UNLOCKED);
}
或者使用简单的原子存储也足够,但由于 TAS 是我们唯一的工具,我们重用它。请注意,在这里重复释放锁是安全的,因为再次将其设置为 UNLOCKED=0 不会产生副作用。
tryLock() 尝试lockAcquire() 自旋锁lockRelease() 解锁操作