《HelloGitHub》第 82 期

news2024/11/20 12:35:51

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

9efedc78b2512e29ef896c89e2d53504.png

简介

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

https://github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!


以下为本期内容|每个月 28 号更新

C 项目

1、bare-metal-programming-guide:裸机编程指南。这是一份教你如何在不依赖 IDE 的情况下,进行单片机开发的教程。内容先是介绍了寄存器、向量表、启动代码、链接脚本等知识点,最后实现了一个带设备仪表盘的 Web 服务器。

c2bdcfae714bd2bba69ab427037a23d9.png

地址:https://github.com/cpq/bare-metal-programming-guide

2、sumatrapdf:免费小巧的开源 PDF 阅读器。这是一款体积小、占用内存少、启动速度快的 Windows PDF 阅读工具,拥有日常所需的所有功能和简约大方的界面,这一切不多不少刚刚好。

790260da14e9f4cecc4015ccd190bbec.png

地址:https://github.com/sumatrapdfreader/sumatrapdf

3、ZSWatch:自制开源智能手表。该项目是基于开源 Zephyr 的智能手表,设备包含了一个分辨率为 240x240 的 IPS TFT 圆形屏幕和 3 个按钮(上一页/下一页/进入),支持计步、血氧仪、心率仪、蓝牙等功能。

c7a0643f896f529b78f6b60be041952b.gif

地址:https://github.com/jakkra/ZSWatch

C# 项目

4、carnac:用于展示键盘按键操作的工具。这是一款能够在桌面实时显示键盘操作记录的工具,多用于演示应用、录制教程等场景,适用于 Windows 7 及以上的操作系统。

15dae9d3306b0b133077c1a6b9e6bb16.gif

地址:https://github.com/Code52/carnac

5、downkyi:一款多功能的 B 站视频下载工具。这是一款简单易用的哔哩哔哩视频下载工具,它拥有简洁的操作界面,使用起来十分方便。支持批量下载、音视频提取、去水印等功能。

72a9952ac1b6e8c2878c5492c3897575.png

地址:https://github.com/leiurayer/downkyi

6、SeeSharpSnake:用 C# 写一个小于 8KB 的贪吃蛇。这个项目的重点不是教你如何用 C# 写出一个贪吃蛇游戏,而是讲解怎么将编译后的 C# 贪吃蛇程序,从最初的 65MB 精简成 8KB 大小、可以独立运行的应用。

# To build the 4.7 MB version of the game
dotnet publish -r win-x64 -c Release /p:Mode=CoreRT
# To build the 4.3 MB version of the game
dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-Moderate
# To build the 3.0 MB version of the game
dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-High
# To build the 1.2 MB version of the game
dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-ReflectionFree
# To build the 10 kB version of the game
dotnet publish -r win-x64 -c Release /p:Mode=CoreRT-NoRuntime
53c1e4797720791288bb1f48de089717.png

地址:https://github.com/MichalStrehovsky/SeeSharpSnake

C++ 项目

7、cpp-httplib:一个文件的 C++ HTTP/HTTPS 库。这是一个用 C++11 写的仅头文件、跨平台的 HTTP/HTTPS 服务器端和客户端库,使用时十分方便,只需在代码中引入 httplib.h 文件。

#define CPPHTTPLIB_OPENSSL_SUPPORT
#include "path/to/httplib.h"

// HTTPS
httplib::Client cli("https://hellogithub.com");

auto res = cli.Get("/periodical");
res->status;
res->body;

地址:https://github.com/yhirose/cpp-httplib

8、Ripes:RISC-V 的模拟器和汇编编辑器。该项目可以通过图形化的方式,展示机器代码在各种微架构上运行的过程,可用于探索不同的高速缓存设计对性能的影响等问题。

fe3890dcca24d53165cf8bd2c5871656.gif

地址:https://github.com/mortbopet/Ripes

9、SFML:简单高效的 C++ 多媒体库。这是一个可用来简化游戏和多媒体应用开发的 C++ 库,因其上手门槛低和良好的生态,成为了众多 C++ 新手入门图形化开发的首选。

e793cd8af223fe7b93e1f4071464837b.png

地址:https://github.com/SFML/SFML

CSS 项目

10、css:GitHub 开源的设计系统。由 GitHub 设计团队开源和维护的项目,包含了 GitHub 的界面设计原则、使用指南和开箱即用的 UI 组件。

