自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (6)
  • 收藏
  • 关注

原创 Monorepo 项目如何使用docker 进行打包构建

通过以上步骤,你现在可以在不同的Docker容器中运行Monorepo中的每个项目,并将它们作为不同的服务进行管理和部署。这样,每个项目都可以独立地运行在其自己的容器中,并使用不同的端口进行访问。在每个项目的Dockerfile中,根据项目的要求定义服务。这将根据每个项目的Dockerfile构建相应的Docker镜像,并为它们分配指定的名称。在每个项目的根目录下创建一个Dockerfile,并根据项目的要求编写适当的指令。这将在Docker容器中运行每个项目,并将它们分别映射到不同的端口上。

2023-06-08 17:48:38 420

原创 Tracert 网络诊断工具

如果您想了解更多关于tracert或traceroute命令的详细信息和选项,请查阅相关操作系统的文档或在终端窗口中运行tracert /?请注意,tracert或traceroute结果中显示的延迟时间是每个跃点的往返时间(Round-Trip Time, RTT)。tracert(Traceroute)是一种网络诊断工具,可用于确定数据包从源IP地址到目标IP地址经过的路径和延迟。该命令将开始跟踪到目标地址的路径,并显示每个跃点的IP地址和延迟。tracert <目标IP地址或域名>

2023-06-05 11:12:59 1032

原创 prettier 命令行工具来格式化多个文件

请注意,这个命令会直接修改你的文件,请在运行之前备份你的文件。如果你想要检查文件是否符合 Prettier 的规范而不修改它们,可以将 --write 参数替换为 --check,这将会输出哪些文件不符合规范,但不会修改它们。你也可以使用类似的命令来格式化其他类型的文件。你可以使用 prettier 命令行工具来格式化多个文件。这个命令会递归遍历当前文件夹及其所有子文件夹中的所有 JavaScript 文件,并格式化它们。在命令行中进入需要格式化的文件夹。安装 prettier。进入需要格式化的文件夹。

2023-04-15 12:28:03 1844

原创 M1芯片 Macbook Air 本地 Docker 前端构建镜像报错(node-sass)

M1芯片 Macbook Air 本地 Docker 前端构建镜像报错gyp verb find Python Python is not set from command line or npm configuration一开始本地是默认python 2.7,查说让更新到 3版本,我更新到了 3.10。然而仍然失败。下载安装,然后配置vim ~/.bash_profile添加如下内容:alias python="/usr/local/bin/python3.10"然而并不好用又查发现要

2021-10-20 15:33:52 2060 1

原创 认识 openlayers

认识 openlayersopenlayers 版本 4.6.5实现一张地图这是一个地图实例,你可以把以下内容复制到一个新的 html 文件中,打开试试。<!doctype html><html lang="en"> <head> <link rel="stylesheet" href="https://openlayers.org/en/v4.6.5/css/ol.css" type="text/css"> <style&

2020-12-23 15:52:24 420 1

原创 JavaScript 常规深拷贝方法

