UML类图与类的关系详解

在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实例理解这些关系。

UML工具选择

之前有收集一个导图工具processon,感觉做导图不错,还有社区分享,但是不适合做类的UML图吧,参考了
UML相关工具一览(截止2017年3月),Astah有哪些值得推荐的 Mac 下的 UML 工具?,感觉 Astah 网站教程不错,工具演示视频一下让我心动了,我觉得我找的就是这种工具。

阅读更多
建站日志

博客-建站日志

变更记录

序号 | 录入时间 | 备注
— | — | — | —
1 | 2017-05-03 | 新建文章
2 | 2018-02-28 | 整理博客问题,添加问题8
3 | 2019-01-26 | 更换博客图床,add HTTPS认证
4 | 2019-01-27 | 更换DNS解析到Cloudflare
5 | 2019-07-20 | 恢复本地搜索

TODO

  • 整理,优化文章level2

  • 文章底部添加推荐和最新评论

  • 推广-SEO优化

  • CDN解析加速

  • 添加文章版权

阅读更多
Linux命令学习

Linux命令学习

时间 备注
2017-05-01 start
2018-04-30 添加文件重命名
2018-06-20 整理 & 添加补充grep命令
2018-07-05 整理 & 添加powerline

记录小白学习Linux的过程。

zsh配合iterm2效果.png

常用命令

man命令

常用工具命令 man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
语法 man(选项)(参数)
-a:在所有的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信息;
-P:指定内容时使用分页程序;
-M:指定man手册搜索的路径。
来自: man命令_Linux man 命令用法详解

  • 不区分大小写智能提示。我是不喜欢大小写区分的那种人,所以用了 zsh 之后,经常按 Tab 进行提示。
    此外按下 tab 键显示出所有待选项后,再按一次 tab 键,即进入选择模式,进入选择模式后,按 tab 切向下一个选项,按 shift + tab 键切向上一个选项,ctrl+f/b/n/p 可以向前后左右切换。
阅读更多
关注眼睛健康——《养眼就是养精神》读书笔记

今野式视力恢复训练法

近视是无法忽视的眼科第一疾病

90%以上的近视与遗传五官

上海现代人眼睛的罪魁祸首: 蓝光

行动!把锻炼拓展到眼睛


TableView系列--优化

优化UITabelView

内建方法

  1. 首先是重用cell/header/footer的单个实例,即便是我们需要显示多个。这是优化UIScrollView(UITableView的父类)最明显的方式,UIScrollView是由苹果的工程师提供的。为了正确的使用它,你应该只有cell/header/footer类,一次性初始化它们,并返回给UITableView。

但重要的事情是:在UITableView的dataSource中实现的tableView:cellForRowAtIndexPath:方法,需要为每个cell调用一次,它应该快速执行。所以你需要尽可能快地返回重用cell实例。

不要在这里去执行数据绑定,因为目前在屏幕上还没有cell。为了执行数据绑定,可以在UITableView的delegate方法tableView:willDisplayCell:forRowAtIndexPath:中进行。这个方法在显示cell之前会被调用。

但是UITableView的问题在哪?正如所解释的一样,UITableView不会同时维护所有cell的实例。相反,它只需要维护显示给用户的那些cell。

那么,UITableView是如何知道它的contentSize呢?它是通过计算所以cell的高度之和来计算contentSize的值。

UITableView的delegate方法tableView:heightForRowAtIndexPath:会为每个cell调用一次,所以你应该非常快地返回高度值。

很多人会犯一个错误,他们会在布局初始化cell实例并绑定数据后去获取它们的高度。如果你想优化滑动的性能,就不应该以这种方式来计算cell的高度,因为这事难以置信的低效,iOS设备标准的60 FPS将会降低到15-20 FPS,滑动会变得很慢。

阅读更多
Hybrid Developing

在Hybrid开发模式中,是将Native和Html5的优势混合起来,然而在同一环境中可以顺畅无缝的跑起来,还待解决。

Hybrid App

