文/Robin
macOS Big Sur 正式版发布了。不过笔者在之前内测的时候就开始用了,经历 2 个 Candidate 的 Beta 版,直接就到正版版了,所以此次发布,内心毫无波澜。
macOS Big Sur 除了 UI,似乎没有多大改变。升级到 macOS Big Sur 后,更像 iPadOS 了。作为近几年以来变化最大的 macOS 更新,macOS Big Sur 对内置应用的图标、应用的设计语言、桌面的程序坞和菜单栏等方面都进行了重新设计。macOS Big Sur 中的系统应用图标统一改为圆角矩形的设计样式,与 iOS /iPadOS 的图标样式统一。其它系统界面方面,macOS Big Sur 的程
继续阅读 »
阅读openNi的个人小结
more
![我的类图][image-1]
流程图概览
大致概览上来说,整个项目的结构是一个标准的中间件结构,上下层分别面向开发者和驱动层,所以圆框内的我略过,用了相对稳定和结实的散在C_API口,为了应对不同人群的胃口,打散了这些功能口的面向对象特性以后又多做了几层封装来包装这些接口;
1是为上下层的书写提供了一个标准和文档注释的说明整理地方
2是为上下层的用户提供了更多的选择和设计可能
3原本的设计用意是散在接口的上下层做库的包装,以上或者以下均可见,驱动层的架构的驱动仅仅是为接口的统一规格实现设计的中间件。如果涉及到加密,我认为主要的openNi实现库实行即可。
同时项目具备良好的跨平台性
继续阅读 »
本文主要介绍下xmake的整体架构设计,以及源码结构的布局和模块划分。
如果你想深度使用xmake,开发xmake插件、工程自定义脚本或者想为xmake贡献一些代码和特性,可以通过此本的介绍,对xmake项目整体有个大概的了解。,
源码地址:Github
顶层目录结构
bash
./xmake/
├── actions # 内建的一些基础task,用于基本的构建安装等操作
├── core # xmake的核心模块,提供最底层的实现支持
├── languages # 所有的语言相关特性支持和扩展,都在此目录下
├── modules # 内置的扩展模块,可用`import`导入使用
├── pack
继续阅读 »
1. 设计模式概念
设计模式这个术语是由Erich Gamma等人在1990年代从建筑设计领域引入到计算机科学的。它是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。
并非所有的软件模式都是设计模式,设计模式特指软件“设计”层次上的问题。还有其它非设计模式的模式,如架构模式。同时,算法不能算是一种
继续阅读 »
PS入门
1.好习惯
1.永远不破坏原始素材(复制图层ctrl+j)
2.图层管理(图层分组ctrl+g)
3.保存PSD文件
4.尽量不使用快捷键
2.图层的概念
ps中的所有操作均发生在图层上,将多个图层叠加可将每个图层上的图像叠加,上层覆盖下层内容生成一张新图。
魔法棒:通过算法将相近的颜色转换为选区,
图层蒙版:使用图层蒙版将不显示的部分(黑色区域)遮住
3.钢笔工具
继续阅读 »
随着xmake v2.0.1 版本的发布,这大半年的辛苦总算告一段落,这个版本我基本上重构整个项目的90%的代码,几乎算是重写了,但结果还算挺满意的。。
因为上个版本的架构设计的不是很好,不能很好进行扩展,也不支持插件模式,语法设计上也不严谨,容易出现各种隐患,这对于后期维护和发展来说,已经出现了不可逾越的瓶颈。。
每个项目到了一定阶段,都是要不断重构,重新构思整体架构,才能使得项目不断的向好的方向演进。。
(当然如果是公司项目就另当别论了,坑太多,历史负担较重,不是说要重构就能让你重构的。=。=)
回归正题,目前xmake基本上所有模块都是可扩展的:
插件扩展
工程模板扩展
平台架构扩展
action扩展
option选
继续阅读 »
这本书读了许久才读了一遍,不同于之前读到的一些方法性的书籍,该书有更多的细节,但其中又存在许多理论性的东西,要消化它们可不是很容易。读完一遍后又快速回顾了一遍,马上又会发现很多新的东西并有一些新的理解,甚至让我觉得写这篇文章有点太急了,不过我还是应该尝试收集一些有营养的东西,至少记录现在的想法,相信对之后的第二遍阅读会更有益处。
书名其实有点误导我,或者说它不仅仅是其字面意思那样简单,‘整洁’不是简单的清洁,其主旨在于一种设计上的精巧。书的开篇就引用了几位大牛对代码整洁的解释来描述其意义。从抽象的描述中说,整洁代表着优雅、愉悦、精巧、简单,具体来说我觉得有以下几点:
易于维护,依赖简单。
设计精巧,没有改进的余地。
高可读性,意
继续阅读 »
十多年来,我们一直使用 XMLHttpRequest(XHR)来发送异步请求,XHR 很实用,但并不是一个设计优良的 API,在设计上并不符合职责分离原则,输入、输出以及状态都杂糅在同一对象中,并用事件机制来跟踪状态变化。并且,基于事件的模型与最近流行的 Promise 和 generator 异步编程模型不太友好。
Fetch API 旨在修正上述缺陷,它提供了与 HTTP 语义相同的 JS 语法,简单来说,它引入了 fetch() 这个实用的方法来获取网络资源。
在 Fetch 规范中对 API 进行了定义,它结合 ServiceWorkers,尝试做到如下优化:
改善离线体验
保持可扩展性
写这篇文章时,Fetch AP
继续阅读 »
docker
docker 使用go语言开发,对进程进行封装隔离。
more
docker的三个基本概念
一、镜像(Image)
Docker中的文件系统(操作系统的完整root文件系统),提供容器运行时所需的程序,文件,资源,配置及配置参数(匿名卷,环境变量,用户),镜像不会包含任何动态数据,其中的内容在构建后不会发生任何的变化,Docker的镜像设计基于Union FS设计为分层存储的架构。镜像的构建一层一层前者是后者的基础,构建完成后不再发生变化。
二、容器(container)
容器是镜像的运行实体(实质为进程),容器运行时以镜像为基础层创建当前的容器存储层,容器存储层的生命周期与容器相同,保存于容器存储层
继续阅读 »
note of https://www.ichunqiu.com/course/56927
Hacking三步曲
理解系统(Understanding)
系统性的基础课程学习,深入理解计算机系统运作机制。
破坏系统(Breaking)
学习与创造漏洞挖掘与利用技巧
重构系统(Reconstruction)
设计与构建系统防护
基础课程学习
核心基础课程——计算机的工作原理
体系结构
CPU的设计与实现
机器指令与汇编语言
指令的解码、执行
内存管理
CMU 18-447 Introduction to Computer Architecture
https://www.ece.cmu.edu/~ece447/s15/dok
继续阅读 »