- 博客(191)
- 资源 (3)
- 收藏
- 关注
原创 从0开始--我的微信公众号
依稀记得大三开始养成了写博客的好习惯,已经快5年啦。虽然一直没有间断过,但是在 csdn 上面,这一年没怎么发表博客吧。期间其实一直在写,只是不在这个平台,因为工作中基本都是写到 wiki 上,github 和自己的服务器上也有一些,上个月又申请了一个微信公众号。其实,让人有些烦恼,如果我写一篇博客,这么多平台要是都发布一下,会花不少时间。没错,我是来推广公众号的,我的初心是自我成长和乐于分享。当然,以后也会在 csdn 上面继续写下去,争取提供更高质量的文章,以前还处于入门阶段..
2020-05-23 23:40:41 364 2
原创 flutter点击空白处收起软键盘
取消TextField焦点(收起软键盘) body: GestureDetector( behavior: HitTestBehavior.translucent, onTap: () { // 触摸收起键盘 FocusScope.of(context).requestFocus(FocusNode()); }, child: ... )把GestureDetector放在body最外层。
2020-05-25 10:30:11 2418
转载 深入理解react中的虚拟DOM、diff算法
转:https://www.cnblogs.com/zhuzhenwei918/p/7271305.html 虚拟DOM和DOM之间的关系是什么呢? Virtual DOM并没有完全实现DOM,即虚拟DOM和真正地DOM是不一样的,Virtual DOM最主要的还是保留了Element之间的层次关系和一些基本属性。因为真实DOM实在是太复杂,一个空的Element都复杂得...
2019-05-31 17:01:45 520
原创 对React的setState
官网:https://reactjs.org/docs/react-component.html先看一个例子:constructor(){ this.state={ val:0, }}componentDidMount(){ this.setState({val:this.state.val+1}); console.log(this....
2019-05-31 15:42:45 181
原创 react-component-新生命周期
官方文档:https://reactjs.org/docs/react-component.html新增两个static getDerivedStateFromProps 会在初始化和update时触发,用于替换componentWillReceiveProps,可以用来控制 props 更新 state 的过程;它返回一个对象表示新的 state;如果不需要更新,返回 null...
2019-05-31 15:02:17 241
转载 js连续赋值 a.x = a = {n: 2}
下面就是这个经典案例:var a = {n: 1};var b = a;a.x = a = {n: 2};console.log(a);console.log(b);console.log(a.x);console.log(b.x);先来看一下普通连续赋值,即:变量赋值的类型是数据类型值 var a=3; var b=a=5; consol...
2019-05-25 09:58:28 480
原创 js二叉树反转
如果根节点不为空,左右节点交换,很简单:function invertTree(root) { if (root !== null) { var temp = root.left; root.left = root.right; root.right = temp; invertTree(root.left); invertTree(root....
2019-05-25 09:15:33 846
原创 原型链并没有那么复杂(图)
先看个例子: var Animal = function(){}; var Dog = function(){}; Animal.name = 'animal'; Dog.prototype = Animal; var tidy = new Dog(); console.log(Dog.name) //undefined console.log(tidy.name)...
2019-05-24 08:58:30 150
转载 GET和POST的区别
GET和POST是什么?HTTP协议中的两种发送请求的方法。HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 在我大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。为...
2019-05-22 21:49:11 127
原创 实现一个数组的map方法
大概手写一下吧。Array.prototype.map( x => x+1)//实现一个map1Array.prototype.map1= function (callback){ let newArr = []; let that = this; for(let i=0;i<that.length;i++){ newArr.push(callba...
2019-05-22 21:29:12 1261
原创 删除数组连续重复的元素
input [1,3,4,4,1,7,7,7]output [1,3,4,1,7] /* * 相邻去重 * */ function remove(arr){ var newArr =[]; newArr = [...arr]; //拷贝数组 //var newArr = JSON.parse(JSON.stringify(arr)); for(...
2019-05-19 11:27:52 1900
转载 async,Await原理最暴力解读
async,Await 其实就是promise的封装,使用编译技术自动将async,Await转化为promise,为了更好的理解async,Await是什么?我们使用转换工具来分析async/await转换工具安装$sudonpminstallbabel-plugin-async-to-promises-g$babel--pluginsasync-to-promis...
2019-05-18 17:49:20 2117
原创 git命令--解决冲突
当2个人同时修改一个文件,push或者pull会报错。这时我们需要执行 git merge (merge 前需要先 commit)//你修改的文件,已经被他人修改 下面pull报错git pullgit add .git commit -m 'commit'git merge//手动修改冲突文件git add .git commit -m 'merge'git ...
2019-05-14 10:21:22 4469
原创 webpack 打包过程
Webpackchunk多文件的打包过程如下图异步:详情:https://segmentfault.com/a/1190000019117897
2019-05-12 09:20:26 184
原创 node同步解压文件(async/await
使用 async/awaitfunction unzipSync(fileName,mbDir) { return new Promise((resolve, reject) => { fs.createReadStream(fileName).pipe(unzip.Extract({ path: mbDir })).on('close', () =>...
2019-05-08 12:33:58 832
原创 git强制覆盖本地
解决冲突的方式,本地版本和 线上一致。 git fetch --all git reset --hard origin/master git pull
2019-04-29 10:26:43 131
原创 git创建分支(git checkout -b)
$ git checkout -b develop#已经切换到develop分支了$ git branch#线上分支git push origin develop#切换回master分支$ git checkout masterSwitched to branch 'master'Your branch is up-to-date with 'origin/master'....
2019-04-29 10:13:48 649
原创 node 解压文件夹
文件夹的解压,因为windows不能使用 zip/ unzip 2个命令;然后想着引入node的包。推荐:unzip-stream 安装:npm install unzip-stream 引入:var fs = require("fs-extra"); //或者 fsunzip = require("unzip-stream"); ...
2019-04-25 19:55:54 1814
原创 js传递参数都是值传递
ECMAScript中所有参数传递都是值,不可能通过引用传递参数var obj = '111';function ddd(obj){ obj = '222';} ddd(obj);console.log(obj);输出: 111const obj2 ={a:'111'}; //let obj2 ={a:'111'}; //var obj2 ={a:...
2019-04-16 00:46:02 230
原创 promise、async和await
setTimeout(function(){console.log(3)},0)async function a() { await console.log(1) console.log(2)}async function b() { await a();}b();输出:(宏任务微任务)123async function testS...
2019-04-15 23:31:18 99
原创 js二叉树遍历(binaryTree)
前中后序遍历: var tree = { "id": 0, "name": "root", "left": { "id": 1, "name": "Simon", "left": { "id": 3, "name": "Carl", ...
2019-04-14 09:19:45 199
原创 node获取最后一个目录名
引入模块const fs = require('fs-extra');// 文件操作const shell = require('shelljs'); //shellconst path = require('path'); let appname = ''; let pwd = shell.pwd(); //当前目录路径(字符串) let index = pwd.spli...
2019-04-13 10:39:09 1562
转载 前端基础知识--顶置
目录1.关于Html2.关于CSS3.关于布局4.关于JS基础5.关于JS高级6.关于浏览器7.关于网络协议8.关于ES6语法9.项目能力10.模块化、组件化开发能力11.面向对象的编程思想12.设计模式13.学习能力14.系统编程1.关于Html1、html语义化标签的理解、结构化的理解;能否写出简洁的html结构;SEO优化。...
2019-04-02 12:50:21 289
原创 git commit -q 禁止摘要消息
在终端执行git commit -m 'msg' -q 有很多文件添加,去除这些消息使用命令:-qgit commit -m 'msg' -qgit commit --help查看更多命令。然后就可以找到 -q命令的说明啦。如下:-q--quietSuppress commit summary message....
2019-04-01 16:03:06 407
原创 js面向对象:继承
1、ES6,直接通过extends来实现:class PrimaryStudent extends Student { constructor(name, grade) { super(name); // 记得用super调用父类的构造方法! this.grade = grade; } myGrade() { aler...
2019-03-27 21:16:28 94
原创 node.js的xml和json相互转换-xml2js
首先安装xml2jsnpm install xml2js引入包:const xml2js = require('xml2js');xml转jsonvar xml = "<root>Hello xml2js!</root>"var parseString = require('xml2js').parseString;parseString(xm...
2019-03-27 11:15:09 4783 3
转载 node.js进行压缩文件
1、使用node实现文件及文件夹进行压缩。2、使用node实现zip加密压缩(非对文件加密,是对压缩包加密)。3、使用node实现在不解压zip包的前提下读取其内容。4、使用node对zip包进行伪加密。npm init -y //新建一个文件夹并且初始化node项目npm i -S adm-zip //安装adm-zip包npm i -S archiver //安装archive...
2019-03-22 18:19:16 19602
原创 React父组件异步传值问题解决
父组件异步获取数据,在子组件中通过props获取不到最新传递过来的值?解决方案如下:使用 react生命周期中的componentWillReceiveProps:父组件中异步请求数据 data 传向子组件:<UploadLog renderVersion={ this.renderBuildVersion } ...
2019-03-04 21:13:00 5725
原创 java.security.InvalidKeyException: Public Key cannot be used to decrypt.
昨天,ma报错——java.security.InvalidKeyException: Public Key cannot be used to decrypt.百度了一下,很可能是jdk不兼容的问题,本地环境也一直没有动过,所以很可能就是。查看构建配置: 修改完成,然后启动就成功了。其实很多时候没有代码修改的时候,都是定位网络和本地环境问题!!!!!! ...
2019-01-24 14:17:04 1565
原创 cordova插件的调用
插件js: var exec = require('cordova/exec'); exports.pay = function(paymentInfo, successCallback, errorCallback) { if(!paymentInfo){ errorCallback && errorCallback("Please enter order...
2019-01-15 20:51:02 1290
原创 从0开始 ——虔东稀土app
去年的这个时候开始写的第一篇从0开始,很喜欢这句话,程序员都是从0开始的,当时还用这个做昵称。今年部门还是拆了,师父把前端交给了我,很迷茫,还记得一年前老大带我们做产品的时候那个干劲,而今,前端就剩下我一个人。每年的组织调整应该习惯了,从后端转前端,一直很纠结,然后我给了自己一个理由,我说暂时先以前端为主,我要前后端都会。那么今天先给自己一个小小的目标,整合前端和移动端学到是知识(...
2019-01-09 20:47:37 384
原创 js中if()中true和false判断
false、undefined、null、0、NaN和''Boolean(false) // falseBoolean(undefined) // falseBoolean(null) // false Boolean(0) // false Boolean(NaN) // false Boolean('') // false布尔类型里只有这6参数个返回false,其它都为tr...
2018-12-12 10:05:33 8282
原创 DAY25——批量数据处理之合并同表头不同表体数据
结合上一篇文章,批量数据选择后,还要把选择的数据处理一下传给后台调用签收或者取消签收接口。首先处理需要格式数据:var newData = []; for(var i = 0; i<oldData.length;i++){ var arr ={ "cgeneralhid" : oldData[i].cgeneralhid, "entries" : [{...
2018-11-24 11:49:33 669
原创 doT.js渲染列表数据和批量处理数据
今天,做了列表上渲染数据并且支持批量选择。1、引入doT<script src="../js/doT.min.js"></script>2、html,模板、<!--listTemp--> <script type="text/x-dot-template" id="listTemp"> {{ for(va
2018-11-20 20:37:46 1503
原创 js数组与字符串的相互转换
一、数组转字符串(join)例子:var a, b,c; a = new Array(a,b,c,d,e); b = a.join('-'); //a-b-c-d-e 使用-拼接数组元素c = a.join(''); //abcde二、字符串转数组(split)例子:var str = 'ab+c+de';var a = str.split('+'); // [a...
2018-11-20 17:57:23 3187
原创 DAY16——获取和设置checkbox的checked属性
input:type=“checkbox” checked属性,选中时为true,为选中时为false。自动登录样式的例子:<div class="clearfix um-block" style=" margin-top: 15px; margin-bottom: 15px"> <label class="fl"> <input type...
2018-11-15 15:06:50 589
原创 DAY15——开发"老人机"APP
收料app主要用户是送料工,送料工的大概是一些年纪较大,甚至还在用老人机的那些人。虽然我不是需求也不是领导,但是感觉在这种现实情况下推行企业数字化(智能工厂)不是那么容易。向前推进,有问题解决问题,程序都是死的,但是人是活的,然后你就该去思考,自己做的真的适合现在的场景吗? 你只是一个开发人员,决定不了这个app做不做,只能去把app里面的字体都加大一码:font-siz...
2018-11-14 20:39:06 1104
原创 DAY13——select选择器文本和值的区别
周一综合征,一个字困。双十一剁手啦,还是要多挣钱呀。虽然并不知道自己今后干什么,但却清楚地知道自己现在应该干什么。我已经给自己选择了一条道路,很清晰的,但是自己好像没有开始为这条路做准备,没有丝毫的努力。就像你对这个世界有很多困惑,你的眼界阻碍了你的思考,这个时候不管是读书还是百度搜索答案,都是可以的。不要只知道焦虑的想,还需要强的执行力。了解——思考——调研——计划—...
2018-11-12 20:00:49 203
原创 DAY11——MA与NC调通并部署MA与数据库学习
today is 周六,一大早过来加班。 听了听江西这边的oracle培训,休息时间部署了一下ma,调通啦。 先说一下ma的部署吧,ma2.7以前是通过部署mp包的形式,现在Chrome页面部署mp包不怎么好用啦,3.5的话开发工具直接就可以把包打到 code/webapps/maserver/WEB-INF/lib里面,如果部署服务器就直接将j...
2018-11-10 11:43:12 345
原创 DAY10——NC接口开发流程
以前总是调用NC接口,但是不知道NC接口怎么写,今天就大概了解到了基本的开发流程。三个文件:1、接口类: 接口的定义,java文件。2、接口实现类: 接口的实现类,java文件。3、upm文件:对类的描述。以ic模块为例: 接口类:写在对应模块的public下面 package nc.impl.ic.app.pub;/** * 车间...
2018-11-09 16:38:24 2422
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人