Samurai-Native 渲染及布局原理

接着上一篇博客 Samurai-Native 模板及样式解析原理 Render Workflow 分配 StyleSheet 这里的分配 styleSheet 是为 domTree 上的每个节点选择应用于自身的样式。在开始渲染 workflow 之前,先来回顾一下剥离了 Samurai CSS 解析内部继承关系之后的关键类图,同时弄明白 CSS 解析部分关键类之间的相互协作关系,也就明白了为什么需要分配 styleSheet... Read more »

Samurai-Native 模板及样式解析原理

Samurai-Native 是 Hackers and Painters 出的第二款 Web-Native 框架,相对与其自家的第一款 BeeFramework 由 MVC、网络、文件系统等组成的大型框架而言,Samurai-Native 把动态 UI 下发的能力独立出来,用标准的 HTML + CSS + Javascript 技术栈提供一套混合开发的解决方案,相较而言更轻量、集成的成更低,是客户端开发向前端迁移的优秀方案之一。... Read more »

RunLoop 概念感悟

RunLoop 是 iOS 事件机制的核心,在缺少实践的情况下,看了几篇相关博文后感觉还是隔靴搔痒,没有参透。今天刚好有空看了一下 Node.js,发现 Node.js 的 EventLoop 机制和 iOS 的 RunLoop 异曲同工,在理解 EventLoop 之后,一些 iOS 相关的疑惑也触类旁通了。 Node.js 特征 单线程、异步... Read more »

CSS Flex Layout 算法解析

实现 Web-Native 混合开发已有很多知名开源框架,包括 Facebook 的 React-Native, 阿里的 Weex, GeekZoo 的 Samurai-Native 和 Bee-Framework。其实现各有差异和特色,React-Native 采用 JSX + JS + CSS 技能栈,为前端开发者向移动端迁移这一路径提供了解决方案。与... Read more »

Jekyll 个人静态博客建站及优化

写博客要追溯到高中,用百度空间记录生活和想法,坚持了四年多,直到大二时被盗号,申诉多次没有追回帐号,就没再写过。研二重整旗鼓,买了域名和服务,在 WordPress 上搭了个人博客,想模仿牛人写些技术博客。最近在面试时,面试官提到了我的博客,建议我用 GitHub 和 Jekyll 建站试试,于是我就开始捯饬着搬迁和建立工作。 发现自己经历了阮一峰说的写博客的三个阶段: 第一阶段,刚接触 Blog,觉得很新鲜,试着选择一个免费空间来写。 第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。 第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。 从零开始搭博客挺好玩,也可以趁此机会学一些前端。按照教程一步步走完后,博客初见规模。要做到更好还要考虑性能优化、网站分析和其他功能,有很多可以挖掘的,完全看个人喜好和发挥。当然最重要还是内容。弄完后才知道一篇华丽丽的牛人博客,其实很花心思!相关的建站教程很多,我就结合自己的建站过程整理下思路,有兴趣的也可以直接在 Github 上 clone。 确定环境和架构 1. GitHub Pages... Read more »

搭建工作环境

十月中旬校招结束,确定了一桩大事后,放慢了拼命赶路的脚步,列了很多 TODO list,不过还得先从打造一个顺手的工作平台和学习环境开始。 所谓工欲善其事,必先利其器 & 磨刀不误砍柴工。虽然这些都成了不写论文的借口,但经历了一个多月的打磨,总算初见规模。尽管望尘莫及牛人的体系方法,好歹也是迈出了第一步。 同步系统 1. 重要资料同步 - Dropbox 重要资料的定义:钻研多年的学术成果、源代码;记录每一阶段的文档、文件等重要等级高的内容。 dropbox 是非常好的同步平台: 安全可靠 - 不用怕哪天突然被告知数据清空 同步速度快 - 对修改的文件上传增量部分而不是重传整个文件,在大文件上进行小修改的性能超过许多同质产品... Read more »

Windows下安装与使用GCC编译器

什么是GCC? 我们在Windows系统下习惯使用诸如Windows Visual Stdio图形化IDE工具来编辑和编译代码,但在Unix/Linux系统下如何编译C++代码呢?答案是GCC(GUN Compiler Collection)。GCC源于一场自由软件计划,最初只能在不同操作系统上处理C语言,经过快速扩张后目前也支持C++/Objective-C/Java/Ada/Pascal/Fortran等多种语言的编译。 安装GCC 下载安装MinGW MinGW(Minimalist GNU on Windows)是Windows系统下GNU工具套装,使用MinGW来安装GCC。 点击下载,并安装到C盘根目录。 配置Windows环境变量 找到环境变量:控制面板->系统->高级系统设置->高级->环境变量; 在系统变量中选择Path,并在变量值中添加C:\MinGW\bin 在系统变量中新建LIBRARY_PATH,变量值是C:\MinGW\lib 在系统变量中新建C_INCLUDE_PATH,变量值是C:\MinGW\include 以上操作分别配置了标准库和头文件的存放路径。 使用MinGW安装GCC... Read more »

如何成为更好的 iOS 开发者

在 Boss 的敦促和项目进度的高压下猛学了两个多月 iOS 开发,从 Objective-C 小白到上线第一个应用,再到反思技术改进应用。从始至终都是自学,回头看看确实走了不少弯路。在这做些小总结,也希望能给读者带来些许帮助。 零基础自学方法论:先概览后细节,先容易后复杂。参考资料和步骤如下: Ry’s Objective-C Tutorial (图形化教学,深入浅出) iPhone 开发公开课:CS193P (高富帅轮番上阵,不学也难) Ray Wenderlich Tutorial 或者 Techotopia Tutorial  或者 AppCoda Tutorial(入门基础控件/TableView/ViewController... Read more »