自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sym的博客

编程学习者

原创 golang静态代码检查配置与常见格式异常

go环境配置下载go1.13版本,通过命令解压到/usr/local目录下,并设置环境变量:sudo tar -zxvf go1.13.9.linux-amd64.tar.gz -C /usr/local/Ubuntu_20200618虚拟机环境变量如下,通过gedit ~/.bashrc命令打开并编辑:export GOROOT=/usr/local/go # install dictoryexport GOPATH=/home/sym

2020-07-12 22:50:25 289

原创 LeetCode二叉树层次遍历套路

102. 二叉树的层次遍历题目来源:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/难易程度:中等题目描述给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7...

2020-03-12 21:59:21 129

原创 常见网络面试题总结

1.网页访问及访问推送1.1 浏览器输入网址访问网页全过程当我们在浏览器中输入一个网址,比如www.baidu.com,浏览器就会加载出百度的主页。那么浏览器背后完成的具体是怎么样的呢?总结起来大概的流程是这样的:(1)浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP(2)然后通过IP地址找到IP对应的服务器后,请求建立TC...

2020-02-25 16:07:38 148

原创 vscode中为golang开发环境配置代理goproxy

背景由于国内网络的原因,对于一些golang的开发包下载不成功,针对这个情况,go在1.13版本中,添加了如下两个环境变量:GO111MODULE // 设置go moduleGOPROXY // 设置代理服务器配置可以在环境变量中设置,相当于全局设置代理;也可以在vscode编辑器中设置。环境变量中配置Windows在电脑 -> 系统 -> 高级系统设置...

2020-02-18 21:15:17 3436

原创 链表高频面试题(包括反转、合并、相交、分割、环长等)

1.整个链表翻转https://leetcode-cn.com/problems/reverse-linked-list/1.1 题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?1.2 ...

2020-02-05 20:27:42 161

原创 git访问相关的问题

在使用git拉取golang包的过程出现了一些问题,折腾了几个小时,下面将遇到的问题和解决过程参考的文档列出来,以供有需要的人参考;同时,也感谢这些优秀文档的分享者,向你们学习。原因分析:1.可能是公钥私钥失效或者不一致导致的;2.可能是设置了代理或者设置的代理无法访问github;3.其他环境问题。一种临时解决办法如下:将git clone https://github.com/go...

2020-01-12 15:47:07 211

原创 github能访问但是ping不通

在Windows10环境下安装vscode的golang插件时,一直无法下载成功,使用git命令安装提示超时,奇怪的是github能正常访问但是ping不通。参考如下文章,得以解决:ping不通github:https://www.cnblogs.com/youpeng/p/11219225.htmlping不通github但是能访问:https://blog.csdn.net/qq_383...

2020-01-12 14:35:29 2035 1

原创 在Mac上使用idea搭建flink java开发环境

1.环境本文档记录的是使用flink的java API简单地创建应用的过程。前置条件:需要安装Java、maven和flink。1.1 Java环境变量Java需要jdk、path、classpath等环境变量,这里使用Mac下自带的jdk,配置如下:export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/C...

2019-12-30 13:15:49 288

原创 项目分析工具

1.go-callvis1.1 简介go-callvis 是一个能够将调用关系可视化展示出来的项目辅助工具,其目的是通过使用来自函数调用关系图的数据及其与包和类型的关系来对程序进行可视概览。 这在阅读/试图理解别人的代码结构,或在代码复杂性增加的大型项目中特别有用。1.2 特性关注程序中的特定包按包区分组函数和按类型区分方法将包限制到自定义路径前缀忽略包含路径前缀的包省略来自/到s...

2019-12-30 11:58:13 158

原创 数据库设计、查询规范及常用SQL语句

1.数据库设计规范1.1 表设计(1)表名前应加上前缀,表的前缀用系统或模块的英文名称缩写;(2)数据库表名应该有意义,表名太长需要用前缀表示,并且易于理解,最好使用可以表达功能的英文单词或缩写;(3)表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字;另外,表名不可以太长,最好不要超过3个英文单词长度(22个字母);数据库字段名的修改代价很大,因为无法进...

2019-12-30 11:54:10 168 1

原创 可视化开源ETL工具——kettle

