自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(277)
  • 资源 (9)
  • 收藏
  • 关注

原创 详解适配器模式

将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。1、系统需要使用现有的类,而此类的接口不符合系统的需要。2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。3、通过接口转换,将一个类插入另一个类系中。

2022-09-13 13:59:49 381 1

原创 非极大值抑制NMS代码实现(基于Python)

前言给出一张图片和上面许多物体检测的候选框(即每个框可能都代表某种物体),但是这些框很可能有互相重叠的部分,我们要做的就是只保留最优的框。假设有N个框,每个框被分类器计算得到的分数为Si, 1<=i<=N。(1)建造一个存放待处理候选框的集合H,初始化为包含全部N个框;建造一个存放最优框的集合M,初始化为空集。(2)将所有集合 H 中的框进行排序,选出分数最高的框 m,从集合 H 移到集合 M;(3)遍历集合 H 中的框,分别与框m计算交并比(Interection-over-uni

2021-10-04 16:50:57 605

原创 vscode remote 远程开发 告别密码/免密码 登录

本地win10, cmd输入:ssh-keygen -t rsa -b 4096记事本打开c盘用户目录下的: .ssh\id_rsa.pub,此为公钥复制内容到远程linux的~/.ssh/authorized_keys在配置文件中添加本地私钥的地址即可完成免密码配置。...

2021-10-03 14:52:46 928

原创 详解sleep( ) 和 wait( ) 的这 5 个区别以及Java中thread.yield()方法的使用

sleep(休眠) 和 wait(等待) 方法是 Java 多线程中常用的两个方法,它们有什么区别及一些该注意的地方有哪些呢?下面给大家一一分解。区别1:使用限制使用 sleep 方法可以让让当前线程休眠,时间一到当前线程继续往下执行,在任何地方都能使用,但需要捕获 InterruptedException 异常。try { Thread.sleep(3000L);} catch (InterruptedException e) { e.printStackTrace();

2021-09-28 23:42:48 373

原创 MySQL行锁、表锁、间隙锁详解

前言我们前几篇讲了索引是什么,如何使用explain分析索引使用情况,如何去优化索引,以及show profiles分析SQL语句执行资源消耗的学习。今天我们来讲讲MySQL的各种锁,这里存储引擎我们使用InnoDB;准备工作创建表 tb_innodb_lockdrop table if exists test_innodb_lock;CREATE TABLE test_innodb_lock ( a INT (11), b VARCHAR (20)) ENGINE I

2021-09-22 11:39:24 1675

原创 Java提高篇——Java 异常处理

异常的概念异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。 要打开的文件不存在。 网络通信时连接中断,或者JVM内存溢出。这些异常有的是因为用户错误

2021-09-11 10:45:06 373 1

原创 Spring Security OAuth2.0系列之密码模式

ps:OAuth2.0的授权模式可以分为:授权码模式(authorization code) 简化模式(implicit) 密码模式(resource owner password credentials) 客户端模式(client credentials)密码模式(resource owner password credentials):密码模式中,用户向客户端提供自己的用户名和密码,这通常用在用户对客户端高度信任的情况;1.2 授权流程图官网图片:(A)用户访..

2021-09-06 22:20:49 3211 2

原创 Java提高笔记——静态代码块、构造代码块、构造函数以及Java类初始化顺序

静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级:静态块,main(),构造块,构造方法。构造函数public HelloA() {//构造函数}关于构造函数,以下几点要注意:1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的。2.构造函数的作用是用于给对象进行初始化。3.一个对象建立,构造函数只运行一次,而一般方法可以被该对象调用多次。构造代码块...

2021-08-28 13:25:57 205

原创 slf4j日志系统的使用

LOG4J和SLF4J在通常系统中,日志功能使用了log4j+slf4j,对于这两者的区别不甚了解,通过实践,并深入源代码层次的分析,希望能够讲的清晰一些。基本原理在项目中使用到的jar包主要有log4j.jar , slf4j-api.jar,和slf4j-log4j.jar三个。简单来说,slf4j.jar主要是作为一个门面,简化记录日志的操作,log4j.jar是记录日志的具体实现,而slf4j-log4j.jar,是作为一个工厂,slf4j使用工厂来生产log4j的日志记录器。项目配

2021-08-09 17:08:41 462

原创 详解Java拦截器

Interceptors are used to implement cross-cutting concerns, such as logging, auditing, and security, from the business logic.In Java EE 5, Interceptors were allowed only on EJBs. In Java EE 6, Interceptors became a new specification of its own, abstracte.

2021-08-01 13:31:44 3613 1

原创 详解布隆过滤器的原理,使用场景和注意事项

在进入正文之前,之前看到的有句话我觉得说得很好:Data structures are nothing different. They are like the bookshelves of your application where you can organize your data. Different data structures will give you different facility and benefits. To properly use the power and acce

2021-07-26 10:42:35 214

原创 ThreadPoolExecutor组合使用synchronized关键字

未加synchronized关键字:package com.allen.thread;import java.util.concurrent.*;/** * @author :jhys * @date :Created in 2021/7/23 16:33 * @Description : */public class SynchronizedTest { public static void main(String[] args) { // 创建 Runn

2021-07-23 17:15:54 721

原创 详解并发编程的CAS问题 && Synchronized优化

volatile自己虽然不能保证原子性,但是和CAS结合起来就可以保证原子性了。CAS+volatile一起用就可以同时解决并发编程中的三个问题了,保证并发安全。CAS 是什么? CAS:比较并交换compareAndSet,它是一条 CPU 并发原语,它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子性的。 例: AtomicInteger 的 compareAndSet('期望值','设置值') 方法,期望值与目标值一致时,修改目标变量为设置值,期望值与

2021-07-21 11:25:13 306

原创 JDK1.8 新特性

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。新特性Java8 新增了非常多的特性,我们主要讨论以下几个: Lambda 表达式− Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。 方法引用− 方法引用提供了非常有用的语法,可以直接引用已有Java类..

2021-07-20 15:13:40 297 1

原创 IDEA快速抽取出方法

先选中所需要抽取方法的代码行,然后Ctrl+ Alt + M,即可抽取方法;

2021-07-19 18:55:12 2955 1

原创 SSL / TLS 工作原理和详细握手过程

HTTPS 和 HTTP的区别显然,HTTPS 相比 HTTP最大的不同就是多了一层 SSL (Secure Sockets Layer 安全套接层)或 TLS (Transport Layer Security 安全传输层协议)。有了这个安全层,就确保了互联网上通信双方的通信安全,那么这个安全层是怎么工作的,SSL / TLS 握手过程又是怎样的呢?本文将对这些问题一一解答。1、SSL / TLS 以及 SSL / TLS 握手的概念SSL 和 TLS 协议可以为通信双方提供识别和认证通道..

2021-07-19 15:37:19 1325 1

原创 Java代理模式:静态、动态

一、代理模式介绍代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。简言之,代理模式就是设置一个中间代理来控制访问原目标对象,以达到增强原对象的功能和简化访问方式。代理模式UML类图举个例子,我们生活中经常到火车站去买车票,但是人一多的话,就会非常拥挤,于是就有了代售点,我们能从代售点买车票了。这其中就是代理模式的体现,代售点代理了火车站对象,提供购买车票的方法。二、.

2021-07-16 19:38:49 188

原创 Java使用Junit框架进行测试

在maven仓库中找到junit包,然后去除scope即可, <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>在任意地方新建一个类,然.

2021-07-16 19:28:54 198

原创 Reactor模型概述 && Netty

目录Reactor模型概述单线程模型多线程模型主从多线程模型Netty模型(主要是主从多线程模型)第一个Netty服务服务端客户端四 Netty核心组件4.1 Channel4.2EventLoopGroup、EventLoop4.3 ChannelHandler4.4 ChannelPipeline4.5 Bootstrap4.6 Future4.7 组件小结五 缓存区-ByteBuf5.1 ByteBuf概述5.2 Byt...

2021-07-16 12:37:14 376

原创 详解红黑树

红黑树(英语:Red–black tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型用途是实现关联数组。它在1972年由鲁道夫·贝尔发明,被称为"对称二叉B树",它现代的名字源于Leo J. Guibas和罗伯特·塞奇威克于1978年写的一篇论文。红黑树的结构复杂,但它的操作有着良好的最坏情况运行时间,并且在实践中高效:它可以在时间内完成查找、插入和删除,这里的是树中元素的数目。用途和好处红黑树和AVL树一样都对插入时间、删除时间和查找时间提供了最好可能的最坏情况担保。...

2021-07-15 19:58:37 289

原创 详解静态内部类

 如果用static来修饰一个内部类,那么就是静态内部类。这个内部类属于外部类本身,但是不属于外部类的任何对象。因此使用static修饰的内部类称为静态内部类。静态内部类有如下规则:静态内部类不能访问外部类的实例成员,只能访问外部类的类成员。 外部类可以使用静态内部类的类名作为调用者来访问静态内部类的类成员,也可以使用静态内部类对象访问其实例成员。package com.allen;/** * @author :jhys * @date :Created in 2021/7/15 17:2

2021-07-15 17:26:56 3010

原创 Netty笔记4-如何实现长连接

​ 前面三章介绍了Netty的一些基本用法,这一章介绍怎么使用Netty来实现一个简单的长连接demo。​ 一个简单的长连接demo分为以下几个步骤:长连接流程创建连接(Channel) 发心跳包 发消息,并通知其他用户 一段时间没收到心跳包或者用户主动关闭之后关闭连接​ 看似简单的步骤,里面有两个技术难点: 如何保存已创建的Channel 这里我们是将Channel放在一个Map中,以Channel.hashCode()作为key 其实这样做有一个劣势,就是不.

2021-07-15 15:38:18 2555

原创 Netty入门教程3——Decoder和Encoder

​ Netty强大的地方,是他能方便的实现自定义协议的网络传输。在上一篇文章中,通过使用Netty封装好的工具类,实现了简单的http服务器。在接下来的文章中,我们看看怎么使用他来搭建自定义协议的服务器。要做到这点,第一步要做的,就是要自定义编码器和解码器,这就是我们这一章主要讲的内容。什么是Decoder和Encoder​ 在学习Decoder和Encoder之前,首先要了解他们在具体是个什么东西。在Netty里面,有四个核心概念,这个在第一篇文章提到的,他们的分别是: Channel,一个

2021-07-15 15:22:24 828

原创 Netty入门教程2——动手搭建HttpServer

在上一章中我们认识了netty,他有三大优点:并发高,传输快,封装好。在这一章我们来用Netty搭建一个HttpServer,从实际开发中了解netty框架的一些特性和概念。认识Http请求在动手写Netty框架之前,我们先要了解http请求的组成,如下图:HTTP Request 第一部分是包含的头信息 HttpContent 里面包含的是数据,可以后续有多个 HttpContent 部分 LastHttpContent 标记是 HTTP request 的结束,同时可能包含头的.

2021-07-15 15:10:06 280

原创 Netty入门教程——深入浅出Netty

什么是Netty?Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见https://www.java.net/dukeschoice/2011)。它活跃和成长于用户社区,像大型公司 Facebook 和 Instagram 以及流行 开源项目如 Infinispan, HornetQ, Vert.x,

2021-07-15 12:50:34 5051

原创 并发问题之synchronized关键字

之前我们讲过的AtomicInteger可以对“int类型的变量”做原子操作。但如果需要将“很多行代码”一起作为“原子性”执行——一个线程进入后,必须将所有代码行执行完毕,其它线程才能进入,可以使用synchronized关键字——重量级的同步关键字。AtomicInteger:只能解决一个变量的原子性synchronized:可以解决一段代码的原子性1.线程安全问题的概述(了解)2.线程安全问题的代码实现(重点)package com.allen.syn_dem...

2021-07-14 17:32:24 161 1

原创 并发问题之volatile关键字的使用

package com.allen.volatile_demo;/** * volatile解决可见性问题 * @author :jhys * @date :Created in 2021/7/14 16:25 * @Description : */public class MyThread extends Thread { public static volatile int a = 0; @Override public void run() { .

2021-07-14 16:39:08 120

原创 解析并发问题的非原子性问题(Atomic原子类)

1. 不使用Atomic原子类:原子:不可分割 100行代码是一个原子,线程执行100行代码不可以分开执行,要么都执行,要都不执行需求: 1.定义多线程共享的静态变量money 2.Thread-0线程把money的值增加10000 3.main线程把money的值增加10000 4.查看money的最终结果public class MyThread extends Thread{ //1.定义多线程共享的静态变量money public static int money =

2021-07-14 16:11:44 350

原创 接口限流算法:漏桶算法&令牌桶算法

背景每一个对外提供的API接口都是需要做流量控制的,不然会导致系统直接崩溃。很简单的例子,和保险丝的原理一样,如果用电符合超载就会烧断保险丝断掉电源以达到保护的作用。API限流的意义也是如此,如果API上的流量请求超过核定的数值我们就得对请求进行引流或者直接拒绝等操作。限流算法既然要限流,就得提到限流算法了,一般有漏桶算法和令牌桶算法两种限流算法。漏桶算法漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经

2021-07-13 17:03:47 894

原创 ElasticSearch学习笔记

第1章 Elasticsearch概述01-开篇教学视频结构化数据非结构化数据半结构化数据02-技术选型Elasticsearch 是什么The Elastic Stack, 包括 Elasticsearch、 Kibana、 Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为 ES, ES 是一个开源的高扩展的分布式全文搜索引

2021-07-13 16:39:14 452 5

原创 详解通过javap命令分析java汇编指令

新建IDEA的maven空项目,然后编码格式一定要选择UTF-8,不然反编译可能会导致错误。新建SynchronizeTest类,package com.allen;public class SynchronizedTest { public synchronized void method1() { System.out.println("hello"); } public void method2() { synchronized

2021-07-12 17:38:20 187

原创 IDEA多线程调试技巧

package com.allen;/** * @author :jhys * @date :Created in 2021/7/7 14:05 * @Description : */public class ThreadTest { public static void main(String[] args) { new Thread(() -> { System.out.println("1.aaa"); }, "aa.

2021-07-12 12:39:34 1043 2

原创 IDEA进入到ExecutorService里面进行调试的方法

在executor外面和里面的代码各打一个断点 ,然后点击resume program进入到具体线程的断点里面,

2021-07-12 12:33:34 951

原创 详解垃圾回收CMS和G1算法

目录1 CMS收集器 安全点(Safepoint) 安全区域 2 G1收集器 卡表(Card Table) 3 总结 4 参考在开始介绍CMS和G1前,我们可以剧透几点:根据不同分代的特点,收集器可能不同。有些收集器可以同时用于新生代和老年代,而有些时候,则需要分别为新生代或老年代选用合适的收集器。一般来说,新生代收集器的收集频率较高,应选用性能高效的收集器;而老年代收集器收集次数相对较少,对空间较为敏感,应当避免选择基于复制算法的收集器。 在垃圾收集执行的时刻,应用程序需

2021-07-11 11:05:06 918

原创 详解MySQL联合索引

引言本文预计分为两个部分:(1)联合索引部分的基础知识在这个部分,我们温习一下联合索引的基础(2)联合索引部分的实战题在这个部分,列举几个我认为算是实战中的代表题,挑出来说说。正文基础讲联合索引,一定要扯最左匹配!放心,我不扯有的没的,几句话懂个大概就行!最左匹配所谓最左原则指的就是如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配,值得注意的是,当遇到范围查询(>、<、between、like)就会停止匹配。假

2021-07-10 17:31:24 2607

原创 hashCode和equals的重写问题

代码测试:重写hashcode,不重写equals:package com.allen;import java.util.HashSet;/* * 重写equals和hashCode方法 */public class RewriteHashCode2 { public static void main(String[] args) { //创建集合对象 HashSet<Person> hs = new HashSet<Person>(); ...

2021-07-09 16:15:11 183

转载 必须理解的Java中SPI机制

本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于.

2021-07-09 12:51:14 203

转载 史上最全的Java命名规范[转]

每个公司都有不同的标准,目的是为了保持统一,减少沟通成本,提升团队研发效能。所以本文中是笔者结合阿里巴巴开发规范,以及工作中的见闻针对Java领域相关命名进行整理和总结,仅供参考。一、Java中的命名规范好的命名能体现出代码的特征,含义或者是用途,让阅读者可以根据名称的含义快速厘清程序的脉络。不同语言中采用的命名形式大相径庭,Java 中常用到的命名形式共有三种,既首字母大写的 UpperCamelCase ,首字母小写的 lowerCamelCase 以及全部大写的并用下划线分割单词的UPPER_

2021-07-09 09:47:24 1342 1

原创 Java 多线程之使用 Future 实现携带结果的任务

RunnableRunnable 是我们多线程开发过程中常用的接口。 Executor 框架使用 Runnable 作为其基本的任务表现形式。 Runnable 是一个有很大局限性的接口,run() 方法没有返回值并且不能抛出一个受检查的异常。@FunctionalInterfacepublic interface Runnable { public abstract void run();}Callable与 Runnable 不同,Callable 是个泛型参数化接口,它

2021-07-06 14:51:42 430

原创 微服务平台之全链路追踪

前言:随着微服务架构技术的普及和广泛在企业应用中落地,由于微服务架构本身的特性,架构由一系列相对独立的细粒度的服务组成,一个完整的业务逻辑调用请求的背后可能牵涉后端几个、几十个甚至上百个服务接口,每个服务可能是由不同的团队开发,使用了不同的编程语言,还有可能部署在不同的机器上,分布在不同的数据中心,对于这样的一个逻辑调用关系,如果在调用过程中发生问题,比如说调用失败,或者调用过程响应很慢,如何在这样一个分布式环境下快速定位问题所在、快速分析业务处理中的响应慢的瓶颈在哪?多个微服务之间存在调用关系,如何在

2021-07-02 11:26:20 463 2

C语言知识点完整总结(超清版)

1)程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以 二进制的形式. 数据存放的位置就是 他的地址. 4)bit是位 是指为0 或者1。 byte 是指字节, 一个字节 = 八个位.

2018-12-12

数据结构1800题(含详解答案)

最新版数据结构1800题 含完整答案详解 自学或者考研可以参考一下,期末考试也可以参考

2018-11-17

数据结构复习总结

适用于期末考试、考研复习、个人自学的知识点权威总结,包含全部数据结构的内容。

2018-11-13

ACM算法竞赛常用代码

时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)   排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排  序,外部排序)   数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理) 指针(链表,搜索判重,邻接表,开散列,二叉树的表示,多叉树的表示) 按位运算(and,or,xor,shl,shr,一些应用) 图论(图论模型的建立,平面图,欧拉公式与五色定理,求强连通分量,求割点和桥,欧拉回路,AOV问题,AOE问题,最小生成树的三种算法,最短路的三种算法,标号法,差分约束系统,验证二分图,Konig定理,匈牙利算法,KM算法,稳定婚姻系统,最大流算法,最小割最大流定理,最小费用最大流算法) 计算几何(平面解几及其应用,向量,点积及其应用,叉积及其应用,半平面相交,求点集的凸包,最近点对问题,凸多边形的交,离散化与扫描) 数据结构(广度优先搜索,验证括号匹配,表达式计算,递归的编译,Hash表,分段Hash,并查集,Tarjan算法,二叉堆,左偏树,二斜堆,二项堆,二叉查找树,红黑树,AVL平衡树,Treap,Splay,静态二叉查找树,2-d树,线段树,二维线段树,矩形树,Trie树,块状链表) 组合数学(排列与组合,鸽笼原理,容斥原理,递推,Fibonacci数列,Catalan数列,Stirling数,差分序列,生成函数,置换,Polya原理) 概率论(简单概率,条件概率,Bayes定理,期望值) 矩阵(矩阵的概念和运算,二分求解线性递推方程,多米诺骨牌棋盘覆盖方案数,高斯消元) 字符串处理(KMP,后缀树,有限状态自动机,Huffman编码,简单密码学) 动态规划(单调队列,凸完全单调性,树型动规,多叉转二叉,状态压缩类动规,四边形不等式) 博奕论(Nim取子游戏,博弈树,Shannon开关游戏) 搜索(A*,ID,IDA*,随机调整,遗传算法)

2018-11-13

spring、springmvc和mybatis完整整合包

基于spring4.0+版本,包括spring4.2.0 ,mybatis3.4.1,spring-webmvc-4.2.0,log4j,commons-logging-1.2,commons-logging-1.2等全部的jar包

2018-05-03

《鸟哥的Linux私房菜-基础篇》第四版(彩色超清版)pdf.zip

全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 鸟哥,台湾成功大学环境工程系博士,就学期间由于研究需要接触到Linux操作系统,又因实验室交接需求而建立“鸟哥的Linux私房菜”网站。因个人喜好“絮叨”,网站文章风格就此成形。曾任台湾多家知名Linux教育中心讲师,目前于昆山科技大学资讯传播系教授Linux相关课程。专长是Linux操作系统、网站规划与维护、网络安全,兴趣是写作与阅读,研究方向是网络应用整合。

2018-04-21

Python网络数据采集.(超清带书签)pdf

本书采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导。第一部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络。

2018-04-20

Python基础教程(第3版)超清中文版

本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、结构严谨、内容翔实,特别是在最后几章,作者将前面讲述的内容应用到了10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程。本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是 Python方面的技术专家,也能从书里找到令你耳目一新的东西。

2018-04-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除