当前位置: 首页 > news >正文

【龙年大礼】| 2023中国开源年度报告!

9f3f0525442c1dbb0e01b9dc76405a29.jpeg

49548bc078271a27a297a18ec1f14f58.jpeg

【中国开源年度报告】由开源社从 2015 年发起,是国内首个结合多个开源社区、高校、媒体、风投、企业与个人,以纯志愿、非营利的理念和开源社区协作的模式,携手共创完成的开源研究报告。后来由于一些因素暂停,在 2018 年重启了这个项目一直至今,每一年参与协作的伙伴社区/单位和志愿者以及点评的开源大咖越来越多,还有更多的忠实读者表示每年年初都期盼能看到中立、客观、多元而优质的【中国开源年度报告】。我们希望今年呈现给所有关心、热爱开源的读者们更优质的内容,也欢迎大家给予这份报告建议、意见和反馈,让我们能精益求精,欣欣向“龙”!

点击文末“阅读原文” 可阅读完整版报告哦!

2023 中国开源年度报告项目组

01

 卷首语

今年的卷首语,我花了很大的“毅力”,才抑制了自己用 ChatGPT 帮助撰写的冲动,打算还是完全靠自己手写。这其实也是整个 2023 年的趋势之一:越来越多的工作,人们都开始尝试寻求 AI 的帮助。

AI & AIGC

除了已经不再开源的 OpenAI,在 2023 年诞生了无数热门的、开源的大模型;无数热门的、开源的基于 GPT 的应用;还有 AutoGPT、LangChain、CoT、RAG 这样的新名词和新项目层出不穷。在图像生成、语音生成、代码生成等一系列 AIGC 的领域,都给人一种一日千里,恍如隔世的感觉。

从 2020 年开始的每一年的开源年报,我们都会谈到“剧变”,如果 2020~2022 年的变化,是以世界风云变化为主的话,到了 2023 年,就真的已经在 IT 技术领域,在开源生态领域,掀起滔天巨浪了。

关于全域数据

今年的中国开源年度报告,本身也有一件大事发生。就是我们首次能够将 GitHub 的数据与 Gitee 的数据放在一起,进行通盘的比较与洞察,其中的一些发现可能会打破很多人对于中国开源活跃度与贡献度的“偏见”。而这样的数据扩展,我们今后还将不断延伸,使得我们的数据源,真正不负“全域”之名。

开源社区如何应对那些最棘手的挑战?

2023 年 7 月,瑞士日内瓦成为 Linux 基金会举办的 Open Source Congress 的会议地点。这次聚会讨论了开源社区面临的紧迫问题,如网络安全、技术民族主义(techno-nationalism)的崛起、人工智能的复杂性以及日益增加的监管审查的挑战。本次会议邀请了 73 家开源组织参加,其中开源社与开放原子开源基金会,也受邀派代表,参加了日内瓦的会议。

作为一次野心勃勃的尝试,第一届开源“议会”还只是一个开始,未来还需要全世界范围内的开源人,更好的携手应对挑战。

中国这一年的开源发展究竟如何?

除开疫情结束之后的报复性反弹,也不用过多引述接下来的报告中会出现的各种统计数据,只谈个人的直观感受,那就是:外热内温。一方面外部的各种国家政策、地方政策、技术会议、社区交流,的确都非常热闹;而另一方面,在开源社区内部,尤其是开发活跃度方面,其实已经“由热转温”,增长放缓了。而且,这还不仅仅是中国的开源发展,而是全球开源发展的大趋势。

除了直观感受,还应该有客观评价。我们既不必洋洋得意,也不必闷闷不乐,更不该妄自菲薄。对于中国开源,“捧杀”与“棒杀”,都是过犹不及的做法。

回首 2023,展望 2024,我们应该期待一些什么?又应该投身于哪些方向?在一个变化太快,以至于人人都感到焦虑的时代,哪些才是我们能够把握的呢?让我们一起来探索吧!

 庄表伟

开源社理事暨执行长

2024 年 1 月 14 日

24f03b3ac087dd7704b252cd01acb130.jpeg

2023中国开源年度报告-封面

823b7c363bcc566c11226fb89b3bb834.jpeg

4cacb6a8708217915d54a0b4f268899e.jpeg

7f4b0958fa4a2fcbcbe7a8cb0c529a2b.jpeg

3ebdd8d9002508101468306a2885dd83.jpeg

