0%

1. 照片导出到手机上(方便快速使用和修改)

  1. sony 相机-> 第三项 -> 发送到智能手机 -> 在智能手机上选择 -> 出现了 wifi
  2. 手机连接sony 相机的 wifi
  3. 手机->Imaging Edge Mobile->连接装置->查看照片
阅读全文 »

1. 查找

+ 二分查找(简单)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
func search(nums []int, target int) int {    
left := 0
right := len(nums)-1

for left <= right {
mid := (left + right)/2
if nums[mid] > target{
right = mid - 1
}else if nums[mid] < target{
left = mid + 1
}else {
return mid
}
}
return -1
}
阅读全文 »

1. channel

源码路径: https://github.com/golang/go/blob/master/src/runtime/chan.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
type hchan struct {
qcount uint // total data in the queue
dataqsiz uint // size of the circular queue
buf unsafe.Pointer // points to an array of dataqsiz elements
elemsize uint16
closed uint32
elemtype *_type // element type
sendx uint // send index
recvx uint // receive index
recvq waitq // list of recv waiters
sendq waitq // list of send waiters

// lock protects all fields in hchan, as well as several
// fields in sudogs blocked on this channel.
//
// Do not change another G's status while holding this lock
// (in particular, do not ready a G), as this can deadlock
// with stack shrinking.
lock mutex
}
阅读全文 »

1. 动态规划

看个小故事:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
*writes down "1+1+1+1+1+1+1+1 =" on a sheet of paper*

"What's that equal to?"

*counting* "Eight!"

*writes down another "1+" on the left*

"What about that?"

*quickly* "Nine!"

"How'd you know it was nine so fast?"

"You just added one more"

"So you didn't need to recount because you remembered there were eight!Dynamic Programming is just a fancy way to say 'remembering stuff to save time later'"
阅读全文 »

1.复杂度分析

算法本质上是一连串的计算步骤。对于同一个问题,我们可以使用不同的算法来获得相同的结果,可是在计算过程中电脑消耗的时间和资源却有很大的区别。那我们如何来比较不同算法之间的优劣性呢?目前分析算法主要从「时间」和「空间」两个维度来进行分析。

  • 时间维度顾名思义就是算法需要消耗的时间,「时间复杂度」是常用的分析单位。

  • 空间维度代表算法需要占用的内存空间,我们通常用「空间复杂度」来分析。

阅读全文 »

YAML介绍

YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。它的基本语法规则如下。

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

YAML 支持的数据结构有三种。

  • 对象:键值对的集合(map)
  • 数组:一组按次序排列的值(array)
  • 纯量(scalars):单个的、不可再分的值
阅读全文 »

1. Charles 软件破解

https://github.com/8enet/Charles-Crack

https://www.zzzmode.com/mytools/charles/

发现一个更好用的抓包软件, 免费

https://github.com/ProxymanApp/Proxyman

2. Charles Mac Chrome抓包

需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。

  1. 访问: chrome://settings/
  2. 然后下拉到最后的高级,下来在“系统”(倒数第二个)的条目下找到“打开代理设置”,然后双击打开之后,打开之后找到代理的tab点开,点开之后可以看到请选择一个协议进行配置,这个时候找到“网页代理(http)”和“安全网页代理(https)”,进行相应的配置就可以了,一般来说自己不做其他处理,直接配置代理服务器为“127.0.0.1”,端口(就是冒号:)后是“8888”。
  3. 如何抓https网站, 在charles左侧该网址右键 Enable SSL Proxying
阅读全文 »

先看一个例子:

1
2
export CFLAGS="-I/root/ARM/opt/include"
export LDFLAGS="-L/root/ARM/opt/lib"

CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目录加入到该变量中来。

LDFLAGS:gcc 等编译器会用到的一些优化参数,也可以在里面指定库文件的位置。用法:LDFLAGS=-L/usr/lib -L/path/to/your/lib。每安装一个包都几乎一定的会在安装目录里建立一个lib目录。如果明明安装了某个包,而安装另一个包时,它愣是说找不到,可以抒那个包的lib路径加入的LDFALGS中试一下。

LIBS:告诉链接器要链接哪些库文件,如LIBS = -lpthread -liconv

阅读全文 »

1. 编译平台准备工作

  1. 下载arm-none-linux-gnueabi-gcc

  2. 下载transmission-2.94

  3. 新建ARM文件夹

  4. 解压arm-none-linux-gnueabi-gcc和transmission-2.94到ARM文件夹

  5. 设置编译平台环境变量

    1
    2
    3
    export PATH="/root/ARM/external-toolchain/bin:$PATH"
    export cross=arm-none-linux-gnueabi-
    export CC="${cross}gcc"
  6. 编译的时候一定要注意看log, 是arm-none-linux-gnueabi-gcc编译的才是正确的

阅读全文 »