2014年1月16日星期四

iOS笔记:CocoaPods

吐槽一下:类似Maven、Gradle,当然更像gradle, 很怀疑maven是学院派的人主导的产品(一堆xml让谁看啊?!),gradle才有搞工程人的实际品质。

安装CocoaPods需要有:
1)Ruby 环境。下面的命令更新Ruby环境。
sudo gem update --system
2) Command Line Tools for Xcode

安装CocoaPod:
sudo gem install cocoapods
pod setup
执行sudo gem install cocoapods时会提示:
rake's executable "rake" conflicts with /usr/bin/rake
Overwrite the executable? [yN]  y
Successfully installed rake-10.1.1
选择y覆盖,否则需要设置user的环境变量。Ref: http://guides.cocoapods.org/using/getting-started.html

创建Podfile:
open -e Podfile
platform :iOS
pod ‘AFNetWorking’, ‘0.9'


运行pod install, 抓取Podfile里指定的库到本地。
pod install

用xcode打开pod install生成的workspace文件,而不是原来的project文件。否则会有下面的错误:ld: library not found for -lPods


RubyGems 是什么? 
The RubyGems software allows you to easily download, install, and use ruby software packages on your system. The software package is called a "gem" and contains a package Ruby application or library.

Gems can be used to extend or modify functionality in Ruby applications. Commonly they're used to distribute reusable functionality that is shared with other Rubyists for use in their applications and libraries. Some gems provide command line utilities to help automate tasks and speed up your work.  


尝试Django


已经决定2014在公司自娱的项目,就用python来做了。这些日子熟悉了sublime,Paramiko,tenjin。把一些基本的操作点代码写出来了,如果只是做个命令行的东西,从技术点上该尝试的都已经ok了。

我不喜欢在命令行敲命令去驱动程序,我喜欢在屏幕上输入参数,点击“Run”。。。运行的逻辑在心里,看到的应该只是状态...

下面这篇文章讲了几个python上的web框架,不错。http://feilong.me/2011/01/talk-about-python-web-framework

我选了djiango,应该能省不少事吧。https://www.djangoproject.com/

参考入门教程: https://docs.djangoproject.com/en/1.6/intro/tutorial01/

上面的教程跟当前版本有出入,运行easy_install Sphinx 安装文档生成器。再到Django的doc目录运行命令“make html”来生成HTML文档。


1)创建Djiango Project。
可以把project理解成一个web应用,一个project会包含一些app。
创建一个项目的根目录,运行:“python C:\Python27\Lib\site-packages\django\bin\django-admin.py startproject oesTester”

2)默认的创建出来的project会带有几个app,其中的一些app需要数据库的支持,所以,需要运行“python manage.py syncdb”来在数据库中创建一些表。最后会提示你创建后台管理应用的管理员账号、密码。

3)创建Project里的一个app。
可以把一个app理解成负责某项功能的模块。app的python代码可以在任何python path里。
python C:\Python27\Lib\site-packages\django\bin\django-admin.py startproject oesTester
一个project有多个apps组成。在DJango中model是data class的意思,对应于ORM里的数据模型。
下面的命令创建一个app,名称是"autoInstaller"。
python manage.py startapp autoInstaller

启动Web Server: python manage.py runserver

4) 创建model的步骤略去,因为这个项目第一版不准备使用DB.


5) 访问 ,页面没有加载css,开始一直以为是Django static的配置问题。后来注意到console有“mimetypes.py", line 249, in enum_types”之类的信息,原来这是python2.7的一个bug导致的。
   修改mimetypes.py,注释掉下面这些行
                #try:
                #    ctype = ctype.encode(default_encoding) # omit in 3.x!
                #except UnicodeEncodeError:
                #    pass