ACM相关的算法有很宽的广度和很高的深度,如果只是为了锻炼编程能力、辅助理解计算机的运行原理,不需要在每个方向都钻研清楚,而只梳理出一些基础的、常见的、有代表意义的,侧重训练下,就可以了。
以下是从网络上找到的算法分类,做了一些调整,加上注解。
原文:https://www.cnblogs.com/zxj015/archive/2011/04/12/2740239.html
public class CodeEnumTypeHandler<E extends Enum<E> & CodeEnum> extends BaseTypeHandler<CodeEnum> | |
{ | |
private Class<E> type; | |
public CodeEnumTypeHandler(Class<E> type) { | |
if (type == null) { | |
throw new IllegalArgumentException("Type argument cannot be null"); | |
} | |
this.type = type; | |
} |
protocol Animal { | |
associatedtype H: Human | |
func action(by human: H) | |
} | |
protocol Human { | |
associatedtype A: Animal | |
} |
ACM相关的算法有很宽的广度和很高的深度,如果只是为了锻炼编程能力、辅助理解计算机的运行原理,不需要在每个方向都钻研清楚,而只梳理出一些基础的、常见的、有代表意义的,侧重训练下,就可以了。
以下是从网络上找到的算法分类,做了一些调整,加上注解。
原文:https://www.cnblogs.com/zxj015/archive/2011/04/12/2740239.html
--- | |
// BarModel.h | |
#import <Foundation/Foundation.h> | |
NS_ASSUME_NONNULL_BEGIN | |
@interface BarModel : NSMutableDictionary<NSString *, NSString *> | |
@end |
目前 Vmess + WebSocket + TLS (以下简称 wss)方式,因其特征如同 HTTPS 流量,可以隐藏 V2Ray 路径,主动侦测会得到正常 HTTP 网站响应,具有良好的伪装能力,目前被广泛用于反审查。
但是如此强大的伪装能力,需要付出严重的性能代价:TLS 1.3 握手需要消耗 1-rtt,WS 握手也需要消耗 1-rtt,增大了握手延迟。V2Ray 增加了 mux 以减少握手的发生,然而实际使用中 mux 体验并不好,很多用户选择关闭。
最近兴起了一个新的反审查工具——Trojan,这个工具将一个类似 Socks 的协议直接通过 TLS 传输,并将认证失败的流量交由 Web 服务器处理。降低 WS 延迟的同时,提供与 wss 方式一样的伪装能力。但是该工具较为年轻,没有路由功能,各平台图形化客户端也不完善。