要不要再学学下面的文章?
StarRocks 开发环境搭建踩坑指北 (crossoverjie.top)
本文详细介绍了在本地搭建 StarRocks 开发环境的步骤,包括启动前端(FE)和后端(BE)的配置及调试方法。通过本地启动 FE 并使用 Docker 运行 BE,实现了本地调试和测试。作者分享了常见问题解决方案,如端口冲突和网络配置问题,为 StarRocks 开发环境搭建提供了实用指南。
by @技术头条 2024-11-02 16:42 查看详情
基于 Docker 搭建开发环境(三):链路追踪 (www.diguage.com)
本文介绍了通过 Docker 配置 OpenTelemetry 和 Jaeger,实现分布式链路追踪。详细讲解了如何使用 OpenTelemetry Agent 和 Collector 配置尾部采样策略,识别慢请求和错误。结合 Prometheus 和 Grafana,构建全面的监控和追踪系统。提供了具体的 `docker-compose.yml` 配置文件示例,适合需要全链路可观测性的分布式应用开发环境。
by @技术头条 2024-11-02 16:34 查看详情
基于 Docker 搭建开发环境(二):EFK 日志套件 (www.diguage.com)
本文介绍了如何使用 Docker 和 EFK(Elasticsearch、Fluentd、Kibana)套件构建日志管理系统,通过 Fluentd 将 NACOS 和业务日志集中发送至 Elasticsearch,方便数据分析和故障排查。文章提供了 `docker-compose.yml` 配置文件示例,解决了插件安装、权限设置和健康检查等常见问题,为构建灵活高效的日志管理系统提供了实用方法。
by @技术头条 2024-11-02 16:33 查看详情
基于 Docker 搭建开发环境(一):数据库+监控 (www.diguage.com)
本文介绍了使用 Docker 构建开发环境的步骤,涵盖 MySQL 数据库配置、Nacos 服务发现与配置管理、Prometheus 监控及 Grafana 可视化。通过 Docker Compose 结构化配置,实现了多组件集成。文章提供了详细的 `docker-compose.yml` 文件示例,并探讨了自动接入监控、应用打包等优化方向,适用于需要集中管理多项开发工具的场景。
by @技术头条 2024-11-02 16:33 查看详情
浅谈 GUI 应用开发 (zgq.me)
本文深入探讨了 GUI 应用开发中的关键问题,从状态管理、生命周期到交互模式等多个角度分享了开发经验。无论你是前端开发者还是产品设计师,这篇文章都能为你在 GUI 开发中提供实用的见解和技巧。赶紧阅读,提升你的应用开发水平吧!
by @技术头条 2024-09-09 23:37 查看详情
USB 设备开发:从入门到实践指南(三) (paper.seebug.org)
本文深入研究了Nintendo手柄驱动在Linux系统中的实现细节,并解决了一些关于USB HID和input驱动的疑问。
by @技术头条 2024-08-06 08:27 查看详情
USB 设备开发:从入门到实践指南(二) (paper.seebug.org)
本文介绍了如何利用树莓派设备模拟USB鼠标和游戏手柄。文章从修改HID描述符开始,详细说明了如何通过调整bash脚本中的协议配置模拟不同的USB设备。在模拟鼠标时,作者修改了协议为鼠标,调整了HID描述符以支持鼠标的左右键、中键、滚轮等功能。接着,在模拟游戏手柄部分,作者通过设定正确的供应商和产品ID,使设备被识别为XBox 360手柄。文章还探讨了如何动态修改Ubuntu驱动来支持Switch手柄。

在研究过程中,作者分析了USB HID协议,使用eBPF和调试输出方式研究Linux内核驱动代码,探索了手柄的各种功能键和坐标轴的实现。此外,作者对Switch Pro手柄的驱动支持问题进行了深入分析,发现需要特定协议的支持,并提供了解决方案。
by @技术头条 2024-08-06 08:26 查看详情
USB 设备开发:从入门到实践指南(一) (paper.seebug.org)
这篇文章介绍了使用树莓派4B设备进行USB设备开发的经验。作者从研究工具、搭建开发环境、分析USB协议等多个角度详细描述了如何将树莓派模拟成一个USB键盘,并通过Wireshark捕获流量以研究和理解USB协议的工作原理。文章提供了具体的操作步骤和代码示例,并深入探讨了设备描述符、配置描述符、接口描述符、端点描述符等USB协议的关键组件。该文章为USB设备开发提供了实用的指导,适合对底层硬件开发感兴趣的开发者参考。
by @技术头条 2024-08-06 08:25 查看详情
写给开发人员的实用密码学(六)—— 对称密钥加密算法 (thiscute.world)
在密码学里面,最容易搞混的词估计就是「密码」了,cipher/password/passphrase 都可以被翻译成「密码」,需要注意下其中区别。
by @技术头条 2024-01-14 19:01 查看详情
nginx 防火墙模块开发总结 (www.addesp.com)
那段时间我的站点有时会打不开,起初以为是网络问题,后来越来越严重,进入后台才发现数据库 IO 拉满了。看了看 nginx 的日志才发现站点被疯扫,于是打算做点什么。

