Browsed by
标签:搜索引擎

最常用的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

[BetterExplained]为什么你应该(从现在开始就)写博客

[BetterExplained]为什么你应该(从现在开始就)写博客

閱讀本文約花費: 29 (分鐘)(一)为什么你应该(从现在开始就)写博客 用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处。(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极大损伤一样) 让我说得更明确一点:用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。Note:碎碎念不算思考、心情琐记不算思考、唠唠叨叨也不算思考、没话找话也不算思考,请以此类推。 下面是我个人认为写一个长期的价值博客的最大的几点好处: 1) 能够交到很多志同道合的朋友。我自己既写博客,也读别人的博客,在这个时代,对于生活中的绝大多数人来说,拓宽朋友圈子的途径几乎只有一个,通过网络,而如何在网络中寻找到气味相投的朋友,如何判断别人和自己是否有共同语言?显然,通过天天在SNS上碎碎念的那些日记是难以做到的。我佩服的一些朋友几乎全都是长期用博客记录想法的人,因此,和他们即便不打照面,也是心照不宣。即便素未谋面也能坐下来就聊得热火朝天。 为什么博客在结交志同道合的朋友方面的潜力要远胜于原始的交谈方式?很简单,第一,博客无地域限制,整个互联网上从A到B只有一个点击的距离,而传统的建立朋友圈子的方法则受到地域限制。第二,也是更重要的一点,即如果按照以前结交朋友的方式,需要互相聊天,交流观点,然后才逐渐熟悉起来,这需要一个较长的过程…

Read More Read More

为什么我不在微信公众号上写文章

为什么我不在微信公众号上写文章

閱讀本文約花費: 11 (分鐘)很多朋友问我为什么不在微信公众号上写文章。我都没有直接回答,老实说,我也是扭扭捏捏的,才去开了个个人的微信的公众号,而且还只是为了使用微服小程序,和文章的发布通知,我承认现在的阅读都在移动端,而且微信的公众号是国内移动端的文章流量及分享的入口,但是我还是更愿意使用blog这样的方式分享文章,最多也是在blog这边写好文章后,再去微信公众号那边通知一下。这个原因,不是因为我是一个老顽固,有习惯思维,而是,我不觉得微信公众号是一个好的信息传播和交流的平台。 我下面的言论仅仅代表我的个人观点,我不想强加给别人,我只是想说明一下为什么我不把我的blog迁移到微信公众号上。 首先,互联网是开放和共享的,不是封闭的。信息的传播更是需要开放的,大家可以看看互联网之子。 我希望我的文章能够被rss feed到各种阅读器中。 我希望我的文章能有更长的生命周期,长到十几年前的文章都会有人来读。 我希望我的文章可以被搜索引擎所检索到。 我希望我的文章能被别人整理,与其它人的文章放在一起互补并引用。 我希望我的文章能被修改,因为文章会有错误,也会需要时常更新。 然而,微信公众号都不能很好的支持。我希望我的文章能成为生态圈的里的一部份。所谓生态圈是相互融合,不是唯我独尊。这个和做开源软件的道理一样,开源软件不是把源代码开出来就好了,而是要去和已有的其它软件互相融合,互相兼容,…

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

十大网站创业方向

十大网站创业方向

閱讀本文約花費: 9 (分鐘)  网站的方向定位,常常是想要通过网站盈利的创业者经常会讨论到的话题。特别是对于新入行的,对互联网商业案例了解有限的朋友,可谓是最为头疼的问题。本文总结出了,具备基业长青的赚钱能力的十大网站创业方向。抛砖引玉,供大家参考。希望可以启发你的思考,寻找到适合自己的网站创业方向。   这些方向,可以独自为站,还可以组合出击。当然,这些方向也不仅仅是只能应用在网站方向。还可以举一反三的应用在其他互联网创业领域。如,短视频平台抖音、快手的内容方向创业;YouTube等vlog播客平台的内容方向创业;手机App应用开发创业等。   1、专业知识内容网站   在Google Adsense官方成功案例中,有两个成功案例让我印象深刻,一位是个木匠,在网上教人做木工;另一位是个吃货,在网上分享美食做法。都获得了丰厚的广告收入。他们的共同特点,都是一边做着自己喜欢的事情,一边将这些爱好输出为了专业的内容知识,然后通过广告变现为他们赚取收入。   也许你只需要有个博客,将你所擅长的专业能力,通过博客文章发布出来。将自己的兴趣爱好或专业能力,转化为专业内容。做自己爱好的事情,让产生的内容来为自己创造收入。   让兴趣具备被动盈利的能力,这是最推荐的一个内容方向。   2、工具型网站   人与动物的一大区别,是人可以制造和使用工具。工具可以给人们带来效率的提升,我们每天都会为了…