d8f039fa59b201f23d37b27ea91ad5dc.jpeg

670c9f486a63efbcf060808757252176.jpeg

d1b52716d876d869edc9f3d157860268.jpeg

35d58826da0a96ee804368793f193c20.jpeg

19d77ed11db7ee1df503842b7bfafb7a.jpeg

a38c1f6909cbb969fa96080eeb375fcf.jpeg

7a205909d76371ea841b0fc026a3d0ea.jpeg

92fcc7c3655d53ac09526c54f2cbbc9c.jpeg

3e6513e96dc4c340d3e64a907ff27a52.jpeg

8764cc7d26c421af1d49cfc768e266bb.jpeg

2023中国开源年度报告-目录

(请右滑查看目录)

02

 报告预览

2023年中国开源年度报告主要由四部分组成,分别是问卷篇、数据篇、商业化篇、大事记篇。

1

问卷篇

延续自 2016 年初发布的《 2015 年中国开源社区参与调查报告》以来的传统,2023 年末,我们再次启动了中国开源社区的年度参与调查,致力于通过持续的开发者调查报告,以多维度方式呈现中国开源发展的整体状况。借助数据分析手段和调查报告等工具,我们成功绘制了一份关于 2023 年中国开源世界的地图。

本问卷篇对受访者的多个角色进行提问,旨在从各个维度深入了解社区的发展趋势。本问卷根据开源社区参与程度将受访者分为使用者、参与者、贡献者、维护者、生态运营几个角色。形成洋葱模型,层层递进。除了对所有受访者提出基础问题以外,还针对使用者、贡献者、运营者几个角色分别进行了提问。

本次调查问卷的基本信息如下:

  • 调查对象 :覆盖开发者、社区成员、贡献者、学生、政府企业管理人员

  • 调查内容 :主要涵盖个人信息、工作状况、开源社区以及开发者技术等

  • 调查方法 :以在线问卷方式搜集样本和数据,交叉对比法分析数据

  • 分发渠道 :开源社、KubeCon + CloudNativeCon + Open Source Summit China、2023 第八届中国开源年会、2023 开放原子开发者大会、2023 开源产业生态大会

  • 问题类型 :单选、多选、开放性

  • 问题数量 :43

  • 样本量 :875

以下是调查问卷摘要:

6838d395e39e9547a5898edc049acccb.jpeg

2

 数据篇

2023 中国开源年度报告以深入全面的数据洞察为基础,共分为八大部分。第一部分总体宏观洞篇,察通过对基础事件、活跃仓库、活跃用户、开源许可证和编程语言等方面的深入分析,揭示中国在全球开源生态中的全貌。第二部分 OpenRank 排行榜,提供了全球和中国各领域开源项目、企业、基金会、开发者以及协作机器人的排名,为业界提供全面系统的 OpenRank 指标信息服务。第三部分技术领域洞察篇,深入研究了各领域 Top10 榜单和项目变化情况,展示了前沿技术的发展方向和趋势。第四和第五部分为企业洞察篇基金会洞察篇,通过演变图和趋势分析,呈现了全球和中国企业、基金会在开源领域中的演化。第六部分开源项目洞察篇,深入探讨了不同项目类型、领域和主题的多样性和创新方向。第七部分开发者洞察篇,则通过对开发者类型、工作时间分布、地区分布和机器人使用情况的分析,展现了开发者群体的多样性和工作特征。第八部分案例分析篇,通过一系列有趣的案例分析,从一个侧面让读者一窥中国开源生态的蓬勃发展。整体而言,数据篇通过丰富多彩的数据洞察与分析,勾勒出中国开源生态在 2023 年的全景图。

3

 商业化篇

2022-2023 年,人工智能领域迎来了预训练大模型技术的大爆发,引发了全社会的广泛关注,并且可预见在未来将持续加深对生活、工作的影响。不难发现,在这次人工智能技术迭代的浪潮中,开源生态也为技术发展起了极大的推动作用,并且有不少开源模型以及开源项目在积极寻求商业化。但开源模型与传统的开源软件又有着众多差异。在这样的时代背景下,人工智能开源项目与开源模型的商业化发展,成为了值得深入研究与讨论的话题。

在商业化过程中,包括开源软件和开源模型在内的开源项目的安全可控性是企业用户非常关注的考量因素之一。结合当下技术发展趋势,对开源软件的安全,开源模型的可控,开源商业许可证的分析是值得关注的话题。

