自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 mysql:ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value:

发现某个组件的表单输入报错:Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xE6\x88\x91\xE4\xBB\xAC...' for column 'content' at row 1往mysql数据库中插入的是中文。但是明明已经设置表的DEFAULT CHARSET=utf8。命令:...

2018-11-22 22:21:56 3989

原创 chrome跨域插件

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related?utm_source=chrome-app-launcher-info-dialogstackoverflow看到有人推荐的插件。自动帮我们在响应头中添加Allow-Contro...

2018-11-20 16:12:49 2303

原创 git:fatal: refusing to merge unrelated histories

想把本地的一个小项目放github,new了一个repo。git remote add origin后发现push不上去:fatal: refusing to merge unrelated histories这是因为repo和本地项目没有共同的commit,git认为是两个项目,默认不允许push,此时可以通过:git pull origin master --allow-u...

2018-11-20 14:06:19 341

原创 关于正则

和老it一起做的项目,第一期终于快要完成了,剩下两个比较麻烦的,其中之一是一个复杂的表单模块,用来记录被调查者的各类信息。前两天老it循循善诱:“$140,要不要挑战下?”我心想问题应该不大,就先接了,把需求整个弄清楚后,我日了。。。简单来说:对方只给了一张人工输入的sheet表格,共350+个表单,表格中用文字列出每个表单的各种字段及显示隐藏条件,部分表单的值由前面表单的值通过某些公...

2018-11-16 13:37:37 228

原创 vee-validate填坑:the xxxx confirmation does not match

今天和朋友接了个国外的项目。启动项目后第一步注册账号的时候就发现填写确认密码时,总是显示和上一行的密码不一致。我:??发现表单验证用的是vee-validation,查了下文档,发现项目中设置规则的属性和文档的不一致,但是属性值是一致的(估计是版本不同)。然后发现confirm这个功能必须显式指定其目标:confirmed:target (如下第三行)这个target即是要...

2018-11-06 12:44:06 1219

原创 关于koa2处理cors请求的坑-async/await

