对码当歌,猿生几何?
#最热 #最新

http缓存

缓存常用来缓存一些访问量大的但是修改频率很低或者是计算量开销大但是实时性要求不高的数据。Web开发中,除了服务端可以使用Memcache和Redis缓存一些数据外,也可以利用http协议官宣的方式来缓存一些静态文件,如html、css、图片和js文件等,因为这些静态文件修改的频率较低,可以让浏览器缓存起来,下次请求的时候直接复用本地的缓存即可。这样可以减少用户网络请求,加快页面响应速度。下面具体介绍http的几种缓存方式。Cache-Control缓存通过指定指令来实现缓存机制。客户端和服务端都设置这个请求头,控制缓存。它取值和含义见下表。取值含义描述no-store禁止缓存缓存中不得存储任何关于客户端请求和服务端响应的内容。每次由客户端发起的请求都会下载完整的响应内容no-cache强制确认缓存每次有请求发出时,缓存会将此请求发到服务端,服务端则会 查看全文

压力测试工具Siege

常见的压力测试工具有很多,在本文就简单介绍一下Siege 。Siege是Linux/Unix下的一个WEB系统的压力测试工具。下载与安装:下载地址: http://download.joedog.org/siege/    可根据需要下载版本$ wget http://download.joedog.org/siege/siege-latest.tar.gz$ tar zxf siege-latest.tar.gz      解压安装$ cd siege-4.0.2/      进入安装路径下$ ./configure      配置安装路径(默认路径)$ sudo make     编译$ sudo make insta 查看全文

JavaScript的概念,引入,基本数据类型

        nblogs-markdown">08.05自我总结JavaScript一.概念JavaScript(下文我们会用简称JS来代替)是脚本编程语言,JS语言开发的文件是以.js为后缀,通过在html文件中引入该js文件来控制html代码的交互功能以及前台数据处理的业务逻辑(js语言代码也可以直接写在html文件中),采用的ECMAScript语法,属于编程语言。ECMAScript目前普遍使用的存在ES5与ES6两个版本二.js的引入行间式:js代码直接书写在标签的钩子事件中<div id="box" onclick="this.style.backgroundColor = 'red'&q 查看全文

jzoj 6278. 2019.8.5【NOIP提高组A】跳房子

        nblogs-markdown">Description详见OJSolution看完题后第一反应是倍增。由于有修改操作,就尝试着打了个和昨天一样,(但是是假的)启发式倍增。结果被出题人无意中狂怼,(MLE0)(超了一点点),减小空间后(TLE25)。。。(其中一个)正解是线段树。我们对于一个区间([l,r])(线段树内编号为(x)),维护一个(t[x].tov[]),(t[x].tov[i])表示从第(l)列的第(i)行会走到第(r + 1)列的第几行。可以先预处理一遍,求出所有的(t[x].tov[i])。设当前的位置为((now[0],now[1]))对于查询操作:我们可以尝试着分块。对于步数(k),如果小于等于(m - now[1] +1)的,就直接用线段树跳。否则的话,我 查看全文

java如何连接数据库并对其操作(以PostgreSQL为例)

        nblogs-markdown">java如何连接数据库并对其操作(以PostgreSQL为例)相关概念JDBC(Java Data Base Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它是一组用java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序数据库驱动:我们安装好数据之后,我们的应用程序不能直接使用数据库,必须通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。其实也就是数据厂商的JDBC接口实现,即对connection等接口的实现类的jar文件常用接口常用Statement方法:next();移动到下一行Previous();移动到 查看全文

如何使用gitlab自建golang库

        nblogs-markdown">这里以go mod方式建立golang基础库一.gitlab创建项目golib地址为gitlab.xxx.com/base/golib示例如下go mod初始化命令go mod init golib二、如何下载1. 先关闭GOPROXYexport GOPROXY=""2. 替换git的https为ssh,避免下载包的过程让输入密码git config --global url."git@gitlab.eoffcn.com:".insteadOf "https://gitlab.eoffcn.com/"3.执 查看全文

python中内存地址

        nblogs-markdown">遇到一个朋友,给我提了一个问题:python中的两个相同的值,内存地址是否一样?当时印象里有这样一句话:Python采用基于值的内存管理模式,相同的值在内存中只有一份于是张嘴就说是一样的朋友说不是这样,也分情况,之后回家查阅了一些资料,想着应该记录下来,防止朋友们踩坑1.整数、字符串是真正意义上的值,而内存只有一份指的是较小的值  对于(-5~256)之间的整数,会在内存中进行缓存,两个相同的整数只开辟一份内存,当地址引用为0时,内存自动删除2.对于元组、字典、列表、集合以及range、map等容器类对象,这些的值看起来一样,但内存却不是保存一份3.同一个列表 或者元组 中,大的整数 在内存中会保存同一个地址4.对于实数(有理数、无理数)来说(不 查看全文

【MySQL】数据类型之字符相关--2019-08-06 15:25:13

        nblogs-markdown">原创链接: http://106.13.73.98/__/22/目录字符类型char类型varchar类型实测总结枚举类型与集合类型字符类型官网:https://dev.mysql.com/doc/refman/5.7/en/char.html注意:char与varchar括号内的参数指的是字符的固定长度char类型定长,简单粗暴,浪费空间,存取速度快字符长度:0 ~ 255(一个中文是一个字符,是utf8编码的3个字节)例如:指定长度为10,存>10个字符则报错,存<10个字符则用空格填充直到凑够10个字符存储.检索:在检索时,显示的结果会自动删除尾部的空格,除非打开pad_char_to_full_length SQL模 查看全文
