Skip to content

Instantly share code, notes, and snippets.

View stliu's full-sized avatar

Strong Liu(刘少壮) stliu

View GitHub Profile
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Initializr :: https://start.spring.io
This service generates quickstart projects that can be easily customized.
Possible customizations include a project's dependencies, Java version, and
@stliu
stliu / service-checklist.md
Created June 1, 2017 09:03 — forked from acolyer/service-checklist.md
Internet Scale Services Checklist

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?
package com.example;
import com.datastax.driver.core.*;
import com.datastax.driver.core.querybuilder.Assignment;
import com.datastax.driver.core.querybuilder.QueryBuilder;
import com.datastax.driver.core.querybuilder.Update;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import com.datastax.driver.core.utils.UUIDs;
import lombok.Data;
@stliu
stliu / TestCassandraQuery.java
Last active August 20, 2016 09:39
paging with cassandra
package com.example;
import com.datastax.driver.core.*;
import com.datastax.driver.core.querybuilder.QueryBuilder;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import com.datastax.driver.core.utils.UUIDs;
import lombok.Data;
import java.util.*;
package com.example;
import com.datastax.driver.core.*;
import com.datastax.driver.core.querybuilder.QueryBuilder;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import com.datastax.driver.core.utils.UUIDs;
import lombok.Data;
import java.util.*;
后台工程师
职责描述:
负责环信后台服务器程序的架构设计和开发
任职要求:
1. 5年以上java开发工作经验,具有服务器开发工作经验者优先;
2. 深入了解java开发工具及主流开发框架,具有扎实的技术功底,熟悉主流技术架构;
%%%-------------------------------------------------------------------
%%% File : mod_message_log.erl
%%% Author : Holger Weiss <holger@zedat.fu-berlin.de>
%%% Purpose : Log one line per message transmission
%%% Created : 27 May 2014 by Holger Weiss <holger@zedat.fu-berlin.de>
%%%-------------------------------------------------------------------
-module(mod_message_log).
-author('holger@zedat.fu-berlin.de').
%%%-------------------------------------------------------------------
%%% File : mod_message_log.erl
%%% Author : Holger Weiss <holger@zedat.fu-berlin.de>
%%% Purpose : Log one line per message transmission
%%% Created : 27 May 2014 by Holger Weiss <holger@zedat.fu-berlin.de>
%%%-------------------------------------------------------------------
-module(mod_message_log).
-author('holger@zedat.fu-berlin.de').
%%%-------------------------------------------------------------------
%%% File : mod_message_log.erl
%%% Author : Holger Weiss <holger@zedat.fu-berlin.de>
%%% Purpose : Log one line per message transmission
%%% Created : 27 May 2014 by Holger Weiss <holger@zedat.fu-berlin.de>
%%%-------------------------------------------------------------------
-module(mod_message_log).
-author('holger@zedat.fu-berlin.de').

GPG

GPG 主要有两个作用, 签名和加密, 具体信息参见这里

签名

签名主要是为了确定对方是谁, 例如, A 给 B发送了一个电子邮件, 或者文件, 那么B怎么知道这个确实是A发出来的, 而不是别人冒名顶替呢, 还有, 这个信息是否在发送的中间被别人修改过呢?

这时候, A可以在发送文件的时候, 对这个文件使用GPG做一个签名