首页 文章 精选 留言 我的

精选列表

搜索[网站开发],共10000篇文章
优秀的个人博客,低调大师

python库介绍-PySimpleGUI-简单的GUI开发工具

创建图形用户界面(GUI graphical user interface) 可能很困难。有许多不同的Python GUI工具包可供选择。 比如Tkinter,wxPython和PyQt(或PySide2) 。但实际上PySimpleGUI创建GUI更加容易。 PySimpleGUI基于Tkinter,Remi、wxPython和PyQt。Remi将应用程序的界面转换为HTML以在Web浏览器中呈现”。 PySimpleGUI不需要使用类来创建用户界面。 Hello PySimpleGUI 在使用GUI时,总是很容易了解如何将自己组合在一起。让我们编写一个包含字符串和两个按钮的小表格:“确定”按钮和“取消”按钮 # -*- coding: utf-8 -*- import PySimpleGUI as sg # Create some

优秀的个人博客,低调大师

2019java开发面试问答合集(附答案)

10G整数文件中寻找中位数或者第K大数 采用基于字节的桶排序将数字分到不同的桶中,比如找到第k大数,则先找出每个桶中的第k大数,在比较。整形是4byte,有32位,先按高八位建255个桶如果内存只有2g,则每次读取2g的数据遍历放到255个桶中,并统计255个桶的量,2g读取完后将每个桶的数据导出到磁盘,循环读完10g数据。这时根据255个桶的计数计算出中位数在哪个桶,然后开始建后续8位的桶,直到最后低8位也分完,这时候对桶内数据进行快排即可。如何实现分布式锁 数据库乐观锁,利用了mysql update行锁的特点,在每次update前先select出数据然后根据数据的版本进行update,如果版本变了就不更新并把错误抛给用户重试最终达到一致。redis setnx,当该key不存在时就设置value,如果已经存在该key了就直接返回。zookeeper 不能重复创建同一个节点,创建持久结点时需要主动删除结点释放,创建临时结点时断开连接就会释放什么是分布式系统,分布式原理是什么 将一个大的系统拆分成多个细小的子系统,子系统之间通过网络通信的构成的大系统称为分布式系统。 分布式事务怎么做 事务有四个特性acid a:原子性,事务中的操作不可分割,要么一起成功,要么一起失败c: 一致性,数据库中的数据要是完整的,也包含各资源状态的一致i:隔离性,事务之间要有自己的工作空间,不能相互干扰d:持久性,事务完成后数据要落盘数据库的事务是使用undo和redo日志做的,undo会记录未提交操作的数据用来回滚,redo记录已提交操作的数据落盘。常用的分布式事务有几种方式: 2pc,两阶段提交,服务a发prepare请求给协调器,协调器将请求写到本地日志,然后发送prepare给其他各服务,执行者收到请求后执行本地事务,但不会commit,然后将结果返回给协调器,协调器判断所有的返回如果都成功则让所有执行者提交commit,如果有失败的则全部回滚。消息表,服务a在发起事务的时候执行本地事务的消息同时写入消息表然后发送消息给服务b,服务b在完成本地事务后回消息给服务a调度器清除消息表,如果没有清除,则事务调度器读取消息表发送消息给服务b,这就需要服务b有幂等性消息事务,消息事务是通过消息中间件实现的类似2pc功能比如rocketmq,服务a提交prepare给mq,然后执行本地事务,如果失败则回滚,如果成功则确认prepare消息,mq相当于事务调度器会定期扫描prepare消息询问发送方是否要发送消息,而消费方如果失败则需要一直重试TCC事务补偿,先锁住资源,然后使用锁住的资源执行业务逻辑,如果失败则释放资源,如果成功则落盘。分布式cap,base理论 分布式系统的cap理论,c一致性,a可用性,p分区容错性,因为网络和机器原因不可控所以p是一定要保障的,大家都知道cap不能同时满足,所以只能在c和a中选择,因此有base理论,ba基本可用,s软状态(在最终一致前允许存在不一样的状态),e最终一致 zookeeper 使用场景 配置管理,由于强一致性,可以存放集群配置集群管理,有新机器加入时在指定目录创建临时znode,然后集群所有机器对目录创建watch,当有机器断连时临时znode会自动删除,集群机器收到通知分布式锁,集群机器同时创建znode,创建成功的抢到锁,zonde删除释放锁队列,采用编号znode,按照编号顺序依次执行集群 集群中有三种角色,leader,follower和observer,leader负责写操作,保证集群事务的顺序性,follower参与选举,observer负责读操作。只有当集群初始化和领导者失去多数派支持时会发生领导者选举。 原理 zookeeper的核心是原子广播,采用zab协议,主要有恢复模式(选主)和广播模式(同步) 如何批量替换文本中的字符串 sed -i "s/x/y/g" *一个文件中可以使用vimtr命令替换aws gsub函数常用的查看cpu,内存,网络,磁盘的命令有哪些 top查看cpu命令:mpstat查看内存:free查看网络:netstat lsof查看端口,统计句柄查看磁盘:df du fdisknginx proxy_pass和rewrite的区别 proxy_pass请求在后台跳转,不影响浏览器urlrewrite会发起3xx请求,影响浏览器urlnginx和tomcat的区别 nginx是http server,常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等)tomcat是一个application server,更准确的说是一个servlet/jsp应用的容器,处理http请求并生成动态页面。正向代理和反向代理 正向代理代理的是客户端,服务端不知道真正的客户端是谁,场景如vpn反向代理代理的是服务端,客户端不知道真正的服务端是谁,场景如负载均衡DNS 域名正向解析和反向解析 正向解析是指根据域名找到ip地址反向解析是根据ip地址找到域名,通常用来屏蔽某个ip上的域名或者邮件一个域名解析的过程 客户向本地dns服务器发起请求,本地dns服务器一层一层向上递归查询是否有域名解析,直到根服务器根服务器返回顶级域的dns服务器地址给本地服务器,本地服务器迭代查询:根-顶级域-二级域-三级域,直到某个域服务器返回地址给本地服务器,本地服务器缓存该解析,然后返回给客户端网络 tcp/ip协议,三次握手,四次挥手 三次握手 客户端发起请求,发送syn报文,seq=x服务端收到syn请求后,返回ack,此时ack=x+1,然后也返回一个syn,seq=y客户端收到syn后,返回ack,此时ack=y+1,连接建立四次挥手 客户端发起请求,发送fin报文,seq=x服务端收到fin报文后,返回ack,此时ack=x+1,此步骤确认客户端已不会发送数据,但是服务端数据可能没有返回服务端确认数据全部返回后,发送fin报文,seq=y,告诉客户端已处理完,可以关闭客户端返回ack=y+1,关闭连接snat 和 dnat 内网机器要访问外网,需要snat,防火墙修改来源ip为公网出口ip发送请求包给外网,外网机器接收到的请求包的来源是公网出口ip而不是真正的内网ip外网访问内网机器,需要dnat,外网发送请求包目标地址是公网出口ip,防火墙根据路由修改请求包的目标为内网ip发送给内网机器,内网机器返回时防火墙修改源地址为公网出口ip返回给外网机器docker 什么是docker容器,什么是docker镜像 Docker镜像用于创建容器。使用build命令创建镜像,并且在使用run启动时它们将生成容器。Docker容器包括应用程序及其所有依赖项,但与其他容器共享内核,作为主机操作系统上用户空间中的独立进程运行。docker run和docker start有什么区别 docker run = 创建容器docker create + 启动容器docker start docker file COPY 和 ADD的区别 COPY指令能够将构建命令所在的主机本地的文件或目录,复制到镜像文件系统。ADD指令不仅能够将构建命令所在的主机本地的文件或目录,而且能够将远程URL所对应的文件或目录,作为资源复制到镜像文件系统,还可以解压压缩文件并把它们添加到镜像中。如何缩小docker镜像的体积 尽量在同一层运行更多的命令由于copy,add,run都会生成新的层,尽量使用run命令执行copy和add,如wget移除编译打包依赖使用小体积的 Alpine 基础镜像docker的网络模式 host模式 和宿主机共用网络namesapce,端口直接使用宿主机的端口 other container模式 和host模式很像,只是共用的是另一个容器的网络namespace 需要java学习路线图的私信笔者“java”领取哦!另外喜欢这篇文章的可以给笔者点个赞,关注一下,每天都会分享Java相关文章!还有不定时的福利赠送,包括整理的学习资料,面试题,源码等~~