本章内容由云启资本投资团队撰写,今年所探讨的话题都属于较为前沿的方向,讨论中不乏一些判断与预测,笔者结合工作中与从业者的探讨和展望,提出我们的看法,若有不周到之处或不同想法,欢迎和我们探讨交流。

主要内容包括:

  • 开源源生态助力 AI 快速发展

  • 开源安全挑战

  • 开源项目资本市场情况

4

 大事记篇

中国开源年度报告的《开源大事记》篇,为什么会收录很多国际开源的新闻?因为在我们看来:这些都是中国的开源人需要关心的大事,也是正在或即将影响中国开源界的大事。

今年的开源大事记,可以说是来自各界的编辑志愿者们心尖上 2023 年的开源大事件。我们思考的大致脉络是:

  • 由全球 ”开源技术“ 的颠覆式创新,如人工智能与机器学习等,为主线,

  • 加上地缘政治态势带来的全球冲突,直接或间接地影响了 ”开源生态“ 不问西东(或东升西变)的起伏变化,

  • 从而导致了从区域、法律、贸易、社区方方面面 ”开源治理” 的范式转移,

  • 其中 “开源安全” 议题更是被视为为重中之重,

  • 挑战带来机遇,更多挑战带来更多机遇,“开源商业化” 已经成为显学与主流。2023 年虽然艰难,但是全球(包含中国)仍有大批开源初创企业前仆后继,

  • 面对这个技术、生态、治理、商业化都发生巨变的新时代,“开源教育” 承先启后,成为开创新局最重要的基石。以人工智能的颠覆式创新为例,没有高瞻远瞩的科研与高教体系的坚持投入,就不会有今天的荣景,

  • 最后的 “开源榜单与报告”,算是餐后甜点,看看 2023 年的开源榜单与报告,是否洞烛机先,预见了今后中国的开源发展?

2023 年是 AI 爆发之年,所以在任何一种类别的大事记里,都少不了 AI 的身影,诸位读者不妨纵览全盘,以获取整体的印象。

总之,我们正处在一个 AI 即将改变世界一切运作模式的前夜,期待在 2024 年的《开源大事记》再见!

03

 致谢

《2023 中国开源年度报告》的编制,一如既往,受到了众多开源界朋友、开源社志愿者和开源社顾问委员会成员们的大力支持。在此向所有参与报告制作的人员表示诚挚的感谢!感谢你们为中国开源贡献出自己的一份力量。

感谢协作开源社区/单位

  • 开源社

  • 云启资本

  • OpenDigger/X-lab

  • Gitee

  • GitLink

  • CSDN

  • 思否

感谢开源社顾问委员会专家点评

(按姓氏字⺟顺序列名)

郭雪、姜宁、蒋涛、tison、卫剑钒、余杰

感谢编写团队

[召集人]:王伟

[问卷设计]:王婕

[数据篇]:王婕、黄温瑞、唐烨男、赵生宇、伍泰炜、宁志成、张翔宇、夏小雅、张欣然、韩凡宇、娄泽华、朱志炜、毕枫林、李鸿斌

[商业化篇]:云启资本

[开源大事记]:李明康、刘天栋、梁尧、王蓉、袁滚滚、庄表伟

[报告汇总/编辑]:王婕、刘天栋、丁文昊

[设计/排版]:王萱

作者丨开源社

编辑丨王萱

2378a073e97f0eabbda27812ec3a4b28.gif

甲辰春回,辞旧迎新,开源社为您准备了一份2024龙年红包封面,封面限量30个,先到先得哦~开源社在这里祝大家龙年新春快乐,吉庆有余。

Happy New Year

9bded9a4d846c9aa45d9a555e5d2aef9.gif

相关阅读 | Related Reading

金兔迎福报、新春第一炮【2022 中国开源年度报告】!

官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021~

开源社简介

开源社(英文名称为“KAIYUANSHE”)成立于 2014 年,是由志愿贡献于开源事业的个人志愿者,依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念,以 “立足中国、贡献全球,推动开源成为新时代的生活方式” 为愿景,以 “开源治理、国际接轨、社区发展、项目孵化” 为使命,旨在共创健康可持续发展的开源生态体系。

