个人简介

Echo Blog


江湖无名 安心练剑
  • Oracle 删除重复数据,创建唯一索引
    情景说明 数据库中数据被重复插入,导致查询时直接报错。 因为有很多代码默认查出的结果是唯一的,但是库中又没有唯一索引。 所以需要从头到尾解决这个问题: 移除重复数据 定位数据重复原因(具体分析,本节不做深入) 创建唯一索引 本节就 1,3 这两个部分做下整理,便于日后查阅。 如何删除重复数据 查询出重复数据 比如...
    2020-05-07 01:23:59 | SQL
  • Cron 表达式测试
    cron 表达式 cron 的表达式是字符串,实际上是由七子表达式(从左到右),描述个别细节的时间表。 这些子表达式是分开的空白。 介绍 顺序 说明 数字 字符 1 Seconds(秒) 0~59 的整数 ,和-和*和/ ...
    2020-05-06 01:23:59 | Tool
  • Cralwer-01-如何设计一个爬虫框架
    创作背景 其实在此之前,自己也尝试过做过尝试。 而且做了两次,最后因为没有成为一个可高度复用的框架,而逐渐失去维护。 本篇整理下成熟工具的长处,结合自己失败的经验,为设计一款简单灵活的爬虫打下基础。 以前失败的教训 暂停的工具 crawl poseidon 设计理念 为了初期的快速迭代,使用单个模块。 对于页面等,初期不要求。 初期可以只考虑单机,后期初步加入分布式的设...
    2020-05-05 01:23:59 | Crawl
  • Kotlin-14-委托
    kotlin 委托 委托模式是软件设计模式中的一项基本技巧。 在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。 Kotlin 直接支持委托模式,更加优雅,简洁。 Kotlin 通过关键字 by 实现委托。 类委托 类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。 以下实例中派生类 Derived 继承了接口 Base ...
    2020-05-02 08:28:32 | Kotlin
  • Kotlin-13-对象表达式和对象声明
    Kotlin 对象表达式和对象声明 Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类。 对象表达式 实现匿名内部类 通过对象表达式实现一个匿名内部类的对象用于方法的参数中: window.addMouseListener(object : MouseAdapter() { override fun mouseCli...
    2020-05-02 08:28:32 | Kotlin
  • Kotlin-12-枚举类
    Kotlin 枚举类 枚举类最基本的用法是实现一个类型安全的枚举。 枚举常量用逗号分隔,每个枚举常量都是一个对象。 enum class Color{ RED,BLACK,BLUE,GREEN,WHITE } 枚举初始化 每一个枚举都是枚举类的实例,它们可以被初始化: enum class Color(val rgb: Int) { RED(0xFF0000),...
    2020-05-02 08:28:32 | Kotlin
  • Kotlin-11-泛型
    泛型 泛型,即 “参数化类型”,将类型参数化,可以用在类,接口,方法上。 与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼。 声明方式 声明一个泛型类: class Box<T>(t: T) { var value = t } 创建类的实例时我们需要指定类型参数: val box: Box<Int> = Bo...
    2020-05-02 08:28:32 | Kotlin
  • Kotlin-10-数据类和密封类
    数据类 Kotlin 可以创建一个只包含数据的类,关键字为 data: data class User(val name: String, val age: Int) 编译器会自动的从主构造函数中根据所有声明的属性提取以下函数: equals() / hashCode() toString() 格式如 "User(name=John, age=42)" componentN() f...
    2020-05-02 08:28:32 | Kotlin