蘭陵N梓記

一指流沙,程序年华


  • 首页

  • 归档

  • 关于

  • 搜索
close

Grub引导Win10

时间: 2016-03-13   |   分类: 笔记     |   阅读: 824 字 ~2分钟

个人有两台笔记本电脑,一台Sony安装Win10,平时给岳父上上网,自己使用比较少;另一台是MBA,自己在捣腾点代码,写点东西。今天心血来潮,想体验一个KDE的plasma 5,于是又来折腾Sony安装双系统。由于在使用MBA之前,也在Sony上安装过Archlinux,不过后来安装Win10,又把Archlinux删除了。这次的双系统,Linux还是选择Archlinux。

安装Archlinux按照Wiki一路下来很顺利,最后安装plasma,使用了一下,感觉也不够如此,可能是使用Mac OSX时间长了的原因。后面发现想回到Win10,发现Grub默认没有生成Win10的引导菜单。

阅读全文 »

软件设计原则

时间: 2016-03-06   |   分类: 技术     |   阅读: 3047 字 ~7分钟

软件也像人一样,具有生命力,从出生到死亡,会经历多种变化。软件架构设计也不是一蹴而就的,是不断地演进发展。但为了能较好的发展,在软件设计时需要考虑一些原则。

清晰原则:使用简洁接口,简单部件组合

  • 编程的本质就是要控制复杂度,后期维护会占用大部分的时间。
  • 降低整体复杂度,用清晰的接口把若干简单模块组合成一个复杂的系统。
  • 对外隐藏细节,“不要与陌生人说话”。
  • 多数问题局限天一个局部,不要影响到全局。

小结:本质是分而治之,复杂问题简单化,抽象框架,有序组全。

阅读全文 »

使用tmux

时间: 2016-02-21   |   分类: 笔记     |   阅读: 1198 字 ~3分钟

什么是tmux

tmux是一个支持多会话独立运行的优秀的终端复用软件。它类似GNU Screen,自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。

tmux的使用场景

Mac自带的Iterm2很好用啊。既支持多标签,也支持窗体内部Panel的分割,为什么还要用tmux?

  • 与VIM配合使用,打造出更高效、更优雅的终端工具。尤其是在当前大屏幕显示器下,多标签和分割窗体,无缝跳转。既可使用vim来写代码,也可使用tmux来查询代码编译与支行结果。
  • 提供了一个窗体组随时存储和恢复的功能。调试程序,开了一堆窗口。出去吃了个饭,发现SSH超时了,如果使用tmux就attach就能找回原来打开的那些窗口。
阅读全文 »

软件架构设计

时间: 2016-02-15   |   分类: 笔记     |   阅读: 1936 字 ~4分钟

什么是软件架构设计

依稀记得公司的软件架构培训材料中说到软件架构=组件+交互。最近读温昱的《软件架构设计》才知道这只是其中一大阵营的观点。而软件架构在定义上分为“组成派”和“决策派”两大阵营。“组成派”认为软件架构是将系统描述成计算组件及组件之间的交互;而“决策派”认为软件架构包含了一系列的决策。事实上,从我司实际操作来看,两种观点并不是互斥的,而是相辅相成。两种观点只是站在不同的角度来看待软件架构。架构师在分割组件模块时,选择备选方案时,也是会不得不去作出各种决策,架构没有最完美的,只有在特定场景需求下最合适的。

阅读全文 »

软件开发知行合一

时间: 2016-01-31   |   分类: 感想     |   阅读: 1142 字 ~3分钟

最近在走读团队的代码,有时实在是看不下去。不是因为他们的代码编写有很多Bugs,而是没有设计实现太复杂了。当面对众多的需求需要快速实现,没有几个人会去思考代码怎么写结构才更合理,而是在不断去搬砖垒需求。当我去咨询他们为什么要这样实现时,每个人能只能说出其一,不知其二。即使自己写的代码,也不知道当初为什么这么实现。

同时,我们团队中不乏有各种兴趣小组。例如学习新的技术框架,交流设计模式,讨论重构技巧、性能优化经验。而实际在操作层面上,代码却正如前面所讲,有时真的不堪入目。正好这近在看王阳明传,突然想到我们没有知行合一啊。

阅读全文 »

重构已死

时间: 2016-01-23   |   分类: 技术   感想     |   阅读: 1489 字 ~3分钟

上周在食堂吃饭,遇到同事聊起最近的系统重构,她说这一批的新员工不如13年的一批,就一个看似简单的问题也是折腾很久,重构的周期越拉越长。我作为这次的重构的特性SE,可以说也是硬着头皮上。我是越来越反感重构,尤其是涉及到多个模块的重构。在新年的聚餐上,我说我给你挖了坑,你来填坑,让我感到非常惭愧的,即又不得做这些事。

在现阶段项目交付变得越来越难,一方面我们面对众多的需求,做还是不做并不是你能轻易决定的;而另一方面我们又想从架构上解决可以快速满足需求。但本质的是这几个月内,人的技能与意识没有根本性的变化。在大家没有主人翁的精神下,说来说去也是为了需求在垒代码。即使你想从代码结构上重新设计,让系统更松的耦合性,更好的扩展性。受于项目进度冲击,以及代码实现者的被动,最终也会变得让你不想回头多看一眼。

阅读全文 »

Taipei-Torrent源码分析

时间: 2016-01-17   |   分类: 技术     |   阅读: 5424 字 ~11分钟

提到P2P,总会少不了BitTorrent。BitTorrent是一种P2P协议。BitTorrent协议是由程序员Bram Cohen在2001年四月份设计的,最终版本在2008年确定。

BitTorrent协议简介

一个BitTorrent的文件在网络传输过程,由以下几个部分组成:

  • WEB服务器
  • 文件元信息(metainfo)
  • BitTorrent Tracker
  • 原始资源发布者
  • 目的端用户浏览器
  • 目的端用户下载者
阅读全文 »

软件分发加速

时间: 2016-01-16   |   分类: 技术     |   阅读: 2112 字 ~5分钟

balance

背景

在云环境下,服务器(物理机)或虚拟机越来越多,存在同一个应用软件需要大规模地部署场景。传统的方式下是搭建一个软件仓库,由物理机或虚拟机节点直接从软件仓库下载。如果采用sftp或http协议,则只能做到从一个中心软件仓库分发软件包给其它的节点,若给上百台的节点同时分发同一软件包,则存在受带宽、负载限制等因素,导致分发的速度就会比较慢。

阅读全文 »
11 12 13 14 15 16 17 18 19
兰陵子

兰陵子

Programmer & Architect

164 日志
4 分类
57 标签
RSS 订阅
GitHub 知乎
© 2009 - 2022 蘭陵N梓記
Powered by - Hugo v0.101.0
Theme by - NexT
0%