c25b2553d6cb3a307d6b026d006b529e.png

地址:https://github.com/primer/css

Go 项目

11、d2:一种可将文本转换为图表的脚本语言。该项目是一种图表脚本语言,可将文本转换为图表。你只需描述想要的图表,它就会生成对应的图像。

echo 'x -> y' > input.d2
d2 -w input.d2 out.svg
e87f9cb43dc7c12c211c4aeaebaf6b45.gif

地址:https://github.com/terrastruct/d2

12、grpcurl:类似 cURL 但用于 gRPC 的工具。一款实现与 gRPC 服务器交互的命令行工具,可以轻松请求 gRPC 服务,就像 gRPC 版的 cURL 一样好用。

# 安装
brew install grpcurl
# 使用
grpcurl grpc.server.com:443 my.custom.server.Service/Method

地址:https://github.com/fullstorydev/grpcurl

13、shifu:一款云原生物联网开发框架。这是一个生产级别的物联网平台,它可以将物联网(IoT)设备,封装成 K8s 的最小的可部署的计算单元(pod),直接将设备的能力和数据通过 API 开放出来,让物联网应用的开发变得更加简单。

cd shifu
# 在集群中安装 Shifu
kubectl apply -f pkg/k8s/crd/install/shifu_install.yml
c7d325af41da6347b837acea4af77240.png

地址:https://github.com/Edgenesis/shifu

14、writefreely:一起写作并建立一个社区。这是一个 Go 写的博客平台,除了能够创建基于 Markdown、极简的独立博客之外,还可以建立类似博客园的博客社区。

35d789ce0522a47c28afc9bf50b6ead5.png

地址:https://github.com/writefreely/writefreely

15、yao:一款 Go 写的应用引擎。通过该项目最快几分钟,就能从零构建出一套系统,适合用于开发接口服务、管理后台、数据可视化平台、自建低代码平台等系统。

3899ac4a1b4a7353f2ba935282e8548b.png

地址:https://github.com/YaoApp/yao

Java 项目

16、HummerRisk:云原生安全检测平台。该项目用非侵入的方式,解决云原生环境的安全和治理问题。支持主流公/私有云资源的安全检测、漏洞扫描、一键获取报告等功能。

6681ada8e9a188045572bb77149e6d84.gif

地址:https://github.com/HummerRisk/HummerRisk

17、HydraLab:开源的智能移动云测平台。这是一个基于 Spring Boot+React 构建的云测服务,它部署简单开箱即用,支持在线管理测试设备、执行测试用例、测试结果可视化等功能。

ede276183ce1ea5875a9aa9d06e79280.png

地址:https://github.com/microsoft/HydraLab

18、neo4j:目前最流行的图数据库。它是一款采用 Java 和 Scala 语言开发的原生图数据库,专属的查询语言 Cypher,能够直观且高效地查询和处理数据之间的关系。

1620b76ebe54276a705c4f62c6fa9c16.png

地址:https://github.com/neo4j/neo4j

JavaScript 项目

19、html2canvas:实现浏览器内截屏的 JavaScript 库。该项目可以让你在浏览器内对整个网页或部分内容进行截图,原理是通过读取 DOM 和样式,将当前页面渲染成一个画布图像。

html2canvas(document.querySelector("#capture")).then(canvas => {
    document.body.appendChild(canvas)
});
16dfca19f337f3544debc79eb133da65.gif

地址:https://github.com/niklasvh/html2canvas

20、JavaScript-Algorithms:教你从零构建前端算法体系。学习算法不仅是为了面试,也是每个前端进阶必备的技能之一。该项目包含了前端的进阶算法、常见面试题、手写源码等,帮你构建完整的数据结构和算法的知识体系。

地址:https://github.com/sisterAn/JavaScript-Algorithms

21、pomotroid:视觉上令人愉悦的番茄时钟。这是一款 Vue 写的拥有超高颜值的番茄计时器,支持自定义时间、回合数、提示音、桌面通知等功能。

07d6346c17dbf28a0041bc0fb580bf54.png

地址:https://github.com/Splode/pomotroid

22、satori:能够将 HTML 和 CSS 转换为 SVG 的库。由 Vercel 团队开源的可根据 HTML 和 CSS 代码生成 SVG 图像的库。支持 JSX 语法,使用起来十分方便和顺手。

import satori from 'satori'