JavaScript 深拷贝(无 function 拷贝)function isObject (obj) { return (typeof obj === 'object' || typeof obj === 'function') && (obj !== null)}function deepcopy (obj, hash = new WeakMap()) { let copyObj, constructor = obj.construc

2020-08-31 15:04:04 210 1

原创 JavaScript Symbol 对象的理解与使用

Symbol唯一值,用于防止属性名冲突使用Symbol()来创建值不会进行记录,所以无论值看起来是否一样都不会引用同一份内存地址。没有构造函数,直接使用let sybl = Symbol()let syblObject = { [sybl]: "通过唯一值创建"}可作为私有变量不想被 for/in、for/of 遍历操作找到时可使用Symbol,若想找到时需使用Reflect.ownKeys(syblObject)Object.getOwnPropertySymbols(s

2020-08-31 11:17:38 280

原创 JavaScript Map 对象的理解与使用

MapMap 对标的是 Object,是一种类似于对象的键值对数据结构不同于Object 的是Map 的键可以为任意类型的值(null 会被当做 undefined),而不仅仅为字符串Map 的键值是有序的,可通过 size 获取长度Map 在频繁增删键值对的场景下会有一些性能优势let map = new Map([ ["姓名", "张三"], ["年龄","18"]])// 类似于:let obj = { '姓名': '张三', '年龄': 18}

2020-08-31 10:49:45 590

原创 JavaScript Set 的用法与理解

SetSet 与数组类似, Set 集合中的元素不重复。查找元素: 在数组中使用 indexOf() 或 includes() 检查元素是否存在比较慢。删除元素: 在 Set 中,可以通过值删除元素。即在数组中,基于索引的splice() 功能。插入元素: 在 Set 中添加元素比在数组中通过 push()、 unshift() 或其他同类操作要快。去重: Set 对象仅能存储不同的值。如果你想避免存储重复的值,这会比数组具有更大的优势。在数组中你需要一些额外的代码来做去重。let arr

2020-08-31 09:56:29 10797

原创 记录一次nodejs 从高得地图根据地名获取经纬度

自己取搞一个开发者tokenvar fs = require("fs");const http = require('http');const getPath = (name) => { var url = `/v3/geocode/geo?key=389880a06e3f893ea46036f030c94700&address=${name}&province=湖南` return encodeURI(url)}function HttpRequest(opt

2020-08-02 22:26:06 703

原创 深度优先和广度优先的概念理解

概念深度优先:找到一个节点后,把它的后辈都找出来,最常用递归法。广度优先:找到一个节点后,把他同级的兄弟节点都找出来放在前边,把孩子放到后边,最常用 while。举例数据 var nodes = [ { name: "爷爷", children: [ { name: '爸爸', children: [{ ...

2019-07-12 11:36:32 2507

原创 windows 用浏览器打开应用程序的方法

以阿里的 OSS 程序为例找到应用程序所在的文件位置: C:\Program Files (x86)\OSS\oss.exe新建 regeit.reg 文件内容如下:(路径需要双斜线)Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\oss]@="""URL Protocol"="C:\\Program Files (...

2018-05-22 14:34:21 6948

原创 掌握 XMLHttpRequest ,了解请求库的实现机制

先做个尝试为了确保没有跨域的错误,使用浏览器打开百度首页,然后打开控制台,将如下代码输入控制台并执行var type = "GET" var isAsync = true var url = "https://www.baidu.com/" var xhr = new XMLHttpRequest()xhr.onreadystatechange = stateChange ...

2018-04-24 14:21:28 299

原创 JavaScript setTimeout 的原理

JavaScript 引擎是基于事件驱动单线程执行的,JavaScript 引擎一直等待着任务队列中的任务,接收到任务就加以处理,任务过多时会按序等待处理。setTimeout 调用的时候,JavaScript引擎会启动定时器 timer,在第二个参数 n 毫秒 以后执行第一个参数回调或代码段,当定时器的时间到了,就把该事件放到主事件队列等待处理。也就是说需要看任务放到队列中的顺序。...

2017-11-10 14:25:57 655

原创 更好的理解面向对象编程思想

面向对象的思维方式跟一个普通职员升职为经理,开始从事管理工作的思维方式非常像。不用再去关注所有工作的细节,掌控好大方向,把事情细分,各项细节分配给有对应专业能力的人去做就,出了问题直接能找到责任人。一个领导事必躬亲,自己每天事多人累,那么他即不能锻炼下属的能力,也难以提升自己的高度。他应该培养每个人的专长,划分清楚每个人的职责,把重点放在如何分配好工作,那样也就能把事情做好了。把事情分类,然后给每个

2017-11-02 11:02:22 509 1

原创 经常用到的 ES6/7 新特性

ES6/7 新特性字符串模版letconst箭头函数(默认参数) const action = (num = 10)=&gt; console.log(num) action() action(300)对象初始化简写 var name = "dukai" var age = 28 var person = {name, age}对象方...

2017-08-31 10:03:42 2220

原创 前端性能优化

前端性能优化减少请求数量js css 文件压缩合并不可矢量化的图片,进行合并处理 css sprites可合并的请求尽量一次完成,如:页面首次加载请求合并提高请求质量使用 GET 请求替代 POST 请求缓存 Ajax 请求空闲时发送其他页面首次加载所必需的请求,并缓存请求数据减少跳转(301 302)优化 js 把脚本置于页面底部 减少 DOM 访问优化 css 样式置于顶部

2017-08-31 09:28:49 305

原创 http 协议

http 协议是干什么的为了实现数据的通信,所制定的一套数据通讯协议。一张图看 TPC/IP 协议IP(Internet Protocol) 网际协议,与我们常说的“IP 地址”不同。 TCP 提供可靠的字节流服务,把数据分割,更容易传输。三次握手(不含https)通俗点说 客户端:我想在你那拿点资料,行吗? 服务器:可以,给你。(或者:不行,你没权限,...

2017-08-22 08:51:01 382

原创 vue 快速入门与最佳实践(vue-cli, webpack, vue 最佳实践)

技术与依赖环境分层结构使用vue-cli 部署环境安装 nodejs &amp; npmVue组件化框架的作用Vue 是什么?能做什么?原理订阅发布模式,响应式数据流生命周期常用API解读与一些最佳实践(不只是vue)Vue 生命周期(keep-alive 保留组件状态或避免重新渲染,将页面缓存到内存中)变量绑定(容易产生的误区)组件定义的方式父子组件...

2017-03-22 15:42:44 4654

原创 开始 vue-cli webpack 打包工具的demo

在命令行执行如下语句npm install -g vue-clivue init webpack-simple my-projectcd my-projectnpm installnpm run dev以上步骤参考 点击打开链接完成以上步骤例子就可以跑起来了,npm install 可能会出问题,失败的同学可以去试试 cnpm如果 npm install 失败n

2016-12-23 16:59:57 2173

原创 Mac 下Nodejs 使用 https 的过程以及使用openssl生成私钥、公钥和证书

使用openssl生成私钥,使用openssl生成公钥,使用openssl生成证书,使用openssl生成pem,Mac 下Nodejs 使用 https 协议

2016-09-30 10:50:06 2776

原创 一个完整的Nodejs项目 完成连接数据库(MySQL),登陆、注册功能 session的使用 和发送邮件

可前往github查看并下载源码https://github.com/dupeiduo/Lucky使用Express 完成了一些基本功能前端模板 jade简单实现了路由系统,连接数据库,数据库基本操作,登陆注册,session 使用等功能启动文件为 server.js

2016-09-29 11:31:41 1252

原创 Nodejs 如何发送邮件(Gmail 和 126邮箱)

发邮件类库安装nodemailernpm install nodemailer --save-dev查看git 源码使用Gmail,简单粗暴(提前给Gmail 授权即可)授权Gmail 邮箱点这里允许授权后就进入正题,直接上代码:mailer.jsvar nodemailer = require('nodemailer');var

2016-09-26 09:09:22 5319 3

原创 简单的 Nodejs jade 实现Hello world

简单的 Nodejs + jade 实例

2016-09-07 14:20:22 1607

原创 使用Nodejs 连接数据库实现增删改查功能库

Nodejs 连接数据库 数据库基本操作

2016-09-03 11:39:45 7362

原创 javascript 中 this 的指向

在函数中 this 指向 window(function whatThis() { console.log(this);})()输出结果:Window {speechSynthesis: SpeechSynthesis, caches: CacheStorage, localStorage: Storage, sessionStorage: Storage, webkitStorageInf...

2016-08-26 13:32:57 377

原创 gulp入门与一些基本设置

这里是gulp入门的一些操作,实现了编译sass文件、压缩、合并、添加版本号等基本功能。友情提示,如果npm出现无法下载可以安装 cnpm。大家可以谷歌或百度如何安装cnpm1.安装Nodejs选择合适的版本下载Nodejs2.安装全局gulpnpm install --global gulp-cli3.进入项目目录(之后的操作全是在此目录下进行)cd deskto

2016-06-03 10:45:22 5057

翻译 如何将自己的Github项目部署到Github Pages

你看得懂英文的话,可以完全忽略下文的内容。官方的办法创建一个存储,这个仓库的名称必须是 username.github.io  username 是你的Github账户名。我是Macbook 使用的Terminal ,windows或者使用其他方法的用户移步这里,自行查阅吧 官方的办法1.克隆代码到本地git clone https://github.com/username/us

2016-05-28 10:14:56 3800

原创 angularstrap typeahead 处理异步数据

使用 angularstrap typeahead 的时候下拉列表总是比输入的数据慢一步选中列表的事件

2016-04-17 09:45:29 976

原创 使用AngularJS实现一个简单页面

第一个AngularJS程序 你好 !第一个{{helloTo.title1 +" "+ helloTo.title2}}程序示例(使用对象属性,连接字符串) 我所加的内容:{{helloTo.mycontent}} 加载数组:{{helloToArr[2]}}

2016-03-14 19:45:37 7158

原创 前端工程师应该注意的一些细节,面试容易问到

个人最近整理的一些资料:每个问题都值得思考,有问题的地方还望广大码友批评指正,请勿用于其他用途!!!所有示例务必亲自试一试!!!javascriptajax 原理Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Aja...

2015-12-25 15:08:59 5637 1

原创 javascript冒泡排序为数组排序

var arr = [10,8,9,23,-1,2,33]; function sortArr(array) { for(var i = 0, len = arr.length; i < len; i++){ for(var j = i+1; j<len; j++){ var temp = array[i]; if(array[i] > array[j]) {

2015-12-22 21:35:36 453

原创 使用 str.indexOf(sourceStr,indexOffset) 匹配所有项

var source = 'asdf aa asdfv ass aaa asdff,dsfsd', result = getAllIndexOf(source,'aa'); function getAllIndexOf(sourceStr,filterStr) { var arr = []; var index = -1; while(sourceStr.indexOf(filt

2015-12-22 21:29:01 1286

原创 Font Awesome 字体符号的使用

参考官网 点击打开链接拷贝 Font Awesome 字体目录到你的项目中。font-awesome.min.css 文件到你的项目中。打开你的项目中的 font-awesome.min.css 文件并编辑字体路径指向正确的位置。(字体路径是相对于你的 CSS 目录的。)在html文档中的 部分,引入 font-awesome.min.css 文件。在浏览器中

2015-12-02 11:24:49 2199

原创 使用css 控制弹出框始终水平居中

使得弹出框的position:fixed;距离左侧 left:50%;然后再知道弹出框宽度的情况下像左偏移 宽度的1/2即可.invite-dialog { margin-left: -144px; position: fixed; left: 50%; width: 288px; min-height: 166px; background: white;

2015-12-02 10:58:33 3582

原创 使用jquery 和 css 实现互斥按钮状态切换

实现效果如上图所示css代码.invitebtn .selected { color: #fff; background: rgba(59,181,182, 1); } jquery代码//切换样式 $(".invitebtn input").click(function(e){ $(this).addClass('selected').

2015-12-02 10:51:20 4292 2

原创 响应式网站中图片资源的简单切换

在css中使用如下 /*media query 宽度超过 700px 时执行,尽量少用,过度使用会导致页面过于臃肿混乱*/ /* 在手机上展示小图 */ background-image: url('smallImage.png'); /* 在更大的屏幕上展示大图 */ @media(min-width:700px){

2015-10-19 09:07:03 1140

原创 实现add(2)(3)(4)得出结果为 9

闭包缓存args值返回函数本身,在参数基础上加上了缓存值重写toString或valueOf函数,用于输出和相加function add(args) { var result = function(addend) { return add(args + addend); } result.toString = result.valueOf = fu

2015-10-14 13:22:35 734

原创 数值型的特殊用法(可实现 var a=(5).plus(3).minus(6); //2) 函数式编程

原理:数值型的函数调用可以这样(5).toString();然而,如下代码会报错。(SyntaxError: Unexpected token ILLEGAL)5.toString();实现方式即给Number添加原型方法Number.prototype.plus=function (num){ return this.valueOf()+num; }; Numb

2015-09-14 12:28:32 1507 2

原创 利用JavaScript打印出Fibonacci数(不使用全局变量打印斐波那契数)

调用方式,比如输出第二十项:outputFibonacci([],20);实现思路:通过数组作为存储对象,利用闭包递归取得想要的项的值。思路比较简单,效率问题,还望大家指正。function outputFibonacci(len){ return function Fibonacci(arrays,len){ if(typeof len!=='number'||len<=0

2015-09-10 15:56:34 1488

高清录屏软件

无水印、高清录屏软件,你也可以选择从淘宝上购买此产品

2014-06-26

GDAL介绍与使用心得

GDAL的简介,个人感觉比较详细,比较基础。有编译C#的方法和简单实例。对Read.Raster()的详细介绍

2014-03-04

openlayers 配置代理

详述了openlayers 在Apache环境下本地配置不可跨域访问的代理

2013-11-07

ArcGIS_Engine9.3基础开发教程

个人感觉非常基础的Engine开发文档,非常适合初学者,和有一定基础的开发人员用来参考学习。有目录使用方便。

2013-07-23

jquerry 1.8中文手册

适合初学、经常用却记不住jquerry的,可以快速查询

2013-04-10

server开发教程

ArcGIS初学者比较有用处 ArcGIS Server安装后基本的一些开发步骤,很基础的东西

2012-06-11

空空如也

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

TA关注的人

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