review |

回顾 2019

新裤子 · 夏日终曲 2019 年的第一天从三亚开始,在 第一市场海鲜市场 买了海味,然后直接到旁边的 林姐香味海鲜 加工,迟到了超级好吃的香辣蟹。飞回北京就是滑雪团建,年后双双得到了最佳合作奖,感谢我们每周的火锅,让大家多了些感情。 – EOF – 年后买了烤箱烹饪技术再次升级,烤鸡翅、披萨、蛋挞甚至烤鱼,都已不在话下。受 shilei 推荐也喜欢玩德州扑克。看 B 站 UP 主自驾游,疯狂迷恋上了房车一段时间,还去看了一次房山的房车展(够远的),应该会结下不解之缘。 3 ...

Yifans_Z
Yifans_Z
2 min read
|

【Swifter - Swift 开发者必备 Tips】笔记

再读王巍的【Swifter - Swift 开发者必备 Tips】,看看有什么新收获。 柯里化(Currying)柯里化 是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术,这个词自己是第一次见到。 自己的理解就是:把接受多个参数的函数变换为,先接受一个参数,然后返回一个函数,这个函数再接受其他参数。 两个细节: 只有一个参数,并且这个参数是该函数的第一个参数。必须按照参数的定义顺序来调用柯里化函数。 ...

Yifans_Z
Yifans_Z
17 min read
|

L01 Web 开发实战入门

Laravel 教程 - Web 开发实战入门 基础信息Laravel 与 PHPRuby on Rails 有以下原则: 强调与注重敏捷开发; 约定高于配置(Convention over configuration); DRY(Don’t repeat yourself)不要重复自己,提倡代码重用; 重视「编码愉悦性」。 如何正确阅读本书随后你会有很多机会来学习它们。现在最重要的是保持『训练』的连贯性。 编程是技能,不是知识,技能只有在不断刻意练习下才会有进步。 ...

Yifans_Z
Yifans_Z
25 min read
|

【译】iOS 单元测试和 UI 测试入门教程

原文链接:iOS Unit Testing and UI Testing Tutorial - Ray Wenderlich 编写测试并不迷人 (glamorous),但是既然测试能让你闪闪发光 (sparkling) 的应用程序变成 (from turning into) 一堆乱七八糟的垃圾,那么说明测试是必要的。如果你正在阅读 iOS 单元测试和 UI 测试入门教程,那么你已经知道 应该 为代码和 UI 编写测试,但是你不知道如何在 Xcode 中进行测试。 也行 ...

Yifans_Z
Yifans_Z
24 min read
|

【Git 权威指南】读书笔记 - 协同模型

主要内容:【Git 协同模型】 经典 Git 协同模型集中式协同模型可以像集中式版本控制系统那样使用 Git,在一个大家都可以访问到的服务器上架设 Git 服务器,每个人从该服务器克隆代码,本地提交推送到服务器上。 金字塔式协同模型虽然理论上每个开发者的版本库都是平等的,但是会有一个公认的权威的版本库,这个版本库由一个或者多个核心开发者负责维护(具有推送的权限)。 开源社区逐渐发展出金字塔模型,而这也是必然之选。 Topgit 协同模型 笔者注:Topgit 是否已经过时 ...

Yifans_Z
Yifans_Z
15 min read
|

【Git 权威指南】读书笔记 - 和声

主要内容:【Git 协议与工作协同】、【冲突解决】、【Git 里程碑】、【Git 分支】、【远程版本库】、【补丁文件交互】 Git 协议与工作协同Git 支持的协议SSH、GIT、HTTP、HTTPS、FTP、FTPS、RSYNC 及前面已经看到的本地协议。 SSH 协议: ssh://[user@]example.com[:port]/path/to/repo.git/[user@]example.com:path/to/repo.git/ GIT 协议,最常用的只读协议 ...

Yifans_Z
Yifans_Z
23 min read
review |

回顾 2017