const svg = await satori(
  <div style={{ color: 'black' }}>hello, world</div>,
  {
    width: 600,
    height: 400,
    fonts: [
      {
        name: 'Roboto',
        data: robotoArrayBuffer,
        weight: 400,
        style: 'normal',
      },
    ],
  },
)
b461b0d688b9af1d2b78ae89b46fd4c9.png

地址:https://github.com/vercel/satori

23、underscore:强大的 JavaScript 函数库。该库提供了 100 多个实用的函数,包括常用的 map、filter、reduce、invoke 以及更专业的辅助函数,比如函数绑定、JavaScript 模板功能、创建快速索引等,让我们可以更加方便地在 JavaScript 中实现函数式编程。

// countBy
_.countBy([1, 2, 3, 4, 5], function(num) {
  return num % 2 == 0 ? 'even': 'odd';
});
// 输出:{odd: 3, even: 2}
f6999ea58612156032c90a9763bde05e.png

地址:https://github.com/jashkenas/underscore

Python 项目

24、bandit:查找 Python 代码中常见安全问题的工具。该项目是 PyCQA 出品的 Python 代码检测工具,知名的 isort 和 flake8 就是他们开源的。

3400d97d915b5457ef2ffbccbfea5170.png

地址:https://github.com/PyCQA/bandit

25、devguide:CPython 开发人员指南。这份指南来自 Python 官方,介绍了如何为 CPython 做贡献,适用于任何阶段的贡献者。

地址:https://github.com/python/devguide

26、Django-Styleguide:Django 使用姿势指南。这是一份 Django 编码风格指南,它来自于一线团队的多年经验总结,希望能够帮助你构建出更好的 Django 应用程序。

c278d5df35e3e5c3a14fec76d9fa4f64.png

地址:https://github.com/HackSoftware/Django-Styleguide

27、numpy-100:Numpy 的练习册。该项目包含了 100 个关于 Python 常用的数据处理库 Numpy 的练习和解决方案。

# How to sum a small array faster than np.sum? (★★☆)

Z = np.arange(10)
np.add.reduce(Z)

地址:https://github.com/rougier/numpy-100

28、prefect:Python 的数据流编排平台。如果将获取、清洗、处理数据的程序当作一个个分散的任务,该项目可以将这些任务整合到工作流中,实现在一个 Web 平台部署、安排和监控它们的执行。

from prefect import flow, task

@task
def say_hello():
 print("Hello, World! I'm HelloGitHub!")

@flow("Prefect Flow"):
def h_flow():
 say_hello()

# run the flow!
h_flow() # "Hello, World! I'm HelloGitHub!"
3d56bc2c24bb951aecea5cc3e070c542.png

地址:https://github.com/PrefectHQ/prefect

Ruby 项目

29、YouPlot:Ruby 写的命令行数据可视化工具。该项目能够在终端里将数据转化成彩色的图表,支持条形图、直方图、箱型图等类型的图表。

4a62d42c698f35f5e5de8a7cbf3eea28.png

地址:https://github.com/red-data-tools/YouPlot

Rust 项目

30、ChatGPT:第三方的 ChatGPT 桌面应用。把 ChatGPT 放到你的桌面,支持快捷键、斜杠命令、划词搜索、导出记录等实用的功能,适用于 macOS、Windows、Linux 操作系统。

200b663f33c3852a0659713c45c48774.png

地址:https://github.com/lencx/ChatGPT

31、gitui:带界面的 Git 命令行工具。该项目为 git 提供了终端界面,让用户可以更加顺畅地使用 git。交互式的操作提示,让你无需再记忆大量的 git 命令。

65824884b3d5bd5db221e6f18fc41364.gif

地址:https://github.com/extrawurst/gitui

Swift 项目

32、vimac:用键盘代替鼠标的 macOS 应用。它可以让用户实现仅通过键盘操作苹果电脑,支持两种操作模式。

  • 激活模式:将屏幕上可点击的位置,映射成键盘按键

  • 滚动模式:使用 HJKL 按键,可完成区域滚动

47d626a1cbf2ef83d57eef19fe45267b.gif

地址:https://github.com/dexterleng/vimac

其它

33、cdn-up-and-running:从零开始构建 CDN 的教程。为了让你在实战中学习 CDN 的工作原理,这里会从创建一个单一的后端服务开始,逐渐扩展到多个节点、模拟延迟、可视化、可测试的 CDN 服务。因为设计 CDN 会涉及 Nginx、Lua、Docker、Grafana 等知识点,所以学习该教程需要有一定的编程基础。

