SQLite C/C++接口简介

翻译自An Introduction To The SQLite C/C++ Interface,建议阅读原文

摘要

接下来的两个对象和八个方法包含了SQLite接口的基本要素:

阅读全文 »

VSCode初体验

Microsoft 今天在其 Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 OS X,Windows 和 Linux 之上的,针对于编写现代web和云应用的跨平台编辑器。

作为编辑器控的我,得知消息后立马下载体验了一下。Windows上优秀的编辑器实在太多了,Sublime TextEditPlusNotepad++……还有诸如国产的EverEdit等后起之秀。所以这次我这次把测评的环境放在了编辑器相对匮乏的Linux桌面上。

阅读全文 »

使用Jodd简化邮件服务的开发

最近需要做一个邮件相关的功能,考虑到自建邮件服务器维护起来比较麻烦,于是选择第三方邮件服务。邮件发送服务的对比可以看这篇文章

最后我选择了:

阅读全文 »

20150426

既然选择了远方,便只顾风雨兼程。

2015年4月26日凌晨两点十分,汪国真去世,享年59岁

斯人已去,诗歌不死。

Nginx上安装SSL证书

长话短说,省去各种申请过程,讲讲扼要的部分

生成CRS和密钥

方便一点的做法是使用在线的生成器,或者通过openSSL生成:

openssl req -nodes -newkey rsa:2048 -nodes -keyout your_key_name.key 
-out your_csr_name.csr -subj "/C=GB/ST=London/L=London/O=your_server
/OU=IT/CN=your_server"
阅读全文 »

Java中wait()与sleep()的区别

最近在做面试题的时候看到这道题,复习了一遍《Thinking in Java》,在此记录这个答案

类的区别

  • wait()来自于 java.lang.Object,任何对象都有此方法
  • sleep()来自于 java.lang.Thread,调用的对象为线程

用法上的区别

看一下jdk的描述:

wait():Causes the current thread to wait until either another thread invokes the
java.lang.Object.notify() method or the java.lang.Object.notifyAll()method for this object, or a specified amount of time has elapsed.

阅读全文 »

从输入 URL 到页面加载完成发生了什么事

看到 这篇文章,重拾计算机网络的知识,决定班门弄斧写一篇

下面的讨论基于最简单的情景:HTTP、无代理、不讨论功夫王、IPv4,并简单得从三个方面阐述。

浏览器会做些什么

  1. 接收 URL,并拆分成协议,网络地址,资源路径
  2. 与缓存进行比对,如果请求的对象在缓存中,则直接进行第九步
  3. 如果网络地址不是一个 IP 地址,向操作系统询问,操作系统返回一个IP地址
  4. 浏览器向服务器发起一个 TCP 连接
  5. 浏览器通过 TCP 连接向服务器发起 HTTP 请求,HTTP 三次握手,HTTPS 握手过程则复杂得多
  6. 浏览器接受 HTTP 响应,这时候它能关闭 TCP 连接也能为另一个连接保留。
  7. 检查 HTTP header 里的状态码,并做出不同的处理方式。比如:错误(4XX5XX),重定向(3XX),授权请求(2XX
  8. 如果是可以缓存的,这个响应则会被存储起来
  9. 浏览器进行解码响应,并决定如何处理该响应(比如HTML页面,图像,声音等等)
  10. 浏览器渲染响应,或者为不能识别的类型提供下载的提示框
阅读全文 »

树莓派快速入门指南

前言


接触树莓派已经有一年多的时间了,主要用于Linux服务器。前一段时间树莓派2发售了,树莓派又小火了一把。现在我介绍一下我的经验,希望对于各位读者有多帮助吧。

阅读全文 »

如何保护你的 Linux VPS

本文翻译自DigitalOcean的An Introduction to Securing your Linux VPS,建议阅读原文

前言

利用这个伟大平台的强大功能和灵活性,掌控你自己的Linux服务器是学习新事物的良好机会。不过Linux服务器管理员必须对任何可联网的机器采取同样的谨慎措施,以确保它的安全。

归类在”Linux security”的主题各种各样,至于怎样恰当的安全级别才看起来像Linux服务器有很多不同的意见。

你必须自己决定什么样的安全保护措施是必要的。在你做之前需要知道风险,并在实用性和安全性之间做出权衡,合理得做出决定。

这篇文章旨在提供一些Linux服务器环境下最常见的安全措施供你参考。这不是一份详尽的清单,也不包括推荐的配置,但是提供了更加全面的资源的链接,并讨论为什么每个组件是系统的重要组成部分。

阅读全文 »

记录一些我在Ubuntu下的软件

我使用的版本是Ubuntu 14.04 LTS,比较常见的如git这些就不说了嘛,说一下稍微冷门的

shadowsocks

由于众所周知的原因,有些网站无法访问或者访问很慢。相较于VPN,优势在于比较灵活。作者的README写得非常详细了,不需要多解释什么了。
https://github.com/librehat/shadowsocks-qt5/wiki。

阅读全文 »