2017 关键词:Birds、离职、狼人杀、白洋淀、iOS、自如。 BirdsBirds 是自己编写时间最长的一个 Web 项目。项目接手、改版、重构、迭代、盈利,上半年每天工作都是面对它。 Birds 良好的表现与需求互相推动,这点很重要,假如有需求而项目没有成长,或项目成长没了需求,对工程来说都只能是纸上谈兵、无事可做。项目中的规范的重要性,无论是代码还是数据库,只要项目不是夭折终将显现,对于规范性我绝不会开倒车,做任何妥协,种种经历只说明:这里欠的东西总会还。如 ...

Yifans_Z
Yifans_Z
7 min read
|

iOS 招聘总结

自己也做了一次面试官。简历看到了很多,内容总结如下: 一些感受 一些基本的技能感觉不用写,不会吸引什么注意力。所以要精懂一些特别的技能,技术点。 一些 “与产品沟通” “安排工作”,我觉的也不用写,也没什么吸引力。 简历要体出自己擅长的地方,特别的地方,其他的一笔带过就可以。 简历上的字词的细节我比较在意,iOS & IOS,Xcode & XCode。 有 GitHub Blog 绝对的好评,但要有内容。 基础知识、业务能力、性格、气场。 技能基础 O ...

Yifans_Z
Yifans_Z
5 min read
|

Photoshop 编辑 GIF

录制 GIF推荐使用 LICEcap 小巧好用。 GIF 查看方法在 Mac 上双击 GIF 将是按帧查看一幅一幅的图片,按住 空格 可以动起来。也可以选择 GIF 图片直接点击空格预览。 GIF 编辑预览在 Mac 中可以直接使用 预览 对 GIF 进行删除帧的操作。但是发现再次保存的 GIF 只播放一次,不会循环播放。 Photoshop使用 Photoshop 打开 GIF,点击 窗口 -> 时间轴,可在时间轴中对图片进行编辑。文件 -> 导出 -> ...

Yifans_Z
Yifans_Z
2 min read
|

关于 GitHub README.md 中图片加载失败

遇到的问题在编写 GitHub 的 README.md 后,其中引用的网络图片无法正常显示,点击 alt 的文字提示:Content length exceeded。 分析根据 About anonymized image URLs 这篇文章:上传的图片 URL 将被修改,所以个人信息将不会被跟踪。GitHub 将使用 开源项目 Camo。Camo 将为每一个图片生成一个以 https://camo.githubusercontent.com/ 匿名代理 URL 同时隐藏 ...

Yifans_Z
Yifans_Z
2 min read
|

MacBook 使用小感

现在自己的开发主力机是:2015 版的 MacBook Pro。对于工程师来讲,MacBook 绝对是用来提高生产力的,不是装杯的。如果条件允许十分推荐,反正我是回不来了。 一些感受 购买型号选择:15 寸 i7 Pro 没的说,屏大看的很爽。 F1… 等键并有没有原来想象的那么重要,游览器刷新什么的都有代替的键。我感觉 F 系列的键默认为功能键挺好的。Filco 键盘开始吃灰。 续航时间是真的长,待机功耗很小,不用关机。扣上盖子装包带走,不拿充电线。 触控板真的好用。原 ...

Yifans_Z
Yifans_Z
2 min read
|

【Git 权威指南】读书笔记 - 独奏 - Part 3

主要内容:【Git 基本操作】 Git 基本操作先来合个影在 Git 里,“留影”用的命令叫做 tag,更加专业的术语叫做“里程碑”(打 tag,或打标签)。 git tag -m "Say bye-bye to all previous practice." old_practice 里程碑无非也是一个引用,通过记录提交 ID(或者创建 Tag 对象)来为当前版本库状态进行“留影”。 git rev-parse refs/tags/old_practi ...

Yifans_Z
Yifans_Z
13 min read
|

【Git 权威指南】读书笔记 - 独奏 - Part 1

主要内容:【Git 初始化】、【Git 暂存区】、【Git 对象】 Git 初始化设置一下 Git 的环境变量,这个设置是一次性的工作。即这些设置会在全局文件(用户主目录下的 ~/.gitconfig)或系统文件(/etc/gitconfig)中做永久的记录。 配置的用户名和邮件地址将在版本库提交时作为提交者的用户名和邮件地址。 git config --global user.name "Jiang Xin"git config --global use ...

Yifans_Z
Yifans_Z
46 min read
|

