avatar
文章
197
标签
94
分类
0

首页
书单
歌单
关于
LeFer
搜索
首页
书单
歌单
关于
读《简约之美 软件设计之道》
发表于2017-07-30
书籍信息 中文书名: 简约之美:软件设计之道英文书名: Code Simplicity: The Science of Software Design作者: [美]Max Kanat-Alexander译者: 余晟 阅读感悟 软件是必然要变化的,变化是常态;有变化就需要维护,随着时间的推移,维护成本会远远超过初期开发的成本,占据成本的大头;因此,在软件开发中,最重要的是要降低维护成本;维护成本正比于系统的复杂程度,所以要降低维护成本,系统的设计就应当追求简单清晰。维护成本应包含实施成本 好程序员与差程序员的区别在于理解能力,差程序员不理解自己做的事情,优秀的程序员则相反。信不信由你,道理就是这么简单。 在设计决策中,实现成本通常并不是重要的因素,所以基本可以忽略。相比降低实现成本,降低维护成本更重要。 软件设计的三大误区 编写不必要的代码。总以为将来会用到,实际上只会带来困惑与BUG。 代码难以修改。首要追求简洁,不能简洁则保证一致。 过分追求通用。通用则带来复杂。 避免重复。理想情况下,任何系统里的任何信息,应当只存在一次。 需要避免的八件事 扩展软件的用途。软件应明确 ...
开启GZIP为网站加速
发表于2017-07-29
首先推荐百度统计-优化分析-网站速度诊断,这个用来分析站点的速度问题还蛮好的。chrome浏览器的插件yslow也是一个很好的诊断工具。启用新站点后,始终感觉速度不如意,于是在百度上一诊断,得分86分,建议我启用gzip。于是开始折腾,配置gzip,我使用的http服务器是nginx。具体步骤如下。 开启Gzip开启全局如果想开启全局可以在nginx.conf上配置。配置方式与在二级站点上的配置是一样的。我本人此次只想在二级站点上开启。所以这里就不操作了。 /etc/nginx/nginx.conf 开启二级站点cd /etc/nginx/conf.d # 转到站点的配置文件目录vim blog.conf # 修改对应的站点配置文件 在server{}里配置以下项目 gzip on; // 开启 gzipgzip_disable "msie6"; //禁用 ie6 的 gzip 选项,由于 ie6 的性能差,启用 gzip 容易导致页面假死gzip_vary on; //http 头部,意在对于不支持 gzip 压缩的浏览器不进行压缩.gzip_co ...
Spring Boot RESTful 在线API文档
发表于2017-07-29
使用Spring Boot 去开发一个RESTful API是一件简单的事情,而且Spring Boot结合Swagger后,使用注解就能简单的实现在线API文档,这样能实现修改代码和修改文档二合一,降低开发人员造成文档和接口的不一致的几率。以下为具体实现。 引入swagger的相关依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> ...
网站迁移结束
发表于2017-07-28
花了2天事件,搭建了hexo静态网站,然后把原本在wordpress里写的文章有选择的迁移到了hexo,po完这一篇就正式关闭我的wordpress服务,将www入口指向hexo。 原本使用wordpress的框架去写博客,需要打开网站后台去编辑文章,是一件很刻意的事。而我其实平时喜欢在个人电脑上用typora记录一些事情。为了将一些内容post到网上,还需要刻意去粘一遍到wordpress里去,这很不酷。wordpress也提供了桌面程序,但写完的东西直接就post上去了,我本地又没有留存。而且在服务端存在mysql里,我如果想查看,必须打开网站,如果哪一天我的服务器被黑了,是一件很麻烦的事。所以一直希望有一个解决的办法,直接写完就能提交到网站里,而且是文本样式保存的,而且是Markdown的。刚好就是hexo。 这次翻翻拣拣,不知不觉自己也写了这么多东西,虽然大部分都是学习笔记。但也成就满满。 继续加油吧!
Best Practices for Designing a Pragmatic RESTful API
发表于2017-07-28
Your data model has started to stabilize and you’re in a position to create a public API for your web app. You realize it’s hard to make significant changes to your API once it’s released and want to get as much right as possible up front. Now, the internet has no shortage on opinions on API design. But, since there’s no one widely adopted standard that works in all cases, you’re left with a bunch of choices: What formats should you accept? How should you authenticate? Should your API be version ...
CentOS 升级 Git 最新版
发表于2017-07-28
由于CentOS用yum安装的版本只有1.x,故需要手动编译安装。 首先,下载git安装包。 从github上下载一个最新版(撰写文章时的最新版为:2.5.0)。 cd /usr/local/srcwget https://github.com/git/git/archive/master.zipunzip master.zip 由于系统中已存在git,所以先备份现有git。 mv /usr/bin/git{,.bak} 编译安装 cd /usr/local/src/git-master make configure ./configure --prefix=/usr/local/ --with-curl --with-expat make make install 拷贝到原有Git所在位置 cp /usr/local/src/git-master/git /usr/bin 在编译过程中可能会遇到错误,主要原因是minimal版的centos没有相应的工具,可以手动安装一下。 yum -y install gcc automake aut ...
CentOS下用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
发表于2017-07-28
安装系统环境:CentOS 6.5 安装依赖yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel bzip2-libs 安装pyenvcurl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 配置环境变量官方提供方法: echo -e '\n#pyenv' >>~/.bashrcecho 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrcecho 'eval "$(pyenv init -)"' >> ~/.bashrcecho 'eval "$(pyenv virtualenv-init -)" ...
Python特殊语法:filter、map、reduce、lambda
发表于2017-07-28
Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回: reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和: >> def add(x,y): return x + y>> reduce(add, range(1, 11))55 (注:1+2+3+4+5+6+7+8+9+10)>> reduce(add, range(1, 11), 20)7 ...
SQL Server 2008 修改服务器名称
发表于2017-07-28
修改电脑的服务器名称,重启 使用以下命令,发现SQL Server里的服务器名称并未修改 select @@ServerName;select * from Sys.SysServers 使用以下命令,删除原本的服务器名称,增加新的服务器名称 sp_dropserver 'WIN-S7LNUHI3QJS' # old server namesp_addserver 'WIN-SERVER-1','LOCAL' # new server name 重启SQL Server,再次执行步骤二的查询,发现已修改成功
Scala入门之一:Scala例子,以及如何与Java交互
发表于2017-07-28
转载 本文为初学Scala的Java开发者提供了一个Scala例子(Hello world),并对Scala与Java交互的情况作了一些大致的介绍。 本文源自Michel Schinz和Philipp Haller所写的A Scala Tutorial for Java programmers,由Bearice成中文。下面先对Scala进行一个简单的介绍,提供一个简单的Scala例子,并描述一下Scala与Java交互的情况。 1 简介本文仅在对Scala语言和其编译器进行简要介绍。本文的目的读者是那些已经具有一定编程经验,而想尝试一下Scala语言的人们。要阅读本文,你应当具有基础的面向对象编程的概念,尤其是Java语言的。 2 第一个Scala例子作为学习Scala的第一步,我们将首先写一个标准的HelloWorld,这个虽然不是很有趣,但是它可以让你对Scala有一个最直观的认识而不需要太多关于这个语言的知识。我们的Hello world看起来像这样: object HelloWorld { def main(args: Array[String]) &# ...
1…151617…20
avatar
LeFer
日拱一卒,功不唐捐
文章
197
标签
94
分类
0
公告
不见五陵豪杰墓,无花无酒锄作田!
最新文章
全球智能危机(第二部分:一场来自未来的金融史思想实验)2026-02-26
全球智能危机(第一部分:Agentic AI的兴起)2026-02-25
技术组织重构——基于 Multi-Agent 的研发新范式2026-02-16
警惕!AI时代的马车误区2026-02-08
代码之外:AI浪潮下,开发者的“变”与“不变”2026-02-06
最新评论
正在加载中...
标签
spring boot starter spring cloud jib ocr 软件工程 cdh ibus spring security spring modulith sse vmware websocket jointjs vscode mysql docker 架构 gitbook 可信数据空间 postgresql gitlab 项目 机器学习 disruptor 干货 xfce DDD emby nodejs spring boot mdm webservice 数据仓库 nas drools ubuntu AI 常识 pdf his
网站资讯
文章数目 :
197
已运行时间 :
本站总字数 :
180.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2015 - 2026 By LeFer
沪ICP备2024075747号沪公网安备31011502401302号
搜索
数据库加载中