同时开了react后台项目在3000端口,前端vue在8080端口,koa2在9000端口。处理非json的cors请求时没问题,如一般的GET、formdata。然后处理一个json内容的post请求发现浏览器报错,说:response没有返回Access-Control-Allow-Origin。但是我在router.post("/uploadNews", fileContr...

2018-11-01 13:26:22 1913

原创 MYSQL:ER_NOT_SUPPORTED_AUTH_MODE:Client does not support authentication protocol

今天新建一个koa项目,启动调用mysql驱动的时候报该错误。solution:在系统mysql终端输入下面命令,重启koa进程即可。//yourpassword 是你的数据库账户密码,root和host也是ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';...

2018-10-29 00:27:17 9430 3

原创 关于Create-react-app2.0

国庆回来看到React Blog的文章,说官方手脚架create-react-app出了2.0,主要是在背后帮我们集成了sass、babel7、webpack4、Jest23等工具,让我们可以更专注在业务代码上。看意思是以后也会跟踪这些开发链工具的大版本。博文中声称以后直接执行create-react-app会默认使用2.0版本。我这里梳理下:1.如果还是想使用1.x版本的create...

2018-10-08 17:13:52 4602

原创 小程序开发速记

买了掘金一个小程序的小册,终于发现gulp还是蛮好用。。小测作者提供了一个项目手脚架,点github------1.不打算用微信开发者工具,想用vscode?solution:--自己开一个项目A,将微信项目的文件粘贴到A的其中一个文件夹(比如src)。--通过gulp将src文件夹下各类型源文件task处理后放到一个dist文件夹中,开启gulp的watch功能。--直接...

2018-09-28 17:19:51 204

原创 vscode中使用emmet

vscode内置emmet功能,可以用在html、jsx、css、sass、less等文件上。但是默认没有开启。在setting中添加: "emmet.triggerExpansionOnTab": true,之后,在.html文件里输入div.myclass,vscode会自动弹出提示,询问你是否展开该语法,按下tap键盘后会自动展开html,完美~ 但是在react或...

2018-09-21 10:49:52 18038

原创 中间层的node

在很多大公司的架构里,node都是作为中间层,主要负责下面几种任务:1.中转一些请求,串接服务;同时也过滤一些基本的io请求2.前端项目路由的相关业务处理3.渲染前端模板(vue\react首屏)3负责架构中部分专门的功能(以前公司将视频转码放node服务器上进行。。)目前我看到的最常见的是前三种。作为一个服务端程序,除了路由、IO和中转请求,当然还可以做到其他服务器能做的事情...

2018-09-20 19:03:13 756

原创 关于socket

对sokect的工作过程一直很模糊,特别是看到一些库的网络实现,总难免有困惑。今天决定搞清楚。网上看到的不少资料,会从各个层面跟我们解释socket:概念:我们知道,两个进程通信时,要先能确定信息接收的对象。在互联网中,我们通过ip确定了目标机器,通过端口号确定了机器上的某个进程。因此协议+ip+端口能唯一确定信息接收(连接)对象。socket是操作系统提供的进程间通信的机制。...

2018-09-19 16:54:44 233

原创 迭代器

以前看阮一峰老师的《ES6入门》,说到ES6开始,语言针对Array(ArrayLike)、Map、Set数据结构提供了统一的接口机制--iterator来实现遍历,并配套了for...of循环。并提醒我们iteraor只是实现了接口,与所遍历的数据结构是分开的。今天大致看了python中的迭代器部分,发现从概念、特性和实现机制上,二者都相当一致。(说白了就是一东西。。)数据结构:只要...

2018-09-18 14:52:14 406

原创 那些我们在编程中遇到的模式

今天和一个后台程序员讨论时,听他说”java新版本用了很多js特性,现在java不会lambda表达式编程感觉自己很low”。一开始并没太在意这句话,只是觉得语言的改进难免会吸收一些有益于开发效率或体验的特性罢了。随后在python cookbook中第1.2节关于解构任意长度可迭代对象的discuss看到一句话:Oftentimes, these iterables have some...

2018-09-17 22:33:14 176

原创 一些好用的vscode插件

一直用的sublime text,喜欢它的轻巧。不过最近试了下vscode,发现还是蛮中意的,插件生态丰富而且配置挺人性化,另外一些shortcuts功能确实提高编辑效率。缺点是如果安装太多插件,内存会飙高些。这里记下目前用的一些觉得不错的插件:综合:Path Intellisense:智能提示文件名,这可是开发时必须的助力:vscode-great-icons:显示文件图标,...

2018-09-15 15:24:46 24770 1

原创 一点感想

上周老爹住院做手术,去广州陪着照顾一星期。万幸手术顺利,然后这两天也可以出院了。只是从此颈椎骨多了几个螺丝。那几天的感觉,有点像是从技术的海洋被拽回到现实中。人啊,每次遇到健康的问题,才会突然发现其他问题都不是问题。今后自己也要好好养生。。要是以后有了点积蓄,结果用来看病,可就悲剧了。-------------------------------------------------...

2018-09-12 10:19:18 152

原创 写一个命令行程序

go确实可以写命令行程序,配合go功能丰富的标准库,可以diy很酷的cli。python也可以。简单的操作只用shell也行。所以今晚很无聊地用go、python和shell分别写了命令行程序。其实实现简单的命令行还是比较容易入门的,要解决的问题有两个:第一个问题是获取脚本中传入的命令行参数  go的有标准库flag,在编写脚本的时候就将传参和自定义变量名绑定。  python...

2018-09-05 01:16:18 3759

原创 实现一个go项目

额,梳理了一下发现只是翻译了一下文档。。罢了罢了。workspace:go项目工作目录,包含src和binsrc文件夹包含源文件,主要是项目用到的代码仓库,代码仓库里又有若干个package,每个package里是若干个go文件bin文件夹包含编译后的二进制文件,文档称之为Command $GOPATH环境变量:指向workspace目录地址,Unix下默认为$HOME/g...

2018-09-03 20:46:08 2267

原创 go中的defer、panic和recover

defer:在看go标准库的时候,不时能看到函数中有一些defer语句,一开始挺疑惑,后来查了下,发现这是内置的关键字,用来确保某个函数调用 在当前函数执行结束时 执行:func CopyFile(dst, src string) (written int64, err error) { srcFile, err := os.Open(src) if err != nil...

2018-09-02 22:35:03 319

原创 go中的goroutine和channel

golang在语言层面上就提供了对并发的支持,通过goroutine和实现goroutine间通信的channel。进程,线程,协程与并行,并发 这篇文章对几个概念讲述得很好。goroutine本质上就是协程,但它又不太一样:1.go的运行时自带一个goroutine调度器来调度已创建的goroutine协程。而一般意义上的协程,对共同依赖的线程的控制权是在各自的代码中由开发者自己定义...

2018-09-02 15:42:16 428

原创 go中的读写

其实go标准库中不少工具包都有各自涉及io操作的实现,但是归根到底还是基于io包的几个底层io接口,如io.Reader、io.byteReader等。其中:io包主要提供了底层字节流io接口。io/ioutil包提供了针对文件读写的io接口。strings包提供了针对字符串的简单io接口。gzip包实现了编解码的io接口。crypto/cipher包也提供了加密用的io接口。...

2018-08-31 17:16:22 316

原创 go中的错误处理

目前go中的错误处理机制比较简单。往往是通过一个error实例来传达错误信息。go内置一个error接口来默认处理错误:type error interface { Error() string}...func main()[ i,error := someType.Method("110") if error != nil { //处理 ...

2018-08-30 16:34:22 340

原创 go中的Stringer接口

任何语言里都有对输入输出的实现。go中提供了fmt包帮我们格式化输出字符串,其中最常用的是fmt.Printf和fmt.Println。fmt.Printf和c语言的printf类似:fmt.Printf("%v: %v\n", name, ip)fmt.Println是单纯将参数字符串化然后输出断行:fmt.Println(a, z)但实际上,fmt在调用Printf或P...

2018-08-30 16:02:00 2575

原创 go中的Type Assertion(断言)

go中的接口非常灵活有意思。定义://定义某个接口type Base interface{ methodOne()}//interface也是一种type,因此也可使用组合的方式来定义type Super interface{ Base methodTwo()}//定义一个类型Vertextype Vertex struct{}func (v Ve...

2018-08-30 11:24:05 2247

原创 go中type转json首字母大写问题

go的标准库中有许多有用的工具函数,其中 "encoding/json" 这个包就提供了将类型转化为json格式的函数(详见: https://golang.org/pkg/encoding/json/#Marshal )。示例如下:package mainimport ( "fmt" "encoding/json")type Vertex struct { Name strin...

2018-08-29 18:00:59 1420

原创 go中的面向对象基础

目前接触到的语言层面上提供面向对象的实现,主要有三个基础:type、method、interfacetype:go中没有java或c#的类(class),但有一个同等地位的type。用户可通过type关键字自定义需要的数据结构类型。//自定义基本类型type MyFloat float64//自定义复合类型type Vertex struct{ X,Y int ...

2018-08-28 23:12:23 162

原创 go语言中切片的容量

由于go中的数组类型,其长度是固定的,无法改变。在很多场景下我们需要动态改变数组的长度,因而go中内置了slice类型,称其为数组的一种抽象(可看作是动态数组)。slice与数组很相似,只是长度可变,可追加元素。切片的初始化:slice类型的初始化主要有三种方式:  通过make函数  通过字面量方式  对源数组或源切片使用identifier[start:end] 语法生成切...

2018-08-25 16:55:07 5641

原创 touchmove事件中禁止滚动

今天写一个简单的react轮播插件,发现touchmove的preventDefualt()无效,且chrome浏览器给出下面提示:react-dom.development.js:1458 [Intervention] Unable to preventDefault inside passive event listener due to target being treated as ...

2018-08-13 14:55:35 5463

原创 关于鸭子类型和策略模式

最近舍友准备辞职,嚷嚷着想搞个项目创业。。。然后软磨硬泡要我帮他写个ios app。。我还是保持不置可否的态度,不过倒也想了解下相关的东西。所有编程语言都有共同的部分(控制流语句、变量),当学习一门新语言时,最直接的方式莫过于了解它的特性。由于swift一直在更新,身边做ios的孩子建议我直接用OC。OC是C的严格超集,顾名思义对C扩展了面向对象特性。OC的语法可以分为两部分:...

2018-08-08 14:03:26 789

原创 当我们在前端h5上传图片的时候

其实里面包含很多知识的,刚好昨天复习了这块,还是系统梳理一下吧,希望帮到刚接触的人。注意,这篇文章针对的是IE10+的浏览器,想要兼容PC端IE9以下请使用jquery form插件。--------------------开始1.文件上传不考虑旧浏览器的话,现在前端单纯上传文件的主流方式是创建FormData装载文件,POST上传://html<input type...

2018-08-05 15:03:53 964

原创 multer模块diskstorage方式注意事项

------------------8.15更新------------------关于req.body为空的问题,之前在multer的github上开了个issue提了这个问题,multer的作者回复我说目前没有直接的solution,但推荐一个workaround:... formData.append('uid',uid);formData.append('avatar'...

2018-08-04 20:51:58 6794

原创 node中使用redis

起因是解决jwt失效处理问题。1.安装:mac系统:brew install redis安装后,应用程序文件在:/usr/local/bin/目录中(即/usr/local/bin/redis-server),配置文件在:/usr/local/etc/redis.conflinux系统:$ wget http://download.redis.io/releases/r...

2018-08-03 16:26:54 4103

原创 overflow-x:hidden对其内position:absolute的影响

在写一个Header组件的时候,添加了其中一行样式:.header{ overflow-x:hidden;...}随后添加一个下拉列表,很自然地添加了:.downlist{ position:absolute; top:100%; left:0px; ...}然后发现,原本应该显示在.header以外的.downlist,却显示在.header内,并成...

2018-08-02 17:49:25 4810 1

原创 Mongo清除遗留索引

这两天做个小项目复习下技术栈。刚刚mongoose创建schema的时候不小心给某个属性添加了unique:true。发现后将这行删掉,并把对应的document删除,继续测试。然后发现插入的时候还是会报错:{ MongoError: E11000 duplicate key error collection: books.users index: someproperty_1 dup ke...

2018-08-01 15:16:27 1182

原创 为什么js会有闭包

前两天阿里的面试,gg了。不过还是收获良多。阿里的面试没有怎么聊到框架,都是原生和底层的东西比较多。期间,对面大哥问我,为什么js会有闭包?我一愣,说我理解的是,js的闭包其实是对js函数作用域特性的一种利用,因为函数内定义的局部变量不能被外部直接获取,而函数却可以访问到其外部作用域的变量。所以我们可以在函数内部定义一个访问局部变量的方法并将之输出给外部。在函数销毁后,通过函数输出的方法访...

2018-07-23 12:18:02 9426 6

原创 MongoDB: exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /d

mongo在只读文件夹里创建.lock文件,发生权限错误,对/data/db进行chmod或chown即可。sudo chown -R $USER /data/db *高票答案给的另一个solution是:sudo chmod -R go+w /data/db但有人说chmod不行,但chown大家都说可以的。见stackoverflow...

2018-07-13 19:44:15 2677

原创 上一篇的后续。。。规避ios全局overscroll的坑

所以就说自己太naive今天闲地蛋疼着看了下csdn的手机端和一些网站如携程的,发现不少站点都已经在顶部栏用了fixed,但是不会出现overscroll(俗称橡皮筋效果或出界)的情况。上图就出现了恶心的情况,页面下拉的时候,原本fixed上去的topbar被背景色覆盖了。但是人家csdn和携程是这样的:solution:一时好奇研究下,发现原来他们将页面高度限制在客户...

2018-07-09 20:10:16 1076

原创 -webkit-overflow-scrolling引起的bug

上一次写移动端项目还是一年前,哎,这两天复习了下,用react写了个小demo,然后在苹果上遇到了以前遇到的坑。现在很多移动端网站都是web mobile app,UI是类app的样子,能看到一些mobile站首页是顶部-内容-底栏结构。我的demo暂且按这种结构布局,主页div存放商品内容,上下滑动没有滚动动画效果。这时候自然想到有个-webkit-overflow-scrolling:touc...

2018-07-08 00:40:21 9937 1

原创 gulp

作为任务自动管理工具,是目前前端工程化提高效率非常有用的一环。以前觉得许多实用的功能webpack都有,也没怎么去研究,今天还是玩了下。why gulp:我觉得唯一的原因是,gulp的使用够简单,能处理常见任务,帮我们实现项目构建的自动化。安装:先npm全局安装gulp,再在项目文件夹npm本地安装gulp,即可在gulpfile.js配置文件中调用gulp。npm install -g gulp...

2018-07-05 23:22:17 270

原创 nginx初涉

最近研究python,发现ES6的很多“新特性”在python上都能找到参照:iterable的概念、generator函数、解构赋值等,但部分地方ES又没实现得很彻底。。按照目前趋势,在处理业务这个角度上,JS这门语言以后使用起来会变得越发方便。python的学习告一段落,回到前端。作为一个高性能的http和反向代理服务器,nginx还是要了解下。优势:稳定,丰富的功能集(得益于其模...

2018-07-04 20:38:56 194

空空如也

空空如也

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

TA关注的人

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