《HelloGitHub》第 90 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
简介
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
https://github.com/521xueweihan/HelloGitHub
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
以下为本期内容|每个月 28 号更新
C 项目
1、BlackHole:适用于 macOS 的虚拟音频驱动。在 macOS 上录制过视频的同学,应该都遇到过收录电脑声音的问题,采用公放的方式对环境要求极高。该项目是一款 macOS 上的虚拟音频驱动,它可以零延迟地将输出的音频传递给其他应用,从而不受周围环境的影响,轻松录制电脑的声音,支持 Intel 和 Apple 芯片。
地址:https://github.com/ExistentialAudio/BlackHole
2、c4:用 4 个函数实现的 C 语言编译器。该项目仅用了 500+ 行代码、4 个函数,就实现了一个小型 C 语言编译器。但因为它的代码过于精简,所以源码阅读起来并不轻松。
地址:https://github.com/rswier/c4
C# 项目
3、optimizer:超好用的 Windows 优化器。这是一款强大的 Windows 系统优化工具,它体积小、功能丰富,支持包括中文在内的 22 种语言,能够禁用不必要的 Windows 服务、删除多余的启动程序、关闭用不到的功能,提升 Windows 系统的使用体验和性能。
地址:https://github.com/hellzerg/optimizer
4、Translumo:免费开源的屏幕实时翻译工具。该项目可以对屏幕上选定区域内显示的文本进行实时翻译,可识别英语、俄语、中文等语言。用户可自行选择 Tesseract、WindowsOCR、EasyOCR 多种 OCR 引擎,以及包括谷歌翻译在内的多种翻译源。
地址:https://github.com/Danily07/Translumo
C++ 项目
5、duckdb:一款类似 SQLite 的分析型数据库。该项目是用 C++ 写的 OLAP(联机分析处理)数据库,没有外部依赖项、不作为独立进程运行,可以看作是 OLAP 版本的 SQLite。它方便、快速、易于使用,提供了丰富的 SQL 方言,支持 JOIN、聚合、窗口函数、直接查询 CSV 和 JSON 文件等功能。
SELECT * FROM 'HelloGitHub.csv';
SELECT * FROM 'HelloGitHub.parquet';
地址:https://github.com/duckdb/duckdb
6、kakoune:一款神似 Vim 的代码编辑器。拥有极简的界面和便捷的编辑模型的代码编辑器,虽然它的设计灵感源自 Vim,但在功能和交互性上“青出于蓝而胜于蓝”。操作上更加的快捷方便,默认支持语法高亮、自动补全等功能,适用于 Linux 和 macOS 操作系统。
地址:https://github.com/mawww/kakoune
7、SafeLine:一款简单好用的 Web 应用防火墙。该项目底层基于 Nginx 的 Web 网关,作为反向代理接入网络。采用智能语意分析算法,清洗来自黑客的恶意流量,保护你的网站不受黑客攻击。它安装简单、免费版功能够用,但项目仅开源了核心算法和底层引擎。来自 @孤胆枪手 的分享
地址:https://github.com/chaitin/SafeLine
8、smartknob:自己动手制作一款触感智能旋钮。这是一款开源的智能旋钮设备,可自定义端点位置、虚拟制动、触觉反馈,并带有一个圆形 LCD,十分炫酷好玩。
地址:https://github.com/scottbez1/smartknob
9、typesense:一款快如闪电的开源搜索引擎。该项目是用 C++ 编写的即时搜索引擎,具有开箱即用、搜索速度快、自动更正拼写错误、地理搜索、默认分词器支持中文等特点。
地址:https://github.com/typesense/typesense
CSS 项目
10、pokemon-cards-css:炫酷的神奇宝贝卡牌 CSS 效果。该项目是口袋怪兽卡高级 CSS 样式集合,使用了 3D 变换、滤镜、渐变等技术,实现了眩光、纹理、银河全息、垂直光束等效果。
地址:https://github.com/simeydotme/pokemon-cards-css
Go 项目
11、asynq:纯 Go 写的简单、可靠的分布式任务队列。这是一个基于 Redis 的轻量级异步任务队列,它会为每个任务启动一个 goroutine,支持任务失败重试、优先级队列、定时任务、唯一任务等功能。
地址:https://github.com/hibiken/asynq
12、carbon:一个对开发者友好的 Go 时间处理库。这是一个功能丰富、容易上手的 Go 时间库,支持时间转换、时间差、时间旅行、星座、季节、农历、多语言等功能。
lang := carbon.NewLanguage()
lang.SetLocale("zh-CN")c := carbon.SetLanguage(lang)
if c.Error != nil {// 错误处理log.Fatal(err)
}c.Now().AddHours(1).DiffForHumans() // 1 小时后
c.Now().AddHours(1).ToMonthString() // 八月
c.Now().AddHours(1).ToShortMonthString() // 8月
c.Now().AddHours(1).ToWeekString() // 星期二
c.Now().AddHours(1).ToShortWeekString() // 周二
c.Now().AddHours(1).Constellation() // 狮子座
c.Now().AddHours(1).Season() // 夏季
地址:https://github.com/golang-module/carbon
13、nezha:国产的轻量级服务器监控工具。这是一款名为“哪吒”的服务器监控面板,它安装简单、开箱即用,支持监控多个服务器的系统状态、SSL 证书状态、报警通知、流量监控、设置定时任务等功能,适用于 Linux、Windows、macOS、OpenWRT 等主流系统。来自 @两双筷子sqldc 的分享
地址:https://github.com/naiba/nezha
14、sonyflake:Go 语言的分布式 ID 生成库。该项目是索尼开源的分布式唯一 ID 生成器,灵感来自知名的 Twitter 雪花算法(Snowflake)。它比 Snowflake 慢,但拥有更长的寿命,可以在更多的机器上工作,适用于更大的分布式集群。
地址:https://github.com/sony/sonyflake
Java 项目
15、Algorithms:一个用 Java 实现的算法和数据结构的集合。算法和数据结构的重要性无需多言,该项目提供了常见的数据结构和算法最简单、优雅的 Java 代码实现,不管是用于学习还是开发都是不错的选择。来自 @孤胆枪手 的分享
地址:https://github.com/williamfiset/Algorithms
16、Stirling-PDF:允许对 PDF 文件做各种操作的 Web 应用。这是一款功能强大、开箱即用的 PDF 工具,支持拆分/合并文件、添加/提取图片、压缩、加水印、添加/删除密码等功能,满足你对 PDF 文件的所有需求。
地址:https://github.com/Frooodle/Stirling-PDF
JavaScript 项目
17、Bangumi:类似豆瓣的二次元爱好者社区客户端。这是一个基于 React Native 构建的二次元社区 Bangumi 第三方客户端。它免费、无广告、因爱好而生、专为移动端设计,支持番组进度管理、用户动态、贴吧、搜索、排行榜、标签等功能。
地址:https://github.com/czy0729/Bangumi
18、deprank:通过 PageRank 找到代码库中最重要的文件。该项目基于 PageRank 算法和源文件依赖关系,找到 JavaScript/TypeScript 代码仓库中被依赖最多的文件。
地址:https://github.com/codemix/deprank
19、json-server:仅需 30 秒、不用写代码就能模拟接口数据。这是一款小巧的接口模拟工具,它使用起来十分简单,只需创建 JSON 文件,然后一条命令就能快速启动接口服务。
# 安装
npm install -g json-server
# 启动
json-server --watch db.json
地址:https://github.com/typicode/json-server
20、mind-map:一个好用的 Web 思维导图。该项目包含一个不依赖任何框架的思维导图 JavaScript 库,以及一个采用 Vue.js+ElementUI 开发的支持本地部署、功能丰富的在线思维导图应用。
import MindMap from "simple-mind-map";const mindMap = new MindMap({el: document.getElementById('mindMapContainer'),data: {"data": {"text": "根节点"},"children": []}
});
地址:https://github.com/wanglin2/mind-map
21、yunxiaozhi:一款开源的校园教务查询微信小程序。该项目是由学生开发的智慧校园小程序,支持课程表查询、成绩查询、考试安排、空教室查询、水电查询等功能。
地址:https://github.com/danbaixi/yunxiaozhi
Kotlin 项目
22、gkd:自定义屏幕点击的 Android 应用。该项目是基于无障碍功能的手机自动点击工具,支持自定义或订阅点击规则,可用来自动完成点击跳过广告、同意按钮、领红包等操作。
地址:https://github.com/gkd-kit/gkd
Python 项目
23、argos-translate:用 Python 写的开源离线翻译库。该项目是基于 OpenNMT(神经网络机器翻译框架)的离线翻译 Python 库,它不依赖任何第三方翻译接口,支持翻译包括中文在内的 30 多种语言。
import argostranslate.package
import argostranslate.translatefrom_code = "en"
to_code = "es"# Download and install Argos Translate package
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(filter(lambda x: x.from_code == from_code and x.to_code == to_code, available_packages)
)
argostranslate.package.install_from_path(package_to_install.download())# Translate
translatedText = argostranslate.translate.translate("Hello World", from_code, to_code)
print(translatedText)
# '¡Hola Mundo!'
地址:https://github.com/argosopentech/argos-translate
24、mwmbl:一个用 Python 写的开源、非营利搜索引擎。这是一款采用 pandas、FastAPI、scikit-learn、jusText 构建的非营利、无广告、无跟踪的小型搜索引擎,它界面简约、速度快,搜索结果无“外界因素”干扰。
地址:https://github.com/mwmbl/mwmbl
25、prettymaps:绘制好看的地图海报的 Python 库。该项目可以将 OpenStreetMap 的地图数据绘制成漂亮的地图海报,上手简单可自定义填充颜色。
地址:https://github.com/marceloprates/prettymaps
26、webdriver_manager:轻松管理 WebDriver 的 Python 库。经常写爬虫的小伙伴应该都遇到过找 WebDriver 路径的情况吧!用了这个项目,将无需一次又一次地重复寻找 WebDriver 在哪里啦。
# 之前
from selenium import webdriver
driver = webdriver.Chrome('/home/user/drivers/chromedriver')# 现在
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
地址:https://github.com/SergeyPirogov/webdriver_manager
27、youre-the-os:模拟计算机操作系统的游戏。这是一个 Python 写的 Web 游戏,在游戏中玩家扮演的是一台计算机的操作系统。玩家必须通过管理进程、内存和 I/O 事件,不让进程闲置太久,因为进程等待太久就会退出,如果退出的进程达到一定数量后,计算机就会重启则游戏失败。
地址:https://github.com/plbrault/youre-the-os
Ruby 项目
28、docuseal:开源的文件在线签署平台。这是一款用 Ruby 写的在线签署文件平台,它开箱即用、容易上手、移动端友好,支持拖拽的方式创建 PDF 表单、在线填写和签名、自动发送邮件、用户管理等功能。
地址:https://github.com/docusealco/docuseal
Rust 项目
29、lettura:极简的开源 RSS 阅读器。这是一款基于 Tauri 开发的桌面 RSS 阅读器,它免费、无广告、界面清爽,适用于 macOS 和 Windows 操作系统。
地址:https://github.com/zhanglun/lettura
30、privaxy:Rust 写的跟踪和广告拦截工具。该项目基于 MITM 中间人攻击原理,在两端之间建立双向隧道,通过过滤 URL 地址阻止广告的请求,实现拦截广告的效果。它占用内存少、速度快,支持自动更新过滤列表、统计信息显示、自定义过滤列表等功能。
地址:https://github.com/Barre/privaxy
Swift 项目
31、TomatoBar:精致的 macOS 菜单栏番茄时钟。这是一款 macOS 上的番茄时钟应用,它小巧精致、界面简洁,支持设置工作和休息间隔、提示音、全局热键等功能。
地址:https://github.com/ivoronin/TomatoBar
32、XcodesApp:Xcode 安装和切换的实用工具。Xcode 是 macOS 系统向开发人员提供的集成开发环境,该项目可以轻松安装和切换各个版本的 Xcode,采用 aria2 下载速度更快,Xcode 发行版数据来自苹果官网。
地址:https://github.com/XcodesOrg/XcodesApp
其它
33、catppuccin:超看好的主题配色方案。该项目是由社区驱动的配色方案,内含以暖色调为主、色彩丰富的主题,可用于 VSCode、JetBrains、Vim 等编辑器和 IDE,同样适用于各种编程语言的开发库、终端、操作系统、浏览器等应用。
地址:https://github.com/catppuccin/catppuccin
34、keyviz:一款免费的实时键鼠输入可视化软件。该项目可以将鼠标和键盘的操作展示到屏幕上,让观众可以看到你的键鼠操作。适用于截图、录制视频、演示和协作等场景,支持 Windows、Linux 和 macOS 操作系统。
地址:https://github.com/mulaRahul/keyviz
35、LearnPrompt:免费开源的 AIGC 课程。该项目对新手友好、无需 AI 知识也可轻松学习,它不仅会传授如何用好 AIGC,还会深入讨论 AI 相关的知识,内容包括 ChatGPT、Runway、Midjourney、Stable Diffusion、AI 数字人等方面。
地址:https://github.com/LearnPrompt/LearnPrompt
36、python-weekly:Python 潮流周刊。这是一份由「豌豆花下猫」制作的每周更新的 Python 周刊,内容包括 Python 的精品文章、教程、开源项目、工具、视频和热门话题等。
地址:https://github.com/chinesehuazhou/python-weekly
37、TechStack:显示 GitHub 项目所用技术栈的浏览器插件。该项目可以展示用户正在访问的 GitHub 仓库的技术栈,帮助用户快速了解项目的更多信息。来自 @CorrectRoadH 的分享
地址:https://github.com/Get-Tech-Stack/TechStack
38、webgl-fundamentals:从基础理论讲起的 WebGL 教程。这是一份从基础的数学知识讲起的 WebGL 系列教程,内含中文翻译版本。
地址:https://github.com/gfxfundamentals/webgl-fundamentals
开源书籍
39、css-animation-101:《CSS 动画入门秘籍》。这本书主要是介绍 CSS 中的动画(CSS animation),内容包含什么是 CSS animation、transition 属性、如何制作复杂的动效以及丰富的示例,教会你如何将 CSS 动画应用到你的项目中。
地址:https://github.com/cssanimation/css-animation-101
40、how-to-write-makefile:《跟我一起写 Makefile》。该项目是陈皓整理自《GUN Make Manual 》的系列文章 PDF 重制版,作者对其进行了排版优化、代码高亮等操作,阅读起来更加舒服,可作为初学者上手 Makefile 的教程。
地址:https://github.com/seisman/how-to-write-makefile
机器学习
41、hcaptcha-challenger:优雅地处理 hCaptcha 验证码的库。该项目不依赖浏览器插件和第三方反验证码服务,通过机器学习的方式处理 hCaptcha 验证码。它采用 ResNet 和 YOLOv8 处理分类和检测问题,通过 ONNX 打包模型降低使用门槛,让用户可在没有 GPU 的设备上运行代码,且无需安装 PyTorch 等依赖,优雅地面对 hCaptcha 验证码。来自 @QIN2DIM 的分享
import os
from pathlib import Pathimport hcaptcha_challenger as solver# Init local-side of the ModelHub
solver.install()# Challenge prompt of binary challenge
prompt = "diamond bracelet"# Load challenge images, assuming you've already downloaded them.
label_dir = Path(__file__).parent.joinpath("diamond_bracelet")
images = [label_dir.joinpath(fn).read_bytes() for fn in os.listdir(label_dir)]def bytedance():classifier = solver.BinaryClassifier()# type: List[bool | None]# IF True --> click image# ELIF False --> bypass image# ELSE --> Something err if result := classifier.execute(prompt, images):for i, name in enumerate(os.listdir(label_dir)):print(f"{name} - {result[i]}")if __name__ == "__main__":bytedance()
地址:https://github.com/QIN2DIM/hcaptcha-challenger
42、jax:谷歌开源的高性能科学计算库。这是一个结合了即时编译(JIT)、自动求导(Autograd)、线性代数编译器(XLA) 的数值计算 Python 库,用法和 NumPy 差不多。但 JAX 更快、更省内存,支持自动微分、自动向量化、并行计算等功能。
from jax import grad
import jax.numpy as jnpdef tanh(x): # Define a functiony = jnp.exp(-2.0 * x)return (1.0 - y) / (1.0 + y)grad_tanh = grad(tanh) # Obtain its gradient function
print(grad_tanh(1.0)) # Evaluate it at x = 1.0
# prints 0.4199743
# 自动求导
print(grad(grad(grad(tanh)))(1.0))
# prints 0.62162673
地址:https://github.com/google/jax
43、sd-webui-EasyPhoto:你的智能 AI 照片生成工具。这是一款用于生成 AI 肖像画的 WebUI 插件,可用于生成专业质感的照片,相当于免费、可本地部署的妙鸭相机。
地址:https://github.com/aigc-apps/sd-webui-EasyPhoto
最后
感谢乐于分享开源项目的小伙伴们,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。
以上就是本期的所有内容,感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享 ❤️ 还没看过瘾?点击阅读往期内容。
- END -
关注「HelloGitHub」第一时间收到更新
点击阅读原文可按照编程语言查看项目
相关文章:
《HelloGitHub》第 90 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 …...
Apache Hudi初探(五)(与flink的结合)--Flink 中hudi clean操作
背景 本文主要是具体说说Flink中的clean操作的实现 杂说闲谈 在flink中主要是CleanFunction函数: Overridepublic void open(Configuration parameters) throws Exception {super.open(parameters);this.writeClient FlinkWriteClients.createWriteClient(conf,…...
stream对list数据进行多字段去重
方法一: //根据sj和name去重 List<NursingHandover> testList list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getj() ";" o.getName() ";&…...
一种基于体素的射线检测
效果 基于体素的射线检测 一个漏检的射线检测 从起点一直递增指定步长即可得到一个稀疏的检测 bool Raycast(Vector3 from, Vector3 forword, float maxDistance){int loop 6666;Vector3 pos from;Debug.DrawLine(from, from forword * maxDistance, Color.red);while (loo…...
利用Docker安装Protostar
文章目录 一、Protostar介绍二、Ubuntu下安装docker三、安装Protostar 一、Protostar介绍 Protostar是一个免费的Linux镜像演练环境,包含五个系列共23道漏洞分析和利用实战题目。 Protostar的安装有两种方式 第一种是下载镜像并安装虚拟机https://github.com/Exp…...
go基础语法10问
1.使用值为 nil 的 slice、map会发生啥 允许对值为 nil 的 slice 添加元素,但对值为 nil 的 map 添加元素,则会造成运行时 panic。 // map 错误示例 func main() {var m map[string]intm["one"] 1 // error: panic: assignment to entry i…...
SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题
title: “SpringCloud SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题” createTime: 2021-11-24T10:27:5708:00 updateTime: 2021-11-24T10:27:5708:00 draft: false author: “Atomicyo” tags: [“tomcat”] categories: [“java”] description: …...
vim基本操作
功能: 命令行模式下的文本编辑器。根据文件扩展名自动判别编程语言。支持代码缩进、代码高亮等功能。使用方式:vim filename 如果已有该文件,则打开它。 如果没有该文件,则打开个一个新的文件,并命名为filename 模式…...
Drift plus penalty 漂移加惩罚Part1——介绍和工作原理
文章目录 正文Methodology 方法论Origins and applications 起源和应用How it works 它是怎样工作的The stochastic optimization problem 随机优化问题Virtual queues 虚拟队列The drift-plus-penalty expression 漂移加惩罚表达式Drift-plus-penalty algorithmApproximate sc…...
(四)动态阈值分割
文章目录 一、基本概念二、实例解析 一、基本概念 基于局部阈值分割的dyn_threshold()算子,适用于一些无法用单一灰度进行分割的情况,如背景比较复杂,有的部分比前景目标亮,或者有的部分比前景目标暗;又比如前景目标包…...
jvm介绍
1. JVM是什么 JVM是Java Virtual Machine的缩写,即咱们经常提到的Java虚拟机。虚拟机是一种抽象化的计算机,有着自己完善的硬件架构,如处理器、堆栈等,具体有什么咱们不做了解。目前我们只需要知道想要运行Java文件,必…...
数据结构与算法课后题-第三章(顺序队和链队)
#include <iostream> //引入头文件 using namespace std;typedef int Elemtype;#define Maxsize 5 #define ERROR 0 #define OK 1typedef struct {Elemtype data[Maxsize];int front, rear;int tag; }SqQueue;void InitQueue(SqQueue& Q) //初始化队列 {Q.rear …...
SSM - Springboot - MyBatis-Plus 全栈体系(十六)
第三章 MyBatis 三、MyBatis 多表映射 2. 对一映射 2.1 需求说明 根据 ID 查询订单,以及订单关联的用户的信息! 2.2 OrderMapper 接口 public interface OrderMapper {Order selectOrderWithCustomer(Integer orderId); }2.3 OrderMapper.xml 配置…...
k8s--storageClass自动创建PV
文章目录 一、storageClass自动创建PV1.1 安装NFS1.2 创建nfs storageClass1.3 测试自动创建pv 一、storageClass自动创建PV 这里使用NFS实现 1.1 安装NFS 安装nfs-server: sh nfs_install.sh /mnt/data03 10.60.41.0/24nfs_install.sh #!/bin/bash### How to i…...
7.3 调用函数
前言: 思维导图: 7.3.1 函数调用的形式 我的笔记: 函数调用的形式 在C语言中,调用函数是一种常见的操作,主要有以下几种调用方式: 1. 函数调用语句 此时,函数调用独立存在,作为…...
如果使用pprof来进行性能的观测和优化
1. 分析性能瓶颈 在开始优化之前,首先需要确定你的程序的性能瓶颈在哪里。使用性能分析工具(例如 Go 的内置 pprof 包)来检测程序中消耗时间和内存的地方。这可以帮助你确定需要优化的具体部分。 2. 选择适当的数据结构和算法 选择正确的数…...
在移动固态硬盘上安装Ubuntu系统和ROS2
目录 原视频准备烧录 原视频 b站鱼香ros 准备 1.在某宝上买一个usb移动固态硬盘或固态U盘,至少64G 2.下载鱼香ros烧录工具 下载第二个就行了,不然某网盘的速度下载全部要一天 下载后,选择FishROS2OS制作工具压缩包,进行解压…...
【iptables 实战】02 iptables常用命令
一、iptables中基本的命令参数 -P 设置默认策略-F 清空规则链-L 查看规则链-A 在规则链的末尾加入新规则-I num 在规则链的头部加入新规则-D num 删除某一条规则-s 匹配来源地址IP/MASK,加叹号“!”表示除这个IP外-d 匹配目标地址-i 网卡名称 匹配从这块…...
webview_flutter
查看webview内核 https://liulanmi.com/labs/core.html h5中获取设备 https://cloud.tencent.com/developer/ask/sof/105938013 https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/mediaDevices web资源部署后navigator获取不到mediaDevices实例的解决方案&…...
【GESP考级C++】1级样题 闰年统计
GSEP 1级样题 闰年统计 题目描述 小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(包含起始年份和终止年份)有几个闰年。你能帮帮他吗? 输入格式 输入一行,包含两个整数,分别表示起始年份和终止…...
CentOS密码重置
背景: 我有一个CentOS虚拟机,但是密码忘记了,偶尔记起可以重置密码,于是今天尝试记录一下,又因为我最近记性比较差,所以必须要记录一下。 过程: 1、在引导菜单界面(grubÿ…...
Tomcat Servlet
Tomcat & Servlet 一、What is “Tomcat”?二、 What is “Servlet”?1、HttpServlet2、HttpServletRequest3、HttpServletResponse 一、What is “Tomcat”? Tomcat 本质上是一个基于 TCP 协议的 HTTP 服务器。我们知道HTTP是一种应用层协议,是 HTTP 客户端…...
国庆day2---select实现服务器并发
select.c: #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)#define IP "192.168.1.3" #define PORT 8888int main(int argc, const char *argv[]) {//创建报式套接字socketi…...
Grafana 开源了一款 eBPF 采集器 Beyla
eBPF 的发展如火如荼,在可观测性领域大放异彩,Grafana 近期也发布了一款 eBPF 采集器,可以采集服务的 RED 指标,本文做一个尝鲜介绍,让读者有个大概了解。 eBPF 基础介绍可以参考我之前的文章《eBPF Hello world》。理…...
亲测可用国产GPT人工智能
分享一些靠谱、可用、可以白嫖的GPT大模型。配合大模型,工作效率都会极大提升。 清华大学ChatGLM 官网: 智谱清言中国版对话语言模型,与GLM大模型进行对话。https://chatglm.cn/开源的、支持中英双语的1300亿参数的对话语言模型࿰…...
适配器模式详解和实现(设计模式 四)
适配器模式将一个类的接口转换成客户端所期望的另一个接口,解决由于接口不兼容而无法进行合作的问题。 设计基本步骤 1. 创建目标接口(Target Interface),该接口定义了客户端所期望的方法。 2.创建被适配类(Adaptee…...
IDEA的使用
文章目录 1.IDEA配置1.1 idea界面说明1.2 git1.3 JDK1.4 maven1.5 Tomcat1.6 idea设置编码格式1.7 vscodenodejs1.8 windows下安装redis 2. IDEA问题2.1 setAttribute方法爆红2.2 idea cannot download sources解决办法2.3 springboot项目跑起来不停run 3. vscode3.1 vscode显示…...
CSS详细基础(二)文本样式
插播一条CSS的工作原理: CSS是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和显示的方式。CSS样式可以直接存储于HTML网页或者单独的样式单文件。无论哪一种方式,样式单包含将样式应用到指定类型的元素的规则。…...
win10系统任务栏图标变成白色的解决办法
我平时都是用滴答清单进行管理这个自己的日程代办的,但是今天打开的时候发现这个快捷方式突然变成纯白色的了,重启电脑之后,这个图标的样式仍然没有变化。上网查找解决办法之后,终于搞好了,于是就有了下面的教程。 为什…...
hadoop生态现状、介绍、部署
一、引出hadoop 1、hadoop的高薪现状 各招聘平台都有许多hadoop高薪职位,可以看看职位所需求的技能 ----> hadoop是什么,为什么会这么高薪?引出大数据,大数据时代,大数据与云计算 2、大数据时代的介绍 大数据的故事…...
网站在线备案/店铺运营
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。介绍意图:允许对象在内部状态发生改变时改变它…...
建筑设计资料网站/网站seo关键词优化
网络游戏的数据变动比较频繁,如果每次数据变动都刷往后端数据库,会导致数据库不负重荷。在游戏逻辑和数据库间提供一层缓冲服务,有利于减轻这重压力. 首先,网络游戏的数据在数据库中是以表的形式保存的,每个玩家的数据…...
全国加盟网站官网/百度搜索推广流程
1.能看到文件夹本身,但是不能访问 セキュリティ⇒編集⇒选中要设置的某个用户⇒拒否のcheck box行中选中以下两项 適用⇒OK⇒OK 2.看不到文件夹本身 方法① セキュリティ⇒編集⇒选中要设置的某个用户⇒拒否のcheckbox行中选中以下选项 適用⇒OK⇒OK 方法② セキュリ…...
地方门户网站建设要求/怎么样才能引流客人进店
单元格的高度自适应原理就是通过内部label的高度变化来增加和减少单元格的高度。 - (UILabel *)label { if(_label nil) { _label [[UILabel alloc] init]; [self.contentView addSubview:_label]; _label.numberOfLines 0; [_label mas_makeConstraints:^(MASConstraintMak…...
wordpress解释/企业网站的网络营销功能
以华为mate30为例,版本系统为EMUI10,其华为系统恢复获取安装包信息失败的原因如下:1、此情况可能是下载的软件安装包不完整,建议您在网络稳定的情况下,重新下载安装。2、查看手机内存是否充足。3、检查其他软件是否可以…...
成都网站建设优惠活动/网站友情链接交易平台
在浏览器支持的 CSS position: fixed (大多数的桌面浏览器, iOS5, Android 2.2, BlackBerry 6, 和其他)。工具栏使用“固定工具栏”插件将被固定在视图的顶部或底部,当页面自由滚动,固定栏始终浮动在屏幕的顶部或者底部。在浏览器不支持固定定位…...