1 简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle...

2019-12-30 11:45:53 999

原创 redis缓存

1 为什么使用缓存把经常查询的数据并且很少修改的数据存放到缓存中,可以减少访问数据库的频率,降低数据库读写压力,而且缓存一般都是内存,访问速度比较快。缓存就是在内存中存储的数据备份,当数据没有发生本质改变的时候,不让数据的查询去数据库中进行操作,而去内存中取数据,这样就大大降低了数据库的读写次数;而且从内存中读数据的速度比去数据库查询要快一些,这样同时又提高了效率。使用缓存减轻数据库的负载:...

2019-12-30 11:41:19 33

原创 限流与熔断初探

1 技术方案1.1 限流/熔断开关和阈值在ETCD中配置在公共包go-common中封装一个方法,在ETCD中设置限流/熔断开启/关闭的开关,将父类context传递进去,读取环境变量,开关开启则进行限流和熔断(限流/熔断阈值写死,从环境变量中读取)优点:目标明确,工作量、技术实现可预知缺点:需要人为开启/关闭限流、熔断开关,限流/熔断阈值固定,必须达到该阈值才会出发,不够灵活1.2 根...

2019-12-30 11:26:57 500

原创 使用markdown语法编辑文档

README在使用git工具进行项目开发的使用,常常看到在项目中都会有一个.md结尾的README.md文档,这个说明性文件是使用markdown语法书写的对项目进行介绍的文档。使用Markdown编写的语法自然跟其他格式的文件有所区别,这里将简单对这些语法进行介绍,以方便之后方便地使用markdown进行文档编辑。Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通...

2019-12-08 23:36:09 88

原创 《快学Scala》第六章——对象 学习笔记

本章要点概览:用对象作为单例或存放工具方法。类可以拥有一个同名的伴生对象。 对象可以扩展类或特质。 对象的apply方法通常用来构造伴生类的新实例。 如果不想显示定义main方法,可以用扩展App特质的对象。 可以通过扩展Enumeration对象来实现枚举。6.1 单例对象Scala没有静态方法或静态字段,可以用object这个语法结构来达到同样的目的。对象定义了某个类的单...

2019-11-28 14:43:27 50

原创 Flink基本概念和原理

1.Flink简介1.1 什么是FlinkApache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。1.Flink是一个针对流数据和批数据的分布式处理引擎,主要用Java代码实现。2.Apache Flink作为Apache的顶级项目,Flink集众多优点于一身,...

2019-11-02 16:26:49 107

原创 golang项目规范总结

1.实践规范在进行golang项目开发过程中,虽然没有Java那么多多变成模式,但有一些实践经验可以总结下来,对形成良好的编程规范和解决bug是有一定的帮助的。1.1 最佳实践总结(1)尽量不要panic,而要返回错误给调用方处理在生产环境中运行的代码必须避免出现 panic。panic 是 cascading failures 级联失败的主要根源 。如果发生错误,该函数必须返回错误,并允...

2019-10-24 23:43:19 391 2

原创 golang中的值类型和引用类型

值类型与引用类型值类型值类型:这些类型的变量直接指向存在内存中的值,值类型的变量的值存储在栈中。当使用等号=将一个变量的值赋给另一个变量时,如 j = i ,实际上是在内存中将 i 的值进行了拷贝。可以通过 &i 获取变量 i 的内存地址。 值拷贝引用类型引用类型:引用类型拥有更复杂的存储结构:(1)通过make创建并分配内存 (2)初始化一系列属性:指针、长度、哈希分布、数据队...

2019-08-20 20:48:29 2271

原创 MyEclipse2015破解安装与使用

现在进行Java、CSS、JavaScript开发的越来越多了,没有一个合适的便利的编译器怎么能提高开发效率呢?俗话说“工欲善其事必先利其器”,一个优秀的编译器除了具有良好的代码提示功能、美观的界面、便捷的安装配置与快捷按钮等除外(大神除外,对于他们来说使用集成开发环境IDE来说就是多余的,只需要简单的文本编译器各种代码就可以手到擒来),还需要将众多的开发工具集中在一起,这样开发起来就会更加的高效...

2019-06-13 10:20:09 4312 2