50db93b2ddee41bec64c6a05bff4fc4c.png

地址:https://github.com/leandromoreira/cdn-up-and-running

34、fluentui-emoji:一套可爱的 emoji 表情。该项目是微软开源的一套精致、可爱的 emoji 表情包。

8258d1f86c712a20d9e77a4a96197c02.png

地址:https://github.com/microsoft/fluentui-emoji

35、k8s_PaaS:教你用 K8s 部署一套完整服务的教程。通过该教程你可以学习到如何部署 Kubernetes 集群,以及在此基础上搭建由 Apollo、Jenkins、Prometheus 等服务组成的完整的软件研发和部署平台。

258a882afb11142946cd4a46fca6651b.png

地址:https://github.com/ben1234560/k8s_PaaS

36、pi-apps:最受欢迎的树莓派应用商店。这是一款完全免费、开源的树莓派应用商店,它安装简单使用方便,内置了 200 多个应用程序,支持 32 位和 64 位的 Raspberry Pi OS。

# 下载
git clone https://github.com/Botspot/pi-apps
# 安装
~/pi-apps/install
fb7ecfcb76c6c40e099b184ee58da636.png

地址:https://github.com/Botspot/pi-apps

37、smiley-sans:一款完全开源、精雕细琢的中文黑体。这款字体名为「得意黑」,整体字身窄而斜,细节融入了取法手绘美术字的特殊造型。支持简体中文常用字、拉丁字母、阿拉伯数字和各种标点符号。

ef31728517514bb17731e3839856f0ce.png

地址:https://github.com/atelier-anchor/smiley-sans

开源书籍

38、essential-netty-in-action:《Netty 实战》精简版。该书是《Netty in Action》的中文精简版,带你快速掌握 Netty。

地址:https://github.com/waylau/essential-netty-in-action

39、time-as-a-friend:《把时间当作朋友》。做事不一定要图快,马跑起来比骆驼快,但骆驼一生走过的路却是马的两倍。

4675dadef85297aedece6b3ca3a72895.png

地址:https://github.com/xiaolai/time-as-a-friend

机器学习

40、annotated_deep_learning_paper_implementations:深度学习论文的实现集合。这是一个关于神经网络和相关算法 PyTorch 实现的集合,代码里还包含逐行的注释。

e3c2a633eb9054bf9129db2fe6c3f2cb.png

地址:https://github.com/labmlai/annotated_deep_learning_paper_implementations

41、Chinese-CLIP:OpenAI CLIP 模型中文预训练版本。该项目使用了大规模的中文数据进行训练(~2亿图文数据),提供了多个规模的预训练模型和技术报告,让使用者仅通过几行代码就能完成中文图文特征提取和图文检索。

import torch 
from PIL import Image

import cn_clip.clip as clip
from cn_clip.clip import load_from_name, available_models
print("Available models:", available_models())  
# Available models: ['ViT-B-16', 'ViT-L-14', 'ViT-L-14-336', 'ViT-H-14', 'RN50']

device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = load_from_name("ViT-B-16", device=device, download_root='./')
model.eval()
image = preprocess(Image.open("examples/pokemon.jpeg")).unsqueeze(0).to(device)
text = clip.tokenize(["杰尼龟", "妙蛙种子", "小火龙", "皮卡丘"]).to(device)

with torch.no_grad():
    image_features = model.encode_image(image)
    text_features = model.encode_text(text)
    # 对特征进行归一化,请使用归一化后的图文特征用于下游任务
    image_features /= image_features.norm(dim=-1, keepdim=True) 
    text_features /= text_features.norm(dim=-1, keepdim=True)    

    logits_per_image, logits_per_text = model.get_similarity(image, text)
    probs = logits_per_image.softmax(dim=-1).cpu().numpy()

print("Label probs:", probs)  # 图文匹配概率 [[1.268734e-03 5.436878e-02 6.795761e-04 9.436829e-01]]
ee5b294d7d774578f5b83c921708524d.png

地址:https://github.com/OFA-Sys/Chinese-CLIP