【Git 权威指南】读书笔记 - 初识 Git

Git 是一款分布式版本控制系统,有别于 CVS 和 SVN 等集中式版本控制系统,Git 可以让研发团队更加高效地协同工作、提高生产率。使用 Git,开发人员的工作不会因为频繁地遭遇提交冲突而中断,管理人员也无须为数据的备份而担心。经过 Linux 这样庞大的项目的考验之后,Git 被证明可以胜任任何规模的团队,即便这个团队的成员分布于世界各地。 Git 是开源社区奉献给每一个人的宝贝,用好它可以实现个人的知识积累、保护好自己的数据,而且还能与他人分享自己的成果。 版本控制 ...

Yifans_Z
Yifans_Z
9 min read
|

【摔跤吧,爸爸】随笔

周末看了《摔跤吧,爸爸》,也是第一次独自电影院看电影,试写一篇影评纪念下。 注意:严重剧透预警。 主角爸爸是印度全国摔跤冠军,一心想着为国家赢取一枚金牌。可自己没能实现梦想,把梦想转移给了自己还未出世的孩子。可事与愿违,想要男孩的主角爸爸的前三个孩子都是女孩,第四个还是女孩。主角爸爸近乎要放弃为国争取金牌的梦想时,却意外看的了大女儿、二女儿身上的摔跤天赋。 主角妈妈在得知主角爸爸准备将女儿们训练为拳击手时,道出了 “你不能将你的梦想施加在女儿们身上”,主角爸爸沉思片刻 “ ...

Yifans_Z
Yifans_Z
8 min read
|

区分 CGI FastCGI PHP-CGI PHP-FPM

更新 2023-03-20 提问 ChatGPT 3.5 CGI(Common Gateway Interface)是一种通用的 Web 服务器接口标准,它定义了 Web 服务器和应用程序之间进行通信的方式。CGI 程序在每次请求时都会启动一个新的进程,处理完请求后就会结束进程,因此效率较低。 FastCGI 是 CGI 的一种改进技术,它使用长连接的方式,使得多次请求可以在同一个进程中处理,从而提高了效率。 PHP-CGI 是 PHP 的 CGI 版本,它可以让 PHP ...

Yifans_Z
Yifans_Z
13 min read
|

Git pull rebase 和 merge no-ff 保持提交线图整洁

git log 中的一个清晰的提交线图是很方便进行 code review 和代码回退git pull --rebase 主要是为是将提交约线图平坦化,而 git merge --no-ff 则是刻意制造分叉 pull rebase perform a rebase after fetching 状况Git 作为分布式版本控制系统,所有修改操作都是基于本地的,在团队协作过程中,假设你和你的同伴在本地中分别有各自的新提交,而你的同伴先于你 push 了代码到远程分支上,所以你 ...

Yifans_Z
Yifans_Z
10 min read
|

Git 修改提交历史

在使用 Git 时,我们经常会遇到修改本地提交记录的情况。比如:修改最近一次提交记,还比如:将多次小的 commit 合并成一个大的 commit。 这种做发有利也有弊,利在:review 代码时,可以按功能看,可以省去 review 一些前期写的无效的代码;弊是:一次提交修改过多,如果有问题,不利于调试。 具体情况具体分析,是解决问题的金句。 修改最近一次提交记录修改提交说明如果只想更改最近一次的提交说明,只需输入: git commit --amend 然后你就会进入文 ...

Yifans_Z
Yifans_Z
21 min read
review |

回顾 2016

2016 肯定是很特别的一年。年初离开了老师的队伍,来北京找实习。年中和 318 告别,大学毕业了。年末换房学做饭,开始另种生活。对于 2017 更多了对自己的期待。 2016 是在保定的雾霾中开始。结束了大为,决定离开老师的队伍,来北京实习,这对我来说是一个不大不小的决定。老师带着,跟学长一起走到这里,这里有了很多宝贵的东西,有很多回忆,很多故事可以讲。选择离开,主要还是想看看在这之外的是什么样子。 朋友、老师、爸妈都为我的实习操过心,不过推荐的地方在各种奇怪的理由 ...

Yifans_Z
Yifans_Z
5 min read
|

