zoukankan      html  css  js  c++  java
  • 技术就是一层窗户纸-于无声处看大神

    技术确实于无声处听惊雷,有的东西需要自己去经历,有的东西则需要自己思考后再快速从别人的经验中获取得到。以最快的方法到达目标。技术就是一层窗户纸,再捅破之前,需要自己切身去思考体会实现之难,最后别人从旁点拨一下,犹如醍醐灌顶,大彻大悟。怪不得他原来就是技术总监,自有他的道理。
    1.get 跟 post 的区别。
    一般无非就是:1、get通过url提交,可以提交的数据有限。post是通过http作为content提交,可以提交数据量大。
    2、get是通过url提交,对用户可见。不安全。post是通过http的content提交,对用户不透明,安全性高。
    但是这都基本不是运用真正的差异。至少安全性,通过简单的抓包就可以得到post的提交的数据,数据一样不安全。

    真正应该从结构层面考虑这个问题,到底什么时候应该用get,什么时候应该用post提交。
    应该了解rset.
    然后再来看看get跟post。
    GET操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。当然,你可能说每浏览一次文章,文章的浏览数就加一,这不也改变了资源的状态么?这并不矛盾,因为这个改变不是GET操作引起的,而是用户自己设定的服务端逻辑造成的。
    POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

    安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。

    2.写服务器压力瓶颈压力

    一般服务器负载均衡,都是一般做主从分离。减少写库的压力,但是如果同时对写库访问呢?

    增加一个中间层,类似于cpu跟磁盘之间的效率问题。可以增加一个中间缓存,内存来中间缓存这些资源动作。然后再从中间层一次性提交到sql服务器进行操作。mysql的批量插入,比单独一条条效率会要高很多。

    3,获取ip (header头部信息)
    一般获取浏览器端的ip地址,$_SERVER["REMOTE_ADDR"]通过这个全局变量获取。
    但是如果浏览器是通过层层服务器代理访问的服务器资源呢?那又如何获取原始的ip地址?
    协议知识:
    http协议,都是将ip地址封装在header头信息里面,依次加密。不管通过多少次代理,都是会将上一次的ip信息封装到header头部信息。这个应该是当时网络七层协议的基本知识点。
    运用到实际的http协议,就是应该可以通过http 的header头部信息拿到原始的ip信息。

    4,判断一个数是不是2的倍数最快捷的方法
    除以2求余?这是我立马引入脑海的办法。

    办法:利用php自带的转成二进制,1001的形式,末尾为1的肯定是被二整除。以此为例,三进制,八进制,十六进制。

    5,include require细节差异

    一般来说:include文件,就算includes的文件有错误,主程序也不会报错。会跳过去,继续执行。
    require文件,如果引入的文件有错误,主代码快会停止执行。报错。
    为了防止重复引入,一般都会用include_once跟requre_once.

    但是问题来了:如果是这样的话,那么什么情况都用include_once就可以啦。为啥还需要require的存在?


    这就是,人类很早以前制造了刀剑。但是手持刀剑,那也只是简单的刀剑而已。而能够将刀剑有套路的练习下去,才能进化成武术。这样手里的刀剑,才能发挥最大的作用。

    php只是一把武器,掌握php也只是手握一把简单的刀剑而已。简单的语法或许一个月就可以掌握。但是需要更多的实际经历跟经验,才能运用自如,打遍无敌。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    449. Serialize and Deserialize BST
    114. Flatten Binary Tree to Linked List
    199. Binary Tree Right Side View
    173. Binary Search Tree Iterator
    98. Validate Binary Search Tree
    965. Univalued Binary Tree
    589. N-ary Tree Preorder Traversal
    eclipse设置总结
  • 原文地址:https://www.cnblogs.com/tangpanpan23/p/4737463.html
Copyright © 2011-2022 走看看