Kylo's Blog

一生想做浪漫极客

浅谈定时任务调度

Scheduling

为什么要有任务调度 定时任务有了依赖,就需要调度。 试想一下,如果你的定时任务并不是简单的根据时间来执行,还需要依赖某些上游任务成功后才执行,那把所有任务的执行过程画出来,大概会是这样: 这样的图,在图论中,有一个专门的定义: 如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG,directed acyclic graph)。 Dag ...

MongoDB Drop 事件

MongoDB, GitLab, Safety

起因 一天晚上突然发现生产系统使用的 MongoDB 库的一个 collection 被删掉了。问了团队成员,都未进行过删除操作,说明可能是三种情况:一、误删,连操作者自己也没意识到做了一个删除操作;二、bug,在某个程序中存在一个 bug;三、数据库帐号密码暴露了。 MongoDB 系统日志 MongoDB 删除操作是有日志记录的,查看 MongoDB 系统日志(MongoDB 进程...

访问 GitLab Omnibus 自带的 PostgreSQL

GitLab, PostgreSQL

我们有时候需要使用 GitLab 的数据库数据,但是 GitLab Omnibus 安装版默认使用包内自带的 PostgreSQL,不开启对外的 TCP 端口访问。 PostgreSQL 配置 IP 限制 PostgreSQL 数据库默认只监听来自 localhost 的 TCP 访问,由 postgresql.conf 文件中的配置项 listen_addresses = 'loca...

使用 Gitmoji 标准化 Git 提交信息

Gitmoji

使用 emoji 为 Git 提交打上一个“标签”, 使得此次 commit 的主要工作得以凸现,也能够使得其在整个提交历史中易于区分与查找。 emoji emoji 代码 commit 说明 🎨 (调色板) :art: 改进代码结构/代码格式 ...

GitLab 基本使用

GitLab

注册用户 进入 http://gitlab.yourdomain.com/,填写相关信息,注册用户。Username 是登录用户名,不可更改。由于腾讯邮箱把 ip 封了,可以先使用 163 邮箱注册,确认验证通过后,在 Profile Settings 把邮箱设置为公司邮箱;另 gmail 由于被墙,无法发送。 申请加入组 在侧边栏菜单选择 Groups,并切换到 Explore ...

在 Debian 平台或者 RedHat 平台安装 Java

Java, Debian, RedHat

Debian 平台 Debian 平台的安装非常简单,只需要添加 repository 源,更新源信息,然后安装即可: $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer Redhat 平台 Redhat ...

spring-integration-kafka 2.0 使用

spring-integration-kafka

Spring 终于在 2016 年的 4 月 9 日发布了支持 kafka 0.9 版本的集成框架 spring-integration-kafka,虽然还只是个里程碑的版本。新版的集成底层使用自家的 spring-kafka,使用的是 kafka 0.9 提供的新接口,kafka 0.9 不再区分 High Level API 和 Simple Consumer API。 打包编译 sp...

Java 安全算法

Java, Algorithm, Security

摘要 本文章的内容是对慕课网的 moocer 老师对 Java 安全方面一些列课程的整理,旨在对 Java 安全算法相关的知识进行梳理文中对部分相似内容进行了概括说明,并进行了一些比对,方便记忆以及日后回顾。 Java安全组成 Java 安全主要由 JCA (Java Cryptography Architecture)、JCE (Java Cryptography Extension...

Java网络教程:UDP DatagramSocket

Java, UDP

原文地址 译者:Kylo 数据报套接字(DatagramSocket)是Java的网络通讯方式,它通过UDP而不是TCP实现。UDP位于IP层的上层,可以使用数据报套接字来发送和接收UDP数据包。 UDP vs. TCP UDP的工作原理和TCP稍有不同。通过TCP发送数据时,需要先创建一个TCP连接。只要连接建立,TCP就能确保你的数据成功到达接收方,否则它将告知你发生了错误。 使...