Browsed by
标签:Java

别让自己“墙”了自己

别让自己“墙”了自己

閱讀本文約花費: 19 (分鐘)这一两周与几个朋友聊天,有年轻的90后,也有大叔级的70后,这些人在我看来都是很有能力的人,但是一些喜好过于强烈,让我不经意地回顾了我工作20年来身边的人,有发展得好的,也有发展的不好的,有些人是很可惜的,因为限制他们的不是其它人,也不是环境,而是自己,所以,很想写下这篇文章。(注:这篇文章可能会是一篇说教的文章,所以,可能会让你看着犯困,所以,我会尽量地短一些,而且尽可能多讲故事,少道理,这里的故事,全是真实发生的) 几个故事 2019年年初,我面试了一个很年轻的小伙子(93/94年出生),这个小伙子特别有灵性,也很聪明,计算机专业出身,也很喜欢技术,基础和学习能力也很好。在我这20年来认识的人中,如果他能呆在北京、上海、深圳这样的城市,我保证不出三年,他会成为他们同龄人中非常出色的技术人员,如果有个好的舞台有一个好的团队带他,他的未来会非常成功。然而,这个小伙子有两大喜好:1)只愿(或是说被迫)呆在一个毫无IT的环境的三/四线城市,2)对技术有非常大的偏好,只喜欢Go语言,非常不喜欢其它的语言,比如:Java(离开Java的世界,基本上离开了做架构的世界(相关解释见文末))。 他的这两个喜好,足以让一个未来会很优秀的人毁掉,因为,这个时代没有限制他,他的能力也没有限制他,但是他的意识完完全全地限制了他。 他把自己最宝贵的青春放在了很烂的项目上,就…

Read More Read More

etcd的简单使用

etcd的简单使用

閱讀本文約花費: 9 (分鐘)etcd的简单使用 ETCD安装配置 安装 去https://github.com/coreos/etcd/releases/下载想要的版本解压etcd包解压后进入目录,增加x权限 chmod +x etcd chmod +x etcdctl 并将etcd和etcdctl 复制到 /bin 配置启动 简单启动 ./bin/etcd 这样就可以启动使用 集群配置 在两台机器上部署了简单的集群 192.168.231.130 192.168.231.132 在配置文件/etc/defalut/etcd 中增加: ETCD_OPTS=”-name infra0 -initial-advertise-peer-urls http://192.168.231.130:2380 -listen-peer-urls http://192.168.231.130:2380 -initial-cluster- token etcd-cluster-1 -initial-cluster infra0=http://192.168.231.130:2380,infra1=http://192.168.231.132:2380 -initial-cluster-state new” 也可用参数的方法 ETCD_INITIAL_CLUSTER=”infra0=http://19…

Read More Read More

左耳朵耗子- 技术博客学习

左耳朵耗子- 技术博客学习

