RED

html/css静态网页制作

故事扮演 提交于 2020-07-28 09:04:28
任务要求: 简单对网页进行分割布局,基本思路上中下三部分,然后在每一部分细分 <! doctype html > < html > < head > < meta charset ="utf-8" > < title > 无标题文档 </ title > < link href ="qiyecss/qiye.css" type ="text/css" rel ="stylesheet" > </ head > < body > < div id ="body" > < div id ="top" > < div class ="logo" ></ div > < div class ="search" > 搜索产品 < input class ="text" type ="text" name ="" value ="" > < input class ="button" type ="button" name ="" value ="" > </ div > </ div > < div id ="back_top" > < div class ="back_a" ></ div > < div class ="back_b" ></ div > < div class ="back_one" > < ul > < li >< a href ="#" > 首页 </ a ></

试着用workerman开发一个在线聊天应用

南笙酒味 提交于 2020-07-28 08:08:33
聊天功能是很常见的一种功能,Workerman是一款开源高性能异步PHP socket即时通讯框架。 什么是Workerman? Workerman是一款 开源 高性能异步 PHP socket即时通讯框架 。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。 以下我们来搭建与配置一下Workerman 第一步:先把workerman里需要用到的扩展composer下来。 "workerman/gateway-worker": "^3.0", "workerman/gatewayclient": "^3.0", "workerman/workerman": "^3.5", 第二步:到官方网站把demo全部下载下来,然后放到我们项目中的目录,我这里用的是laravel框架 图片中我就把整个项目都放在了HTTP/Controller/Workerman中。 第三步:我们需要把把以下3个文件的引用部分修改为以下。不然会报路径错误 require_once __DIR__ . '/../../../../..

都0202年了,你还不知道javascript有几种继承方式?

不问归期 提交于 2020-07-28 07:19:29
前言 当面试官问你:你了解js哪些继承方式?es6的class继承是如何实现的?你心中有很清晰的答案吗?如果没有的话,可以通过阅读本文,帮助你更深刻地理解js的所有继承方式。 js继承总共分成5种,包括构造函数式继承、原型链式继承、组合式继承、寄生式继承和寄生组合式继承。 构造函数式继承 首先来看第一种,构造函数式继承,顾名思义,也就是利用函数去实现继承; 假设我们现在有一个父类函数: // 父类构造函数 function Parent(color) { this .color = color; this .print = function () { console.log( this .color); } } 现在要编写一个子类函数来继承这个父类,如下: // 子类构造函数 function Son(color) { Parent.call( this , color); } 上面代码可以看到,子类Son是通过Parent.call的方式去调用父类构造函数,然后把this对象传进去,执行父类构造函数之后,子类Son就拥有了父类定义的color和print方法。 调用一下该方法,输出如下: // 测试 var son1 = new Son('red' ); son1.print(); // red ​ var son2 = new Son('blue' ); son2.print(

shell命令之提取文件路径或者文件名称

