数据库同步

首先在项目 setting.py 下对需要修改对应的 DATABASES 定义,对应的我们需要创建一个名为 djangodemo 的数据库并保证我们的MySQL服务是开启的:

1
2
3
4
5
6
7
8
9
10
11
12
13
# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangodemo',
'USER': 'root',
'PASSWORD': '111111',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
Continue reading

开发工具

推荐使用 PyCharm 直接进行 django 框架的安装,当然 https://www.djangoproject.com/download/ 也有使用pip安装的详细说明。


创建项目

Alt text
关于 app 的概念,比如NGA www.nga.cn下包含了论坛http://bbs.nga.cn/、还会有直播http://tv.nga.cn/,从运维上讲代表不同的配置段 app1 和 app2 可以连接不同的数据库,占用不同的进程,不一样的 IP 地址和服务器 因为 html 是跳链,所以你感觉不到 IP 的不同。

Continue reading

关于环境

MAC OS :10.10

安装 Scrapy

依然像安装 MySQL-python 模块一样,在终端下使用 pip 进行安装:

1
sudo pip install Scrapy

如果下载完成后提示 successful installed Scrapy,那么 Scrapy 就安装成功了。但通常都事与愿违,我在安装的时候遇到了这样的一个错误:

Continue reading

过去的2015

2015年终究觉得比往年过得慢一些,对某些事依旧耿耿于怀,对某些人仍然念念不忘,删掉了三年来所有的微博,生怕再勾起某些回忆。生活依旧过得不好不坏,换了工作搬了家,每天步行20分钟上班,不再为每天上下班痛苦的挤地铁而烦恼。工作也早已得心应手,可以花更多的时间与精力做自己喜欢的事情,也越发觉得写代码是件多么有趣的事。也意识到身体健康的重要性,现在跑10公里已经没有那么的累,好在跑步虽是自己一直断断续续但仍旧坚持下来的一个习惯。

也领悟到了钱真的可以买来快乐,当吃到好吃的,买到喜欢的东西那一刻心总是能得到莫大的安慰,并且屡试不爽。

anyway,还是坚强而乐观的活着,这个就够了,其他真的都不重要。

Comment and share

关于环境

MAC OS :10.10

PyCharm :推荐使用,最开始使用的是 Sublime Text 加终端的方式,但是来回切换实在太繁琐,后来切换到了 PyCharm 下,好的 IDE 真是会使效率事半功倍,更重要还提供了一些很好用的功能用于Django框架开发。

安装 MySQL

由于之前一直做移动开发,并没有真正使用过 MySQL,而 MySQL 数据库在第一次安装后出现了各种莫名其妙的问题,无论是使用系统偏好设置启动,还是终端启动服务均失败,总是出现各种 permission failed或Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’等问题,各种方法使用后无解还是尝试重新安装。MySQL下载地址,一定要选择对应的系统版本及位数。

重新安装前一定要将原本机器上的MySQL删除干净,建议使用终端方法进行删除,注意安装完成后会弹出提示,提示中 password 就是 MySQL 的 root 密码

Continue reading

众所周知,iOS 应用审核机制,所以当我们的线上应用面对突如起来的 bug 的时候会显得很手足无措,有时候仅仅可能就是添加一两行代码解决这个问题却要因为审核等待一周或者美国人过节就会有甚至更长的审核周期。所以hoxfix热修复的作用简直就是掉炸天的功能啊。而 JSPatch 就是这样一个极小的轻量级框架,它可以使用 JavaScript 调用任何 Objective-C 的原生接口,替换任意 Objective-C 原生方法。目前主要用于下发 JS 脚本替换原生 Objective-C 代码,实时修复线上 bug。

Continue reading

主要为阅读一些博客和书籍,对一些 UIKit 方便的性能优化的一些知识点进行了整理

尽量避免图层的混合

  • 避免使用控件的 opaque 属性将其透明,当然默认的情况下 UIVie 的 opaque 属性就是 true,同时尽量将UIView的背景颜色设置与其父控件相同且不是透明的
  • 没有特殊情况下不要设置控件的 alpha 值降低透明度
  • 使用 UIImage 尽量使用没有带 alpha 通道图片

图层的混合

首先对于像素点,屏幕上的每一个点就是一个像素,像素有R/G/B三种颜色构成,某些时候还要有 alpha 值。

举个栗子,我们将两个图层混合,上层的是蓝色(R=0/G=0/B=1),设置其透明度为50%,下层是红色(R=1/G=0/B=0),那么最终我们看到的效果将是紫色(R=0.5/G=0/B=0.5),这种颜色的混合,尤其上层的图层有透明度的时候,会小号一定的GPU资源,想避免这种情况,尽量直接将上层的图层透明度设置为100%,这样GPU就会忽略下面的所有图层,避免了过多不要的运算。

Continue reading

在iOS视频开发中,传统的方案可以直接使用系统的 MPMoviePlayerController 既可以直接将系统的播放页面掉出来,更贴心的为我们添加了控制条,全屏放大及暂停按钮。但是实际中我们可以需要针对播放器做更多的自定义设置,继而更多的是会采用 AVPlayer,因为 AVPlayer 提供了更为强大的功能,虽然在使用的过程会比较麻烦,但是确实能为我们的 app 提供更好的视频播放体验提供前提。

Continue reading
Author's picture

Bin Han

纸上得来终觉浅 绝知此事要躬行


Software Engineer


Hangzhou China