php怎么用es搜索,被我们公司的后端大佬说你们前端真的没什么技术含量?
本来就是协作分工,各有各的长处,既然他怼你那就怼回去。小黑是做后端,但觉得前端非常重要。
前端的重要性一个公司的前端,在一家公司起非常大的作用。更是串联后台和产品的最重要的一个组成部分。
现在的客户越来越重视交互和体验,整个设计的美感、体贴度,都是需要前端不断打磨的。可以说前端就是产品的脸面,这一关过不了,根本都轮不到后端表现。
你们大佬怼的技术,那我们就谈谈技术。
前端的边界其实现在已经比较模糊了。
横向的话可以借由一些壳(CEF、Electron、PhoneGap)或一些混合编程技术(RN,NativeJS)可以触摸到原本非Web的界面开发领域,或者更直接的,很多大厂其实就是直接包含ios、android以及web三端开发人员,面向用户界面的软件开发其实带有一些共性,结合思考常常会有一些突破性思维出现。垂直的话,借由Node的普及,Jser终于可以跳出浏览器的限制,获得文件、网络编程的能力。从而以百花齐放的态势涌现了大量的工具。很多大前端部门,都会选择Node染指渲染层实现界面层的同构开发,也常见将业务API Gateway也一并承担的做法。除了所谓的拓展了前端的发展方向,更重要的其实是将业务层开发从原本的 『 前端-后端』的垂直划分 直接过渡到了 『模块1-模块2-模块n』的水平划分,减少了沟通成本。即使从纯界面领域开发,现在越来越多的toB类产品开始迁移到Web端实现,虽然比不上excel那种庞然大物的复杂度,但是6位数业务代码量级的单页系统支撑的产品在不断涌现,这还是使用了高级框架的前提下 。 对于这种复杂系统,瓶颈已然不是那些基础的dom知识,也不是浅层次的视图层框架,而是梳理流程,形成业务框架,实现积木式模块开发的系统抽象能力。从以上三点我们明显可以发现一种趋势,就是前端越来越需要抽象思维,架构能力,解耦水平以及系统框架能力。
关注用户体验,懂得交互设计。帮助产品经理校验错误是前端工程师的义务和责任。很多问题只有在实现时才会发现,如果作为实现者的你,没有及时发现前置环节中出现的错误。那这些错误很可能最后直接交给用户“欣赏”。有时,人手紧张,一个懂交互,懂产品的前端工程师可以一个人当三个人用。
怎么怼回去前端要掌握的技术非常多,你让大佬来给你讲讲。
前端要解决的问题也非常棘手,比如兼容性。你可以让那个大佬来把这些设备都兼容了。
最后,当系统出现数据泄露,服务器崩溃,吞吐量瓶颈等的时候,希望他睡得着觉,呵呵。
学习永远赶不上潮流?
哈哈,跟我一模一样啊,一年前端经验,永远跟不上技术潮流,有php基础。我现在已经成功转职php啦。
先说建议吧,我建议你在职转行。下面说说我的观点。
现在的前端已经不是用用jq、写几个onclick这么简单了,vue、react 、angular已经是基础必备技能(我只会点简单的vue)。微信小程序面试必问,而且小程序强推h5游戏,又要累死一批前端。2015年正式发布的es6已经非常普及,es7、甚至es8都正式发布了,想想都觉得可怕,更新好快是不是?不好意思,ts在前面等着你。大前端的触角甚至已经延伸到了服务端和app,构建项目依赖nodejs环境,慕课网把nodejs 归为前端,而不是后端。很多公司甚至是大公司都用h5来开发app,性能非常接近原生。前段时间我一个前端朋友在群里面发飙,学这个学那个,永远学不完。是的,前端就是你还没掌握这个技术,它已经过时了。不过回报也丰厚,那个发飙的同学在广州拿12k。
php我说几点,php5的正式发布时间是2004年,它的下一个版本是php7,你猜猜中间间隔了多少年?12年,2016年php7才发布正式版。php框架国内用的比较多的是thinkphp 和yii,thinkphp 3和thinkphp 5间隔了3年(没有4,直接跳到5),yii1和yii2间隔了7年。那php就没有什么新技术吗?有,swoole、workerman、comperser,前两者是php的异步通信框架类似nodejs,后者是php的依赖管理类似npm。但是目前这些都还是小众技术。
所以呢,如果你拿十几k那就不要转了啦,程序猿的青春饭也就这几年,转行了从头开始很痛苦。如果你拿的很低,那可以在职转行,千万不要离职在转,非常痛苦。我就是17年中在深圳前端离职后找不到工作,就浪了几个月,学了点php基础年底就来广州找工作,才3千,因为什么都不会。虽然以前有点基础做过一个博客,但是项目真正开发完全不是一个博客这么简单。
说了这么多,17年倒霉了一年,18年换份好工作,努力赚钱,新年快乐😊
网页前端开发和后台程序员哪个前景更好啊?
前后端应该都挺有发展前景,相对来说前端会比较简单一点。但是现在对于同个层次的人,一般公司前后端待遇都差不多,待遇好的肯定是你技术过硬的。那就要看自己的爱好了。以下是web前端开发和java后端开发两者的分析。
具体步骤
首先说JAVA,JAVA是作为后端开发的。现在后端开发主要是PHP和JAVA,当然还要加上数据库MySQL、Oracle。PHP比较适合交互比较少的后端,适合小规模的应用。JAVA做后端安全性、稳定性都较好,所以大、中企业用JAVA开发。当然后端开发还有C++等语言,C++的特点是开发快、成本低,一些手机游戏就用C++作为后端语言。
Web前端主要用的语言是Html5、CSS3、JavaScript,还要加上AJAX。前端开发还有什么前端呢?移动应用(APP)前端。2015年之前,开发APP的前端,要用Android和IOS,而且还必须分别开发。
2015年开始,兴起了APP前端统一开发,比如MUI框架、react native。这两种开发我都涉及到,原生android我也做过几款APP。MUI开发用的就是Web前端的那一套东西,只不过封装了很多的类。react native开发模仿的就是Web前端开发,用的语言是ES5,ES6。你网络上查一查就知道ES跟JS其实没啥区别。
所以,要说哪个有前途。真不好说,因为这两个技术就是相辅相成的。现在学前端就是从 Web前端开始。但是对于个人来说,从事前端或者后端还是有区别的。前端开发,对于有美术功底的人是有优势的,后端开发适合编程技术功底扎实的人。
如何从零开始学习Java?
Java语言是当今程序开发领域的重要工具之一,整个IT行业有大量的Java程序员在从事Web开发、大数据开发、Android开发、后端开发等岗位,因此从就业的角度来说,学习Java语言是个不错的选择。
学习Java语言可以从以下几个方面入手:
第一:理解Java语言中的“抽象”。Java语言是面向对象编程语言,具有较高的抽象层次,所以说学习Java的一个重点就是理解各种“抽象”概念,比如类(class)、接口(interface)、抽象类(abstract class)、枚举(enum)等概念。理解抽象的过程也是建立面向对象编程思想的过程,也就是考虑问题的方式方法。
第二:掌握Java语言的编程过程。Java语言的编程过程总的来说可以分为三个大的步骤,分别是类的定义、对象的创建和方法的调用,这是Java编程的“主线”。在掌握了Java编程这条主线之后,紧接着就要分别了解封装、继承、多态等概念的应用,进而逐步完成对Java开发过程的了解。
第三:重视实验和。学习Java编程一定要多动手做实验,通过实验一方面可以建立抽象概念的画面感,另一方面也可以通过实验培养自己的动手能力。另外,实验完成之后一定要及时的,这是完善编程思想的重要过程。
第四:注重交流。学习Java语言一定要多与其他程序员交流,交流的过程也是学习的过程,另外可以通过阅读优秀的代码来养成一个较好的编程习惯。
最后,在学习完Java的基本语法之后,要选择一个发展方向,不同的开发方向需要掌握的知识结构是不同的,因此需要制定不同的学习计划。通常情况下,如果没有明确的开发方向,可以选择Web开发方向。
如何快速打好Java基础?
如果你想要入门,看北京尚学堂高淇老师的课程就可以入门,高淇老师的课简单易懂,大多数都说零基础的人。只要你基础的搞得够牢固,后面的知识点只要你认真的去学。多练肯定会学会的。说一下java的学习路线:
第一:先学习Java的核心库(JavaSE)
JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程……..
第二:MySQL数据库
搞定一门数据库相关的课程,例如:MySQL、Oracle,搞定一个就可以了,目前互联网公司,例如:京东、阿里等,他们都在使用MySQL,所以建议大家学习MySQL数据库,小巧轻盈,免费,由于互联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,为了应付高并发。(搭建的比较多的时候,免费就很重要了。)
第三:WEB前端
以后从事Java开发,从事JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底层对JS进行了封装)…
第四:WEB后端(JavaWEB)
WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java,他们都可以进行WEB后端的开发,我们既然选择了比较火爆的Java,那么我们学习的后端一定是基于Java语言实现的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)。另外后端学习了之后,还要学习一个异步编程技术AJAX。(完成网页的局部刷新,AJAX其实不属于后端,是前端浏览器上的程序。)
学习到这里为止,表示Java基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。
第五:最好能够停留下来,做一个项目。
这个项目最好能将之前所学全部串起来。(对以前的知识点进行巩固。)
这个项目最好是基于:Servlet + Jsp+AJAX+jQuery+MySQL….
在这个项目的开发过程中:大家一定要记住,目前比较好的项目自动构建工具:Maven是一定要精通的。还有一个就是团队协作开发:Git/SVN是一定要会用的。(目前使用Git比较多一些。)
第六:学习高级框架
Spring、SpringMVC、MyBatis(持久层框架,这个框架互联网公司使用比较多,因为互联网项目需要进行SQL优化,MyBatis的SQL优化很方便,所以大部分都是使用MyBatis)
Struts2(很少使用了,使用这个的肯定是很老的项目)、Hibernate(传统企业,还有政府等可能会使用Hibernate。)
SpringBoot(新项目大部分使用的都是boot了。所以在项目中遇到还在使用SSM的一般都是遗留项目。)
当你走到这里之后,基本上你可以出山了。
第七:最好能有一个大型项目是使用框架来完成的。
SpringBoot做一个项目。
Spring SpringMVC MyBatis做一个项目。
这个项目最好是找几个人搭伙做一下。体验一下团队协作。(尤其是使用一些协作的工具。怎么沟通,怎么写日报,怎么开会,怎么使用Git,等等….)
第八:还要学习一些分布式相关的一些技术。
能够应付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..
只要你认真起来,这套学习路线也会害怕你