发布

XINDOO的专栏

专栏成员
295
文章
203202
阅读量
34
订阅数
如何用GPT-4o解读视频
  OpenAI在去年推出的GPT-4V已经支持了多模态识别,但一直仅限于图片输入,不支持视频。相比之下,Google的Gemini早已支持视频识别。最近,我司业务场景中出现了一个需要识别视频的需求,而我们只采购了GPT-4o模型。这就引发了一个问题:如何使用GPT-4o完成对视频的处理?
xindoo
2024-11-18
2950
json命令行处理神器jq介绍
  在当今数据驱动的世界中,处理JSON格式的数据已成为许多IT专业人士的日常任务。虽然Python等高级编程语言可以胜任这项工作,但它们往往需要编写复杂的脚本,耗时且容易出错。这就是jq命令行工具的亮点所在。
xindoo
2024-11-05
1170
OpenAI的结构化浅析
  OpenAI于2024年8月6日在其新模型gpt-4o-2024-08-06上推出了结构化输出功能(Structured Outputs)。截至本文撰写日期(2024年8月25日),gpt-4o仍指向上一版本gpt-4o-2024-05-13,尚不支持结构化输出。有趣的是,gpt-4o-mini反而已经支持了这一功能,这点值得大家注意。那么,结构化输出究竟是什么?为什么OpenAI要专门发布一篇博客来详细介绍它呢?接下来,让我们一起深入了解这个话题。
xindoo
2024-10-29
1580
从大模型的原理到提示词优化
  大语言模型(后文简称LLM)已经火热了近两年,相信大家或多或少都学习过一些Prompt技巧。但你有没有思考过:为什么使用这些Prompt能得到更好的输出结果?为什么有时你怎么试都得不到想要的结果?为什么有些任务LLM根本无法完成?接下来,我们通过一个简单示例来了解LLM的运行过程。理解这个过程后,你自然就能回答上述问题了。
xindoo
2024-10-27
2750
知识与智慧
前两天在medium上看到一篇文章,探讨知识(knowledge)和智慧(wisdom)之间的区别,很受启发,结合自己的经历和理解,形成此文:
xindoo
2024-08-18
1560
[翻译]正则引擎的几种分类
正则表达式引擎是正则表达式匹配算法的基础。其有多种不同的实现,但大多数都是基于Henry Spencer的NFA引擎。
xindoo
2024-08-07
740
Redis源码剖析之内存淘汰策略(Evict)
Redis作为一个成熟的数据存储中间件,它提供了完善的数据管理功能,比如之前我们提到过的数据过期和今天我们要讲的数据淘汰(evict)策略。在开始介绍Redis数据淘汰策略前,我先抛出几个问题,帮助大家更深刻理解Redis的数据淘汰策略。
xindoo
2024-08-07
1670
Redis源码剖析之AOF
上回我们详细讲解了Redis的RDB机制,RDB解决了redis数据持久化一部分的问题,为什么说一部分?因为rdb是redis中某一时刻的快照,那么在这次快照后如果数据有新的变更,它是不会被持久化下来的,必须得等到下次rdb备份。然而,生成rdb是和消耗性能的,所以它就不适合很频繁生成。Redis为了弥补这一不足提供了AOF。
xindoo
2024-08-07
970
5种解法的算法面试题 来看看你是青铜还是王者?
先来详细描述下这道题。在一个全为正整数的数组中找到总和为给定值的子数组,给出子数组的起始下标(闭区间),举个例子:
xindoo
2024-08-07
800
Linux三剑客之awk入门指引
今天1024 程序猿节,百忙中抽空发篇一直想写好久的文章来凑个热闹,简单教大家如何使用awk这个命令行工具。认识我的人都知道我最早是运维出生,做运维没学会啥太大的本事,有些命令行工具却使得贼溜,awk就是其中之一。后来我转开发后,凭借精通部分命令行工具的使用快速解决过很多小问题,命令行的便捷和高效也曾多次震惊到我们的同事们。
xindoo
2024-08-07
1580
使用ffmpeg拼接视频踩坑记录
最近在工作中遇到一个ffmpeg的坑,特此记录下。我们在工作中,有个需求是将分段存储的视频拼接成一个完整的视频,发现使用ffmpeg拼接后视频时长不对。举个列子,我用ffmpeg将4个半小时的mp4视频拼接后,得到的视频长度远超过2小时,观看后发现在视频的连接点,会出现长时间的卡顿,导致最终视频时间超长。
xindoo
2024-08-07
1970
使用ffmpeg将图片拼接为视频
本文介绍下如何使用ffmpeg将大量图片拼接成一个视频,并介绍其中部分参数的含义。
xindoo
2024-08-07
1650
在netty中使用protobuf并实现数据加密传输
  最近学习netty,为了实践一些知识点,写了一个小demo,完成了client和server端之间的加密数据传输,并使用了protobuf对数据进行封装,代码虽然简单,但对初学者学习netty应该会有些许帮助,特此记录分享。   首先来看Server的实现,Server和所有的netty示例代码差不多,都是构建netty的ServerBootstrap。
