例如,目前最火热的大模型应用,常常是以一个网页界面进行操作和展示,从而免去了控制台或接口操作的复杂性。因此本文总结记录了我接触了解过的GUI开发相关工具和依赖库。...此外为了原生GUI能够方便地移植到其他用户的系统进行使用,本文还简单介绍了可执行程序打包工具。 原生GUI Tkinter Python中自带的免费开源GUI框架,无需额外安装即可使用。...PySimpleGUI 8 Kivy 9 支持Windows, Linux, MacOS, Android和iOS的跨平台免费开源GUI框架,需额外安装使用。...可执行程序打包 Pyinstaller 13 免费开源的支持Windows, Linux和MacOS系统的应用程序打包工具,操作简单,应用广泛。...Nuitka 14 个人免费商用付费的跨平台应用程序打包工具,应用程序编译为C文件,代码效率与安全性有提升。
Socket soket接口是TCP/IP网络的API。网络的socket数据传输是一种特别的I/O,socket也是一种文档描述符。...0 socket描述符是一个指向内部数据结构的指针,执行描述符表的入口 两个网络程式之间的一个网络连接包括:通信协议、本地协议地址、本地主机端口、远端主机地址、远端协议端口 socket...socket,执行体将这个新socket和请求连接进程的地址联系起来,收到服务请求的初始socket仍能够继续在以前的 socket上监听,同时能够在新的socket描述符上进行数据传输操作 数据传输... sockfd: 是想用来传输数据的socket描述符 msg: 指向要发送数据的指针 len:以直接为单位的数据长度 flags:一般设置为0 返回实际上发送出的字节数...描述符 buf:为存放接受数据的缓冲区 len:缓冲区的长度 flags:一般也被设置为0 返回实际接受的数据字节数 面向无连接的数据socket以sendto
Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行...复杂的应用,在必须使用结构化编程的时候(需要变量的类型检查,函数原型,等等)。 对于影响系统全局性的关键任务应用。 对于安全有很高要求的任务,比如你需要一个健壮的系统来防止入侵、破解、恶意破坏等等。...项目由连串的依赖的各个部分组成。 需要大规模的文件操作。 需要多维数组的支持。 需要数据结构的支持,比如链表或数等数据结构。 需要产生或操作图形化界面 GUI。 需要直接操作系统硬件。...如果你的应用符合上边的任意一条,那么就考虑一下更强大的语言吧——或许是Perl、Tcl、Python、Ruby——或者是更高层次的编译语言比如C/C++,或者是Java。...注:推荐给所有变量加上花括号,这是个好的编程习惯。
Linux 系统调用(system call)是指操作系统提供给用户程序的一组“特殊接口”,用户程序可以通过这组“特殊”接口来获得操作系统提供的特殊服务。...在 Linux 中,用户程序不能直接访问内核提供的服务,必须通过系统调用来使用内核提供的服务。...Linux 中的用户编程接口(API)遵循了 UNIX 中最流行的应用编程界面标准—— POSIX。这些系统调用编程接口主要是通过 C 库(libc)实现的。...往期传送门: 史上最全的Linux常用命令汇总(超详细!...超全面)收藏这一篇就够了 Linux下标准IO的这些操作你清楚吗(内附有详细的介绍和例程) 文章目录 文件I/O简介 文件描述符 文件I/O与标准I/O区别 打开文件(open) 关闭文件(close
Linux下提供了丰富的api以供开发者们处理和时间相关的问题。然而这些接口看似各自为政实则有有着千丝万缕的联系,在学习和时间中引发了各种各样的混乱。...因此时间处理成为了许多Linux开发者的梦魇,遇到时间处理往往避之不及。不过只要你稍微花费一点点精力,学会在Linux上优雅的处理时间和日期也并不是什么难事。...也许你觉得时间的概念是那么浅显易懂没有什么额外强调的必要,但对于程序来说却不然。在程序看来时间的定义是灵活多变的,不同的定义下时间的计算是不同的,因此有必要仔细区分。...同时c11和c++17标准还将其纳入了标准库,因此它现在不再只是posix标准下的了。...在不引入第三方库和自己手动计算的情况下,Linux处理时区的手段只有以下两种: 函数自己定义参数和返回值使用local time还是UTC time; 系统根据环境变量TZ以及配置文件/etc/localtime
tkinter:tkinter是绑定了Python的TKGUI工具集,就是Python包装的Tcl代码,通过内嵌在Python解释器内部的Tcl 解释器实现的,它是Python标准库的一部分,所以使用它进行...GUI编程不需要另外安装第三方库的。...text = 'Python GUI\ntkinter', #设置标签中的文本,在字符串中使用换行符 15 justify = tkinter.LEFT,...70 self.draw = 0 71 def Del(self,event): #按下右键或...self.canvas.delete(item) 75 def Exit(self,event): #按下中键或
tree命令 这条命令可以直接将目录下的文件以树形态展示,如下图 微信截图_20181010113438.png 默认没有安装,安装方法 ubuntu下 sudo snap install tree...centos下 yum -y install tree 安装完成之后,进入目录,直接 tree 就可以了,当然tree还有其他参数,可以参考以下文章 tree命令的使用(https://www.cnblogs.com
其实在python GUI编程(图形用户界面编程)里可以实现将程序窗口化,可以引入tkinter模块,自己电脑上没有的话用pip安装即可。...本篇文章小编就分享一些python GUI编程的基础,后续还会更新一些更深层次的技巧。...图1 空窗口 可以手动为窗口添加属性,最基本的几种属性如下: title()括号里面参数为代表窗口名称的字符串; resizable(x,y) 窗口可以在x和y轴上可变化的调度; geometry(...每个组件都有自己独特的参数,下次再做详细讲解。先讲一下组件大体使用的规则,每一个组件都可以用一个相应的变量来储存,想在一个窗口里面插入一串文字和一个按钮,该怎么做呢?...图3 效果图 四、写在最后 笔者也是一个在校大学生,可能写的介绍会有一些不足,欢迎大家提议,关于python GUI编程的基础先介绍到这里,下周给各位读者带来组件的详细使用方法。
我们前面说到sockfd其实同真正的FD是一样的。都是LINUX下的一个打开的设备描述符。内核通过这个描述符进行I/O操作。...但是LINUX比较搞,它是上层用SELECT,实际上底层还是用的POLL....在LINUX下实际上POLL性能比SELECT要高一点,POLL也是监视FD集合,不过将这个FD集合单独使用一个数据结构pollfd. struct pollfd { int...是LINUX内核在2.6之后为处理大量客户端的socketFd而改进的poll,它也可以称之为select/poll的增强版本。...虽然是增强版本,但是也是适用于特定场景下的,这个特定场景是大量并发连接中只有少量活跃的情况。在这种情况下如何避免扫描FD集合的开销和如何有效触发活跃I/O操作。
作为一种胶水型语言,python几乎可以***在我们编程过程中的各个领域。这里我简单介绍一下用 python进行gui开发的一些选择。...Tkinter可用于windows/linux/unix/macintosh操作系统,而且显示风格是本地化的。Tkinter用起来非常简单,python自带的IDLE就是采用它写的。...wxpython的功能上面要强于tkinter,她提供了超过200个类,面向对象的编程风格,设计的框架类似于 MFC。对于大型GUI应用上面,wxPython还是具有很强的优势的。...4、pyGtk Gtk是linux下Gnome的核心开发库了。功能上面非常齐全。值得说明的是,在windows平台下gtk的显示风格并不是特别本地化。...9、AnyGui 通过底层的api来访问其它工具集,像tkinter,wxpython和qt.具体也没怎么用过。
Tk GUI 工具包的接口 .Python 使用 Tkinter 可以快速的创建 GUI 应用程序。...Python2.x中的为Tkinter而Python3.x中的为tkinter GUI编程前,先导入:import Tkinter Tkinter组件(即类)(15种) Tkinter的提供各种控件,如按钮...,标签和文本框,一个GUI应用程序中使用。...3、Label的其他参数 activebacakground activeforground 用于设置Label处于活动(active)状态下的背景和前景颜色,默认由系统指定。 ...diableforground 指定当Label不可用的状态(Disable)下的前景颜色,默认由系统指定。
不同的CPU有不同的字节序类型,这些字节序是指 整数 在内存中保存的顺序,这个叫做主机字节序,有大端小端两种。...常用的协议族有AF_INET type:指定socket类型。常用的socket类型有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW等等(socket的类型有哪些?)。...处于SYN RECEIVED状态的连接被添加到SYN队列,并且当它们的状态改变为ESTABLISHED时,即当接收到3次握手中的ACK分组时,将它们移动到accept队列。...在这种情况下,listen syscall的backlog参数表示完成队列的大小 8、accept()函数 accept()函数实际做的是在已完成连接队列列头返回下一个已完成连接,服务器三路握手在listen...函数通过后两个参数返回客户端的sockaddr_in结构体和长度 返回值是一个新的套接字文件描述符,这样就有两个套接字了,原来的一个还在侦听你的那个端口, 新的在准备发送 (send()) 和接收 (
command 类型:回调; 说明:当按钮被按下时所调用的一个函数或方法。所回调的可以是一个函数、方法或别的可调用的Python对象。...highlightbackground, highlightcolor 类型:颜色; 说明:控制焦点所在的高亮边框的颜色。当窗口部件获得焦点的时候,边框为highlightcolor所指定的颜色。...padx, pady 类型:距离; 说明:指定文本或图象与按钮边框的间距。 relief 类型:常量; 说明:边框的装饰。通常按钮按下时是凹陷的,否则凸起。...函数给出了响应调用的函数。额外的参数作为函数调用的参数。返回使用after_cancel取消调度的标识符。...标签实例 配置小部件的资源。资源的值被指定为关键字。
基于MVC原则构造一个TODO List交互工具我们的总体目标是期望实现一个简单的待办事项列表应用程序。应用程序允许用户添加、删除和标记待办事项为已完成。...用户可以选择列表中的待办事项,然后点击“删除”按钮删除选定的待办事项。用户可以选择列表中的待办事项,然后点击“完成”按钮将选定的待办事项标记为已完成。完成的待办事项会显示一个图标并变为不可编辑状态。...创建一个自定义的TodoModel类,继承自QStandardItemModel。TodoModel中定义了添加、删除和完成待办事项的方法,这些方法封装了对数据模型的操作。...这使得数据模型的逻辑与控制器和视图分离,便于维护。创建一个自定义的TodoView类,继承自QListView。TodoView接受一个TodoModel实例作为参数,并将其设置为视图的模型。...当用户执行操作(如添加、删除或完成待办事项)时,MyMainWindow会调用TodoModel的相应方法来更新数据。这使得控制器的逻辑与数据模型和视图分离,便于维护。
当然,你可以通过浏览器访问你的 OneDrive 数据。除此以外,还有一些其他的方法可以在 Linux 上访问 OneDrive。...你可以使用像 Insync 这样的高级服务,或者选择用 rclone 在 Linux 上使用 OneDrive 这种稍微复杂的命令行方式。 最近,我发现了另一个工具,它稍有不同,使用起来也更简单。...OneDriver:在你的 Linux 系统上挂载 OneDrive OneDriver 是一个自由而开源的工具,允许你在 Linux 系统上挂载 OneDrive 文件。...image.png 总的来说,OneDriver 是一个可以在 Linux 上访问 OneDrive 的不错的免费工具。...它可能无法像 高级 Insync 服务 那样提供完整的同步设施,但对于有限的需求来说,它做得不错。 如果你使用这个漂亮的工具,请分享你的使用经验。
MongoDB 常用的几大GUI工具 MongoDBCompass (官方的连接工具),免费的,界面简洁,不支持 sql 查询,支持性能监控。...支持在三大平台 Windows 、Mac 、Linux 上运行。 下载链接:MongoDBCompass 性能监控,需要对应的权限。...Robo 3T 免费的,支持 MongoDB 4.0,轻量级GUI,支持 sql 查询,支持语法填充。不支持导入导出。支持在三大平台 Windows 、Mac 、Linux 上运行。...支持在三大平台 Windows 、Mac 、Linux 上运行。...下载链接 该工具只能试用30天,可通过购买进行使用,如果你需要长期保持试用的功能,跟我做就好了: 新建一个文件,后缀为 .bat,并将以下内容写入。
shellcheck:shell脚本静态检查工具,能够识别语法错误以及不规范的写法。 ?...fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端ctrl-r历史命令搜索简直完美。 ?...htop: 提供更美观、更方便的进程监控工具,替代top命令。 ? glances:更强大的 htop / top 代替者。 htop 代替 top,glances 代替 htop: ?...除了命令行查看外,glances 还提供页面服务,让你从页面上随时查看某服务器的状态。 axel:多线程下载工具,下载文件时可以替代curl、wget。...cloc:代码统计工具,能够统计代码的空行数、注释行、编程语言。 ? tmux:终端复用工具,替代screen、nohup。 ? script/scriptreplay: 终端会话录制。
最近有在2台机器双向同步文件的需求, 于是有了本文. 上网找了一些双向文件同步的工具, 比较典型的有syncthing和mirror....本文介绍mirror的使用方法(不过好像syncthing使用更广泛一些)....台机器上安装好java1.8版本(ubuntu使用sudo apt install openjdk-8-jre命令即可安装); 在2台机器上安装好Watchman(安装方法); 在2台机器上安装mirror工具...(安装方法见github页面) 假设你的mirror安装在/data/apps/mirror/目录下, 2台机器需要同步/data/sftp/文件夹....restart mirror.service && systemctl status mirror.service $ systemctl enable mirror.service 然后2台机器上的/
使用磁盘分区工具可以使我们非常方便的管理磁盘,本篇文章为大家分享一下Linux下常见的磁盘分区工具。 Linux 中的 5 个管理磁盘分区的工具 下面的列表没有特定的排名顺序。...大多数分区工具应该存在于 Linux 发行版的仓库中。 GParted 这可能是 Linux 发行版中最流行的基于 GUI 的分区管理器。你可能已在某些发行版中预装它。...GNOME Disks 一个基于 GUI 的分区管理器,随 Ubuntu 或任何基于 Ubuntu 的发行版(如 Zorin OS)一起出现。 它能让你删除、添加、缩放和微调分区。...你甚至可以借助此工具尝试修复分区。它的选项还包括编辑文件系统、创建分区镜像、还原镜像以及对分区进行基准测试。...但是,如果你在使用基于文本的程序时感到困惑,那么你应该继续使用上面提到的 GUI 程序。它们都做同样的事情。 要启动 fdisk,你必须是 root 用户并指定管理分区的设备。
如何在 Linux 上安装 tcpping 测量到远程主机的网络延迟的一种常用方法是使用ping应用程序。该ping工具依赖 ICMP ECHO 请求和回复数据包来测量远程主机的往返延迟。...但是,在某些情况下,ICMP 流量可能会被防火墙阻止,这使得该ping应用程序对于受限制的防火墙后面的主机毫无用处。...在这种情况下,你将需要依赖使用 TCP/UDP 数据包的第 3 层测量工具,因为这些第 3 层数据包更有可能绕过常见的防火墙规则。 一种这样的第 3 层测量工具是tcpping....RepoForge,然后运行: $ sudo yum install tcptraceroute 安装依赖 bc 使用的另一个工具tcpping是GNUbc,它预装在所有主要的 Linux 发行版上...但是,如果你tcpping在最小 Linux 运行时环境(例如Docker容器、AWS 最小映像 AMI)中运行,则bc可能不会预先安装。在这种情况下,你需要bc自己安装。
领取专属 10元无门槛券
手把手带您无忧上云