注册IMWeb前端社区,你可以,
第一时间获得最新、最火的技术干货 定期推送您所关注的专题文章
和大牛们一起讨论前端技术 获取IMWeb社区、前端相关的最新活动
立即注册
热文 更多

  • React高阶组件(译)

    原文: https://daveceddia.com/extract-state-with-higher-order-components/ [https://daveceddia.com/extract-state-with-higher-order-components/] 高阶组件是对React代码进行更高层次重构的好方法,如果你想精简你的state和生命周期方法,那么高阶组件可以帮助你提取出可重用的函数。 什么是高阶组件?名字来源于高阶函数,一个函数可以接收另一个函数作为参数,并且有可能在执行后返回一个函数,这种函数就称之为高阶函数。你可能使用过高阶函数但是并没有真正意识到,例如 Array.forEach 、 Array.map 、 setTimeout 这些都是高阶函数,我们都知道这些函数全都是接受一个函数作为参数,当新的函数返回时,他已经发生了变化。 // Ok :) setTimeout(function() { // do a thing after 500ms }, 500); // Sure... [1, 2, 3].map(function(i) {

  • Nodejs进阶:MD5入门介绍及crypto模块的应用

    本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址 [https://github.com/chyingp/nodejs-learning-guide] 。欢迎加群交流,群号 197339705 [http://shang.qq.com/wpa/qunwpa?idkey=7e4f670e1cd9278f30003965a1cc068a4f30d8c73aa071c8da189f4842dbbee6] 。 简介 MD5(Message-Digest Algorithm)是计算机安全领域广泛使用的散列函数(又称哈希算法、摘要算法),主要用来确保消息的完整和一致性。常见的应用场景有密码保护、下载文件校验等。 本文先对MD5的特点与应用进行简要概述,接着重点介绍MD5在密码保护场景下的应用,最后通过例子对MD5碰撞进行简单介绍。 特点 1. 运算速度快:对 jquery.js 求md5值,57254个字符,耗时1.907ms 2. 输出长度固定:输入长度不固定,输出长度固定(128位)。

  • 浏览器进程?线程?傻傻分不清楚!

    在生活中,浏览器和我们的工作和生活息息相关。做为前端开发,我们代码的应用场景往往是在浏览器上。浏览器对前端的重要性不可一日而语。那么我们对浏览器是否有比较清晰的了解呢?什么是多进程架构浏览器?为什么浏览器内核是多线程?Javascript是单线程又是什么鬼?进程和线程是否分得清楚呢? 进程(PROCESS)和线程(THREAD) 进程和线程是操作系统的基本概念,许多人会有所了解,但不能较为清晰的分辨。 这里我们需要了解下面几个点。 [http://7tszky.com1.z0.glb.clouddn.com/FkYQbo01k9nmBTtv7Ghmtf2U4ZAV] CPU CPU是计算机的核心,其负责承担计算机的计算任务。这里我们比喻为一个工厂 进程 学术上说,进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。我们这里将进程比喻为工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。 线程

  • 分享几个便利的工具软件

    CLOVER 官方网址:http://cn.ejie.me/ [http://cn.ejie.me/] * 方便的 Tab 页功能 要掌握功能强大,操作简单的标签页,只需记住Ctrl+T新开页面,Ctrl+W关闭页面,Ctrl+Tab切换页面,工作效率提高何止一倍! * 操作系统无缝集成 Clover 通过插件的形式集成到 Windows Explorer,保留您通常的使用习惯,无需学习新的文件管理操作,马上就可以使用啦。 * 快如闪电的书签栏 按Ctrl+D添加当前路径,或者直接将文件夹拖入书签栏。再也不用到处寻找要访问的文件夹了,瞬间到达,何等痛快![http://7tszky.com1.z0.glb.clouddn.com/FhfcqVKAV2uCciuJADxSnnx8ZM5I] LISTARY 官方地址:http://www.listary.com/ [http://www.listary.com/] Listary 是一款实用的搜索工具, 也可以把它当做启动器来用非常方便。

  • 版本号学习笔记

    版本号 作为一名前端工程师,相信大家对npm等包管理工具都比较熟悉,这里抛出一个先前碰到的问题: 冲突 假设我们存在一个多个项目共用的构建环境runtime,构建工具所依赖的包都安装在此runtime中,然后各个项目的负责人或者开发人员一起来维护这个公用runtime的package.json。那么非常有可能,包之间的依赖会出现冲突,特别是当包存在 Peer Dependencies [https://nodejs.org/en/blog/npm/peer-dependencies/] 的情况(之前的低版本npm安装会导致NPM ERR报错): [http://7tszky.com1.z0.glb.clouddn.com/Fk4Dbxegl-f62Fttc-u3q6UwDkWv] 后续 在了解了什么是平等依赖以及为什么安装失败后,解决这个问题的办法有很多,比如: * 根据项目拆分runtime * 升级依赖包(防止breaking changes) * 更换构建实现方式 * 等等 尽管如此,我们还是非常有必要了解一下Npm包管理工具是怎么做的? 版本比较

热问 更多