Web Analytics
yangyang

码农兼一个普普通通小青年

All Posts


迷宫与网格寻路:四种经典算法对比

本文介绍了DFS、BFS、Dijkstra 与 A * 这四类经典的图与网格搜索算法。DFS采用深度优先、碰壁回溯的思路,借助栈实现,空间开销小,但不保证最短路径,适合只需找到任意可行路径的场景。BFS以队列逐层扩展,能在无权图中得到最短路径,属于盲目搜索,扩展范围较大。Dijkstra使用优先队列,可处理带权路径,能找到全局最小代价路线,但同样盲目扩展,在大网格中效率偏低。A*在 Dijkstra 基础上引入启发函数,结合已走代价与预估剩余距离,有方向地搜索,在满足可采纳性时可得到最优解,效率显著更高,是游戏导航、路径规划等场景的主流选择。整体上,四者从盲目到启发、从简单到高效,覆盖了从可行路径到最优带权路径的不同需求。 …

Dijkstra DFS BFS A Star Pathfinding

中金所股指期权介绍以及保证金计算

在量化交易的版图中,股指期权(Stock Index Options)不仅提供了非线性的收益结构,更是机构投资者进行波动率管理与风险对冲的核心工具。中金所(CFFEX)的股指期权合约(IO/HO/MO)不仅交易规则复杂,其保证金计算机制更是风控系统开发中的一道坎。本文从程序员的视角出发,解析期权与期货的联动逻辑,并从技术层面解决如何从 CTP 接口中计算期权合约保证金,最终构建一个兼顾盘中估算与盘后结算风控的 C# 资金计算模型。 …

CTP CFFEX MarginRate

订单簿重建引擎的架构演进与性能优化

在构建低延迟交易系统时,全速盘口(OrderBook)的实时重建是数据处理链路中计算密度最高、对延迟最敏感的环节之一。本文将详细阐述 FastMarketDataManager 组件的演进历程,分析从单线程模型到静态分片,再到基于消息队列的动态负载均衡架构的技术决策过程,重点介绍如何在保证数据严格时序的前提下,摒弃了传统的加锁同步方案,转而利用消息队列的 FIFO 特性,设计了基于控制指令(Command Pattern)的异步迁移流程,解决热点股票引发的队头阻塞(Head-of-Line Blocking)问题。 …

OrderBook tas marketdata orderbook reconstruction

使用C++和Qt从零开发一个光影边框程序

今年双十一的时候我买了一部微单相机,拍完照片后给照片添加“边框水印”变得更好看了。 在这类应用中我最喜欢的是壹印,不论是软件的界面设计,还是生成的水印风格。于是在Gemini的辅助下,我使用C++和Qt复刻了这一款类似壹印水印效果的程序。我有C#经验和一定的C++基础,但从没有使用C++和Qt开发过窗体程序。从最初依赖 FFmpeg 的臃肿工具,到现在拥有自适应纸张纹理、柔光阴影、且体积轻量的原生 C++ 应用,这个项目不仅是代码量的增加,更是对架构设计(策略模式)、性能优化(算法自研)和工程化思维(工具集成) 的一次完整实践。 …

Qt exiftool Yiyin ffmpeg Drop Shadow Outer Glow Diffuse Glow Shadow Ambient Shadow Multi-stage Downsampling Bloom Shadow

实现一个简单的基于语义的C#代码比较工具

代码比较功能在很多版本管理工具中都存在,比如Git和TortoiseSVN,Compare Beyond中也有。这个功能可以很方便的帮助我们查看代码的变更。目前这些工具都是简单的基于文本差异的比较。然而在有些时候,我们需要基于语义的比较,比如在代码中,我只是调整了方法的前后顺序、添加了一些注释、删除了一些语句之间的空格,或是将一个大的类使用partial关键字,拆分到多个源文件中。在这种情况下,传统的基于简单文本进行代码比较的方式则失去了应有的作用。我们需要保证代码的逻辑和正确定不变即可,而不关心代码的书写格式,比如行号,空格,注释,格式化这些。本文基于Roslyn实现了一个简单的基于语义的C#代码比较工具。 …

