要不要再学学下面的文章?
带你认识本地大模型框架Ollama(可直接上手) (wiki.eryajf.net)
自 OpenAI 公司于2022 年 11 月 30 日发布 ChatGPT 以来,经过 23 年一整年的发展之后,大模型的概念已逐渐普及,各种基于大模型的周边产品,以及集成层出不穷,可以说已经玩出花来了。在这个过程中,也有不少本地化的模型应用方案冒了出来,针对一些企业知识库问答的场景中,模型本地化是第一优先考虑的问题,因此如何在本地把模型调教的更加智能,就是一个非常重要的技能了。在 23 年的时候,我也接触过一些本地模型的开源项目(比如 LocalAI),当时在本地部署跑起来之后,发现交互的体验,回答的速度,以及智能程度,都远低于预期。最近又一次了解本地模型的玩法,从微信群里了解到了 ollama,经过几天业余时间的研究及了解,发现现在模型本地化的玩法,以及能力都早已不可同日而语,本文,将记录我这几天来对于 ollama 的粗浅认识以及快速入门玩起来。
by @技术头条 2024-03-12 22:53 查看详情
Java SPI机制学习与常用框架SPI案例 (l1n.wang)
SPI(Service ProviderInterface)是JDK内置的服务提供机制,常用于框架的动态扩展,类似于可拔插机制。提供方将接口实现类配置在classpath下的指定位置,调用方读取并加载。当提供方发生变化时,接口的实现也会改变。Java生态中JDK、Dubbo、Spring等都通过SPI提供了动态扩展的能力。
by @技术头条 2024-01-17 23:19 查看详情
完善 Golang Gin 框架的静态中间件:Gin-Static (soulteary.com)
Gin 是 Golang 生态中目前最受用户欢迎和关注的 Web 框架,但是生态中的 Static 中间件使用起来却一直很不顺手。所以,我顺手改了它,然后把这个改良版开源了。
by @技术头条 2024-01-14 19:19 查看详情
十年编程之路 (me.ursb.me)
时光荏苒,回首望去,自系统接触编程已近十年,这篇月刊就写写这十年的编程之路吧。

深得周围小朋友的羡慕,家里小时候是开网吧的,因此我对电脑游戏向来比较熟悉,但未曾设想过以后会走向编程的道路。2007 年的时候,初中组织了一波 Pascal 的奥赛班我也半途而废了, 2013 年高考之后报了教育技术学专业,这是一个在教育学院里和计算机稍稍沾些边的理科专业。如果按照正常的轨迹发展,想着大概毕业以后凭着专业的教师资格回老家的中小学当一名老师吧。

但一切在 2014 年的年初发生了改变。
by @技术头条 2023-12-26 22:16 查看详情
初探 Struts2 框架安全 (paper.seebug.org)
最近分析 confluence 的漏洞,发现是基于 Struts 框架的,其中有很多相关知识点并不了解,因此专门来学习一下 Struts 2。

在网上一搜 Struts 2 资料发现介绍漏洞的文章比介绍开发的还多,少数开发者的声音也是 “Struts 过时了吗?” 之类的疑问,事实上这个框架也确实是过时了,现在Java Web 开发早已是 Spring 全家桶一统江山的局面。但我们也不能不承认曾经 Struts 的地位。Struts2 + Spring + Hibernate 三大框架在当年组合号称 SSH,对 Java Web 应用生态产生了深远的影响,以至于现在有许多知名应用中还有 Struts 的影子。

因此,即便 Struts 已经日薄西山,对于 Java 安全研究者而言也是需要深入了解的目标,就像二进制研究员需要理解 “过时” 的 jmp esp 栈溢出利用方法一样。
by @技术头条 2023-11-06 22:58 查看详情
Rust并发编程番外篇: Mutex内部实现 (colobu.com)
Mutex是最常用的一种同步原语,它提供了互斥锁的功能,多线程可以互斥访问共享数据以及通过锁保护临界区。Rust标准库提供了Mutex的实现,接下来我们看看它是怎么实现的。
by @技术头条 2023-11-06 22:56 查看详情
Android|集成 slf4j + logback 作为日志框架 (mazhuang.org)
最近在做一个 Android APP 的日志改造,我搜了一下「Android 日志框架」,大多网友推荐的是 logger、timber、xLog 等等,看着也不错。不过出于几年后端开发的经验和习惯,我进一步了解,发现熟悉的 log4j 和 logback 在 Android 上也有人做过适配,所以最终决定使用 slf4j + logback,以在前后端开发中取得一致的体验。
by @技术头条 2023-10-30 22:56 查看详情
Rust并发编程 - 容器类并发原语 (colobu.com)
Rust 在并发编程方面有一些强大的原语,让你能够写出安全且高效的并发代码。最显著的原语之一是 ownership system,它允许你在没有锁的情况下管理内存访问。此外,Rust 还提供了一些并发编程的工具和标准库,比如线程、线程池、消息通讯(mpsc等)、原子操作等,不过这一章我们不介绍这些工具和库,它们会专门的分章节去讲。这一章我们专门讲一些保证在线程间共享的一些方式和库。

并发原语内容较多,分成两章,这一章介绍Cow、beef::Cow、Box、 Cell、RefCell、OnceCell、LazyCell、LazyLock 和 Rc。 我把它们称之为容器类并发原语,主要基于它们的行为,它们主要是对普通数据进行包装,以便提供其他更丰富的功能。
by @技术头条 2023-10-24 23:56 查看详情
美团前端研发框架Rome实践和演进趋势 (tech.meituan.com)
本文整理自美团技术沙龙第76期《大前端研发协同效能提升与实践》,为大家介绍了美团到店前端研发框架Rome实践和演进趋势。具体来讲,本文首先介绍了Rome整体的工程生态、演变路径、规模化升级以及工程框架外的开发辅助工具;第二部分,重点阐述了如何做框架度量和相关的业务实践;最后做整体的总结以及对工程框架的下一阶段的思考。希望能对大家带来一些帮助或启发。
by @技术头条 2023-08-18 22:56 查看详情
为什么说并发编程很难? (colobu.com)
最近看到一本关于算法的新书,买过来学习。这本书中有一道并发问题,也是我先前多次分过的一道题:水分子的产生。

这是一道并发题,在《The Little Book of Semaphores》v2.2.1 2006年版本中就有这道题("Building H2O"),而且据作者说这道题已经在伯克利大学的操作系统课程中十余年了,看起来是Andrews的并发编程的一道练习题。

这道题也被收编到leetcode的并发题中:H2O 生成。题目和这本书中的内容一样,是一道标记为中等难度的题目。

所以说这道题至少存在30年了,理论上大家对这道题目研究的就是透透的。
by @技术头条 2023-07-23 11:24 查看详情