swift中的构造过程(Initialization)

http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter2/14_Initialization.html

本页包含内容:

构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务。

构造过程是通过定义构造器(Initializers)来实现的,这些构造器可以看做是用来创建特定类型实例的特殊方法。与 Objective-C 中的构造器不同,Swift 的构造器无需返回值,它们的主要任务是保证新实例在第一次使用前完成正确的初始化。

类实例也可以通过定义析构器(deinitializer)在类实例释放之前执行特定的清除工作。想了解更多关于析构器的内容,请参考析构过程Continue reading

vmware11下安装mac osx 10.10教程(原创)

推荐此方法:

一. 安装vmware 12 pro的破解补丁(unlocker207)

vmware 12 pro
unlocker207( 204版本在vm11处可以使用,在vm12下不管用,各版本下载http://www.insanelymac.com/forum/files/file/339-unlocker/ )

二. 下载 Yosemite Install(14F27)_10.10.5.cdr 镜像文件。安装方法同windows一样,设置为cd/dvd就可以了。默认vmware只显示iso文件,选择一下显示所有文件即可。

安装过程中会提示一下信息,和下面教程的错误和解决方法都一样。

===============================================

不在推荐使用以下这种方法,网络安装特别的慢,另外版本已经过时。推荐使用上面的方法安装!

在安装前请检查您的硬件配置是否支持,特别注意是”虚拟化”功能,有的主板虽然支持,但默认是关闭状态的,需要在bios里开启才可以。

vt_enable

所需软件:

1.mac 补丁 unlocker
2.mac os x 10.10.3

百度网盘 链接: http://pan.baidu.com/s/1kTKUMZP 密码: csgd

vmware11的安装这里就不再描述了!由于vmware默认下是无法识别mac系统的,所以这里需要打个mac补丁才行,解压unlocker204包运行win-install.cmd 文件,这样在创建系统的时候才会了现一个Mac OS X 选项。 Continue reading

PHP优化杂烩

讲 PHP 优化的文章往往都是教大家如何编写高效的代码,本文打算从另一个角度来讨论问题,教大家如何配置高效的环境,如此同样能够达到优化的目的。

pool

一个让人沮丧的消息是绝大多数 PHP 程序员都忽视了池的价值。这里所说的池可不是指数据库连接池之类的东西,而是指进程池,PHP 允许同时启动多个池,每个池使用不同的配置,各个池之间尊重彼此的主权领土完整,互不干涉内政。 Continue reading

sublime下安装ctags插件来实现代码跳转

本次操作是在sublime text 2下进行。

1、先到http://sublime.wbond.net/Package%20Control.sublime-package下载Package Control.sublime-package,然后打开Preferences->Browes Packages,显示当前目录是Packages,跳到上一级目录看到Installed Packages,就把Package Control.sublime-package放入Installed Packages.

测试安装成功了没:

在sublime下快捷键Ctrl+Shift+P,输入install,如果有显示出安装列表,则表明安装成功,则可以进行下一步。

2、在sublime下快捷键Ctrl+Shift+P,输入install,然后在安装列表下输入ctags插件,选择然后安装。

之后在win7下或者linux下安装ctags软件(ctags.exe),然后配置环境变量(或者不用),然后在打开的工程目录上运行

ctags -R -f .tags  生成  .tags文件

sublime_ctags

然后在sublime下就可以用ctrl+t ctrl+t来跳转,用ctrl+t ctrl+b来返回到原来位置。

生成.tags文件后,这用sublime打开项目以后,就可以用下面方法跳转到函数声明

ctrl+t   ctrl+t   //鼠标在函数出执行,跳到函数处  
  
ctrl+t   ctrl+b  //调回函数

当然用 ctrl+shift+鼠标左键 也可以跳到!

以上步骤参考http://alfred-long.iteye.com/blog/1668074

http://www.cnblogs.com/qq78292959/p/3811467.html

也可以使用liteide编辑器来实现此功能,参考:http://segmentfault.com/q/1010000002664962

golang中的sync.WaitGroup

Golang的sync的包有一个并发原语WaitGroup,在日常开发中比较的有用。

WaitGroup的用途:它能够一直等到所有的goroutine执行完成,在其期间会会阻塞主线程的执行,直到所有的goroutine执行完成。

这里要注意一下,在其中的多个goroutine 的执行结果是没有顺序的,调度器不能保证多个 goroutine 执行次序,且进程退出时不会等待它们结束。

WaitGroup总共有三个方法:Add(delta int), Done()Wait()。简单的说一下这三个方法的作用。

Continue reading

Golang语言的GOPATH与工作目录详解

这篇文章主要介绍了Go语言的GOPATH与工作目录详解,本文详细讲解了GOPATH设置、应用目录结构、编译应用等内容,需要的朋友可以参考下

GOPATH设置

go 命令依赖一个重要的环境变量:$GOPATH

(注:这个不是Go安装目录(GOROOT)。下面以笔者的工作目录为说明,请替换自己机器上的工作目录。)

在类似 Unix 环境大概这样设置:

[shell]export GOPATH=/home/apple/mygo[/shell]

为了方便,应该把新建以上文件夹,并且把以上一行加入到 .bashrc 或者 .zshrc 或者自己的 sh 的配置文件中。

Windows 设置如下,新建一个环境变量名称叫做GOPATH:

[shell]GOPATH=c:mygo[/shell]

GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下

以上 $GOPATH 目录约定有三个子目录:

1.src 存放源代码(比如:.go .c .h .s等)
2.pkg 编译后生成的文件(比如:.a)
3.bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)

以后我所有的例子都是以mygo作为我的gopath目录
Continue reading

访问php页面提示An Error Occurred的解决办法

今天帮一个朋友解决php页面出现的”An Error Occurred”的错误,返回http的502错误。这里第一反映就是php-fpm.conf配置问题。目前只有这一个网站的,肯定是php这一块出问题了,而php-fpm.conf文件是没有动过的。只有检查php-fpm和nginx.conf的配置了,基本上没有发现什么不当的现象。无意中发现一个nginx和php配置不一致的地方,那就是php-fpm.conf文件里配置的通讯方式为

<value name=”listen_address”>/tmp/php-cgi.sock</value>

而在nginx.conf里配置的是

[shell]fastcgi_pass  127.0.0.1:9000[/shell]

两者不一致,所以导致了502错误,这里将nginx.conf文件里的配置修改成

[shell]
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;[/shell]

重启nginx即可解决502错误。