Welcome to My Blog

Thoughts, stories and ideas about technology and development.

简单介绍网络封锁与反封锁

网络基础 主要技术手段 - DNS 污染:对于特定的域名,通过抢答的方式使 DNS 无法解析出正确的 IP 地址。 原理:由于通常的域名查询没有任何认证机制,而且 DNS 通常基于的 UDP 协议是无连接不可靠的协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。 - IP 黑名单:针对特定的 IP 地址,将发往这个 IP 的数据包全部丢弃或者将其连接重置(TCP Reset)...

Read more

Stocker

简介 Stocker是一款JetBrains IDE证券行情插件,主要功能是在IntelliJ IDEA和其他基于IntelliJ Platform的IDE(如PyCharm、RubyMine、WebStorm等)中实时追踪股票、加密货币的价格行情,其中股票支持A股、港股、美股。 运行时效果 安装 Stocker已上传至JetBrains Marketplace,打开IDE内的...

Read more

Xcode Theme for JetBrains

Preface Recently, I start to code with **Xcode** for iOS/macOS application development. Inspired by the Xcode **Default (Light)** and **Default (Dark)** color themes, I migrated them to JetBrains...

Read more

How to reset Xcode Simulators

We often debug iOS/macOS application in simulators when developing iOS/macOS application. Sometimes we need a clean simulator environment, so we have to reset simulators. Here's the steps: Step One...

Read more

Dracula PRO

Last year, I created Dracula Theme extension for JetBrains IDEs. The source repo is included in the official Dracula Organization. If you want to try it out, all instructions can be found at here....

Read more

在Kubernetes中搭建SS、Snell等代理服务

什么是 Kubernetes 我们都知道Docker容器,但是在生产环境中,仅仅有Docker还不够。当遇到应用自动化部署、容器伸缩和管理等问题时,我们需要一个容器编排系统。Kubernetes就是一个生产级的容器编排系统。 Kubernetes 基础 Pod:最小运行单元,由一个或多个容器组成 Deployment:常用的控制器 Service:用于服务注册、服务发现,作用域主要为 K8S...

Read more

Dracula Theme UI for JetBrains

What is Dracula? > A dark theme for Atom, Alfred, Emacs, Highlight.js, Hyper, iTerm, JetBrains, Pygments, Slack, Sublime Text, TextMate, Terminal.app, Vim, Xcode, Zsh and many more. Preface...

Read more

大数据Hadoop生态学习笔记(一)

Hadoop 概述 什么是 Hadoop - 可扩展的、简洁的数据存储、处理及分析系统(生态) - 架构图 Hadoop 解决的问题 1. 传统数据存储在一个中央数据库,当程序需要数据时,数据会被复制给程序 2. 传统方式对于少量数据可以很好的处理,但不利于海量数据 Hadoop 的方案 1. 数据分布式存储(HDFS) 2. 程序计算直接在数据存储的地方运行 3. 示意图 大数据的处理流程...

Read more

日本語学习笔记(一)

0.基本概念 **体言**:包括名词、代词、数词 **用言**:包括动词、形容词、形容动词 1.判断句 > **体言**は**体言**です---肯定(……是……) > **体言**は**体言**ではありません---否定(……不是……) 例句: - わたしは大(だい)学(がく)院(いん)生(せい)です。/我是研究生。 - 専(せん)攻(こう)は中(ちゅう)国(ごく)語(ご)です。/专业是中文。...

Read more

Travis Ci 学习笔记

Core Concept What is CI > Continuous Integration is the practice of merging in small code changes frequently - rather than merging in a large change at the end of a development cycle. The goal is to...

Read more

Deploy and Debug Tomcat with Docker in IDEA

Build Docker Image Create docker-compose.yml and edit like following codes: The key point in the config file is the two environment variables: Caveat You may set the JPDA_ADDRESS value *:8000, which...

Read more

密码的哈希存储

前言 密码的存储关乎安全问题,明文存储密码会带来极大的安全隐患。因此,需要存储密码哈希值来保证安全性。 MD5 MD5(Message-Digest Algorithm)算法会产生一个 128bit(16byte)的哈希值,用十六进制表示为长度 32 字符。 示例 MD5 的缺陷 - 容易遭受暴力破解(brute-force)和字典攻击(dictionary attack) -...

Read more

MyBatis笔记(3)-Java API和SQL语句构建器

Java API SqlSessionFactoryBuilder SqlSessionFactoryBuilder 有五个 build() 方法,每一种都允许你从不同的资源中创建一个 SqlSession 实例。 从mybatis-config.xml创建SqlSessionFactory示例: SqlSessionFactory 创建SqlSession实例需要考虑: - 事务处理 -...

Read more

MyBatis笔记(2)-动态SQL

if choose, when, otherwise trim, where, set - select - update foreach bind 多数据库支持 插件式脚本语言(Pluggable Scripting Languages) - TODO

Read more

MyBatis笔记(1)-基本配置和Mapper XML配置

主要对象的 Scope 和 Lifecycle | 对象 | Scope | Lifecycle | 备注 | | :----------------------- | :------------- | :---------------------------------------- | :---------------------- | | SqlSessionFactoryBuilder...

Read more

使用acme.sh获取Let's Encrypt泛域名证书

前言 Let's Encrypt提供免费的SSL证书,官方现已支持泛域名证书的签发。 Let's Encrypt官方提供certbot工具用于证书的签发,本文介绍的是另一个工具acme.sh。 安装 acme.sh 设置 DNS API 这里以Cloudflare为例,其他DNS服务商与之类似 签发证书 安装证书 acme.sh签发的证书存放在~/.acme.sh/下,但是我们不能直接使用证书,在...

Read more

基于Java Swing的飞机大战设计思路

游戏中的对象 1. 玩家飞机(一架) 2. 敌人飞机(多架) 3. 玩家子弹 4. 敌人子弹 5. 宝物(用于改变玩家子弹类型以及玩家飞机外形) 实体类设计 思路:游戏中所有的对象都包括属性:X 轴,Y 轴坐标、长度、宽度以及对应的图片素材,方法:移动(move)、绘图(draw)。因此我们可以设计一个 GameObject 抽象类,让其他的实体来继承GameObject类。部分代码如下...

Read more

在VPS上使用Git部署Hexo博客

搭建步骤 1. 在本地完成 hexo 博客的初始化 2. 在服务端完成 git 仓库的初始化 3. 使用 git 一键部署 在本地搭建 hexo 1. 安装 hexo-cli 2. 初始化 hexo 博客 3. 安装 git 部署插件 至此 hexo 的本地初始化已完成,使用hexo server可在本地启动一个服务,用于测试预览博客。 在服务端建立 git 仓库 1. 安装 git 2....

Read more

利用Docker部署shadowsocks和simple-obfs

简介 > Shadowsocks-libev: Shadowsocks-libev is a lightweight secured SOCKS5 proxy for embedded devices and low-end boxes. > Simple-obfs: Simple-obfs is a simple obfusacting tool, designed as plugin...

Read more

Debian SSH 重启会话卡死问题解决

> When you shutdown or reboot your system, systemd tries to stop all services as fast as it can. That involves bringing down the network and terminating all processes that are still alive -- usually...

Read more