原创 版本管理工具——git常用命令使用总结

git代码库管理在实际的项目开发过程中,一个工程通常分为测试分支和线上分支,测试分支通常对应测试环境,线上分支的代码对应线上环境。使用git作为代码管理工具,可以方便地进行代码的迭代管理,多人协同开发,有利于提升开发效率。在使用git过程中,有一些经常使用的命令,熟练使用这些命令进行代码管理是程序开发过程中的基础。分支管理在代码的迭代过程中,分支管理是经常遇到的问题之一,通常一个项目分为线上...

2019-05-26 18:57:37 219

原创 Mac端安装protobuf及其简单使用

protobuf简单介绍protobuf是Google开发出来的一个语言无关、平台无关的数据序列化工具,在rpc或tcp通信等很多场景都可以使用。通俗来讲,如果客户端和服务端使用的是不同的语言,那么在服务端定义一个数据结构,通过protobuf转化为字节流,再传送到客户端解码,就可以得到对应的数据结构。这就是protobuf神奇的地方。并且,它的通信效率极高,“一条消息数据,用protobuf序...

2019-04-12 11:12:10 4359

原创 golang中的包管理工具——govendor和godep简单学习

为什么用vendor目录依赖问题我们知道,一个工程稍大一点,通常会依赖各种各样的包。而Go使用统一的GOPATH管理依赖包,且每个包仅保留一个版本。而不同的依赖包由各自的版本工具独立管理,所以当所依赖的包在新版本发生接口变更或删除时,会面临很多问题。为避免此类问题,我们可能会为不同的工程设置不同的GOPATH,或者更改依赖包路径名称。这样手动维护起来也很头疼。解决方式如果我们已经使用GO...

2019-04-02 21:12:20 2367

原创 golang中的gin框架学习

gin框架中常用方法gin.H{ }有这么一行c.JSON(200, gin.H{“message”: “use get method”})  这其中有一个gin.H{ },看样子,这像是一个结构体struct,查看gin框架的源码,声明如下:  所以,这只是一个map结构,别以为是一个struct设置http请求方式gin框架封装了http库,提供了GET、POST、PUT、D...

2019-03-29 21:00:24 3550 1

原创 Mac下使用VS Code断点调试golang程序

安装delveDevle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。线上golang服务出现问题时,Devle是必不少的在线调试工具,如果使用docker,也可以把Devle打进docker镜像里,调试代码。在命令终端terminate中执行以下安装命令,进行delve的安装。$ go get -u g...

2019-03-29 16:20:27 1988

转载 golang中defer的使用规则

