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

好用的MySQL抓包工具:sniffer-agent

sniffer-agent 抓取tcp包解析出mysql语句,将查询信息打印在屏幕上或者发送到Kafka。 1. Architecture 架构设计: 本项目采用模块化设计,主要分为四大模块:TCP抓包模块,协议解析模块,输出模块,心跳模块 2. Parse Protocol sniffer-agent采用模块化结构,支持用户添加自己的解析模块,只要实现了统一的接口即可 MySQL PostgreSQL Redis Mongodb GRPC 详细输出格式查看 3. CapturePacketRate sniffer-agent可以动态设置抓包率,详情查看文档 4. Exporter 输出模块主要负责,将解析的结果对外输出。默认情况下输出到命令行,可以通过指定export_type参数选择ka...阅读全文

数据库工程师的职责是什么?有哪些发展方向?

数据库开发工程师 1.负责公司业务数据库系统的模型设计,表结构设计 2.负责数据处理中的语句实现,存储过程逻辑实现 3.负责指导开发人员对语句的性能优化和指导 数据库管理员(DBA) 1.负责公司业务数据库系统的部署实现 2.负责数据库系统的高可用性,备份恢复,性能调忧,监控等实现 数据库架构师 1.统筹公司业务数据库系统各个层面的技术实现 2.指导数据库开发工程师和管理员在各个环节的工作,提供更优的方案 数据俨然已经成为所有企业的重要资产,互联网企业更是将数据作为自己的生命线。一个优秀的数据库工程师通常掌握着企业的核心价值,保障数据服务持续正常运转,所以在公司地位相对比较高。责任越大,地位越高,薪资越高。 高速社会要求高速的系统,现在的系统性能瓶颈已经不是传统的硬件瓶颈,而是后台程序和数据...阅读全文

图解 kubernetes scheduler 架构设计系列-初步了解

资源调度基础 scheudler是kubernetes中的核心组件,负责为用户声明的pod资源选择合适的node,同时保证集群资源的最大化利用,这里先介绍下资源调度系统设计里面的一些基础概念 基础任务资源调度 基础的任务资源调度通常包括三部分: 角色类型 功能 node node负责具体任务的执行,同时对包汇报自己拥有的资源 resource manager 汇总当前集群中所有node提供的资源,供上层的scheduler的调用获取,同时根据node汇报的任务信息来进行当前集群资源的更新 scheduler 结合当前集群的资源和用户提交的任务信息,选择合适的node节点当前的资源,分配节点任务,尽可能保证任务的运行 通用的调度框架往往还会包含一个上层的集群管理器,负责针对集群中schedul...阅读全文

博文 2020-01-10 15:34:24 代码仔

[9月23日][北京] 敏捷开发:促进项目管理创新变革

全球化竞争时代环境在客观上加速了企业项目管理变革,“产品技术创新”和“技术升级”成为企业应对挑战的利器。但大多数的企业对开发创新还没有确立相应的概念,项目管理过于粗放、简单,管理工具落后,缺乏完整的管理体系。因此,中国企业在项目管理方面面临着非常具体的管理挑战:

客户需求越来越多,市场变化越来越快。

产品更新越来越快,产品生存周期越来越短

技术快速发展,流程停滞不前

庞大研发团队的协作管理问题

很多成功实践表明,敏捷项目管理是实现开发项目变革和研发项目管理“落地”最有效的解决方案,帮助企业实现项目管理的创新之路。ACP敏捷帮助企业建立能快速响应市场驱动的高效产品研发项目管理和决策平台,...阅读全文

大话设计模式 -- Golang实现

DesignPattern Use GO language to achieve 23 design patterns 该项目是拜读《大话设计模式》后,学习Golang语言实现的,有很多不足之处,有待完善 有些模式是根据UML图编写的基本框架,有些是基于特定的环境下编写的实例 创建型模式 Abstract Factory抽象工厂模式:提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类 Builder建造者模式:将一个复杂对象的构建与它表示分离,使得同样的构建过程可以创建不同的表示 Factory Method工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类 Prototype 原型模式:用原型实例指定创建对象的种类,并...阅读全文

博文 2019-03-27 21:35:24 Golang语言社区

架构师知识体系整理

抽空系统整理一下知识体系.仅仅作为一个纲要.1. 计算机基础1.1 CPUCPU指令流水线CPU多级缓存CPU缓存失效CPU 缓存一致性协议CPU MUMA架构多核CPU的演进CPU分支预测1.2 内存内存访问主内存工作内存虚拟内存页表/TLBMMAP内核page cache内核block cache进程地址空间内核地址空间1.3 磁盘机械磁盘/SSD/NVME ...顺序读写/随机读写内核 cache/预读cache脏页flush磁盘cachefsync/datasync/sync原子读写MMAPMMAP读写性能分析磁盘IO1.4 文件 本地文件远程文件虚拟文件系统卷MMA以及异常软链接/硬链接文件句柄/资源1.5 网络IO多路复用TCPHTTP/HTTPS代理带宽1.6 容器隔离CPU/...阅读全文

