我们可以在Objective-C运行时将一个类中的一个方法,动态的替换为该类中的另一个方法。并且在替换后的方法中,依然可以调用以前的方法。
```
import
void MethodSwizzle(Class aClass, SEL orig_sel, SEL alt_sel)
{
Method orig_method = nil, alt_method = nil;
// First, look for the methods
orig_method = class_getInstanceMethod(aClass, orig_sel);
alt_method = class_getInstanceMet
继续阅读 »
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
1 单元测试
```python
!/usr/bin/python
import unittest
def add(x, y):
return x + y
继续阅读 »
很久没有写博客了,一是刚入职比较忙,二是因为总有学到新的有趣的东西,停不下脚步来总结一下。最近出差到了帝都,反而能挤出些时间来写点什么了,也正好趁着出差做的这个项目讨论一下CSS理论。
我现在面对的CSS基本上就是一个三头六臂的怪物,一点不夸张,因为真的是三头六臂,同一个样式在同一个element上作用了好几遍,而同一个样式又分散在4,5个class上,优先级有很多层。可以看得出这个怪物不是一个人造就的,早期的开发者选择了SCSS技术,但混乱的import导致了一些基本的样式被多次调用,而后面的开发者又为了摆脱之前的混乱引入了其他共用样式,但无济于事。原因出在HTML上,CSS依托于HTML没有被正确的抽象,而HTML又完全的依赖
继续阅读 »
1. failed to write data to stream
环境:ipython, OSX
操作:在ipython里import 一个pure module
问题: Python - ERROR - failed to write data to stream: ', mode 'w' at 0x104c8f150>
办法:export PYTHONIOENCODING=UTF-8 will solve it.
相关:stackoverflow
继续阅读 »
find_package
This interface refers to the design of CMake for the find_* interfaces, which finds and adds package dependencies in the project target.
lua
target("test")
set_kind("binary")
add_files("*.c")
on_load(function (target)
import("lib.detect.find_package")
target:add(find_package("
继续阅读 »
最近一直在看Node API 还有几本书。顺便看了下Koa源码。
略有心得,记下。
Native node server
之前的node官网在首页写出了一段非常简单的构建http服务的代码。
import http from 'http'
继续阅读 »
```python
!/usr/bin/env python
coding:utf-8
import MySQLdb
try:
#连接mysql的方法:connect('ip','user','password','dbname')
#conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test')
conn =MySQLdb.connect('127.0.0.1','root','123456',charset = 'gb2312')
conn.select_db('python')
cur
继续阅读 »
回文串
解题思路:既然通过添加一个字母可以变为回文串,那么通过删除与添加的字母相对位置的字符,应该亦为回文串。
例如:
- 'abcb'在末尾添加'a' --> 'abcba'为回文串
'abcb'删除与想要添加的字符'a'对应位置的字符 --> 'bcb'亦为回文串
'aabbaab'在头部添加'b' --> 'baabbaab'为回文串
'aabbaab'删除与想要添加的字符'b'对应位置的字符 --> 'aabbaa'亦为回文串
Java算法实现:
```java
import java.util.Scanner;
/**
*
* Created with IntelliJ IDEA. 2015/9/23
继续阅读 »
最近突然发现Java注解真心神器。一行简单的注解可以搞定N多事情。简直不能再方便了。
注解可以看成是一个接口,注解实例就是一个实现了该接口的动态代理类。 注解大多是用做对某个类、方法、字段进行说明,标识的。以便在程序运行期间我们通 过反射获得该字段或方法的注解的实例,来决定该做些什么处理或不该进行什么处理。
定义和调用注解的方法都很简单,这里就不说明了。
重点说明下怎么让注解work起来。
注解本身并不会做任何事情,它需要工具支持才会有用。比如JUnit4的@Test注解自身不会做任何事情,JUnit会识别并调用所有标识为@Test的方法,这种识别处理一般是采用代理模式,通过反射来调用。
大致代码如下
import ja
继续阅读 »
安装Package Control
more
使用Ctrl + ` 打开Sublime Text控制台。
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.req
继续阅读 »