• 【置顶】技术每天一点点--2017.09-2018.10月


    本文地址:http://www.cnblogs.com/aiweixiao/p/7451352.html

    本文提纲:

    1. 概述
    2. 每天进展

    1.【遗留问题】

      1.1)【问题】

    问题列表

         

         1.2)【todo】

    • 【shell登录】不用输入密码的方法。
      • php变量的引用,unset引用,原值还在。
      • php的对象函数修改
      • php遍历目录下的所有文件和文件夹
      • 两个文件都是1G的,复制一个文件的内容到另一个文件末尾(DONE):http://www.cnblogs.com/aiweixiao/p/7535351.html ,使用php生成器 yield也行
      • 多进程写入到一个文件
      • Shell 脚本写出来网站访问的Top 10,PHP实现呢?
      • MySQL的联合索引中具体用到那个索引,有大小比较呢?
      • MySQL的事务隔离级别
      • innodb 为什么比myisam的并发性好
      • gearman的消息队列
       

       

    2.【每天进展】

    序号 日期 关键词 状态 内容 备注
    18 2018.10.28 js修改打开本页面的上一个页面(父页面)中的元素  
    //修改母页面中的图片为审核完成
    var parentDoc = window.opener.document;
    parentDoc.getElementById('img').src="/img/icon_audited.png";

    //调用可变变量函数名

    for (var i=1; i<= 2;i++)
    {
      var checkStr = "func"+i;
      eval(checkStr)();

    }

     
    17 2018.03.12周一 linux下安装mysql  
    •  centos 7默认是 mariDB,修改其为mysql的方法:http://blog.csdn.net/dogfish/article/details/53167564
    • 修改默认mysql的密码的方法: 
      UPDATE user SET Password = PASSWORD(‘111') WHERE user = 'root';
      或者 : /usr/bin/mysqladmin -u root password "111"
     
    16 2018.03.10 周六 php  
    • php脚本执行的时候,这时候修改php脚本内容,执行的结果没有发生变化, 是因为php的字节码在内存中了,这时候,即使将执行的这个脚本删除了,还是会继续正确输出内容的。
     
    15 2018.03.09周五 使用腾讯云  
    • lnmp安装:

    yum install php

    yum install mysql

    yunm install nginx

     
    14 2018.03.06 php  
    • php的对象也是可以 foreach循环的
     
    13 2018.02.26 js  

    1) 防止重复提交 -- js全局变量实现

    window.__canSubmmit__ = true;
    
    function submit()
    {
      if(window.__canSubmmit__ == false)
      {
        alert('不能重复提交');
        return false;  
      }    
      
      //业务逻辑
      setTimeout(function(){
        alert('提交完成');
        window.__canSubmmit__ = true;    
      },10000);//延时10秒
    }

     我之前做的防止提交的方法是 将一个html的元素的值设置为不可提交的逻辑,处理完后再设置为可以提交,没有这里通过设置一个全局变量的布尔值来的简洁

     

     
    12 2018.02.25周日 学习书籍《Modren PHP》 已完成

    1)php生成器 yield,解决迭代和内存问题

    2)闭包 = 匿名函数(对PHP而言),  $test = function(){echo 1;}; $test();

    3) __invoke() 把对象当成函数调用时,该魔术方法被调用,匿名函数其实是一个Closure类,所以调用触发该魔术方法

    4)array_map('addOne', $testArr);  

    5) preg_replace_call()

     
    11 2018.02.03周六 AI paddlepaddle 进行中
    • 文档地址:http://ai.baidu.com/paddlepaddle

      是Python的一个库,深度学习,

     
    10 2018.01.06周六 composer 已完成

            官方文档: http://docs.phpcomposer.com/00-intro.html

    composer的安装和使用:

    下载后是一个 composer.phar 二进制包
     
    02) 创建 composer.json文件(内容如左)
    改成国内的镜像包,否则会很慢,参考: https://pkg.phpcomposer.com/
     
    "repositories": {
            "packagist": {
                "type": "composer",
                "url": "https://packagist.phpcomposer.com"
            }
        }
     
     
    03)composer.phar install 

    {
    "name":"IFrame PHP",
    "description":"PHP Framework",
    "type":"Framework",
    "keywords":[
    "PHP","PHP Framework"
    ],
    "repositories": {
    "packagist": {
    "type": "composer",
    "url": "https://packagist.phpcomposer.com"
    }
    },
    "require":{
    "php":">= 5.3.0",
    "symfony/var-dumper":"*"
    }

    }

     
     9  2017.11.14 周二  sphinx 未进行 

    PHP读取sphinx实例

     
    8

    2017.10.13周五

     UML 未进行

    数据库设计不足: 1)未考虑到企业的唯一性,所以要企业和账户分离  2)一对多的数据库设计,查询效率问题

    怎么解决:1)对数据库设计的考虑要周全,建议看写UML设计的书籍,锤炼下

     
     
    7

    2017.10.11周三

    开源技术  

    1)【前端web上传组件】:

    前端使用的上传组件百度的webUploader

     
    2)【百度云的php文档】:
    相关的百度云的SDK文档如下: https://cloud.baidu.com/doc/BOS/PHP-SDK.html
     
    6  

    2017.10.10周二

    php变量引用 已完成

    1)php的变量引用,unset后的结果

    $a = 3;
    $b = &$a;
    unset($a);
    echo $b;//输出结果是 3

    原因是:

    • php的变量,$a $b这两个变量名同时指向了一块内存,unset($a)只是切断了$a这个变量名与这块内存的关联,但是因为还有$b这个变量名指向这块内存,所以内存还是不会释放,输出结果是3. 
    • 如果 unset($a) 变成是 $a=1; 则echo $b;结果是也是 1
    • 【对象默认是引用传递】

    2)参考文档: http://www.cnblogs.com/nixi8/p/4925094.html

     
    5

    2017.09.30周六

    item2 PS1设置 已完成

    1)颜色配置: http://www.jianshu.com/p/33deff6b8a63

    2)PS1命令提示符设置。:http://blog.sina.com.cn/s/blog_6268defa0100wijx.html

    export PS1='[[e[31m]u@[e[36m]h W [e[32m] ] [e[33m]$[e[m]'

    3)item2:

    • 回放功能:option+command+b
    • 光标去哪了?command+/
    • cmd+shift+3 截屏
    • ctrl + 单击 — 相当于右键点击,呼出菜单—万能的右键
    • ctrl + p: 上一条命令,相当于方向键上
    • ctrl + f/b: 前进后退,相当于左右方向键,但是显然比移开手按方向键更快
    • ⌘ + opt + b: 快照回放。很有意思的功能,你可以对你的操作根据时间轴进行回放。可以拖动下方的时间轴,也可以按左右方向键。如图:快照回放
     
    memcache 的telnet命令  

    1)memcache telnet登录: http://www.cnblogs.com/zhhtao/p/4475746.html

    telnet 127.0.0.1 23934

    2)memcache php

    1) telnet
    set name 16 10 5 #设置name 为 5个字符,过期时间为10秒 12345 STORED #成功 get name #读取name的值 VALUE name 16 5 12345 END

    2)php memcache
    $memcache = new memcached();
    $memcache->addServer('127.0.0.1', 23934);
    $memcache->set('name', '周杰伦');
    $memcache->get('name');
           

     2017.09.20

    周三

     mysql索引受字段类型影响  已完成
    • select userid from user where usermobile='13821870706' - 走索引
    • select userid from user where usermobile=13821870706 - 不走索引
    •  -- 不走索引非常慢,因为 usermobile的字段类型是 archar,所以要是以字符串的形式进行查询,不能以整型的形式去查询
     
     
    3 2017.09.13周三 php-fpm 进行中

    1)php.ini中的内存设置是所有的php公用一个内存,

    http://www.cnblogs.com/52fhy/p/5051722.html

    1)【问题01】:什么是内存泄露?php-fpm的进程怎么查看占用的内存大小?

    2)【问题 02】:查看linux的内存的方法:

         答:三个命令都行: top   free  cat /proc/meminfo

    3)【问题 03】:php-fpm的配置什么作用?配置的参数含义?

       答:php-fpm是管理php进程的一个工具,全称是“FastCGI 进程管理器“。配置的参数含义在 http://www.cnblogs.com/52fhy/p/5051722.html

    动态的进程参数,静态的进程参数。官方的说明文档:http://php.net/manual/zh/install.fpm.php

    2 2017.09.04 周一 redis的使用 已完成

    1)http://www.cnblogs.com/aipiaoborensheng/p/5666005.html

    $this->redis = new Redis();
    $this->redis->connect('127.0.0.1', 6379);
    $this->redis->set('test', 1 , $expireTime=3600);
    $this->redis->incr('test');
    $this->redis->decr('test');
    $this->redis->get('test');

    1)mysql的索引,使用 有索引字段的 ,where userid> ,where userid<. where user = 都能用到索引,但是 where userid != 这种区间外的用不到索引 

    2)telnet 登录 redis

    telnet 127.0.0.1 6397

    http://blog.csdn.net/bravezhe/article/details/8727907

    set yourname 666

    get yourname

    1 2017.09.02 周六 反向代理百度 已完成 1)反向代理百度
    #反向代理百度 start
    location ~ /baidu{
         proxy_pass http://www.baidu.com;
    }
     
    git的安装使用 已完成

    git init

    git clone

    git config --global user.email "you@example.com”
    git config --global user.name "Your Name”
    git commit -m ‘提交注释’ yourfile.php
     
    git pull
    git push
    git push -u origin master

    1)git clone的报错解决:http://blog.csdn.net/z_dianjun/article/details/50819908

    2)git push 需要安装 ssh key (有时候如如的用户名不带后面邮箱的@后缀)

    3)git diff 中文乱码的解决(todo), 因为默认git的编码都是utf8的

    http://blog.sina.com.cn/s/blog_4cd5d2bb01017w76.htm

    表格css样式 已完成

    设置表格的css样式,设置上一级td标签的style,而不是span

     

      2.1)【2017.08.30】

        --部署,变更与发布维护

        --JDOS系统,对代码镜像在开发,测试,预发布,线上环境之间流转

        --交付:向开发交付充足的资源,向业务方交付稳定的系统(响尾蛇系统),向运维交互可维护的系统(sysgraph系统)

        --稳定性建设,内部技术竞赛

        --故障阶段:从技术思路出发,我们把故障处理分为预防、发现、定位、止损、恢复几个大的阶段

        --监控建设:“基于Falcon的滴滴内部监控系统”,数据的采集,聚合,实时计算,存储等,异常检测智能化,统一报警收敛化(对报警类及操作类事件进行统一收敛,形成事件库。初步以 timeline 的方式)

  • 相关阅读:
    剑指offer51-正则表达式匹配
    剑指offer50-构建乘积数组
    剑指offer49-数组中的重复
    PHP系列笔记——Zend_Controller工作流程
    多态与重载
    读取文件数据的大概流程
    基于HTTP协议下载文件的实现
    C++中的面向对象笔记
    firebreath注册接口
    python读取excelxlsx,写入excel
  • 原文地址:https://www.cnblogs.com/aiweixiao/p/7451352.html
Copyright © 2020-2023  润新知