Read More Read More

彪悍开源的分析数据库-ClickHouse

彪悍开源的分析数据库-ClickHouse

閱讀本文約花費: 18 (分鐘)今天(2016)介绍一个来自俄罗斯的凶猛彪悍的分析数据库:ClickHouse,它是今年6月开源,俄语社区为主,好酒不怕巷子深。 本文内容较长,分为三个部分:走马观花,死而后生,遥指杏花村;第一章,走马观花,初步了解一下基本特性;第二章,死而后生,介绍ClickHouse的技术架构演化的今生前世;第三章,遥指杏花村,介绍一些参考资料,包括一些俄文资料。 第一章,走马观花 俄罗斯的‘百度’叫做Yandex,覆盖了俄语搜索超过68%的市场,有俄语的地方就有Yandex;有中文的地方,就有百度么?好像不一定 🙂 。 Yandex在2016年6月15日开源了一个数据分析的数据库,名字叫做ClickHouse,这对保守俄罗斯人来说是个特大事。更让人惊讶的是,这个列式存储数据库的跑分要超过很多流行的商业MPP数据库软件,例如Vertica。如果你没有听过Vertica,那你一定听过 Michael Stonebraker,2014年图灵奖的获得者,PostgreSQL和Ingres发明者(Sybase和SQL Server都是继承 Ingres而来的), Paradigm4和SciDB的创办者。Michael Stonebraker于2005年创办Vertica公司,后来该公司被HP收购,HP Vertica成为MPP列式存储商业数据库的高性能代表,Facebo…

Read More Read More

从搜索引擎到互联网应用,谷歌是如何成为享誉世界的科技巨头的?

从搜索引擎到互联网应用,谷歌是如何成为享誉世界的科技巨头的?

閱讀本文約花費: 6 (分鐘)提到谷歌,你一定不陌生!它是美国的一家跨国科技企业,致力于在互联网搜索、云计算和广告技术等领域提供相关的产品与服务。从最初的搜索引擎到今天各类的互联网应用,谷歌如何走出斯坦福的小宿舍成为享誉世界的科技巨头? 谷歌,一个无法被忽略的品牌。2017年被多家品牌咨询公司评为全球最有价值的品牌,排在苹果和微软之前,足见谷歌的影响力。现在,谷歌在全世界的数据中心运营有着超过百万台的服务器,每天处理着数以亿计的搜索请求;它为用户提供各样丰富的线上软件服务,如云硬盘、Gmail电子邮件、Google翻译以及Google+社交网络等等;它的Andriod操作系统在全球范围内占据着主导地位,它的Google play打败苹果APP Store成为全球最大的手机应用平台…… 谷歌最著名的产品当属它的搜索引擎,这始于1996年佩奇和布林在斯坦福大学的一个研究课题—BackRub。他们两人发现BackRub技术对高级搜索很有帮助,于是决定将这项技术卖出去,但是当时各大门户网站对此技术都非常冷漠,认为高级搜索没有太大的商业价值。最终,佩奇和布林便决定自己开公司,他们顺利地从Sun公司联合创始人贝托尔斯海姆那筹集到10万美元的启动资金,在一个小车库里研发了谷歌搜索引擎,正是这笔启动资金最终成就了谷歌今天高达5790亿美元的市值。 谷歌搜索引擎的问世后给当时的互联网行业造成了不小的…

Read More Read More

负载均衡基础知识

负载均衡基础知识

閱讀本文約花費: 18 (分鐘)一、什么是负载均衡?  互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台机器的性能问题以及单点问题凸显了出来,因此需要多台机器来进行性能的水平扩展以及避免单点故障。但是要如何将不同的用户的流量分发到不同的服务器上面呢?  早期的方法是使用DNS做负载,通过给客户端解析不同的IP地址,让客户端的流量直接到达各个服务器。但是这种方法有一个很大的缺点就是延时性问题,在做出调度策略改变以后,由于DNS各级节点的缓存并不会及时的在客户端生效,而且DNS负载的调度策略比较简单,无法满足业务需求,因此就出现了负载均衡。  客户端的流量首先会到达负载均衡服务器,由负载均衡服务器通过一定的调度算法将流量分发到不同的应用服务器上面,同时负载均衡服务器也会对应用服务器做周期性的健康检查,当发现故障节点时便动态的将节点从应用服务器集群中剔除,以此来保证应用的高可用。  负载均衡又分为四层负载均衡和七层负载均衡。四层负载均衡工作在OSI模型的传输层,主要工作是转发,它在接收到客户端的流量以后通过修改数据包的地址信息将流量转发到应用服务器。  七层负载均衡工作在OSI模型的应用层,因为它需要解析应用层流量,所以七层负载均衡在接到客户端的流量以后,还需要一个完整的TCP/IP协议栈。…

