本来学oc学的正爽,结果由于某些原因必须先学习NodeJS,所以oc的学习就先暂停一段时间吧。这几天恶补了相关基础知识,如果oc只是语法上让我不太习惯的话,那nodejs就是从编程思想上将原来所学的知识进行了颠覆。至于nodejs相关介绍、优缺点等这里就不多说了,如果想在学习过程中不“一头雾水”,就要理解几个概念:同步/异步、阻塞/非阻塞、闭包、回调、事件轮循。
本人以前并没有任何javascript语言的学习经验,这里仅仅记录我这几天学习的理解,如有什么偏颇,还望大家指正。
首先,nodejs是单线程的,同时只能进行一项任务。这点引起较大的批评就是无法利用多核CPU的能力,但同时在多个CPU运行程序也并不是完美的,因为想要多个CPU有效的拆分任务并执行,它们之间需要频繁的交换信息,比如当前执行状态、各自完成了哪些操作等。
关于上面的几个概念,网上答案五花八门都有,不过我更倾向于下面的答案,引用于知乎,原文链接:
“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。
1.同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
最近有个需求就是当执行save时需要把数据写入2个数据库,查看文档后发现直接重写save方法比较简单。
首先建立2个测试数据库testa和testb,然后在settings中配置数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'testa',
'USER': 'root',
'PASSWORD': 'asdasd',
'HOST': '192.
在新建文件时选择os x列表下的“source”,再从右面的选项中选择“cocoa class”,填写类名以及选择存储位置后会自动生成2个文件:一个.h文件和一个.m文件,格式如下
student.h:
#import <Foundation/Foundation.h>
@interface Student : NSObject
@end</pre>
student.
很多人为了学习ios开发而买了mac,而我却正好相反——买了mac后觉得只拿来看看网页、管理服务器什么的太浪费了,就顺便把ios开发也学学吧。由于本人是oc初学者,若有错误的地方还请指正。本文使用os x 10.10.2以及xcode 6.1.1。
这里首先面临的就是语言的选择——oc和swift。经过“深思熟虑”我还是选择了oc,因为相关的资料比较多,遇到问题google起来效果较好。很多人觉得ios开发很难学是因为oc——别的不敢讲,就我这两天的学习来看,oc虽说是c的超集,不过语法看起来题确实挺奇怪,但对于任何有其他语言开发基础的人来说,语法仅仅是一个需要习惯的过程。ios开发的真正难点在于cocos引擎部分,所以对于英语好的来说swift也是不错的选择(英语硬伤还是啊……)。
直接从appstore中安装xcode,安装完成后运行选择“create a new Xcode project”,再选择os x列表下的“application”,然后在右边的窗口中选择“command line tool”,点击“next”后输入项目名称等相关信息,语言选择“Objective-c”,再选择保存位置后点击“finish”即可。
最近要和某公司进行系统对接,对方使用C#给出了这样一个加密函数:
public static string MD5ToBase64String(string str)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] temp = System.
一般情况下,python爬虫遇到ajax动态页面一般都是直接分析后模拟ajax请求获得数据。不过今天遇到个网站,由于某些原因不透露网址了,点击搜索按钮后,它先跳转到a页面,然后从a页面跳转到b页面,再由b页面跳回a页面。当完成这2次跳转后,ajax向a页面提交的请求才会返回结果。
也怀疑是不是cookie或者refenen的问题,但最终证实不是因为这个。即便伪造了请求头再访问a页面,返回的也不是真实的结果页面而是一段跳转到b页面的js代码。
既然不知道跳转过程中网站到底干了写什么,那就直接上大杀器吧。
phantomjs可以简单的理解为js解释器,selenium更不用多介绍了,用pip安装即可。 从 http://phantomjs.org/download.html 下载编译后的包(当然你可以自己下源码),解压后的bin目录中就是我们需要的东西。
import sys
reload(sys)
sys.