stat

【MINA】用protobuf做编解码协议

和自甴很熟 提交于 2020-02-29 07:03:49
SOCKET 协议 支持 java serial 与 AMF3 的混合协议 , 目前没有基于 xml 与 json 的实现。 协议说明: * 9个字节协议头+协议体. * * 协议头1-4字节表示协议长度 =协议体长度+9-4(去掉长度占的4字节) * * 协议头第5字节为标志字节: *------------------------ * 该字节的最低位为压缩位:0=协议体未压缩 1=协议体已经压缩, * 该字节的低2-4位为协议位: * 000=基于AMF3的协议, * 001=基于java serial协议 * 010=基于protobuf协议 * 5-8位未用,作为以后扩展 * ------------------------ * * 6-9字节表示命令号 * * 采用网络字节序的整数(高位在前,低位在后) 1-4协议长度 6-9cmd 1 2 3 4 5 标志位 6 7 8 9 数据( AMF3 或者 java serial ) 目前支持3种序列化协议。protobuf没有做额外的压缩,也没有做加密,但是将来都可以用标志位来做,这里另外两种不做解释,主要说protobuf 准备工作 protobuf-java-2.5.0.jar 自定义的proto文件ChatMsg.proto protoc.exe编译工具 编译命令proto.bat #ChatMsg.proto

stat命令详解

邮差的信 提交于 2020-02-25 23:20:50
NAME stat -display file or file system status SYNOPSIS stat [OPTION]... FILE... DESCRIPTION Display file or file system staus -L,--dereference follow links :跟随链接文件 -Z,--context print the SELinux security context 显示SELinux安全上下文 -f,--file-system display file system status instead of file status:显示文件系统状态 -t,--terse print the information in terse form 以简洁的信息形态显示 来源: 51CTO 作者: wx5a1f8d23790cb 链接: https://blog.51cto.com/13508525/2471498

STAT 440

北城余情 提交于 2020-02-19 20:29:35
STAT 440: Homework 4 Due: 2/11 at 3:00pm All work must be done using RMarkdown. Turn in the code as well as the output. Clearly denote the results of each question! If the grader has a hard time finding your answer, I will instruct them to not give you credit! 1. The Zero-Inflated Poisson distribution is useful for modeling count processes where there are additional zero values. It is commonly used to model the counts of rare events, where most of the time there will be no events. Let X ∼ ZIP(p, λ) be a random variable from the zero-inflated Poisson distribution with occurance probability p

Awk基本入门[4] Awk Conditional Statements and Loops

≡放荡痞女 提交于 2020-02-18 19:16:24
1、Simple If Statement 语法: if (conditional-expression) action 如果是多个action,则语法如下: if (conditional-expression) { action1; action2; } Print all the items with quantity <=5: $ awk -F "," '{ if ($5 <= 5) \ print "Only",$5,"qty of",$2, "is available"; }' \ items.txt Only 2 qty of Refrigerator is available Only 5 qty of Laser Printer is available 2、If Else Statement 语法: if (conditional-expression) action1 else action2 该语法与三元运算符类似: conditional-expression ? action1 : action2 ; The following example displays the message "Buy More" when the total quantity is <= 5, and prints "Sell More" when the total

13

泪湿孤枕 提交于 2020-02-13 20:43:05
今天继续复习了上学期的内容,更加熟练的掌握了增删改查和登陆界面 以下是完善后的代码 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html xmlns="http://www.w3.org/1999/xhtml"> 5 <head> 6 <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" /> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8 <link rel="stylesheet" type="text/css" href="css/style.css" /> 9 <link rel="stylesheet" type="text/css" href="css/WdatePicker.css" /> 10 <link rel="stylesheet" type=

12

大憨熊 提交于 2020-02-12 19:50:34
今天并没有进行新的学习,而是对上学期的学习内容进行了整理和复习 主要复习的板块就是关于数据库的增删改查和登陆界面的完成 不同于之前,今天主要复习了查询功能的模糊查询 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%> 2 <%@ page import="java.sql.*"%> <%--导入java中的sql包--%> 3 <%@page import="ccc.S"%> 4 <% 5 request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8 6 response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8 7 %> 8 <% 9 String path = request.getContextPath(); //相对Path设置 10 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置 11 %> 12 <

Python简单程序爬取天气信息,定时发邮件给朋友【高薪必学】