Roslyn Semantic Analysis

实现一个TCP中继器

在之前实现端口转发的几种方法这篇文章中,介绍了三种实现端口转发的方法,本质就是建立一个TCP中继: tcpReplay.jpg  TCP中继 但要完整实现一个TCP转发或者代理(Tcp Relay),还是有很多细节需要考虑。在《Linux多线程服务端编程:使用muduo C++网络库》这本书中,作者提到了以下需要考虑的问题: 建立连接。TCPRelay在接受client的连接C之后才向server发起连接S,那么在S建立之前,从C收到的数据如何处理?要不要暂存起来? 并发连接的管理。上图中只画了一个client,实际上TcpRelay可以服务多个client,这两边的并发连接如何管理,如何防止串话(cross talk?) 连接断开。client和server都可能主动断开连接。当client主动断开连接C时,TcpRelay应该立刻断开S。当server主动断开连接S时, …

tcp forward TCPIP

SSL证书的申请和部署

本网站部署在阿里云云主机的IIS服务器上,其中图片使用的是又拍云存储。出于成本考虑一直都是使用的免费的SSL证书,最开始时免费SSL证书的有效期是一年,后来期限缩短为了90天,这使得我需要每隔三个月去申请和部署一下,比较繁琐,所以这里记录一下SSL证书的申请和部署流程。 …

SSL

新疆印象之大学时光

2004年,我因3分之差与理想大学失之交臂,意外被新疆大学录取,从此与一趟40多小时的特快列车结下四年之缘。每年寒暑假,拥挤的硬座车厢、春运时通宵排队的艰辛、与摘棉工同行的独特经历,都成为我青春里最深刻的印记。在新疆大学,我遇到了许多“同病相怜”的湖北老乡。延续高中模式的大学生活里,我找到了自己的节奏:从害怕英语到凭借巨大词汇量在考研中取得85分高分;从对计算机的初步接触到独立完成融合新技术的毕业设计;从天山天池的野外实习到古尔班通古特沙漠的考察。备考研究生的日子单调而充实,通宵自习、异地听课、复试时的住宿波折,都成了奋斗路上的注脚。最终,我被华东师大录取,为这四年画上圆满句号。那些关于火车、风雪、课堂和友谊的记忆,至今仍是我生命中最珍贵的财富。 …


新疆印象之2025年南疆行

今年的8月中旬,去南疆喀什游玩了五天,四个大人一个小孩。 南疆这边喀什的高光景点就是喀什到塔县这一段的帕米尔风光,包括白沙湖、卡拉库勒湖,盘龙古道,班迪尔蓝湖,风景还是非常的壮美。 …


新疆印象之2016年北疆行

在2016年刚结婚不久,我们又一次来到了新疆。我们是在携程上订的名为“乌鲁木齐+吐鲁番+天山天池+可可托海+布尔津+喀纳斯8日7晚跟团游(4钻)·0购物0自费 含禾木 车载wifi +特色餐”的8天7晚的跟团游,包含来回机票,两个人大概2万多,时间是 2016年9月22~9月29,去机场才了解团队中大部分都是老年人。这是2016年的行程,当时到包括现在来看,这8天7晚的行程,我觉得头两天乌鲁木齐附近的吐鲁番葡萄沟、坎儿井、火焰山、交河故城、天山天池,以及最后一天回程的乌尔禾魔鬼城这些景点基本可以忽略,核心的值得玩的景点只有第四五六三天:富蕴县的可可托海,喀纳斯和禾木这些景点还是非常好看的。但是没办法跟团游就是这样,匆匆忙忙,另一方面是新疆确实很大,而且道路也不可能开的很快。尤其是从乌鲁木齐天山天池的阜康到富蕴县这一段路挺难走,有很大一部分时间都在大巴上 …