42、KuiperInfer:从零编写深度学习推理框架的教程。手把手教你用 C++ 写出一个深度学习推理框架,项目整体风格和结构借鉴了Caffe。初学者通过该教程不仅可以了解深度学习框架背后的知识,还能够学会如何上手一个中等规模的 C++ 项目。

3da3ecd281336462316aeda00cd078b2.png

地址:https://github.com/zjhellofss/KuiperInfer

最后

以上就是本期的所有内容,还没看过瘾?点击阅读往期内容。

如果安装或运行开源项目遇到问题,就看这篇文章吧!

感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享 ❤️

- END -

👆 关注「HelloGitHub」收到第一时间的更新👆

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Studio One6有哪些新功能及系统配置要求介绍

Studio One6全新版本上线记录、生产、混合、掌握和执行所有操作。从工作室到舞台&#xff0c;Studio One6以易用为核心&#xff0c;是您的创意合作伙伴。当你准备好登上舞台时&#xff0c;Studio One就在那里。只有Studio One从最初的灵感到完整的制作&#xff0c;最终混音到精…

一个数码管显示0-F

数码管的一种是半导体发光器件&#xff0c;数码管可分为七段数码管和八段数码管&#xff0c;区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP&#xff08;decimal point&#xff09;&#xff0c;其基本单元是发光二极管。七段数码管是一类价格便宜使用简…

VuePress 搭建结合GitHub Pages CI

简介 VuePress 是尤雨溪&#xff08;vue.js 框架作者&#xff09;4月12日发布的一个全新的基于 vue 的静态网站生成器&#xff0c;实际上就是一个 vue 的 spa 应用&#xff0c;内置 webpack&#xff0c;可以用来写文档。详见 VuePress中文网 其实类似的建站工具有很多&#x…

Java多线程 - 创建线程池的方法 - ThreadPoolExecutor和Executors

文章目录线程池(重点)线程池介绍实现线程池的方式方式一: 实现类ThreadPoolExecutorThreadPoolExecutor构造器的参数线程池处理Runnable任务线程池处理Callable任务方式二: Executors工具类创建线程池线程池(重点) 线程池介绍 什么是线程池? 线程池就是一个可以复用线程的技…

以太网报文详解

以太网数据帧格式 以太网链路传输的数据包称做以太帧&#xff0c;或者以太网数据帧。在以太网中&#xff0c;网络访问层的软件必须把数据转换成能够通过网络适配器硬件进行传输的格式。 以太帧的工作机制 当以太网软件从网络层接收到数据报之后&#xff0c;需要完成如下操作&am…

模拟实现stack queue/dequeue/适配器/优先级队列/仿函数

⭐前言&#xff1a;学习C的STL&#xff0c;我们不仅仅要要求自己能够熟练地使用上层语法&#xff0c;我们还必须要求自己了解其底层原理&#xff0c;不需要了解得太深入&#xff0c;但一定得知道我们写出的各种代码后面&#xff0c;究竟采用了哪种设计思想&#xff0c;为什么要…

口碑巨制《流浪地球2》,再燃中国科幻电影新高度!

2019年&#xff0c;中国本土科幻电影《流浪地球》以炸裂之势吸引一众目光。上映26天&#xff0c;票房突破45亿&#xff0c;强势开启中国科幻电影的元年。如今时隔4年&#xff0c;《流浪地球2》再度登陆春节档&#xff0c;票房口碑双丰收&#xff0c;上映四天票房破13亿、淘票票…

Android渗透测试12:IDA动态调试so

0x00 前言 上一篇分享了使用 Android studio 和 Jeb 对 Apk 文件直接进行动态调试&#xff0c;本文将分享使用 IDA pro 调试 so 。 调试的 apk 文件还是使用 CTF案例4 的文件&#xff0c;已经上传到知识星球&#xff0c;可自行下载 本文涉及技术&#xff1a; IDA pro 工具使…

论文解读 - 城市自动驾驶车辆运动规划与控制技术综述 (第4部分)

文章目录&#x1f697; IV. Mothon Planning&#xff08;运动规划&#xff09;&#x1f7e2; D. Graph Search Methods&#xff08;图搜索算法&#xff09;&#x1f7e5; 1) Lane Graph&#xff08;车道图&#xff09;&#x1f7e7; 2) Geometric Methods&#xff08;几何方法&…

AtCoder Beginner Contest 287 A-G 赛时思路+正解

