获取MAC地址
12345678910#!/usr/bin/env pythonimport uuiddef get_mac_address(): mac=uuid.UUID(int = uuid.getnode()).hex[-12:] return ":".join([mac[e:e+2] for e in range(0,11,2)])if __name__== '__main__': print("mac:%s " % get_mac_address())
保存到文件mac.py,运行该脚本:
1python ./mac.py
输出结果:
1mac:f4:5c:89:a5:09:25
可以和ifconfig命令获取的MAC地址对比一下:
Mac下php-fpm启动参数和重要配置详解
项目配置的目录
mac下系统默认的php和php-fpm:
/usr/bin/php
/usr/bin/php-config
/usr/bin/phpize
/etc/php.ini (默认应该没有php.ini,而是/usr/php.ini.default)
/etc/php-fpm.conf.default
/usr/sbin/php-fpm
如果自己安装的,那么需要约定其安装目录,下面是brew命令安装的php和php-fpm的目录:
/usr/local/bin/php -> …/Cellar/php56/5.6.30_6/bin/php
/usr/local/bin/php-config -> …/Cellar/php56/5.6.30_6/bin/php-config
/usr/local/bin/phpize -> …/Cellar/php56/5.6.30_6/bin/phpize
/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/5.6/php-fpm.conf
/usr/local/etc ...
maven打包scala项目为war包
scala打包war包
war包即对WEB应用程序进行打包,用于应用容器的部署,比如tomcat,netty等。编译Scala需要引入scala-maven-plugin插件,编译java需要引入maven-compiler-plugin插件。大多数的时候我们的项目是scala和java的混编,所以,编译的时候需要这两个插件。
12345678910111213141516171819202122232425262728293031<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.8</source> <target>1.8</target> ...
IDEA配置代码风格code style
检查代码风格
当项目成员逐渐增多的时候,代码的风格就出现了很大的问题,这对于合并代码来时是非常痛苦的一件事。如何让大家的代码风格保持一致呢,除了比如阿里的开发手册那样约定的某些规则之外,我们也可以安装插件让编辑器自动检查。
IDEA中安装插件:
comman + ,打开settings,找到左侧导航Plugins,搜索checkStyle,点击安装,找到checksytle.xml的文件,打开即可安装。
在settings的左侧,找到Other Settings,点开,可以到已经开启的插件了,checkstyle也在里面。点击checkstyle,进入checkstyle的配置,在Configuration File中点击+,选择checkstyle.xml文件的路径即可。
code style 修改两处
1.每行最多100字符
idea设置中,Editor->Code Style=>Right margin:将120改为100
2.最多同一个包多少次引用之后引入*
idea设置中,Editor->Code Style->Java=>
...
矩阵路径序列
矩阵路径是这样一个点序列:从给定矩阵中任一数字标记的点出发,每一步可以向左、右、上、下四个方向之一移动一格到达下一个点,依次类推而得到的点序列,一条矩阵路径最少包含两个点,同一个点可以多次出现在一条矩阵路径上。现用点的标记数字组成的序列来表示这样的矩阵路径,例如 1 5 6 7 是矩阵中的一条路径,而 8 5 1 4 就不是。判定输入的序列是否表示了一个合规的矩阵路径,若是,输出 1,若不是,输出 0。input 会给出多组序列,每组中间用 0 做分隔符。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950function hasPath(array $matrix, array $str){ if (empty($matrix) || !isset($matrix[0])) { return false; } if (!isset($matrix[0])) { if ...
mac中git的配置
安装git
12brew install git
配置git
在用户目录下,找~/.gitconfig文件,如果不存在则创建。
12vim ~/.gitconfig
打开git配置文件,增加如下内容:
diff: 差异对比,这里配置的是Compare Beyond。
merge:差异对比时,选择合并的工具,也是Compare Beyond。
user:用户信息配置。
commit:提交信息消息模板。
alias:别名配置。如果在~/.bash_profile中把git的别名配置成g,而git的命令配置成如下,则可以使用g ci -m '测试提交'简化git commit -m '测试提交'等。
lga、lgb、lgc、lgd:这些事日志格式的配置。
review、gerrit:这是gerrit review命令的简化,使用:git review dev,dev是分支名。
filter:git的过滤工具,比如大文件的管理。
12345678910111213141516171819202122232425262728293031323334353637383940[core] ...
Hadoop系列:HDFS交互操作接口(三)
[摘要] Hadoop是由java编写的,所以HDFS提供了完整的java程序应用接口,其他的访问都是建立在这些应用接口之上。要能访问HDFS,则HDFS客户端必须有一份hdfs的配置文件hdfs-site.xml,以获取NameNode的相关信息,每个应用程序也必须能访问Hadoop的程序库JAR文件,也就是前面说的配置环境变量。
java.net.URL
123456789101112131415161718192021222324252627282930313233package com.diudiu.hdfs.api;import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;import org.apache.hadoop.io.IOUtils;import java.io.IOException;import java.io.InputStream;import java.net.URL;/** * Description hadoop. * <p/> * Time 2017/5/6 上午11:09 * * @a ...
Nginx截断response的body
产生背景
在前后端分离实践中,借助于nginx的反向代理,既能解决负载问题,也能解决跨域问题,是一个完美的实现方案。最近解决写了一个多级菜单列表的接口,数据大小有200k。通过ip访问,返回数据是完整的,但是通过代理域名访问,返回只有60-80k之间的数据。
查询Nginx的error.log日志,发现下面的错误:
12017/04/26 18:27:46 [crit] 19851#0: *867217 open() "/var/lib/nginx/proxy/6/68/0000001686" failed (13: Permission denied) while reading upstream, client: 10.71.253.194, server: admin-develop.xxx.cc, request: "GET /v2/menu/list HTTP/1.1", upstream: "http://127.0.1.1:40212/router/menu/list", host: "admin-de ...
Hadoop系列:独立模式中运行word count实例(二)
摘要 hadoop的两大核心是hdfs和mapreduce,hdfs是适合部署在廉价机器上的高度容错性系统,提供了强大的流式读写文件的能力,mapreduce则提供了大规模数据集的并行运算。
Hadoop中HDFS和MapReduce的进程
本地单机模式安装好hadoop服务后,可以使用start-all.sh启动hadfs和mapredue服务,也可以使用start-hdfs.sh和start-yarn.sh分别启动。正常启动后,通过jps查看有5个进程:
NameNode 管理文件系统的命名空间。它维护着文件系统树及整棵树内所有的文件和目录。HDFS集群有两类节点,并以管理者-工作者模式运行,即一个NameNode(管理者)和多个DataNode(工作者)[就独立模式而言,仅有一个NameNode(管理者)和一个DataNode(工作者)]。一个HDFS cluster包含一个NameNode和若干的DataNode,NameNode是master,主要负责管理hdfs文件系统,具体地包括namespace管理(其实就是目录结构),block管理(其中包括 filename- ...
高可用MQ服务I
工程结构
此处利用RocketMQ先构建一个消息生产者体系,因此,如下结构图,不涉及消费者体系。完整的工程结构不应该如此结构图这般。
1234567891011121314151617181920212223242526272829303132.├── build.gradle├── mq-lib.iml└── src └── main └── java └── cn └── diudiu └── mq ├── config │ ├── DiuDiuMqConfig.java │ └── DiuDiuMqProducerConfig.java ├── message │ ├── IMessageHandler.java ...