点点圈 提交于 2020-07-28 07:02:35
很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等。 下面介绍两种常用的方法来进行相关的操作。 一、使用${} 1、${var##*/} 该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容。使用例子及结果如下: 从运行结果可以看到,使用该命令,可以提取出我们需要的文件名file.txt。 若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=${var##*/} 2、${var##*.} 该命令的作用是去掉变量var从左边算起的最后一个'.'字符及其左边的内容,返回从左边算起的最后一个'.'(不含该字符)的右边的内容。使用例子及结果如下: 从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。 如果文件的后缀不仅有一个,例如,file.tar.gz,命令 ${var##*.} 仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的 ${var#*.} 命令了。 3、${var#*.}

ng-options去除空白行及表单验证

余生长醉 提交于 2020-07-28 06:13:10
<div class="form-group"> <label class="col-xs-2 control-label col-xs-offset-1" ><span class="red">*</span>证件号码</label> <div class="col-xs-7"> <input class="form-control" type="text" value="" id="modifyEmployeeCartNum" name="modifyEmployeeCartNum" value="`CartNum`" ng-model="CartNum" ng-pattern="/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/" ng-minlength="18" ng-maxlength="18" minlength="18" maxlength="18"> <span style="color:red;font-size=12px;font-family="微软雅黑";" ng-show="myForm4.modifyEmployeeCartNum.$dirty &&

c# 通过HttpListener创建HTTP服务

核能气质少年 提交于 2020-07-28 04:07:32
  在c#中可以利用HttpListener来自定义创建HTTP服务,通过http协议进行服务端与多个客户端之间的信息传递,并且可以做成windows系统服务,而不用寄宿在IIS上。以下为一个demo,分为两部分,一部分为服务端,另一部分为客户端。   服务端:   class Program { static HttpListener httpobj; static void Main( string [] args) { // 提供一个简单的、可通过编程方式控制的 HTTP 协议侦听器。此类不能被继承。 httpobj = new HttpListener(); // 定义url及端口号,通常设置为配置文件 httpobj.Prefixes.Add( " http://+:8080/ " ); // 启动监听器 httpobj.Start(); // 异步监听客户端请求,当客户端的网络请求到来时会自动执行Result委托 // 该委托没有返回值,有一个IAsyncResult接口的参数,可通过该参数获取context对象 httpobj.BeginGetContext(Result, null ); Console.WriteLine($ " 服务端初始化完毕,正在等待客户端请求,时间:{DateTime.Now.ToString()}\r\n " ); Console

JavaFx HBox VBox 布局利用Priority实现布局自适应

ⅰ亾dé卋堺 提交于 2020-07-28 04:01:26
一:相关类和方法 1: javafx.scene.layout.Priority,一个枚举类,用于确定给定节点的增长(或缩小)优先级。比如:一个HBox布局,里面有三个控件,当屏幕宽度是800时,刚好把屏幕占满,但是当屏幕扩大到1200时,这个Priority规定了这三个控件如何处理增加的400宽度。共有三个取值: ALWAYS:布局区域将始终尝试增长(或缩小),共享那些空间; SOMETIMES:如果没有控件设置为ALWAYS,或者其它控件没有处理完变化的控件,设置为SOMETIMES的控件将和其它控件分享这些区域。 NEVER:控件不会参与处理变化的空间。 2. HBox.setHgrow(Node child, Priority value),HBox.getHgrow(Node child); VBox.setVgrow(Node child, Priority value),VBox.getVgrow(Node child); 3. 注意事项 如果HBox里面所有的控件都设置成ALWAYS,那么这些控件需要设置maxWidth="Infinity",否则会不起作用。 二:实例 1. main.xml <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.text.*?> <?import javafx

VUE的学习汇总

落花浮王杯 提交于 2020-07-28 02:55:28
VUE的学习汇总 VUE 的特点: 不用操作DOM 单页面应用WEB(asp) 数据驱动视图,只关注数据; MVVM双向数据绑定; 组件化,复用代码; VUE的安装: 1.直接通过路径引入,地址:https://vuejs.org/js/vue.min.js; 2.直接下载在本地引入 3.采用npm安装的方式,命名:npm install vue vue.js不支持IE8及其以下版本; VUE的使用: once ,prevent,stop <div id="app"> {{string}} <button v-on:click="clicme">once</button> <button @click="clicme">once</button> <button @click.once="clicmeonce">once</button> //只触发一次 <a href="http://www.baidu.com" @click.prevent="stopjum">//阻止默认事件触发 <div @click="alert(1)"> <div @click.stop="alert(2)"></div> //阻止冒泡事件,只重复2,不触发1 </div> <input type="text" v-bind:value="string" @input="inputChange(

Android Bitmap图片优化分析

大憨熊 提交于 2020-07-27 23:07:23
图片移动开发中占据中举足轻重的地位, 一个好的应用不仅能够给用户提供”实用“的功能,早期的android 页面Ui简单,但随着Android系统不断的升级发展, 界面越来越丰富,用户对界面要求越来越高,UI小姐姐们不经需要设计出精致的界面元素,其中不乏一些好看的图片,但是随着手机性能提升(分辨率,cpu主频,内存等),图片质量也越来越大,拍个照动不动就3M,4M,8M, 大家都知道,android 应用创建进程时候,会分配一个固定的内存大小,准确的说话是 google原生OS的默认值是16M,但是各个厂家的系统会对这个值进行修改,如果我们应用直接将这些大图直接加载到内存中,很快内存就会耗尽,最终出现OOM异常,所以图片的处理对于一个稳定,具备丰富界面的应用来说非常重要,今天我们就来聊一聊Bitmap,在开发过程中就把”图片“给优化一番,保证我们项目在线上稳定,流畅运行。 Bitmap Bitmap图像处理的最重要类之一。用它可以获取图像文件信息,进行图像颜色变换、剪切、旋转、缩放等操作,并可以指定格式保存图像文件 如图,bitmap在sdk中算是元老级的人物了,从api1中就已经有了,可见其重要性。 继承关系就不解释了,实现了Parcelable 具备在内存中传递的特性。 bitmap中有两个重要的内部类 CompressFormat 以及 Config 下面分别介绍一下这两个类

R语言笔记:用R语言绘制条形图

為{幸葍}努か 提交于 2020-07-27 15:00:14
学“统计学”的人对R语言应该不会太陌生,近十年来,随着大数据时代的到来,把统计学和数据分析,R语言都带火了。虽然我本人会用Python的matplotlib和pyecharts,百度的Echarts,微软的Excel作可视化图形,但因为自身也是学统计学专业的,如果不会用R语言。心里多少都会感到有一点遗憾。 经过我这两天的,摸索,其实发现“可视化之神”也不难上手,只要多“百度经验”和“CSDN”一下就可以了。闲话少说,来点干货先。 ① 在Excel中创建用Python的 groupby函数 或 pivot.table功能 汇总出下面的结果: ② 通过R语言指令把数据从“ 剪切板 ”加载到RStudio中(因为虽然直接从Excel文件读取更加方便、省事,但是因为我平时用Python,就不想多配置一个Java的JDK环境了): 代码: QDM <- read.table("clipboard",header = T) QDM ③ 或者自己在RStudio中,根据需求构造两组一维向量: QDM <- c(100,200,300,400,500,600) depatment <- c("电商","水产","水果","蔬菜","肉类","综合") ③ 用 barplot() 函数来绘制出一个简单的柱形图(代码超短),默认是灰色。 barplot(QDM,names.arg =