轻量级

【yasio】轻量级跨平台socket库v3.31.2发布

我的未来我决定 提交于 2020-01-28 03:20:47
yasio-3.31.2[stable]更新 优化单利类模板实现,详见: https://github.com/simdsoft/yasio/issues/200 修正配置宏拼写YASIO_VERBOS_LOG修正为YASIO_VERBOSE_LOG. 调用bsd socket API getaddrinfo 解析域名时明确传入socktype, 默认值SOCK_STREAM, 避免在mac或linux返回多个相同IP地址 , 详见: https://github.com/simdsoft/yasio/issues/201 增强socket API包装类xxsocket的超时发送和接受API: send_n/recv_n实现, 详见: https://github.com/simdsoft/yasio/issues/202 来源: CSDN 作者: simdsoft 链接: https://blog.csdn.net/xyzzf/article/details/104039227

Python模块知多少?这里有五百不知够不够你用?

此生再无相见时 提交于 2020-01-26 19:01:21
常用模块 Chardet -- -- -- -- -- -- - 字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama -- -- -- -- -- -- 主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable -- -- -- -- - 主要用于在终端或浏览器端构建格式化的输出。 difflib -- -- -- -- -- -- - [ Python ] 标准库,计算文本差异 Levenshtein -- -- -- -- - 快速计算字符串相似度。 fuzzywuzzy -- -- -- -- -- 字符串模糊匹配。 esmre -- -- -- -- -- -- -- - 正则表达式的加速器。 shortuuid -- -- -- -- -- - 一组简洁 URL / UUID 函数库。 ftfy -- -- -- -- -- -- -- -- Unicode文本工具 7 unidecode -- -- -- -- -- - ascii和Unicode文本转换函数。 xpinyin -- -- -- -- -- -- - 将汉字转换为拼音的函数库 pangu . py -- -- -- -- -- -- 调整对中日韩文字当中的字母、数字间距。 pyfiglet -- -- -- -- -- -- Python写的figlet程序

多线程高并发这一篇就够了不用再去别家了

微笑、不失礼 提交于 2020-01-26 14:34:10
  高伸缩性的并发编程是一种艺术,是成为高级程序员的必备知识点之一,最近总结了一下相关方面的知识。    借鉴过得博客有的我也不知道原文作业是谁 https://blog.csdn.net/qq_34337272/article/details/81072874 https://www.cnblogs.com/dolphin0520/p/3932921.html 一、线程 什么是线程? 线程是进程中单一顺序的控制流。 什么是进程? 进程是程序运行的过程。 1、进程与线程的关系: 1)线程是进程的最小执行单元; 2)一个进程中至少存在一个线程; 3)线程决定进程的生命周期 —— 一个线程启动,进程就开始执行;所有线程执行结束,这个进程执行结束; 4)多个线程共享一个进程的内存空间、一组系统资源。 2、进程与线程的区别: 1)每个进程都有自己的独立的内存空间、一组系统资源,而线程共享所属进程的内存空间、一组系统资源; 进程是独立的,同一个进程的线程是有联系的。 2)进程之间通信开销较大,线程之间通信开销较小。 3、多线程 一个进程中可以同时存在多个线程; 同一个进程中的多个线程之间可以并发执行; 多线程的执行方式:抢占式; 抢占CPU资源,计算机由CPU执行程序,只有拥有CPU资源的程序,才会被执行。 CUP资源:CUP的控制权,这个控制权具有时间性,时间长度是随机的;这段时间非常短

制作docker版本的轻量级centos虚拟机