拜拜、爱过 提交于 2020-02-08 15:34:02
前段时间看到了这个博客。 https://blog.csdn.net/weixin_45081575/article/details/102886718。 他用了request模块,这不巧了么,正好我刚用过。 他有了smtp模块,这不巧了么,正好我刚用过。 定时发送邮件,这不巧了么,我不会 。 PS:另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python全栈开发交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题有老司机解决哦,一起相互监督共同进步 整体思路: Python语言封装了很多模块帮助你进行通信,所以写起来相对简单。、 1、https://dev.heweather.com/docs/api/weather和风天气提供了获取天气信息的接口,通过url请求得到json格式的数据。具体用法可以查看链接的api开发文档。 比如我要获得郑州此时的天气信息,请求方式如下: https://free-api.heweather.net/s6/weather/now?location=zhengzhou&key=8a92371afde5490c9ecf3e9346ff189a # 得到数据 def get_sky(): url='https://free-api

缓存数据库Memcache

萝らか妹 提交于 2020-02-08 05:22:06
为什么用缓存数据库 MySQL:将数据存储在 磁盘上 ,数据写入读取相对较慢 Memcached:将数据存在 内存中 的数据库,数据读写都快,但是数据容易丢失 数据存储 ,数据仓库选择MySQL这种磁盘的数据库 高并发,业务大 的应用选择Memcached这种内存数据库 当然,在工作中,都是景MySQL+Memcached/Redis搭配使用 Memcache介绍 Mem cache d 是一款开源的、高性能的纯内存缓存服务软件。 Mem是内存的意思 cache是缓存的意思 d是daemon的意思 官网地址http://memcache.org/ memcache在企业中的使用场景 优点: 对用户来讲,访问网站的速度更快了,体验更好了 对于网站来说,数据库压力降低了。只有当内存没有数据时,才回去请求数据库。第一次写入时也会请求数据库。一般公司没有预热,只有当用户读取过数据库,才回放到Memcache中。 提升了网站的并发访问,减少服务器的数量 数据库缓存架构图 memcache应用在session会话中 cookie和session 他们都是key-value的形式 cookie存放在浏览器上   F12 ---->Application---->在左边栏可以找到cookies session放在服务器上 Memcache的使用 准备环境 配置了一台centos6的模板机

stat函数(stat、fstat、lstat)

試著忘記壹切 提交于 2020-02-07 08:54:20
#include <sys/types.h> #include <sys/stat.h> #include <unistd.h> //需包含头文件 有如下三个函数的函数原型: int stat(const char *path, struct stat *buf); 第一个形参:指出文件(文件路径); 第二个形参:出参数(函数对该参数操作,然后传出)。 int fstat(int fd, struct stat *buf); fstat函数与stat函数的功能一样,只是第一个形参是文件描述符。 int lstat(const char *path, struct stat *buf); lstat函数的形参跟stat函数的形参一样。其功能也跟stat函数功能一样,仅有一点不同:stat函数是穿透(追踪)函数,即对软链接文件进行操作时,操作的是链接到的那一个文件,不是软链接文件本身;而lstat函数是不穿透(不追踪)函数,对软链接文件进行操作时,操作的是软链接文件本身。 以上三个函数:成功返回0,失败返回-1,并且将详细错误信息赋值给errno全局变量。 其它Linux系统函数类似,带l表示不追踪,不带l表示追踪(穿透)。如:ls –l命令查看的文件属性,是不追踪(不穿透)的;rm删除文件时,是不追踪的;Vi和Vim是穿透的;对于穿透的命令,是无法判断文件是不是软链接文件,比如ls

shell脚本报错:value too great for base (error token is "08")

試著忘記壹切 提交于 2020-02-06 02:17:07
在shell开发中,会遇到将10以内的数字前面加0的情况,例如按小时分区执行hive脚本,具体代码如下: #!/bin/sh START_DAY = $1 END_DAY = $2 FLAG_DAY = ${START_DAY} START_HOUR = $3 END_HOUR = $4 executeHive ( ) { while : do local STAT_HOUR = 00 local FLAG_HOUR = 23 local START_DAY = $( date -d " $START_DAY 1day" +%Y%m%d ) local STAT_DAY = ` date -d " ${START_DAY} -1 day" +%Y%m%d ` # 判断执行日期是否为开始日期或结束日期 if [ ${STAT_DAY} -eq ${FLAG_DAY} ] ; then STAT_HOUR = ${START_HOUR} elif [ ${STAT_DAY} -eq ${END_DAY} ] ; then FLAG_HOUR = ${END_HOUR} fi while : do printf "[INFO] ` date '+%F %T' ` current execute partition is dt= ${STAT_DAY} hour= ${STAT_HOUR}