开源社积极与支持开源的社区、高校、企业以及政府相关单位紧密合作,同时也是全球开源协议认证组织 - OSI 在中国的首个成员。

自2016年起连续举办中国开源年会(COSCon),持续发布《中国开源年度报告》,联合发起了“中国开源先锋榜”、“中国开源码力榜”等,在海内外产生了广泛的影响力。

cc1d45c7981211fd29596cc8fb127d54.gif

相关文章:

【龙年大礼】| 2023中国开源年度报告!

【中国开源年度报告】由开源社从 2015 年发起,是国内首个结合多个开源社区、高校、媒体、风投、企业与个人,以纯志愿、非营利的理念和开源社区协作的模式,携手共创完成的开源研究报告。后来由于一些因素暂停,在 2018 年重启了这个…...

本地搭建three.js官方文档

因为three.js官网文档是国外的网站,所以你没有魔法的情况下打开会很慢,这时我们需要在本地搭建一个官方文档便于我们学习查看。 第一步:首先我们先访问GitHub地址 GitHub - mrdoob/three.js: JavaScript 3D Library. 下载不下来的小伙伴们私…...

【seata自动化治愈数据库问题解决方案】

wu-database-lazy-seata-cure-plus-starter 描述 针对saas 数据库隔离情况下,每次版本迭代都需要重新修改对应的数据库,对于升级与运维存在一定的难度,那么这个数据库治愈框架来了,使用场景如下 1.数据库不存在自动创建数据库 …...

Node.js之npm单独与批量升级依赖包的方式

Node.js之npm单独与批量升级依赖包的方式 文章目录 Node.js之npm单独与批量升级依赖包的方式npm查看与升级依赖包1. 单独安装或升级最新版本2. 查看依赖但不升级1. npm outdated2. npm update 3. 批量升级新版本4. npm-check-updates1. 全局安装2. ncu查看可升级的版本3. 升级依…...

66.加一

66. 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入&#xff…...

UI自动化之Poco常用断言方式

