- 博客(243)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注

原创 小学阶段计算机编程启蒙闲谈
最近闲来和一位退休的小学老师聊天。他教数学,兼任信息学老师,便聊到小学阶段的计算机编程启蒙。聊的很有兴趣,也感慨科技的发展。1 第一代儿童编程启蒙改革开放之后,邓爷爷提出,计算机要从娃娃抓起。小学最早一批计算机教学,使用的是中华学习机,主要教学内容是计算机操作、打字以及简单的编程(LOGO、BASIC)。在教学实践中,由于缺少图形化的编程教学工具,教育工作者考虑到学生语文、数学,尤其是英语(笔.........
2020-01-30 21:52:58
3622
1

原创 浅谈普通大专院校的计算机基础教学注意事项
笔者陆续在普通大专、本科、职业技术院校从事计算机基础学科教学多年,对如何提高学生自身的主观能动性,做好计算机能力教学有很多思考与尝试。为师者的坚持我们几个教学一线的老师,基本坚持亲自动手做教学实验素材,并把并不充裕的研究金费用到刀刃上。指导学生学到东西的同时,更重要的是教学生尽快适应更高台阶的需求,让高考并不是很顺利的学子们,能够抓紧宝贵的3~4年机遇,学到真本领、成就自己。要么尽快适应职......
2018-06-13 22:12:02
851
5

原创 基础软件国产化闲谈
现代软件是高度国际化的,在互联网上,传播、发布易如反掌。我们普通人更不会不去关心这些东东都是哪个国家的。事实上,很多时候真的说不清楚,开源项目有各个国家的团队参与,那么,为什么还要再扯国产化这个蛋疼的话题呢?笔者认为,软件国产化讲的是“基础软件国产化”,基础软件是孕育大师的舞台,基础软件和开源社区紧密绑定,基础软件改善行业环境。...
2016-08-29 20:55:00
8340
3

原创 穿越时空的纪念册
整理屋子,故纸堆中翻出了93年的电脑报合订本,偶有兴趣的翻看了一下,一不小心就荒废了一下午。跟随着编辑的脚步,脑海中记忆的门缓缓的开启了。 还记得SPDOS+WPS吗?我是93年在中学机房接触SPDOS 1.0 + WPS的,坐在长城单色显示器边,战战兢兢地输入“SPDOS”,"B:","WPS",“西山DOS”系统便启动了。当时特别喜欢GW-Basic, QB...
2012-07-04 00:10:10
5248
20
原创 进亦忧,退亦忧,Github Copilot 集成进入 Visual Studio 带来的思考
未来30年的开发变革,与过去30年相比,是指数函数才能勉强描述的趋势。AI的发展已经到了一个拐点,无论是个人还是公司,如果不去主动拥抱新的变化,必然会被时代淘汰。煮出“AI大餐”的米,是基础学科软件API、开源仓库。缺少这些米,要煮出好饭就是巧妇难为无米之炊。国内企业在去全球化趋势下想要赶超,可能必须跳出追随思维,搞出自主学习和增殖的硅基生命才有希望。
2023-11-12 14:16:52
1389
2
原创 使用MSYS2的静态Qt版本进行Widgets项目编译时需要注意的问题
需要编译一个静态版本的应用程序,并用upx进行压缩,以便减少携带的动态链接库,生成每个文件不超过10MB的轻量级绿色发布包。使用动态库不利于发布。准备发布的环境,是学校的教学中心的学生计算机。学生计算机的每一台机器都可能安装有不同版本的Qt,且时常污染环境变量(PATH),导致链接了其他版本Qt的程序启动时遇到问题。不能为每一种Qt发布包编译一个发行版。本文介绍使用msys2编译静态Qt6程序的注意事项。
2023-10-29 14:39:36
225
原创 Qt Signals & Slots VS QEvents - Qt跨线程异步操作性能测试与选取建议
Qt跨线程异步消息用信号-槽还是Event?他们与直接函数调用的性能比较如何?我们通过对taskBus实时性改造中遇到的测试进行讲解,对比信号-槽与事件机制在多线程POSTMsg上的性能差异。尤其是范例代码对1-多、多-1的信号-槽连接分别进行测试。测试发现,事件调用的开销与单线程直接调用几乎一样。单点信号-槽调用性能是直接调用的50~80%左右,若槽很多,则性能直线下降。
2023-10-23 21:54:25
227
原创 现场工程师实录: 提高服务器套接字缓存解决大流量 FTP上传丢尾问题
FTP是一种非常常用的文件传输工具。在企业中,很多大流量的数据依靠FTP传输。本BUG就是在峰值高流量FTP传输时遇到的问题。在默认的32KB套接字缓存下,并发TCP传输时FTP软件来不及接收数据。修改缓存为 50MB,问题解决。
2023-09-26 18:44:52
467
原创 地理测绘基础知识(6) 照射距离/俯仰等值线计算
上一篇文章中,我们采用HPR坐标系里的向量旋转,在地表绘制了这样的螺旋线:在复杂多样的现实应用需求中,还有一种更为普遍的计算需求,就是求取地表到全向光源的距离为D的所有点的集合(用多边形组成的近似椭圆区域)。本文在椭球模型下,讨论并实现了一类等值线计算算法。根据给定的投影朝向,获得朝向上的等值线的经纬度坐标。
2023-09-10 10:26:36
147
原创 本是同根生-双数据库集群keepalived virtual_route_id冲突导致连接故障
一企业近期陆续开始升级办公与大数据系统,新的承包商。原有的数据库是某国内大品牌A,现在新的功能准备陆续迁移到大品牌B上。A,B数据库都源自postgresql,且采用同样的 keepalived配置,导致子网内的 虚拟路由ID冲突。
2023-09-06 19:04:55
268
1
原创 地理测绘基础知识(5) 由光源矢量发起的照射计算
我们解决了照射计算的基本模型关系,并能够根据手电的位置指向,在地表求取光斑。但是,前文使用的是设置探针求取场强的点求取,对于绘制地表的等值线包络图、求取地表包线的具体解析情况,就不够用了。使用单点的方法计算量大,且步长不容易控制。本文给出基于向量旋转与交汇的计算算法。
2023-09-05 10:30:00
89
原创 地理测绘基础知识(4) 由地表探针发起的照射计算
照射计算,是一种常用的三维几何计算。已知一个光源的光强图,计算光源投射到地表各处的功率密度。这种计算需求可以直观的理解为计算已知位置、指向、聚光特性的手电筒,计算地表某地点强度。本文的推导涉及很多旋转,很容易出错和糊涂。当时刚刚毕业时,通宵推导、用Turbo C花了很大力气实现,结果笔记、程序都找不到了。现在已经白发丛生,从头重温一遍,也很是有趣。本推导可能存在符号反转等错误,等笔者后续做更有意思的场景时,不断验证才能更正。大家千万不要把这个代码真拿去仿真去了,十有八九会踩坑(-!
2023-09-02 13:57:09
127
原创 地理测绘基础知识(3)-观测与遮挡
在上一篇文章中,我们介绍了椭球模型下的一系列基础的坐标操作。本节,介绍观测与遮挡问题。观测主要用于从观察点A观测大地标准点B,用来解决观测的仰角、方位角与大地坐标系之间的关系。在没有GPS卫星的时代,为了测量一个位置的坐标,往往会设置多个采样点,不断测角、测距、测气压,“跑断腿”。在现代,这种基于方位俯仰的测量技术已经用的不多了,但方位俯仰的计算还是很有用的。遮挡问题和观测是同一个问题,解决的是从A点能不能看到B的问题。有时候计算A,B的共视问题时用的很多,尤其是其中一方为高山或者飞机时。
2023-08-18 11:24:02
178
原创 地理测绘基础知识(2)-椭球最短距离计算
本篇,主要介绍已知A\B两个点的经纬度,如何求取椭球上的最短距离、路径。要讨论方向,会引出两个概念。第一个是切平面坐标系,这是讨论"方向"的基础。第二个是运动,即考虑不同时刻、不同位置之间的关系与变化规律。
2023-08-13 21:06:08
304
原创 地理测绘基础知识(1) 坐标系经纬度与ECEF直角坐标的基本换算
我们目前最常用的全球坐标系是WGS-84坐标系,各种手机、地图基本用经纬度来标记位置。然而,经纬度对于空间的计算是很复杂的,需要很多三角函数操作。平面直角坐标系利用向量的运算,可以非常方便的计算角度、距离等参数,在实际应用中往往作为中间计算的工具。目前用到的很多GIS、遥感与测绘工具里都有这种功能,比如利用 libproj、RTK等工具,直接进行转换。为了教学方便,我们还是从头开始,实现这这种坐标的转换。
2023-08-11 21:00:34
802
原创 现场工程师宝典-流式处理的异常现象以及提高吞吐能力的常见优化策略
流式处理区别于按包处理,指的是对处理者而言,面对的是逻辑上无头无尾的数据流。因此,在提取数据流中的包时,就需要遵循其内在的格式,进行头部捕获、提取、校验。然而,如果不考虑TCP等流式数据的异常情况,而简单的编程,会在性能、稳定性上踩坑。本人作为资深现场工程师,协助开发团队处理过各种千奇百怪的流式处理问题,本文把其中较为常见的一并总结一下,希望对避坑有所帮助。
2023-07-07 20:08:48
266
原创 避免滥用Qt信号与槽——改进taskBus 平台以吞吐20M IQ采样带宽
软件无线电平台是一款依靠 stdin-stdout进行数据吞吐的教学平台。在平台创建之初,主要使用 RTL-SDR进行简单的窄带接收应用,并没有考虑采样率超过1.8M的情况。引入 USRP B210/B205mini后,采样率瞬间提高到2M以上,此时,使用信号与槽进行吞吐时,性能问题就暴露无遗了。本文详细介绍如何该平台的实现问题,以及补救策略。补救后,双路可直接吞吐20MHz采样率的16bit IQ信号。
2023-06-24 20:33:52
1131
原创 基于机器学习的内容推荐算法及其心理学、社会学影响闲谈
基于机器学习的内容推荐算法目前在各类内容类APP中使用的非常普遍。在购物、时尚、新闻咨询、学习等领域,根据用户的喜好,进行较为精准的用户画像与内容推荐。此类算法不但可以较为准确的分析用户的特征,如年龄、性别等,还能通过长期的跟踪维护,大致确定用户的偏好。但过于精确的推荐,对用户的潜在心理学影响越来越受到科学界的重视。本文首先介绍推荐算法的基本原理,再介绍其对用户的心理学、社会学影响。
2023-06-03 21:27:45
1066
2
翻译 PC博物馆(14) 1977 Apple II 经典的经典
原文链接:http://oldcomputers.net/翻译:20230511原网站有大量技术背景材料的原文链接,有兴趣可前去查看。本期终于轮到介绍 appleII,以及它的国产机型 CEC系列“中华学习机”。关注中华学习机的文章,不再转载了,以免产生著作权问题。我们还是专门翻译国外的文章。
2023-05-11 17:26:19
472
1
翻译 PC博物馆(13) 1977 的三款计算机(Wameco QM-1A, Vector Graphic Vector 1,RCA COSMAC VIP)
原文链接:http://oldcomputers.net/翻译:20230511原网站有大量技术背景材料的原文链接,有兴趣可前去查看。本文介绍了1977年的三款计算机。
2023-05-11 17:10:33
112
原创 现场工程师出马:VMware+LVM卷快速在windows Server上部署Kafka集群
最近遇到的疑难现场问题层出不穷,本次遭遇的挑战是在4台windows Server 服务器上部署Kafka集群。这是一种比较少见的操作,原因是有些依赖的驱动对虚拟化支持不好,只能运行在实体win机上。原有的上层业务是由B团队开发+运维,现在B团队自己独立出去单干,需要把B团队的业务流转移到这4台windows 服务器上。因为老丁同学介绍,我现场指导了这次迁移,并不顺利,特此记录。主要解决了基于VMWare虚拟机的Linux Kafka节点在windows 服务器的部署。
2023-05-10 20:46:19
563
原创 现场工程师救火-UEFI(BIOS)节能设置导致金牌服务器只跑出龟速
近期协助出现场,解决了一个非常典型的UEFI 启动参数配置不当导致的服务器降效案例。错误的节能参数配置,导致价值几十万的服务器变成龟速服务器,并造成严重的生产事故。
2023-04-25 19:52:10
852
1
原创 自然语言模型的哲学小谈
近期,以chatGPT为代表的大语言模型表现非常惊艳。,以及推理能力,很难不让我们期待未来人工智能的发展,同时冷静思考一下为什么自然语言模型能够取得巨大进步。本文从科普的角度,探讨思维的形成,以及思维与自然语言之间的关系。
2023-04-22 20:26:18
1305
原创 用于小规模低成本场景的kafka + eCAL架构设计
Kafka作为存储、性能兼备的消息队列,适用场景很多,伸缩性也很强。如何调节kafka的配置参数,以及设计专题、分区的数量、物理位置,很大程度上影响到整个架构的成败。很多文章是站在数据中心的角度来谈kafka的配置,而对于小团队,往往只希望把Kafka作为一个跨进程、可追溯的隔离器来使用,取代繁琐的文件或者自定义TCP/UDP接口。此时,单独讨论这种场景就显得有必要了。本文介绍了在磁盘与网络带宽都捉襟见肘的情况下,如何使用两种消息队列综合设计架构,避免瓶颈的方法。
2023-03-20 20:28:30
332
原创 基于 librdkafka C API 的三种seek随机访问方法
介绍三种seek offset的方法。kafka seek的时机和特点,是由它的原理决定的。只有消费者已经assign到确切的partition,才能修改offsetassign partition的行为可以是手动的(第一种),也可以是自动的(2、3)当自动assign时,必须选取一个时机,获取当前的分区号,才能设置offset最佳的方法是联合使用1、2、3这三种策略。
2023-03-20 13:39:03
329
原创 从《三体》科技爆炸看计算机的应用发展
作为一个老程序猿,没有完整看过《三体》原著一直以来是我的遗憾。最近刚因为《流浪地球》的原因,趁热打铁拜读了刘慈欣的原著,真的太震撼了。站在老程序猿的角度,这部鸿篇巨制真的大饱口福,回味无穷。老丁比刘慈欣先生小十几岁,是标准的75后,也是从78-80这段时间有了最初的记忆。对近50年来生活的变化,用作品里“科技爆炸”这个词形容再合适不过,能够亲自见证以计算机技术为代表的科技发展,是属于老程序猿的幸福。
2023-03-13 22:47:37
284
原创 基于Qt WebEngine 的Web仪器面板GUI程控技术
随着IIoT的发展,很多工业仪器也具备了远程管理的GUI。与早期使用串口进行命令交互不同,这些GUI可以直接在远程呈现数据。作为希望对仪器、软件进行二次开发的小公司来说,会遇到GUI人工操作转自动化的需求。在无法通过串口等传统接口进行自动操作的情况下,就只能考虑GUI自动化。在现场工程师领域,常见的GUI自动化程控技术主要分native界面与Web界面两类。用QtWebEngine可以非常从容地应对Web GUI自动化。
2023-03-09 13:47:49
1935
原创 流浪地球2的科学幻想与现实中的未来计算机科技
作为一个科幻迷、《三体》迷,从小时候第一次看《珊瑚岛上的死光》开始,一直期待一部国产科幻电影。等待了40余年,有生之年终于如愿以偿。周末二刷了《流浪地球2》。丁老师认为这部科幻电影已经超越了1,以及原著,成为一部极具观感和深度的科幻片。在三个小时的荧幕上,构造出宏大的科学、伦理、哲学纵深。电影不但学习西方宇航科幻基于现实科学技术的严谨演绎(而非架空的魔法世界), 还承载了我们这个古劲沧桑历经兴衰轮回的东方民族千年沉淀的坚韧文化和世界观。这部电影就特效本身,已经达到顶尖科幻片的水准。
2023-02-12 21:54:16
526
翻译 PC博物馆(12) 1976 Compucolor 8001 彩显计算机
SC总裁Charles Muench表示,他自己分析了为MITS Altair 8800计算机开发的Microsoft BASIC编程语言,并对其进行了“逆向工程”,以便在他的Compucolor 8001中使用,但最终“从Microsoft购买了BASIC源代码,以便我们合法”。1976年2月(如果不是更早的话)他们的第一款产品是Intecolor 8001专业智能CRT终端,这是一个售价1395美元的套件,由买家组装,其特点是一个巨大的19英寸RCA三角电子发生器CRT。该系统标配4K RAM内存。
2023-02-04 09:15:00
383
1
翻译 PC博物馆(11) 1976 Rockwell AIM 65
罗克韦尔“AIM 65扩展主板”支持为罗克韦尔System 65或摩托罗拉Exercisor设计的所有卡,以及罗克韦尔、摩托罗拉、Burr Brown和其他制造商提供的其他卡。由罗克韦尔-阿纳海姆计算机组织(RACO)设计的“小板”是一个基于Z-80A的高性能微型计算机系统,旨在与CP/M操作系统一起运行。该板包含64K字节的动态RAM,所有这些都可供用户使用,256字节的PROM用于“启动”系统。IM 65是一个很棒的系统,但四年后的1981年发布了一个更好的改进型AIM 65/40。
2023-02-01 08:00:00
137
原创 现场工程师出手-PCAPHub与云SSH隧道稳妥实现异地LAN IIoT联测
在传统制造业、互联网,以及所有和工程相关的领域,都会生长着一类非常硬核的攻城狮。他们不仅是行业全栈工程师,又具有非常丰富的现场经验——编程、电气、电子、万用表、电烙铁都能来上两招。具备这种“急诊医生”能力的技术人员,有正规的定义,叫做“现场工程师”。本案例就介绍现场工程师的应变,通过PCAPHub与云虚拟机,实现甲方、乙方异地交换机的逻辑直通。在文章的最后,还会讨论现场工程师的能力与素质。
2023-01-20 13:52:31
1142
原创 EthernetOnTCP--基于Qt QSslSocket 套接字在PCAP 集线器上实现以太网隧道
我们使用PCAP建立了本地的软件集线器(Hub)。考虑到较远距离的跨车间调试,有必要使用Tcp连接构造一个以太网的隧道,使得两个车间之间的调试设备可以虚拟的连接在一个Hub上。使用QSslSocket可以方便的实现这个功能。同时,通过控制回放的范围,可以精确控制PCAPHub工作在交换机-集线器的混合模式下。
2023-01-14 17:18:53
895
2
原创 以研究用途搭建OpenStreetMap Virtualbox服务器
又到了新年伊始,下载OpenStreetMap全球数据的时候了。结果惊奇的发现,主站已经无法打开。仔细了解了原委,表示理解。好在PBF数据依旧可以获取,只是瓦片服务已经关停。目前,OpenStreetMap只适合个人只读下载,学习GIS所用。
2023-01-13 09:00:00
622
原创 基于PCAP搭建软HUB实现物联网在线调试
在调试嵌入式物联设备时,尤其是在多个以太网物联设备交错通信的情况下,很难通过在捉襟见肘的嵌入式系统上进行数据记录与调试。如果设备连接的是交换机,在空闲端口是无法看到所有其他端口上的数据的(广播除外)。PCAPHub基于PCAP,构建了一个软集线器。进行调试时,把待调试的工业设备从工业交换机断开,并临时接入在调试工作站的网卡上。这样,就可以用Wireshark抓到所有参与调试的设备数据。
2023-01-09 07:45:00
754
原创 你好2023-使用msys64 openssl 制作QSslSocket实验所需证书
2023年开始了,第一篇,记录最近帮朋友制作QSslSocket所需证书的过程。使用传统的TCP连接依旧是很多工业软件的常见通信方法。但如果恰好不希望别人通过抓包等方法研究上位机和控制器模块之间的协议格式,那使用SSL连接是一种掩耳盗铃的好办法,能够抵御不是很执着的逆向行为。SSL一般可以通过openssl实现,这样即使是嵌入式设备里也有类似的支持。QSslSocket非常平顺的保留了所有的易用性,让一般的硬件作坊也能碰一碰SSL和网络编程。
2023-01-01 09:55:29
723
翻译 PC博物馆(10) 1976 Apple 1
乔布斯与当地一家电脑商店The Byte Shop接洽,看看他们是否有兴趣出售他们的Apple 1电脑。由于相当聪明,他多年来一直在设计自己的电脑,但实际上从未有时间制造电脑。他的朋友兼Homebrew电脑俱乐部成员史蒂夫·乔布斯(Steve Jobs)不但很喜欢它,而且心里有一些改进的想法。在其他电脑进入市场的鼓舞下,他创作了自己的杰作,并将其带到加州帕洛阿尔托的Homebrew电脑俱乐部,向其他一些会员展示。沃兹对他们的成功感到兴奋,接着设计了苹果II——有史以来最伟大的电脑之一。
2022-12-24 09:53:03
106
翻译 PC博物馆(9) 1976 PolyMorphic Systems Poly-88
1975年流行的MITS Altair 8800计算机为基于相同技术的类似计算机系统创造了市场,基本上是“克隆”。 Altair的独特之处在于它的 Altair总线,它允许安装许多不同的扩展卡,这为卡创造了一个市场,不久之后又出现了可以使用相同卡的类似计算机的市场。“ Altair 总线”后来被称为S-100总线。
2022-12-05 16:46:07
128
原创 使用 Qt for Android 获取并利用手机传感器数据(下篇)使用C++实现功能
在上一篇,我们搭建了开发环境。本篇,使用C++代码真正实现Android功能。我们使用UDP协议从手机上指定发送的目的地、端口。我们建立一个Qt的Widgets程序,添加 position, sensors模块。枚举传感器并建立界面,通过Qt的Sensors可以枚举到传感器的取值。
2022-12-03 17:58:41
2411
3
原创 使用 Qt for Android 获取并利用手机传感器数据(上篇)开发环境省心搭建
现代手机拥有许多传感器,包括地磁、姿态、GPS、光照、温度、气压、摄像、声音、电磁等,完全就是一个高度集成的科学仪器。不夸张的说,一部手机加上一个外围的计算机和控制系统,做一个功能较强的自主移动机器人并不是不可能。但是,很多APP都只是局限于自身的功能,并不喜欢把传感器数据泵出来给其他设备分享。即使有,也是收费的。有没有可能自己做一个小APP,获得所有的手机传感器数据,榨干手机的感知能力呢?实际上实现起来并不困难,甚至连界面都不需要。笔者准备涉足一下从未实操过的App开发,把旧手机的传感器数据分享出来。
2022-12-01 21:59:20
2907
9
Qt FCGI 例子
2020-10-12
gqrx-spectrogram.zip
2020-01-26
基于Qt的多线程流水线异步服务器稳定版
2014-06-07
世界地名对照表Postgres 9.1 导出
2012-09-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人