后端技术

Java小白到大神的心路历程(Web前端)

邮差的信 提交于 2019-12-22 14:32:37
本文是“Java心路历程”的第二篇,第一篇请点击右侧这篇文章: Java小白到大神的心路历程(Java SE) 1.HTML/CSS 在学完Java SE之后,学不懂HTML/CSS的原因只有一个:你自己不想学。 但如果HTML/CSS是你的第一门接触编程语言,最大的障碍不是难,而是你还没有编程的思维方式,唯一的解决办法就是练习(注意,只能是练习;听课、看书的效果都不如自己练习好)。 HTML,应该是所有编程语言中最简单的一个(没有之一)。 HTML和CSS的一个共同特点就是:记。 如果要说技巧 ,那就是先通过反复的练习,暂时只记住一些常见的元素,然后再在以后学习JSP等其他课程时,遇到一个累计一个。 初学者可能会觉得CSS相对难理解一些,但实际上大部分学习JAVA的人都是做后台开发的。因此对于HTML/CSS不用花太多时间,学到自己感到吃力的时候暂时放弃也是可以的。有时候是“身在事中谜”,随着后续其他Web技术的学习,你自然就知道哪些HTML/CSS是重点,哪些仅做了解即可。 在学习HTML/CSS,还有一个现象:虽然语法简单,但太费时间了。例如,给我们一天时间,我们可能都开发完了一套基础的软件架构,或者完成一个Java SE案例的全部功能,至少也能写出几个CRUD了;但一天时间,我们可能连一个网站HTML/CSS页面都做不完。不是难,是繁。 一句话总结

nginx部署基于http负载均衡器

百般思念 提交于 2019-12-20 19:41:26
nginx跨多个应用程序实例的负载平衡是一种用于优化资源利用率,最大化吞吐量,减少延迟和确保容错配置的常用技术。 环境介绍 配置nginx负载均衡器因会用到多台服务器来进行,所以下面我会用到docker,具体docker的使用请移步 docker实战 系统环境: root@ubuntu:~# lsb_release -a #查看系统版本 No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 19.10 Release: 19.10 Codename: eoan root@ubuntu:~# uname -a #查看系统是多少位 Linux ubuntu 5.3.0-18-generic #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux docker版本和相关操作系统版本 docker版本: root@ubuntu:~# docker --version #查看docker版本 Docker version 19.03.3, build a872fc2f86 操作系统版本: [root@57b669db1de1 /]# cat /etc/redhat-release #查看系统版本 CentOS

前后端分离后的前端时代,前端技术要会做哪些事?

牧云@^-^@ 提交于 2019-12-20 08:57:28
1,什么是前后端分离 1,什么是前后端分离,要区分前端和后端,需要有个明确的界限。一般,用户可以直接看到的东西,都是属于前端的范畴,除了前端之外都属于后端了。 2,在传统的像ASP,JSP和PHP等开发模式中,前端是处在一个混沌的状态中,可以说是没有独立的“人格”可言。 3,前端负责切图和编写静态页面模板,后端将数据渲染到前端提供的页面模板中,最后将页面渲染到浏览器展示。 这个过程中,前端只提供页面模板或者写一些JavaScript脚本,有的甚至JS脚本都是后端来写,前端的作用只局限于切图和样式模板文件,这种角色就是传说中的“切图仔”。 这也是为什么行业内都觉得前端是一个很简单的工作,只要花个一周,学下HTML、CSS和PS的简单技巧就可以胜任的工作。 现在看来,那时候的前端就是一个打酱油的,发展前景很有限。那时候的JavaScript脚本也比较简单,一个jQuery就可以横扫天下,所以对于精通语言类代码的后端程序员来说,可以很快的上手JavaScript,对前端来说,发展空间就更小了。 2,前后端分离,不只是简单的代码的分离。 首先是要架构上分离解耦,逐渐摆脱前后端在架构上的依赖,前后端各司其职,分开部署在不同的服务器上,通过RESTful接口传递数据。减轻后端服务器的压力,后端服务器不再负责页面渲染,只负责输入数据,吞吐量提升了好几倍。 其次是逻辑分离,不分离的时候

「程序员之路」年轻,总得做些什么吧(致那些还未定型的程序员)

我与影子孤独终老i 提交于 2019-12-20 04:31:30
以下内容均是自己的经历与感受,勿喷!!! 一转眼离2020年也就还剩一个月左右了,现在我还在想着自己2019年的计划完成了多少? Go学会了吗?在网上买的机器学习的课程看了几节?自己的网站搭起来了吗?找到女朋友了没?别说,女朋友我是真找到了,不管咋说,脱单就好。(手动滑稽,滑稽护体) 之前在网上看到了一篇园龄12年7个月的大佬写了一篇关于他从进入这个圈子到现在退出这个圈子,写了他在这个圈子时的感受,又写了他退出后,站在局外人的身份去看这个圈子,读完之后我想了很多. 1,你对自己的定位准确吗? 定位?手机导航?我定位挺准的,打开滴滴就直接定位了,不用我操心。 其实我当时想了想,我的定位是什么。爬虫工程师?还是后端程序员?还是一个写接口的?那么爬虫工程师的定位是什么?后端程序员的定位是什么?写接口的定位又是什么呢?(以下是我个人看法与观点,如有打扰,那么妖魔鬼怪快离开,妖魔鬼怪快离开。) 我先吐槽一下我对前端程序员的看法吧,前端程序员的定位是什么?我问过一些朋友,她们都是写前端的,他们说:“写个页面,写个样式,看有啥需求写啥呗,要不然呢?” 我听完后,我真想甩他一大嘴巴子,但是还是笑着说了句:“666,你这几年真是没白干。” 我认为一个合格的前端程序员不只是写个页面,公司把你招进来是想让你做什么?写页面?写接口?对,没错,但这只是一部分,公司的初衷还是想让你提供一套完整的

