自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

diu_brother的博客

丢哥的博客

  • 博客(113)
  • 收藏
  • 关注

原创 半小时实现一个 go 爬虫

1、Quick Start只需三步,你就可以部署一个爬取 gocn 网站的所有新闻的爬虫第一步,你需要去 github 上生成一个自己的 token Settings ——> Developer settings ——> Personal access tokens ——> Generate new token然后,配置自己的环境变量 export GITHUB_TOKEN...

2020-04-02 11:54:31 383

原创 使用 gorpc 开发 http 服务

gorpc 是一款非常简单、易用、高性能的微服务框架,使用 gorpc 可以 分分钟开发出 http 服务。gorpc 源码非常简单,可以参考:gorpc一、server 创建1、第一步,创建 gorpc server ,vim server.go ,如下:func main() { opts := []gorpc.ServerOption{ gorpc.WithAddress("1...

2020-04-02 11:53:21 881

转载 CSRF攻击原理及防护

一、CSRF是什么CSRF全称为跨站请求伪造(Cross-site request forgery),是一种网络攻击方式,也被称为 one-click attack 或者 session riding。二、CSRF攻击原理CSRF攻击利用网站对于用户网页浏览器的信任,挟持用户当前已登陆的Web应用程序,去执行并非用户本意的操作。三、CSRF攻击实例角色:正常浏览网页的用户:User正...

2019-03-09 15:44:09 21743 3

原创 golang 实现 等价查找二叉树

刚接触go语言半年,日常工作都是用小组内自研的going框架开发,对golang底层的并发机制并不是非常熟悉,近期特地研究了一下,简单实现个小算法不同二叉树的叶节点上可以保存相同的值序列。例如,以下两个二叉树都保存了序列 `1,1,2,3,5,8,13`。在大多数语言中,检查两个二叉树是否保存了相同序列的函数都相当复杂。 我们将使用 Go 的并发和信道来编写一个简单的解法。本例使用...

2019-02-12 15:25:23 824

转载 golang 实现bitmap

一、概述本文将讲述Bit-Map算法的相关原理,Bit-Map算法的一些利用场景,例如BitMap解决海量数据寻找重复、判断个别元素是否在海量数据当中等问题.最后说说BitMap的特点已经在各个场景的使用性。二、Bit-Map算法先看看这样的一个场景(来自《编程珠玑》):给一台普通PC,2G内存,要求处理一个包含40亿个不重复并且没有排过序的无符号的int整数,给出一个整数,问如果快速...

2018-10-12 20:10:19 2444

原创 Netty 源码阅读 —— 服务端创建

之前项目中用过netty,这次趁着面试空闲时间,重新梳理一遍netty源码,从服务端创建开始,话不多说,直接上代码先看看netty服务端创建的整体代码,大概如下所示:public void bind(int port) throws Exception { EventLoopGroup workGroup = new NioEventLoopGroup(); EventLoopGr...

2018-06-12 19:30:59 1144

原创 jdk源码阅读——ArrayList 、LinkedList 和 Vector 的区别分析

1、初始化:提供了有参和无参构造方法,有参数的构造方法支持传入初始长度和Collection集合。可以看出ArrayList 是对象数组。有参的构造方法初始化了数组的长度,对象数组默认的初始长度是10;private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};private static final int DEFAU...

2018-05-16 17:30:01 287

原创 CORS 跨域请求实现

什么是CORS?CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。什么是跨域?跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。跨域的严格一点的定义是:只...

2018-04-16 21:18:23 785

原创 Maven jar包冲突解决

Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.support.StandardServletEnvironmentStopping available components at java.net.URLClassLoader.findClass(URLClassLoader.java:...

2018-03-28 17:20:24 12933

原创 Maven dependencies 和 DependencyManagement 区别

之前使用PandoraBoot + HSF 构建应用的时候出现了一个诡异问题package com.taobao.ase;import com.taobao.pandora.boot.PandoraBootstrap;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoc...

2018-03-16 14:13:41 2699

转载 Maven Pom 文件详解

最近有点忘了maven的pom文件配置,备份一下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven....

2018-03-15 20:08:28 195

转载 分布式系列文章——Paxos算法原理与推导

Paxos算法在分布式领域具有非常重要的地位。但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难。网上有很多讲解Paxos算法的文章,但是质量参差不齐。看了很多关于Paxos的资料后发现,学习Paxos最好的资料是论文《Paxos Made Simple》,其次是中、英文版维基百科对Paxos的介绍。本文试图带大家一步步揭开Paxos神秘的面纱。Paxos是什么Paxos算法是...

2018-02-28 14:36:15 205

原创 几种常见的负载均衡算法实现

常见的负载均衡算法包括轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接法等。具体实现如下:package algorithm;import java.util.*;public class LoadBalancing { static Map<String,Integer> serverWeightMap = new HashMap<String,Integer>();

2017-07-09 19:56:59 1341

转载 DataTables 参数详解

//@translator codepiano//@blog codepiano //@email [email protected]//尝试着翻译了一下,难免有错误的地方,欢迎发邮件告知,多谢。/*------------------------------------------------Feature-------------------------------------

2016-10-10 10:13:16 3997

原创 和为S的连续正数序列

题目:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述:输出所有和为S的连续正数序列。序列内

2016-09-23 01:03:32 495

原创 用两个栈实现队列

题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 经典题,不多说,直接上代码import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer

2016-09-16 22:04:11 327

原创 从尾到头打印链表

题目:输入一个链表,从尾到头打印链表每个节点的值。这是一道很基础的经典题,一看到这题就能立马想到三种方法:(1)使用栈(2)递归(3)反转链表后输出,介绍前两种,解法如下://使用栈/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val

2016-09-16 21:22:13 344

原创 重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路:其实就是一个递归的思想,先找到根节点,然后递归构建出左子节点和右子节点即可 解法如下:/** * Definition for binary t

2016-09-16 21:14:44 322

原创 替换空格

题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路:依题意肯定不能用replace()函数,如果用String类其他函数,主要是注意不要遗漏各种情况解法:public String replaceSpace(StringBuffer str) { if(str==n

2016-09-10 00:04:25 337

原创 二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解法:选择从右下角往上检索public class Solution { public boolean Find(int [][] array,int target) { if(array==null||a

2016-09-09 23:28:12 347

转载 git修改提交作者和邮箱

作用一名程序员,我们会经常混迹与不同的代码仓库,时常不同仓库会有作者信息验证。比如公司内建的gitlab一般会要求统一使用公司内部的域账号签名;github要求使用github账号签名等。因此,很容易犯在不同库中提交代码发现默认配置的author信息没有变更,结果push被拒绝。下面介绍几种常用的解决方式,当然最终还是需要养成切换代码库检查author信息的习惯,主动配置// 设置全局git co

2016-07-21 15:05:33 61540 2

转载 CurrentHashMap putIfAbsent(key,value)用法讨论

先看一段代码:public class Locale { private final static Map<String, Locale> map = new HashMap<String,Locale>(); public static Locale getInstance(String language, String country, Str

2016-07-13 17:13:56 1514 1

原创 leetcode 172. Factorial Trailing Zeroes

Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.看到这道题,一开始没怎么想就直接搞的解法如下:public class Solution { public int trailingZeroes(

2016-07-12 21:27:37 277

转载 webx 表单验证

拿典型的petstore举例子,首先看一下WEB-INF的目录结构:(petstore可以在webx官网下载:http://webx.github.io/)WEB-INFO ├── common │ ├── pipeline-exception.xml │ ├── pipeline.xml │ ├── resources.xml │ ├── t

2016-07-12 09:42:38 783

原创 leetcode 102. Binary Tree Level Order Traversal

Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level). For example: Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 /

2016-07-11 23:00:28 295

原创 java数组去重

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place w

2016-07-09 22:47:16 439

原创 maven pom.xml报错解决

maven pom.xml报错Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources failed: 解决方法: 指定eclipse的maven全局配置 Window—>Preferences–>Maven–>User Settings–>Global Se

2016-07-03 17:07:26 554

转载 webx 框架入门一

来阿里实习一个多月了,被拉着直接上新项目。由于新项目要使用webx,webx框架是淘宝的框架,比较厚重又复杂,但是性能毋庸置疑(毕竟每年双十一都挺过来了)。由于webx文档较少,基本都是阿里内部使用。在网上看了一个14年实习的师兄(现在在B2B基础架构)写的文章,觉得很有用,就收藏一下:1、快速搭建webx应用:在命令行中输入如下命令:(前提是安装了maven)详细参考webx官方文档:http:/

2016-07-01 15:51:21 8122 3

原创 Maven install 报Fatal error compiling: tools.jar not found错误的处理

maven编译项目时出现了Fatal error compiling: tools.jar not found的问题,在Google上找了一下,发现以下方法可以解决。所以直接贴上来: 在Eclipse环境下,使用Maven进行deploy时发现报了该错误:Fatal error compiling: tools.jar not found: C:\Program Files\Java\jr

2016-06-30 20:45:17 5007

原创 maven install 报错解决

[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?第一次解决方式是项目右键——>build path——>config build path 然后更改发现问题并没有解决。然后到Google上搜了一下,看了很多解决方法,终于找到一个比较有用的答

2016-06-29 17:53:04 14544 4

转载 Tair-淘宝自主开发的一个分布式key/value存储系统

1.简介 tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair可以看成是一个分布式缓存. 持久化的 tair 将数据存放于磁盘中. 为了解决磁盘损坏导致数据丢失, tair 可以配置数据的备份数目,tair 自动将一份数据的不同备份放到不同的主机上, 当有主机发生异常, 无法正常提供服务的时候, 其于的备份会继续提

2016-06-01 11:31:47 1149

转载 TDDL:来自淘宝的分布式数据层

淘宝根据自身业务需求研发了TDDL(Taobao Distributed Data Layer)框架,主要用于解决分库分表场景下的访问路由(持久层与数据访问层的配合)以及异构数据库之间的数据同步,它是一个基于集中式配置的JDBC DataSource实现,具有分库分表、Master/Salve、动态数据源配置等功能。就目前而言,许多大厂也在出一些更加优秀和社区支持更广泛的DAL层产品,比如Hiber

2016-06-01 11:17:53 13001 1

转载 使用 Velocity 模板引擎快速生成代码

Velocity 是一个基于 Java 的模板引擎,它允许任何人仅仅简单的使用模板语言来引用由 Java 代码定义的对象,从而实现界面和 Java 代码的分离,使得界面设计人员可以和 Java 程序开发人员同步开发一个遵循 MVC 架构的 web 站点。但是在实际应用过程中,Velocity 又不仅仅被用在了 MVC 的架构中。Velocity 模板引擎介绍 在现今的软件开发过程中,软件开发人员将

2016-05-30 11:06:29 560

转载 实战 Jetty

Jetty 是一个用 Java 实现、开源、基于标准的,并且具有丰富功能的 Http 服务器和 Web 容器,可以免费的用于商业行为。Jetty 这个项目成立于 1995 年,现在已经有非常多的成功产品基于 Jetty,比如 Apache Geromino, JBoss, IBM Tivoli, Cisco SESM 等。Jetty 可以用来作为一个传统的 Web 服务器,也可以作为一个动态的内容服

2016-05-30 09:58:49 359

原创 Binary Tree Level Order Traversal II

Given a binary tree, return the bottom-up level order traversal of its nodes’ values. (ie, from left to right, level by level from leaf to root).For example: Given binary tree {3,9,20,#,#,15,7}, 3

2016-05-14 11:03:45 266

原创 java 用两个栈实现队列

题目: Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of queue. pop() -- Removes the element from in front of queue. peek() -- Get the front e

2016-05-09 15:58:25 510

原创 java 判断一个二叉树是不是平衡二叉树

题目:Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ

2016-04-27 17:48:46 2442 1

原创 java 动态规划问题(2)

题目: You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent h

2016-04-27 11:51:39 445

原创 在html中嵌入多媒体文件

1、嵌入pdf:(1)利用object<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="1000" height="1200" border="0"> <param name="_Version" value="65539"> <param name="_ExtentX" value="20

2016-04-26 13:13:42 7397

原创 java 交换链表中所有相邻结点的顺序

题目: Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space. You may

2016-04-23 17:28:55 1437

空空如也

空空如也

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

TA关注的人

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