讲述 Hybrid App ,要先了解 Native AppWeb App 的定义。 Native App 是指针对不同的手机操作系统要采用不同的语言和框架进行开发,例如Java(Android), Objective-C(iOS)等; Web App 即是 HTML5 APP 框架开发模式,使用HTML5,CSS3以及JavaScript以及服务器端语言来完成开发, Web App 具有跨平台的优势。根据定义显而易见得出两种开发模式的优劣势, Native App 可以利用系统的所有特性,因此做出杰出的性能,然而每次功能升级都必须重新打包、审核再上架,平均浪费近两周的时间。而反观 Web App 就没有这样的问题,其缺点在于Web语言无法访问很多系统特性,性能不高。

Native App

阅读更多
习惯伴随终生

fair enough,这世界上本来就只有那一小部分人才能享受世界上最精彩的人生,如果你做不到,无可厚非,并没有什么关系。当然你在选择享受最精彩的人生同时也要承受本应有的孤独与坚持~

一些让生活变得简洁高效的 ^ ^

直接干货(小习惯+小冷门):习惯一旦养成,受益终生

今天不想跑,所以才去跑,这才是长距离跑者的思维方式。

阅读更多
ToDo

Plan

制定详细的计划任务目标

  1. 工作计划

  2. 学习计划

  3. 健身计划

  4. 交友计划

数据——采集、整理、分析、总结、完善

  1. 采集数据(Working Time、BodyBuild Time、Body Data、)

  2. 整理记录,使用Excel表格,MindNode等整理,并分析跟踪。

  3. 根据报表,分析情况,解决完善问题。

阅读更多
Xcode帮助文档

2017-03-31 iOS_Docs

变更记录

序号 | 录入时间 | 备注
— | — | — | —
1 | 2017-03-31 | 新建文章
2 | 2018-02-28 | 更新引言

TODO

  • 更新Xib和AutoLayout

引言

对于iOS开发中,Xcode是我们天天打交道使用的官方开发工具,经过许多个版本的迭代,Xcode已经越来越好用,功能越来越强大,开发者虽然经常使用,但是不一定清楚Xcode的一切奇赢技巧。本篇将介绍从常用快捷键、debug方法以及常见问题等来全面介绍Xcode

目录

[Build settings reference](#Build settings reference)
[Scheme Menu](#Scheme Menu)
添加文件
搜索
Signing
Distribution发布App
Debug
[Code Test](#Code Test)
附录
参考

阅读更多
搭建博客-给Hexo换皮肤

变更记录

序号 录入时间 备注
9 2023-03-28 完善SSH Key配置说明
8 2022-07-16 优化MarkDown格式
7 2019-07-07 优化hexo搜索和参考ref links.
6 2019-02-14 基于gollum的wiki搭建
5 2019-01-27 使用Cloudflare Free SSL解析
4 2019-01-26 完善博客图床url失效问题
3 2018-11-09 完善SSH Key配置
2 2018-02-28 整理博客配置问题,添加问题8
1 2017-03-05 新建文章

引言

一直看到大神们在用 Hexo 搭建博客主题,看起来不错的样纸ヾ(o◕∀◕)ノ,再看看自己的博客╮(╯_╰)╭, 肿么总感觉气质上差的不是一点半点呢,对于爱装X的我来说这能忍?( ̄ェ ̄;)这事一直在我心里”酝酿”着,只由于平时实在太忙(lan).
直到这周末,一位童鞋想让我帮忙搭个博客,让俺这懒癌患者都不好推脱,顺便换一下主题吧。本以为熟悉后分分钟的事,然而,对 GitSSH 还不很熟悉的我,为了换掉原来的配置的 SSH 账号,搞到凌晨3点,才把博客部署上去, 搞到后面都快睡着了(¯﹃¯),期间蛋疼不断,没有深入熟悉的事不敢再说简单<(_ _)>,在此记录一笔。

目录

“博客搭建史”
手残的我╮(╯▽╰)╭
填坑 SSH
绑定域名
进阶配置
配置问题
总结
参考

阅读更多