起因是在知乎看到了 如何评价 Ken Thompson 在 C 编译器里植入了后门这件事?
继续阅读 »
在这篇文章中我将向你演示如何使用Java8中的foreach操作List和Map
1. Foreach操作Map
1.1 正常方式遍历Map
```java
Map items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
for (Map.Entry entry : items.entrySet()) {
System.out.println("Item : " + entry.getK
继续阅读 »
Version:Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
函数
可接受任意数量参数的函数
为了能让一个函数接受任意数量的位置参数,可以使用一个*参数
```python
def avg(first, *rest):
return (first + sum(rest)) / (1 + len(rest))
Sample use
avg(1, 2) # 1.5
avg(1, 2, 3, 4) # 2.5
``
在这个例子中,rest`是由所有其他位置参数组成的元组。然后我们
继续阅读 »
Version:Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
文件与I/O
读写文本数据
使用带有rt模式的open()函数读取文本文件
```python
with open('test.csv', mode='rt', encoding='utf-8') as f:
data = f.read()
print(data)
with open('test.csv', mode='rt', encoding='utf-8') as f:
for line in
继续阅读 »
Version:Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
There are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiences; the other is to make it so complicated that there are no obvious deficiences.
---- C.A.R.
继续阅读 »
本文主要介绍go语言静态库的编译和使用方法,以windows平台为例,linux平台步骤一样,具体环境如下:
```
echo %GOPATH%
E:\share\git\go_practice\
echo %GOROOT%
C:\Go\
继续阅读 »
检查SSH keys的设置
bash
$ cd ~/.ssh/
如果显示"No such file or directory",跳到第三步,否则继续。
备份和移除原来的SSH key设置
如果已经存在key文件,需要备份该数据并删除之
bash
$ ls
id_rsa id_rsa.pub known_hosts
$ mkdir key_backup
$ cp id_rsa* key_backup/
$ rm id_rsa*
生成新的SSH key
输入下面的代码,可以生成新的key文件,只需要使用默认的设置即可,当需要输入文件名的时候,回车即可
bash
$ ssh-keygen -t rsa -C "你的邮箱
继续阅读 »
以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的,其实我刚开始也是这样不理解,看了人家说比较经典的回调方式:
Class A实现接口CallBack callback——背景1
class A中包含一个class B的引用b ——背景2
class B有一个参数为callback的方法f(CallBack callback) ——背景3
A的对象a调用B的方法 f(CallBack callback) ——
继续阅读 »
Gitlab CI 简介
Gitlab中集成了CI (Continuous Integration:持续集成) 和CD (Continuous Delivery:持续交付) 来方便用户测试、构建、部署代码。它是Gitlab的一部分,用户可以在 Gitlab.com 上免费使用,同时也包含在了开源的Gitlab社区版和付费的Gitlab企业版中。
Gitlab CI具有如下特性:
多平台:您可以在任何支持Go语言的平台上运行,例如:Unix、Windows、OSX等。
多语言:构建脚本是通过命令行驱动的,可以支持诸如Java、PHP、Ruby、C等任何语言。
稳定:您的构建操作可以运行在其他机器上,而不是Gitlab上。
并行构
继续阅读 »
xmake里面的lua脚本加载插件,可以让你方便调试和编写一些自定义的lua脚本,这个时候xmake就是一个纯lua的加载引擎。。
例如,我想写个简单的hello xmake!的lua脚本,可以自己建个 hello.lua 文件,编写如下脚本:
lua
function main()
print("hello xmake!")
end
main是入口函数,就跟平常写c类似,然后加载执行下这个lua脚本就行了:
bash
xmake lua /home/xxx/hello.lua
or xmake l /tmp/hello.lua
下面在来个稍微高级点的,我要传递
继续阅读 »