作者简介: 克莱顿•克里斯坦森:哈佛商学院教授,因其在企业创新方面的深入研究和独到见解,被尊称为“创新大师”。1997年,当《创新者的窘境》英文版出版时,克莱顿•克里斯坦森只是哈佛商学院的助理教授。而此书一出,就确立了他在创新技术管理领域的权威地位 。
就算我们把每件事情都做对了仍有可能错失城池,面对新技术和新市场,往往导致失败的恰好是完美无瑕的管理。
非常值得推荐的一本书,该书并不研究一些管理落后的企业衰败的原因或者并不占据行业主导地位的企业衰败的原因,而主要谈的是为何成功的企业、管理优秀的企业、占据行业龙头的企业、同时也在不断创新的企业最后衰败的原因。前者其最终衰败看来是必然,如若从此点切入,此书必然难成大器;而从后者这
继续阅读 »
Greasy Fork 简介
用户脚本为您增强对浏览体验的控制权。在安装之后,它们可自动为您访问的网站添加功能,或使其更加易用、更加清新。在 Greasy Fork 上的用户脚本是由其他用户编写并向全世界发表的,您可以免费和轻松地安装。
如何使用 Greasy Fork
第一步:安装一个用户脚本管理器
要使用用户脚本,您首先需要安装一个用户脚本管理器。根据您使用的浏览器不同,可用的用户脚本管理器也有所不同。
Tampermonkey,支持Chrome, Firefox, Microsoft Edge, Safari, Opera Next, Maxthon
Greasemonkey,支持Firefox
more
第二步:安
继续阅读 »
SNMP
SNMP - Simple Network Management Protocol
TCP/IP协议族的一部分
能够使网络设备之间能够方便地交换管理信息
能够让网络管理员管理网络的性能,发现和解决网络问题及进行网络的扩充
SNMP管理设备有查询(query)和上报(trap)两种方式
SNMP TRAP
SNMP中标准的上报机制
继续阅读 »
tbox的默认内存分配,是完全基于自己的内存池架构,支持内存的快速分配,和对碎片的优化,并且支持各种内存泄露、溢出检测。
如果不想用tbox内置的默认内存分配管理,也可以灵活切换到其他分配模式,因为tbox现在已经完全支持allocator架构,
只要在init阶段传入不同的分配器模型,就能快速切换分配模式,例如:
```c
/* 采用默认的tbox内存管理,启用内存池维护、碎片优化、内存泄露溢出检测等所有特性
* 相当于使用了:tb_default_allocator(tb_null, 0)
*/
tb_init(tb_null, tb_null);
/* 采用默认的tbox内存管理,启用
继续阅读 »
在Javascript的开发过程中,经常会遇到一些重复性的任务,比如合并文件、压缩代码、检查语法错误、将Sass代码转成CSS代码等等。通常,我们需要使用不同的工具,来完成不同的任务,既重复劳动又非常耗时。Grunt就是为了解决这个问题而发明的工具,可以帮助我们自动管理和运行各种任务。
简单说,Grunt是一个自动任务运行器,会按照预先设定的顺序自动运行一系列的任务。这可以简化工作流程,减轻重复性工作带来的负担。
安装
Grunt基于Node.js,安装之前要先安装Node.js,然后运行下面的命令。
```javascript
sudo npm install grunt-cli -g
```
grunt-cli表示
继续阅读 »
TBOX的内存管理模型,参考了linux kernel的内存管理机制,并在其基础上做了一些改进和优化。
内存整体架构
large_pool
整个内存分配的最底层,都是基于large_pool的大块内存分配池,类似于linux的基于page的分配管理,不过有所不同的是,large_pool并没有像linux那样使用buddy算法进行(2^N)*page进行分配,这样如果需要2.1m的内存,需要分配4m的内存块,这样力度太大,非常浪费。
因此large_pool内部采用N*page的基于page_size为最小粒度进行分配,因此每次分配顶多浪费不到一页的空间。
而且如果需要的内存不到整页,剩下的内存也会一并返回给上层,如果
继续阅读 »
对于一些IOS 开发者而言,管理第三方库的确是一件令人头疼的事情。而Cocoapod 恰恰是解决你这个烦恼的一个第三方管理库。
尽管pod上有许许多多的第三方库提供给开发者使用,但是很多人还是喜欢把自己的一些库或者Helper使用到各个项目上面去,这样不单单是可以提高个人的开发效率。对于以后有新人的加入,项目的重构管理起来都是颇为省劲。下面我就介绍一下如何去制作一个“私有的POD”。
继续阅读 »
参考原文:https://github.com/angular-ui/ui-router/wiki/The-Components
$state / $stateProvider:管理状态定义、当前状态和状态转换。包含触发状态转换的事件和回调函数,异步解决目标状态的任何依赖项,更新$location到当前状态。由于状态包含关联的 url,通过$urlRouterProvider生成一个路由规则来执行转换的状态。
ui-view指示器:渲染状态中定义的视图,是状态中定义的视图的一个占位符。
$urlRouter / $urlRouterProvider:管理了一套路由规则列表来处理当$location发生变化时如何跳转。最低级的方
继续阅读 »
Gitlab简介
Gitlab 是一个用于管理GIT代码库的项目,提供权限管理、代码review、问题跟踪、wiki以及持续集成等多种功能,Gitlab 一共提供四种版本可供用户选择,分别是
- Gitlab Community Edition (CE):社区版,免费,用户自行托管,通过社区提供技术支持
- Gitlab Enterprise Edition (EE):企业版,付费,用户自行托管,提供附加的功能以及技术支持
- Gitlab.com:免费的SaaS服务,可以创建共有以及私有的版本库,可以购买额外的技术支持
- GitHost.io:由Gitlab提供的用户私有的独享服务
我们使用的是Gitlab CE版本。
G
继续阅读 »
八爪有一整套的研发管理系统,实现从代码管理到服务器搭建、问题追踪到编写开发文档,从而搭建起一整套开发流程的系统。以下是一些个人现阶段的理解。
1.Jira
JIRA Software是优秀的敏捷项目工具,协助您追踪问题,集成代码,规划,开发,发布高质量的软件产品。
2.Stash
Bitbucket(原名Stash)帮助团队创建和管理代码仓库,通过内联注释和变更讨论来使团队协同处理代码。
3.Confluence
Confluence将团队成员紧密的团结在一起,带领团队同心协力地在线编写文档,使团队成员工作更有效率。
4.Bamboo
Bamboo运行在各种专用服务器或云服务器上的代理实现了构建能力的即时动态扩展。
继续阅读 »