Ubuntu 下使用 UFW 管理防火墙服务

UFW (Uncomplicated Firewall) 作为 iptables 的前端应用,给用户提供了简单的接口界面。使用着不需要去记非常复杂的 iptables 语法。UFW 也使用了 简单英语 作为它的参数。像 allow、deny、reset 就是他们当中的一部分。UFW 绝对是那些想要快速、简单的就建立自己的防火墙,而且还很安全的用户的最佳替代品之一。 检查系统上是否已经安装 UFWsudo dpkg --get-selections | grep ufw 安装 ...

Yifans_Z
Yifans_Z
7 min read
|

【Core Java】读书笔记 Part 2

本文总结的是书中的:第 5 章 继承 前几章的总结在:ZYF.IM-【Core Java】读书笔记 Part1 5 继承5.1 类、超类和子类1、有些人认为 super 与 this 引用是类似的概念,实际上,这样比较并不太恰当。这是因为 super 不是一个对象的引用,不能将 super 赋予另一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字。2、使用 super 或 this 调用构造器的语句必须时子类构造器的第一条语句。也就是说 super 和 this ...

Yifans_Z
Yifans_Z
16 min read
|

MySQL LIMIT 查询优化

最近常在 SQL 中使用到 LIMIT ? ?,在执行 LIMIT 0, 1000 与 LIMIT 100000, 1000 时,查询速度明显有很大的区别,而且随着 LIMIT 的偏移量的增加,查询速度越来越慢。是否有办法对 SQL 中 LIMIT 查询进行优化呢? LIMIT 速度慢的原因LIMIT 100000, 1000 的意思扫描满足条件的 101000 行,扔掉前面的 100000 行,返回最后的 1000 行,问题就在这里。 LIMIT 优化思路1、尽可能从索 ...

Yifans_Z
Yifans_Z
6 min read
|

Mybatis Generator 使用配置

MyBatis Generator (MBG) 是一个 Mybatis 的代码生成器。MBG 可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。MBG 的解决了对数据库操作有最大影响的一些简单的 CRUD(插入、查询、更新、删除)操作。 Mybatis Generator 文档 Mybatis Generator 官方原版 Mybatis Generator 中文版 通过 Maven 运行 MBGMy ...

Yifans_Z
Yifans_Z
84 min read
|

SpringMVC 入门使用

本文主要参考了 imooc-SpringMVC 起步 视频教程和 SpringMVC 从入门到精通 系列 - HansonQ ,还有自己的一些总结。 主要内容:MVC 简介、前端控制器模式、SpringMVC 基本概念、SpringMVC 配置、SpringMVC 中的注解、SpringMVC 数据绑定。 MVC 简介1、MVC 是一种架构模式 程序分层,分工合作,既相互独立,又协同工作,分为三层:模型层、视图层和控制层 2、MVC 是一种思考方式 View:视图层,为 ...

Yifans_Z
Yifans_Z
58 min read
|

刚刚毕业的两个月小结

走出校园已经两个月了,因为之前的暑期也没怎么在家待过,大一在中康、大二在腾骏、大三在大为,大四毕业也就是现在,所以也没有什么特别的感觉。可以说,这两个月也做了些事情,学了些东西的。 从学校毕业,最直接的影响就是自己更加专注于计算机知识,不用再为学业担心。确定了先走技术的道路,也让自己不那么迷茫做什么。工作规律,自己开始读读书,才觉的读书是件有意思的事。也逼着自己常常写点东西,主要是觉的:写东西的时候自己会主动的思考,文笔练着练着也就能进步吧。 (一) DMV 是毕业后自己 ...

Yifans_Z
Yifans_Z
8 min read
|

【此生为完成】随笔

我们要用多大的代价,才能认清活着的意义?于娟,这个风华正茂的女子,拥有留洋经历和博士学位的复旦大学青年教师,在与晚期癌症抗争一年又四个月后,终于撒手人寰。她带走的家人的思念和不舍,给我们留下坚强的力量。 《此生未完成》这本书是上周末聚会时 Zhen 提到的,上周京东买书就带上了。书里前半探讨作者在生死临界时对生活、工作、名利、家人、朋友的一些看法和思考。这对于刚刚毕业的我来说,确实有些是无法真切体会到的,毕竟经历少。但是在书的字里行间中,仍然可以看到一个(不知道用什么词) ...

