ray's Notes

Read The Fucking Source Code.

0%

Terminal

My Terminal Setup

.zshrc Configiration

1
2
3
4
5
6
7
8
9
10
POWERLEVEL9K_MODE='nerdfont-complete'
POWERLEVEL9K_SHORTEN_DIR_LENGTH=3
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
POWERLEVEL9K_STATUS_VERBOSE=false
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status os_icon dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(ram load time)
POWERLEVEL9K_SHOW_CHANGESET=true
POWERLEVEL9K_CHANGESET_HASH_LENGTH=6

ZSH_THEME="powerlevel9k/powerlevel9k"

Karabiner

Karabiner(KeyRemap4MacBook) is a powerful utility for keyboard customization.

rules: Vi Mode [D as Trigger Key] (recommended).

Mos

Mos 一个用于在 MacOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independently for your mouse on MacOS.

简单讲,这家伙可以为我的黑苹果省一块 Magic Trackpad 2(秒控板 2)

QuickLook Plugins

百度云加速下载

腾讯视频去除播放前120+s广告

1
2
3
4
5
6
7
8
9
10
11
#import <Foundation/Foundation.h>
#import <CydiaSubstrate/CydiaSubstrate2.h>

DefineObjCHook(BOOL, isAdvertisementEnabled, id self, SEL _cmd) {
return NO;
}

__attribute__((constructor))
EXTERN_API_C("C") void RemoveAD_Initialize() {
InstallObjCInstanceHook(objc_getClass("KKMediaRootViewController"), @selector(isAdvertisementEnabled), isAdvertisementEnabled);
}

起因

我可是个计算机专业并且是网络方向的”好学生“, 怎么可能不会使用Wireshark么,哼! 别说,虽然上学时自己跟随舍友在开网络方向课之前,自己跟随舍友学的网络,什么 CCNA、CCNP 的枕头书也早看完了。但是毕业之后开始写代码之后,网络方向的知识还是真全还还回去了。

最近开始搞 HTTPS 抓包,又跟 Wireshark 结缘。之所以说又,是因为在学校我们老师讲过这个软件怎么使用。但是我是“好学生啊”,还用她讲么。所以现在很后悔啊。也罢,即使听了不是也就那样么。还不如看《Wireshark 网络分析就是这么简单》—并不是广告。之后又偶遇一贴,讲的就是这个好玩的东西,遂收藏,今天实践了一下,做更详细的记录。

Read more »

如何有效防止API的重放攻击?_调用API_产品常见问题_API 网关-阿里云
请求签名说明文档_用户指南(调用API)_API 网关-阿里云

API重放攻击(Replay Attacks)又称重播攻击、回放攻击,这种攻击会不断恶意或欺诈性地重复一个有效的API请求。攻击者利用网络监听或者其他方式盗取API请求,进行一定的处理后,再把它重新发给认证服务器,是黑客常用的攻击方式之一。

Read more »

// WeAppArchitectureDescription.ReadMe
// MicroMessenger
//
// Created by tedwu on 2016-7-15.
// Copyright 2016 Tencent. All rights reserved.

Read more »

经历过几个项目,看过一些代码后。如果还没有代码洁癖,那…我不希望和你一起 Work Or Play。之前找过 Objective-C 代码规范,发现谷歌的 Objective-C 代码规范页面 404 啦,然后看了下 Linux 内核代码。虽然是 c 语言的代码,但那种每行都在 80 个字符之内,能在各种设备上阅读的愉悦感,肯定能使你下定决心写一手干净利索的代码。无规矩,不成方圆。现在终于找到一篇比较全的 Wordpress Mobile apps 代码规范,贴上来和大家分享一下。

Read more »

这篇文章将从一个动手的实验开始,而且我们并不写代码。

小事

今天运行了一个Core Data的小程序,习惯性的进入模拟器沙盒去看sqlite文件,不幸的的是,14天前下载的Navicat Premium for SQLite过期啦!

image

Read more »

  1. 查看包信息:lipo -info libx.a,如果提示fat file,那么代表这个包是支持多平台的,例如armv7,armv7s,i386等,这需要我们逐一做解包重打包操作。否则我们只需要做一次[1-6]操作即可。
  2. 创建临时文件夹,用于存放armv7平台解压后的.o文件:mkdir armv7 。
  3. 取出armv7平台的包:lipo libx.a -thin armv7 -output armv7/libx-armv7.a 。
  4. 查看库中所包含的文件列表:ar -t armv7/libx-armv7.a 。
  5. 解压出object file(即.o后缀文件):cd armv7 && ar xv libx-armv7.a 。
  6. 找到冲突的包(JSONKit),删除掉rm JSONKit.o 。
  7. 重新打包object file:cd .. && ar rcs libx-armv7.a armv7/星.o,可以再次使用2中命令确认是否已成功将文件去除 。
  8. 将其他几个平台(armv7s, i386)包逐一做上述[1-6]操作 。
  9. 重新合并为fat file的.a文件:lipo -create libx-armv7.a libx-armv7s.a libx-i386.a -output libMiPushSDK-new.a 。
  10. 拷贝到项目中覆盖源文件。