微录 2017-12-12

鸟儿出笼,鱼儿入海! 

成名要趁早, 有机会,听从自己的内心,去扑捉人生中的几次机会

做一些有意义的事情,创造更多的价值

丰富阅历,体验人生     


博客 2017-02-22


2个月的开发时间,微信后台系统经历了从0到1的过程。

从0到1:微信后台系统的演进之路



编者按:2个月的开发时间,微信后台系统经历了从0到1的过程。从小步慢跑到快速成长,经历了平台化到走出国门,微信交出的这份优异答卷,解题思路是怎样的?本文由张文瑞,微信后台团队出品。本文由36氪转载自微信公众号infoQ(微信号:infoqchina)

从无到有

2011.1.21 微信正式发布。这一天距离微信项目启动日约为2个月。就在这2个月里,微信从无到有,大家可能会好奇这期间微信后台做的最重要的事情是什么?我想应该是以下三件事:

1、确定了微信的消息模型

博客 2016-09-21

    前言:从该教程往后,涉及到nginx的功能将越来越生产化,因此某些测试必须是基于web架构平台,所以在看本教程之前,建议先安装好LNMP或者LAMP架构,以便测试验证。其次该技术文档的测试是基于前端nginx反向代理与后端LNMP架构来测试的,后端LNMP主要是提供测试的访问页面而已,重点还是前端Nginx的设置

测试环境:
前端代理:
OS:CentOS6.5x64
hostname:test1.lxm.com
ip:10.0.10.11

后端LNMP:
OS:CentOS6.5x64
hostname:test2.lxm.com
ip:10.0.10.12

博客 2016-09-10

1.环境:

三台centos7,docker 1.12.1

120 manager

121 worker

122 manager

(以下#121 表示 121主机)


2.集群搭建:

博客 2016-09-06

简介:

内部使用,大多需要个私有仓库,方便定制与管理,高速下载等


版本选择:
网上绝大部分都是使用registry 1

1.6 之后 就支持registry 2 了


下载安装: 

docker pull registry:2.5


目前最新的是2.5  当然你也可以下2.0 、2.1 ...

docker pull registry:2.1

https://github.com/docker/distribution


搭建: 

docker run --name my_registry --restart=always -d -p 5000:5000 -v /root/data_registry:/var/lib/registry  registry:2

/root/data_registry 代替container 内部的 images存放目录 /var/lib/registry


这样,你删除container ,再重新这样启动,仓库的images 还是存在的!


注:老版本的是/tmp/registry


使用:

 docker tag centos:latest 10.16.17.121:5000/centos:midea
 docker push  10.16.17.121:5000/centos

 

 这样,就可以在各client 端下载使用:

博客 2016-08-30

简介:

sed 是古老的文本处理工具,如果熟练掌握,也是利器


实例:

需求:下面中的WHERE 与SET 互换


文件1.txt的内容是这样的:

### update test.student
### WHERE
### @1=1 /* int meta=0 */
### @2='a' /* int meta=0 */
### @3=1 /* int meta=0 */
### @4='56' /* int meta=0 */
### SET
### @1=1  /* int meta=0 */
### @2='a' /* int meta=0 */
### @3=1 /* int meta=0 */
### @4='failture' /* int meta=0 */
### update test.student


方法:

sed '/WHERE/{:a;N;/SET/!ba;s/\([^\n]*\)\n\(.*\)\n\(.*\)/\3\n\2\n\1/}'  1.txt


解释:


博客 2016-07-27

简介:

总结下前端、后端遇到的排序问题


后端排序:

1.一个表一列是char ,但存的是数字

op.objects.filter(op_other='net_ip_count').extra(select={'op_char': 'CAST(op_03 AS  INTEGER)'})
.order_by('op_char')


2.一个表一列是IP

ip.objects.filter(ip_vlan=obj[1]).extra(select={'ipa': "inet_aton(ip_address)"}).order_by('ipa')


前端排序:

主要是 字典、序列 通过 前端模板排序 

1.增加模板函数:

博客 2016-07-27

使用效果:


 submit_form_using_bootstrap_modal.gif


后台PHP代码:

<?php
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    echo "Thank you " . $first_name . " " . $last_name . " for your submission.";
?>


HTML代码: 

博客 2016-06-24

简介:

itop 开发例子. 登陆验证方法见http://blog.mreald.com/180


实现过程:

1.查看所有的对象类型

管理工具 -> 数据模型  (右边括号内就是)


2.查看特定对象包含字段(空与非空)如下图


3.查看具体实例 如下图

http://jsfiddle.net/U6qwK/6/ 上查看


4.写代码实现


aaa.png


blob.png




python 3 版本:

博客 2016-05-19

简介:

Remedy 是个流行的cmdb 管理平台,下面就其接口调用做个总结。


方法一: 调用pyARS

1.下载安装客户端  https://rrr.se/cgi/index?pg=arapi  (8的客户端,可以调用7的 server版本)

2.设置环境变量  export LD_LIBRARY_PATH=/root/test/api811linux/lib/:$LD_LIBRARY_PATH

3.安装pyARS  http://freefr.dl.sourceforge.net/project/pyars/pyars/1.8.2/pyars-1.8.2.zip

4.使用:

from pyars import erars, cars
ars = erars.erARS()
a=ars.Login('10.1.64.16:2722','username','passwd')


手册:http://pyars.sourceforge.net/docs.html


方法二: PyRemedy 


from __future__ import print_function
from pyremedy import ARS, ARSError
ars = ARS( server='10.16.4.16', port=2722, user='l1', password='aa123')

import os, atexit,rlcompleter,readline
readline.parse_and_bind('tab: complete')

ars.query(schema='Midea_CMDB_Automation',qualifier="",fields=[])
ars.fields(schema='Midea_CMDB_Automation')
a={'Chr_CIName':'aaaa', 'Chr_HostName':'bbb'}
ars.create(schema='Midea_CMDB_Automation',entry_values=a)
ars.get(schema='Midea_CMDB_Automation',entry_id='000000000000017',fields=[])



首页 1/9 i++