Yifans_Z
Yifans_Z
9 min read
|

【蛤蟆的油】随笔

日本民间流传着这样一个故事:在深山里,有一种特别的蛤蟆,它和同类相比不仅外表更丑,而且还多长了几条腿。人们转到它后,将其放在镜前或者玻璃箱内,蛤蟆一看到自己丑陋不堪的真面目,不禁吓出一身油。这种油,也是民间用来治疗烧伤烫伤的珍贵药材。 第一次写人文类书籍的笔记。 故事是从黑泽明一岁多光着身子洗澡开始回忆的,然后按时间,一个个小故事讲述自己。 (一) 二年级是他得到了“糖酥”这个绰号,因为有人揪他的头发,往他西装上抹鼻涕,让他哭了好几次。 想到了自己大概三四年级的一件事:一 ...

Yifans_Z
Yifans_Z
19 min read
|

IMOOC 与MySQL的零距离接触

涵盖全部 MySQL 数据库的基础,MySQL 数据库的基础知识、数据表的常用操作及各种约束的使用,以及综合的运用各种命令实现记录进行 CURD 等操作。 MySQL 安装与配置 数据类型 流程控制与运算符 DDL、DCL、DQL、DML 常用函数 表类型(存储引擎) 图形化工具 修改 MySQL 提示符MySQL 客户端的默认提示符是 mysql>,基本上没什么实际作用。其实可以修改这个提示符,让它显示一些有用的信息,例如当前所在的数据库等。修改方法有四种,其 ...

Yifans_Z
Yifans_Z
23 min read
|

Linux SSH 密钥登陆免密码

最近有需求使用 SSH 进行通信,而且要需免密码,总结了 SSH 密钥登陆免密码的方法。 快速配置 本机 ip:192.168.1.1 服务器 ip:192.168.1.2 要实现本机免密码登录服务器,执行如下命令: ssh-copy-id username@192.168.1.2 如果命令成功,则说明配置成功。如果执行失败,则需要参考下面的步骤进行配置。 本地配置步骤客户端生成公钥、私钥ssh-keygen -t rsa -P '' -t 表示 ...

Yifans_Z
Yifans_Z
10 min read
|

写一些人文的日志

还是越来越觉的思想重要。每周给自己博客的计划是写三篇,稍稍改动下:其中一篇要是关于思想上的。 周末的时候和北京的朋友们:龙、梦、思,小聚了下。问起毕业一个月感觉有啥变化,都说没啥。是,刚刚才一个月。可我心里却有些小慌张,总想搞个大新闻,让自己不那么平凡。是眼高手低吗? 现在每天都会跑跑步,已经坚持了 6 天了也习惯了,挺赞的。也总是去了解新鲜的东西技术,并且尝试运用它们,才有点原来学长们不喜欢用用过的东西做事情的劲。关于英语的学习,现在找到一个法:阅读英文的技术教程或者技 ...

Yifans_Z
Yifans_Z
6 min read
|

GitHub Webhook 自动部署 Hexo

在 GitHub Pages 不被百度收录解决方案 中,思路二是通过 Dnspod 的智能 DNS 服务。简而言之就是搭建一个 Server,做一个 Blog 的镜像站,专为百度收录使用。 但是每次将新建的博客文章 PUSH 到 GitHub 后,还要再登陆 Server PULL 一下,简直是太蠢了。那有什么解决办法吗?答:GitHub Webhook。 WebhookWebhook,也就是人们常说的钩子,是一个很有用的工具。你可以通过定制 Webhook 来监测你在 ...

Yifans_Z
Yifans_Z
17 min read
|

GitHub Pages 不被百度收录解决方案

2019-12-02 更新:现在我的 Blog 还是用的 GitHub Pages,反正没有备案的域名不会被百度收录。 2017-04-22 更新:现在我的 Blog 使用的是 UFOVPS 直接部署的。 在 使用 Hexo 和 Github 搭建个人独立博客 几天后,发现百度并不对博客进行收录。 在天朝使用百度搜索毕竟多数,使用百度站长工具-抓取诊断,在百度 Spider 抓取结果返回 HTTP 头:HTTP/1.1 403 Forbidden,原来是 GitH ...

