【置顶】技术每天一点点--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\]\t] \[\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 的方式)

 

posted @ 2017-10-10 18:53  程序员的文娱情怀  阅读(419)  评论(0编辑  收藏  举报