实际上用到的几种写断言的方式: 1.验证UI界面(断言图片是否存在,UI页面不稳定情况下,图片识别效率不高) assert_exists assert_not_exists 2.验证数值(断言传入的两个值(数字或者string)是否相等&#xff…...

c语言_实现类class的功能 实例

c语言_实现类class的功能 实例 1.需求与背景2.实例1.类的头文件 class_A.h2.类的实现 class_A.c3.引用4.编译与运行 3.总结 1.需求与背景 使用C , python语言久了, 发现 类 class写代码逻辑更方便, 简洁. 封装的API更加易用; 内核代码中, 也经常看到类似类的封装. 自己尝试实现…...

[2024]常用的pip指令

[2024]常用的pip指令 HI,这里是肆十二,好久不见,大家! 新年好! pip是Python的包管理工具,它可以用来安装、升级、卸载Python包。以下是一些常用的pip指令: 安装包: bash复制代码…...

【Java EE初阶十二】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大,但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类: 1、ServerSocket:给服务器使用的类,使用这个类来绑定端口号 2、Socket&#xf…...

Idea Git Review插件

idea git plugin 添加了一些常用的小插件 可以右键打开git bash窗口 可以右键选中文字点击baidu fanyi 可以通过搜索git用户名 指定开始时间查询某个版本自己提交的所有代码文件 可以通过点击蓝色行数,跳转到指定的改动代码块 资源地址: git-pl…...

python的turtle可以定义多个海龟对象

import turtle as t t.color(purple) t.right(10) t.fd(100) t1 t.Turtle() #t1.color(red) t1.left(10) t1.fd(100) t2 t.Turtle() #t2.color(green) t2.left(20) t2.fd(100) t3 t.Turtle() #t3.color(blue) t3.left(30) t3.fd(100) python的turtle可以定义多个海龟对象…...

LocalAI 部署(主要针对 mac m2 启动)

LocalAI 部署 介绍 LocalAI 是免费的开源 OpenAI 替代方案。 LocalAI 充当 REST API 的直接替代品,与本地推理的 OpenAI API 规范兼容。 它无需 GPU,还有多种用途集成,允许您使用消费级硬件在本地或本地运行 LLM、生成图像、音频等等&#…...

Swift Combine 管道 从入门到精通三

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二 1. 用弹珠图描述管道 函数响应式编程的管道可能难以理解。 发布者生成和发送数据,操作符对该数据做出响应并有可能更改它,订阅者请求并接收这些数据。 这…...

【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表

目录 表3-1:定点滤波器功能 表3-2:定点快速傅里叶变换(FFT)函数 表3-3:定点数学函数 表3-4:定点三角函数 表3-5:定点向量函数 表3-6:定点矩阵函数 表3-7:浮点滤波…...

蓝桥杯(Web大学组)2022国赛真题:水果消消乐

思路: 记录点击次数,点击次数为1时,记录点击下标(用于隐藏or消除)、点击种类,点击次数为2时,判断该下标所对应种类与第一次是否相同 相同:两个都visibility:hidden (占…...

LeetCode--代码详解 155.最小栈

155.最小栈 题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶…...

第6讲后端鉴权拦截器实现

后端鉴权拦截器实现 package com.java1234.interceptor;import com.java1234.util.JwtUtils; import com.java1234.util.StringUtil; import io.jsonwebtoken.Claims; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerI…...

uniapp从入门到进阶

一、了解uniapp 跨平台开发:Uniapp可以同时开发多个平台的应用,只需编写一套代码即可。开发者可以通过编写Vue组件来构建界面,通过编写JavaScript代码来实现业务逻辑。 页面和组件:Uniapp的页面和组件都是基于Vue组件的&#xff…...

CDN缓存404、403状态码

可以参考一下:浏览器缓存和 CDN 在前端的落地 事故记录: 前端发版时存在新旧两个容器,在资源替换的间隙,用户请求到的肯定是新容器的html文件,但是根据新容器的html向新静态资源发起请求,此时旧容器还没有…...

【Python网络编程之DHCP服务器】

🚀 作者 :“码上有前” 🚀 文章简介 :Python开发技术 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Python网络编程之DHCP服务器 代码见资源,效果图如下一、实验要求二、协议原理2.1 D…...

【MySQL】:深入理解并掌握DML和DCL

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. DML1.1 添加数据1.2 修改数据1.3 删除数据 二. DCL2.1 管理用户2.2 权限控制…...

CSP-动态规划-最长公共子序列(LCS)

一、动态规划 动态规划(Dynamic Programming,简称DP)主要用于求解可以被分解为相似子问题的复杂问题,特别是在优化问题上表现出色,如最短路径、最大子数组和、编辑距离等。动态规划的核心思想是将原问题分解为较小的子…...

安装nodejs2011并配置npm仓库

1. 安装nodejs 选择2011版本下载 在安装目录(个人情况)下 D:\Program Files\nodejs2011创建2个文件夹: node_global (依赖库) node_cache (缓存) 然后在当前目录下cmd进入dos窗口,执行: npm c…...

排序C++代码(已更:快速排序,归并排序)

一、快速排序 #include<iostream> using namespace std;//设定三个数组&#xff0c;判断排序算法代码的正确性 int a[100]{3,4,2,6,9,7,1,0,1,2,3,3,5,6,7,8,3,4,5}; int b[100]{1,5,3,4}; int c[100]{7,8,9,1,2,3};void quickSort(int* num,int l,int r){if(l>r) re…...

CentOS 7.9安装Tesla M4驱动、CUDA和cuDNN

正文共&#xff1a;1333 字 21 图&#xff0c;预估阅读时间&#xff1a;2 分钟 上次我们在Windows上尝试用Tesla M4配置深度学习环境&#xff08;TensorFlow识别GPU难道就这么难吗&#xff1f;还是我的GPU有问题&#xff1f;&#xff09;&#xff0c;但是失败了。考虑到Windows…...

Java设计模式——策略

前言 策略模式是平时Java开发中常用的一种&#xff0c;虽然已有很多讲解设计模式的文章&#xff0c;但是这里还是写篇文章来从自己理解的角度讲解一下。 使用场景 我们不妨进行场景假设&#xff0c;要对我们的软件进行授权管理&#xff1a;在启动我们的软件之前先要校验是否…...

线性代数的本质 1 向量

向量是线性代数中最为基础的概念。 何为向量&#xff1f; 从物理上看&#xff0c; 向量就是既有大小又有方向的量&#xff0c;只要这两者一定&#xff0c;就可以在空间中随便移动。 从计算机应用的角度看&#xff0c;向量和列表很接近&#xff0c;可以用来描述某对象的几个不同…...

基于JAVA的贫困地区人口信息管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 人口信息管理模块2.2 精准扶贫管理模块2.3 特殊群体管理模块2.4 案件信息管理模块2.5 物资补助模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 人口表3.2.2 扶贫表3.2.3 特殊群体表3.2.4 案件表3.2.5 物资补助表 四…...

【后端高频面试题--Mybatis篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 后端高频面试题--Mybatis篇 什么是Mybatis&#xff1f;Mybatis的优缺点&#xff1f;Mybatis的特点…...

【笔记】Helm-5 Chart模板指南-12 .helmignore文件

.helmignore文件 .helmignore文件用来指定您不想包含在您的helm chart中的文件。 如果该文件存在&#xff0c;helm package命令会在打包应用时忽略所有在.helmignore文件中匹配的文件。 有助于避免不需要的或敏感文件及目录添加到您的helm chart中。 .helmignore文件支持Uni…...

【MySQL】表的增删改查(基础)

MySQL表的增删改查&#xff08;基础&#xff09; 1. CRUD2. 新增&#xff08;Create&#xff09;2.1 单行数据全列插入2.2 多行数据 指定列插入 3. 查询&#xff08;Retrieve&#xff09;3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.4 别名3.5 去重&#xff1a;DISTINCT…...

Android矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置,Kotlin

Android矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置&#xff0c;Kotlin 借鉴 Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心&#xff0c;Kotlin&#xff08;2&#xff09;-CSDN博客 在此基础上实现手指在屏幕上点击后&…...

C语言:表达式求值

引言&#xff1a;在笔试中&#xff0c;有一类的题目&#xff0c;题目给出代码&#xff0c;要求分析得出输出结果。这类题目更加考察我们对于运算顺序和运算类型转换的理解。文章介绍了隐式类型转换和操作符注意点&#xff0c;希望增加读者对于表达式求值的理解。 1.隐式类型转…...

GO 的 Web 开发系列(五)—— 使用 Swagger 生成一份好看的接口文档

经过前面的文章&#xff0c;已经完成了 Web 系统基础功能的搭建&#xff0c;也实现了 API 接口、HTML 模板渲染等功能。接下来要做的就是使用 Swagger 工具&#xff0c;为这些 Api 接口生成一份好看的接口文档。 一、写注释 注释是 Swagger 的灵魂&#xff0c;Swagger 是通过…...

【极数系列】Flink集成KafkaSink 实时输出数据(11)

文章目录 01 引言02 连接器依赖2.1 kafka连接器依赖2.2 base基础依赖 03 使用方法04 序列化器05 指标监控06 项目源码实战6.1 包结构6.2 pom.xml依赖6.3 配置文件6.4 创建sink作业 01 引言 KafkaSink 可将数据流写入一个或多个 Kafka topic 实战源码地址,一键下载可用&#xf…...

我为什么选择Xamarin开发ios app安卓app

临岁之寒简书作者,转载 Xamarin是一项跨平台开发技术&#xff0c;之前是收费的&#xff0c;而且据说收费不菲&#xff0c;所以使用的人数比较少&#xff0c;在国内几乎无人问津。后来Xamarin被微软收购&#xff0c;现已免费开放&#xff0c;相信今后国内的使用人群会大幅地增长…...

安全基础~通用漏洞4

文章目录 知识补充XSS跨站脚本**原理****攻击类型**XSS-后台植入Cookie&表单劫持XSS-Flash钓鱼配合MSF捆绑上线ctfshow XSS靶场练习 知识补充 SQL注入小迪讲解 文件上传小迪讲解 文件上传中间件解析 XSS跨站脚本 xss平台&#xff1a; https://xss.pt/ 原理 恶意攻击者…...

2024/2/12 图的基础知识 2

目录 查找文献 P5318 【深基18.例3】查找文献 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 有向图的拓扑序列 848. 有向图的拓扑序列 - AcWing题库 最大食物链计数 P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 查找文献 P5318 【深基18.例3】…...

无人机飞行原理,多旋翼无人机飞行原理详解

多旋翼无人机升空飞行的首要条件是动力&#xff0c;有了动力才能驱动旋粪旋转&#xff0c;才能产生克服重力所必需的升力。使旋翼产生升力&#xff0c;进而推动多旋翼无人机升空飞行的一套设备装置称为动力装置&#xff0c;包括多旋翼无人机的发动机以及保证发动机正常工作所必…...

docker本地目录挂载

小命令 1、查看容器详情 docker inspect 容器名称 还是以nginx为例&#xff0c;上篇文章我们制作了nginx静态目录的数据卷&#xff0c;此时查看nginx容器时会展示出来&#xff08;docker inspect nginx 展示信息太多&#xff0c;这里只截图数据卷挂载信息&#xff09;&#…...

使用C++从零开始,自己写一个MiniWeb

第一步&#xff1a;新建项目 1、打开VS点击创建新项目 2、选择空项目并点下一步&#xff08;切记不能选错项目类型&#xff09; 3、填写项目名称和路径&#xff0c;点击创建即可 新建好后项目是这样的比较干净 4、右击源文件&#xff0c;点击添加&#xff0c;新建http.cpp文件…...

Android Graphics 图像显示系统 - 开篇

“ 随着学习的不断深入和工作经验的积累&#xff0c;欲将之前在博客中整理的Android Graphics知识做进一步整理&#xff0c;并纠正一些理解上的错误&#xff0c;故开设Graphics主题系列文章 ” 序言 由于工作需要&#xff0c;也源于个人兴趣&#xff0c;终于下决心花时间整理一…...

机器学习在各个行业的应用介绍

随着科技的飞速发展&#xff0c;机器学习已经从实验室走向了现实世界&#xff0c;逐渐成为各行各业不可或缺的工具。从金融领域到医疗健康&#xff0c;从零售市场到制造业&#xff0c;机器学习正在改变着我们的工作方式和生活质量。 本文将深入探讨机器学习在以下几个领域的应用…...

【生产实测有效】Windows命令行查看激活状态脚本

Windows查看激活状态关键代码 通过windows server 自带的PowerShell来执行 Get-WmiObject SoftwareLicensingProduct | Select-Object -Property Description, LicenseStatus | findstr "Operating System"|findstr "1$"Get-WmiObject SoftwareLicensingPr…...

简单的Udp服务器

目录 简单的UDP网络程序1.1 UdpServer.hpp1.2 UdpClient.cc1.3 main.cc1.4 makefile1.5 log.hpp 简单的UDP网络程序 1.1 UdpServer.hpp #pragma once#include <iostream> using namespace std;#include <unistd.h> #include <sys/types.h> #include <sy…...

【Linux进程间通信】用管道实现简单的进程池、命名管道

【Linux进程间通信】用管道实现简单的进程池、命名管道 目录 【Linux进程间通信】用管道实现简单的进程池、命名管道为什么要实现进程池&#xff1f;代码实现命名管道创建一个命名管道 理解命名管道匿名管道与命名管道的区别命名管道的打开规则 作者&#xff1a;爱写代码的刚子…...

Linux操作系统基础(九):Linux用户与权限

文章目录 Linux用户与权限 一、文件权限概述 二、终端命令&#xff1a;组管理 三、终端命令&#xff1a;用户管理 1、创建用户 、 设置密码 、删除用户 2、查看用户信息 3、su切换用户 4、sudo 4.1、给指定用户授予权限 4.2、使用 用户 zhangsan登录, 操作管理员命令…...

蓝桥杯——第 5 场 小白入门赛(c++详解!!!)

文章目录 1 十二生肖基本思路&#xff1a; 2 欢迎参加福建省大学生程序设计竞赛基本思路&#xff1a;代码&#xff1a; 3 匹配二元组的数量基本思路&#xff1a;代码: 4 元素交换基本思路&#xff1a;代码&#xff1a; 5 下棋的贝贝基本思路&#xff1a;代码&#xff1a; 6 方程…...

Codeforces Round 303 (Div. 2)C. Kefa and Park(DFS、实现)

文章目录 题面链接题意题解代码总结 题面 链接 C. Kefa and Park 题意 求叶节点数量&#xff0c;叶节点满足&#xff0c;从根节点到叶节点的路径上最长连续1的长度小于m 题解 这道题目主要是实现&#xff0c;当不满足条件时直接返回。 到达叶节点后统计答案&#xff0c;用…...

797. 差分

Problem: 797. 差分 文章目录 思路解题方法复杂度Code 思路 这是一个差分数组的问题。差分数组的主要适用场景是频繁对原始数组的某一个区间进行增减操作。这种操作是区间修改操作&#xff0c;在这种操作下&#xff0c;差分数组只需要对区间的两个端点进行操作&#xff0c;时间…...