为什么使用defer在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数中正常返回,也就是在return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。为了更好的学习defer的行为,我们首先来看下面一段代码:func CopyFile(dstName, srcName string) (written int6...

2019-03-03 00:09:39 101

原创 vs code那些坑

在Mac上调试程序时,需要在launch.json中进行相应的配置。配置过程如下:1.command + shift + p快速调出快捷键搜索栏2.在搜索栏中输入launch.json,选择Debug: Open launch.json3.在launch.json中进行配置type、mode、program、env、showLog等的配置name   随意配置;port     只要...

2019-03-01 21:11:52 1895

原创 go语言学习笔记——框架与工具

常用框架gin框架Gin 框架中文文档:https://www.jianshu.com/p/98965b3ff638常用库网络库http库golang中的http库 https://blog.csdn.net/weixin_42654444/article/details/82288320golang 中的http包详解:https://blog.csdn.net/yuwenqi12...

2019-03-01 18:00:06 249

原创 使用kettle过程中出现unable to create a Database Connection异常

问题与解决在使用启动kettle过程中出现Kettle / Data Integration - unable to create a Database Connection (XulException: java.lang.reflect.InvocationTargetException)异常,经过一两个小时的排查,发现是版本不对应造成的,现将其记录下来。刚开始以为是由于jdk环境变量没...

2019-02-26 15:52:09 2129 1

原创 vscode安装使用

vs code安装https://blog.csdn.net/leo_ikrulala/article/details/79472315vs code快捷键https://www.cnblogs.com/bindong/p/6045957.html遇到的问题vs code中包路径与环境变量配置不一致在配置VScode时,在命令行下能跑通,导入到vs code中发现包的路径与环境变量配置...

2019-01-21 15:09:05 697

原创 Mac下一些常用工具的安装与使用

以下的安装都是经过亲身验证的有效的安装方法,有需要的可以参考。brew的安装与简单使用安装在终端中运行如下命令,并回车即可安装成功:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"简单使用搜索软件:brew search

2019-01-14 11:42:24 858

原创 golang学习笔记

开发环境配置Atom编辑器:是Facebook和GitHub联合开发的,但是GitHub被微软收购之后,在2018.12月份Facebook宣布停止更新。VS code:微软开发,功能强大,语言类型支持丰富。VScode快捷键https://www.cnblogs.com/bindong/p/6045957.htmlgolang开发框架https://blog.csdn.net/f...

2019-01-11 10:26:38 104

转载 HBase存储、插入、修改、读取图片操作

hbase解决海量图片存储:https://blog.csdn.net/u010670689/article/details/33737989hbase存取照片:https://blog.csdn.net/BD_AI_IoT/article/details/78302568HBase插入和读取图片:https://blog.csdn.net/login_sonata/article/detai...

2018-10-03 15:02:33 4438 2

转载 Maven使用详解

Maven使用详解参考https://www.cnblogs.com/hongwz/p/5456578.html

2018-10-02 14:59:53 163

原创 git使用及问题总结

最近,尝试学习使用Atom编辑博客、文档、阅读代码等。发现Atom打开项目,阅读代码不仅界面简洁方便,而且使用不同的颜色标注,阅读起来也赏心悦目的。同时,通过其安装markdown-writer插件(https://github.com/zhuochun/md-writer)作为markdown编辑器,编写博客也很方便。但是,现在暂时没有找到好用的可视化的GitHub代码插件,进行与GitHub代...

2018-07-10 20:07:58 689

原创 Ubuntu16.04和GTX1080TI环境下安装CUDA+cuDNN+GPU版TensorFlow

参考:untu16.04 英文环境安装中文输入法 https://www.cnblogs.com/bevis-blog/p/5751536.html https://blog.csdn.net/u011795345/article/details/53041707GPU驱动及TensorFlow-GPU版本安装https://www.jianshu.com/p/b313625fbe...

2018-07-07 22:40:04 608

原创 在带有双硬盘的Windows10系统上安装Ubuntu16.04系统

最近在看深度学习,需要使用TensorFlow跑程序。虽然在Windows系统上也可以使用GPU进行加速,好不容易安装将近两天在Windows10上成功配置GTX1080TI + Anaconda3 + cuda8.0 + cudnn6.0。但是,跑程序时出个莫名的问题,不知道是不是Windows系统的问题,一直没有解决,所以今天就尝试着在Windows系统基础上安装Linux系统。Windows...

2018-07-07 01:02:59 2460

原创 IntelliJ IDEA Ultimate破解安装及使用其进行Spring程序开发

IntelliJ IDEA Ultimate破解安装最近在学习Java Web方面的知识,本来一直用的MyEclipse感觉也挺好的,但是发现周围的小伙伴好多都在使用IDEA,在经过对比之后,发现MyEclipse对某些web文件的编写、配置、提示方面不如IEDA友好,所以就转向了IDEA。IntelliJ IDEA是java语言开发的集成环境,得到一众开发者的一致好评,被公认为最好的java...

2018-06-07 17:44:26 9092

转载 Java笔试面试题整理

Java笔试面试题整理第一波 - CSDN博客链接:https://blog.csdn.net/shakespeare001/article/details/51151650目录Java变量 关于枚举 访问控制修饰符 UTF-8和GBK编码转换 trycatchfinally执行顺序问题 静态代码块子类父类初始化顺序 关于null对象static变量和方法 关于线程启动 ...

2018-04-12 22:32:02 1235

原创 多线程学习笔记

1 线程与进程1.1 进程的概念进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上执行的过程,它是系统进行资源分配和调度的一个独立单位。

2018-04-12 22:19:06 136

转载 Java之23种设计模式

题目: Java 之 23 种设计模式解析 一、设计模式概述 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式, 共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式, 共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访...

2018-03-14 22:39:31 185

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