iOS 模拟器键盘无响应和剪贴板不响应问题修复(Xcode 10.3)

键盘无响应

iOS Simulator main menu - Hardware - Keyboard
首先取消 Use the Same Keyboard Language as macOS
点击 Connect Hardware Keyboard

剪贴板无响应

iOS Simulator 使用的剪贴板服务挂了,还是 main menu
Edit - 取消 Automatically Sync Pasteboard
再 Edit - 选中 Automatically Sync Pasteboard

Over

macOS 卸载 Symantec 和 McAfee

Activity Monitor 查一下相关几个进程的 pid:

。。进程名我忘了记录了,大约就是 Mc 和 Sym 开头的几个进程

lsof 看一下 pid 相关的 file handle:

1
2
lsof -p pid_of_McAfee -Fn | grep Mc
lsof -p pid_of_Symantec -Fn | grep Sym

记录 McAfee 和 Symantec 的 executable file 位置:

1
2
3
4
5
6
/Applications/Symantec Solutions/*
/Applications/McAfee Endpoint.app
/Library/Application Support/Symantec
/Library/Application Support/McAfee
/usr/local/McAfee
/private/var/McAfee

关机,长按 command + S, 进入 macOS single user mode, 检查磁盘并挂载磁盘:

1
2
fsck -fy
mount -uw /

删除 McAfee 和 Symantec 相关文件:

1
2
3
4
5
6
rm -rf /Applications/Symantec Solutions/*
rm -rf /Applications/McAfee Endpoint.app
rm -rf /Library/Application Support/Symantec
rm -rf /Library/Application Support/McAfee
rm -rf /usr/local/McAfee
rm -rf /private/var/McAfee

重启:

1
reboot

开机 Activity Monitor 里看看还有没有相关进程,如果有,从文章最开始再来一遍。。。

Over

Demark Sequential Using Numpy

1
import numpy as np
Read on →

CocoaPods 分支依赖时的 Bug

Pod 1.5.0 分支依赖,分支有新提交后,重新 pod install,pod 不更新

主工程源码依赖 SDK develop 分支,pod installpod install --fast-mode ,拉下来的 SDK 均不是 develop 分支最新提交,而是上次执行 pod install 时 develop 分支的提交。

清空 ./Pods~/Library/Caches/CocoaPods/* 均无效(缓存不在这里)。

由于下载时间太长,不想清掉全量本地库,于是想了一个变通的方法。

SDK 里 gco -b feature/merge_main_proj,主工程依赖 SDK feature/merge_main_proj 分支,重新 pod install --fast-mode 就好了,因为 pods 里没有对 feature/merge_main_proj 的缓存,此时肯定会好。

然后主工程切回对 SDK develop 分支的依赖,重新 pod install --fast-mode 也好了。估计是对一个 pod 的多个分支只有一份缓存(pods 版本 1.5.0)。

新加的 pod 不更新

先来一次 pod repo updatepod install

Over

Python3 一些 Talib 没有的 Indicators

1
2
import pandas as pd
import numpy as np
Read on →

人,经济与国家 读书笔记

第一章 人的行动的基本原理

第二章 直接交换

  1. 投机和供求表

  2. 库存和总持有需求

  3. 价格低时,市场的总需求提升;价格高时,市场的总需求降低

  4. 市场会自行发现一个均衡价格,使得总库存需求等于总需求

  5. 连续的市场与价格的变动

  6. 大型市场中,打到均衡价格的速度快,投机行为趋向于改善对均衡点的预期,使均衡点快速到来

  7. 市场的单一属性改变:
    1. 需求表增加,供给表不变,新的均衡价格更高,新的均衡状态下发生的交易量比旧的更多,价格上升,交易量上升
    2. 和1相反,需求增加供给不变,价格下降,交易量下降
    3. 供给表上升,需求表不变,人们愿意从库存中处理更多的库存,新的均衡价格比旧的更低,均衡交易量更多,价格下降,交易量上升
    4. 和3相反,供给下降,需求不变,价格上升,交易量下降
    5. 总结一下,需求和供给都和交易量正相关,需求和价格正相关,供给和价格负相关

Install Manjaro From macOS

从 macOS 10.14 制作安装 U 盘

下载好 iso 之后,将 iso 改名为 ~/Downloads/manjaro-kde.iso,然后将 iso 转换成 dmg:

1
hdiutil convert -format UDRW -o ~/Downloads/manjaro ~/Downloads/manjaro-kde.iso

看一下 U 盘是 disk几:

1
diskutil list

假设 U 盘是 disk9,分区,unmount,再写入镜像:

1
2
3
diskutil partitionDisk disk9 1 GPT HFS+ newdisk R
diskutil unmountDisk /dev/disk9
sudo dd if=/Users/openthread/Downloads/manjaro.dmg of=/dev/rdisk9 bs=1m

U盘插到 pc,重启,安装

Read on →

JDK 和 Maven macOS 的安装与配置

JDK

下载安装

https://www.oracle.com/technetwork/java/javase/downloads/index.html 下载想用的 jdk 版本,需要登录。

下载好以后双击 dmg 安装。

命令行输入 java -version 查看版本。

配置 JAVA_HOME 环境变量

安装包没自动配置环境变量,可能是考虑宿主机多个不同 jdk 版本,没替用户做决定,需要手动配置一下。

Read on →

Python/Numpy 性能优化

Cython

将 Python 翻译成 c/c++ 再编译执行。
比原生 Python 快 1.5 倍左右。
缺点是要写个 makefile

pypy

优点是无需像 cython 一样需要修改代码,写 makefile 和 main,缺点是有些三方库不支持。

安装:

1
brew install pypy3

然后安装 pypy pip。注意 pypy pip 不支持 socks5 代理,可能需要关闭或指定 http 代理:

1
2
3
4
pypy3 -m ensurepip
export ALL_PROXY=
pypy3 -m pip install pip --upgrade
pypy3 -m pip install setuptools --upgrade

将 pypy3 path 加入 $PATH 不然安装 tables 的时候报 warning:

1
export PATH=$PATH:/usr/local/share/pypy3

安装依赖(举点例子):

1
2
3
4
5
6
7
8
pypy3 -m pip install numpy
pypy3 -m pip install TA-Lib
pypy3 -m pip install requests
pypy3 -m pip install ccxt
pypy3 -m pip install tables
pypy3 -m pip install matplotlib
pypy3 -m pip install coloredlogs
pypy3 -m pip install pandas

如果 macOS 遇到 pypy 安装 numpy 时提示:

1
2
3
4
Checking for cc... ld: library not found for -lgcc_s.10.4
clang: error: linker command failed with exit code 1 (use -v to see invocation)
...
RuntimeError: Broken toolchain: cannot link a simple C program

尝试下面命令后再次重试安装 numpy:

1
2
3
cd /usr/local/lib
sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.4.dylib
cd -

Numpy

比原生 Python 快 10 倍左右。

numexpr

1
2
3
4
5
6
import numpy as np
import numexpr as ne
N = 10 ** 5
a = np.random.uniform(-1, 1, N)
b = np.random.uniform(-1, 1, N)
ne.evaluate('a ** 2 + b ** 2')

比 Numpy 快 2 到 10 倍。

Read on →

利用pandas进行数据分析第二版 笔记

先放书的链接: https://www.amazon.cn/dp/B07G2PK49V

Read on →