学习笔记
文章平均质量分 56
杰尼js
不会潜水的摄影师不是好前端
展开
-
团队git流程
前一段时间接触一个新团队时,发现他们因没有”流程”,常发生代码合并困难,或者合并后漏掉几个commit,上线后把别人代码搞坏的情况。由此想探讨一下“流程”问题。两大流程调查时发现阮一峰老师在Git 工作流程一文中已经探讨了3种经典流程,由此了解到几种经典流程的名字:git flow, github flow, 和 gitlab flow。不过我认为git flow不适合多人协作,所以只探讨gi...原创 2019-11-22 23:56:49 · 541 阅读 · 0 评论 -
用redux dev tools远程调试模式
目录安装修改创建Store代码安装本地redux dev tool服务器启用远程调试在调试一个Chrome插件的时候,第一次用到了Redux DevTools的远程模式,进而了解到React Native的开发朋友们平时都是怎么调试redux store的。使用远程模式,需要App在启用Redux DevTool的基础上,再添加[remote-redux-devtools](https://g...原创 2019-09-29 23:32:46 · 849 阅读 · 0 评论 -
笔记:通过sftp命令行上传文件至Akamai CDN
通过sftp命令行上传文件至Akamai CDN在尝试上传文件到Akamai时顺便学会了一个新linux命令sftp。我做这个上传接口拥有的资源是:我的文件,akamai的域名地址,用户名,已申请并获得权限的公私钥和一个指定的文件夹目录。基于这些条件,我需要知道:如何通过sftp用指定密钥登录Akamai如何通过sftp上传文件通过查询sftp文档,了解到登陆ftp服务器非常简单,只...原创 2019-09-12 21:56:04 · 628 阅读 · 0 评论 -
在Redux里怎么存数据?论数据标准化
在一个复杂的项目中,我们可以将Redux store看成为客户端的缓存数据库。众所周知数据库的设计大有讲究,需要考虑到数据查找的性能,和可拓展性。作为前端“数据库”的Redux store也是同样的,存放的方式、位置不好会增加bug出现的几率、读写数据的复杂度、维护的成本。那你说我们在数据层已经将数据处理了一遍,前端再加一层处理不是多此一举吗?的确,随着对用户体验的要求越来越高,而支持着这种极...原创 2019-06-30 23:17:54 · 3822 阅读 · 1 评论 -
Hook改变的React Component写法思路(3) - useContext
首先我们回忆一下React Context API的用法(生产者消费者模式)。创建context对象:// context初始值const INITIAL_VALUE = ‘’;const MyContext = React.createContext(INITIAL_VALUE);划定context使用的范围,管理它的值:function App() { return (...原创 2019-05-12 17:41:03 · 1455 阅读 · 0 评论 -
Hook改变的React Component写法思路(2) - useCallback和useMemo
文章目录useCallback把匿名回调“存”起来useMemo保存一些计算值useCallback把匿名回调“存”起来在之前版本的文档和大牛的blog中都有提到避免在component render时候声明匿名方法,因为这些匿名方法会被反复重新声明而无法被多次利用。在Class component当中我们通常将回调函数声明为类成员:class MyComponent extends Re...原创 2019-05-12 15:55:35 · 4775 阅读 · 1 评论 -
Hook改变的React Component写法思路(4) - useReducer
其实一开始看到useReducer的时候,还以为它跟react的好伙伴redux有什么关系。然而也就是借鉴了redux的设计模式的状态操作工具而已。目前使用Redux的小伙伴们可能还需要用原来的react-redux提供的connect HOC一段时间。尽管facebook已经在做相关的hook,目前还处于不稳定的状态,使用后果自负(项目地址:https://github.com/faceboo...原创 2019-05-13 22:19:38 · 779 阅读 · 0 评论 -
Hook 改变的 React Component 写法思路(1) - useState和useEffect
Hook 改变的 React Component 写法思路React hook 在酝酿近一年后,终于在16.8稳定版中重磅推出。在此前后FB的Dan大神劳心劳力地几乎每天在Twitter上给大家洗脑宣传。那它究竟跟之前的React应用相比有什么改变?前提是先要理解MemoizeMemoize是贯穿hook用法的一个非常重要的概念,理解它是正确使用hook的基石。Memoize基本上就是把...原创 2019-04-28 17:10:32 · 6973 阅读 · 1 评论 -
ES6写JSDoc的一些经验和实例
ES6写JSDoc的一些经验和实例关于JSDoc和它的基本语法支持,请参考官方文档:http://usejsdoc.org/。虽说官方文档还是比较全的,实际使用中还是需要摸索一下适合自己项目的写法,并考虑最终文档生成工具的支持。例1:Object类型在function中的定义假设我们有个需要Object参数的方法。可以这样写:/** * 把两个数字a和b加起来 * @...原创 2018-09-10 11:40:36 · 7653 阅读 · 4 评论 -
用Javascript如何拷贝指定文字?
页面上给用户提供一串字符(通常是URL或者分享代码),然后旁边有个拷贝按钮可以让用户直接点击复制是个很常见的简单的功能.但真的要去做的时候,发现一切并没有我理想当中的那么简单. 浏览器为了确保是用户自己做的操作,复制的内容必须是“选中”的,“可见”的。除此之外,还需要考虑头疼的浏览器兼容问题。“选中”的复制内容选中不光可以通过用户操作,也可以通过JS:用任意HTML,通过Selec原创 2018-01-14 19:59:42 · 4630 阅读 · 0 评论 -
用GruntJS合并、压缩JS文件
长期东忙西忙,却不忙更新自己的博客,缺少输出,甚为惭愧记得我当初刚接触GruntJS的时候对NodeJS一知半解,所以第一次使用花了些时间才熟悉起来。本文希望能帮助朋友们快速入门。为什么要合并、压缩你的JS文件?在开始之前,先重申一下这个问题。因为经常在帮忙改东西的时候看到HTML页面上引用了N个JS,而通常看到这个就知道这人JS写得有多糟糕了。HTML里穿插一堆JS代码的我就不吐槽了原创 2014-07-07 23:38:23 · 2136 阅读 · 0 评论 -
使用Yeoman你必须要知道的
不得不说,这年头写JS程序变得越来越复杂了。虽然大家都为了让写JS变得更简单而创建框架、创建工具,但是感觉已经开始偏离了最初的目的。今天来说说Yeoman,一帮人为了让写AngularJS程序更高端智能而创建的一个工具。可以利用简单的命令行操作帮你初始化一个Angular App,CSS、图片、View和JS应该放哪都帮你决定好了,连复杂的Grunt都帮你配好了。前端同志只要用”grunt serve“就可以预览你的Web App而不用配置Web服务器,用"grunt build"就可以导出经过压缩的CS原创 2014-09-22 21:42:08 · 2564 阅读 · 0 评论 -
Ember.js的那些坑
用了一年Ember.js,从2.3到2.10,因为数据量大,以及项(xu)目(qiu)的复(bian)杂(tai)性踩了不少坑,感觉再也不会爱了。在把这个锅甩出去之前,小小总结一下,以示后人,知己知彼方能百战百胜。注意,这篇我只吐槽。原创 2017-04-25 00:14:14 · 11985 阅读 · 0 评论 -
Web Responsive Table, 只需CSS使table在手机和平板中完美显示
在做responsive或者手机版页面的时候,经常碰到在手机和平板中会因为长度问题把页面撑大。最近看到一个比较好,比较方便的方法,而且仅仅用CSS 2就可以实现!实例URL:http://dbushell.com/demos/tables/rt_05-01-12.html已经验证支持webkit引擎及firefox,很可惜IE这个混蛋不能改table标签的display属性。慢点看看有没有原创 2014-04-03 19:15:41 · 4542 阅读 · 0 评论 -
用SCSS需要小心IE对css的几个限制
IE对CSS的限制主要有两个:一个页面中引用的CSS只读前32个一个CSS文件中只读前4095个选择器关于这个问题的文章有很多,我就不细讲了。我想讲的是在用SCSS写CSS的时候非常容易超过这第二个限制。SCSS的继承,MIXIN和其他特性非常好用,我们可能会分成很多个文件,这些文件都互相有关联,但是为了减少浏览器请求文件次数,通常会将多个文件合并压缩成一个文件。那么如果碰原创 2014-02-16 17:23:57 · 4267 阅读 · 1 评论 -
iOS中textbox文本框清除圆角
在iOS、Mac safari中,所有的textbox, select, checkbox都会被强制美化为圆角。但在特殊情况下需要清除圆角时发现iOS中使用以下传统的css无效:border-radius: 0;-webkit-border-radius: 0;然后无奈之下用了以下代码才奏效:-webkit-appearance: none;原创 2014-02-23 21:53:56 · 1422 阅读 · 0 评论 -
非网页安全字体不再依赖Cufon!CSS @font-face的使用
网页安全字体这个概念前端们应该都清楚,那遇到非网页安全字体为了保证网页在用户电脑中显示不破坏页面整体的设计,通常少量的文字可以用图片来代替,也可以用Javascript的Cufon来画出这个字体。那实际上这些字体都是付费使用的,这两种做法都有可能引发一些侵权的问题,也会在一定程度上拖慢网页的浏览速度。所以现在推荐使用@font-face,通过将字体文件上传到服务器端来保证客户端的显示一致。@f原创 2012-07-04 11:27:47 · 2397 阅读 · 0 评论 -
关于浏览器地址栏和标题栏显示的小图标
写这篇文是因为原来我一直觉得这个图标是个很高级的东西啊。。。真的接触了才知道原来只是那么简单。不过这个小小的细节会给网站增色不少哦!ICO图标的制作第一步,简单的ICO图标只需要一张图片,JPG、PNG、GIF都可以。可以用GIF就意味着你还可以做个有动画效果的高级图标O(∩_∩)O,不过不推荐这么做,因为GIF动画文件比较大,会延迟页面加载速度。【注意】图片必须为16px * 16px大原创 2012-04-28 14:50:38 · 1903 阅读 · 0 评论 -
HTML基础之标签的使用- 标签的语义化使用
此系列文面向一些网页前端初学者,或者是做了很多静态页面,认为只要页面呈现出自己所要的视觉效果就万事OK,不懂W3C标准的童鞋们(我曾经就是这样的)。语义化标签:你认为用什么标签最能描述这块内容,觉得这样表述更有意义,那么就可以使用这个标签。现在的浏览器对CSS支持都挺完善的(不包括CSS3),讲究的是结构与表现相分离,结构与行为相分离,一个WEB页面,结构是最主要的,结构相当于一栋房子的墙,标原创 2012-03-14 23:10:26 · 865 阅读 · 0 评论