一把给我加到1219了&#xff0c;青大小蒟蒻表示很开心。 A - Majority 题意 问你"For""For""For"字符串数量是否比"Against""Against""Against"数量多。 思路 mapmapmap暴力即可。 A题代码 B - Postal Card 题意…

电脑技巧:教你关闭Win11内存压缩,解决电脑卡顿的问题

很多朋友都注意到&#xff0c;Win11默认开启了内存压缩功能。内存压缩顾名思义&#xff0c;可以压缩内存中的数据&#xff0c;让内存占用更少&#xff0c;同时减少Swap频次&#xff0c;带来更高的I/O效率。 但与此同时&#xff0c;压缩数据需要耗费CPU资源&#xff0c;一些朋友…

Dr4g0n-b4ll靶机总结

Dr4g0n-b4ll靶机渗透测试总结 靶机下载地址: https://download.vulnhub.com/dr4g0nb4ll/Dr4g0n-b4ll.zip 打开靶机,使用nmap扫描靶机的ip和所有开放的端口 可以看到靶机开放了80端口和22端口 根据80端口打开网站 信息收集,目录爆破 在robots.txt下发现一串base64编码 eW91IG…

编写循环(RH294)

循环这东西你早就懂的不是么就像python里的for一样在ansible中 使用loop关键字来实现迭代简单循环简单循环中一般使用loop关键字来开始循环使用循环变量item来存储每个迭代过程中使用的值举个例子 栗子啊首先让我们拿出两个任务片段- name: Postfix is runningservice:name: po…

索引15连问

前言 大家好&#xff0c;我是田螺。 金三银四很快就要来啦&#xff0c;准备了索引的15连问&#xff0c;相信大家看完肯定会有帮助的。 公众号&#xff1a;捡田螺的小男孩 1. 索引是什么&#xff1f; 索引是一种能提高数据库查询效率的数据结构。它可以比作一本字典的目录&am…

从C语言的使用转换到C++(下篇)——刷题、竞赛篇

目录 一、CSTL的简介 二、STL的使用详解 2、1 STL之动态数组vector的使用 2、2 STL之集合set的使用 2、3 STL之映射map的使用 2、4 STL之栈stack的使用 2、5 STL之队列queue的使用 2、6 STL之unordered_map和unordered_set的使用 三、总结 标题&#xff1a;从C语言的使用转换…

还不会SpringBoot项目模块分层?来这手把手教你

文章目录前言&#x1f34a;缘由⏲️本文阅读时长&#x1f3af;主要目标&#x1f468;‍&#x1f393;试用人群&#x1f381;快速链接&#x1f369;水图正文&#x1f96b;1.IDEA新建项目&#x1f32d;2.创建子模块-dependencies(依赖层)&#x1f3af;重点&#x1f36a;3.创建子模…

【寒假小练】day2

前言 日积跬步&#xff0c;能至千里。 水平有限&#xff0c;不足之处望请斧正。 选择题 1、以下程序运行后的输出结果是( ) #include <stdio.h> void fun(char **p) {int i;for(i 0; i < 4; i) {printf("%s", p[i]); } int main() {char *s[6] {"…

Python 本地django外部网络访问

目录 一、前提 1、确定在本地可以访问 二、 本地django项目外部网络访问 1、在settings中配置允许所有服务器访问&#xff08;局域网访问&#xff09; 2、Host配置 3、使用内网穿透工具&#xff08;ngrok&#xff09;&#xff08;外部网络访问&#xff09; &#xff08;…

Acwing---1224. 交换瓶子

交换瓶子1.题目2.基本思想3.代码实现1.题目 有 N 个瓶子&#xff0c;编号 1∼N&#xff0c;放在架子上。 比如有 5个瓶子&#xff1a; 2 1 3 5 4 要求每次拿起 2 个瓶子&#xff0c;交换它们的位置。 经过若干次后&#xff0c;使得瓶子的序号为&#xff1a; 1 2 3 4 5 对于这…

【第26天】SQL进阶-查询优化- performance_schema系列实战二:锁问题排查(MDL锁)(SQL 小虚竹)

回城传送–》《32天SQL筑基》 文章目录零、前言一、什么是MDL锁二、什么时候适合加MDL锁三、 实战演练3.1 数据准备&#xff08;如果已有数据可跳过此操作&#xff09;3.2 开启第一个会话&#xff0c;显式开启一个事务&#xff0c;并执行一个update语句不提交3.3 开启第二个会话…