自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小小小的骆驼的前端技术博客

博客会分享最新的大前端技术,欢迎大家一起分享

  • 博客(81)
  • 资源 (2)
  • 收藏
  • 关注

原创 腾讯云+docker搭建jenkins实战

本文会介绍在腾讯云用docker搭建jenkins的过程及技巧,文中如有错误,烦请指出我去改正!安装步骤安装docker启动dockerdocker安装jenkins镜像docker启动jenkins镜像配置腾讯云安全组访问8080端口,开始配置jenkins1. 安装docker参见另一篇分享:docker常见技巧2. 启动docker参见另一篇分享:docker常见技巧3. docker安装jenkins镜像正确的安装jenkins镜像docker pull jenkin

2021-03-11 00:02:15 601

原创 facebook、twitter、facebook登录、whatsapp分享、微信分享

facebook 分享官方英文文档:https://developers.facebook.com/docs/sharing/分享原理:facebook 爬虫机器人会去向要分享的 url 访问,拿到对应的 html 解析,分别拿到相应的 html 元素图谱步骤 1 facebook 后台设置 App Domains比如,分享的地址是https://www.luotuxiu.cn/,则设置App Domains 为 luotuxiu.cn步骤 2方式 1:直接 url 分享(注意 url 需要

2020-09-17 23:17:19 9105

原创 try-catch 能抛出 promise 的异常吗

try-catch 能抛出 promise 的异常吗?try { throw new Error('1')} catch(error) { console.log(error)}这是最常见的 try-catch,会 log 下面的内容:注意,这里并不是红色的,因为 js 异常被捕获后,js 是能够正常往下执行的,如果没有被捕获的话,那么 js 将抛出异常,js 执行将会停止!例子:// 异步,宏任务try { setTimeout(function() { console.lo

2020-07-12 11:51:56 7564

原创 Nuxt 速度优化实战

Nuxt 速度优化实战背景是谷歌统计移动端网页加载速度在 10s 左右,所以优化一波,整体优化下来能优化到 7s 左右。主要有以下思路:减少请求数和请求大小资源延迟加载或者懒加载相关资源验证 cdn 是否命中缓存优化 dns 查询优化缓存的设置利用服务端渲染特性,提前请求数据设置资源域名和主站域名不同以减少资源请求 cookie加速请求 prefetch, preload, preconnect下面将详细介绍具体的分析过程1. 减少请求数和请求大小引用官方文档Nuxt.js

2020-05-18 07:59:37 4941

原创 如何开启mac的三指拖移

注意,这个设置不是在设置-触摸板设置那里“三指拖移”是 OS X 中的一种 Multi-Touch 手势。通过这个手势,您能使用三个手指移动屏幕上的活跃窗口。本文介绍了在您的 Mac 配备了 Force Touch 触控板的情况下,该如何开启“三指拖移”。从 Apple 菜单中,选取“系统偏好设置”。点按“辅助功能”图标。从左侧的选项中选取“鼠标与触控板”。点按“触控板选项”。...

2018-02-26 09:25:42 12818

原创 nginx常见技巧

nginx的用途一款轻量级的服务器,于前端而言,可以做静态文件服务器,很方便。于后端而言,可以做各种接口路由转发,负载均衡等设置。mac nginx安装1. 通过homebrew安装homebrew是mac端经常用的包管理软件,使用之前经常需要更新biew update注意,这里经常应该国内网络原因导致一直卡住,可以切换到vpn环境再执行接着执行brew install nginxnginx使用技巧查看nginx 版本nginx -v如果安装了则会打印:nginx versi

2021-05-20 23:37:06 347

原创 graphql 接口定义加注释

类型定义加注释 "分类" type Category { "分类更新时间" updateTime: String "分类创建时间" createTime: String "分类名称" category_name: String "分类id" category_id: String "分类名称-英文(自建站的url路径需要匹配英文)" category_name_en: String _id: String }

2021-05-05 20:49:49 1385 1

原创 面试题-你不知道的 this 指向