优秀的个人博客,低调大师

NixOS 19.09 发布,独立开发的 GNU/Linux 发行版

NixOS 19.09 发布了,代号 “Loris”。以下是更新亮点: 计划于 2020 年 4 月结束支持,并移交至20.03 版本 PHP 现在默认为 PHP 7.3 由于上游不支持 19.09 版本的整个生命周期,因此不再支持 PHP 7.1 binfmt 模块现在更易于使用。可以通过 boot.binfmt.emulatedSystems 添加其他系统。例如,boot.binfmt.emulatedSystems = [ "wasm32-wasi" "x86_64-windows" "aarch64-linux" ];将为每个列出的系统设置 binfmt 解释器 现在,安装程序使用特权较低的 nixos 用户,即在以 root 用户身份登录之前。要获得 root 权限,请使用不带密码的 sudo -i 已更新至 Xfce 4.14,它带来了一个新的模块 services.xserver.desktopManager.xfce4-14。如果要升级,请从 services.xserver.desktopManager.xfce 模块切换,因为在将来的版本中将不再使用该模块。它们与当前的 Xfce 模块不兼容;它不支持 thunarPlugins,不建议同时使用 services.xserver.desktopManager.xfce 和 services.xserver.desktopManager.xfce4-14 或升级后从 Xfce 4.14 降级 GNOME 3 桌面管理器模块具有一个用于启用/禁用核心服务、应用程序和可选 GNOME 程序包的界面。这可以通过桌面管理器默认启用的以下选项(游戏除外)来实现: services.gnome3.core-os-services.enable services.gnome3.core-shell.enable services.gnome3.core-utilities.enable services.gnome3.games.enable 通过这些选项,官方希望为用户提供对其系统的更精细的控制。在进行此更改之前,要么必须手动禁用选项,要么使用仅排除可选应用程序的 environment.gnome3.excludePackages。environment.gnome3.excludePackages 现在不受保护,它可以排除 GNOME 3 模块中随 environment.systemPackages 安装的任何软件包。 与之前对 GNOME 3 桌面管理器模块所做的更改正交,更新了所有默认服务和应用程序,以使其尽可能接近默认参考 GNOME 3 体验。 详情可查看发布公告。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册