扶醉桌前 提交于 2020-01-26 01:28:41
原材料 docker-engine,最方便是docker desktop 文本编辑器 编写Dockerfile 基于centos 7 的mini镜像。 Dockerfile里使用腾讯云的centos源。 注释掉的那行是阿里的源,比腾讯源多出来的命令是过滤掉公网不能解析的mirros.cloud.aliyuncs.com 所谓的轻量级虚拟机,主要是多一个openssh-server,这样可以在docker外通过ssh登陆。 FROM centos:7 RUN rm -f /etc/yum.repos.d/*.repo RUN curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo #RUN curl -s -o - http://mirrors.aliyun.com/repo/Centos-7.repo|grep -v mirrors.cloud.aliyuncs.com >/etc/yum.repos.d/CentOS-Base.repo RUN yum clean all RUN yum install -y openssh-server RUN yum clean all RUN ssh-keygen -A RUN echo

6个轻量级Linux发行版

元气小坏坏 提交于 2020-01-26 00:57:57
轻量级Linux发行版是使用相对较少电脑资源的Linux发行版。找到一个不错的轻量级Linux发行版并不容易,因为可选择的发行版实在太多了。本文精选了6个轻量级Linux发行版,如果您有一台老旧或者低端的电脑,那么您可以考虑使用它们。 Alpine Linux Alpine Linux 小巧:基于musl libc和busybox,最小的alpine-minirootfs 最小只有 2.6MB,标准的alpine-standard也只有113MB; 安全:面向安全的轻量发行版; 简单:提供APK包管理工具,软件包管理非常方便; 适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。 Lubuntu Lubuntu是Ubuntu桌面系统计划的一个分支,其默认桌面环境为 LXDE/LXQT,它旨在面向低资源配置系统,并被主要设计用于上网本、移动设备和老旧个人电脑。 Lubuntu Puppy Linux Puppy Linux 是一个非常小的 Linux 发行版本。Puppy能从64M的存储设备启动,并且整套系统 都能在内存中运行。有很多自启动运行光盘的Linux发行,它们需要不停地从光盘读取数据才能运行,Puppy与它们不一样,Puppy整个装载在内存中。这意味着,所有的应用程序一眨眼的功夫就能启动,并且立即对用户的输入作出响应。Puppy

synchronized

五迷三道 提交于 2020-01-25 23:31:26
什么是synchronized? synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法后再运行此线程A,没有的话,锁定调用者,然后直接运行。它包括两种用法:synchronized 方法和 synchronized 块。 Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍可以访问该object中的非加锁代码块。 为什么使用synchronized? synchronized的用法: 同步代码块和同步方法, //同步方法 public synchronized void test3() { try { System.out.println("this is the public_lock SyncTest.class and thread name is " +

flask轻量级框架入门

≯℡__Kan透↙ 提交于 2020-01-25 22:25:29
# -*- encoding: utf-8 -*- #导入Flask类, 导入重定向,url_for是简易寻址跳转, from flask import Flask,redirect,url_for,jsonify #建立Flask对象, Flask函数接收一个参数__name__,它会指向程序所在的包 app = Flask(__name__) #页面显示,使用Flask路由器,制定网址和控制器, 装饰器的作用是将路由映射到视图函数 index @app.route('/') def index(): return "hello world ! " #区分详情页,给网址增加参数功能使用<变量>,路由方法要和路由器定义的参数一致 @app.route('/不重名/<id>/<name>') def hello(id,name): return "你好世界 ! 你的参数是 %s,%s" % (id,name) #跳转到新页面,使用重定向模块 @app.route('/blank') def reurl(): return redirect('http://www.baidu.com') #在当前位置跳转页面,使用url_for()方法实现简易的站内跳转,参数指定路由方法名称 @app.route('/self') def reurl_in(): return redirect(url

无法远程连接阿里云轻量级服务器的解决办法

Deadly 提交于 2020-01-25 10:45:27
无法远程连接阿里云轻量级服务器的解决办法 我在用win10自带的远程桌面连接方式连接阿里云的轻量级服务器时,出现了以下问题: 造成这种问题的原因有很多,经过排查,我找出的问题是阿里云服务器的防火墙规则没有设置好,应该添加一条端口为3389的TCP规则,如下: 来源: CSDN 作者: 看门猫 链接: https://blog.csdn.net/qq_36272282/article/details/103930574

SpringMVC、Spring和Struts的区别

别等时光非礼了梦想. 提交于 2020-01-25 10:02:34
http://www.cnblogs.com/hhx626/p/6010293.html 导读: 近期做到的项目中,用到的框架师SSM(SpringMVC+Spring+Mybatis),那么在这之前用过SSH,这里主要是区分一下SpringMVC和Struts,但是由于SpringMVC和Spring真的也挺容易迷糊的,所以,本篇博客,就是区分一下这三者之间的关系,明确其具体所指,为接下来的框架搭建和应用做准备! 说明:纯属个人观点 一、Spring 首先,结合到自己对于Spring的使用,我明确的一点是,Spring严格上来说,并不是一种框架。它相当于一个粘合剂,黏合了别的框架或者组件。所以,spring是一个容器!为什么用Spring,个人感觉,spring就是一个容器的本质,程序开发的模块组件,都可以通过spring这个容器进行组装拼合,spring为我们提供了很多 管理的功能。而且,它是一个轻量级的容器。我们常说EJB是重量级,Spring是轻量级的,那么,究竟什么叫轻量级或重量级呢? 附:轻量级和重量级(往简单了说) 首先;轻量级和重量级,它只是一个相对的概念。如果没有对比,就没有所谓的轻重之分 轻量级:当轻量级的框架启动时,创建和销毁的资源都非常少。简而言之,一个轻量级的框架,它的入侵性非常小,也可以说是耦合性很低。可以很轻易的替换掉它,而不需要做太大的改动

阿里云轻量级服务器开放端口号

℡╲_俬逩灬. 提交于 2020-01-24 13:12:27
要知道,服务器对端口号默认是不开放的。这个时候我们访问项目或者远程访问软件是访问不到的。所以我们要开放端口号。 1、在阿里云控制台添加防火墙规则 1)进入控制台服务器界面点击防火墙 2)点击添加规则,输入对应端口号 2、在 Linux 服务器内开放端口号 通过systemctl status firewalld查看FirewalID状态,发现当前是dead状态,即防火墙未开启。 通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。 执行firewall-cmd --permanent --zone=public --add-port=端口号/协议--permanent。提示success即成功 举例:firewall-cmd --permanent --zone=public --add-port=3306/tcp--permanent (–permanent为永久生效,没有此参数重启后失效) 执行firewall-cmd --reload,提示success即成功。或者关闭防火墙:systemctl stop firewalld 经过以上两步配置,就可以访问该端口了 来源: CSDN 作者: Hitmi_ 链接: https://blog.csdn.net/Hitmi_/article/details/104079413