<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>彩云工程团队</title><link>https://engineering.caiyunapp.com/</link><description>Recent content on 彩云工程团队</description><generator>Hugo -- 0.143.1</generator><language>zh-cn</language><lastBuildDate>Mon, 10 Feb 2025 01:07:20 +0000</lastBuildDate><atom:link href="https://engineering.caiyunapp.com/index.xml" rel="self" type="application/rss+xml"/><item><title>超高时空分辨率的低延迟实时气温数据集</title><link>https://engineering.caiyunapp.com/posts/2024-05-13-walltapper/</link><pubDate>Mon, 13 May 2024 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/2024-05-13-walltapper/</guid><description>&lt;p>随着时代的发展，气象数据消费群体对气象数据的时空分辨率提出了越来越高的要求。然而基于当前的气象观测站的分布密度，无法直接满足用户对高时空分辨率的要求，这就必然需要使用一些额外的方法进行插值或外推计算以实现提高时空分辨率的目的。&lt;/p></description></item><item><title>构建高性能高程 API</title><link>https://engineering.caiyunapp.com/posts/2024-01-23-china-dem/</link><pubDate>Tue, 23 Jan 2024 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/2024-01-23-china-dem/</guid><description>&lt;p>在彩云科技，我们始终致力于为用户提供更高时空分辨率的气象数据。在过去这些年中，我们始终面临一个挑战：由于高程数据分辨率的限制，徒步、越野等户外活动爱好者用户经常遇到彩云提供的数据与实际感受有着明显偏差，这种情况在海拔变化剧烈的山地和高原地区尤为突出。&lt;/p></description></item><item><title>我们是如何对气温数据进行质量控制的</title><link>https://engineering.caiyunapp.com/posts/2023-10-12-temperation-qa/</link><pubDate>Thu, 12 Oct 2023 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/2023-10-12-temperation-qa/</guid><description>气温是任何一款天气 APP 都要首要展示的信息，它的重要程度不言而喻。这么重要的数据，为什么还会时不时发生异常？对它做质量控制的难点在哪里？我们应该如何保证它的可靠性？今天我们就带着这些问题一起来聊一聊气温质量控制的话题。</description></item><item><title>彩云天气地理查询优化(2): 行政区划查询</title><link>https://engineering.caiyunapp.com/posts/geo-computing-2/</link><pubDate>Sat, 28 Jan 2023 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/geo-computing-2/</guid><description>&lt;p>在彩云天气 App 和 API 里可以获取到当前经纬度的气象预警信息，比如「大风蓝色预警」。
不同国家地区的预警发布规则不一样，在中国是按照行政区划层级来发布的，其中最小到县级行政区。
所以在实现中，需要将经纬度转换成行政区划层级信息，再查找相关的预警信息。
在过去几年中，这部分模块经历了多次重构和完善，在此分享下每个版本的实现方式。&lt;/p></description></item><item><title>彩云天气地理查询优化(1): 气象站数据查询</title><link>https://engineering.caiyunapp.com/posts/geo-computing-1/</link><pubDate>Fri, 06 Jan 2023 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/geo-computing-1/</guid><description>&lt;p>我们从一个实际业务场景的谈起：&lt;/p>
&lt;blockquote>
&lt;p>如何找到离北京市海淀区 768 创意产业园最近的 K 个国家级观测站？&lt;/p>&lt;/blockquote>
&lt;p>最简单的思路是完整遍历所有候选站点，然后计算每个站点和 768 的距离，按照距离从小到大，选最多前 K 个。
这个代码并不难写。但是问题是慢。&lt;/p></description></item><item><title>彩云天气地理查询优化(0)：序</title><link>https://engineering.caiyunapp.com/posts/geo-computing-0/</link><pubDate>Fri, 02 Dec 2022 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/geo-computing-0/</guid><description>&lt;p>在彩云天气内部有全球范围成千上万个各种类型的观测站以及大量的多边形数据，支撑着彩云天气数据 API。&lt;/p>
&lt;p>那么如何在这些海量的观测站中找到用户周边的站点及行政区划信息呢？&lt;/p></description></item><item><title>投影、坐标与瓦片</title><link>https://engineering.caiyunapp.com/posts/proj-coord-tile/</link><pubDate>Wed, 23 Nov 2022 16:35:19 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/proj-coord-tile/</guid><description>一篇漫谈地图投影、坐标和瓦片的文章</description></item><item><title>通过 UberH3 正六边形划分行政区</title><link>https://engineering.caiyunapp.com/posts/uberh3-adcode/</link><pubDate>Tue, 20 Apr 2021 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/uberh3-adcode/</guid><description>通过 UberH3 正六边形聚合的方法将实际生活中的坐标转换成网格 id, 再通过网格 id 定位 adcode(行政区域信息)</description></item><item><title>《Align, Mask and Select: A Simple Method for Incorporating Commonsense Knowledge into Language Representation Models》论文讲解</title><link>https://engineering.caiyunapp.com/posts/commonsenseqa/</link><pubDate>Wed, 15 Apr 2020 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/commonsenseqa/</guid><description>本论文通过提出AMS法构造multi-choice QA数据集，基于Bert，训练更好语义理解的预训练模型，拟解决QA中词义消歧问题，并在commonsenseQA，WSC，GLUE的相关下游任务fine-tune取得sota</description></item><item><title>升级 rb 到 Python3.7</title><link>https://engineering.caiyunapp.com/posts/upgrading-rb/</link><pubDate>Fri, 09 Aug 2019 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/upgrading-rb/</guid><description>如何让 Python2 和 Python3 版本的 crc32 结果保持一致</description></item><item><title>nujson 诞生记</title><link>https://engineering.caiyunapp.com/posts/birtch-of-nujson/</link><pubDate>Fri, 26 Jul 2019 14:46:21 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/birtch-of-nujson/</guid><description>这个夏天，我们尝试将一个 Python2.7 的项目升级到 Python3.7，期间发现 NumPy 在 Python3 上出现了一些和 JSON 序列化有关的问题</description></item><item><title>GeniePath：自适应感受路径的图神经网络</title><link>https://engineering.caiyunapp.com/posts/geniepath/</link><pubDate>Thu, 30 May 2019 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/geniepath/</guid><description>GeniePath，蚂蚁金服发表于 KDD 2018，一种可扩展的能够学习自适应感受路径的图神经网络框架。</description></item><item><title>A Semaphore Killer</title><link>https://engineering.caiyunapp.com/posts/a-semaphore-killer/</link><pubDate>Wed, 23 Jan 2019 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/a-semaphore-killer/</guid><description>&lt;p>简而言之，彩云使用了 &lt;a href="https://laincloud.com/">LAIN(PaaS/Docker)&lt;/a> 部署一部分生产和开发应用，在实际使用过程中遇到了信号量泄漏 (Semaphore Leak) 的问题，于是 &lt;a href="https://twitter.com/siqing_yu">@siqing_yu&lt;/a> 写了一个 Semaphore Killer 脚本清理泄漏的信号量。&lt;/p></description></item><item><title>如何打造一个 MonitorPi</title><link>https://engineering.caiyunapp.com/posts/build-monitor-pi/</link><pubDate>Wed, 23 Jan 2019 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/build-monitor-pi/</guid><description>&lt;p>彩云使用 Grafana + InfluxDB + Telegraf 这一套监控系统，其中 Grafana 用于展示数据。平时需要把数据投屏到电视上，之前一直使用的是 VNC 远程连接，后来改为 HDMI 直连树莓派，本文会简单说一下怎么配置树莓派自动启动并全屏打开到 Grafana 对应的界面。&lt;/p></description></item><item><title>彩云天气的实时大数据流分析与处理</title><link>https://engineering.caiyunapp.com/posts/qcloud-ming/</link><pubDate>Thu, 28 Jul 2016 00:00:00 +0800</pubDate><guid>https://engineering.caiyunapp.com/posts/qcloud-ming/</guid><description/></item></channel></rss>