几种简单的负载均衡算法及其Java代码实现

时光总嘲笑我的痴心妄想 提交于 2019-12-20 00:46:02
什么是负载均衡 负载均衡,英文 名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种 负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡能够平均分配客户请求到服 务器阵列,借此提供快速获取重要数据,解决大量并发访问服务问题,这种集群技术可以用最少的投资获得接近于大型主机的性能。 负载均衡分为软件负载均衡和硬件负载均衡,前者的代表是阿里章文嵩博士研发的LVS,后者则是均衡服务器比如F5,当然这只是提一下,不是重点。 本文讲述的是" 将外部发送来的请求均匀分配到对称结构中的某一台服务器上 "的各种算法,并以Java代码演示每种算法的具体实现,OK,下面进入正题,在进入正题前,先写一个类来模拟Ip列表: 1 public class IpMap 2 { 3 // 待路由的Ip列表,Key代表Ip,Value代表该Ip的权重 4 public static HashMap<String, Integer> serverWeightMap = 5 new HashMap<String, Integer>(); 6 7 static 8 { 9 serverWeightMap.put("192.168.1.100",

几种简单的负载均衡算法及其Java代码实现

倖福魔咒の 提交于 2019-12-20 00:45:27
什么是负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡能够平均分配客户请求到服务器阵列,借此提供快速获取重要数据,解决大量并发访问服务问题,这种集群技术可以用最少的投资获得接近于大型主机的性能。 负载均衡分为软件负载均衡和硬件负载均衡,前者的代表是阿里章文嵩博士研发的LVS,后者则是均衡服务器比如F5,当然这只是提一下,不是重点。 本文讲述的是" 将外部发送来的请求均匀分配到对称结构中的某一台服务器上 "的各种算法,并以Java代码演示每种算法的具体实现,OK,下面进入正题,在进入正题前,先写一个类来模拟Ip列表: 1 public class IpMap 2 { 3 // 待路由的Ip列表,Key代表Ip,Value代表该Ip的权重 4 public static HashMap<String, Integer> serverWeightMap = 5 new HashMap<String, Integer>(); 6 7 static 8 { 9 serverWeightMap.put("192.168.1.100", 1);

nginx 反向代理和负载均衡

亡梦爱人 提交于 2019-12-18 13:51:39
1.nginx负载均衡   网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时候来自web前端的压力,也能让人十分头痛。怎样将同一个域名的访问分散到两台或更多的机器上呢?这其实就是另一种负载均衡了,nginx自身就可以做到,只需要做个简单的配置就行。   nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。 Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认)   每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight   指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 2)、ip_hash   每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 3)、fair(第三方)   按后端服务器的响应时间来分配请求,响应时间短的优先分配。 4)、url_hash(第三方) 2.nginx负载均衡配置

Nginx安装及配置详解

混江龙づ霸主 提交于 2019-12-18 01:28:24
转自:https://www.cnblogs.com/zhouxinfei/p/7862285.html nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面简单介绍nginx 反向代理 负载均衡 nginx特点 1. 反向代理 关于代理 说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道; 此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户 正向代理 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式,我们会从两个方面来说关于正向代理的处理模式,分别从软件方面和生活方面来解释一下什么叫正向代理 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器

我们为什么要尝试前后端分离

ぐ巨炮叔叔 提交于 2019-12-18 00:19:15
这不是一篇纯技术文章,而是一篇分享我个人在前后端分离路上收获的点点滴滴的文章,以此来为准备尝试前后端分离或者想了解前后端分离的童鞋做一个大体的讲解。 尝试与改变 如果你没有尝试过前后端分离的工作流程,那么可以先试想一下这样的流程改变: 把流程从 PM:“我要这个功能” 后端:“这个先找前端做个模板” 前端:“模板做完了” 后端:“我来对接一下,这里样式不对” 前端:“我改完了” 后端:“功能交付” PM:“春节要加这个活动” 后端:“这个先找前端改个模板” 前端:“模板做完了” 后端:“我来对接一下,这里样式不对” 前端:“我改完了” 后端:“功能交付” 变成 PM:“我要这个功能” 前端:“我要接口” 后端:“接口完成了” 前端:“我来对接一下,功能交付” PM:“春节要加这个活动” 前端:“需要增加接口” 后端:“接口完成了” 前端:“我来对接一下,功能交付” 由此可见,前后端分离的主要概念就是:后台只需提供API接口,前端调用AJAX实现数据呈现。 现状与分歧 作为一名前端开发人员,我们应该尝试一些新颖的技术,完善每一个细节性的问题,不断突破自我。虽然前后端分离已经算不上什么新颖的技术或思路,但是目前很多后台开发人员甚至前端开发人员都没有接触过。 据我个人的了解,如果在一个部门里,部门人员全是后台开发人员,前端的一些页面也是由后台人员完成的

haproxy配置详解

对着背影说爱祢 提交于 2019-12-17 23:31:50
一、HAProxy简介 1.HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 2.HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。 3.HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。 二、HAProxy工作原理 HAProxy由前端(frontend)和后端(backend),前端和后端都可以有多个。也可以只有一个listen块来同时实现前端和后端。这里主要讲一下frontend和backend工作模式。 前端(frontend)区域可以根据HTTP请求的header信息来定义一些规则,然后将符合某规则的请求转发到相应后端(backend)进行处理。 三、HAProxy性能 HAProxy借助于OS上几种常见的技术来实现性能的最大化,所有的这些细微之处的优化实现了在中等规模负载之上依然有着相当低的CPU负载,甚至于在非常高的负载场景中,5%的用户空间占用率和95%的系统空间占用率也是非常普遍的现象