Go语言中文网 为您找到相关结果 1492

go tcp c/s server client 学习笔记

server1:package main import ( "fmt" "net" ) func main() { l, err := net.Listen("tcp", "127.0.0.1:9876") if err != nil { fmt.Println(err) } fmt.Println("服务器等待客户端连接") conn, err := l.Accept() if err != nil { fmt.Println(err) } defer conn.Close() fmt.Println("客户端建立连接 ") buf := make([]byte, 4096) n, err := conn.Read(buf) if err != nil { fmt.Println(err)...阅读全文

博文 2019-07-25 14:03:27 xingzhehxiang

Golang简介

Go 语言教程 image Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 Go 语言特色 简洁、快速、安全 并行、有趣、开源 内存管理、数组安全、编译迅速 Go 语言用途 Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供...阅读全文

博文 2019-07-20 22:32:40 7x24run

第一个go程序hello world

在科学技术日益发展的今天,如雨后春笋般呈现出越来越多的具有很高的性能和开发效率的服务端语言。go迄今在很多公司有用武之地,它支持高并发、低延时、低内存消耗,有很好的社区,所以引起很多的开发者逐渐转入go的阵地。下面用示例来运行第一个go程序。go环境安装,https://golang.google.cn/dl/,从上面选择适合自己的环境进行安装;go开发工具,像Goland,LieteIDE,VsCode,我选择Goland进行开发,青睐它的语法高亮,动态提示很方便。创建go工程,通过new-project创建工程,go工程要配置go path,否则无法被发现。具体步骤是,点击File-OtherSettings-Preference for new project,在搜索栏搜索GoPath...阅读全文

博文 2020-02-23 18:32:43 Statham_Jessie

Golang标准库——debug(left)

pe plan9obj pe 程序包pe实现了对PE(Microsoft Windows Portable可执行文件)文件的访问。 Constants const ( IMAGE_FILE_MACHINE_UNKNOWN = 0x0 IMAGE_FILE_MACHINE_AM33 = 0x1d3 IMAGE_FILE_MACHINE_AMD64 = 0x8664 IMAGE_FILE_MACHINE_ARM = 0x1c0 IMAGE_FILE_MACHINE_EBC = 0xebc IMAGE_FILE_MACHINE_I386 = 0x14c IMAGE_FILE_MACHINE_IA64 = 0x200 IMAGE_FILE_MACHINE_M32R = 0x9041 IMAGE_FI...阅读全文

博文 2020-09-27 03:32:41 DevilRoshan

Go 译文之词法分析与解析 Part Three

作者:Adam Presley | 地址:adampresley.github.io/2015/06/01/… 译者前言 最近发现我的翻译是越来越随性了,刚开始文章翻译的时候比较拘束,现在更多强调可读性,比如有些对文章大意没有什么影响的文字我现在都会选择直接跳过。 这篇文章主要是关于 INI 解释器的 parser 实现,它会从上一节中 Lexer 中接收 Token 解析,最终返回给使用者具有实际意义的结构体。读了这个系列的文章,我相信大家对词法器实现的原理将会有了基本的理解,但如果要真正实践,似乎还有一段距离。有兴趣的话,我们可以实现个自己的 JSON 解释器。要求可以稍微简化,只解析到 JSON 的第一层。 译文如下: 本系列第一篇文章,英文原版,我们介绍了词法分析解析的一些基础概念,...阅读全文

博文 2019-08-01 01:04:15 波罗学

简单制作Scrapy爬虫

爬虫框架本身来说,都是很优秀的,说那个更好,不如说那个更适合公司的业务需求。scrapy是用python语言编写的一个爬虫框架也是一个常见的爬虫框架,非常好用。只需要简单采集和存储即可。自带多线程和异常处理功能Scrapy:支持分布式爬虫,扩展性强,使用简单,支持中间件机制,不支持json网页采集。制作Scrapy步骤:1、新建爬虫项目:在网络爬虫采集数据之前,需要建立一个新的Scrapy爬虫项目,然后运行爬虫。2、明确目标:确定需要采集的目标网站和数据信息,运行项目,输入指令运行代码。3、新建爬虫:解析数据信息,运行代码,爬数据,取数据。4、数据存储:选择适合自己的存储方式存储自己想要的数据内容。制作Scrapy爬虫使用代理: #! -*- encoding:utf-8 -*- impor...阅读全文

go module迁移实践记录

公司的代码库都在自建的gerrit服务器上,迁移期间主要踩的坑就是gerrit上的私有库如何module落地。私有库如何通过go mod拉取初次尝试时,在项目根目录下创建go.mod文件,内容如下:module xxx.com/xxx/middlewarego 1.13复制代码然后执行go mod tidy命令 此时会自动拉取项目依赖,此时可以看到go mod的拉取过程,期间发生了未识别引入包的报错unrecognized import "path xxx.com/xxfeature" (https fetch: Getxxx.com/xxfeature?g…dial tcp 192.168.67.1:443: connect: connection refused)go mod 不行,那咱...阅读全文

博文 2020-10-13 20:32:38 贺大伟

Go 译文之词法分析与解析 Part Three

作者:Adam Presley | 地址:https://adampresley.github.io... 译者前言 最近发现我的翻译是越来越随性了,刚开始文章翻译的时候比较拘束,现在更多强调可读性,比如有些对文章大意没有什么影响的文字我现在都会选择直接跳过。 这篇文章主要是关于 INI 解释器的 parser 实现,它会从上一节中 Lexer 中接收 Token 解析,最终返回给使用者具有实际意义的结构体。读了这个系列的文章,我相信大家对词法器实现的原理将会有了基本的理解,但如果要真正实践,似乎还有一段距离。有兴趣的话,我们可以实现个自己的 JSON 解释器。要求可以稍微简化,只解析到 JSON 的第一层。 译文如下: 本系列第一篇文章,英文原版,我们介绍了词法分析解析的一些基础概念,了解...阅读全文

博文 2019-08-01 12:32:37 波罗学

vscode 使用Markdown

什么是Markdown Markdown 是一种轻量级文本标记语言,使用markdown不需要排版,你只要关系内容。说到语言,不用紧张,简单的标记语言,并非要你要你学习一门编程。只要你掌握了markdown,你就会觉得那些收费的offices太重了。写作一直是这个时代最好的投资,学习最好的方式是费曼学习法,你要用最通俗易懂的语言把你学的专业知识将给一个外行人听。如果做不到这点,说明你对知识的掌握就是一知半解。 常用的markdown编辑器 1 . markdownpad 2 . typora 这款软件没得说 它本身就相当一个浏览器,你那呢自由选择主题,甚至能够编辑主题的css文件,为你定制更好的体验效果。左侧边栏的menu做的也超赞。这个一直是我的装机必备,不过因为众所周知的原因下载速度比较...阅读全文

博文 2020-07-14 22:32:49 Charon93

开源项目 : prome-route: 使用反向代理实现prometheus分片

开源项目地址:项目地址: https://github.com/ning1875/prome-routePS: 这是一个仅用时半天就写完的项目架构图prometheus HAprometheus本地tsdb性能出色,但是碍于其没有集群版本导致HA较差实现手段注意这些手段都是要数据的统一存储可以通过remote_write 到一个提供HA的tsdb存储中通过联邦收集到一个prometheus里问题来了,搞不定集中式的tsdb集群,或者集群挂了咋办本项目介绍原理介绍肯定有一组prometheus 服务器和pod用来采集各式各样的数据那么采集器上本地的数据就是一个个分片,采集器本身也可以充当查询的角色而且每个采集器上面的指标通过一个特征标签比如cluster/app等区分通常是定义global.e...阅读全文

博文 2020-09-10 17:33:08 ning1875

RabbitMQ入门3-api参数

ch.QueueDeclare queue, err = ch.QueueDeclare( "hello", // name false, // durable false, // delete when unused false, // exclusive false, // no-wait nil, // arguments ) 参数名 参数类型 解释 name string 队列名称 durable bool 是否持久化,队列的声明默认是存放到内存中的,如果rabbitmq重启会丢失,如果想重启之后还存在就要使队列持久化,保存到Erlang自带的Mnesia数据库中,当rabbitmq重启之后会读取该数据库 autoDelete bool 是否自动删除队列,当最后一个消费者断开连接之后...阅读全文

博文 2020-06-20 21:32:42 李昊天

GoLang 环境配置

Golang 环境配置系统硬件与操作系统:64位Windows操作系统,处理器 Intel(R) Core(TM) i7-8750 CPU @ 2.20GHz安装过程安装 VSCode 编辑器直接上官网上下载 VSCode 即可,按照安装提示即可完成安装。在VSCode上运行Golang语言的好处Visual Studio Code 是一个轻量级但功能强大的源代码编辑器,可在 Windows,macOS 和 Linux 桌面上运行。它内置了对JavaScript,TypeScript和Node.js的支持,并为其他语言(如C ++,C#,Java,Python,PHP,Go)和运行时(如.NET和Unity)提供了丰富的扩展生态系统。安装Golang在Golang官网网站即可完成下载,链接:...阅读全文

博文 2020-10-03 09:32:38 hupf3

验证爬虫代理的有效性

爬虫代理是网络爬虫不可缺少的一部分。当然在使用爬虫代理IP的时候需要了解这个IP是否有效。有效IP直接使用。无效的IP拉入黑名单不使用即可。那如何验证爬虫代理IP是否有效呢,网络上其实有很多种方式:1、浏览器验证以火狐为例:打开火狐浏览器,在浏览器的右上角菜单列表中—选择—常规—网络设置—设置。把爬虫代理IP配置进去,然后填写好用户名和密码即可。代理信息设置完成后访问此http://current.ip.16yun.cn:802返回的就是代理IP的地址2、CURL验证爬虫代理(IP隧道,保持IP不变)用户可以指定IP隧道,用于连续请求场景#!/bin/bash curl -H "Proxy-Tunnel: 12345" -v -x http://username:password@ip:po...阅读全文

JVM—【02】认识JVM的垃圾回收算法与收集器

1. 对象存活判断 1.1. 引用计数算法 Reference Counting 给对象添加一个引用计数器,每当有一个地方引用它的时候,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为0的对象就是不可能再被使用的。 主流的JVM没有选用引用计数算法来管理内存,主要的原因是它很难解决对象之间的相互循环引用的问题。 1.2. 可达性分析算法 Reachability Analysis 通过一系列称为“GC-Roots”的对象作为起点,从这些结点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的(图论中的不可达)。 可作为GC Roots的对象: 虚拟机栈(战争中的本地变量表)中引用的对...阅读全文

博文 2020-01-11 21:32:47 苡仁ilss

kafka元数据在zookeeper中的存储分布

我们都知道,自从Kafka诞生之际,就一直使用Zookeeper服务来进行kafka集群的元数据和状态管理,虽然在KIP-500中有提议未来将移除Zookeeper的依赖,使用Raft协议来实现新的元数据和状态管理,但在这之前,我们仍然需要对kafka集群的整个元数据和状态有一定理解,才能更好的维护和保障kafka集群。 前言 在kafka集群中,ZooKeeper集群用于存放集群元数据、成员管理、Controller 选举,以及其他一些管理类任务。 存放元数据: 是指主题分区的所有数据都保存在 ZooKeeper 中,且以它保存的数据为权威,其他“人” 都要与它保持对齐。 成员管理: 是指 Broker 节点的注册、注销以及属性变更。 Controller 选举: 是指选举集群 Contr...阅读全文

通过 Module proxy protocol 解决 Go 依赖包安装问

背景在 NAS 上搭建开发环境, 发现安装 vim-go 时, 一直有报错: request timeout, dial tcp 172.217.24.17:443: i/o timeout 原因应该是 GFW 导致 vim-go 部分依赖包下载失败。在做 Go 项目开发的时候,会经常依赖各种轮子,所以需要有类似 Proxy,用于快速下载各种 Package(有 VPN 的请忽略)。Module proxy protocolGo Modules 是 Golang 官方最近几个版本推出的包管理工具, Go Mod 支持 Module proxy protocol , 配置后用户可以转发请求到代理服务器(但是不支持请求参数),来获取源服务器上的依赖包。Modules pro...阅读全文

服务治理那些事-容错之断路器

微服务架构将某个单一的复杂系统拆分成多个可独立自治的服务,服务之间通过松耦合的方式进行交互,这为我们带来了许多好处,包括低耦合、可重用性、业务敏捷性和分布式部署能力、强扩展性。但于此同时,也给我们引进了新的挑战。​ 在微服务场景下,每个模块之间的互通都通过远程调用的方式来代替传统单体架构中的内存调用,在获得扩展性、重用性的同时,也使得整个体系结构因为网络的不稳定性、资源的过量使用变得更加脆弱。当一项或多项依赖服务持续不可用或出现高延迟时,将会导致整个服务级联失败。而且,服务客户端中的重试逻辑会使呈现高延迟的服务状况恶化,最终使整个系统陷入瘫痪。就像多米诺骨牌效应一样推倒整个系统。 duominuo.jpg 为了提高服务的可用性,避免级联影响,最经典的解决办法之一就是在服务之间的RPC边界引入...阅读全文

博文 2020-04-13 09:32:47 你比天气还晴朗

详解Go语言的计时器

Go语言的标准库里提供两种类型的计时器Timer和Ticker。Timer经过指定的duration时间后被触发,往自己的时间channel发送当前时间,此后Timer不再计时。Ticker则是每隔duration时间都会把当前时间点发送给自己的时间channel,利用计时器的时间channel可以实现很多与计时相关的功能。 文章主要涉及如下内容: Timer和Ticker计时器的内部结构表示 Timer和Ticker的使用方法和注意事项 如何正确Reset定时器 计时器的内部表示 两种计时器都是基于Go语言的运行时计时器runtime.timer实现的,rumtime.timer的结构体表示如下: type timer struct { pp puintptr when int64 per...阅读全文

golang接口使用记录

golang接口使用记录 1. 总述 接口类型是对其他类型行为的概括与抽象,Go语言的独特之在于它是隐式实现,无需申明它实现哪些接口,只要提供接口所必须的方法即可。 接口即约定 实现单词和行的计数器,考虑使用bufio.ScanWords // counter.go // 计数器 type Counter interface { Count(fileName string) error } // 单词计数 type WordCount int func (w *WordCount) Count(fileName string) error { file, err := os.Open(fileName) if err != nil { return errors.New("open file...阅读全文

博文 2020-02-24 13:32:43 进击的大只文

爬虫代理的cookie生成运行

HTTP是用于互联网传输数据信息到本地的一种传送协议我们在浏览器中输入输入关键词,会返回页面内容。这就是我们用浏览器向网站所在的服务器发送了一个请求,网站的服务器接收到这个请求后进行解析,然后把网页内容呈现出来。有时候服务器网站会检测IP在一个时间段内的请求次数,如果过于频繁,就会拒绝服务,简称为封IP。HTTP代理就是用别人的IP进行访问,进行IP伪装。除非是访问网站或APP专用数据api接口,正常的HTTP请求都需要进行ua(User-Agent)优化,因为ua是浏览器标识,如果http请求没有ua,或ua太少,都会被网站运维统计异常的,ua越丰富分布就越真实。cookie最好是登陆获取的,一般访客的cookie,对方限制会比较严格,可以控制一个地区新访客的访问频率。另外反爬统计的js也...阅读全文

关注服务质量--重试

在当前主流的微服务架构体系中,由于存在大量的远程服务调用,会存在各种各样的稳定性问题,包括但不仅限于网络拥堵,服务宿主机系统抖动,服务配置下发导致的额外开销等等。为了尽可能的提升服务质量,我们常常需要在各种存在风险的远程调用中,采用适当的重试策略,今天就简单讨论下重试相关的问题。 重试策略 所谓重试策略,首先关注的是两个参数:1.重试次数;2.调用间隔。 两个参数都很重要,首先来说重试次数,如果对重试次数不加限制,在出现下游系统故障,或者恰好命中下游系统bug的情况下,可能出现在相当一段时间内的重试都会以失败告终,这时候的重试不仅没有起到提升对外服务质量的效果,反而会对当前服务和下游服务都造成非常大的不必要负荷。 其次是重试调用间隔的问题,常见的调用间隔策略包括: 固定时间 每两次重试调用之...阅读全文

博文 2020-10-18 16:32:37 MontyOak

TiDB源码阅读(二) 简单理解一下 Lex & Yacc

上一篇中,介绍了 TiDB 的入口,从根据配置启动 TiDB 到匹配 MySQL 协议,再到开始做 parser。那接下来我们就简单了解下 SQL 解析处理这一块的内容。当我还是萌新的时候,参与过 Java SQL 解析、优化器 demo 的编写,不过也只是聊到用的技术是 ANTRL ,甚至不知道为什么要做解析、优化,也不大了解是什么原理实现。最新学习 TiDB 解析优化 SQL 的流程,深觉还是要先至少简单的了解 Lex & Yacc 。它们能够让你更容易的解析复杂的语言,达成解析字符串的目的。Lex & Yacc输入字符流 ,发现某一段字符能够匹配一个关键字,就根据定义好的动作来执行。例 1 打印%% begin printf("BEGIN;\n"); executeSql printf...阅读全文

博文 2020-08-01 23:32:38 Sev7ndayYo

五分钟学Java:如何才能学好Java Web里这么多的技术

副本_未命名.jpg 原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 系列文章介绍 本文是《五分钟学Java》系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年多的Java学习和工作经历,总结和沉淀下来的方法论,希望能让Java学习这件事变得更简单,作者目前在阿里做Java,忙里偷闲分享一些技术文章,有兴趣看本系列更多文章可以关注我的公众号【Java技术江湖】 系列文章将会把一些技术学习方法、过程、要领与我的学习经验相结合,更加浅显易懂,并且我也会把我学习时用的资料,书籍和文章拿出来分享给大家,节省你我的时间。所谓授人以鱼也要授人以渔,是本系列文章希望达到的目标。 本文思维导图 在这里插入图片描述 什么是Java Web 不知道Java We...阅读全文

博文 2020-03-05 03:32:48 程序员黄小斜

APP爬虫mitmproxy代理工具的安装和使用

mitmproxy 是python中的一款抓包工具mitmproxy 安装:安装mitmproxy,可以使用pip install mitmproxy直接安装,还会附带mitmdump和mitmweb这两个关联组件。mitmdump他是一种命令接,mitmweb是一种web程序mitmproxy的作用:拦截,修改,保存HTTP(S)请求支持HTTP(S)发出请求返回响应支持反向代理和透明代理命令接口对接python对HTTP请求处理mitmproxy原理:mitmproxy 启动, 默认监听在 8080 端口。新开一个代理设置mitmproxy转发请求到本地上,mitmproxy就相当于一个中间人(抓包工具),抓取到数据后对接mitmdump组件进行保存和分析。设置代理:#! -*- enc...阅读全文

Protobuf

编译安装编译器protoc wget https://github.com/protocolbuffers/protobuf/releases/download/v2.6.1/protobuf-2.6.1.zip unzip protobuf-2.6.1.zip cd protobuf-2.5.0 ./configure CC=clang CXX=clang++ CXXFLAGS='-std=c++11 -stdlib=libc++ -O3 -g' LDFLAGS='-stdlib=libc++' LIBS="-lc++ -lc++abi" make -j 4 sudo make install protoc --version 安装插件 go get -u github.com/golan...阅读全文

博文 2020-09-27 17:35:52 shooter

Golang bytes.buffer详解

Buffer 介绍 Buffer 是 bytes 包中的一个 type Buffer struct{…} A buffer is a variable-sized buffer of bytes with Read and Write methods. The zero value for Buffer is an empty buffer ready to use. (是一个变长的 buffer,具有 Read 和Write 方法。 Buffer 的 零值 是一个 空的 buffer,但是可以使用) Buffer 就像一个集装箱容器,可以存东西,取东西(存取数据) 创建缓冲器 func main() { buf1 := bytes.NewBufferString("hello") buf2...阅读全文

博文 2020-06-24 17:34:33 Gundy

16.Golang设计模式之解释器模式

解释器模式 GitHub代码链接 解释器模式(Interpreter Pattern)提供了评估语言和语法表达式的方式。 什么是解释器模式 解释器模式实现了一个表达式的接口,该接口解释一个特定的上下文。这种模式被用在SQL语句处理,符号解释引擎等。 解决的问题 给定一个语言,定义他的文法,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么就值得将该问题的各个实例表述为一个简单语言中的句子,这样就可以构建一个解释器,解释器通过解析这些句子来解决该问题。 优点 可拓展性高,灵活 易于实现简单的文法 缺点 可使用场景少 对于复杂的文法较难维护 解释器模式会引起类膨胀 解释器模式采用递归调用的方法 代码实现 1. 创建语句的接口 //Express...阅读全文

博文 2020-10-08 10:32:40 ShawnLee_123

如何使用CSS选择所有子元素?

如何使用CSS递归选择所有子元素?下面本篇文章就来给大家介绍一下使用CSS递归选择所有子元素的方法,希望对大家有所帮助。 原文地址:如何使用CSS选择所有子元素?当元素是某个元素的子元素时,可以使用子选择器匹配,该选择器选择特定父级的所有子元素。子选择器由两个或多个由“>”分隔的选择器组成;它也称为element > element选择器。注:子选择器只能选择自己的子类,第二级元素,而不能选择第二级别以下的元素。语法:选择指定元素的所有指定子元素element1 > element2如果想要递归选择所有子元素,则使用以下语法 element1 > * { // CSS样式 } 示例1:选择所有子元素 阅读全文

博文 2020-03-20 21:32:48 yanghs

开源项目: prome_shard consulwatch+动态分片实现Prometheus采集端高可用

开源项目地址:项目地址: https://github.com/ning1875/prome_shard项目说明prometheus采集端单点问题采集类型采集机器级别的指标采集k8s基础监控指标采集部署在lb后面的vm业务指标采集部署在pod里的业务指标采集各种中间件的指标 如kafka zk clickhouse等面对如此复杂的采集类型,一般会使用一批采集Prometheus各司其职sd发现问题面对不同的采集来源,有对应的服务发现类型,如k8s_sd,我们修改Prometheus代码适配不同的服务发现类型,比如有一些指标挂在lb的后面,需要通过lb的服务发现来感知后端server的变化但是问题是每个采集器都是单点的,而且修改适配不同的发现源当然也可可以无脑启动多个相同的采集器采集同一组jo...阅读全文

Hyperledger Fabric协议的定制之protocol buffer

前言以前也研究过这个protobuf这一语言标准,这一google开发的用来网络协议指定的标准。这次再遇到这里就着研究fabric的机会深入的说明一下。用这个进行协议的指定是比较节约网络带宽,编解码方便。下面我们就从数据类型和编解码方式两个方面来加以说明。通过本文的阅读你将会发现,利用好protobuf有利于你提高程序编写的效率和减少协议指定的繁杂性。特别是如果你要设计的是一个网络系统的时候。1、protobuf的关键字和数据类型针对不同的程序语言(C++,java,golang)有不同的protobuf解析器,但是他们的数据类型是一样的,关键字略有差别。这里我们以golang和protoc-gen-go解析器为例来进行说明。protocol buffer 语言的源文件一般以name.pro...阅读全文

博文 2020-04-30 03:32:47 刨根问底儿

go学习笔记-init函数执行顺序分析

golang中有个神奇的函数init,该函数会在所有程序执行开始前被调用,每个包可以包含多个init函数,所有被编辑器识别到的init函数都会在main函数执行前被调用。通常被用来注册一个程序需要使用的依赖,如mysql注册,配置文件加载等。 在main包的使用 package main import "fmt" func main() { fmt.Println("这里是mian") } func init() { fmt.Println("这里是Init1") } func init() { fmt.Println("这里是Init2") } //输出结果 这里是Init1 这里是Init2 这里是main 一个很简单的示例,可以看到init函数是在main函数执行之前被执行的,并且一个...阅读全文

博文 2020-01-15 09:32:42 旧梦发癫

五分钟学Java:如何才能学好Java Web里这么多的技术?

副本_未命名.jpg 原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 系列文章介绍 本文是《五分钟学Java》系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年多的Java学习和工作经历,总结和沉淀下来的方法论,希望能让Java学习这件事变得更简单,作者目前在阿里做Java,忙里偷闲分享一些技术文章,有兴趣看本系列更多文章可以关注我的公众号【Java技术江湖】 系列文章将会把一些技术学习方法、过程、要领与我的学习经验相结合,更加浅显易懂,并且我也会把我学习时用的资料,书籍和文章拿出来分享给大家,节省你我的时间。所谓授人以鱼也要授人以渔,是本系列文章希望达到的目标。 本文思维导图 什么是Java Web 不知道Java Web这个词是从什么时候...阅读全文

博文 2020-03-05 03:32:48 程序员黄小斜

使用高匿爬虫代理的安全性

互联网的发达,导致网上出现的网络爬虫也越来越多,伴随着爬虫对HTTP代理的需求也多了起来。刚开始的爬虫使用HTTP代理,对代理IP都不太信任,觉得很不安全。实际上不是这种。高匿的爬虫代理的安全性特别的好。在使用中不用担心安全问题,因为使用了代理以后,服务器的本机IP是处在一种隐藏状态,对方服务器看到的是代理服务器的IP。这就是越来越多的网络爬虫使用爬虫代理,它保证了客户隐私的安全。HTTP代理类型:透明代理、普通代理、高匿代理透明代理:无法隐藏本地IP普通代理:对方服务器知道是使用了代理IP高匿代理:隐藏本机IP,且对方无法知晓你是否使用了代理IP使用高匿HTTP代理的好处:1、提供网络爬虫采集速度。2、隐藏本机IP3、解决网站反爬策略使用高匿名爬虫代理的方式:阅读全文

新人自学编程应该去哪里学?

## 自学编程首先 JSRUN JSRUN 是一个强大功能的在线编辑器,更是一个编程学习网站 [点击进入JSRUN](http://jsrun.net/) JSRUN是支持在手机或平板上编写代码的编辑器,可以在线运行Node.js、PHP、Java、C语言、C++、Python、Go语言、Kotlin、Rust、Dart、R语言、C#、Ruby、objc、F#、VB.NET、Swift、clojure、Groovy、Lua、Pascal、Perl、Shell、Erlang、Scala、Haskell、Nim、Lisp、OCaml、Racket 30种编程语言。 同时也有以上三十多种编程语言全套教程,更有十多种开发框架教程,JSRUN  为大家提供了免费学习编程的机会 ...阅读全文

Go相关公众号文章每日推荐 【2020-09-06】

一、Go语言中文网 1. [Go语言爱好者周刊:第 59 期 — Go1.16 预计支持内嵌静态资源](https://mp.weixin.qq.com/s/Db5UQfpv10oebN4n89q5fw) 2. [腾讯:汇编是深入理解 Go 的基础](https://mp.weixin.qq.com/s/2JQM1piaWPQW-uwD_P-3Cg) 3. [原来还可以这么做:go version 命令的高级用法](https://mp.weixin.qq.com/s/svmWO1WjJjL5pCd6eyzPVg) 4. [由引用类型引发的概念的深入理解](https://mp.weixin.qq.com/s/ZAcxDhgYyf1C1cOiycZ4vg) 二、...阅读全文