xindoo
2024-08-07
1830
提效小技巧——记录那些不常用的代码片段
  不知道大家有没有这样的经历? 某种代码操作,之前很少写,突然要用了但想不起来怎么写了;某个工具库很久没用了,现在想用了连库名都忘记了;某个命令行,曾经用过,现在已经忘记它有哪些参数了…… 这样的经历我反正是遇到好多次了。程序猿做久了,难免偶尔需要写一些很难的代码(低频代码),这种代码的特点就是偶尔用一次,之后好久都不会用,但下次再用的时候又得重新查资料。 所以程序猿总是调侃自己是面向百度/CSDN/GITHUB编程。
xindoo
2024-08-07
970
用Netty实现WebSocket网络聊天室
  最近学习Netty,学习到WebSocket一章节,将Netty中WebSocket的样例代码做了一些简单的改造,实现了一个简易的WebSocket网络聊天室,源码并非完全自己实现,只是将一些别人的代码做了下整合改造,今分享至此,希望对大家学习Netty有所帮助。   首先介绍下什么是WebSocket,这就不得不先提到HTTP协议了。众所周知,在HTTP/2发布前,所有HTTP请求都是 请求-应答的 模式,这就意味着客户端只能向服务器要数据,然后服务端被动应答,而服务器无法主动将数据推送给客户端。这就导致一些高时效性的场景用HTTP就会有些问题,就拿实时聊天举例吧,客户端想知道近期有没有人说过话,就只能不断问服务器 有没有人发了消息? 有的话服务器就返回,没有就不返回,这种行为被称为轮询。 轮询的问题在于如果询问的时间间隔太长,消息的及时性无法得到保证,但如果时间太短,对服务器的压力就会大幅提升(因为不断要请求响应)。 有没有可能服务器有消息的时候,主动推送给客户端?   WebSocket因此而诞生,它允许客户端和服务端之间在HTTP之上建立一个全双工的TCP长连接,这里的关键点在于全双工,意味着服务端也能通过这个连接给客户端发送即时消息,从而解决了轮询的性能和时效性矛盾的问题。了解过Socket编程的同学应该很容易理解了,WebSocket其实本质上就是Socket,只不过WebSocket是建立在HTTP协议之上的。   回到我们的正题,如何用Netty+WebSocket写一个网络聊天室? 其实Netty里已经封装好了HTTP和WebSocket的实现,我们只需要实现部分聊天室的功能即可,接下来看下我实现的完整代码: 首先是ServerBootstrap的部分,这里是Netty的启动入口。
xindoo
2024-08-07
1620
谷歌Guava LoadingCache介绍
  在工作中,加Cache是非常常见的一种性能优化手段,操作系统底层、计算机硬件层为了性能优化加了各种各样的Cache,当然大多数都是对应用层透明的。但如果你想在应用层加Cache的话,可能就需要你自己实现了。
xindoo
2024-08-07
1130
使用ffmpeg将视频转成HLS(m3u8)格式
  HLS (HTTP Live Streaming)是苹果推出的视频流协议,HLS格式的视频包含一个m3u8文本文件,以及众多的.ts的视频片段,而m3u8文本文件的作用就是将这些ts片段索引起来。 因为HLS协议是将视频切分成很多小的ts片段,这些小片段很适合放到cdn上,有很多视频文章都使用了hls格式传输视频。今天我在这里教大家如何用ffmpeg将mp4格式的视频转为HLS(m3u8)格式。
xindoo
2024-08-07
4310
如何用ffmpeg截取视频片段&截取时间不准确的坑
   之前在工作中,有遇到需要程序化截取视频片段的场景,这里使用ffmpeg命令行就可以很容易实现,这里也记录下我们使用过程中遇到的坑,希望对大家也有所帮助。    举个例子,当我们要截取视频文件中input.mp4的第15秒到第98秒时,ffmpeg命令行可以这么写:
xindoo
2024-08-07
3530
Java中使用HashMap时指定初始化容量性能一定会更好吗?
  一些Java编程老手在做CodeReview时,都会告诉其他人,使用HashMap时建议指定容量大小,原因是指定容量后,代码性能会更好一些。后来随着阿里Java开发手册在业内广为传播,这一点早已深入人心,我自己也早已习惯在使用HashMap时指定容量大小。但我今天突发奇想,想知道指定容量和不指定容量时性能究竟有多少的差异,测试部分测试数据的结果让我大跌眼睛,有些情况下指定容量的性能还比不指定容量时差!! ,但其他部分还是很符合我之前的认知的。
xindoo
2024-08-07
1410
Linux parallel 命令使用手册
  GNU Parallel是一个开源的命令行工具,可以将多个命令行作业并行执行。它可以用于在多个CPU或计算机上同时运行命令行作业,从而提高作业处理速度。Parallel还可以帮助您更好地利用系统资源,节省时间和精力。
xindoo
2024-08-07
3030
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档