推荐您这样配置PHP

参照社区开发者最佳实践适用于”开发现代PHP“的环境配置指南
给一个做开发的朋友写的,他感觉挺有用于是扔到博客上咯。
请不要使用 XAMPP、PHPStudy这样的所谓的集成开发环境,虽然他很方便。错误的开发环境会造成很多对开发项目上线不利的情况,产生无法控制的差异… … 最终可能酿成严重的错误

简易的环境

本环境配置方法简单,适用于PHP的基础开发,不适用于生产环节项目直接使用

  • PHP
  • composer
  • Git

没有看错,真的只需这3个。

Read More

冬奥2017级2班英语复习资料

> w < 毕竟是看着照片整理的,可能有些地方打错,请务必核对老师黑板上面的原版,如有什么问题请尽快指出!请大家认真复习,祝大家期末考试成功🍻~

汉译英

  1. 你在那里可以学习打字。You can learn how to type there.
  2. 多锻炼有益健康。Doing more exercise is good for health.
  3. 我有几件事情要办。I have a couple of things to do.
  4. 我刚刚把我所有的钱都花光了。I have just spent all my money
  5. 那个小男孩恰好在睡觉。The boy is just sleeping.
  6. 这一课比那一课更难。This lesson is more difficult than that one.
  7. 她小时候受过很多苦。She suffered a lot in her childhood.
  8. 亨利要去巴黎。Henry is going to Paris
  9. 这本小说我还没读完。I haven't finished reading the novel yet.
  10. 我每天很早起床。I get up very early everyday.
  11. 史密斯先生在办公室吗?Is Mr.Smith in his office.
  12. 他们刚刚完成作业。They have just finished their homework.
  13. 你需要更开心些。You need to be happier.
  14. 这件大衣值得买。The coat is worth buying.
  15. 我发现与人交流很难。I find it difficult to talk with people.

    Read More

簡單的進行JS異步編程

簡單記錄開發中的異步問題,把這幾天開發中踩的坑全部敲出來!

為什麼使用異步?

JS是單線程的,她會以單線程的方式運行,但是我們需要同一時刻做多件事情,搶佔式多任務處理

JS單線程的性質其實沒有必要感覺我們被限制住了什麼的…實際上她避開了很多開發人員,為多線程編程中可能出現的更加棘手的問題。

異步的階段

從早期開始,JS的異步就有一套自己的執行方式,但隨著業務要求的提高,傳統的回調異步越發的麻煩所以異步編程的支持也分為幾個不同的階段。

回調(Callback)Promise(承諾)生成器(Generator),發展是這樣的,並不是說後者完全比前者好。

主要的應用場景

  • 網絡請求(Ajax)
  • 文件系統操作(FS讀寫)
  • 刻意的時間延遲功能(警告等…)

回調

一個簡單的回調…

Read More

高内聚与低耦合

内聚

即,自己管好自己的东西。当然,程序设计的不同层次,从方法、到对象/类再到整个功能、服务、架构都有内聚的概念来讲。自己的东西一定要管理好,提高自身的内聚性,最大限度的不要给其他人制造麻烦。不光如此从整个概念来审视我们自己,一个人本身是不是也应该这样子!

依赖&耦合(coupling)

a connection (like a clamp or vise) between two things so they move together

在面向对象编程中,对象自身是内聚的,保管好自身数据、完成自己的操作,对外界呈现自己的状态、行为。但是对象不可能包含全部事物、功能,所以对外开放是必要的,所以依赖别的对象或者被别的对象依赖成为必然。

Read More

OSX下清除多个APFS容器

小黑的OSX

OSX ”启动下转换助理“ 为创建Windows系统适应的卷 会同OSX原有的 APFS容器创建一个相同APFS容器,不是容器下新的宗卷。

起因

学弟小黑同学成功的在自己的MacBook安装了windows操作系统
在自己的机器上做了个双系统
删除win后发现被创建的win分区已经无法还原到OSX的分区

适用于新OSX,以APFS容器创建分区的系统

Read More

Go语言的类型系统

Golang是一种静态类型的编程语言

  • 编译器需要在编译时知晓程序里每个值的类型
  • 值的类型为编译器提供值的内存空间大小与类型

用户定义类型

  • type [类型名] struct 后跟大括号创建结构类型
  • var [变量名] [类型名] 初始化关键字后,使用结构类型初始化变量,并初始化其中每个字段为零值
  • 声明结构类型赋值给变量,可以用字面量方法有kv对应或只有v方法,要对应定义结构的顺序
  • 可以使用结构字面量作为一个字段的值
  • 可以基于已有类型创建新的类型,但是新创建的和基于原有的并不相同,存在差异
  • (编译器不对同类型的值做隐式转换)

    Read More