博文 2019-12-17 18:32:45 贺大伟

阿里架构师告诉你最新Java架构师学习路线图

1、Java架构师是什么?要想往Java架构师的方向发展首先要知道Java架构师是什么?Java架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个Java架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。Java架构师在软件开发的整个过程中起着很重要的作用。说的详细一些,架构师就是确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。2、Java架构师的任务Java架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好...阅读全文

博文 2019-04-15 18:34:41 杜弥

设计模式-04-职责链模式

职责链模式概述职责链模式是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 实现使用数据过滤类来实现职责链模式。用户传递数据给FilterChain类,但是数据具体会被哪个过滤器处理客户并不知道,FilterChain最终会返回被过滤后的数据给用户。 总结与分析职责链模式让请求者和接收者解耦,从而可以动态地切换和组合接收者 代码实现:职责链模式(php/go...阅读全文

博文 2019-04-11 09:34:40 疯狂的卡卡

来自Java高级架构师的晋级心得

#### 序言 **架构师是什么?** 是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面。 ![](https://upload-images.jianshu.io/upload_images/11633898-586ab34d642f6643.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/...阅读全文

博文 2019-01-07 21:36:23 _pangzi

从普通JAVA程序员到阿里架构师,他用了六年

工作年限:8 年服务公司:4 家(含四大门户中的两家)最近职业:Java 架构师职场关键词:社交平台、高并发系统架构设计、技术团队管理、多款从零到一的产品城市!六年间,这位职人呆过四大门户中的两家,完成了工程师到架构师的蜕变。经手多款从零到一产品的开发和增长,也经历国内最大社交平台亿级流量和用户的架构设计及优化工作。工作上思路清晰、认真负责,是同事们心目中优秀 Problem Solver。问:介绍一下你自己?答:我 2008 年硕士毕业后,前 2 年在一家传统 IT 公司,最近 6 年在互联网公司,历任 Java 开发工程师、高级工程师、架构师等职位。工作内容上,经历过多款产品从零到一的诞生开发过程,也经手过国内用户、内容和流量最大的社交/社区产品的架构改造优化工作,有丰富的社交产品的研发...阅读全文

博文 2018-10-28 23:34:40 java成功之路

Spring MVC 浅谈

MVC这个词儿,最早的定义应该是作为一种软件架构设计模式出现在软工里面的,即使用model、view、controller 来设计及定义web软件的。 Spring MVC 是指Java 当前阶段最大的开源项目Spring 对于MVC 做出了具体的实现,叫做Spring MVC,作为Spring 的一个子集存在。顺道提一下Spring,现阶段的Spring 已经不再是当年那个Ioc、AOP、MVC的简单的“小”web框架了。看一下Spring 官网的一个图: 又差不多25个应用。覆盖的应用面已经达到了Java 服务器端开发的方方面面,几乎已经是Java 服务器端开发的规范。 image.png 回到MVC,MVC上文说到了不是Java 所特有的,它是一种软件架构的设计模式。 主要通过 1、拦...阅读全文

博文 2019-10-03 19:32:44 aside section ._1OhGeD

一起了解什么是高并发

我们在找工作时,经常在招聘信息上看到有这么一条:有构建大型互联网服务及高并发等经验,想到高并发,我们第一想到了媒体上经常出现的新闻阿里双11每秒处理xx万订单,瞬间觉得高并发是一种很屌的技术,很高大上,如果像笔者这种没做过大型服务的普通程序员,在此根据网上的资料,对高并发写一下我个人的看法 高并发的概念 这里我引用一段架构师之路公众号究竟啥才是互联网架构高并发中的一段话来描述: 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求 那么很多请求,具体达到多少请求才算是高并发系统呢?这个也没有明确数量上的定义,根据网上很多大型互联网公司的相关高并发博客,一般PV在千万级别以上的公司才会涉及到这个概念,所以...阅读全文

博文 2017-09-06 11:35:14 tomorrowwu

代码模板 | 我的代码没有else

嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「模板模式」如何在真实业务场景中使用。 什么是「模板模式」? 抽象类里定义好算法的执行步骤和具体算法,以及可能发生变化的算法定义为抽象方法。不同的子类继承该抽象类,并实现父类的抽象方法。 模板模式的优势: 不变的算法被继承复用:不变的部分高度封装、复用。 变化的算法子类继承并具体实现:变化的部分子类只需要具体实现抽象的部分即可,方便扩展,且可无限扩展。 什么真实业务场景可以用「模板模式」? 满足如下要求的所有场景: 算...阅读全文

博文 2020-03-31 12:34:21 TIGERB

从普通Java程序员到阿里高级架构师,他用了六年!

六年间,这位架构师待过四大门户中的两家,完成了工程师到架构师的蜕变。经手多款从零到一产品的开发和增长,也经历国内最大社交平台亿级流量和用户的架构设计及优化工作。工作上思路清晰、认真负责,是同事们心目中优秀 Problem Solver。**工作年限:8 年服务公司:4 家(含四大门户中的两家)最近职业:Java 架构师职场关键词:社交平台、高并发系统架构设计、技术团队管理、多款从零到一的产品城市!从普通Java程序员到阿里高级架构师,他用了六年!**问:介绍一下你自己答:我 2008 年硕士毕业后,前 2 年在一家传统 IT 公司,最近 6 年在互联网公司,历任 Java 开发工程师、高级工程师、架构师等职位。工作内容上,经历过多款产品从零到一的诞生开发过程,也经手过国内用户、内容和流量最大...阅读全文

博文 2018-09-25 18:34:46 java闲谈录

一名十余年资深Java架构师的经验之谈

所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面,实在是一言难尽。要想往架构师的方向发展首先要知道架构师是什么?架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 天马行空架构师在软件开发的整个过程中起着很重要的作用。说的详细一些,架构师就是确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。架构师的主要任务不...阅读全文

博文 2019-03-29 20:34:41 杜弥

从普通JAVA程序员到阿里P8架构师,他用了六年

工作年限:8 年服务公司:4 家(含四大门户中的两家)最近职业:Java 架构师职场关键词:社交平台、高并发系统架构设计、技术团队管理、多款从零到一的产品城市!六年间,这位职人呆过四大门户中的两家,完成了工程师到架构师的蜕变。经手多款从零到一产品的开发和增长,也经历国内最大社交平台亿级流量和用户的架构设计及优化工作。工作上思路清晰、认真负责,是同事们心目中优秀 Problem Solver。问:介绍一下你自己?答:我 2008 年硕士毕业后,前 2 年在一家传统 IT 公司,最近 6 年在互联网公司,历任 Java 开发工程师、高级工程师、架构师等职位。工作内容上,经历过多款产品从零到一的诞生开发过程,也经手过国内用户、内容和流量最大的社交/社区产品的架构改造优化工作,有丰富的社交产品的研发...阅读全文

博文 2018-11-13 00:34:39 JAVA高级架构开发

一名十余年资深Java架构师的经验之谈

所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面,实在是一言难尽。要想往架构师的方向发展首先要知道架构师是什么?架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。​天马行空架构师在软件开发的整个过程中起着很重要的作用。说的详细一些,架构师就是确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。架构师的主要任务不...阅读全文

博文 2019-04-24 19:02:39 answer-A

[北京] [滴滴云] 招聘Golang高级后端研发工程师

>职位描述 ###### 参与滴滴基础架构业务系统的设计、研发工作,提升滴滴产品稳定性; ###### 有良好的拆解需求,分析问题能力; ###### 进行相关产品的技术文档编写,方案设计; ###### 学习研究业界先进技术,保持技术进步。 >任职要求 ###### 本科及以上学历,计算机相关专业,两年以上服务端研发经验; ###### 深入理解计算机原理,有扎实的数据结构和算法基础; ###### 深入理解linux系统及其原理,熟悉TCP/IP、HTTP协议以及网络编程; ###### 良好的编码和文档习惯,对代码美感的追求孜孜不倦,并能持续的关注和优化自己做的项目; ###### 精通Go/C/C++/Python等至少一...阅读全文

DDD & Microservices

Microservices(微服务架构)和DDD(领域驱动设计)是时下最炙手可热的两个技术词汇。在最近两年的咨询工作中总是会被不同的团队和角色询问,由此也促使我思考为什么这两个技术词汇被这么深入人心的绑定,它们之间的关系是什么呢? 服务于更高的业务响应力 首先从两个词汇的发明来看它们是没有因果关系的。DDD是Eric Evans于2003年出版的书名,同时也是这个架构设计方法名的起源。DDD的想法是让我们的软件实现和一个演进的架构模型保持一致,而这个演进的模型来自于我们的业务需求。这种演进式设计方法在当时看来还是比较挑战的,更为流行的解决架构设计复杂度的方法是分层:比如数据架构、服务架构、中间件架构等。MVC在互联网应用开发领域也基本成为了标配。 时间很快过了10年,Martin Fowle...阅读全文

HashMap原理和实现

理我们都知道怎么使用goLang中的map来存储键值对类型的数据,但是它的内部实现是怎么样的?其实map是一种HashMap,表面上看它只有键值对结构,实际上在存储键值对的过程中涉及到了数组和链表。HashMap之所以高效,是因为其结合了顺序存储(数组)和链式存储(链表)两种存储结构。数组是HashMap的主干,在数组下有有一个类型为链表的元素。这是一个简单的HashMap的结构图: HashMap结构当我们存储一个键值对时,HashMap会首先通过一个哈希函数将key转换为数组下标,真正的key-value是存储在该数组对应的链表里。HashMap的数组往往是有限的,那当要存储的键值对很多数组不够或者两个键值对哈希运算后的值相同时,不就会有不同的键值对存储在同一个数组下吗?是的,这个就叫做...阅读全文

博文 2018-07-11 14:34:45 Java小铺

Go设计模式实例:简单工厂

> > 该系列文章将用简单的例子来介绍Go语言设计模式的实现。 -------- 简单工厂模式定义 -------- * 工厂模式提供创建具体实例的功能,使用者无需关心其具体实现。 ---- 适用场景 ---- * 避免客户端知道内部的具体实现,只有工厂才能接触实现细节。返回的实例可以是接口、具体类型等。 ---- 简单实例 ---- * 利用工厂模式求几何图形的边长和面积。 package main import ( "fmt" "math" ) type GeometryType int const ( GeometryRect GeometryType = iota GeometryCicle ) type Geometry interface { Area () float32 Pe...阅读全文

Nebula Graph 的数据模型和系统架构设计

本篇主要介绍 Nebula Graph 的数据模型和系统架构设计。 有向属性图 DirectedPropertyGraph Nebula Graph 采用易理解的有向属性图来建模,也就是说,在逻辑上,图由两种图元素构成:顶点和边。 image.png 顶点 Vertex 在 Nebula Graph 中顶点由标签 tag 和对应 tag 的属性组构成, tag 代表顶点的类型,属性组代表 tag 拥有的一种或多种属性。一个顶点必须至少有一种类型,即标签,也可以有多种类型。每种标签有一组相对应的属性,我们称之为 schema 。 如上图所示,有两种 tag 顶点:player 和 team。player 的 schema 有三种属性 ID (vid),Name (sting)和 Age (in...阅读全文

设计模式-模板方法模式(Go语言描述)

这篇文章我们还是继续我们的设计模式系列, 今天我们带来的一个全新的设计模式在实际开发中大家肯定都遇到过, 可能大家只是不知道它叫模板方法模式而已, 今天我们就来详细的说一下什么是模板方法模式,已经该模式如何运用. 至于什么是模板方法模式, 我们还是老规矩, 先来个定义, 然后上张类图更加直观的看一下. 定义 模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤. 这个定义还是非常不错的, 至少认真读2遍还是可以理解什么意思的, 而且我们脑袋里可以想象到该如何设计这样的一个结构. 那它有什么样的使用场景呢? 其实在定义中已经说的很明白了, 大致有一下两点应用场景: 某些类别的算法中,实做了相同的方法,造成代码的...阅读全文

博文 2016-09-04 09:00:02 qibin0506

java实习生的技术要求有哪些?看看BAT对java实习生的要求

java实习生的技术要求有哪些?要进BAT有什么条件?下面就跟着千锋一起来看看吧! 对于实习生而言,其实很多公司要求都不是很高,毕竟对你的要求要对的起给你的工资水平,很多公司肯定都知道你本身的大体水平,不会期望太高,只是让你边学习边工作,如果你足够聪明伶俐,足够好学,可能就多培养你一些。 不过不同水平的公司(BAT>TMD>其他优秀的互联网公司>小型创业公司),肯定是对你的培养程度不同的,相应的对你实习的要求肯定是不同的。不要认为对你要求越高,得到的实习工资就会高,不是的,像腾讯阿里等公司对于实习生技术要求很高,但工资就在两三千左右,但以后的发展却是远远大于这个价值的。 一、BAT企业对实习生的要求(以阿里为代表): java基础非常重要,当然也要深入理解原理,什么JVM,JMM,Class...阅读全文

博文 2018-10-08 16:34:54 锋迷小小芊

优秀的程序员更重视阅读源码,不看源码那是假的

01从事java开发的都知道java有个垃圾回收机制Garbage collection,要准确理解Java的垃圾回收机制,我们可以从:“什么时候”,“对什么东西”,“做了什么事情”这三个方面来分析。01、“什么时候”“什么时候”即是GC触发的条件。GC触发的条件有两种:程序调用System.gc时可以触发;系统自身来决定GC触发的时机。系统判断GC触发的依据:根据Eden区和From Space区的内存大小来决定。当内存大小不足时,则会启动GC线程并停止应用线程。​新生代、老年代结构minor gc/full gc,还需要了解Minor GC 金额Full GC 触发条件Minor GC触发条件:当Eden区满时,触发Minor GC。Full GC触发条件:调用System.gc时,系统...阅读全文

博文 2018-10-11 16:06:01 Java007

如何把golang的Channel玩出async和await的feel

引言 如何优雅的同步化异步代码,一直以来都是各大编程语言致力于优化的点,记得最早是C# 5.0加入了async/await来简化TPL的多线程模型,后来Javascript的Promise也吸取这一语法糖,在ES 6中也加入了async和await. 那么,被大家一称赞并发性能好、异步模型独树一帜的golang,能否也有async和await呢? 其实,这对于golang的CSM来说一点也不难! 核心代码如下: done := make(chan struct{}) go func() { // do work asynchronously here // close(done) }() <-done 是不是很简单呢? go rountine负责async, channel的负责await,...阅读全文

博文 2020-02-10 23:32:45 海之方

头条后台研发面经(共三面)+架构师进阶路线分享

![image.png](https://static.studygolang.com/181216/d1248fff78c6b96bd28c7ced82b875ef.png) 后端研发工程师 找牛客大佬要到了白金码,跳过死亡笔试,直接视频面,面试从3点开始,断断续续到晚上8点结束。 每个面试官给我的感觉都是怎么这么高冷啊。 一面: 1 写一个题,找一个无序数组的中位数 2 写了个快排,然后让我找到无序数组第k大的一个数,我说先排序再找,实际上可以用快排的partition函数。 3 快排的时间复杂度,最坏情况呢,最好情况呢,堆排序的时间复杂度呢,建堆的复杂度是多少,nlgn。 4 操作系统了解么,Linux和windows 5 说说Linux的磁盘管理,一脸懵逼 6 Linux有哪些进程通...阅读全文

博文 2018-12-16 20:10:36 Javaspring12

SpringBoot统一异常处理

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器导致无法按原来的方法优雅停机。经过了反复的搜索发现SpringBoot可以引用spring-boot-starter-actuator来暴露shutdown端口。 org.springframework.boot spring-boot-starter-actuator 在pom文件中加入上面的代码就OK了。再在application...阅读全文

博文 2018-09-19 14:59:12 Java1122zzz

设计模式-01-适配器模式

适配器模式概述在开发过程会遇到有两个项目,A项目想调用B项目的接口,然而两个项目并没有做兼容。适配器模式就将一个类的接口,转换成客户期望的另一个接口。适配器模式就好比IPhone手机的转换器一样。还有Javachoking的swing库也有很多Adapter也是适配器模式应用的场景。 结构适配器模式结构图 实现实现使用适配Log类。当Log实现了保存到文件的功能后,客户想实现保存到数据库,使用适配器模式可以实现。 总结与分析适配器模式的主要目的是组合两个不相干的类,在不改变原有系统的基础上,提供新的接口服务。 代码实现:适配器模式(php/go...阅读全文

博文 2019-04-10 20:34:39 疯狂的卡卡

提升研发效率 保障数据安全——阿里云宣布数据管理DMS企业版正式商业化

摘要: 阿里云数据管理DMS企业版,作为数据管理产品大家族里的新成员,于2017年11月开启公测,今年1月底正式发布商业化版本。 作为业界领先的面向企业的数据库DevOps解决方案,DMS企业版旨在帮助企业安全、高效的使用数据库,提升研发与DBA运维的协作效率,为企业核心数据提供更安全的访问管控和操作记录查询审计。 **点此查看原文: http://click.aliyun.com/m/41268/** 阿里云数据管理DMS企业版,作为数据管理产品大家族里的新成员,于2017年11月开启公测,今年1月底正式发布商业化版本。 ![图片描述](http://img.blog.csdn.net/20180130104827243?watermark/2/text/aHR0cDov...阅读全文

一个成功的程序员,自然要懂微服务,汇总微服务架构的15钟框架!

这几年来,微服务这个概念越来越火了,火到什么程度呢? 2019年有一个统计说,两千家企业里,45%在使用微服务,16%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的15%的企业没有使用微服务。 微服务到底有什么好呢? 微服务在2013年才被提出,短短几年就有这么快速的发展。 微服务架构能够实现由小型自主服务组成一个整体应用,各个组成部分之间是松耦合的,复杂性低,各个部分可以独立部署,修复bug或者引入新特性更容易,能够独立扩展,不同技术栈之间可以使用不同框架、不同版本库甚至不同的操作系统平台。 对于中大型架构系统来说,微服务更加便捷,微服务成为很多企业架构重构的方向,同时也对架构师提出更高的挑战。 目前有很多常用于微服务构建的框架,对于构建微服务架构能够带来一些帮助。 J...阅读全文

博文 2020-04-20 17:40:23 专攻计算机从业者

JAVA面试核心教程|Java面试基础知识点总结

Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么? byte——1 byte——Byte short——2 bytes——Short int——4 bytes——Integer long——8 bytes——Long float——4 bytes——Float double——8 bytes——Double char——2 bytes——Character boolean——————Boolean boolean数据类型非true即false。 这个数据类型表示1 bit,但是它的大小并没有精确定义。 《Java虚拟机规范》中如是说:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语...阅读全文

博文 2018-08-28 21:52:10 Java_fenxiang

要成为一个 Java 架构师得学习哪些知识?

既然java架构师,首先你要是一个高级java攻城尸,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池...:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题,比如hashmap的实现原理,好多五年以上经验的人都弄不清楚,还有为什扩容时有性能问题?不弄清楚这些原理,就写不出高效的代码,还会认为自己做的很对;总之一句话越基础的东西越重要,很多人认为自己会用它们写代码了,其实仅仅是知道如何调用...阅读全文

博文 2018-09-21 18:34:39 架构师springboot

阿里p8Java技术专家,他们的能力都需要达到什么程度?

大家口中的P8,通常都是阿里P8高级技术专家,是一线Team leader或者二级域架构师,需要对一个领域的业务非常熟悉并且能够将影响力辐射到其他合作团队。一般来说一些业务架构、应用架构、产品功能决策、技术选型、协作分工等问题应该在P8层次终结,P8是一线作战的小队长,向下提供决策,向上提供有效的信息。P8 Java技术专家,不仅要具备优秀的编程能力和系统设计能力,在技术视野和业务洞察力方面,也要有很深的积淀。经过我半年多的整理,今天刚好有此机会,我整理了一份架构图谱,主要是针对2-5年左右的Java开发程序员提升的,不管是传统行业还是互联网行业,掌握这些技术基本都能拿到一个不错的薪资,希望对大家有所帮助。​​​​阿里是Java大厂,所以可以参考阿里的标准,而对P8的要求是什么呢,以下4个小...阅读全文

博文 2019-06-25 15:23:20 a1127889067

招聘区块链的大小咖,欢迎来撩,坐标杭州

岗位职责 1.从事区块链产品的设计与研发工作,研究区块链的协议,运行机制和底层实现等; 2.搭建基于区块链的底层架构,实现公链、侧链、私链等多种逻辑,供应用层调度使用。 3.组织制定和实施技术决策和技术方案,组织架构设计与升级优化; 4.指导项目团队成员的日常开发工作,解决开发中的技术问题; 职位要求 1.熟悉比特币、以太坊、Fabric等的区块链相关机制与原理 2.理解各类主流的共识算法,包括不限于PoW,PoS,DPoS,PBFT,Paxos,Raft等 3.熟练掌握GoLang或C/C 开发语言 4.熟练掌握主流编程语言如Node.js, Python 5.熟悉linux操作系统,熟练掌握Docker容器技术的原理,部署和使用优化 6.熟悉TCP/IP...阅读全文

Go语言程序设计:集合类型

Go语言程序设计:集合类型 Go 集合 本章主要介绍了以下类型: 值,指针以及引用的类型。除此之外,还包括了Go语言的一些内置类型:数组、切片和映射。 通常情况下,变量持有相应的值。值在传递给函数或者方法时会被复制一次,这对布尔类型或者数值类型来说非常廉价。按值传递字符串也很廉价,因为字符串不可变。但是,如果修改一个传入的字符串的话,代价可能会很大。 在Go语言中,数组是按值传递的。幸运的是,我们不常用数组,而是用切片。 对于指针来说,用法跟C是类似的。既有&取地址操作符,也有*解引用操作符。其基本的用法与C指针类似。在生成一个结构体的实例时,我们可以用new(Type)来生成这个实例的指针,或者用&type{}的方法来生成指针。其中后者还可以进行初始化。 除了这两者之外,还有引用类型。引用...阅读全文

博文 2016-09-06 18:00:01 kamendula

你技术这么好,总要改变点什么把!

这篇文章我很早就想写了,工作至今(10年)我对于技术这个东西的体会也越来越多。今天触发我动键盘敲字的是一个事情:我在准备做一个golang内存模型的ppt,准备节后给组内同学分享。但是过程中遇到问题,就谷歌了一下,搜出了我自己16年写的一篇文章。。。我才记起来,16年我看雨痕大神的书的时候,研究过一阵子的内存模型。我越阅读文章越尴尬,倒不是因为文章有错误,而是因为我对这段知识点没有任何印象。于是,我和小白读者一样,重新和16年当时的我进行了知识的沟通。 于是我发了这么一篇微博: 对于这个事情,我首先是很庆幸,庆幸自己当时还留下了自己阅读的心得和文字。但是转念一想,更多的是恐惧,恐惧的是,我不知道我现在头脑里面的技术知识,在几年之后,又会在哪里?唯一所幸我文笔还未辍,几年之后的文章估摸大都还在...阅读全文

博文 2019-10-12 11:32:50 aside section ._1OhGeD

从普通Java程序员到阿里高级架构师,他用了6年!

6年间,一位架构师待过四大门户中的两户,已完成了工程师到架构师的蜕变。经手几款从零到一产品的开发和增涨,也亲身经历国內最大社交网络平台亿级数据流量和用户的架构设计及优化工作。在工作中思路清晰、尽职尽责,是同事们心目中出色 Problem Solver。参加工作时间:8 年服务公司:4 家(含四大门户中的两户)近期岗位:Java 架构师职场关键词:社交网络平台、高并发系统架构设计、技术团队管理、多款从零到一的产品城市! 问:介绍一下下你自身答:我 2007 年本科大学毕业,前 2 年在一家传统式 it互联网 企业,近期 6 年在互联网企业,现任 Java 开发工程师、高级工程师、架构师等职位。工作内容上,经历过多款产品从零到一的诞生开发过程,也经手过国內用户、內容和数据流量最大的社交/社区产品...阅读全文

博文 2019-02-13 21:34:44 Java架构007

工作总结

2010-2013 封装IOCP 内存池 使用CEGUI开发PC客户端UI 初识分布式 CS网络交互 单例、reactor、表驱动等设计模式 STL、模板 初识C# 初始多线程 版本管理 代码调试 xml 文件读写、配置解析 应用日志 sql 夯实C++基础,采用一些设计模式来更通顺的组织代码,以及会利用一些C++奇技淫巧来缩减代码,理解代码重构的意义。理解怎样用socket建立TCP连接来进行CS交互,以及通信中结构体的序列化和反序列化。对多线程安全有了初步的认知,了解互斥体、信号量和原子操作在多线程环境下怎样解决数据竞争。理解分布式架构下的数据同步、数据落地。熟悉游戏开发的总体流程。认识C#。 2013-2016 C#网络通信 Redis cocos2d-x、Unity Java/JNI...阅读全文

博文 2019-03-15 01:34:40 牧桐谣

Fabric高级架构师/ 技术总监,待遇丰厚!坐标北京

**岗位职责**: 1. 主流区块链底层(Fabric、Ethereum 等)技术研究及转化; 2. Fabric 底层研究及开发; 3. HyperLedger 中国工作组相关工作; 4. 对外技术输出。 **职位要求**: 1. 本科及五年以上研发经验; 2. 扎实的基本功,如算法、网络、软件工程、数据结构等; 3. 熟悉分布式计算、大数据分析、高可用集群等技术架构; 4. 大型项目设计经验; 5. 思路清晰,很好的团队凝聚能力; 6. 熟悉去中心化设计,分布式账本技术等优先。 7. 35 周岁以下应聘者优先考虑。 **招聘邮箱**: **zengjb@hehuomao.com** 欢迎勾搭...阅读全文

Hyperledger Fabric 架构设计 by yeasy

整个功能架构如下图所示。 包括三大组件:区块链服务(Blockchain)、链码服务(Chaincode)、成员权限管理(Membership)。 概念术语 • Auditability(审计性):在一定权限和许可下,可以对链上的交易进行审计和检查。 • Block(区块):代表一批得到确认的交易信息的整体,准备被共识加入到区块链中。 • Blockchain(区块链):由多个区块链接而成的链表结构,除了首个区块,每个区块都包括前继区块内容的 hash 值。 • Certificate Authority(CA):负责身份权限管理,又叫 Member Service 或 Identity Service。 • Chaincode(链上代码或链码):区块链上的应用代码,扩展自“智能合约”概念,...阅读全文

博文 2017-09-14 01:34:56 seancheney

区块链创业,如何高效的找到区块链人才?

本文是笔者《区块链创业宝典:发币募资之36计》系列文章之一。该系列文章是基于笔者亲身实践及因投资数字货币而观察和总结的一些经验,旨在为区块链创业者在数字货币融资过程中提供一些帮助。如果觉得有用,欢迎分享。由于很多内容涉及十分关键的私密内容,不会公开发表,如有需要,请加入我的星球,还请谅解。第35计 如何高效的找到区块链人才区块链领域人才的价格都很贵,是区块链创业的重要成本之一,且由于人才稀缺,招人还特别不容易。在一个项目刚完成融资时,是项目方用人最急切的时候。一般来说,项目方这时有了钱,且投资人也有压力让其尽快做出东西来,所以这时用人需求最强。很多项目方在招区块链领域的人时并不顺利。对于如何高效的找到区块链人才,笔者分成三个部分来回答。第一部分,如何快速提高招聘区块链人才的技巧。笔者有如下一...阅读全文

博文 2018-09-14 10:34:50 lingxuanpku

要成为一个 Java 架构师得学习哪些知识?

既然java架构师,首先你要是一个高级java攻城尸,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池...:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题,比如hashmap的实现原理,好多五年以上经验的人都弄不清楚,还有为什扩容时有性能问题?不弄清楚这些原理,就写不出高效的代码,还会认为自己做的很对;总之一句话越基础的东西越重要,很多人认为自己会用它们写代码了,其实仅仅是知道如何调用...阅读全文

博文 2017-09-02 07:05:06 阿阳啊啊

java高并发核心要点|系列5|CPU内存伪共享

上节提到的:伪共享,今天我们来说说。 那什么是伪共享呢? 这得从CPU的缓存结构说起。以下如图,CPU一般来说是有三级缓存,1 级,2级,3级,越上面的,越靠近CPU的,速度越快,成本也越高。也就是说速度方面:1级>2级>3级。 image 说到这里,我们要理解一个很重要的概念:缓存行。什么是缓存行? 首先我们来看这几级缓存,其中,1,2级缓存是CPU核心私有的,也就是说每个核,之间不会共享1,2级缓存,那它们之间怎么通信或共享数据呢? 答案是:3级缓存,如下图: image 那core1,和core2之间,是通过什么方式共享缓存呢? 答案是:缓存行! 什么是缓存行?简单来说,就是CPU内核之间共享数据的最小单位。如下图:x,y是在同一个缓存行,那每次CPU内核之间通信时交换x,y值,可以同...阅读全文

Go语言并发与并行学习笔记(三)

以下设计模式和应用场景来自Google IO上的关于Goroutine的PPT:https://talks.golang.org/2012/concurrency.slide 本文的示例代码在: https://github.com/hit9/Go-patterns-with-channel 生成器 在Python中我们可以使用yield关键字来让一个函数成为生成器,在Go中我们可以使用信道来制造生成器(一种lazy load类似的东西)。 当然我们的信道并不是简单的做阻塞主线的功能来使用的哦。 下面是一个制作自增整数生成器的例子,直到主线向信道索要数据,我们才添加数据到信道 func xrange() chan int{ // xrange用来生成自增的整数 var ch chan int...阅读全文

通过用Go编写shell小工具来实践设计模式

不久以前看过Rob Pike写的一篇文章(Self-referential functions and the design of options),对其中的提到关于如何配置结构体或者类成员属性的一种设计模式印象很深刻,其中的selft-referential更是魔幻但又不失实用性,看过细品,受益匪浅。他说为了为他正在编写的一个package(如果没猜错应该是net/rpc包)找到更合适的设计模式,他在几年间尝试了多种方案,最终选择了这种,为老前辈的这种精益求精的精神深深折服。巧合的是,前几天看了个开源项目,阅读其源码,发现英雄所见略同,也许是该作者也读了Rob的这篇文章,我不得而知,其中也用到了我们常说的“生产-消费”模式,这个项目不大,一千多行代码,实现的功能也是很简单,但作者代码的优雅...阅读全文

博文 2020-05-19 14:01:02 zhangwei

任职要求

UI设计师 职位详情 负责产品UI视觉设计与用户体验,能独立完成设计任务。 与团队合作,针对复杂抽象的问题设计清晰有效的解决方案。 准确理解产品需求和交互原型,设计出优质用户体验的界面效果图。 参与产品分析、创意以及交互体验优化,并提出建设性意见。 规范产品在用户体验上的统一性和一致性。 任职要求 本科及以上学历,设计类相关专业,2年以上的互联网或移动互联网设计经验。 有互联网公司工作经验,主导过上线项目。 精通各类交互与视觉设计,熟悉iOS、Android端的官方设计规范,同时是深度用户。 重视细节,追求像素级完美,热爱人机交互与用户洞察,对设计探索有浓厚兴趣,自我驱动力强。 具备一定的产品思维和较好的用户同理心,能够参与用户研究、交互设计、设计原型开发等工作。 后端开发工程师 职位详情 ...阅读全文

明白了,原来Go web框架中的中间件都是这样实现的

这篇文章想谈谈Go的装饰器模式、pipeline(filter)模式以及常见web框架中的中间件的实现方式。 修饰模式 修饰模式是常见的一种设计模式,是面向对象编程领域中,一种动态地往一个类中添加新的行为的设计模式。就功能而言,修饰模式相比生成子类更为灵活,这样可以给某个对象而不是整个类添加一些功能。 有时候我把它叫做洋葱模式,洋葱内部最嫩最核心的时原始对象,然后外面包了一层业务逻辑,然后还可以继续在外面包一层业务逻辑。 原理是:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。与适配器模式不同,装饰器模式的修饰类必须和原来的类有相同的接口。它是在运行时动态的增加对象的...阅读全文

博文 2019-08-31 14:16:31 smallnest

阿里带你一起学习企业运维监控平台架构设计与实现

课程介绍 本课程主要介绍了企业常见的运维监控平台的构建思路和常用软件,讲述了cacti、nagios、zabbix、ganglia、webnagios等常用监控软件的差异和优劣,并深入介绍了通过ganglia+nagios如何快速构建一个统一运维监控平台。 课时列表 • 课时1:Cacti/Nagios/Zabbix/centreon/Ganglia之抉择 • 课时2:统一运维监控平台设计思路 • 课时3:ganglia的安装与配置过程 • 课时4:通过gmetric接口扩展Ganglia监控 • 课时5:Centreon的结构与运行机制以及安装配置 • 课时6:配置centreon监控系统 • 课时7:实现ganglia与centr...阅读全文

【轻知识】有以下资料。面试是否不愁呢?

为何写这篇文章。因为搜面试题搜到一篇# PHP高级工程师面试题 。看了看,有的会有的不会。想到自己也或多或少看过一些资料,故整理一下。 以下表中,资料列,列出的就够了。大都足以回答上面的面试题中的问题。 技能 资料 思考 php内核篇 《PHP7内核剖析》《PHP 7底层设计与源码实现》《PHP 7底层设计与源码实现》视频 尽量看细点。php7较之php5怎么节省内存的。比如php7 zvalue中复杂类型的用指针操作,也就是存个指针。php7快在哪里,小到string用了柔性数组,大到ast吧。这些话是我面试后的反思。我当时只是回答结构体设计不同。 php框架篇 《深入 Laravel 核心 》《BAT资深工程师由浅入深分析Tp5&Tp6底层源码》 自己用啥框架就找啥吧。 设计模式篇 《大...阅读全文

博文 2020-02-27 16:32:54 言十年