技术博客
-
2017-03-15
您好
head 就是用来测试目录的
-
2017-04-10
the source reading of ArrayList
I have found the follow codes, when i reand the source of ArrayList /** * Trims the capacity of this...
-
2017-04-20
java 并发编程实战
final 使用 此关键字使用过程中需要注意的问题,引用不可变,值可变;如果是基本类型,如int,则值也不可变 FinalChangeObject obj = new FinalChangeObject(); obj.setC(1); final FinalChangeObject t = obj; obj.setC(2); System.out.println(t.getC()); FinalChangeObject obj2 = new...
-
2017-04-22
装饰模式
定义:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活 装饰模式是为已有功能动态地添加更多功能的一种方式。 把每个要装饰的功能放在单独的类中,并让这个类包装它所要装饰的对象,因此,当需要执行特殊行为时,客户代码就可以根据需要有选择地、按顺序地使用装饰功能包装的对象了。 总结下来就是把类中的装饰功能从类中搬移出去,以这样的方法简化原有的类,这样就有效地把类的核心职责与装饰功能区分开了 实现方式是装饰类拥有核心类的引用,只要对这个所有操作都是对这个引用。示例代码
-
2017-04-23
代理模式
定义:为其他对象提供一种代理以控制对这个对象的访问 先直接上个例子,来源 程杰《大话设计模式》 首先定义代理类与实体类的接口 代码中需要代码与实体都实现此接口,只是代理类直接调用实体类,由实体类处理 public interface GiveGift { void giveDolls(); void giveFlowers(); void giveChocolate(); } SchoolGirl这只是个此例子中的一个说明,Pursuit 需要向此类做操作 public class...
-
2017-04-24
工厂模式
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类 不同子类可能会有不同的实现,不同的代码,在不修改已存在类情况下,去扩展已有类的方法,并且实例化的过程延迟到客户端代码执行过程中,即多态。。 才规矩,上个例子,依然来自《大话设计模式》 首先是一个类,可以认为是已存在的不可修改的类,可能来自网络/文本/jar包等等 public class LeiFeng { public void sweep() { System.out.println("扫地"); } public void wash() { System.out.println("洗衣"); }...
-
2017-04-24
原型模式
定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 这个主要用的是 clone,需要注意的是深复制/浅复制 先上个例子 本模式用的是个简历,这是简历原型,实现 Cloneable 接口,内部实现clone 方法 class Resume implements Cloneable { private String name; private String sex; private...
-
2017-04-25
模版模式
定义:一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法可以使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 还是上例子 首先定义的是父类,也就是定义了今天问题的模版,包含两个测试,每个测试包含题目与答案,在本例子中,答案是每个人的不同结果,所以这里将answer1 和 answer2 放到子类中去实现, public abstract class PaPerTest { public void question1() { System.out.println("questionA"); System.out.println("答案" + answer1()); }...
-
2017-04-26
外观模式
定义:为子系统的一组接口提供一个一致界面。此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 还是上个例子 首先定义三个子系统,每个子系统提供一个方法,实际生产中可能有多个不同方法 public class SubSystem1 { public void method1() { System.out.println("method1"); } } public class SubSystem2 { public void...
-
2017-04-27
建造者模式
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 依然是来个例子 首先是我们要构建的产品,包含一个添加方法与显示方法 public class Product { private List<String> parts = new ArrayList<String>(); public void add(String part) { this.parts.add(part); }...
-
2017-04-30
适配器模式
定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 使用场景:需要的东西就在眼前,但却不能使用,而短时间又无法改造它,于是我们就想办法适配它。 系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望利用一些现存的类,但是接口又与利用环境要求不一致的情况,比如在早期代码利用些功能等应用上很有实际价值 还是来个例子说明问题 虚基类,所有方法的基础 public abstract class Player { protected String name; public Player(String name) { super(); this.name =...
-
2017-04-30
抽象工厂模式
定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 通常是在运行时刻再创建一个concreteFactory类的实例,这个具体工厂再创建具有特定实现的产品对象,也就是说,为创建不同的产品对象,客户端应使用不同的具体工厂 所有在用简单工厂的地方,都可以考虑用反射技术来去除switch或if,解除分支判断带来的耦合 反射技术可以将简单工厂中的判断去除,进一步解放代码。 先看个例子,慢慢解释 先是一个用户表,可能会存在多个字段,这里只用id 与name 示例 class User { private int id; private String name; // getter &&...
-
2017-04-30
适配器模式
定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 使用场景:需要的东西就在眼前,但却不能使用,而短时间又无法改造它,于是我们就想办法适配它。 系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望利用一些现存的类,但是接口又与利用环境要求不一致的情况,比如在早期代码利用些功能等应用上很有实际价值 还是来个例子说明问题 虚基类,所有方法的基础 public abstract class Player { protected String name; public Player(String name) { super(); this.name =...
-
2017-04-30
状态模式
定义:当一个对象的内存状态改变时允许改变其行为,这个对象看起来像日改变了其烦类。 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的系列类当中,可以把复杂的判断逻辑简化。如果判断很简单,那就没必要了 例子说话 首先定义一个虚基类,定义当前任务的方法 public abstract class State { public abstract void writeProgram(Work w); } 工作啦,有当前状态/当前时间/当前完成状况,此例子中,上午是不能完成任务的, public class Work {...
-
2017-05-01
备忘录模式
定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态 目测这个模式可以用在一分钟实现延迟消息任务的代码中 还是来个例子说明问题,此例子是游戏中的保存当前状态 首先定义游戏类,包含保存状态与恢复状态方法 public class GameRole { private int vit;// 生命力 private int atk;// 攻击力 private int def;// 防御力...
-
2017-05-02
桥接模式
定义:将抽象与它的实现分离,使它们都可以独立地变化。 具体类通过基类中组合的其他功能的实现来调用不同实现的具体实现, 一个例子:不同品牌的手机使用手机这个基类提供的软件,这些软件只是虚基类,会有不同的实现功能(MP3/通讯录/游戏等等) 代码来说话 // 目标不同实现的基类,功能都来自于此,此为软件的基类,这里的软件通用点 public abstract class HandsetSoft { public abstract void running(); } 游戏软件 public class HandSetGame...
-
2017-05-03
中介者模式
直接来个例子 首先,定义个基类国家的概念,包含声明方法与接收消息方法;并且保存有联合国的引用 public abstract class Country { protected UnitNations unitNations; public Country(UnitNations unitNations) { super(); this.unitNations = unitNations; } public...
-
2017-05-03
职责连模式
定义:使多个对象都机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一个链,并沿着这条链传递请求,直到有一个对象处理它为止。 从定义看,与状态模式很相近,这个也需要抽时间找下区别 来个例子 首先定义处理基类 public abstract class Handler { protected Handler successor; // setter && getter public abstract void handleRequest(int...
-
2017-05-08
大话设计模式总结
今天看完了《大话设计模式》,总体感觉写的不错,形象生动,每个模式都有前言指引,引出不同的模式,将不同的模式对应到生活中的实例,使理解更容易 不同设计模式的重点是使客户端程序简化,调用时,不需要知道内部实现的细节,只需要关注需要关注的业务逻辑,这样扩展也会比较方便,只需要增加实现类或者方法,即可实现扩展。 能用组合的情况,就不要用继承,继承具有强关系,这样设计的系统扩展性会小
-
2017-05-09
Effiective JAVA
07 只要是自己管理内存,程序员就应该警惕内存泄漏问题。一旦对象被释放掉就把它清空
-
2017-05-28
您好
bigdecimal 提供了很多人构造方法,可以传入int string float 等java 类型,为程序设计提供了各种方便 ObjectInputStream 提供的读取方法,就是根据想要读取的数据类型使用不同人方法
-
2017-05-29
设计模式的艺术--单例模式
单例模式:确保某一类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。是一种对象创建模式。
-
2017-05-29
设计模式的艺术--简单工厂模式&&工厂方法模式
定义一个工厂类,它可以根据参数的不同返回不同的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模型又被称为静态工厂方法模式,它属于类创建模式 产品抽象出来一个基类,具体产品继承自此基类;有一个工厂方法,方法中根据不同的传入类型,去创建不同的产品,创建产品的过程,调用者是不需要知道的,无论创建过程如何,调用者只需要调用即可; 配合配置文件,可以实现代码完全无修改,即使用新的产品 工厂方法模式 为每个产品都定义了不同的具体工厂类,将创建过程延迟到子类的实例化过程中,减少了客户端代码的耦合程度。让客户端统一对待,这样在修改不同的实现时,只需要修改配置文件即可。 每加个新的产品,就要加对应的工厂方法,会有大量的类产生,切看抽象工厂方法如何解决。 工厂方法在实践中使用还是比较多的,个人感觉是,企业的产品总是有限的个数,更不会频繁增加产品,因此此模式可用
-
2017-06-05
抽象工厂方法模式
前面说了简单工厂方法与工厂方法,工厂方法会建立无限个类,每加个新的产品,就需要同时加对应的工厂类,造成了需要维护的类太多 抽象工厂方法,就把工厂方法放到一个类中了,好处是很明显的,坏处也是很明显的,实际代码开发过程中,用到最多的还是工厂方法模式,因为在企业级开发过程,增加的产品并不会很多
-
2017-06-06
建造者模式
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 利用延迟加载技术,创建一个虚的构建者类,具体的建造者类继承并实现其具体的建造方法;基类可提供建造过程,也可由建造控制器角色来提供建造过程; 好处 客户端不需要知道具体的建造是如何进行的,建造者知道既可; 使用反射技术,将具体的建造者类放到配置文件中,做到只修改配置文件,即可建造不同对象 坏处 明显的,被建造的类属性应该是有限可列举的,否则任何添加属性和行为,都会造成所有具体建造者类修改
-
2017-06-08
facade pattern
适用于每个类都要做同样的事,这样就可以抽象出来一个外观类 使用频率非常高的,如一个任务由多个步骤组成,通常会将这些步骤封装一个方法,这就是一个简单的外观模式了。实际上外观模式也就是处理此类问题的,所以书中说 使用频率非常高,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一入口,使子系统与客户端的耦合度降低,且客户端调用非常方便。外观模式并不给系统增加任何新功能,它仅仅是简化调用接口。
-
2017-06-10
设计模式的艺术概述
迭代器模式 提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标。这是一种对象行为模式 最大好处就是可以统一对待具有迭代风格的集合 中介者模式 用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,是一种对象行为模式 中介者模式将一个网状的系统结构变成一个以中介者对象为中心的星形结构,在这个星形结构中,使用中介者对象与其他对象的一对多关系来取代原有对象之间的多对多的关系。中介者模式在事件驱动类软件中应用较为广泛,特别是基于GUI 的应用软件。此外,在类与类之间存在错综复杂的关联关系的系统中,中介者模式都可以使用 有以下优点: 简化了对象之间的交互,它用中介者和同事的一对多交互代替了原来的多对多交互,一对多更容易理解、维护和扩展,将原本难以理解的网状结构转换成相对简单的星形结构 可将各同事对象解耦。中介者有利于同事之间的松耦合,可以独立地改变和利用每一个同事和中介者,增加新的中介者和新的同事类者比较方便,更好地符合开闭原则。 可以减少大量同事子类生成,中介者将原本分布于多个对象间的行为集中在一起,改变这些行为只需要生成新的中介者子类即可,这使得各个同事类可以被复用,无须对同事类进行扩展 备忘录模式 在不在封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。这是一种对象行为型模式 观察者模式 定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。 状态模式 允许一个在其内部状态改变时改变它的行为,对象看起来修改了它的类。其别名为状态对象,状态模式是一种对象行为模式 简单工厂模式 集中式的创建对象,将对象的创建集中到工厂类中。这样就会有个问题,即,此工厂类的职责太重 工厂方法模式...
-
2017-06-11
观察者模式
这是一个很棒的模式,下面用一个简单的Java 基础支持的例子来说明下 首先是观察者类,继承的是 java.util.Observer 类,成为一个具体的观察者 public class Player implements Observer { @Override public void update(Observable o, Object arg) { System.out.println("player...
-
2017-07-18
电信光猫root密码
转载来的,源文地址 电信装宽带都会送一个光纤猫,但是会把你之前的路由器收回去。上一篇文章已经说了如何从客户端入手,让手机进行WiFi连接并成功上网。但是那个方法是较为麻烦且并不彻底的,没有什么普适性。现在就来说下彻底解决电信宽带的这个问题的方法。 一、基本概念 首先以我浅薄的学识说点基本概念,想知道具体的专业的解说,请自行Google。 1、PPPoE。PPP over Ethernet。简单的说,PPP是一种认证方式,oE就是运行在以太网上。我们家里拨号上网,其实就是向PPPoE服务器发出认证请求,然后PPPoE服务器进行认证,认证通过的话将你的端口变成已认证,然后你就能上网了。PPPoE客户端就是我们进行拨号的那个设备,可以是电脑,也可以是路由器。 2、路由模式。处在路由模式时,光纤猫充当路由器功能,可以进行拨号,然后充当DHCP服务器对子网IP进行分配。此时光纤猫就是PPPoE客户端。一旦光纤猫完成拨号,那么其他电脑通过有线或者无线方式连到光纤猫的时候,就可以直接访问网络而不需要再次拨号了。但是电信不知道是什么意思,安装光纤的时候非要把这个路由模式禁止掉,怎么想的? 3、桥接模式。桥接模式,光纤猫只进行透明转发,不做任何有实际意义的事情。此时PPPoE客户端就是每台PC,所以每次上网都得在PC上进行拨号。这就是我们问题的关键。桥接模式下光纤猫简直是无作为,有什么帧就转发什么帧,不会进行任何过问。 所以说,我们的目的其实很简单,就是把光纤猫从桥接模式改成路由模式,然后将PPPoE客户端从PC变成光纤猫,然后光纤猫再充当DHCP服务器,对家里的多台PC进行子网IP的分配,从而实现多台PC同时上网而不需要反复拨号的功能。 二、破解超级管理员密码 1、打开 http://192.168.1.1 ,用光纤猫上的账户密码进行登录。 2、下载 http://192.168.1.1/backupsettings.conf 。 3、用记事本或者任何能打开.conf的软件(比如SublimeText)打开backupsettings.conf,然后ctrl+f查找telecomadmin+8位数字,这就是你的超级管理员密码。 4、再次打开 http://192.168.1.1...
-
2017-07-30
Documents Index
本文档为网上收集的教程地址 Pygame 教程:《用 Python 和 Pygame 写游戏 - 从入门到精通》
-
2017-10-11
java 子类修改基类属性
今天遇到一个问题,需要在基类中实现方法,子类中只需要修改一个基类的字段属性值,即可满足要求。 试了几种不同方法,都是需要在子类中覆盖基类中的方法才能实现,这样的话,就会造成大量重复代码在项目中,前期代码如下:注意需要在Sub类中实现print 方法,如果有另外的类,Sub2, 还是要实现一遍print 方法, public class Main { public static void main(String[] args) { Base base = new Sub();...
-
2017-10-14
一种同步chrome 书签的方法
国内因为某些原因,chrome 浏览器的同步总是不能使用,尝试了其他书签同步的工具,如 xmarks,但是这个东西经常会同步异常,合并得乱七八糟。 今天周末,思考这个问题,困扰许久,就是需要公司与家的chrome 能有共同的设置,操作能有流畅感。 所以决定将chrome 书签同步至服务器,公司与家,都能享受流畅的操作。那就拿出老本行,写段代码搞喽 首先想到用python, 这货简单易用,查了有个库pyinotify可以满足要求,安装此库才发现居然只有64位的,可怜了我七年高龄的win7,无耐,只好用上班那套了,java 走起。 同步书签需要有以下必需几步骤: 检测到书签变化,chrome 中即感知到文件变化即可; 将书签发送至远程服务器; 将远程书签下载到本地; 目前(2017-10-14 18:19:24)已经实现了前两步,第三步还没想好怎么处理。下面详细说下实现过程: 检测到书签变化 用来apache 的...
-
2017-10-16
2017-10-16工作思考
今天没有学习,只工作了,说下今天的工作经验: 上班时,会有各种各样的事情打扰打断工作思绪,被打断时,应想下新来的事是否紧急 不紧急,用plaintasks记录下来,等手上的事情处理完,再来搞这个; 紧急,把手上的事,做个记录,方便处理完新来的事时,能够迅速进入状态; 做事情需要有个章法,确保在开始前有了基本的思考,绝对不能上来就开始;但是也不能只想不做,只有开始了,才能发现问题所在。 做完一件事,一定要有检查,这个检查可以很简单,列出常见的问题逐一过一遍,就可以避免80%以上的问题
-
2017-10-17
Java学习基础
作者:萝魏紫 链接:https://www.zhihu.com/question/38880482/answer/174034793 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 两个月,这让我想到了我当年第一份工作,也是两个月从零学JAVA。当时就买了3本书,强啃了6周。记住一点,时间有限,别听网上很多大牛的,他们说的太杂。你要抓重点,你只要让人家知道,你足够初级开发就可以了,学了长长一个列表,个个不精,被面试官随便问起来,就糟了。倒不如抓住最基本的,反正你就是初级人员,只懂最基本的,是最正常的情况。 首先,学会一个J2EE服务器,tomcat+(Nginx或者httpd等web服务),学会的标准是,会下载,能启动,知道什么文件部署在什么地方,能看到启动画面,能知道最直接,最关键的配置文件名字和位置。你要了解下其他的服务器的名字,就足够了。有人叫你去学weblogic?那是坑你,2个月weblogic,你最多也只能懂十分之一。太重。 其次,学一个框架,以前SSH,现在SSM,这些都多余,你就只看spring MVC,因为所有的mvc框架都类似,你只要坚持你了解MVC,其他的我觉得是容易借鉴类推的,H和M,你就直接说,我没有项目经验,我是没有实际接触过的,我只了解一点点原理,这个不要花时间,最后去看几眼文档就可以了。spring MVC,就这么简单,一个就行。 然后是数据库,别赶时髦搞nosql,老老实实关系型,mysql就很好,坑浅应用多,最近连集群支持的都很好了,你只要强调一点,数据库,你不是DBA,你还不懂如何调优,如何调执行计划,你只懂增删改查,所以你要学的就是T-SQL,标准是你能手写带条件的增删改查,会复杂语句更好,稍微了解下sql效率方面的问题,为了面试也是可以。MSSQL在国内被鄙视的不行,如果有人叫你弄oracle,那又是太装逼,我手下一票的5年+程序员,其中有超过一半连oracle的AWR都不会读,有的连数据字典都不知道。 IDE不多谈,你总逃不过eclipse和几个大厂的东西。要用简单易用的,别花太多时间在这个上面。设计模式你要稍微看一下,了解什么是设计模式,你大可以老实说,你根本刚入行,只是粗通工厂模式和单粒,其他的需要在工作中学习,这样既不会显得完全不懂,也不会出什么纰漏。 程序方面,jdbc需要了解下,相关的有连接字的写法,如何准备和获取结果,什么是resultset这类东西,当然,数据库连接的关闭和释放也是需要的。 类和抽象类和接口的关系搞清楚,继承和实现搞清楚,重载重写搞清楚这些都是基本概念。 EJB现在不太用了,稍微了解下,你可以用spring所以不用手写EJB了。spring除了MVC以外,还有很多项目,DAO可以看一下,比较初级。 由于java主要是B/S结构,无论是集成还是自己的前后端,你都要看一下http,整个http的生命周期是什么?存在哪些步骤和不同的application负责哪个阶段,相关的有几个request和response实体,包含什么是session了解下。 业务逻辑的话,上手仔细写几个例子就好了 前段你不需要了解太多,JSP+JS就足够了,你是程序员,不是前端的美工,不用去了解太多。jsp上有个容易忽视的基础点:tag到底是什么如何处理。jsp的生命周期这些也最好看一下。 基础的devops稍微了解下, git的代表,github可以注册一个账号,搞清楚本地repo和远程repo之间的关系即可。SVN更为简单一点。Maven也要学习一下,主要是pom文件的几个主要的部分,尤其是depedency。code smells方面手写万把行代码。自己有个感觉,不用去刻意背javadoc。去面试吧,祝你好运!...
-
2017-10-18
foo bar origin
foo bar 来源大概分下面几个: 第一版C语言编程 就是表示个无意义的词 中国福 stackoverflow 上有人回答的非常详细 原文地址 dispathcer 历史上是可以没有dispathcer 的,但是,这样会造成大量业务代码,都集中在一个controller 中;想法就是把各种业务分出去,这个类只做分发,,dispathcer 就出来了
-
2017-10-18
spring mvc 学习指南
《spring mvc 学习指南》, 这本书,只看了前4章,大概花了两个小时,总体看着很累。 书中讲的细节很详细,但是有个不足之处,给出的代码,全部没有对应的文件位置,这样造成在看书时实践过程中,会不知道代码加在哪里,代码的前后文缺少; spring mvc 算是有了初步了解,可以完全不使用配置文件,就可以搭起服务;也可以由非常丰富的配置文件扩展功能; 看得最多的是controller,这个自认为是学习的重点,现在知道的有两个方法 配置文件; 使用注解; 实际开发中只会使用注解,配置文件实在是太麻烦啦,每次都修改配置文件,累
-
2017-11-07
java 弱引用/软引用/虚引用
软引用: 在JVM OOM 之前,垃圾回收器会回收此类引用,否则同强引用 主要用内存敏感的缓存操作 弱引用: 在垃圾回收器工作时,回收此类引用 虚引用: 实际中基本不用
-
2017-12-11
托业练习册
unit 5 Vocabulary practice A 1.adj; 2. adj; 3. n; 4. v; 5.adv; 6.adj; 7.adj; 8.v; 9.adv; 10.n; B |...
-
2019-04-04
关于update 的一个坑
```$xslt 大坑一个 UPDATE proxyip=’248’ , ddnstime=if(proxyip=’248’, 1, 2) update是按顺序先生效再执行的,这个后面 ddnstime=2
-
2019-04-26
mac 挂载ntfs外置硬盘并读写
如何将NTFS格式的移动硬盘挂接到Mac OS上进行读写(Read/Write)操作 现在硬盘便宜,很多同学都有移动硬盘,如果你同时使用Windows与Mac OS的话,移动硬盘最好不要使用NTFS文件系统,否则在Mac OS上,你只能读你的移动硬盘,不能写。
-
2019-09-10
开发一个简单的 sublime text 插件
sublime text 这款轻量级文本编辑器,用了四年了,一直非常顺手,提供的插件简直神奇一样的存在。虽然 vscode 提供了基本相同的功能,但是 vscode 太丑了呀,用了一段时间,还是回到了 sublime text 的怀抱。
-
2019-09-14
添加插件的菜单
续上文,我们成功开发了一款插件,虽然很简单,但是也实现了插件应该有的功能,下面我们把插件设置得更好用。
-
2019-09-21
Filebeat7自定义index的一个坑
最近在尝试使用 filebeat 收集日志,也没有明确的目的,版本是7.3.2,对应的 elsearch 版本也是7.3.2
-
2019-11-22
黑科技之Beyond Compare在Mac OS系统下永久试用
亲测可用
-
2025-06-26
黑客攻防宝典web篇第二版第三章
渗透测试员可能遇到的唯一差异是1.1版本必须使用Host请求头
-
2025-06-26
黑客攻防宝典web篇第二版第二章
本章主要说的是,在web 世界中,存在着大量的漏洞,作为服务的提供方,有很多方面不太可能注意到,比如一个经典的问题,代码中可能过滤掉了 <script> 这种脚本,但是,如果攻击方传输了 <scr<script>ipt> 这个时候,就尴尬了,因为替换掉一个之后,就完成了第二次的文本输出。
-
2025-06-27
黑客攻防宝典web篇第二版第四章
robots.txt 标识着网站不希望被抓取的内容,但是同时,也说明这些信息更有价值,值得花费时间去抓取
-
2025-06-27
spring深度解析第二章
思考 看spring 源码,有意想不到的收获,看别人写的代码,能够增加自己的编码水平,虽然现在是ai时代了,但是编码水平还是要提升的。比如看到他写的代码,有个 Set<String> set = new HashSet<>(); if(!set.add("aaa")) { } 这里面的 !set.add 就是曾经不知道的,从来没有注意过 set.add 居然还有返回值,所以之前写的代码都是先判断 set.contains("aaa") 再 add。他这个代码,一次性就给处理完了
-
2026-02-28
demo
为什么要有本项目? 现在的AI使用太快了,接入率极高,但是本质上都是在做ai 方面的应用,深入理解ai的发展使用过程的,少之又少,也包含我自己在内,所以需要在ai的理解方面更进一步的去深入,才能在未来的变换中站稳脚跟。 另外,一年又一年的,不能一年到头来没有任何的进步与变化,需要有一项事情推动着持续的前进,这就是每天的更新自己的大脑,让自己强制性的去学习固定的内容。 本书初步准备在100天内完成,工388页,每天4页,不多不少,读完后,更新记录内容,让自己在未来的日子里,能够回想起今天的想法。
-
2026-02-28
理解深度学习,第一天
1~4页
-
2026-03-01
理解深度学习,第二天
1.1.4 深度学习网络
-
2026-03-02
理解深度学习,第三天
2026年3月2日
-
2026-03-03
理解深度学习,第四天
2026年3月3日