松下菲勒

myBlog


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

CSAPP 读书笔记

发表于 2018-12-16 | 分类于 细读经典

细读经典: CSAPP–深入理解计算机系统

为什么读这本书

  • 对计算机系统有更加全面且深入的认识
  • 可以获得扎实的基础知识,本书对计算机网络,操作系统,编译原理有详细的介绍
  • 从汇编语言开始逐步了解编程本身的进化史
  • 培养自己的自学能力,提高竞争力–各方面的

再谈React-Native With Redux

发表于 2017-08-20 | 分类于 hybrid

有一段时间没写react-native redux相关文章了,使用中多多少少有些感悟,总结了一些,这次把它写出来。

本文目录

  • redux三大原则
  • 重新认识redux三要素
  • react-redux的最新用法
  • redux性能优化
  • redux周边设施
  • 总结 & 其他
    阅读全文 »

使用 Service worker 实现加速/离线访问博客

发表于 2017-06-08 | 分类于 前端

有一个困扰 web 用户多年的难题——丢失网络连接。即使是世界上最好的 web app,如果下载不了它,也是非常糟糕的体验。如今虽然已经有很多种技术去尝试着解决这一问题。而随着离线页面的出现,一些问题已经得到了解决。有一个叫做 APP Cache 的 API 可以提供离线体验,但它的问题比较多。最重要的问题是,仍然没有一个好的统筹机制对资源缓存和自定义的网络请求进行控制。

Service worker

于是 HTML5 提出了 Service Worker,Service worker 提供了很多新的能力,使得 web app 拥有与 nativeapp 相同的离线体验、消息推送体验。

阅读全文 »

npm 的一个小细节

发表于 2017-05-20 | 分类于 前端

在使用 electron 构建桌面应用的时候,在 package.json 里面的 scripts 字段是这样的

1
2
3
"scripts": {
"start": "electron ."
},

我们可以执行 npm start ,那么它就会执行 electron . 这个命令。
那么如果我们直接执行 electron .
由于我们没有将 electron 加入到全局,所以不行。
那么为什么 npm start 可以执行呢?

阅读全文 »

gulp 详解与使用

发表于 2017-05-01 | 分类于 前端

什么是 gulp

gulp 是一个前端构建工具,它能通过自动执行常见任务,比如编译预处理 CSS ,压缩 JavaScript 和刷新浏览器,来改进网站开发的过程,从而使开发更加快速高效。

为什么要用 gulp

与 grunt 相比,gulp 无需写一大堆繁杂的配置参数,API(中文 API) 也非常简单,学习起来很容易,而且 gulp 使用的是 nodejs 中 stream 来读取和操作数据,其速度更快。
gulp 有庞大的生态圈,且每天都在发展。依靠成千上万可供选择的插件,你可以利用 gulp 自动完成几乎任何事。

如何使用 gulp

Installing Gulp

新版的 gulp 命令行工具已经改名为 gulp-cli 。
如果你之前安装了全局的 gulp 。在使用新的 gulp-cli 之前,执行命令
npm rm --global gulp ,将之前的全局 gulp 卸掉。

阅读全文 »

React-Native With Redux

发表于 2017-04-19 | 分类于 hybrid

经过上次的react-native小模块完成之后,发现不少缺点,而且基本没什么扩展性。这次正好又增加一个react-native模块————我的等级特权,于是动手重构了项目里整个react-native的部分,随着今晚项目发布上线,动手记录下来这次重构的经验。

本文目录

  • 为什么要做这次重构
  • Flux模式与Redux
  • React-Native With Redux
  • 代码规范和语法糖
  • 重构过程中遇到的坑
  • 总结

撰写本文时笔者的相关环境如下

  • 操作系统:OS X 10.11.2
  • npm中react-native版本:0.17.0
  • Android studio中react-native版本:0.17.1

为什么要做这次重构

之前的初次踩坑文章是在做第一个react-native需求——通知中心的时候写的,当时为的是功能没问题然后上线,并没有考虑扩展、封装、数据流等问题。当又要添加其他react-native模块的时候,就必须要解决这样的问题了,于是这次重构应运而生。

阅读全文 »

npm 全面介绍

发表于 2017-04-10 | 分类于 前端
阅读全文 »

AMD,CMD 规范详解

发表于 2017-03-20 | 分类于 前端

当我们了解了 CommonJS 以后,CommonJS 规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。
由于 Node.js 主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以 CommonJS 规范比较适用。
但是,如果是浏览器环境,要从服务器端加载模块,这时就必须采用非同步模式。为什么呢?

阅读全文 »

CommonJS 详细介绍

发表于 2017-03-07 | 分类于 前端

CommonJS 规范与实现

正如当年为了统一 JavaScript 语言标准,人们制定了 ECMAScript 规范一样,如今为了统一 JavaScript 在浏览器之外的实现,CommonJS 诞生了。CommonJS 试图定义一套普通应用程序使用的 API,从而填补 JavaScript 标准库过于简单的不足。CommonJS 的终极目标是制定一个像 C++ 标准库一样的规范,使得基于 CommonJS API 的应用程序可以在不同的环境下运行,就像用 C++ 编写的应用程序可以使用不同的编译器和运行时函数库一样。为了保持中立,CommonJS 不参与标准库实现,其实现交给像 Node.js 之类的项目来完成。下图是 CommonJS 的各种实现。

阅读全文 »

如何解决内存泄漏引发的血案

发表于 2017-02-28 | 分类于 综合

之前做了一个谷歌浏览器的插件开发,它会打开一个链接,然后收集数据并上传。依次循环,但是跑的时间久了,内存就变得很高,然后浏览器就会变卡,慢慢的影响这个插件的运行,最后浏览器也会崩溃。

什么是内存泄漏

内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。在 C++ 中,因为是手动管理内存,内存泄露是经常出现的事情。而现在流行的 C# 和 Java 等语言采用了自动垃圾回收方法管理内存,正常使用的情况下几乎不会发生内存泄露。浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有 bug,会产生内存泄露。

阅读全文 »
123
mlj

mlj

25 日志
6 分类
14 标签
© 2018 mlj
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4