zoukankan      html  css  js  c++  java
  • 对技术的认识及思考

    一、技术认知

    如果一项技术,在开发中经常会用到,那么就要加深对技术原理的认识,能够讲出具体的原理和技术细节,最好能讲一两个小时,而不是一两句话就带过。

    另外,一项技术,就算自己工作不需要,不懂得具体的技术细节,也可以尝试着去认识这项技术的应用范围、优势、思想。

    作为一名开发者,一定要不断地拓宽自己的技术视野。

    技术的本质是用来解决问题。

    0.语言用途:

    (注:Windows桌面软件开发的工作已经很少了,JavaME被淘汰了)

    1.大数据

    应用:

    分布式系统,处理海量数据,进行运算和存储

    技术要点:

    Storm、Spark、Hadoop(框架),MapReduce(负责计算),Hdfs(文件系统),Hive(数据仓库),Hbase(数据库),Zookeeper(中间件),Ambri(可视化,配置集群)

    2.安卓开发

    目前还出现了RxAndroid(响应式编程)、webFlux

    技术要点:

    开源框架,网络编程,json和xml解析,绘图原理,动画,事件机制,自定义View,数据存储,开源框架,
    四大组件原理,UI控件(RecycleView,TabLayout等),Material Designs

    3.web前端

    前端追求的是:页面表现,速度流畅,兼容性,用户体验等等。

    前端基础:js,html,css,jquery,bootstrap,node.js。

    jquery有点过时了。现在比较流行的前端三大框架: vue,angular,react

    4.web后端

    后端追求的是:三高(高并发,高可用,高性能),安全,存储,业务等等。

    python,java都可以做后端。也有少数公司用c/c++。

    大后端,目前很流行分布式、微服务、容器。

    python后端,一般用flask、django。

    5.PHP

    一般小公司刚起步,都会采用LAMP架构。也就是 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python

    PHP适合产品刚起步,快速开发,做出产品雏形,看能否适应市场。

    PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。

    6.云计算

    7.区块链

    8.人工智能

    9.游戏开发

    一般用c++。引擎有cocos2d,工具unity3d、openGL。

    三、Web技术及概念:

    1.Web Services  :可以将应用程序转换为网络应用程序

    2.Soa : 面向服务的架构

    3.工作流: 在现实中好多公司、政府、军工单位中审批业务流程是频繁变更的。
    工作流是为解决现实中繁杂多变的业务审批流程,应运而生的一种技术。
    常用的工作流:Jbpm、osworkflow、activiti

    4.RPC:远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。

    5. MVVM框架:主要包括三个部分Model、View和ViewModel,Model指的是数据部分,对应到前端就是一些Javascript对象,View指的视图部分,对应到前端就是DOM,ViewModel就是连接数据和视图的中间件,在MVVM的框架下视图和数据是不能直接通信的,它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。以上便是MVVM的一些基本概念。
    MVVM框架,如Angular、React、Vue

    三、疑惑:

    1.如何统计和处理百万、千万级别的数据?包括计算、排序、分组等操作。

    2.处理海量数据,如何提高性能,包括运行速度,准确率等等?

    3.内存泄露,是怎么产生的?如何处理?

    4.网络是怎么连接的?

     5.RxJava是什么?

    6.DDos攻击。具体是什么?

    就是成百上千台计算台,同时发起攻击。

    7.Sql注入,是如何做到的?

    8.Tcp三次握手、Udp五次握手的具体细节。

  • 相关阅读:
    Does the C standard guarantee buffers are not touched past their null terminator?
    Why does the C# compiler translate this != comparison as if it were a > comparison?
    Vim settings file on Windows
    你的团队需要一套工具指南
    精华阅读第 10 期 |解开阿尔法狗(AlphaGo)人工智能的画皮
    时序列数据库武斗大会之TSDB名录 Part 2
    如何用 ANTLR 4 实现自己的脚本语言?
    HTTP/2 对 Web 性能的影响(下)
    如何使用 Apache ab 以及 OneAPM 进行压力测试?
    你所不知道的黑客工具之 EK 篇
  • 原文地址:https://www.cnblogs.com/expiator/p/8507520.html
Copyright © 2011-2022 走看看