Yifans_Z
Yifans_Z
8 min read
|

Eclipse Maven Spring SpringMVC Mybatis 整合

新项目自己撘框架,想着用点新的。看慕课网 Java 高并发秒杀 API 的系列课程时很受益。所以想着仿着来使用:Mavan-Spring-SpringMVC-Mybatis 的架构。框架整合的代码我已上传到我的 Github:maven-mybatis-spring-springmvc。 本示例是在:Ubuntu15 上实现的;Windows 上安装 Maven 将不太相同。 Maven Install 2016-09-10 更新:较新版 Eclipse 都有集成 Maven ...

Yifans_Z
Yifans_Z
47 min read
|

使用 GitHub 和 Hexo 搭建个人独立博客

Wordpress 这类博客系统功能强大,可对与我只想划拉的写点东西的人,感觉大材小用了。而且 Wordpress 需要部署,网站的服务器也会带来问题,国内的服务器首先需要备案,费用不低,国外服务器访问速度受影响。 近来接触到一种新的博客系统 Hexo,它的不同地方就是将:在上线编写博客和页面渲染的过程在线下完成。 在本地编写博文的 Markdown 文件,使用 Hexo 将博客网站的所有前台 HTML 等全部生成,让后将生成的文件上传的服务器就行了。 那么原来 wp 中的评 ...

Yifans_Z
Yifans_Z
9 min read
|

Java final 修饰符

final 修饰符final 修饰符表示不可变。类似 C 中的 constant。用于修饰变量表示不可变的变量。用于修饰方法表示不可被重写。用于修饰类表示不可被继承。 final 的成员变量成员变量随着类或者实例的初始化而初始化。在类初始化时,静态变量就会被分配内存并初始化。对于实例变量,系统会在实例初始化的时候初始化这些变量。 由于成员变量会被系统隐式的初始化。如果程序员不显式的初始化它们,那他们会变成 0,false,null 这样的值。失去了意义。 所以 final 修 ...

Yifans_Z
Yifans_Z
21 min read
|

【Core Java】读书笔记

自己是第一次把一本厚厚的的技术类书读一遍。不过 7、8、9、10 章讲的是关于图形的就是翻了翻,没怎么看。第 4 章 对象与类,里面有很多非常基础,可以补充一些知识细节。第 14 章 多线程,是自己最陌生的,慕课网上有节课 深入浅出 Java 多线程 讲到的例子就是书上例子的变形,可以对照理解。第二遍阅读做做笔记。 本文总结的是书中的:第 3 章 Java 的基本程序设计结构、第 4 章 对象与类。 3 Java 的基础程序设计结构3.3 数据类型 Java 是一种强类型 ...

Yifans_Z
Yifans_Z
22 min read
|

【Core Java】对象与类-方法参数传递

提问:Java 对象采用的是值传递还是引用传递? 有些程序员认为 Java 对象采用的是引用调用,实际上,这种理解是不对的。下面给出一个反例来详细的阐述一下这一问题。 首先,编写一个交换两个雇员对象的方法: public static void swap(Employee x, Employee y){ Employee temp = x; x = y; y = temp;} 如果 Java 程序时引用调用,那么这个方法就应该能都实现交换 ...

Yifans_Z
Yifans_Z
5 min read
|

试着写东西

现在是大四下从学校出来实习。在面试一家公司时,面试官看到我的邮箱(168#yifans.com)是自己的域名后说: 问:“有自己的网站吗?”“没有。”问:“域名都买了不自己搭个网站?”“……” 其实这也不是自己要搭博客的根本原因。 在大学里,学了些做了些东西,可思考的不多。现在越发觉的一个人的强大在于思想。看书写些东西我想是提高一个人思想的方法吧。文字写下来了也方便交流。 出来了换了一个环境,遇到新的人,新的事,可以换个角度看人看事。原来我理解的一些技术博客,就是解决 ...

Yifans_Z
Yifans_Z
3 min read