然后在 Github 上看了几个防火墙模块,要不然功能不全,要不然使用复杂,于是萌生了自己写模块的想法。
by @技术头条 2023-12-26 22:24 查看详情
技术头条

有个朋友的朋友想做一个公益的事。因为出资的都是教育水平较高的精英人士,所以对项目的监控透明度要求比较高。于是这个朋友的朋友就想了,信息时代嘛,IT工具不是可以促进交流提升效率么?于是他对我说:我们想做个app,可以干这个这个这个……我打断他说,别着急,做软件很贵的,你不一定玩得起。


做个软件究竟有多贵?我们可以做一个非常粗略的估算。市场上定制开发软件的人工成本按一人月20,000人民币来算,平均每人天1,000人民币。根据《软件估算》提供的经验数据,随软件复杂度变化,在整个交付项目期间,平均每个程序员每天产出的代码量在2行到200行之间。如果以平均每天产出100行代码来算,则编写每行代码的成本是10元钱。

把软件写出来只是第一步。软件要放在某个环境上去运行的。服务器端的软件要部署在可靠的服务器上,要有可靠的网络连接。客户端的软件(比如一个app)要安装在使用者的电脑或手机上。软件要维护要升级要管理要排错的。有了一个软件,有了一台服务器,就得有掌握这个技能的人来管理它的。根据Oracle引用Enterprise Management Associates的数据,60%~70%的IT预算耗费在运营和维护上。于是我们可以大致估算到,加上运营和维护成本,一行代码的成本就会达到30元。

那么一个app会有多少行代码呢?当然也随复杂度不同会有很大变化,只能举两个例子作为参考。RapidFTR是一个用于“家庭跟踪和团聚”的Android应用。当战争、地震、海啸等灾害发生时,国际援助团队可以用这个应用来寻找失散的儿童。这个软件大约有34,000行代码。另一个Android应用是克林顿健康倡议给非洲国家开发的基层医疗物流管理软件,乡村医生可以用这个工具来管理他们的药品库存。这个软件的代码超过46,000行。换句话说,这两个目标很单纯、功能并不复杂的Android应用,拥有它们的成本都在百万人民币以上。

而且上面估算的还只是软件本身的开发、运营和维护成本。在IT的基础上调整组织机构、优化工作流程、创造高质量内容、市场传播推广……那需要的人财物力就更加难以估计了。更不用说,移动互联网本身是一个充满变化与创新的领域,犯错与试错是家常便饭。所以你看,想开发一个新软件,这是多么贵的事。

软件这么贵,是不是没钱的组织、尤其公益组织就注定享受不到科技带来的强大能力了?不是。其实有大量的软件工具已经存在,它们非常成熟,它们经过了无数用户的检验、能很好地完成它们想要完成的任务,而且它们非常便宜甚至免费。要做个网站吗?Ghost或者WordPress都可以。要点对点的传播?微信和QQ是蛮不错的工具。想收集很多人的观点和意见?金数据就是干这个的。发邮件期刊?可以考虑MailChimp。需要客户关系管理(CRM)?其实一个设计合理的Excel表单就可以做得很好。

所以,一个机构想要用IT技术提升能力,首先需要的是互联网思维,是设计能力。首先理解自己的目标用户,理解用户的整个体验,理解体验之中的困难与挑战,然后选择适当的工具来应对这些困难与挑战。当你把问题细化到一个具体的设计挑战,往往就能找到现成的工具来解决它。至于开发一个新软件这种又贵又费神的事情,还是能不做就不做吧。

本文转载于:http://gigix.thoughtworkers.org/2015/6/3/how-expensive-developing-software/

by @技术头条 2015-09-23 18:15