crm踩坑记(二)
Linux
tmux
如何查看
tmux如何进行滚动呢?
prefix + [, prefix为tmux的前置动作,默认是ctrl + b。- 使用方向键或者pageUp来进行翻页。
q可以退出滚动模式。- 支持vi模式,需要在
.tmux.conf里面配置:set -g mode-keys vi
进程号, 端口
ps命令查找与进程相关的PID号,可以通过man来查询ps的一些参数。
这里讲解下最常用的用法: ps aux | grep vim, 查看所有的vim进程。ps aux | grep vim | grep -v grep, 查看所有的vim进程,去处掉当前的grep进程。一般查询出来的结果就是进程的id。
1. linux
// 先查看进程的pid
ps aux | grep vim
// 根据进程的pid,使用netstat查看该进程所占用的端口
netstat -nap | grep pid
2. mac
// 直接查询与listen相关的进程所有的情况(端口号和进程号都可以看见)
lsof -i -P | grep -i "listen"
参考
ES6
Object.values
Object.values场景: Object.values(attr.value).some(x => !x), 表示只要有一个为空,则返回true。
但是Object.values浏览器支持的不好,但是Object.keys却支持的非常好,因此可以这样来搞:const values = Object.keys(obj).map(x => obj[x]);。
Symbol
Symbol是ES6新引入的一个变量类型,它表示独一无二,可以这样来定义一个独一无二的值,它和任何其他变量都不相等: const a = Symbol('key')。
CSS
三列布局,常见的那种等宽三列布局,就是每列的左右距离都是一样的。下面介绍常用的几种方法:
// flex
.parent {
display: flex;
justify-content: space-between;
}
// text-align, 它用于inline-block和inline元素
.parent {
display: block;
text-align: center;
}
.parent .left {
float: left;
/*absolute*/
}
.parent .right {
float: right;
/*absolute*/
}
.parent .midde {
display: inline-block;
}
坑
localStorage
有一个需求是,在Table展示页面的时候,点击单条数据跳到新页面,然后新页面点击跳到第三个页面,需要将某个数据在第三个页面里进行展示。由于数据结构比较复杂,如果采用reducer的话,太过于麻烦了, 会花费很多时间。
因此,想了一个比较猥琐的解决办法,就是存到localStorage里面去, 每次点击Table里一条数据的时候,就将该数据存到localStorage里面去。但是后来经过实际测试,测试出来了有bug。
因为,如果一直点击数据,会弹出新的tab页,而每次点击后localStorage里面的值就会被更新掉,所以导致所有要跳转的第三个页面的填充值都是一样的。
can't resolve a module
ES6Module, 自己经常遇到这种情况,就直接慌了,因为感觉自己查不到错,其实很简单的。总结自己的两步:
- 先检查路径是否正确。
- 检查路径的单词是否拼错。
- 检查被引用的JavaScript文件,发现文件名不是index.js, 而是list.js, 因为要改为index.js。这里和脚手架的配置有关系。
mongodb shell
这是真的把自己蠢哭了,因为代码跑了几次,但是数据一点儿变化都没有。后来才发现,自己在shell里面操作的时候,查询出来的数据只是部分的,需要it查看更多的数据,才发现数据是变化了的。
Why is the MongoDB Node Driver generating instance pool destroyed errors?
自己当时不太会写异步,结果数据库操作还没有处理完,但是for循环早已经结束了,因此回调就db.close了,所以导致这样的报错。
react
Map
由于自己写一个简单的map都会报错,要么是eslint,要么是语法规则,总是不能一次性写对。
// 注意map后没有分号
// 要写key
// jsx要有大括号
<ul>
{
data.map((x, index) => {
<li key={index}>{x}</li>
})
}
</ul>
react不能识别odd, even
由于在react里面不能使用odd even这样的伪元素。因此需要自己来单独处理。
可以看这个: 一个简单的解决办法。
node
classnames的用法
由于写react的时候,经常会遇到多个类的情况,我这里就不展开总结了,参考这里: classnames
写脚本操作mongodb时提示Error: cyclic dependency detectd_id
说说我遇到的一种场景: 由于要用到某条数据进行操作的时候,没有注意到它是一个对象,然后就循环引用了。
如何插入带有Object_id的数据
代码习惯
- 表单提交时,可以将表单检测分为2个过程,
static error check以及post error check
crm踩坑记(二)的更多相关文章
- 【React踩坑记二】react项目实现JS路由跳转
这里使用的是4.31版本的react-router-dom "react-router-dom": "^4.3.1", 直接使用以下代码即可实现路由跳转 thi ...
- crm踩坑记(三)
React 如何同步更新state 由于setState方法是异步的,而通常很多时候在一个生命周期里更新state后需要在另一个生命周期里使用这个state. 下面介绍几个方法 // 1 this.s ...
- Visual Studio For MacOS 踩坑记(二)
Visual Studio For MacOS安装安卓SDK. 系统默认安装了安卓6.0 API23的SDK. 但是我需要安卓7.0的,API24. 遂安装. SDK可以下载成功,但是用Visu ...
- crm踩坑记(一)
目录 antd es6 Object.entries() Object.keys() Object.getOwnPropertyNames() 很神奇的用法!!! eslint 傻逼 其他 参考 an ...
- iOS自动化打包上传的踩坑记
http://www.cocoachina.com/ios/20160624/16811.html 很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDe ...
- [技术博客] 敏捷软工——JavaScript踩坑记
[技术博客] 敏捷软工--JavaScript踩坑记 一.一个令人影响深刻的坑 1.脚本语言的面向对象 面向对象特性是现代编程语言的基本特性,JavaScript中当然集成了面向对象特性.但是Java ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- 【踩坑记】从HybridApp到ReactNative
前言 随着移动互联网的兴起,Webapp开始大行其道.大概在15年下半年的时候我接触到了HybridApp.因为当时还没毕业嘛,所以并不清楚自己未来的方向,所以就投入了HybridApp的怀抱. Hy ...
随机推荐
- 【Android Developers Training】 108. 使用模拟定位进行测试
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 93. 创建一个空验证器
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 7.java的请求转发和请求重定向
1.请求重定向:是客户端的行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变,一次新的转发. 2.请求转发:是服务器的行 ...
- 记一次Nginx的配置
记第一次Nginx的配置 Nginx 首先了解到Nginx是干什么的?它有哪些作用?比较常用到的基础功能有反向代理.负载均衡.正向代理.http服务器.这次部署用到的就是反向代理. 反向代理就是指在目 ...
- 从源码的角度看Activity是如何启动的
欢迎访问我的个人博客,原文链接:http://wensibo.top/2017/07/03/Binder/ ,未经允许不得转载! 大家好,今天想与大家一起分享的是Activity.我们平时接触的最多的 ...
- Linux 压缩 与解压命令
tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...
- man ssh翻译(ssh命令中文手册)
本文为命令ssh的man文档翻译,翻译了90%的内容,剩余是一些没必要翻译的东西,请见谅. 如此文有所疑惑,希望我的另一篇文章能解惑: SSH(1) BSD Ge ...
- Bootstrap选项卡
前面的话 选项卡Tabs是Web中一种非常常用的功能.用户点击对菜单项,能切换出对应的内容.本文将详细介绍Bootstrap选项卡 基本用法 Bootstrap框架中的选项卡主要有两部分内容组成: 1 ...
- Watson Explorer Analytical Components 1
Introduction: IBM Watson Explorer Analytical Components(AC) which is part of the IBM Watson Explorer ...
- c++动态内存管理
一.内存的简要了解 说到内存,很多人应该都多多少少有点了解了,我们在这再稍微多说几句: 一般我们可以把内存理解为三个部分:静态区,栈,堆.有些朋友搞不清到底什么是栈什么是堆,堆栈有多人会认为是堆和栈, ...