在安装好redis之后,运行src/redis-server命令之后,redis是跑在前台运行的,Ctrl+C之后redis会将内存中的数据保存到硬盘并退出,在本地测试还好,那就多开一个terminal就行了,可是当在服务器上的时候,难道还一直开着一个terminal么?所以我就在思考如何把redis在后台运行,当然这里肯定是指redis server了。于是乎我发现了这篇文章:

Redis的三种启动方式

文章中的第一种方式,即在启动命令后加入’&’的方法并不管用,而我又嫌麻烦并不想去修改配置文件,但我注意到了redis的配置文件也是标准的.conf文件,那么就说明这里可以直接用’–‘语法来在启动的时候来定义参数的值。

所以只要简单的使用如下方法即可令redis在后台启动:

src/redis-server –daemonize yes

可以看到这个参数就是上文的作者给出的第二种方式中需要修改配置文件的那个参数,而相比作者给的方式,我自认为是我的方法是要优雅许多的。

文章很短,所以这里多说一点,就来谈谈程序员的优雅吧。

首先我认为懒和怕麻烦才是程序员进步的第一大动力。

这一个原因为程序员们贡献了无数的语法糖和广为猿知的复用思想。

为什么会有语法糖?一个程序员之所以能够运用甚至写出一个优雅的语法糖,首先他需要对当前的语言有足够的了解,就好比同样的判断赋值有人会去写if else而有人会写三元运算,这两者在编译器识别的层面上来讲没有任何区别,但在我看来明显是三元运算更优雅。

复用就更不用多说了,每个地方写一遍这种做法的愚蠢程度都不用别人来指出,相信程序员自己都会写着写着就会觉得麻烦而开始他的第一次复用之旅。当然如何在大量复用的情况下减少互相之间的依赖,这又是一门学问。盲目的大量复用也许会导致包之间的依赖过深而最终牵一发而动全身,所以复用虽然简单,但想要用好了也同样是需要对语言的了解掌握程度的。

多说了一点程序员的优雅,其实并不是鼓励大家去变懒去怕麻烦,而是要学会自己寻找到更好的道路。

环境:mac版本10.12.3,MySQL旧版本5.7.10

很久之前就是在搭这个blog的时候,在本机安装了MySQL,为了本地测试下,之后就再没有动过。如今转向后端开发,又开始接触MySQL,结果就出了问题,旧版本的MySQL卸载不干净,以至于不论用什么方法装上的新版本MySQL中用户密码版本都不会变,百度了很多办法也无法解决后,最终还是转投了Google(这里倒并不是黑百度,因为最终的解决办法和百度到的很接近,只不过少了两步,估计是搬运的人没搬齐全吧)。

以下是解决方法,一定严格的每一步都执行下去,同时我把我认为的点注释出来:

  • ps ax | grep mysql    //获取mysql的进程,开头的数字就是进程的pid
  • stop and kill any MySQL processes //可以直接kill -9 pid,但是我用上一条查出来的是mysqld的一个进程,kill的时候提示我没有权限,在活动监视器里也无法强制退出,用了如下来自stackoverflow的解决办法:sudo mysqld stop  一定注意关掉mysql相关进程是必须的,我这里查出来是一条,也可能会有不止一条,一定全部关闭
  • brew remove mysql // brew开头这两点是使用homebrew安装的MySQL的选择,如果没有则不用
  • brew cleanup
  • sudo rm /usr/local/mysql // rm命令就是删除命令了,搭配起来删除所有的MySQL相关的文件,会有几条提示没找到相关文件,也不用担心
  • sudo rm rf /usr/local/var/mysql
  • sudo rm rf /usr/local/mysql*
  • sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • sudo rm rf /Library/StartupItems/MySQLCOM
  • sudo rm rf /Library/PreferencePanes/My*
  • launchctl unload w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • vim /etc/hostconfig and remove the line MYSQLCOM=-YES– //这个文件我这里也没有,注意and开始后面是教你如何做的,不要一起复制进去
  • rm rf ~/Library/PreferencePanes/My*
  • sudo rm rf /Library/Receipts/mysql*
  • sudo rm rf /Library/Receipts/MySQL*
  • sudo rm rf /private/var/db/receipts/*mysql*
  • restart your computer just to ensure any MySQL processes are killed // 重启也很重要,都删完之后重启,继续运行第一条看还有没有,不过我这里有一个干扰项,我仍然查到了一条mysql进程,不过并没有运行,但是在活动监视器中搜索已经没有了MySQL进程,这时候就可以重新安装了,大功告成。
  • try to run mysql, it shouldn’t work

至于如何安装MySQL,可以使用homebrew,或者直接MySQL的官网下载,我的新版本即是在官网下载的,其实我总觉得官网下载的installer稳妥点,会配置的稍微好点,当然也可能是心理作用。

参考文献:

删除MySQL:

Uninstall all those broken versions of MySQL

How to stop mysqld – stackoverflow

安装MySQL:

官网:MySQL Website 推荐dmg的版本

At the first time, I want to make a game for each of the chatter to solve morse code puzzles. But for the time limits I made this little app first. And I promise that my original idea will come out very soon, please look forward to it.

For any suggestions or problems, Please leave a comment under this article or send an email to my mailbox: flamelswift@gmail.com

I’ll reply you or solve the problem as quick as I can.

And here are some captures of my app.

Simulator Screen Shot 2017年3月19日 下午8.19.16 Simulator Screen Shot 2017年3月19日 下午8.21.32 Simulator Screen Shot 2017年3月19日 下午8.22.09

 

如果有问题意见或建议请在本篇文章下留言。或者,

发送邮件到本人的邮箱:flamelswift@gmail.com

If you have any problem or suggestion please leave a comment under this article. Or,

You can send an email to my mailbox: flamelswift@gmail.com

提示:一次性购买30支签可以提供6折优惠哦!

Hint: You can get 40% discount by ordering 30 qians at one time!

IMG_5003 IMG_5007 IMG_4998

更新了Xcode8之后,重新打开好久没维护的一个项目,结果发现Alamofire4.X和iOS10以前的版本并不兼容,一狠心,不兼容9.X系列了。

安装Alamofire4.X需要CocoaPods 1.1.0,更新了pod之后我发现执行pod install的时候一直提示我的extension target需要host target,Google了各种解决办法也都没有解决,最终尝试了stackoverflow里看到的一条评论的方法:将老的target删了之后再重新添加,最终解决问题。。

应该算个比较笨的方法吧,不过也算是解决了问题。