Read More Read More

Nginx 限流配置

Nginx 限流配置

閱讀本文約花費: 12 (分鐘)限流算法 令牌桶算法 算法思想是: 令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。 漏桶算法 算法思想是: 水(请求)从上方倒入水桶,从水桶下方流出(被处理); 来不及流出的水存在水桶中(缓冲),以固定速率流出; 水桶满后水溢出(丢弃)。 这个算法的核心是:缓存请求、匀速处理、多余的请求直接丢弃。相比漏桶算法,令牌桶算法不同之处在于它不但有一只“桶”,还有个队列,这个桶是用来存放令牌的,队列才是用来存放请求的。 从作用上来说,漏桶和令牌桶算法最明显的区别就是是否允许突发流量(burst)的处理,漏桶算法能够强行限制数据的实时传输(处理)速率,对突发流量不做额外处理;而令牌桶算法能够在限制数据的平均传输速率的同时允许某种程度的突发传输。 Nginx按请求速率限速模块使用的是漏桶算法,即能够强行保证请求的实时处理速度不会超过设置的阈值。 Nginx官方版本限制IP的连接和并发分别有两个模块: limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 “leaky bucket”。 limit_req_conn 用来限制同一时间连接数,即并发限制。 limit_req_zone 参数配置 limit…

Read More Read More

语雀的技术架构演进之路

语雀的技术架构演进之路

閱讀本文約花費: 21 (分鐘)每个技术人心中或多或少都有一个「产品梦」,好的技术需要搭配好的产品,才能让用户爱不释手,尤其是做一款知识服务型产品。 作者何翊宇(花名:不四)是蚂蚁金服体验技术部高级前端技术专家,语雀产品技术负责人。本文从技术架构的视角,回顾了语雀的原型、内部服务和对外商业化的全过程,并对函数计算在语雀架构演进过程中所扮演的角色做了详细的介绍。 语雀是一个专业的云端知识库,用于团队的文档协作。现在已是阿里员工进行文档编写和知识沉淀的标配,并于 2018 年开始对外提供服务。 1 原型阶段 回到故事的开始。 2016 年,语雀孵化自蚂蚁科技,当时,蚂蚁金融云需要一个工具来承载它的文档,负责的技术同学利用业余时间,搭建了这个文档工具。项目的初期,没有任何人员和资源支持,同时也是为了快速验证原型,技术选型上选择了最低成本的方案。 底层服务完全基于体验技术部内部提供的 BaaS 服务和容器托管平台: Object 服务:一个类 MongoDB 的数据存储服务; File 服务:阿里云 OSS 的基础上封装的一个文件存储服务; DockerLab:一个容器托管平台; 这些服务和平台都是基于 Node.js 实现的,专门给内部创新型应用使用,也正是由于有这些降低创新成本的内部服务,才给工程师们提供了更好的创新环境。 语雀的应用层服务端,自然而然的选用了蚂蚁体验技术部开源的 No…

Read More Read More

从虚拟机到容器,详谈各种服务虚拟化技术及其应用场景

从虚拟机到容器,详谈各种服务虚拟化技术及其应用场景

閱讀本文約花費: 17 (分鐘) 本文主要梳理了为何需要服务虚拟化技术,服务虚拟化技术的分类,并举例说明了虚拟机技术和容器技术他们的区别与联系,希望对您的学习有所帮助。 前言 近几年容器(Container)、Kubernetes等技术在数据中心、云计算、各互联网公司的业务服务中得到广泛应用,和20世纪60年代就兴起的虚拟机(Virtual Machine,VM)技术一样,容器也是一种服务虚拟化技术(Server Virtualization),但是它更加轻量,同时将焦点从Machine转移到Application,极大提高了开发、测试、生产环境部署的效率,不过其安全性和隔离性比虚拟机稍逊一筹,在一些场景下也无法完全替代虚拟机。本文主要从以下几部分来梳理虚拟机和容器技术,详细讲一下他们的区别与联系。 1.为何需要服务虚拟化技术 2.虚拟化技术分类 3.Host-based server virtualization(虚拟机)架构 4.OS virtualization(容器)架构 5.内核对容器的支持 6.虚拟机技术举例(VMWare ESXi) 7.容器技术举例(Docker Container) 8.虚拟化技术在云平台的应用( Google Cloud Platform, GCP ) 为何需要服务虚拟化技术? 节省硬件资源(机房、服务器、冷却系统等),提高资源利用率:12306…

Read More Read More

甲骨文:有史以来最伟大的25个Java应用程序

甲骨文:有史以来最伟大的25个Java应用程序

