Other

Nginx Configuration for windows

Configuration for windows nginx.conf 在文件尾部添加以下配置 stream { include streams/*.conf; } *.conf 在Nginx安装目录下,创建streams目录,然后在streams中添加需要的conf配置 \conf\streams\mssql.conf upstream mssql { # hash $remote_addr consistent; # server 127.0.0.1:49905 max_fails=3 fail_timeout=30s; server 192.168.10.107:1433 max_fails=3 fail_timeout=30s; } server { listen 1433; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass mssql; }

Linux基础命令

1.Linux 介绍 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等. 基本思想 Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。 优点 1.Linux由众多微内核组成,其源代码完全开源; 2.Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈; 3.Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性; 2.Linux基础命令 1.1 界面切换 CTRL+ALT+F3 -F7 自由切换 1.2 mkdir mkdir用于创建目录 mkdir [选项] [目录名] -p 创建多级目录,如果目录名称不存在,就新建一个 mkdir test1 test2 mkdir test1/test2 1.3 ls ls命令用于显示指定工作目录下之内容(列出指定目录所含之文件及子目录),ls命令的输出信息可以进行彩色加亮显示,以区分不同类型的文件 用法:ls [选项] [目录] 参数 -a 显示所有文件及目录 (. 开头的隐藏文件也会列出) -l 除文件名称外,也将文件型态、权限、拥有者、文件大小等资讯详细列出 -h 以容易理解的格式列出文件大小 -r 将文件以相反次序显示(原定依英文字母次序) -R 若目录下有文件,则以下之文件亦皆依序列出 -t 将文件依建立时间之先后次序列出 -A 同-a,但是布列出.以及.. ls ls -a ls -l ls -al 1.

Python 什么是flask框架?快速入门

目录一:Python flask框架前言补充一下,我们前面学习的库都是叫模块,那么框架与库的区别?二:flask 框架概述1.简介2.须知:3.flask框架的优势三:flask 安装1.安装flaskflask快速使用2.flask执行流程(入门)四:登录,显示用户信息案例1.案例:登录,显示用户信息main.pydetail.htmlindex.htmllogin.html五:新手三件套请求对象路由写法转换器反向解析模板语法六:登录认证装饰器1.装饰器(没有登录,重定向到login)2.整体代码七:配置文件1.配置信息通过环境变量配置settings.py配置文件夹内置配置参数(了解)八:路由系统典型写法默认转换器常用路由写法路由本质(解析)1.当执行route路由时2.路由本质解析源码路由本质分析路由本质app.add_url_ruleadd_url_rule的参数strict_slashes = None(严格模式/非严格模式)redirect_to永远重定向该指定地址九:CBV总结cbv源码6 模版flask中的模板语法:html页面(执行函数并传参)html页面(显示a标签)总结 一:Python flask框架 前言 1.Python 面向对象的高级编程语言,以其语法简单、免费开源、免编译扩展性高,同时也可以嵌入到C/C++程序和丰富的第三方库,Python运用到大数据分析、人工智能、web后端等应用场景上。 2.Python 目前主要流行的web框架:flask、Django、Tornado 补充一下,我们前面学习的库都是叫模块,那么框架与库的区别? 1.框架(framework)跟库的功能类似,但是框架在某一领域上功能更加全面。使用框架,会减少开发者重复造轮子,直接调用其类或者函数就可以实现需求的功能。 2.那么,我们本期来学习Python提供的 web 框架之一-flask框架相关方法的学习,Let's go~ 二:flask 框架概述 1.简介 1.falsk框架是一款基于WSGI的轻量级的Web框架,flask犹如耳详的麻雀虽小,五脏俱全,因此flask具有简单可扩展性的特点. 2.Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。 3.“微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。 2.须知: 1.默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用 3.flask框架的优势 基于WSGI应用程序,必须使用显式实例化 使用Werkzeug路由系统进行自动排序路由 使用Jinja2模板引擎,快速方便使用模板 使用线程局部变量,实现快速访问weby应用程序 支持异步等待和ASCI(async-first) 衔接单元测试,开发人员快速进行测试检查

MySQL的10种常用数据类型

尊重原创版权: https://www.gewuweb.com/hot/6977.html MySQL的10种常用数据类型 MySQL的数据类型 常用的数据类型有: 整型(xxxint) 位类型(bit) 浮点型(float和double、real) 定点数(decimal,numeric) 日期时间类型(date,time,datetime,year) 字符串(char,varchar,xxxtext) 二进制数据(xxxBlob、xxbinary) 枚举(enum) 集合(set) 1、整数(xxxint) 整数列的可选属性有三个: M: 宽度(在0填充的时候才有意义,否则不需要指定) unsigned: 无符号类型(非负) zerofill: 0填充,(如果某列是zerofill,那么默认就是无符号),如果指定了zerofill只是表示不够M位时,用0在左边填充,如果超过M位,只要不超过数据存储范围即可 原来,在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 bytes 的存储空间。 2、浮点型 对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值使用8个字节 MySQL允许使用非标准语法(其他数据库未必支持,因此如果设计到数据迁移,则最好不要这么用):FLOAT(M,D)或DOUBLE(M,D)。这里,(M,D)表示该值一共显示M位,其中D表示小数点后几位,M和D又称为精度和标度。例如,定义为FLOAT(5,2)的一个列可以显示为-999.99-999.99。M取值范围为0255。D取值范围为030,同时必须<=M。 如果存储时,整数部分超出了范围(如上面的例子中,添加数值为1000.01),MySql就会报错,不允许存这样的值。如果存储时,小数点部分若超出范围,就分以下情况:若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存,例如在FLOAT(5,2)列内插入999.009,近似结果是999.01。若四舍五入后,整数部分超出范围,则MySql报错,并拒绝处理。如999.995和-999.995都会报错。 说明:小数类型,也可以加unsigned,但是不会改变数据范围,例如:float(3,2) unsigned仍然只能表示0-9.99的范围。 float和double在不指定精度时,默认会按照实际的精度(由实际的硬件和操作系统决定)来显示 REAL就是DOUBLE ,如果SQL服务器模式包括REAL_AS_FLOAT选项,REAL是FLOAT的同义词而不是DOUBLE的同义词。 注意:在编程中,如果用到浮点数,要特别注意误差问题,因为浮点数是不准确的,所以我们要避免使用“=”来判断两个数是否相等。如果希望保证值比较准确,推荐使用定点数据类型。 3、位类型(了解) BIT数据类型可用来保存位字段值。BIT(M)类型允许存储M位值。M范围为1~64,默认为1。 BIT其实就是存入二进制的值,类似010110。如果存入一个BIT类型的值,位数少于M值,则左补0。如果存入一个BIT类型的值,位数多于M值,MySQL的操作取决于此时有效的SQL模式:如果模式未设置,MySQL将值裁剪到范围的相应端点,并保存裁减好的值。如果模式设置为traditional(“严格模式”),超出范围的值将被拒绝并提示错误,并且根据SQL标准插入会失败。 对于位字段,直接使用SELECT命令将不会看到结果,可以用bin()或hex()函数进行读取。 4、定点型 DECIMAL在MySQL内部以字符串形式存放,比浮点数更精确。定点类型占M+2个字节 DECIMAL(M,D)与浮点型一样处理规则。M的取值范围为065,D的取值范围为030,而且必须<=M,超出范围会报错。 DECIMAL如果指定精度时,默认的整数位是10,默认的小数位为0。 NUMERIC等价于DECIMAL。 5、日期时间类型 对于year类型,输入的是两位,“00-68”表示2000-2069年,“70-99”表示1970-1999年。记得比较麻烦,建议使用4位标准格式。 'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS','YYYY-MM-DD'或'YY-MM- DD'格式的字符串。允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间隔符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 113045'和'98@12@31 113045'是等价的。 'YYYYMMDD'或'YYMMDD'格式的没有间割符的字符串,假定字符串对于日期类型是有意义的。例如,'19970523'和'970523'被解释为 '1997-05-23',但'971332'是不合法的(它有一个没有意义的月和日部分),将变为'0000-00-00'。 对于包括日期部分间隔符的字符串值,如果日和月的值小于10,不需要指定两位数。'1979-6-9'与'1979-06-09'是相同的。同样,对于包括时间部分间隔符的字符串值,如果时、分和秒的值小于10,不需要指定两位数。'1979-10-30 1:2:3'与'1979-10-30 01:02:03'相同。

Python绘制地图神器,上手即是大招,学完不亏

尊重原创版权: https://www.gewuweb.com/hot/8169.html Python绘制地图神器,上手即是大招,学完不亏 一、folium简介和安装 folium 建立在 Python 生态系统的数据应用能力和 Leaflet.js 库的映射能力之上,在Python中操作数据,然后通过 folium 在 Leaflet 地图中可视化。 folium ** 相比较于国内百度的 pyecharts 灵活性更强,能够自定义绘制区域,并且展现形式更加多样化。 [1] ** 1. folium的简介 Folium是建立在 Python 生态系统的数据整理 Datawrangling 能力和 Leaflet.js 库的映射能力之上的开源库。用 Python 处理数据,然后用 Folium 将它在 Leaflet 地图上进行可视化。Folium能够将通过 Python 处理后的数据轻松地在 ** 交互式 ** 的 Leaflet 地图上进行可视化展示。它不单单可以在地图上展示数据的分布图,还可以使用 Vincent/Vega 在地图上加以标记。 这个开源库中有许多来自 OpenStreetMap、MapQuest Open、MapQuestOpen Aerial、Mapbox和Stamen 的内建地图元件,而且支持使用 Mapbox 或 Cloudmade 的 API 密钥来定制个性化的地图元件。Folium支持 GeoJSON 和 TopoJSON 两种文件格式的叠加,也可以将数据连接到这两种文件格式的叠加层,最后可使用 color-brewer 配色方案创建分布图。 Folium可以让你用 Python 强大生态系统来处理数据,然后用 Leaflet 地图来展示。Folium内置一些来自 OpenStreetMap、MapQuest Open、MapQuest Open Aerial、Mapbox和Stamen 的地图元件(tilesets),并且支持用 Mapbox 或者 Cloudmade API keys 来自定义地图元件。Folium支持 GeoJSON 和 TopJSON 叠加(overlays),绑定数据来创造一个分级统计图(Choropleth map)。但是,Folium库绘制热点图的时候,需要联网才可显示。 2.

5月10日--建国(Numeric value (693513511371800577) out of range of int, 'com.yida.service.OrderFaceSh

------------恢复内容开始------------ 没人会帮你写代码,你永远记住。多问一下业务而不是技术问题。 Today Dinner bug:JSON parse error: Numeric value (693513511371800577) out of range of int (-2147483648 - 2147483647);: 原因:List<UserDO> getUserByIds(Integer<Long> ids);中Integer范围太小了。 bug:Field orderFaceSheetBalanceQueryService in com.yida.controller.WarehouseSetupController required a bean of type 'com.yida.service.OrderFaceSheetBalanceQueryService' that could not be found. 原因:service层没有加注解问题:@Service。 mybatis中CASE...THEN的坑:有一次 自己编写SQL的能力太差了。!!! SELECT bweb.id, bweb.warehouse_id, bw.warehouse_name, bweb.warehouse_express_id, be.express_name, be.express_code, bweb.network_name, bweb.province_name, bweb.city_name, bweb.area_name, bweb.remaining_face_number, bweb.status, bweb.rencent_query_time, bweb.error_message FROM basic_warehouse_express_bill AS bweb LEFT JOIN basic_warehouse AS bw ON bweb.

实验一、简单的词法设计——DFA模拟程序

利用有穷确定自动机M=( K有穷状态集, Σ输入字母表, f转换函数,从状态s出发,沿着标记为a的边所能到达的状态 S,开始状态,S属于K Z,接收状态,Z是K的子集 )行为模拟程序算法,来对于任意给定的串,若属于该语言时,该过程经有限次计算后就会停止并回答“是”,若不属于,要么能停止并回答“不是” K当前状态:=S开始状态; C当前的输入符号:=getchar返回输入串的下一个符号; while c<>eof do {K当前状态:=f(K,c)从状态K出发,沿着标记为c的边所能到达的状态; c当前的输入符号:=getchar返回输入串的下一个符号; }; if K is in Z接收状态 then return (‘yes’) else return (‘no’) #include<stdio.h> // 转换表大小 #define M 255 #define N 255 // 状态集个数 #define KNUM 4 // 字母表个数 #define LNUM 2 //接受集个数 #define ZNUM 1 // 状态集 char K[KNUM] = {'S', 'U', 'V', 'Q'}; // 字符集 char C[LNUM] = {'a', 'b'}; // 开始状态 char S = 'S'; // 接收状态 char Z[1] = {'Q'}; // 状态转换表 char table[M][N]; // 输入字符串 char str[255]; //输入指针 char *p; // DFA算法 void DFA(char *p); // 返回输入串x的下一个符号 char nextChar(); // f(K,c)转换函数 char f(char K, char c); int main() { printf(请输入待检验的字符串:); while(scanf(%s,str) !

JavaDoc

public class FPackage { // 包机制:一般使用公司域名倒置作为包名;com.baidu.www // import : 导包, *(通配符)导入包里所有类 // JavaDoc /** * * @param args 配置参数 参数名 * @author 作者名 * @version 版本号 * @since 指明最早使用的jdk版本 * @return 返回值情况 * @throws Exception 异常抛出情况 */ // 生成doc文件:javadoc -encoding UTF-8 -charset UTF-8 FPackage.java public static void main(String[] args) { } }

操作系统整理(内存管理)

3、内存管理 3.1内存 3.1.2内存管理的概念  3.1.3覆盖与交换 覆盖技术的思想: 将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。 内存中分为一个“固定区”和若干个“覆盖区”,需要常驻内存的段放在“固定区”中,调入后就不再调出(除非运行结束) 交换技术的思想:内存空间紧张时,系统将内存中某些进程暂时换出外存,把外存中某些具备运行条件的进程换入内存(进程在内存与磁盘间动态调度) 3.1.4连续分配管理方式 连续分配:系统为每个用户进程分配的必须是一个连续的内存空间 单一连续分配 固定分区分配  动态分区分配   3.1.5动态分区分配算法  首次适应算法  最佳适应算法   最坏适应算法   邻近适应算法   3.1.6基本分页存储管理的基本概念 最大问题:如何实现逻辑地址到物理地址的转换  3.1.7基本地址变换机构   3.1.8具有快表的地址变换机构   3.1.9两级页表     3.1.10基本分段存储方式   3.1.11段页式管理方式   3.2虚拟存储 3.2.1虚拟存储的基本概念  

java接口

语法 interface 接口名{ //属性 //方法(1.抽象方法 2.默认实现方法 3.静态方法) } class 类名 implements 接口{ 自己的属性; 自己的方法; 必须实现接口的方法 } 注意:在java7.0之前所有的方法都没有方法体,即都是抽象方法。在java8.0后可以有静态方法,默认方法。接口中的方法体可以被具体实现。JDK 9.0 以后,允许将方法定义为 private,使得某些复用的代码不会把方法暴露出去。 //默认实现方法 default public void ok(){} //静态方法 public static void ok(){} 细节 1.接口的属性默认修饰符public static final //你看到的 interface 接口名{ int a = 10; } //实际上public static final interface 接口名{ public static final int a = 10; } 所以接口的属性必须要赋初值,也不能随便修改。 2.接口中的所有方法都是public方法,接口中的抽象方法,可以不用abstract修饰 3.接口不能被实例化。 4.一个类可以实现多个接口 class A implements B,C{ } 5.一个普通类实现接口,必须实现该接口的所有方法。在IDEA中可以使用快捷键alt+enter快速生成 6.