閱讀本文約花費: 3 (分鐘)1.通过在公司工作提高自己的技能,让自己可以更为独立和自由地生活。 2.对于没什么技术含量的工作内容,提高交付效率。把时间用来研究高技术含量的知识。3.要写文章就写别人没有写过的,或是别人写过,但我能写得更好的。4.看清市场需求(各个公司正在做什么,难题是什么)和技术趋势(首先要了解技术的历史,把本质吃透:看经典书籍,向前沿学习)5.在学习技术的过程一定要多问自己两个问题:“一,这个技术解决什么问题?为什么别的同类技术做不到?二,为什么是这样解决的?有没有更好的方式?”另外,还有一个简单的判断方法,如果一个新的技术顺应技术发展趋势,那么在这个新的技术出现时,后面一定会有大型的商业公司支持(专门做此类技术的公司),这类公司支持得越多,就说明你越需要关注。6.在一家高速发展的公司中,技术人员的价值可以达到最大化。比较好的成长路径是,先进入大公司学习大公司的技术和成功的经验,然后再找到高速成长的公司,这样你就可以实现自己更多的价值。7.动手能力很重要,持续在前线工作。8.关注技术付费点:一个是,能帮别人“挣钱”的地方;另一个是,能帮别人“省钱”的地方。9.提高自己的能力和经历。找到有价值的信息源(知识的源头:西方世界) ,最好的技术在西方: google (xxx_技术 best practice/programming , Best programming…

Read More Read More

最常用的Java框架或者开源项目有哪些?

最常用的Java框架或者开源项目有哪些?

閱讀本文約花費: 19 (分鐘)系统设计 微服务/分布式 基础框架 Spring Boot [1] :Spring Boot 可以轻松创建独立的生产级基于 Spring 的应用程序,内置 web 服务器让你可以像运行普通 Java 程序一样运行项目。另外,大部分 Spring Boot 项目只需要少量的配置即可,这有别于 Spring 的重配置。 spring-cloud-alibaba[2] : Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 Spring Cloud Alibaba Sentinel[3] :A lightweight powerful flow control component enabling reliability and monitoring for microservices. (轻量级的流量控制、熔断降级 Java 库)。 Dubbo[4] :Apache Dubbo 是一个基于 Java 的高性能开源 RPC 框架。 Nacos[5] :Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮…

Read More Read More

左耳朵耗子:程序员如何用技术变现?

左耳朵耗子:程序员如何用技术变现?

閱讀本文約花費: 20 (分鐘)作者|陈皓 编辑|小智 从事编程这个事可以做到,完全靠自己的手艺、不依赖任何人或公司去生活的。但道理我都懂,怎么做才是关键。本文摘自陈皓(左耳朵耗子)在极客时间 App 开设的付费专栏“左耳听风”。 本音频时长 1′52′′,14′完整音频请下载【极客时间】App 收听。 写在前面 程序员用自己的技术变现,其实是一件天经地义的事儿。写程序是一门“手艺活儿”,那么作为手艺人,程序员当然可以做到靠自己的手艺和技能养活自己。 然而,现在很多手艺人程序员却说自己是“码农”,编码的农民工,在工作上被各种使唤,各种加班,累得像个牲口。在职业发展上各种迷茫和彷徨,完全看不到未来的希望,更别说可以成为一个手艺人用自己的技能变现了。 从大学时代帮人打字挣点零花钱,到逐渐通过自己的技能帮助别人,由此获得相对丰厚的收入,我在很早就意识到,从事编程这个事可以做到,完全靠自己的手艺、不依赖任何人或公司去生活的。 这对于程序员来说,本就应该是件天经地义的事,只是好像并不是所有的程序员都能意识到自己的价值。这里,我想结合我的一些经历来跟你聊聊。当然,我的经历有限,也不一定全对,只希望能给你一个参考。 学生时代 我是 1994 年上的大学,计算机科学软件专业。在 1996 年上大二的时候,因为五笔学得好打字很快,我应征到教务处帮忙,把一些文档录入到电脑里。打了三个月的字,学校按照每…

Read More Read More

程序员如何把控自己的职业

程序员如何把控自己的职业

閱讀本文約花費: 26 (分鐘)这篇文章的主要内容主要是我今年3月份在腾讯做的直播,主要是想让一些技术人员对世界有一个大体的认识,并且在这个认识下能够有一个好的方法成就自己。而不是在一脸蒙圈的状态下随波逐流,而日益迷茫和焦虑。直播完后,腾讯方面把我的直播形成文字的形式发了出来,我觉得我可以再做一个精编版。所以,有了这篇文章,希望对大家有帮助。 对我来说,在我二十多年的工作经历来看,期间经历了很多技术的更新换代,整个技术模式、业务模式也是一直变来变去,我们这群老程序员成长中所经历的技术比今天的程序员玩的还更杂更多。我罗列一下我学过的,而且还被淘汰掉的技术,大家先感受一下。 – MIS应用开发:FoxPro,PowerBuilder,Delphi – OA:Lotus Notes,VBScripts – 微软:ODBC/ADO,COM/DCOM,MFC/ATL,J++ – 服务器:AIX,HP-UX,SCO Unix – Web:CGI,ISAPI,SOAP – RPC:CICS,Tuxedo – J2EE:Websphere,Weblogic – DB:Sybase,Informix 我想说的是,无论过去还是今天,我们这些前浪和你们后浪所面对的技术的挑战和对技术的焦虑感是相似的,我们那个时候不但玩996,还玩封闭开发(就是一周只能回家一天)。当然,唯一好的东西,就是比起今天的程序员来…

Read More Read More

Google SRE 评分卡

Google SRE 评分卡

閱讀本文約花費: 3 (分鐘)Google评分卡 接下来,我们再来看看Google的SRE的自我评分卡: 0 – 对于相关的技术领域还不熟悉1 – 可以读懂这个领域的基础知识2 – 可以实现一些小的改动,清楚基本的原理,并能够在简单的指导下自己找到更多的细节。 3 – 基本精通这个技术领域,完全不需要别人的帮助4 – 对这个技术领域非常的熟悉和舒适,可以应对和完成所有的日常工作。 对于软件领域 – 有能力开发中等规模的程序,能够熟练和掌握并使用所有的语言特性,而不是需要翻书,并且能够找到所有的冷知识。 对于系统领域 – 掌握网络和系统管理的很多基础知识,并能够掌握一些内核知识以运维一个小型的网络系统,包括恢复、调试和能解决一些不常见的故障。 5 – 对于该技术领域有非常底层的了解和深入的技能。 6 – 能够从零开发大规模的程序和系统,掌握底层和内在原理,能够设计和部署大规模的分布式系统架构7 – 理解并能利用高级技术,以及相关的内在原理,并可以从根本上自动化大量的系统管理和运维工作。8 – 对于一些边角和晦涩的技术、协议和系统工作原理有很深入的理解和经验。能够设计,部署并负责非常关键以及规模很大的基础设施,并能够构建相应的自动化设施 9 – 能够在该技术领域出一本经典的书。并和标准委员会的人一起工作制定相关的技术标准和方法。10 – 在该领域写过一本书,被业内尊为专家,并是该技术的…

Read More Read More

架构设计-谈谈架构

架构设计-谈谈架构

閱讀本文約花費: 32 (分鐘) 本文首先介绍了架构的概念定义,并介绍如何针对当前需求,选择合适的应用架构,希望对您的学习有所帮助。 1、什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。 此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。 Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构: 一、系统与子系统 系统:泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能独立完成的工作能力的群体。 子系统:也是由一群关联的个体组成的系统,多半是在更大的系统中的一部分。 二、模块与组件 都是系统的组成部分,从不同角度拆分系统而已。模块是逻辑单元,组件是物理单元。 模块就是从逻辑上将系统分解, 即分而治之, 将复杂问题简单化。模块的粒度可大可小, 可以是系统,几个子系统、某个服务,函数, 类,方法、 功能块等等。 组件可以包括应用服务、数据库、网络、物理机、还可以包括MQ、容器、Nginx等技术组件。 三、框架与架构 框架是组件实现的规…

Read More Read More

平安付公司壹钱包APP出故障 男子获利千万被判11年

平安付公司壹钱包APP出故障 男子获利千万被判11年

閱讀本文約花費: 11 (分鐘) 原标题:金融理财APP出故障 男子获利千万判11年 叶榅飞一审判决书。受访者供图叶榅飞一审判决书。受访者供图   律师吴绍平回忆,会面时,叶榅飞始终在问:欠钱还了就好了,真的要被判刑?   叶榅飞是福建人,在上海生活多年。去年6月,在使用一款名为“壹钱包”的金融理财软件时,叶榅飞发现,存入的钱被退回银行卡内,但软件上的账户余额却相应增加。此后8天,叶榅飞利用这一故障,前后转账超过350次,套现1125万元。   “壹钱包”平台运营方报警后,叶榅飞被警方拘留。近日,叶榅飞的辩护律师吴绍平收到该案一审判决,法院以盗窃罪判处叶榅飞有期徒刑11年,并处罚金50万元。叶榅飞妻子昨日接受新京报记者采访时表示,丈夫并非主动侵入系统盗取资金,而是利用产品漏洞牟利,并据此提出上诉。   发现漏洞后转账350余次   8天时间里,叶榅飞转了350多次账,每转一次,就意味着得到一笔“意外之财”。   2015年6月16日,叶榅飞下载了理财软件“壹钱包”,并注册激活。当年9月10日,叶榅飞用妻子黄丽丽的证件和手机号码,以黄丽丽的名义,办理平安银行(16.070, 0.50, 3.21%)“花漾卡”,并与“壹钱包”账户关联,用于后者的转账和消费。   “壹钱包”客户端由平安付科技服务有限公司(下称平安付公司)推出,花漾卡则是平安付公司与平安银行…

Read More Read More

软件架构万字漫谈:业务架构、应用架构与云基础架构

软件架构万字漫谈:业务架构、应用架构与云基础架构

閱讀本文約花費: 34 (分鐘) 本文首先介绍了架构的分类以及架构模式与架构风格其次介绍了DDD 领域驱动设计和微服务与云原生架构,最后介绍 Kuberentes 应用,了解详情请阅读下文。本文来自于知乎,由火龙果软件Alice编辑、推荐。 软件开发就是把一个复杂的问题分解为一系列简单的问题,再把一系列简单的解决方案组合成一个复杂的解决方案。而软件开发中最大的挑战,就是即能够快速高效地针对需求、环境的变化做出改变,也能够持续提供稳定、高可用的服务。而软件架构,就是软件系统的骨骼与框架。 所谓架构,见仁见智,很难有一个明确或标准的定义;但架构并非镜花水月或阳春白雪,有系统的地方就需要架构,大到航空飞机,小到一个电商系统里面的一个功能组件,都需要设计和架构。抽象而言,架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是对物/信息的功能与形式元素之间的对应情况所做的分配,是对元素之间的关系以及元素同周边环境之间的关系所做的定义。架构能将目标系统按某个原则进行切分,切分的原则,是要便于不同的角色进行并行工作,结构良好的创造活动要优于毫无结构的创造活动。 软件架构的核心价值,即是控制系统的复杂性,将核心业务逻辑和技术细节的分离与解耦。软件架构是系统的草图,它描述的对象是直接构成系统的抽象组件;各个组件之间的连接则明确和相对细致地描述组件之间的通信。在实现阶段,这些抽象组件被细化为实际…

Read More Read More

程序员必读书单 1.0

程序员必读书单 1.0

閱讀本文約花費: 80 (分鐘)本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读。旨在成为最好最全面的程序员必读书单。 前言 Reading makes a full man; conference a ready man; and writing an exact man. Francis Bacon 优秀的程序员应该具备两方面能力: 良好的 程序设计 能力: 掌握常用的数据结构和算法(例如链表,栈,堆,队列,排序和散列); 理解计算机科学的核心概念(例如计算机系统结构、操作系统、编译原理和计算机网络); 熟悉至少两门以上编程语言(例如 C++,Java,C#,和 Python); 专业的 软件开发 素养: 具备良好的编程实践,能够编写可测试(Testable),可扩展(Extensible),可维护(Maintainable)的代码; 把握客户需求,按时交付客户所需要的软件产品; 理解现代软件开发过程中的核心概念(例如面向对象程序设计,测试驱动开发,持续集成,和持续交付等等)。 和其它能力一样, 程序设计 能力和 软件开发 素养源自项目经验和书本知识。项目经验因人而异(来自不同领域的程序员,项目差异会很大);但书本知识是相通的…

Read More Read More

这多年来我一直在钻研的技术

这多年来我一直在钻研的技术

閱讀本文約花費: 15 (分鐘)因为我是看到tinyfool 《那些年我赶过的时髦技术趋势》(微博原文链接已失效,现更改为Google搜索的内容),在赞叹的时候,也让我对我有好些回忆,所以想写一篇回忆贴,本来觉得回忆是件挺让人沮喪的事,因为是老了的表现,但我写着写着,就歪了楼。看来,我还不老,还在拼博。下面是很多我的唠叨,你喜欢就读读,不喜欢就TLDR – Too Long, Don’t Read! 自从98年毕业,到今天,参加工作有18个年头了,加上在大三的时候就为两个在外面接活的老师程序,到今天,写的程序被用到生产线也有18个年头了。 背景经历 要说明我技术上的“性取向”,还得我说说的我的一些背景和经历。 我这18年,大约分三个阶段: 1996年-2000年:入门乱来期,大三大四加在银行工作的两年。 用Powerbuilder/Delphi在WindowsNT/SQL Server上做了好多个MIS管理软件,有酒店的,有送水的,有OA的。  用Java的Applet做了一个Web的教学课件,用于在Win95/IE3.0中演示操作系统中的各种调度和算法的动画,得了个全国大学生挑战者杯的鼓励奖。  用Delphi的ISAPI技术以及PHP/ASP给一些公司和大学做过几个网站。 2000年-2010年:技术学习期,这十年,我主要的编程语言是C/C++。 前两年在银…

Read More Read More

Vue.js Creator Evan You Interview: “You need to understand what your users want”

Vue.js Creator Evan You Interview: “You need to understand what your users want”

閱讀本文約花費: 3 (分鐘) Introduction Evan You is an independent software developer and the creator of the open source JavaScript framework Vue.js. We had a chance to speak to Evan about the release of Vue 3, his opinion on no-backend & fullstack approaches, Vue.js use cases and the work-life balance of the creator of the technology. The Interview Evrone:  Hey Evan, it’s great having you here today! Let’s start our interview with such a&nbs…

Read More Read More

How to Write a Spelling Corrector

How to Write a Spelling Corrector

閱讀本文約花費: 14 (分鐘)One week in 2007, two friends (Dean and Bill) independently told me they were amazed at Google’s spelling correction. Type in a search like [speling] and Google instantly comes back with Showing results for: spelling. I thought Dean and Bill, being highly accomplished engineers and mathematicians, would have good intuitions about how this process works. But they didn’t, and come to think of it, why should they know about something so far outisde their specialty? I figured they, and others, could benefit from an explanation. The full details of an…

Read More Read More

设计详解:电商业务中台如何实现可视、可配、可复用?

设计详解:电商业务中台如何实现可视、可配、可复用?

閱讀本文約花費: 23 (分鐘) 本文从常见的中台架构出发,对中台产品设计如何实现可视、可配、可复用这个问题展开了详细解析,与大家分享。 建设中台最直接的目的一般是为了帮助企业快速且低成本的创新,这就要求了中台必须降低使用方的学习成本,能把各个业务进行集中管理以及需要有较低的学习门槛,简单来讲就是:可视化、配置化、低代码。中台产品设计如何实现可视、可配、可复用?本文作者从常见的中台架构出发,对这个问题展开了详细解析,与大家分享。 中台在这两年是一个非常火的概念,其出现的目的只有一个:帮助企业快速且低成本的进行创新。 二十年前,中国的互联网刚刚起步,在线交易一片荒芜,商品信息极难通过在线进行展示,更别论在线交易;十年前,中国互联网蓬勃发展,以阿里、京东为代表的企业实现了在线交易基础设施的搭建,大部分的消费则能够在网上查找商品并进行交易; 而如今,互联网日益向着成为水电煤的趋势发展,各种模式、形态的电商不断涌现,昨天刚出现蘑菇街、小红书,今天就有有赞、拼多多;昨天刚大力吹捧微博、公众号的自媒体营销,今天又有小程序的出现。 在这个极其不确定的时代里,任何一家企业都害怕错失机会,不断出现的新鲜事物,让企业创新的成本越来越高,如何能够通过尽量少的成本,而不失尝试新鲜事物的机会,成为企业经营中遇到的难题之一。 一、常见的中台架构 在聊中台的时候,我们一定需要聊一聊软件架构,软件架构是系统发展到…

Read More Read More

那些年我赶过的时髦技术趋势

那些年我赶过的时髦技术趋势

閱讀本文約花費: 8 (分鐘)题图是我大学时代最爱玩的一个游戏,法老王-埃及艳后,这是一个以古代文明为背景的城市建设游戏。最近又捡起来玩了玩,还是那个味儿,倍爽。 上次有人说,听说tinyfool看到AlphaGo火了,马上去赶时髦学机器学习,把我弄的哭笑不得。我给大家介绍下,我从业10多年是怎么赶时髦的吧。 怎么赶上搜索技术的时髦 98年,第一次上网,也是第一次看到Google,那时候简直觉得Google就是天下第一的好东西。互联网是个无穷无尽的宝库。但是没有Google这把钥匙,你什么也不知道。 那时候,我就对搜索技术很感兴趣。一直在看各种技术文章,但是因为基础的问题,对各种文章的描述也不是很懂。01年,我根据一些自己的理解,写过一个原理性的单字倒排搜索引擎,那时候,我连怎么做好中文分词都不了解。05年,看文章知道了Lucene,但是一直没有机会用,也没上过手。 08年做技术咨询的时候,客户想上一套搜索,方案公司的报价是20万。客户询问我们有没有解决方案,我当时觉得是个千载难逢的好机会,我就跟霍炬商量好,我们试试看客户满意的话,未来还可以卖给别人。但是我们两个当时的技术路线思路不同,我看好Lucene,基于Java开发简便社区成熟,文档全面,刚刚还出了本Lucene in action,他看好Tokyo Cabinet作者用C++写的一个搜索内核。春节放假回家,我们各自写一套,…

Read More Read More

Scroll Up