閱讀本文約花費: 22 (分鐘)作者 | Alexa Morales译者 | 刘雅梦策划 | TinaJava 的故事始于 1991 年,当时 Sun Microsystems 试图将其在计算机工作站市场的领先地位扩展到新兴且发展迅速的个人电子产品市场。几乎没有人预料到 Sun 即将创建的编程语言会使计算大众化,激发了一个全球范围的社区,并成为了一个由语言、运行时平台、SDK、开源项目以及许多工具组成的持久软件开发生态系统的平台。经过 James Gosling 领导的数年秘密开发之后,Sun 于 1995 年发布了具有里程碑意义的“一次编写,随处运行” 的 Java 平台,并将重点从最初的交互式电视系统设计转到了新兴的万维网应用程序上。在本世纪初,Java 就已经开始为从智能卡到太空飞行器的一切制作动画了。 如今,数以百万计的开发人员在使用 Java 编程,Java 仍然在以越来越快的步伐向前发展。在 Java 诞生 25 周年之际,Java Magazine(Oracle 的双月刊)联合 Oracle Java 开发团队,共同撰文回顾 Java 是如何塑造我们这个星球的。 以下是迄今为止,最具创意和影响力的 25 个 Java 应用程序, 包含了从 Wikipedia Search 到美国国家安全局的 Ghidra 等。这些应用包罗万象,覆盖了包括:太空探索、视频游戏…

Read More Read More

如何超过大多数人

如何超过大多数人

閱讀本文約花費: 23 (分鐘)当你看到这篇文章的标题,你一定对这篇文章产生了巨大的兴趣,因为你的潜意识在告诉你,这是一本人生的“武林秘籍”,而且还是左耳朵写的,一定有干货满满,只要读完,一定可以练就神功并找到超过大多数人的快车道和捷径……然而…… 当你看到我这样开篇时,你一定会觉得我马上就要有个转折,告诉你这是不可能的,一切都需要付出和努力……然而,你错了,这篇文章还真就是一篇“秘籍”,只要你把这些“秘籍”用起来,你就一定可以超过大多数人。而且,这篇文章只有我这个“人生导师”可以写得好。毕竟,我的生命过到了十六进制2B的年纪,踏入这个社会已超过20年,舍我其谁呢?! P.S. 这篇文章借鉴于《如何写出无法维护的代码》一文的风格……嘿嘿 相关技巧和最佳实践 要超过别人其实还是比较简单的,尤其在今天的中国,更是简单。因为,你只看看中国的互联网,你就会发现,他们基本上全部都是在消费大众,让大众变得更为地愚蠢和傻瓜。所以,在今天的中国,你基本上不用做什么,只需要不使用中国互联网,你就很自然地超过大多数人了。当然,如果你还想跟他们彻底拉开,甩他们几个身位,把别人打到底层,下面的这些“技巧”你要多多了解一下。 在信息获取上,你要不断地向大众鼓吹下面的这些事: 让大家都用百度搜索引擎查找信息,订阅微信公众号或是到知乎上学习知识……要做到这一步,你就需要把“百度一下”挂在嘴边,然后要经常在群或朋…

Read More Read More

全球搜索引擎Top10 可惜很多人只用过第4个

全球搜索引擎Top10 可惜很多人只用过第4个

閱讀本文約花費: 4 (分鐘)在互联网发达的今天,每当我们遇到不懂的问题,首先问的就是百度,但是有时候度娘给出的并不是我们想要的答案或者更本搜不到答案,怎么办呢? 或许你可以尝试一下下面这些全球十大搜索引擎,如果你英语不错,用英语搜索会有意想不到的收获哦。 NO.1 Google(谷歌) 月独立访问者:18亿 www.google.com 全球第一搜索引擎,不解释! NO.2 Bing(必应)月独立访问者:5亿 www.bing.com Bing是微软旗下的搜索引擎,感觉它的搜索界面背景图超美,是谷歌最好的替代品,备胎中的战斗机。 NO.3 Yahoo!(雅虎)月独立访问者:4.9亿 www.search.yahoo.com 在搜索方面,雅虎表现中规中矩,网页搜索表现不错,但死链率较高而且缺少一些应有的高级搜索功能。 NO.4 Baidu(百度)月独立访问者:4.8亿 www.baidu.com 全球最大的中文搜索引擎,不解释! NO.5 Ask月独立访问者:3亿 www.ask.com Ask搜索引擎是国外比较出名的一款搜索引擎,其规模虽不大,但很有特色。Ask是DirectHit的母公司,于2001年收购Teoma搜索引擎,并全部采用Teoma搜索结果。 是支持自然提问的搜索引擎,其数据库里储存了超过1000万个问题的答案,只要用户用英文直接输入一个问题,它就会给出问题答案,如…

Read More Read More

Scroll Up