加载更多

js使用protobuf——支持web端交互使用

ProtoBuf简介Protocol Buffer的简称。Google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式,适合用于数据存储,作为不同应用、语言之间相互通信的数据交换格式,序列化后的数据为二进制数据(pb格式的数据),类比XML、JSON。protobuf最先支持C++ C# Go JAVA Python PHP语言,最近发布的代码包又支持了JavaScript,今天就来谈下,js怎么使用protobuf。官网地址 https://developers.google.com/protocol-buffers/安装protobuf编译器从github上下载编译器源码安装包,https://github.com/protocolbuffers/protobuf/releases 编译安装, 目前仅支持unix类型的系统。定义 查看全文

分享345本关于java的pdf电子书,附书单和下载链接

1 21天学通JAVA 第6版 链接:https://pan.baidu.com/s/1HrK-UaWrBLwYqYThy_oYVQ 密码:q2vx2 EFFECTIVE JAVA  第2版 链接:https://pan.baidu.com/s/1rKMWRqGjY-sZfzZi_FJ1Kw 密码:97rs3 Effective_Java_中文版 链接:https://pan.baidu.com/s/18rS4QvzU_D7WeT8IqNpNZg 密码:mh614 HEAD FIRST JAVA(中文版)第二版 链接:https://pan.baidu.com/s/1SFz6DicXxZzaVl9YhepWAg 密码:r2of5 JAVA 8 编程参考官方教程(第9版) 链接:https://pan.baidu.com/s/1IS-V5pJ 查看全文

多种机器学习算法优缺点总结

  1、分类算法2、回归算法3、集成算法决策树(Decision Tree)支持向量机(SVM)K近邻(kNN,k-NearestNeighbor)朴素贝叶斯逻辑回归线性回归多项式回归Adaboost算法GBDT(梯度提升决策树)XGBoost随机森林a、bagging(Bootstrapped Aggregation)b、boosting算法1、聚类算法:Kmeans2、关联规则算法:Apriori一、无监督算法:二、有监督算法一、无监督算法:1、聚类算法:KmeansKmeans中心思想:事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中,接着,重新计算每个类的质心(即为类中心),重复这样的过程,直到质心不再改变,最终就确定 查看全文

hive中常用的UDF函数总结

1、类型转换cast(expr as <type>)  如: cast('1' as BIGINT) 字符串转换为数字2、if语句if(boolean testCondition, T valueTrue, T valueFalseOrNull)如果 testCondition 为 true 返回 valueTrue, 否则返回 valueFalse 或 Null如: if(1 == 1, 1, 2) 结果为13、case语句CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END如:case when a == b then b when a == c then c else d end4、字符串连接concat(stri 查看全文

hive默认分隔符

hive的默认分割符,hive使用不可见的字符作为分割符,如下表。分隔符描述\n行分隔符^A字段分隔符,八进制表示为\001, ^Barray或struct中为元素分隔符,map中为key-value分隔符\002^Cmap中为key和value间的分隔符\003php中使用是使用分隔符的八进制表示方式,并使用双引号引住。eg,implode("\001", $arrFields);vim中:set list可以查看到hive数据文件的默认分隔符显示指定创建表时的默认分割符。eg,create EXTERNAL table IF NOT EXISTS tbl_test (   id   &nb 查看全文

(新手上路)nginx运行报错:could not open error log file和mkdir fail

问题:nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) 2018/08/12 00:01:05 [emerg] 1977#0: mkdir() "/usr/local/nginx/client_body_temp" failed (13: Permission denied)分析:error.log 日志记录文件 查看全文

Flink开发中遇到的问题及解法

1. 当Source是Kafka的时候,如何设置Source Operator的并发度?如果没有指定,Source Operator的个数与集群中的TaskManager的个数相等。如果手动设置,建议使用的slot个数=Kafka Partition的个数/TaskManager的个数。此时,Slot的个数需大于等于2.因为其中有一个Source Operator。也不建议在一个Slot中启用多线程。2. Barrier如果丢失了怎么办?因为Barrier是从Source开始周期性的发送的,所以过一段时间未被标记为阻塞的input channel会收到下一个checkpoint的barrier,这时Flink会进行比对,发现如果当前的检查点没有完成,但下一个checkpoint已经过来了,那么Flink会放弃当前的checkpoint,转而使用下一个 查看全文

Elasticsearch分页查询From&Size vs scroll vs search_after

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZYC88888/article/details/81938202 背景Elasticsearch 是一个实时的分布式搜索与分析引擎,被广泛用来做全文搜索、结构化搜索、分析。在使用过程中,有一些典型的使用场景,比如分页、遍历等。在使用关系型数据库中,我们被告知要注意甚至被明确禁止使用深度分页,同理,在 Elasticsearch 中,也应该尽量避免使用深度分页。这篇文章主要介绍 Elasticsearch 中使用分页的方式、Elasticsearch 搜索执行过程以及为什么深度分页应该被禁止,最后再介绍使用 scroll 的方式遍历数据。Elasticsearch 搜索内部执行原理一个最基本的 Elasticsearch 查询语 查看全文
加载更多