
编程开发
编程开发
珊瑚贝
这个作者很懒,什么都没留下…
展开
-
go语言window|mac|linux下交叉编译其他平台的软件包
go语言window|mac|linux下交叉编译其他平台的软件包原创 2023-11-18 15:35:04 · 932 阅读 · 1 评论 -
手贱,把分区扩容,导致分区损坏,变为RAW,最终恢复好数据
把分区扩容,导致分区损坏,变为RAW,最终恢复好数据原创 2023-07-31 10:43:47 · 343 阅读 · 0 评论 -
CentOS 中安装 Web 压力测试工具 ApacheBench (ab)
它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击。Apache服务自带了应该用于压力测试的工具ab(ApacheBench),对应做一些简单的压力测试,它完全能够胜任,本文主要介绍,在centos中不安装Apache的情况下,安装ab。原创 2023-02-27 14:53:39 · 915 阅读 · 0 评论 -
实测有用node.js/express从HTTP重定向到HTTPS
服务器正常运行的,脱敏后的代码。原创 2023-02-20 15:01:55 · 382 阅读 · 0 评论 -
Python 爬取单个网页所需要加载的URL地址和CSS、JS文件地址
来源:http://www.shanhubei.com/archives/2491.html。脱敏后自用的py采集代码,原创 2022-11-28 11:45:19 · 1405 阅读 · 0 评论 -
大文件读取的实现-PYTHON
当前一个大文件大小,比当前的机器的内存大,先读取某个文件里的一部分。文件遍历因为文件保存了很多字符和行,因此也是循环常见的典型使用案例,最原始的方法可以调用文件对象的read方法,把文件内容一次性加载至字符串对象file = open('myfile.txt', 'r')print(file.read())hello text filegoodbyt text fileHahaha...原创 2020-03-14 15:39:36 · 154 阅读 · 0 评论 -
海量数据处理的基本方法总结
海量数据处理概述所谓海量数据处理,就是数据量太大,无法在较短时间内迅速解决,无法一次性装入内存。本文在前人的基础上总结一下解决此类问题的办法。那么有什么解决办法呢?时间复杂度方面,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树。空间复杂度方面,分而治之/hash映射。海量数据处理的基本方法总结起来分为以下几种:...转载 2020-03-14 12:05:26 · 256 阅读 · 0 评论 -
Vue.js项目开发技术解析
Vue.js项目开发技术解析一、Vue.js实例在一个Vue.js工程中,用于显示内容最基层的实例称之为根实例。通过该实例可以进行页面或组件的更新和显示。对于项目本身而言,无论是什么样的页面,都要基于该根实例进行显示。1.1、何为构造器对于Vue.js项目来说,每个应用的起步都需要使用Vue.js的构造函数创建一个根实例,如下:// 逻辑部分代码,建立Vue实例var vm = new...原创 2020-02-18 16:34:41 · 382 阅读 · 0 评论 -
从一个电影网站项目学习[前台显示端]---Vue.js
本篇文章通过一个完整的电影介绍和电影资源发布网站的项目,过一遍Vue.js。通过前面章节的介绍http://www.shanhubei.com/tag/vue 或在本平台下的相关文章了解一下。(ps本人是通过工具编辑器编写,同步在多个平台上)项目源码:github:https://github.com/shanhubei/vue_movie_examplegitee:https://g...原创 2020-02-17 20:02:53 · 1068 阅读 · 0 评论 -
从一个电影网站项目学习[后台API部分]---Vue.js
本篇文章通过一个完整的电影介绍和电影资源发布网站的项目,过一遍Vue.js。通过前面章节的介绍http://www.shanhubei.com/tag/vue 或在本平台下的相关文章了解一下。(ps本人是通过工具编辑器编写,同步在多个平台上)项目源码:github:https://github.com/shanhubei/vue_movie_examplegitee:https://g...原创 2020-02-17 20:00:53 · 1186 阅读 · 0 评论 -
Vue.js使用CSS美化
网页的美化主要靠CSS。Vue.js也可以借助CSS实现更好的效果。一、什么是CSS这里就不介绍了。对开发者而言,所有的样式如果都需要手写是非常繁琐的,而且难度也非常的高,这时就该用到现有的开源UI框架库了。二、动态绑定class,让页面变得美观操作元素的class列表和内联样式是数据绑定常见需求。因为它们都是属性,所以可以用v-bind处理它们;只需要通过表达式计算出字符串结果即可。不过...原创 2020-02-17 14:08:51 · 1041 阅读 · 0 评论 -
Vue.js让页面变成动态页面的魔法源
对于一个网页而言,只是简单的静态页面是远远不够的。本章将会编写电影网站的所有页面逻辑,使原本的静态页面网站变成能够处理用户请求和显示动态项目的网站。本篇文章会涉及到大量的Vue.js和JavaScript语法的应用,目的就是让读者从中学会Vue.js的各种基础语句和处理器的使用。一、条件渲染条件渲染是重要的控制系统,执行不同的代码会有不同的显示效果,方便根据用户的选线或组别展示不同的页面,达...原创 2020-02-16 18:09:37 · 1595 阅读 · 0 评论 -
带你了解一下Vue.js的模板
因为Vue.js是建立在视图层的技术,所以Vue.js的模板系统是非常重要的功能之一。对于展现给用户的视图页面,需要提供最佳的用户体验和性能,而Vue.js提供了非常方便和适用的模板系统,使得它受到了广大开发者的追棒和欢迎。一、什么是模板系统任何一个用于Web编写或者面向使用者的应用必定有模板的存在。模板从根本上规定了一个系统应当以怎样的交互形式和UI风格面向使用者,而遵循这套模板进行设计和完...原创 2020-02-13 19:14:40 · 417 阅读 · 0 评论 -
简单步骤在github上建立自己的网站
现在简单记录git命名1.在github 新建一个项目。2.在项目setting 设置网址主题。3.在本地git clone一份代码,切换git checkout gh-pages4.开始你的表演,编写html文件等等。。。 git clone https://github.com/xxxx/xxxx.github.io.git.git cd xxxx.github.io.git g...原创 2020-02-11 14:27:06 · 243 阅读 · 0 评论 -
使用express应用生成器新建工程-Vue.js
Express提供了一个方便的工具-应用生成器Express,可以快速创建一个应用的“骨架”。新建工程通过如下命令安装应用生成器:npm install express-generator -g1.使用以下命令创建项目express book_service2.cd 进入刚建立好的工程中,进行命令进行安装:npm install3.所有的包安装成功之后,使用如下命令启动应用:...原创 2020-02-07 15:13:19 · 168 阅读 · 0 评论 -
通过CLI工具构建一个Vue.js程序
使用CLI工具之前需要用户对Node.js和相关构建工具有一定程序的了解。CLI是构建一个快速而规范的Vue.js项目的重要工具。为了让读者能够快速地学会使用CLI工具,下面直接使用CLI进行项目的创建。通过CLI构建应用1.通过cli工具初始化一个以Webpack为模板、项目名称为demo_view的项目。Vue inti webpack demo_view2.通过上面步骤生成了项目...原创 2020-02-06 15:49:07 · 130 阅读 · 0 评论 -
NPM-神奇的包管理工具
npm(Node Package Manager,Node包管理器)是node.js默认的用JavaScript编写的软件包管理系统。如果一个项目中存在package.json文件中,那么用户可以直接使用npm install命令自动安装和维护当前项目所需的所有模块,在package.json文件中,开发者可以指定每个依赖项的版本范围,这样既可以保证模块自动更新,又不会因为所需模块功能大幅变化而...原创 2020-02-05 15:02:49 · 213 阅读 · 0 评论 -
HTML5新特性新认识概述
概述任何新鲜事物的出现,都会带给人们惊喜,同时也会存在很多争议。虽然Web开发者普遍认为有了HTML5是比较好的,但是还是会很担心,例如:新的HTML5在老的浏览器上能否正常运行,会不会产生错误等各种问题。HTML5是基于各种各样的理念进行设计的,这些设计理念体现了对可能行和可行性的新认识。兼容性对HTML以前的版本开发的网站做了很好的兼容HTML5的一个核心理念就是保持一切新特性平...原创 2020-02-05 12:56:15 · 591 阅读 · 0 评论 -
Vue.js的主要特性
随着手机和移动互联网市场的日益成熟,移动App领域也从如何开发,发展到如何更高效、更低成本地开发阶段。传统的原生平台(PC、IOS和Android)开发技术虽然比较成熟,但由于其开发效率和成本的限制,已经无法满足移动互联网App的开发需求。跨平台技术横空出世,大量的JavaScript框架和工具得以迅速流行,而Vue.js跃升为其中的佼佼者,成为构建用户界面的绝佳实践技术之一。Vue.js是一套...原创 2020-02-05 12:41:00 · 2635 阅读 · 0 评论 -
HTML5 Web Workers
概述:Web Worker是在HTML5中新增的,用来在Web应用程序中实现后台处理的一项技术。使用这个API,用户可以很容易地创建在后台运行的线程(在HTML5中称为worker),如果将可能耗费较长时间的处理交给后台去执行,对用户在前台页面中执行的操作就完全没有影响了。创建后台线程的步骤:只要在Worker类的构造器中,将需要在后台线程中执行的脚本文件的URL作为参数,然后创建Worker...原创 2020-02-04 17:32:25 · 195 阅读 · 0 评论 -
线程嵌套 -HTML5 Web Workers
在多个子线程中进行数据的交互要实现子线程与子线程之间的数据交互,大致需要如下几个步骤:先创建发送数据的子线程。执行子线程中的任务,然后把要传递的数据发送给主线程。在主线程接受到子线程传回来的消息时,创建接收数据的子线程,然后把发送数据的子线程中返回的消息传递给接收数据的子线程。执行接收数据子线程中的代码。接下来看一个在多个子线程中进行数据交互的实例,本例与上节中实现的效果相同,...原创 2020-02-04 17:32:00 · 350 阅读 · 0 评论 -
HTML5地理定位 Geolocation API
使用getCurrentPosition方法来取得用户当前的地理位置信息,该方法的定义如下所示。void getCurrentPosition(onSuccess,onError,options);第一个参数为获取当前地理位置信息成功时所执行的回调函数;第二个参数为获取当前地理位置信息失败时所执行的回调函数;第三个参数为一些可选属性的列表。注意:其中第二、三个参数为可选属性。get...原创 2020-02-04 17:31:03 · 506 阅读 · 0 评论 -
跨文档消息通信 HTML5
使用postMessageAPI要想接受从其他的窗口那里发过来的信息,就必须对窗口对象的message时间进行监视,代码如下所示。window.addEventListener("message",function(){...},false);使用window对象的postMessage方法向其他窗口发送信息,该方法的定义如下所示。otherWindow.post...原创 2020-02-04 17:30:43 · 259 阅读 · 0 评论 -
applicationCache对象的事件-HTML5离线应用
applicationCache对象除了具有update方法与swapCache方法之外,还具有一系列的事件,我们再通过前面讲过的浏览器与服务器的交互过程来看一下在这个过程中这些事件是如何被触发的。首次访问http://localhost:82/mr/网站:(1)浏览器:请求访问http://localhost:82/mr/。(2)服务器:返回index.html网页。(3)浏览器:...原创 2020-02-04 12:29:29 · 373 阅读 · 0 评论 -
HTML5 Web SQL 本地数据库
Web SQL数据库是存储和访问数据的另一种方式。从其名称可以看出,这是一个真正的数据库,可以查询和加入结果。在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多功能来将原本必须要保存在服务器上的数据转为保存在客户端本地,从而大大提高了Web应用程序的性能,减轻了服务器端的负担。在这其中,一项非常重要的功能就是数据库的本地存储功能。在HTML5中内置了一个可以通过SQL语言来访问数据库。...原创 2020-02-04 11:53:33 · 334 阅读 · 0 评论 -
HTML5 Web Storage存储
Web Storage功能,顾名思义,就是在Web上存储数据的功能,而这里的存储,是针对客户端本地而言的。它包含两种不同的存储类型:Session Storage和Local Storage。 不管是Session Storage还是Local Storage,它们都能支持在同域下存储5MB数据。sessionStorage将数据保存在session对象中。所谓session,是指用户在浏览...原创 2020-02-04 11:25:40 · 336 阅读 · 0 评论 -
html5的文件操作和拖放事件一--HTML5
在html5中新增了两个与表单元素相关的api-文件api和拖放api。拖放api可以实现一些有趣的功能,允许我们拖动选项并将其放置到浏览器中的任何地方。这很好地体现了html5作为web应用程序规范的思路,使得开发者可以从桌面计算中借用更多的功能。一、通过file对象选择文件在HTML4中,file控件内只允许放置一个文件,但是到了HTML5中,通过添加multiple属性,在file控...原创 2020-02-03 18:19:11 · 416 阅读 · 0 评论 -
html5的文件操作和拖放事件二--HTML5
在html5中新增了两个与表单元素相关的api-文件api和拖放api。拖放api可以实现一些有趣的功能,允许我们拖动选项并将其放置到浏览器中的任何地方。这很好地体现了html5作为web应用程序规范的思路,使得开发者可以从桌面计算中借用更多的功能。接上节四、拖放API在HTML5中,提供了直接支持拖放操作的API。虽然HTML5之前已经可以使用mousedown,mousemove,m...原创 2020-02-03 18:18:00 · 273 阅读 · 0 评论 -
多媒体元素重要事件 -HTML5
事件处理方式在利用video元素或audio元素读取或播放媒体数据的时候,会触发一系列的事件,如果用JavaScript脚本来捕捉这些事件,就可以对这些事件进行处理了。对于这些事件的捕捉及其处理,可以按两种方式来进行。一种是监听的方式:addEventListener(“事件名”,处理函数,处理方式)方法来对事件的发生进行监听,该方法的定义如下所示。videoElement.addEven...原创 2020-02-02 23:14:08 · 1000 阅读 · 0 评论 -
多媒体元素基本属性-HTML5
在HTML5出现之前,要在网络上展示视频、音频、动画,除了使用第三方自主开发的播放器之外,使用得最多的工具应该是Flash了,但是它们都需要在浏览器中安装相应插件才能使用,但是有时速度很慢。html5的出现解决了这个问题。在html5中,提供了音频、视频的标准接口,通过html5中的相关技术,播放视频、动画、音频等多媒体再也不需要安装插件,只是使用支持html5的浏览器就可以了。video元素与...原创 2020-02-02 23:13:47 · 1713 阅读 · 0 评论 -
给图形绘制阴影 --Canvas的基本操作
在HTML5中,使用canvas元素可以给图形添加阴影效果。添加阴影效果时,只需利用图形上下文对象的几个关于阴影绘制的属性就可以了,如下所示:shadowOffsetX ——阴影的横向位移量shadowOffsetY——阴影的纵向位移量shadowBlur ——阴影的模糊范围shadowColor ——阴影的颜色shadowOffsetX 和 shadowOffsetY 用来设定阴影在...原创 2020-02-02 16:22:58 · 649 阅读 · 0 评论 -
应用图像 --Canvas的基本操作
1.绘制图像绘制图像时,需要使用drawImage方法,该方法的定义如下所示:drawImage(image, x, y)第一种方法只使用三个参数,第一个参数可以是一个img元素、一个video元素,或者一个JavaScript中的image对象,使用该参数代表的实际对象来装载图像文件。x与y为绘制时该图像在画布中的起始坐标。drawImage(image, x, y, width,...原创 2020-02-02 16:22:44 · 524 阅读 · 0 评论 -
绘制文字 --Canvas的基本操作
绘制文字时可以使用fillText方法或strokeText方法。fillText方法用填充方式绘制字符串,该方法的定义如下所示:void fillText(text,x,y,[maxWidth]);该方法接受四个参数,第一个参数text表示要绘制的文字,第二个参数x表示绘制文字的起点横坐标,第三个参数y表示绘制文字的起点纵坐标,第四个参数maxWidth为可选参数,表示显示文字时的最...原创 2020-02-02 16:22:25 · 437 阅读 · 0 评论 -
对画布绘制实现动画 --Canvas的基本操作
由于是用脚本操控canvas对象的,这样要实现一些交互动画也是相当容易的。只不过,canvas 从来都不是专门为动画而设计的(不像Flash),这样难免会有些限制。可能最大的限制就是图像一旦绘制出来,它就是一直保持那样了。如果需要移动它,我们不得不对所有东西(包括之前的)进行重绘了。对画布绘制实现动画的步骤如下:(1)预先编写好用来绘图的函数,在该函数中先用clearRect方法将画...原创 2020-02-02 16:22:02 · 718 阅读 · 0 评论 -
综合实例桌面时钟--Canvas的综合实践
主要是注意里面涉及到的知识点:状态的保存和恢复Saving and restoring state 是绘制复杂图形时必不可少的操作。save() 和 restore()save 和 restore 方法是用来保存和恢复 canvas 状态的,都没有参数。Canvas 的状态就是当前画面应用的所有样式和变形的一个快照。1、关于 save() :Canvas状态存储在栈中,每当save...原创 2020-02-02 16:21:35 · 239 阅读 · 0 评论 -
文件的保存--Canvas的基本操作
canvas API保存文件的原理实际上是把当前的绘画状态输出到一个data URL地址所指向的数据中的过程,所谓data URL,是指目前大多数浏览器能够识别的一种base64位编码的URL。最近测试,发现在谷歌浏览器不能打开,用火狐浏览器可以。<!DOCTYPE html> <head> <meta charset="UTF-8"...原创 2020-02-01 22:24:15 · 546 阅读 · 0 评论 -
绘制变形图形--Canvas的基本操作
1、坐标的变换对坐标的变换处理,有如下三种方式。平移移动图形的绘制主要是通过translate 方法来实现的,该方法定义如下所示。context. translate(x, y);translate 方法使用两个参数——x表示将坐标轴原点向左移动多少个单位,默认情况下为像素;y表示将坐标轴原点向下移动多少个单位。缩放使用图形上下文对象的scale方法将图形缩放。该方法的定义如下所...原创 2020-02-01 16:52:11 · 847 阅读 · 0 评论 -
绘制渐变图形--Canvas的基本操作
1.绘制线性渐变渐变的概念:渐变是指在填充时从一种颜色慢慢过渡到另外一种的颜色。绘制线性渐变时,需要使用到LinearGradient对象。使用图像上下文对象的createLinearGradient方法创建该对象。该方法的定义如下所示。context.createLinearGradient(xStart,yStart,xEnd,yEnd) 该方法使用四个参数,xStart为渐变起始地点...原创 2020-02-01 16:51:54 · 731 阅读 · 0 评论 -
运用样式与颜色 --Canvas的基本操作
1.fillStyle 和 strokeStyle属性如果想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle。这两个属性的定义方法如下所示。fillStyle = colorstrokeStyle = colorstrokeStyle是用于设置图形轮廓的颜色,而 fillStyle用于设置填充颜色。color 可以是表示 CSS 颜色值的字符串、渐变...原创 2020-02-01 15:54:05 · 981 阅读 · 0 评论 -
在画布中使用路径-Canvas的基本操作
一、在画布中使用路径beginPath()新建一条路径,路径一旦创建成功,图形绘制命令被指向到路径上生成路径moveTo(x, y)把画笔移动到指定的坐标(x, y)。相当于设置路径的起始点坐标。closePath()闭合路径之后,图形绘制命令又重新指向到上下文中stroke()通过线条来绘制图形轮廓fill()通过填充路径的内容区域生成实心的图形1.使用arc方法绘制圆形...原创 2020-02-01 15:15:45 · 1331 阅读 · 0 评论