Category Archives: 开发

服务器 git 命令免输密码配置

背景:
在公司负责一个前端服务化项目,底层使用一个特权 git 账户进行项目的创建和发布等工作。最开始的时候服务器上 git 相关的配置是另外一个同事配的。
最近公司公司服务器机房迁移,因为不是标准化的项目,需要自己手动进行迁移。这就需要完全重新配置服务器环境。
一切迁移妥当后,测试发现 git 相关的脚本都无法跑通。打 log 发现是因为 git 命令无法免密执行,被交互的账号密码输入逻辑拦截了。

Continue reading

手机浏览器直接唤起微信方案调研

背景

双十二前一天半夜,正准备睡觉,公司运营打电话过来,说发现第三方公司有页面可以访问直接唤起微信。说完在公司的聊天工具里发来一段连接,叫我调研一下能不能实现,如果能实现,双十二马上可以用起来。

【梦梦家】双12倒计时啦!来就送10元券,http://t.cn/RTqAzl8 领10元券戳 回N退订。没有自己的流量池 就落后挨打 人家在第一时间已经用了 就等你来找我了,微信引流黑科技

分析

连接是个微博短链: http://t.cn/RTqAzl8。放浏览器里访问,解析出完整的地址
http://r.jpwx.kim/wb/0e7d51958ac79557b5ecafc582ab62d0.html。打开调试器看了下,页面中除了百度统计代码外,核心代码如下

Continue reading

html 的nofollow 标签介绍

这个标签告诉搜索引擎这个链接不是作者自己编辑的,从而引导搜索引擎减少或取消链接的权重。
这标签一般使用在博客评论或者论坛帖子中。
还有就是放在广告中
给链接加了nofollow标签不代表,这个链接就不是外部链接了,而是这个链接的权重降低了,它仍然是外部链接。

IE6/7中绝对定位元素相邻元素的margin-top失效

问题描述:
当某块级元素设置了 margin-top ,并且之前存在着可被渲染的绝对定位元素时,其 margin-top 在 IE6 IE7会失效。
造成的影响:
导致元素间基于 margin-top 产生的间隙不被渲染。
受影响的浏览器:
IE6 IE7
问题分析:
元素被设置为块元素(display:block/list-item/table);
该元素触发了 IE 的 hasLayout;
该节点之前存在一个可被渲染的绝对定位或固定定位元素;
该元素设置了不等于 0 的 margin-top 值(正负 margin-top 值均可)。
解决方案:
相邻元素可以采用padding-top来替代margin-top;
在他们中间插入一个空标签实现占位;
调换这两个元素的位置(考虑到内容主次关系,所以不太推荐);

国家技术标准简介

在互联网行业待着很少会接触国标之类的概念,技术发展飞快,很难用标准去衡量。
最近了解了下身边其他行业的信息。发现基础信息非常纷乱,一个从业几十年的人也很难把里面的信息梳理清楚。网上行业信息就更少了,搜来搜去都只能搜到之言片语。
想想做开发的时候,看的都是源码、文档和论文,那了解行业信息是不是可以从哪个源头性的地方去找。于是找到了国家技术标准委员会。找到相关的行业标准,可能可以大致的梳理出部分的信息。
相关信息我也不展开讲了,这里只是记录下这件事情。
国家标准全文公开系统介绍里有个“采标”的概念,第一次接触这些东西,连这样基础的概念都不知道。百度百科了一下。