面试和业务中常见的问题是 this 的指向问题。作为一等公民的函数,this 的指向经常让人捉摸不透。我们可以按照以下逻辑来进行 this 的指向理解箭头函数:this 指向定义的时候所属的对象自身普通函数:this 指向函数的调用者const module = { x: 42, getX: function() { return this.x; }};const unboundGetX = module.getX;console.log(unboundGetX

2021-04-27 22:41:20 277

原创 docker常见技巧

查看当前docker本地已有哪些镜像docker image lsdocker pull报错Using default tag: latestCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?可能的原因是docker没启动,解决办法如下:service docker startdocker pull慢,换源docker pull 镜像会有点慢,

2021-03-05 00:04:47 1297 2

原创 gitlab ssh 多个key配置

以下仅以git举例,实际gitlab、github都是同样的道理。git登录方式执行git操作可以通过以下两种办法进行通信:git账号密码ssh秘钥方式gitlab如何配置sshssh原理ssh提供一种方式,能够验证本地服务器与远程服务器之间的通信,而不需要提供相关的账号密码,主要是有:公钥、私钥。公钥存放于任何你想通信的远程服务器,私钥存放于本地,只有你自己知道私钥,相对比较安全ssh agent,一个能够使用公钥私钥去和远程服务器通信的程序生成ssh keyssh-keyg

2021-03-04 23:52:23 725 1

原创 mongodb 数据库迁移

实现原理将原数据库备份成一个文件从这个备份文件恢复到目标路径,实现数据库迁移备份数据库mongodump --host 127.0.0.1 --port 27017 -d user -o /Users/tuxiuluo/blog_data–host: 指原数据库访问路径–port:指原数据库访问端口-d: 需要备份的数据库实例-o: 生成的备份文件的路径此命令后可以生成一个user的备份数据库文件,接下来我们通过scp上传该数据库文件到服务器ssh scp上传文件通过scp上传备

2021-02-02 08:10:27 1210

原创 网络抓包神器-charles使用技巧

charlescharles常用于网络抓包,常见用途有以下:开发和调试过程有极大帮助,可以分析接口请求篡改mock接口返回本地代理调试开发模拟慢速情况做压测blocklist,使得某些请求失效charles macos开启代理抓包(http)去菜单栏Proxy -> macos Proxy ,记得打开即可实现抓本机的http请求,原理是这样,chares起了一个代理服务器,所有的请求都会经过这个代理服务器,可以去网络设置的proxy设置里面查看charles macos转ht

2021-01-17 09:49:20 1569

原创 前端应该了解的dns解析那些事

DNS是什么DNS,英文全称Domain Name System,域名系统。其实是域名和ip地址相互映射的分布式数据库。有了它,人们可以轻松记住域名即可访问到目标服务器。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VEy0oZiY-1610550893364)(https://www.cloudflare.com/img/learning/dns/what-is-dns/dns-lookup-diagram.png)]加载网页关联的4个DNS服务器DNS解析器顾名

2021-01-13 23:15:57 1218

原创 mac launchctl 守护进程

需求我们有一些场景需要服务器,比如一台mac重启后自动启动某些应用,比如自重启服务器数据库,此时,我们可以用以下办法:pm2 重启launchctl 守护进程pm2 重启现在nodejs很多应用是用pm2部署的,pm2自带能够自重启的功能设置步骤先用pm2启动应用pm2 start ./dist/client/ --watch --ignore-watch="node_modules"然后用pm2 status 查看该应用是否显示正常pm2 statuspm2 start

2020-12-30 22:40:13 1151

原创 apache常见技巧

关于apacheapache是一个服务器,可以用于配置静态页面服务器apache配置路径 以及 查看apache版本及更详细的信息apachectl -Vmac端打印如下:Server version: Apache/2.4.46 (Unix)Server built: Oct 29 2020 20:35:15Server's Module Magic Number: 20120211:93Server loaded: APR 1.5.2, APR-UTIL 1.5.4Compil

2020-12-03 08:30:25 232

原创 mac 存储不足怎么办

mac 存储不足怎么办我们经常会遇到,关于本机中,显示其它,占了 70 多 G 甚至 100 多 G,使得电脑没有空余的存储空间可以使用了。下面介绍常见的操作技巧使用官方的磁盘管理工具在可视化的界面进行排序等操作,可以选择菜单栏上的分组-大小进行排序,然后进行删除使用脚本我们现在主要来清除这个其它,打开 finder,按住 option 键,点击菜单栏前往,此时会看到资源库,点击进去资源库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kfu2TkRS-16032

2020-10-21 22:00:00 884

原创 危险的 target=_blank 及 rel=noopener

在编写 js 代码时有时候会出现以下报错:jsx-no-target-blank[ESLint]具体可以访问源码地址究其原因,是因为:默认的 a 标签链接,如果设置 target=_blank 时,则在新窗口能够通过全局对象的 opener 属性拿到原 tab 的引用,此时可能会引发黑客攻击等危险其中,一篇英文博客写的很好,下面引用的例子也是引用该博客的示例新开窗口属于同源时先进入https://mathiasbynens.github.io/rel-noopener/然后点击第一个示例:“

2020-08-10 22:14:21 1770

原创 关于js内存泄露

内存泄露在前几年一直是个比较重要的话题,而如今虽然手机电脑内存容量较大,但依旧可能会存在严重的内存泄露问题。比如,一个 RN 界面存在内存泄露,一次访问回退,可能会导致占用内存增加 10M,以此不断切换页面,很快手机会出现卡顿的现象。为什么 js 会发生内存泄露这得先提到垃圾回收。线代浏览器都是自动回收垃圾,原理分两种:引用计数垃圾回收这一点和 objective-c 很像。当一个对象能访问另一个对象时,则意味着被访问的对象引用计数+1,当移除这种访问时,引用计数-1。当引用计数为 0 时,代表

2020-08-02 17:11:15 267

原创 面试题-关于深拷贝浅拷贝

关于赋值赋值,即直接将变量相等,=,此时对于这两个变量来讲,指向了同个内存地址,所以,内存地址指向的内容一旦改变就会同步改变关于 js 变量类型基本数据类型: Number, Boolean, String, Symbol, null, undefined引用类型: Object,诸如 array, function, object关于浅拷贝浅拷贝的理解就是两个变量的内存地址是不一样的,但对于不同类型的变量是有区别的:基本数据类型: 一个变量的更改不会引起另一个变量的更改引用类

2020-08-02 17:10:10 1160

原创 关于视频上传及视频播放你该知道的

视频播放controls 能够出控制条<video controls src="https://interactive-examples.mdn.mozilla.net/media/examples/flower.webm"></video><script>var video = document.getElementsByTagName('video')[0];video.addEventListener('play', (e) => { // 开始

2020-08-02 17:09:29 281

原创 我的csdn排名之路

做个小记录,记录排名情况2020.07.19项目数值总排名38969周排名36958积分2469

2020-07-19 16:11:59 144

原创 iOS 疑难杂症 学习笔记

2015.04.221. 出现问题:虚拟机Xcode调试时候发现键盘出不来 错误提示:Xcode提示:Can’t find keyplane that supports type 8 for keyboard iPhone-Portrait-DecimalPad; using 3648623971_Portrait_iPhone-Simple-Pad_Default 解决方法:“这个可能

2020-07-18 20:45:37 2613

原创 react-原生事件和合成事件的区别

react-原生事件和合成事件的区别及源码分析概念class EventClickDemo extends React.Component { constructor(props) { super(props) this.btnRef = React.createRef() } componentDidMount() { // 这里就是js原生事件 this.btnRef.current.addEventListener('click', function(e) { cons

2020-07-18 20:23:06 2512

原创 react-实现错误边界或者错误处理

react-实现错误边界或者错误处理react 程序出错了怎么办在 react 中,一旦出错,如果每个组件去处理出错情况则比较麻烦,react 16 新出了错误边界的 api错误边界代码摘自react 英文官网// 先定义一个错误边界组件class ErrorBoundary extends React.Component { contructor(props) { super(props) this.state = { hasError: false } } stati

2020-07-18 20:22:32 469

原创 react-类组件和函数组件的区别

类组件class Book extends React.Component { constructor(props) { super(props) this.state = {} } render() { return <div>{this.props.name}</div> }}函数组件function Book(props) { return <div>{props.name}</div>}区别类组件内部拥有状态

2020-07-18 20:21:41 1685

原创 iOS面试真题

1.runloop 和 runtime;2.通知是异步的吗?如果是异步的,如何实现成同步的?(1)通过NSNotificationCenter类的postNotification:方法及其变体,您可以将通告立即发送给通告中心。但是,这个方法的调用是同步的:即在通告发送对象可以继续执行其所在线程的工作之前,必须等待通告中心将通告派发给所有的观察者并将控制权返回。 (2)您也可以通过NSNo

2020-07-15 08:01:56 141

原创 教你搭建 nodejs+mongoose+Graphql+Vue+Typescript 框架(下)

前端: Vue + Typescript + Graphql + Jwtauto-page-web项目中使用 vue-typescript-admin-template 做二次改造,功能是 vue 可视化页面生成后台(前端前台)后端: nodejs + mongoose + apollo + graphql + jwtpage-node前端源码分析:这里主要介绍整体框架及 apollo 的应用:api // 主要封装一些api接口请求layout // 填充页面主题结构,比如左侧导航栏和

2020-07-15 08:00:29 309

原创 教你搭建 nodejs+mongoose+Graphql+Vue+Typescript 框架(上)

前端: Vue + Typescript + Graphql + Jwtauto-page-web项目中使用 vue-typescript-admin-template 做二次改造,功能是 vue 可视化页面生成后台(前端前台)后端:nodejs + mongoose + apollo + graphql + jwtpage-node具体的后端架构如下:koa: nodejs 开发平台mongoose: 作为mongoodb数据库存储开发库,属于非关系型数据库apollo: 提供一些配置

2020-07-15 07:59:38 434

原创 Git-重写历史知多少(更改 commit 信息)

经常有以下这些需求:commit 数量比较多,需要合并一些 commit 以保证提交记录清晰commit 信息写错了这里还分两种情形,一种是要重写本地仓库的 commit。第二种是已经 push commit 到远程仓库。常见技巧:选择 push 到远程仓库要慎重,需要是你已经有充足的信心及把握提交代码(而且代码也是可信任的)。因为一旦提交到远程,别人从远程 clone 下来了,这时候你再要去重写历史,就需要别人做一些额外的操作才能保持同步。举几个简单技巧的实例:比如,我们现在有 3 个 c

2020-07-05 23:09:42 934

原创 Git 的常见命令

克隆仓库:git clonegit clone git@192.168.204.xx:.../xxx.git在当前文件夹初始化 一个 git 项目:git init用终端命令 ls -al 会看到生成了一个.git 文件夹查看当前所处的分支git branch查看本地更改状态git status查看本地当前的修改(未提交到暂存区,即未执行 git add )git diff切换到该分支git checkout 分支名 //要新建分支的话用git checkout -b 分

2020-07-04 19:27:31 206

原创 react-数据的范式化 normalizr 应用

为什么需要 normalizr有时后端的接口(更多时候是已经不维护的旧接口)存在多层或者嵌套,前端需要转换数据前端需要分不同维度去取数据redux 中 state 的结构有多层,而前端只想取其中一层react 中的 PropsType实例及解析过程已经有一个成熟的范式化库normalizr// originData{ "id": "123", "author": { "id": "1", "name": "Paul" }, "title": "My awe

2020-06-18 23:40:07 649

原创 多页面阻止浏览器回退的解决思路(popstate)

需求目的:用户填写表单时,需要监听浏览器返回按钮,当用户点击浏览器返回时需要提醒用户是否离开。如果不需要,则需要阻止浏览器回退实现原理:监听 popstate 事件popstate,MDN 的解释是:当浏览器的活动历史记录条目更改时,将触发 popstate 事件。触发条件:当用户点击浏览器回退或者前进按钮时、当 js 调用 history.back,history.go, history.forward 时但要特别注意:当 js 中 pushState, replaceState 并不会触发 p

2020-06-08 00:00:02 5343

原创 面试题-手写冻结一个对象

冻结对象的概念如果我们定义一个常量,我们现在都会使用 es6 的 const。但是 const 对于引用数据类型,指的是变量对应的指针是常量,但是指针所指向的内容是可以变的,比如下例const a = 1;a = 2; // chrome报错:Uncaught TypeError: Assignment to constant variable.const a = {aa: 1};a.aa = 2;console.log(a.aa); // 2冻结对象,终极的效果是,每个值都不能修改,也不

2020-05-18 08:00:36 229

原创 浏览器调试技巧

1.-你还可以对某个元素进行监听,在JS对元素的属性或者HTML进行修改的时候,直接触发断点,跳转到对改元素进行修改的JS代码处: 子节点修改 自身属性修改 自身节点被删除2. Record Network Log: 红色表示此时正在记录资源请求信息; Clear: 清空所有的资源请求信息; Filter: 过滤资源请求信息; Use small resource raws:

2016-11-17 20:39:39 2066

原创 如何禁止谷歌浏览器自动填充密码

参考网址:Disabling Chrome Autofill问题所在:谷歌浏览器会自动填充密码,某方面是很方便,但是也会出现意想不到的效果,比如填充的颜色变成黄色,可能与设计不符,主要原因是浏览器给input加上了一个样式:input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { backgrou

2016-11-16 19:31:05 15790 4

原创 前端学习笔记

记录下前端学习中的笔记

2016-08-19 15:36:14 1742

原创 swift学习笔记

swift 学习笔记1.不同类型的数相加1.整数和double数相加 let three = 3 let point = 0.14159 let pi = Double( three) + point如果不写double则xcode会报错;2.nil不能用于非可选的常量和变量 var serverRespondCode:Int?

2016-07-11 15:44:53 417

原创 iOS-添加新手操作指引

添加新手操作指引

2016-03-04 17:53:17 2040

原创 Quartz 2D学习笔记

1.Quartz 2D学习笔记 学习技巧:(1)画出一条简单的线://当视图显示的时候会调用,默认只会调用一次- (void)drawRect:(CGRect)rect { //1.获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); //2.设置绘图信息(拼接路径) UIBezierPath *path =

2016-03-01 17:00:32 405

原创 Realm-在iOS中应用-全新的数据库思维模式

什么是realm?免费吗?开源吗?

2016-02-01 15:20:48 5526

瑞萨快速入门教程.pdf

瑞萨快速入门教程,带你轻松入门,里面有详细的硬件介绍以及各个模块的说明和例程,让你轻松快速入门

2013-09-16

Cadence16.3和PADS_9.2冲突解决办法

Cadence16.3和PADS_9.2冲突解决办法,能解决两个软件在同一个电脑上装时出现的冲突。

2013-09-16

空空如也

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

TA关注的人

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