采标是采用国际标准和国外先进标准的简称,是指将国际标准或国外先进标准的内容,经过分析研究,不同程度地转化为我国标准并贯彻实施。
我国标准采用国际标准或国外先进标准的程度,分为等同采用、等效采用和非等效采用三种。我国标准化工作“九五”计划和2010年远景目标纲要中指出:要采取措施,加快采用国际标准和国外先进标准的步伐,要认真落实采标政策,力争“九五”末实现主要行业采标率达到70%以上的目标。标准指的是“标准化”,最早的标准化起源于第二次工业革命中,为实现汽车零部件互换的需要而产生的,那时起,要求汽车零部件的制造方法、材料、尺寸、形位公差必须统一要求,否则失去“互换性”。这些要求被拟定成《制造方法标准》、《材料标准》、《尺寸、形位公差标准》等等。企业必须“采用相应的标准”要求来约束自己的行为和产品,无论是制造方法、材料标、尺寸还是形位公差等,都需要选择相应的标准。企业落实执行什么标准成为合法化这项管理工作任务,叫做“采标工作”。工作或产品是否已经执行了标准,叫做是否已经“采标”。现在各行各业都有相应的标准约束企业的全部活动和全部产品,从大类上讲,有国际标准、国家标准、行业标准和企业标准。从范围方面看,有管理标准、工作标准、技术标准(含产品标准)等等。《中华人民共和国标准化法》已由中华人民共和国第七届全国人民代表大会常务委员会第五次会议于1988年12月29日通过,公布自1989年4月1日起施行。要求所有企业“必须采用”相应的、合法的管理标准、工作标准、技术标准(含产品标准)标准,否则,其产品不得进入流通环节。这可以通俗地称为:没有“采标”的产品,不得生产、不得流通[1] 。
采标的原则是[1] :引
1. 应当符合我国有关法律和法规,保障国家安全,保护人体健康和人身、财产安全,保护动植物的生命和健康,保护环境,做到技术先进、经济合理、安全可靠。
2. 凡已有国际标准(包括即将制定完成的国际标准),应当以其为基础制定我国标准。凡尚无国际标准或国际标准不能适应需要,应当积极采用国外先进标准。?
3. 对国际标准中的安全标准、卫生标准、环境保护标准和贸易需要的标准应当先行采用,并与相关标准相协调。?
4. 采用国际标准和国外先进标准,应当同我国的技术引进、技术改造、新产品开发相结合。在技术引进中,要优先引进有利于产品质量和性能达到国际标准和国外先进标准的技术设备和有关的技术文件;技术改造、新产品开发应积极采用国际标准和国外先进标准。

参考资料:
https://baike.baidu.com/item/%E9%87%87%E6%A0%87/10864065
http://www.chinagb.org/article-58160.html

mongod 安装完报错修复

centos 7 执行 yum install mongodb-server mongodb -y 安装 mongodb 服务器
安装完成后,执行 mongod –version 报如下错误。
Failed global initialization: BadValue Invalid or no user locale set. Please ensure LANG and/or LC_* environment variables are set correctly.
修改 ~/.bashrc 加入
export LC_ALL=C
然后执行 source ~/.bashrc 使之生效

git pull 命令执行后输出 error: cannot lock ref

error: cannot lock ref ‘refs/remotes/origin/release/1.0.2’: ‘refs/remotes/origin/release’ exists; cannot create ‘refs/remotes/origin/release/1.0.2’
From http://gitlab.mogujie.org/wxa/mgj-outfit
! [new branch] release/1.0.2 -> origin/release/1.0.2 (unable to update local ref)
原因是远程删除了 release 分支,并新建了 release/1.0.2 分支,导致本地仓库中分支信息和远程的冲突
解决方案如下:
1.运行git remote show origin,会展示出所有的信息,包括了远端删除,但是本地保留的分支。
2.在运行 git remote prune origin 即可删除本地分支release
3.运行git fetch获取新分支release/sprint12

安装 python virtualenv 虚拟环境

先通过 easy_install 安装 pip
sudo easy_install pip
再通过 pip 安装 virtualenv
sudo pip install –upgrade virtualenv
然后就可以用 virtualenv 命令创建虚拟环境了
virtualenv –system-site-packages targetDirectory # for Python 2.7
virtualenv –system-site-packages -p python3 targetDirectory # for Python 3.n
创建好虚拟环境后,通过 source 命令激活环境
source ~/tensorflow/bin/activate
激活后就可以在环境在运行自己的脚本啦。

The TensorFlow library wasn’t compiled to use SSE instructions 警告修复

2017-10-16 11:51:53.826232: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn’t compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-16 11:51:53.826259: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn’t compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-10-16 11:51:53.826267: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn’t compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-10-16 11:51:53.826273: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn’t compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
安装好 tensorflow 后,执行 tensorflow 官方文档的代码,报了上面的错误。
这是一个提醒,提示通过源码安装可以提高 tensorflow 的效率,但不影响使用。
这个提醒默认是开启的,需要禁用的话可以在代码头部加入下面的代码。
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’]=’2′