欢迎光临
这是一个私人小站

Apache优化:修改最大并发连接数

hyx1989阅读(364)

Apache是一个跨平台的web服务器,由于其简单高效、稳定安全的特性,被广泛应用于计算机技术的各个领域。现在,Apache凭借其庞大的用户数,已成为用户数排名第一的web服务器。

尽管如此,在实际的生产环境中,我们仍然不可能直接使用默认配置的Apache来充当服务器。毕竟,为了更充分合理地利用Apache服务器,我们都应该根据自己的实际需要对Apache的默认配置作出一些必要的调整。而针对Apache的优化配置过程中,修改Apache的最大并发连接数就显得尤为重要。

在修改Apache的最大并发连接数之前,我们需要预先了解一些Apache的相关知识。

众所周知,Apache是一个跨平台的、采用模块化设计的服务器。为了应对不同的平台和不同的环境产生的各种不同的需求,也为了在具体的平台或环境下达到最佳的效果,Apache在web服务器的基础功能方面(端口绑定、接收请求等)也同样采用了模块化设计,这个Apache的核心模块就叫做多路处理模块(Multi-Processing Module,简称MPM)。

Apache针对不同的操作系统提供了多个不同的MPM模块,例如:mpm_beosmpm_eventmpm_netwarempmt_os2mpm_preforkmpm_winntmpm_worker。如果条件允许,我们可以根据实际需求将指定的MPM模块编译进我们自己的Apache中(Apache的源码是开放的,允许用户自行编译)。不过,如果在编译时我们没有选择,Apache将按照如下表格根据不同的操作系统自行选择对应的MPM模块,这也是Apache针对不同平台推荐使用的MPM模块。

操作系统 MPM模块 描述
Windows mpm_winnt 不用介绍了吧:)
Unix/Linux mpm_prefork 不用介绍了吧:)
BeOS mpm_beos 由Be公司开发的一种多媒体操作系统,官方版已停止更新。
Netware mpm_netware 由NOVELL公司推出的一种网络操作系统
OS/2 mpmt_os2 一种最初由微软和IBM共同开发的操作系统,现由IBM单独开发(微软放弃OS/2,转而开发Windows)

mpm_event模块可以看作是mpm_worker模块的一个变种,不过其具有实验性质,一般不推荐使用。

当然,Apache在其官方网站上也提供了根据不同操作系统已经编译好对应MPM模块的成品Apache。你可以点击此处进入Apache官方网站下载。

此外,如果我们想要知道某个Apache内部使用的是何种MPM模块,我们可以以命令行的方式进入Apache安装目录\bin,然后键入命令httpd -l,即可查看到当前Apache内部使用的何种MPM模块。

使用httpd -l命令查看编译模块

由于在平常的开发工作中,BeOS、NetWare、OS/2等操作系统并不常见,这里我们主要针对Windows和Unix/Linux操作系统上的MPM模块进行讲解。在Windows和Unix/Linux操作系统上,MPM模块主要有mpm_winntmpm_preforkmpm_worker三种。

mpm_prefork模块

mpm_prefork模块主要应用于Unix/Linux平台的Apache服务器,其主要工作方式是:当Apache服务器启动后,mpm_prefork模块会预先创建多个子进程(默认为5个),当接收到客户端的请求后,mpm_prefork模块再将请求转交给子进程处理,并且每个子进程同时只能用于处理单个请求。如果当前的请求数将超过预先创建的子进程数时,mpm_prefork模块就会创建新的子进程来处理额外的请求。Apache总是试图保持一些备用的或者是空闲的子进程用于迎接即将到来的请求。这样客户端的请求就不需要在接收后等候子进程的产生。

由于在mpm_prefork模块中,每个请求对应一个子进程,因此其占用的系统资源相对其他两种模块而言较多。不过mpm_prefork模块的优点在于它的每个子进程都会独立处理对应的单个请求,这样,如果其中一个请求出现问题就不会影响到其他请求。同时,mpm_prefork模块可以应用于不具备线程安全的第三方模块(比如PHP的非线程安全版本),且在不支持线程调试的平台上易于调试。此外,mpm_prefork模块还具有比mpm_worker模块更高的稳定性。

mpm_worker模块

mpm_worker模块也主要应用于Unix/Linux平台的Apache服务器,它可以看作是mpm_prefork模块的改进版。mpm_worker模块的工作方式与mpm_prefork模块类似。不过,由于处理相同请求的情况下,基于进程(例如mpm_prefork)比基于线程的处理方式占用的系统资源要多。因此,与mpm_prefork模块不同的是,mpm_worker模块会让每个子进程创建固定数量的服务线程和一个监听线程,并让每个服务线程来处理客户端的请求,监听线程用于监听接入请求并将其传递给服务线程处理和应答。Apache总是试图维持一个备用或是空闲的服务线程池。这样,客户端无须等待新线程或新进程的建立即可得到处理。

mpm_prefork模块相比,mpm_worker模块可以进一步减少系统资源的开销。再加上它也使用了多进程,每个进程又有多个线程,因此它与完全基于线程的处理方式相比,又增加了一定的稳定性。

mpm_winnt模块

mpm_winnt模块是专门针对Windows操作系统而优化设计的MPM模块。它只创建一个单独的子进程,并在这个子进程中轮流产生多个线程来处理请求。

修改MPM模块配置

在对Apache的MPM模块具备一定了解后,我们就可以针对不同的MPM模块来修改Apache的最大并发连接数配置了。

1.启用MPM模块配置文件

Apace安装目录/conf/extra目录中有一个名为httpd-mpm.conf的配置文件。该文件主要用于进行MPM模块的相关配置。不过,在默认情况下,Apache的MPM模块配置文件并没有启用。因此,我们需要在httpd.conf文件中启用该配置文件,如下所示:

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf (去掉该行前面的注释符号"#")

2.修改MPM模块配置文件中的相关配置

在启动MPM模块配置文件后,我们就可以使用文本编辑器打开该配置文件,我们可以看到,在该配置文件中有许多<IfModule>配置节点,如下图所示:

只有Apache使用对应MPM模块时,对应配置才会生效

此时,我们就需要根据当前Apache服务器所使用的MPM模块,来修改对应<IfModule>节点下的参数配置。首先,我们来看看mpm_winnt模块下的默认配置:

#由于mpm_winnt模块只会创建1个子进程,因此这里对单个子进程的参数设置就相当于对整个Apache的参数设置。

<IfModule mpm_winnt_module>
ThreadsPerChild      150 #推荐设置:小型网站=1000 中型网站=1000~2000 大型网站=2000~3500
MaxRequestsPerChild    0 #推荐设置:小=10000 中或大=20000~100000
</IfModule>

对应的配置参数作用如下:

ThreadsPerChild
每个子进程的最大并发线程数。
MaxRequestsPerChild
每个子进程允许处理的请求总数。如果累计处理的请求数超过该值,该子进程将会结束(然后根据需要确定是否创建新的子进程),该值设为0表示不限制请求总数(子进程永不结束)。该参数建议设为非零的值,可以带来以下两个好处:
1.可以防止程序中可能存在的内存泄漏无限进行下去,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

注意:在以上涉及到统计请求数量的参数中,对于KeepAlive的连接,只有第一个请求会被计数。

接着,我们再来看看mpm_perfork模块和mpm_worker模块下的默认配置:

#mpm_perfork模块

<IfModule mpm_prefork_module>
StartServers          5 #推荐设置:小=默认 中=20~50 大=50~100
MinSpareServers       5 #推荐设置:与StartServers保持一致
MaxSpareServers      10 #推荐设置:小=20 中=30~80 大=80~120 
MaxClients          150 #推荐设置:小=500 中=500~1500 大型=1500~3000
MaxRequestsPerChild   0 #推荐设置:小=10000 中或大=10000~500000
(此外,还需额外设置ServerLimit参数,该参数最好与MaxClients的值保持一致。)
</IfModule>
#mpm_worker模块

<IfModule mpm_worker_module>
StartServers          2 #推荐设置:小=默认 中=3~5 大=5~10
MaxClients          150 #推荐设置:小=500 中=500~1500 大型=1500~3000
MinSpareThreads      25 #推荐设置:小=默认 中=50~100 大=100~200
MaxSpareThreads      75 #推荐设置:小=默认 中=80~160 大=200~400 
ThreadsPerChild      25 #推荐设置:小=默认 中=50~100 大型=100~200
MaxRequestsPerChild   0 #推荐设置:小=10000 中或大=10000~50000
(此外,如果MaxClients/ThreadsPerChild大于16,还需额外设置ServerLimit参数,ServerLimit必须大于等于 MaxClients/ThreadsPerChild 的值。)
</IfModule>

对应的配置参数作用如下:

StartServers
启动Apache时创建的子进程数。
MinSpareServers
处于空闲状态的最小子进程数。所谓空闲子进程是指没有正在处理请求的子进程。如果当前空闲子进程数少于MinSpareServers,那么Apache将以最大每秒一个的速度产生新的子进程。只有在非常繁忙机器上才需要调整这个参数。此值不宜过大。
MaxSpareServers
处于空闲状态的最大子进程数。只有在非常繁忙机器上才需要调整这个参数。此值不宜过大。如果你将该指令的值设置为比MinSpareServers小,Apache将会自动将其修改成MinSpareServers+1
MaxClients
允许同时连接的最大请求数量。任何超过MaxClients限制的请求都将进入等待队列,直到达到ListenBacklog指令限制的最大值为止。

对于非线程型的MPM(也就是mpm_prefork),MaxClients表示可以用于处理客户端请求的最大子进程数量,默认值是256。要增大这个值,你必须同时增大ServerLimit

对于线程型或者混合型的MPM(也就是mpm_beosmpm_worker),MaxClients表示可以用于处理客户端请求的最大线程数量。线程型的mpm_beos的默认值是50。对于混合型的MPM默认值是16(ServerLimit)乘以25(ThreadsPerChild)的结果。因此要将MaxClients增加到超过16个进程才能提供的时候,你必须同时增加ServerLimit的值。

MinSpareThreads
处于空闲状态的最小线程数。不同的MPM对这个指令的处理是不一样的:

mpm_worker的默认值是75。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程。mpm_netware的默认值是10。既然这个MPM只运行单独一个子进程,此MPM当然亦基于整个服务器监视空闲线程数。mpm_beosmpmt_os2的工作方式与mpm_netware差不多,mpm_beos的默认值是1;mpmt_os2的默认值是5。

MaxSpareThreads
处于空闲状态的最大线程数。不同的MPM对这个指令的处理是不一样的:

mpm_worker的默认值是250。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。mpm_netware的默认值是100。既然这个MPM只运行单独一个子进程,此MPM当然亦基于整个服务器监视空闲线程数。mpm_beosmpmt_os2的工作方式与mpm_netware差不多,mpm_beos的默认值是50;mpmt_os2的默认值是10。

备注ServerLimit表示Apache允许创建的最大进程数。 值得注意的是,Apache在编译时内部有一个硬限制ServerLimit 20000(对于mpm_prefork模块为ServerLimit 200000)。你不能超越这个限制。
使用这个指令时要特别当心。如果将ServerLimit设置成一个高出实际需要许多的值,将会有过多的共享内存被分配。如果将ServerLimitMaxClients设置成超过系统的处理能力,Apache可能无法启动,或者系统将变得不稳定。

注意:在配置相关参数时,请先保证服务器具备足够的硬件性能(例如:CPU、内存等)。 如果发现自启动后,随着服务器的运行时间增加,服务器的内存占用也随之增加,可能是程序中出现内存泄露,请向下调整参数MaxRequestsPerChild的值以降低内存泄露带来的影响,然后尽快找出程序中的问题之所在。

Ubuntu18.04 LTS LAMP环境配置记录

hyx1989阅读(358)

amp 环境包括:Apache服务器、php、Mysql数据库,linux服务器架构在虚拟机中。
Tip:在进行环境配置之前最好进行镜像存储。
1. 系统更新
在安装之前需要执行下面的三条命令进行系统内部更新:

sudo apt-get update #获得最新资源包
sudo apt-get upgrade #更新本机全部软件
sudo apt-get dist-upgrade #本机系统软件更新

2. 安装apache服务器

sudo apt install apache2 -y    
#检查apapache状态
systemctl status apache2
#开启、关闭或者重启apache
sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 restart

通过ifconfig查看服务器ip,在浏览器中输入ip地址可以查看Apache服务器是否安装成功!

3. 安装mysql

sudo apt install mysql-server mysql-clien

需要注意的,如果你的乌班图是无界面版的服务器版本,那么在安装的时候是不会出现mysql密码设置的界面,我们在安装完成后mysql5.7会随机生成一个密码, 我们想要登陆mysql就必须重置一个密码。
执行如下命令:

cd /etc/mysql/mysql.conf.d
sudo vi mysqld.cn

在代码里面加入:skip-grant-tables 作用是跳过mysql的密码验证,从而不需要密码而登陆mysql
重启mysql服务器 :sudo /etc/init.d/mysql restart
进入mysql后,use mysql;
然后执行命令:update user set plugin=’mysql_native_password’;
update user set authentication_string=password(‘123456′) where user=’root’ and host=’localhost’;
flush privileges; 刷新
退出mysql,然后注释掉skip-grant-tables
重启mysql服务器 sudo /etc/init.d/mysql restart

4. 安装php

sudo apt-get install -y php7.2

安装完成后查看版本 php -v

5. 安装phpmyadmin

sudo apt install phpmyadmi

安装完成后创建软连接到web目录
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

系统更新
[Xìtǒng gēngxīn]
system update

windows下使用odoo10绿色版作为开发环境

hyx1989阅读(514)

Why:

由于在开发中,需要使用QQ等工具进行沟通,特别是和客户沟通、远程协助,
还需要上网查资料,截屏,录音、录像等,加上大部分用户实际上都比较熟悉windows系统。
新手一般大致需要1-2个月的时间来熟悉Ubuntu系统,
虽然Macos系统上手可能要快一点,但书中的有些地方在Macos下也是不同的。

出于专注学习Odoo开发和降低一定的开发门槛的目的,
2017年3月7日开始我们尝试在Win下使用王步科发布的绿色版进行开发学习,
由于学生的基础不同,我们也并不一刀切,学生也可以提前学习Ubuntu后,在Ubuntu下进行开发学习。也可以在对odoo开发有了基础和信心后,再转到ubuntu系统下,这时候对命令行也有所熟悉了。

意义:在windows下也可以用创建数据库,更新数据库,创建模块模板等命令了

第一步:设置Win环境变量路径:

假设我们的odoo10.0绿色版 位于C盘,绿色版的 路径为 C:\odoo;
c:\odoo 目录下 source 内 是odoo源码, runtime目录下 是odoo运行所需的环境.

在 : 鼠标右击计算机|属性|高级系统设置|高级|环境变量| 系统变量|path中增加:

C:\Odoo\runtime\pgsql\bin
C:\Odoo\runtime\python
C:\Odoo\runtime\win32\wkhtmltopdf
C:\Odoo\runtime\win32\nodejs

说明 : 从上到下,分别是pgsql的运行路径,python的运行路径,wkhtmltopdf用于打印pdf,nodejs的运行路径,
注意:上述路径均应修改为 本地绿色版的 实际路径,例子中的C:\Odoo 是绿色版所在的路径,仅供参考。

确定之后,重启电脑, 然后cmd窗口下输入path 确认path是否生效

第二步: 数据库设置-及初始化

进入cmd后

C:\Odoo\runtime\pgsql\>set PGHOST=localhost
C:\Odoo\runtime\pgsql\>set PGLIB=C:\Odoo\runtime\pgsql\lib
C:\Odoo\runtime\pgsql\>set PGDATA=C:\Odoo\runtime\pgsql\data_biu

上面的命令应该是为了下面initdb做的,运行一次即可,以后重启不用再运行,注意我是进入到绿色版pgsql的路径后执行的,
由于设置了路径,因此上面3条命令,不进入目录应该也是可以执行的。

说明:set PGDATA=C:\Odoo\runtime\pgsql\data_xxx 推荐设置一个新的路径,

初始化数据库:

initdb -E UTF8 --locale=C

说明: -E UTF8 是使用UTF8 编码,initdb也是第一次做一下就好,以后重启不用重复。

第三步:启动PG数据库以及使用命令启动Odoo服务

  1. 启动PG数据库:
   ""pg_ctl -D "c:\Odoo\runtime\pgsql\data_biu" -l logfile start

注意 : 这里的 data_biu 是第二步中设置的 .路径大家可以替换为自己需要的.

启动后可以使用 netstat -ano 来观察5432 端口是否 使用,
使用 “”pg_ctl -D “c:\Odoo\runtime\pgsql\data_biu” -l logfile stop 可以停止pg数据库
停止后 可以再使用 netstat -ano 来观测 5432 端口是否使用.

2.使用命令启动Odoo

C:\Odoo\runtime\python\python-oe C:\Odoo\source\odoo-bin 

至此,odoo开发书籍中提到的许多命令都可以在windows下使用了
我们还可以执行 C:\Odoo\runtime\python\python-oe C:\Odoo\source\odoo-bin –help 来观察命令帮助,以及命令和配置文件中参数的对比。

下图是步骤二 初始化后,启动pg数据库服务器,
然后使用pg命令创建了demo数据库,
再使用 odoo-bin -d demo 使用odoo再初始化此demo 数据库,
实际上, 直接使用 odoo-bin -d demo 如果demo数据库不存在,也会创建demo数据库.
这里是为了说明,在cmd窗口中 的 pg数据库启动后,是可以使用一些pg命令的.

注意,图片中的 Odoo绿色版 位于c盘,Godoo10, 而odoo10的源码位于 C:\Godoo10\odoo10 中.

以后进系统后:

1: 需要重新启动 数据库 :

   ""pg_ctl -D "c:\Odoo\runtime\pgsql\data_biu" -l logfile start

注意路径替换为初始化时对应的,

2: 然后 进入 odoo-bin所在的目录 运行odoo,

 python-oe  odoo-bin

当然也可以 好好理解下开发书籍(Odoo Development Essential)中的各种命令及参数. 比如 书中提到加上 –addons = xxx的 参数, 还提到 可以 加上 –save 的参数,在运行后,讲当前 的参数保存到 默认配置文件中.

Android Things硬件

hyx1989阅读(494)

Android Things是一款面向物联网和智能设备的Android系统,学习、入门和进行Android Things的开发,都离不开和硬件打交道。如果你是个硬件小白,本文将帮助你了解如何选购Android Things硬件、选择配件套装进行Android Things硬件开发的入门学习,并对NXP Pico i.MX7D Pico开发套件和树莓派3开发板做简要的比较。在今年的Google I/O上,Google发布了Android Things 1.0正式版,如果你了解Android,那目前是你通过Android Things了解硬件开发的最佳时机。

开发板

首先,你需要有一块运行Android Things系统的开发板,就像做Android开发你需要有一款Android手机一样。

按照官方说明,支持的产品级开发平台有以下几款:

不过,目前Google尚未正式发布针对以上产品的系统固件,这几款模组也很难买到,价格也很高。

比较适合开发者的Android Things的开发板是如下两款:

很多朋友已经在去年的GDD上,或是今年初Google和引力空间组织的Android Things沙龙上拿到了NXP i.MX7D Pico Pro Maker Kit,也就是上图中的第一款。

如果没有拿到NXP的开发板,那么购买上图中最后一个——Raspberry Pi树莓派是性价比极高的选择,从硬件性能指标来看,树莓派3也优于其他几款。

传送门1 —— 关于NXP开发板

NXP开发板的介绍和如何安装Android Things系统,可以看这篇《Android Things在NXP Pico i.MX7D上安装运行

传送门2 —— 关于树莓派3开发板

Raspberry Pi 3,树莓派3,其实也就是树莓派3B(树莓派3只出了Model B版本,也就是3B)。Android Things目前只支持树莓派3B,不支持今年新出的树莓派3B+。市面上主要有英国版(生产商RS/E14)和中国版(生产商E14),功能完全相同,建议购买中国版,做工好(当今电路板级别的电子制造,我国绝对是代表了全球最高水平的),英国版的板切边有明显毛刺。

注意,重要的事情说三遍:
Android Things目前只支持树莓派3B不支持今年新出的树莓派3B+
Android Things目前只支持树莓派3B不支持今年新出的树莓派3B+
Android Things目前只支持树莓派3B不支持今年新出的树莓派3B+

可以从这里购买树莓派3B中国版搭配Android Things案例配件套装:https://item.taobao.com/item.htm?id=564158582078

树莓派如何安装Android Things系统,可以看这篇《Android Things入门防坑必读-树莓派硬件和系统下载安装篇

下面简单比较一下目前能够买到的两款开发板——NXP i.MX7D Pico Pro Maker Kit和树莓派3B。

NXP i.MX7D Pico Pro Maker Kit是一个套装,包括一块开发板(Pico开发板搭载i.MX7D SoM核心板)、摄像头、5寸触摸屏,开发板没有HDMI接口,所以提供了5寸屏来显示,这也是开发套件价格较高的原因。

供电接口为USB Type-C接口,套装中已经包含有Type-C线缆了。

板上有4GB的eMMC存储,拿到手的板上是没装系统的,所以需要自己将Android Things系统刷入到板上的eMMC存储中。

树莓派3B的出售包装中,只有一块树莓派3B主板和一张纸的说明书(和没有一样)。

为什么树莓派性价比高呢,它使用MicroUSB线供电,这根线大部分人都有就不用花钱买了吧;

它有HDMI输出可以接显示器或电视机,所以没必要买个触摸屏了吧,况且Android Things开发很多时候可以没有显示屏;

它板上不带存储,系统需要安装在一张TF卡(8GB以上),TF卡也大部分人都有了吧,没有的话,买一张也很便宜。

另外,树莓派还可以运行其它系统,可以装Linux,装Windows 10 IoT,可以用树莓派来学习Python的物联网编程,一机多用。

对比上面两张图,你会发现,两个开发板的外观很像,是的,用于连接外设的40Pin接口定义,几乎是一样的,除了名称不同,不过没关系,我做了个接口名称的映射,开发时完全可以忽略两块板的差异了,具体可参考《Android Things创客DIY第二课-Android Things入门配件包开发案例教程-报警灯》。

入门配件套装

Android Things的开发不同于手机、平板软件的开发,你需要动手去控制硬件、连接一些指示灯、按钮、传感器、执行机构等等,所以只有一个开发板是不够的。官网的案例中,就需要用到很多电子元件。

有的朋友拿到的NXP套件中包含了Rainbow HAT,这块板上集成了一些传感器、触摸按钮、指示灯,你可以编程去控制。

不过官网案例中对Rainbow HAT的使用介绍并不是很详细,并且用Rainbow HAT就失去了自己动手DIY的乐趣,也少了对电路原理学习了解的过程。Rainbow HAT国内没有销售,淘宝上有一些代购,价格在250~300元,并不便宜。

为了方便开发者学习Android Things开发,我们将Android Things官网Samples开发案例中所需的配件进行了整理。精选优品并搭配测试,提供了入门基础配件套装。并在此基础上,又提供了很多独家开发的案例和相应组件,让Android Things入门有更多可玩性。

如果你已经有NXP的开发板,可以购买如下配件套装:

Android Things开发基础配件套装 https://item.taobao.com/item.htm?id=564226570619

或者购买增加了以下两个显示模块的套装

Android Things入门教程

hyx1989阅读(505)

Android Things入门教程一文是一个摘要汇编,帮助Android Things初学者梳理入门学习的知识和资源、所需的硬件和配件,循序渐进的了解Android Things,并开始动手实践之旅。

注意1:Android Things已于2018年5月发布1.0正式版,并且每个月会有安全更新发布。自0.8版(Developer Preview 8)开始,相较之前版本有较大变动,建议先阅读我的《Android Things DP8新特性》一文,了解DP8中需要注意的地方,也欢迎关注知乎Android Things专栏。0.8版作为发布候选版本,和1.0正式版基本一致,如果你已下载了0.8以前的版本,请注意更新到1.0正式版。

注意2:如果选择购买树莓派作为Android Things开发板,需注意,Android Things目前只支持树莓派3B不支持新出的树莓派3B+,请特别注意!

了解什么是Android Things

一句话说,Android Things就是让开发者可以使用Android开发工具开发嵌入式设备。

If you can build an app, you can build a device. 只要你会开发APP,你就能开发智能设备。

推荐阅读

我的文章:《Android Things是什么》,你将从中了解Android的应用场景、特性、优势和劣势。

GDE王玉成的专题文章:《Android Things专题 1.前世今生》,你将从中了解什么是物联网,Android Things产生的背景和过程。

官网:《Android Things Overview

了解用Android Things能做什么

你可能已经对Android Things跃跃欲试了,想要了解我到底能用Android Things能做什么。

推荐阅读

我的文章:《Android Things创客DIY第一课-用Android Things展示你的智能设备创意-基础篇》,你将从中了解当你有一个智能设备创意时,你要如何去表达和展示。

GDE王玉成的专题文章:《Android Things在 #io17》,你将从中看到在2017年的Google IO大会上展示的一些Android Things应用。

GDE王玉成的专题文章:《Android Things 专题6 完整的栗子:运用TensorFlow解析图像》,你将从中看到结合TensorFlow,Android Things可以非常方便的做好玩的人工智能图像识别。

http://hackster.io上的Android Things项目展示:https://www.hackster.io/google/products/android-things,从这里你将看到很多Android Things做的有趣的东西,大部分都是老外做的。

如何开始我的Android Things之旅

至此,你一定已经想马上动手,自己尝试Android Things了。这时候你需要有一块运行Android Things系统的开发板。

很多朋友已经在去年的GDD上,或是Google和引力空间组织的Android Things沙龙上拿到了NXP i.MX7D Pico Pro Maker Kit,也就是上图中的第一款。

如果没有拿到NXP的开发板,那么购买上图中最后一个——Raspberry Pi树莓派是性价比极高的选择,从硬件性能指标来看,树莓派3也优于其他几款。

Android Things的开发不同于手机、平板软件的开发,你需要动手去控制硬件、连接一些指示灯、按钮、传感器、执行机构等等,所以只有一个开发板是不够的。官网的案例中,就需要用到很多电子元件。

官网案例中通过面包板连接电子元件

为了方便开发者学习Android Things开发,我们将Android Things官网Samples开发案例中所需的配件进行了整理。精选优品并搭配测试,提供了入门基础配件套装。

更详细的开发板选型和对比资料可以阅读:

我的文章《Android Things硬件

GDE王玉成的专题文章:《Android Things专题2 硬件介绍

拿到开发板后,需要把Android Things系统烧录进开发板,根据你手上的开发板,你可以阅读:

Android Things入门防坑必读-树莓派硬件和系统下载安装篇

Android Things在NXP Pico i.MX7D上安装运行

Android Things开始动手

当你已有了Android Things开发板和一些必要的配件,你就可以开始动手玩Android Things了。以下课程将帮助你一步步开展你的动手实践之旅:

案例代码已升级到Android Things Developer Preview 8版本,注意开发板系统与代码版本一致。

Android Things创客DIY第一课-用Android Things展示你的智能设备创意-基础篇

Android Things创客DIY第二课-Android Things入门配件包开发案例教程-报警灯

Android Things创客DIY第三课-Android Things入门配件包开发案例教程-数码管显示

Android Things创客DIY第四课-Android Things入门配件包开发案例教程-气象站

Android Things创客DIY第五课-硬件开发案例教程-PWM调色-触摸开关-数码管显示-OLED显示

Android Things创客DIY第六课-Android Things入门配件包开发案例教程-4位数码管显示

第四课和第五课中用到的温度和气压传感器、OLED模块,都是I2C接口的,I2C是一种芯片间的通讯协议,案例中我们只介绍了封装后的模块驱动的使用,并没有介绍具体的I2C通讯过程,感兴趣的朋友可以结合源代码和以下文章做深入了解:

GDE王玉成的专题文章:《Android Things专题5 I2C

在树莓派上搭建LAMP服务

hyx1989阅读(467)

LAMP,是最流行的服务器配置之一,LAMP的含义是:

  • Linux - 操作系统
  • Apache - 网络服务器(HTTP)软件
  • Mysql - 数据库服务
  • PHP or Perl - 编程语言

这种配置对于大多数树莓派用户来说,可能过于重量级了,但是大多数用户能学到服务器的配置过程,是一种学习配置服务器的好方法。我可能会在以后写一篇轻量级服务器的配置文章。

所有的配置都在命令行下完成。这可能会比点鼠标难一些,但是也会有很多优势,例如可以远程管理、配置服务,CPU时间可以用在提供网页服务上,而不是用来渲染图形界面,毕竟网络服务器的唯一目的就是网页服务。

为什么要用树莓派?

除了极客式的回答“因为我能这么做”之外,我认为还有其他一些很好的理由。
可以学习Linux 本站的主要目的是传授Linux技巧。学Linux最好的方式是用Linux做些什么。搭建服务器是一个好的起点。
学习网络编程 树梅派基金会的目标是教孩子编程。网络编程是非常有用的技能。虽然对于先学桌面编程好,还是先学网络编程好,一直以来是有争议的,但是毫无疑问网络编程非常实用。
作为一个接口 树莓派适合从各种感应器中收集数据,可以搭建一个服务器,来访问这些数据。
专用网络设备 可以做成一个家中使用的专用网络设备,例如流媒体设备等。
当作测试或开发服务器 开发web应用的时候,有一个专用的测试用服务器比较好。理想状态下,测试服务器的软硬件应该和生产环境下一致,但如果不现实,可以用树莓派来代替,开销很低。
当作生产环境的服务器 最初我会说,把树莓派当作生产环境服务器是很傻的事。但我回忆了下, 我最初的个人博客 的服务器的配置也不比树莓派强多少,那是在2007年之前的事情。那台服务器的内存比树莓派多一点,就可以跑一个完整的 WordPress 站点,以及其它一些CGI脚本。现在的网站动态内容更多,站点上的文件也更大,但是如果是个人网站,用树莓派也够用了。

Debian Linux

服务器的配置基于 树莓派下载页 上的Debian树莓派镜像。

本文需要树莓派能连接到外网,下文假设树莓派是用网线连接到家用路由器上的。

安全性

首先要让树莓派的安全等级更高一些。这个镜像中的系统有默认的用户名和密码,连上外网后,任何人都可以登陆,然后随意使用这个树莓派。

要更改密码,在登陆后输入

1
passwd

然后在之后出现的提示符后输入新密码。

你可能想要添加一个帐户。我在下文中用的账户名是user1,通常来说,账户名应该是个人名。如果你不想添加帐户,可以跳过这一部分,直接去看 性能/网络那一步。
下面的命令可以添加一个新帐户,并且设定密码。

1
2
sudo useradd -m user1
sudo passwd user1

这是本文中第一次用sudo命令,在余下的部分中还会用很多次。使用sudo命令,用户可以以管理员的身份来执行一个命令,就像上面的例子里一样。如果不使用sudo,命令就会运行失败,因为普通用户不可以创建其它帐户。这是一个防止系统被盗用的安全特性,也可以防止用户误用某些命令破坏系统(虽然说前面加上sudo就不能防止误用了)。

新帐户必须被加入到特定的用户组中,才能有pi帐户的某些权限。

你可以用usermod命令添加用户组,也可以直接更改配置文件。我在下面会直接改配置文件,这样你就能看一下配置文件了(一般来说,如果要做好几个改动,直接改配置文件会快一些)。请注意,如果在编辑配置文件的时候出错,有可能这个帐户会不能登陆。

有两个常用的命令行下的文本编辑器,对于新用户来说nano比较容易使用(所以我在下文用的是nano),因为它很有用,并且在所有linux上都是预装的。如果你会用vi,那么下面使用nano的地方,你都可以用vi。

1
sudo nano /etc/group

浏览整个文件,找到pi所在的那一行,然后把,user1加到行尾。

例如

1
adm:x:4:pi,user1

编辑完成后,CTRL-O保存文件,CTRL-X退出。

重要的地方在于,如果一个帐户不在admin那一行,这个帐户就不能使用sudo,从而不能进行任何系统管理 。当然,如果你想要添加一个帐户,然后不给管理权限,那么就不用改动/etc/group文件。

输入

1
exit

注销,然后用新建的帐户登陆,检查一下是否设置正确。

新帐户默认的 Shell 是bourne shell。bash是bourne shell的改进版,用户可以在命令行使用方向键自动补全。

为新帐户设置默认shell,输入:

1
chsh -s /bin/bash

如果以后不用pi这个帐户了,可以删掉它。

1
userdel pi

这只是提升Pi的安全级别的第一步。Linux安全还包含其它方面,例如当安全补丁发布后,安装这些补丁(例如用apt-get update)。

调节系统性能

通常来说,调整服务器性能是之后要做的事情。但是对于树莓派来说,做一个调整,就能提升系统的性能。我们在这里设置,保存重启后生效,之后可以省去一次重启。
树莓派有256MB(后来的版本是512MB)内存。但这个内存是图形和主系统共用的。默认情况下64MB分配给图形系统。对于不准备跑图形界面,或者很少跑图形界面的设备,例如服务器这种情况下,64MB内存太多了。将图形系统的内存减少到32MB,输入下面的命令。

1
sudo cp /boot/arm224_start.elf /boot/start.elf

或者用sudo raspi-config在配置目录中改动。(你可以用sudo cp /boot/arm192_start.elf /boot/start.elf 来恢复之前的设置)

这个改动需要重启后生效,我们稍晚时候再重启,所以现在不用重启。

设定网络

下一步要为树莓派分配一个静态IP地址。这一步稍微复杂一点,决定于你自己的配置和路由器种类。
默认情况下树莓派向路由器请求一个动态IP。这种IP可能会变动,不容易连上你的服务器。我们的办法是给它一个不会变的地址,例如192.168.1.4
注意,这个地址只能在局域网使用,不能在外网用——之后我们会介绍如何配置你的路由器和防火墙 ,让外网用户可以访问你的服务器。

首先用ifconfig查看DHCP分配给树莓派的地址——下面是输出内容的一部分

1
2
3
4
eth0      Link encap:Ethernet  HWaddr b8:27:eb:8a:71:a0
inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0

这是在说,以太网端口0,地址是192.168.1.110

你还需要知道路由器的地址,使用route命令

1
2
3
4
5
$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

这是在说,路由器的IP地址(也就是网关)是192.168.1.1,所有的数据都会通过这个路由器接收和发送。

现在,查看路由器IP池的范围。这取决于你的路由器。下面的例子中用的是一个 Belkin无线路由器 ,在浏览器中输入192.168.1.1,可以看到路由器的管理界面。

LAN设置是下面这个样子的:

20131013120205182

这个例子中,局域网有效的IP范围是从192.168.1.1到192.168.1.254.路由器的地址是192.168.1.1,DHCP分配的地址是从192.168.1.100到192.168.1.150(如果有必要,你可以更改这个范围)。我给服务器分配的地址是192.168.1.4.

配置静态IP地址

1
2
cd /etc/network
sudo nano interfaces

把 iface eth0 inet dhcp 改成 iface eth0 inet static

1
2
3
address 192.168.1.4
netmask 255.255.255.0
gateway 192.168.1.1

你可以看一眼/etc/resolv.conf中的配置,其中有一条记录(很可能是指向你的默认网关的)

1
nameserver 192.168.1.1

你也可以把这一项直接指向网络服务商的DNS服务器地址。虽然可以不重启,重新连接网络接口,我建议在这一步重启,确保配置正确。

1
sudo reboot

登陆之后,用ifconfig确认服务器有一个静态ip地址

1
2
3
4
eth0      Link encap:Ethernet  HWaddr b8:27:eb:8a:71:a0
inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0

开启SSH

SSH(Secure Shell)是一种网络协议,你可以用命令行通过这种协议远程登陆,控制计算机。就像名称中所说的一样,这种远程控制是安全的,因为数据在网络上传输的时候是加密的(所以别人看不到你的密码之类的信息)。它还提供例如隧道之类的很棒的特性,我们在这里不去深入讨论。

ssh服务在默认的镜像上有,默认也是开启的。你可以用raspi-config打开或关闭ssh服务。

现在你可以用ssh远程访问树莓派(在同一个网络下)。如果你有另一台在同一个网络下,并装有linux的电脑,就可以在终端运行

1
ssh 192.168.1.4

然后会以同样的用户名登陆。如果想用用户名不同的帐户,在ip前输入用户名,并且用@来分隔。例如

1
ssh user1@192.168.1.4

MAC上也有ssh,你可以用同样的命令登陆。

如果你用Windows,那么有好几种选择,我推荐开源软件Putty。

让外网可以访问服务器

然后,我们来设置路由器,让ssh和网络数据可以通过防火墙连到树莓派。

你把pi帐户的默认密码改掉了吧?如果没改掉默认密码,任何人都可以登陆到你的树莓派上。

家庭网络中的ip地址是局域网的地址,局域网是个私有网段,外网是无法访问的。你的网络服务商会提供一个动态IP,这个IP是路由器在使用的。为了让外网可以访问你的树莓派,必须把树莓派的地址转换为一个外网地址。这个过程叫网络地址转换(NAT)。

需要开放的端口号是80(http默认端口),如果你想在外网的计算机上登陆,还需要开放22端口(ssh默认)。

这一步需要查阅路由器的说明书。这个例子中,我的Belkin路由器是在防火墙>虚拟服务器设定中(见下图),但是Netgear的路由器在高级>安全>IP转发中。

20131013120205746

DNS

最后一步是给你路由器的IP绑定一个域名。从我个人的情况而言,宽带服务商是Virgin Media。虽然他们提供的是动态IP,但是地址通常是不会变的。我在一个域名服务商那里注册了一个静态的域名。这个域名大概一年只需要更新一次,或者当Virgin Media进行大规模网络维护的时候更新一次。

如果你的IP是动态的,而且经常变动,你就要注册一个动态域名服务。

安装Apache

Apache服务器可以从Debian的源中下载。可以用apt下载。

首先要更新apt的软件列表。如果不运行sudo apt-get updata的话,apt软件就不知道有没有新的软件包或者版本更新。

Apache可以用下面的命令来安装

1
sudo apt-get install apache2

安装mysql

mysql在Debian的源中也有,可以用这个命令来安装

1
sudo apt-get install mysql-server

安装过程中,会出现一个提示符让你输入一个密码。

这个密码是mysql root用户的密码。

安装PHP

Perl是系统预装的,所以我这里只写PHP的安装。

输入下面的命令,就可以安装PHP 5,以及PHP访问mysql数据库所需要的库。

1
2
sudo apt-get install php5
sudo apt-get install php5-mysql

配置完成

安装完成后,可以在浏览器中输入你路由器的IP或域名,就可以访问你的网站了。

你应该能看到一个页面显示“It works”,但是没有其它内容。

删掉/var/www/index.html,创建一个/var/www/index.php,可以测试服务器和PHP工作是否正常。

树莓派+一根网线直连笔记本电脑

hyx1989阅读(505)

用网线直连电脑,不经过路由器。这个方法最大的特点用最少的工具玩树莓派。

材料:树莓派一部、网线一根,笔记本电脑一台。
1、树莓派:带供电系统和烧好Raspbian系统的SD卡;
2、网线:交叉或直连;
3、笔记本电脑:双网卡,现在应该都是这个配置的。

操作步骤。
1、连线。
树莓派接好供电线;
将网线一端接到树莓派,另一端接到笔记本。

2、共享互联网。
如果现在笔记本已经通过WIFI连接到互联网,可以将无线网卡的互联网资源共享给本地连接。以win7系统为例,开始——控制面板——网络和Internet——网络和共享中心——查看网络状态和任务——更改适配器设置,找到无线网络连接右键“属性”,在共享选项卡上选中“允许其他网络用户通过此计算机的Internet连接来连接(N)”选项,点确定。

20131015215905763

3、查找树莓派的IP地址。
运行DOS窗口,输入arp -a,在接口192.168.137.1下的为动态类型的IP地址就是树莓派的地址

20131015215905717-0

为什么是接口192.168.137.1的呢?因为上部共享互联网的时候已把“本地连接”的IP地址自动设置成静态IP192.168.137.1了,当然这个IP地址也可以自己设置成其他自己常用的静态IP地址。因为此时树莓派的IP地址是动态的,只能用此方法查找。也可以通过修改SD卡中的cmdline.txt文件(在里面加入语句ip=***.***.***.***),将树莓派设置成静态IP地址,但此时只有将电脑的“本地连接”的静态IP地址设置成与树莓派静态IP地址同一号段才能成功连接。

4、利用PuTTY软件连接树莓派。
此时输入上述查找的动态IP地址或设置好的静态IP地址就能连接上树莓派了,因为是初次连接要进行一下初始化设置和其他操作。

5、图形化界面连接。
再按照VNC远程登录树莓派的图形界面一文就能通过VNC软件连接上树莓派进行图形化界面操作了,也可以通过windows自带的“远程桌面连接”功能进行图形化操作,具体设置可在网上查找相关教程。

Linux/Raspbian 每个目录用途说明

hyx1989阅读(499)

为什么会有这篇文章

因为在使用apt-get purge remove openvpn之后,发现系统里依然有很多openvpn名字的目录或者文件,比如像下面这样

/usr/sbin/openvpn
/etc/default/openvpn
/etc/network/if-down.d/openvpn
/etc/network/if-up.d/openvpn
/etc/bash_completion.d/openvpn
/etc/init.d/openvpn
/run/openvpn

有强迫症+洁癖的我当然就很不爽了,挨个查看之后,就删掉了这些,但是对于一些目录的用户比较感兴趣,就找到了下面这篇文章,英文的,翻译了,留在这里,增加自己对LINUX系统的了解。

Linux和Windows的区别

的显著区别之一就是其不同的目录结构,并不仅仅是格式上的不同,而是不同位置上保存的东西区别很大。

在Windows中,典型的路径可能是这样的 D:\Folder\subfolder\file.txt,而在Linux中,路径则是这样的 /Folder/subfolder/file.txt

斜线倾斜的方向不同,并且,在Linux中,也没有C盘D盘的概念,Linux系统启动之后,根分区 就”挂载”在了在了 / 的位置,并且所有的文件、文件夹、设备以及不同的硬盘光驱之类的,也都挂载在了 /

虽然可能在下面这个例子中并不明显,但是Linux系统对文件或者文路径的名称中的大小写字符是敏感的。

比如 /Folder/subfolder/file.txt 与 /folder/subfolder/file.txt并不是同一个文件。

Linux系统目录说明

Unix中和Linux的目录结构是一个统一的目录结构,所有的目录和文件最终都统一到”/“根文件系统下。文件系统是无论是不是挂载过来的,最终都分层排列到以”/“为起始的文件系统之下。
Linux目录结构遵循”文件系统层次结构(Filesystem Hierarchy Structure,FHS)”,这标准是由“自由标准组织(Free Standards Group)”进行维护的,然而大多数LINUX发行版都有意或者无意的与这一规范背离。

“/” 根路径

这是Linux系统的“根”目录,也是所有目录结构的最底层。在UNIX以及和它兼容的系统中,”/“是一个单独的目录。

/boot

这个目录下包含系统启动文件(boot loader),例如Grub,Lilo或者Kernel,以及initrd,system.map等配置文件。

Initrd ramdisk或者””initrd””是指一个临时文件系统,它在启动阶段被Linux内核调用。initrd主要用于当“根”文件系统被挂载之前,进行准备工作。

/sys

这个目录下包含内核、固件以及系统相关文件。

/sbin

包含系统操作和运作所必需的二进制文件以及管理工具,主要就是可执行文件。类似WINDOWS下的EXE文件。

/bin

包含单用户模式下的二进制文件以及工具程序,比如cat,ls,cp这些命令。

/lib

包含/sbin和/bin目录下二进制文件运行所需要的库文件。

/dev

内含必需的系统文件和驱动器。

/etc

内含系统配置文件,其下的目录,比如 /etc/hosts, /etc/resolv.conf, nsswitch.conf, 以及系统缺省设置,网络配置文件等等。以及一些系统和应用程序的配置文件。

/home

每一个用户的在这个目录下,都会单独有一个以其用户名命令的目录,在这里保存着用户的个人设置文件,尤其是以 profile结尾的文件。但是也有例外,root用户的数据就不在这个目录中,而是单独在根路径下,保存在单独的/root文件夹下。

/media

一个给所有可移动设备比如光驱、USB外接盘、软盘提供的常规挂载点。

/mnt

临时文件系统挂载点。比如,你并不想长期挂载某个驱动器,而是只是临时挂载一会U盘烤个MP3之类的,那么应该挂载在这个位置下。

/opt

在Linux系统中,这个目录用到的并不多,opt是 可选系统程序包(Optional Software Packages)的简称。这个目录在UNIX系统,如Sun Solaris用途要广泛的多。

/usr

用户数据目录,包含了属于用户的实用程序和应用程序。这里有很多重要的,但并非关键的文件系统挂载这个路径下面。在这里,你会重新找到一个 bin、sbin 和 lib目录,其中包含非关键用户和系统二进制文件以及相关的库和共享目录,以及一些库文件。

/usr/sbin

包含系统中非必备和并不是特别重要的系统二进制文件以及网络应用工具。

/usr/bin

包含用户的非必备和并不是特别重要的二进制文件。

/usr/lib

保存着/usr/sbin以及/usr/bin中二进制文件所需要的库文件。

/usr/share

“平台无关”的共享数据目录。

/usr/local

是/usr下的二级目录,这里主要保存着包含系统二进制文件以及运行库在内的本地系统数据。

/var

这个路径下通常保存着包括系统日志、打印机后台文件(spool files)、定时任务(crontab)、邮件、运行进程、进程锁文件等。这个目录尤其需要注意进行日常的检查和维护,因为这个目录下文件的大小可能会增长很快,以致于很快占满硬盘,然后导致系统便会出现各种奇奇怪怪的问题。

/tmp

顾名思义,这是一个临时文件夹,专门用来保存临时文件,每次系统重启之后,这个目录下的”临时”文件便会被清空。同样,/var/tmp 也同样保存着临时文件。两者唯一的不同是,后者 /var/tmp目录保存的文件会受到系统保护,系统重启之后这个目录下的文件也不会被清空。

/proc

这个目录是驻留在系统内存中的虚拟(psuedo,伪)文件系统,其中保存的都是文本格式的系统内核和进程信息。

LINUX系统目录结构图

Linux Directory Structure in Visual View

需要注意的是,不同LINUX发行版本的目录结构会有一些差异,这对LINUX新手来说比较纠结,但是大体上,所以LINUX的不同发行版本,都符合上面这幅图片中的路径结构。

参考文章

1.Linux Directory Structure Overview

树莓派初步上手体验基本工具介绍和下载

hyx1989阅读(526)

1.快速开机指南

英文版.pdf
中文版.doc
注意:以上开机指南中提供的镜像文件较旧可能会无法使用(表现为黑屏或彩虹屏),请在本页面下载最新的树莓派镜像文件

2.SD卡格式化工具,可选。

SD Formatter 4.0 for SD/SDHC/SDXC

3.NOOBS(ver:1.3.9),可选。

NOOBS.zip
NOOBS自身并不是操作系统,而是树莓派官方推荐的启动管理软件。通过NOOBS,可以免镜像刷写工具安装系统,并可以不拔卡在树莓派上直接重装系统。官方推荐第一次使用树莓派,要用NOOBS安装系统。但NOOBS占用卡空间较大,需要特殊的分区结构,这都是存在的问题。是否使用NOOBS,可以自行考虑。个人的建议是手动下载镜像和刷写工具创建SD卡,不要理睬NOOBS。

4.镜像烧录工具

Win32DiskImager v0.9.zip (sourceforge.net)
USB Image Tool使用介绍

5.SSH 工具

PUTTY使用介绍

6.Pi Dashboard

Pi Dashboard是树莓派实验室发布的一个开源的 IoT 设备监控工具,目前主要针对树莓派平台,也尽可能兼容其他类树莓派硬件产品。你只需要在树莓派上安装好 PHP 服务器环境,即可方便的部署一个 Pi 仪表盘,通过炫酷的 WebUI 来监控树莓派的状态!
项目主页:http://maker.quwj.com/project/10
GitHub地址:https://github.com/spoonysonny/pi-dashboard


操作系统

根据偏好选择下列之一。

Raspbian
树莓派官方深度定制的硬件驱动与软件程序,官方推荐系统。如果你第一次使用树莓派,请下载这个。Debian的软件策略偏保守,稳定第一,升级是次要的。
下载链接:http://downloads.raspberrypi.org/raspbian_latest
默认帐号:Username: pi Password: raspberry

OpenELEC
运行快、且用户体验友好的一款XBMC媒体中心。
下载链接:http://downloads.raspberrypi.org/openelec_latest

Pidora
Pidora是社区对Fedora在树莓派上的移植。不是Fedora官方版,但被Fedora官网推荐用于树莓派。Pidora基于Fedora 18,采用另一个轻量桌面环境XFCE。Fedora的软件策略相比于Debian,是略偏向先锋的。Fedora能用到版本稍新,但也经受过实测调试的软件包。
下载链接:http://downloads.raspberrypi.org/pidora_latest
默认帐号:Username: root Password: raspberrypi

Arch Linux ARM
著名轻量系统Arch Linux在ARM架构上的移植。注重对于开发者的简洁,任何可有可无的软件一律不自带。仅有命令行界面,不建议初学者使用。Arch Linux的软件策略是相当激进的,使用Arch Linux能用到最新的软件包,但也需要承担尝鲜可能的风险。
下载链接:http://downloads.raspberrypi.org/arch_latest
默认帐号:Username: root Password: root

RISC OS
非Linux系统。
下载链接:http://downloads.raspberrypi.org/riscos_latest
默认帐号:无需

Raspbmc
下载链接:http://downloads.raspberrypi.org/raspbmc_latest
多媒体中心、DIY电视盒专用系统。将媒体中心软件XBMC与Raspbian系统结合的衍生系统之一。中文支持良好,建议使用。
默认帐号:Username: pi Password: raspberry

XBian
下载链接:XBian_1.0_Beta_1.1.7z
与Raspbmc一样,是Raspbian+XBMC的媒体中心。注重性能优化。(存在中文文件名乱码问题)
默认帐号:Username: root Password: raspberry

RetroPie
下载链接:RetroPieImage_v1.7.zip
这是一个基于Raspbian构建的家用机模拟器系统,内置了FC、SFC、GB、GBA、DOS等游戏平台的模拟器软件,可以将树莓派快速配置成多功能老游戏主机。
默认帐号:Username: pi Password: raspberry

FreeBSD
下载链接:freebsd-pi-r245446.img.gz
BSD系列。
默认帐号:Username: pi Password: freebsdarm

Kali Linux
下载链接:Kali Linux
Kali Linux。

Ubuntu MATE for the Raspberry Pi 2
下载链接:Ubuntu MATE for the Raspberry Pi 2
Ubuntu MATE是桌面Linux发行,其宗旨是通过MATE这个经典、传统的桌面环境来提供Ubuntu操作系统的简介和典雅。MATE是GNOME 2桌面环境的继续,曾经作为Ubuntu的缺省桌面,直到10.10版中被Unity所取代。
Ubuntu MATE适合树莓派新手使用,界面是最好看的,但是在CPU优化方面不如官方的系统做得好。

Snappy Ubuntu Core
下载链接:Snappy Ubuntu Core
非官方系统 Snappy Ubuntu Core。

Windows 10 IoT(物联网版)
RTM版下载:Download RTM Release for Raspberry Pi 2
预览版下载:Download Insider Preview for Raspberry Pi 2
微软在Build 2015大会上宣布推出一个独立的Windows 10开发者预览版, 这个版本名称是Windows 10 IoT Core Insider Preview(Windows 10物联网核心内幕预览版),现在可供开发人员下载和研究,它支持树莓派2和英特尔Minnowboard MAX设备,使设备制造商能够充分利用这些产品有限的硬件资源。
据微软表示,Windows 10 IoT Core Insider Preview为设备制造商提供了世界一流的开发工具,通用Windows平台的力量,直接访问硬件的能力,并能在树莓派2等硬件设备上进行远程调试,更新和管理软件。

PiNet
安装介绍链接:PiNet
PiNet 是一个自由和开放源码的项目,为帮助学校建立和管理一个Raspberry Pi的课堂。
其主要特点包括
基于网络的用户帐户
基于网络的操作系统-所有树莓PIS启动一个主Raspbian操作系统。
共享文件夹-易于使用共享文件夹系统的教师和学生。
工作收集系统简单的工作收集和提交系统,让学生在工作。
自动备份-自动备份所有学生的工作,定期向外部驱动器。
多个小的功能,如批量用户导入,课堂管理软件集成等
服务器软件安装在运行Ubuntu Linux 14.04计算机(这也完全是免费的)。你必须再连接服务器和覆盆子PIS通过有线网络。

CentOS 7 ARM for the Raspberry Pi 2
下载链接:CentOS 7 ARM
面向ARM硬件架构的 CentOS 7 Linux。包含各种各样的新特性、以及软件更新与增强,比如面向身份认证管理的Kerberos HTTP代理、OpenJDK7中TLS连接的ECC支持、网络堆栈改进、以及Atomic包的更新等。
默认帐号:Username: root Password: centos

WiFi Mesh智能照明系统另类解决方案

hyx1989阅读(1652)

引言

谁说在智能照明领域WiFi不如ZigBee和蓝牙,谁说WiFi不能实现自组网。黑科技WiFi Mesh技术打破你的认知,为智能照明带来新的变化。

在智能照明领域,ZigBee、蓝牙和WiFi是目前主流的三种无线技术。

其中,ZigBee和蓝牙(4.0+)以短距离、低功耗、自组网的特性在智能照明领域占有相当大的市场份额。

而对于WiFi,尽管其长距离、高速率、价格相对便宜的优点让它在智能家电、智能音箱等领域混的如鱼得水,但由于无自组网的能力而在智能照明这种多节点联动的应用领域普及度不高。

面对这种较为尴尬的局面,WiFi相关企业也在积极改变。

最近,作为国内最大的WiFi设计原厂,乐鑫科技推出了可运用在智能照明领域的WiFi Mesh这一黑科技,让WiFi也具有了自组网的能力。

那么,WiFi Mesh技术原理到底是怎样的?在智能照明领域有哪些独到的优势?WiFi Mesh会给行业带来什么影响,会成为ZigBee和蓝牙(4.0+)的有力竞争对手吗?带着这些疑问,智慧产品圈(微信号:pieeco)采访了乐鑫科技的方案商之一,深圳市秦奇科技有限公司。

WiFi Mesh技术来势汹汹,四大优势助力智能照明


要弄清楚WiFi Mesh的工作原理,首先要明白单跳网络和多跳网络的概念。

在传统的无线局域网(WLAN)中(包括WiFi),每个客户端均需通过一条与AP相连的无线链路来访问网络,用户如果要进行相互通信的话,必须首先访问一个固定的接入点(AP),这种网络结构被称为单跳网络。

而基于乐鑫科技的WiFi Mesh技术却是多跳网络,属于网状拓扑结构。网络中任何无线设备节点都可以同时作为AP和路由器,即网络中的每个节点都可以发送和接收信号,与一个或者多个对等节点进行直接通信,从而实现多节点间自组网能力。

在商用环境下实测单个WiFi Mesh网络支持的最大节点数量为100个(基于ESP8266芯片)/500个(基于ESP32芯片)。

111111111

图:WiFi Mesh技术网络架构▲

当WiFi有了自组网的能力后,运用在智能照明领域会有以下几个优势:

第一,传输距离远,信号稳定。相对于ZigBee和蓝牙这种短距离的无线技术,WiFi在普通室内环境下可达到30-50米,这保证了家庭环境中各房间的灯可稳定连接组成MESH网络。

另外,由于智能灯本身的外壳和灯罩,无线信号在两灯之间传输也需要穿透2个外壳和两个灯罩的阻挡。而WiFi技术高达20dBm的发射功率可以确保智能灯无线网信号稳定。

第二,无网关,降低成本。在物联网领域,通过ZigBee和蓝牙连接的设备都需要额外配一个网关才可以连到云端,这并不符合用户使用习惯,同时增加了成本。而WiFi Mesh网络则不需要网关,主节点直接与路由器通信。

第三,免配网,改善用户体验。在WiFi Mesh网络里,当用户配置了家庭中第一台智能灯设备(即主节点)以后,如果要添加新的智能灯设备,只需要上电即可。它可以自动搜索并连接附近最强信号的智能灯,进行自我配置,并确定最佳的多跳传输路径。

第四,强覆盖,热点变热区。WiFi Mesh网络由一组呈网状分布的无线AP构成,AP均采用点对点方式通过无线中继链路互联,这意味着每个房间里的灯都是一个WiFi热点,将传统WLAN中的无线”热点”扩展为真正大面积覆盖的无线”热区”。

应用才是WiFi Mesh发展的命门


对于很多智能照明企业关心的WiFi功耗和时延问题,黄兆勇表示,”WiFi Mesh技术功耗肯定会比ZigBee和蓝牙高一点,但是我们把15M的传输速率降低到1M,从而降低了功耗。最为重要的是,虽然WiFi在做智能灯控制的工作状态下功耗较大,但由于智能灯的控制过程极短,而且每天控制次数不多,因此总的功耗并不高。”

至于时延, “虽然WiFi Mesh 采用软AP的形式组网,由于该指令集较短而且本身的节点不多(100个节点),因此即使通过云端操控智能灯延时在0.5秒级别。”

由此可见,从技术特点来看WiFi Mesh技术完全有能力在智能照明领域与ZigBee和蓝牙(4.0)一争高下。但技术的普及推广除了技术本身,还得看应用和商业模式。

例如WiFi Mesh技术早在本世纪初便在智慧城市的公共WiFi建设中有所运用,但由于缺乏商业模式而没能得到推广。

同理,由于目前仅有乐鑫科技拥有WiFi Mesh芯片和协议,在早期必然面临着无法与其他WiFi芯片的智能灯联动控制的尴尬。这需要有强大的资源整合能力和积累足够多的用户基数。

而目前智能照明的现状却仍旧是前景很美好却销量不佳、鲜有智能灯产品能够虏获用户芳心,所以,WiFi Mesh技术走的有多远关键还是看它能否在智能灯产品应用上有所突破,能否走出联网控制灯的开关和变色的怪圈。

如果还是在APP上设置智能灯的回家模式和离家模式,那么WiFi Mesh技术对行业发展并无益处,自身也将裹足不前。

人生苦短、我用Python

hyx1989阅读(921)

现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序,开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样咋体现你的价值?

 

另外,大一点的公司,服务器都上几百,上千,甚至数万台,这种情况下怎样做自动化运维?用SHELL写脚本FOR循环?呵呵,歇了吧,SHELL也就适合简单的系统管理工作。到复杂的自动化任务还得要用专门的开发语言。你可能说了,自动化管理有专门的开源软件\监控也有,直接拿来用下就好了,但是现有的开源软件如Puppet\Saltstack\OpenStack\Zabbix\Nagios 等多 为通用的软件,不可能完全适用你公司的所有需求,当你需要做定制、做二次开发的时候,你咋办?找开发部门?开发部门不懂运维的实际业务逻辑,写出来的东西 烂烂不能用,我自己也做运维系统,6年运维工作经验,开发出来的第一版照样烂的不行,这还是懂的运维业务逻辑的,让开发人员来做,跑偏可能更多了,这就是 为什么我见过很多公司自行开发运维平台,最后都扔那了。

 

其 次,不会运维开发,你就不能自己写运维平台\复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑,如果是这样,那就请不要抱怨你的工资低,你的工作不受 重视了,话说人家FaceBook一个运维工程师管2万台机器,运维工程师年薪十几万USD,你以为人家是盖的呢?哪个不是身怀绝技,开发运维兼备?

 

为什么要学PYTHON?

PYTHON第一是个非常牛B的脚本语言, 能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的WEB界面,只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来,你才有资格跟老板谈重视,否则,还是老老实实回去装机器吧。

 

运维开发为什么要用PYTHON?

Good question, 为什么不用PHP,JAVA, C++,RUBY,这里我只能说,见人见智, 如果你碰巧已经掌握了除PYTHON之外的其它语言,那你爱用啥用啥,如果你是一个连SHELL都还没写明白的新手,想学个语言的话,请用PYTHON, 为什么呢?首先,PHP是跟PYTHON比的最多的,其实他俩根本就不用比,为什么呢?两个语言适用性不同,PHP主要适用于WEB开发,可以迅速的做出中小型,轻量级的WEB网站,但后端嘛,基本还是要借助其它语言,借助什么语言呢?SHELL?PYTHON?呵呵。而PYTHON呢, 是个综合语言, 前后端都可以,单拿出来比WEB,也一点不比PHP差,但为什么WEB方向上PHP比PYTHON要火? 先入为主嘛,PHP 90年代诞生就是做WEB的,PYTHON2000年后才出现WEB框架,但论优秀程度上,PYTHON的WEB框架基本上出其无左,至少是跟PHP比。 

 

那JAVA呢?好吧,一个臃肿\中庸\豪无新意的语言,还是老老实实用它来做ERP吧,搞个运维小平台,用JAVA真心没啥必要,在我看来,JAVA就是稳定的中年男人,稳定\成熟\秃顶,而PYTOHN代表的就是青春, 简洁\快\干净\帅!

C++\C,这个嘛,我只能说,如果你会了PYTHON,又会C的话,那你会更吃香,但是不会C的话,其实也无大碍,基本上做运维的人,搞搞C就是为了来装B的, 因为多数情况下你都到不了看系统底层源码的程度, 不过如果你学好了PYTHON之后,还是建议你学习下C++,毕竟相比python这个动态语言来讲,C++的效率还是高很多的,但对新手来讲,不建议做 为第一门语言开始学习, 为什么呢?打击自信心。。。。呵呵,你懂的。RUBY,小日本开发的,还不错,风格跟PYTHON有点像,因为ruby onrails出了名,国外用的比较多,国内,放心吧,没戏,PYTHON已经把它的想象空间都占死了。当然还有新的语言GO,有些搞运维的看见做开发的人员搞GO,也想凑热闹,觉得是未来,我想说,别瞎没事跟风,GO再成功,也不会变成运维开发语言。

 

有些人觉得PYTHON效率底,说他不能支持多线程,OH,好吧,这个还有点说对了,但是我想问,看我这篇文章的有几个做过搜索引擎开发?有几个做个上亿PV的并发网站开发? 有几个看过LINUX内核源码?如果没有,请别瞎跟着传了,知道PYTHON为什么不支持多线程吗?这句话问错了,其实PYTHON支持多线程,只是不支持多CPU多线程,也就是一个程序spawn出来的多线程只能占用一个CPU,但是为什么呢?噢,因为GIL,GIL是什么东东,请自行补脑。。。但是你非得用多线程吗?你可以用多进程呀,再牛B你还可以用协程呀,这些PYTOHN支持的都很好呀,如果你的程序逻辑不好,搞个多线程也快不起来。我认识一个博士讲过一句话,我觉得不错,他说,程序效率高低,80%都是写程序的人决定了,语言本身就占20%,所以下次有人再说PYTHON效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。这个博士自己用PYTHON写的WEB程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么WEB框架这么牛B? 别问它是谁, 它叫tornado。 

PYTHON能否自学?

当然可以,什么都可以自学,前提是你得能学得会,见过N多菜鸟踏上上自学的不归路,他妈的什么都能自学的话,还用大学干什么?自己在家鳖不就行了?动不动就说PYTHON是个脚本语言,自己看看就不会了,说这话的只可能有两种人,一种是高手,一种是SB,对于高手来讲,他肯定已经会其它语言,PYTHON在这种情况下,自学当然就很容易学会,几年前我刚接触PYTHON时,代码遇到问题,找了个开发的哥们帮调试,哥们帮调了十几分钟就搞定了,结果人家以前一句PYTHON代码也没写过,为什么,因为语言都有相通之处,一门掌握好了,其它门自己学学就会了。但对于新手来讲,没任何语言基础就开始自学,那么恭喜你,菜鸟们见此文 章为证,从今天开始自学,一年后,你要是能自己做出个软件来,来找我要一千块钱。 哈哈,真的。 基本上自学是属于专业人员干的事情,就像会一门乐器了, 自己学下就可能学会另一门,但我之前没音乐基础,跟着老师都没把吉它学会。 

所以奉劝没基础又想学PYTHON的同学,花点钱去报个班学吧,拿钱换时间,时间是生命,钱没了可再挣钱,时间过去了就再也不会回来,如果你不信邪,非要自己学,那我佩服你的勇气,不过自己试试就知道了。

ITIL 事件管理和事故管理的区别

hyx1989阅读(1331)

IITL普及已经深入到各行各业,我们不仅仅是要学习其规范,更应注重如何应用其精华,结合工具化管理平台来提升我们的IT运维质量,唯有在实践中不断改进,才能真正实现ITIL本土化,为我们的IT运维事业服务。

规模化的企业都具备信息中心部门,信息中心的职责是服务于业务部门,保障企业网络的正常运转,那联结信息中心和业务部门的纽带是什么,如何提升信息中心的IT价值正是ITIL所关注的焦点。ITIL定义的纽带也就是我们所谓的服务台,服务台一般都具有三个特点:作为信息部门和业务部门的单一连接点,跟踪用户提出的IT请求到解决为止;提供支持服务,主要包括记录所有IT请求,设定优先级,合理安排IT部门处理请求日程,同时向用户提供服务关注、反馈记录跟踪等功能;服务台可以显著降低IT管理成本,将企业的IT系统应用及管理流程化、规范化,将大大节省企业的人力、物力等成本。成熟的服务台具备技术好、响应快、乐于提供帮助的特点,成为企业IT管理系统不可或缺的一部门。

当企业IT系统出现紧急故障时,需要信息中心第一时候解决问题,恢复系统的正常,这时候ITIL的事件管理功能就成为解决问题的利器了。事件管理的宗旨是最短时候恢复故障,从而将故障的损失降到最低,在此前提下尽可能满足服务的要求。因此,事件管理突出的就是恢复企业的业务,启用备份,容灾系统等手段,第一时间采取各种措施来恢复企业生产,这就要求服务台将紧急故障定义为最高优化级,从而确保工单的快速流转,通过各IT部门密切配合来排除故障。

当紧急故障得以处理,信息中心就会转而进入问题管理的层面,以便找到故障发生的原因,从而改变频于应付突出事故的局面。与事件管理的根本区别就在于,事件管理目的在于恢复企业生产,而问题管理在于找出IT故障的根本原因,制定解决方案,防止类似故障的再次发生。其流程应该是创建问题,服务台分发问题给IT部门,各部门对此问题进行评估,然后提交解决方案,方案通过后这一问题管理流程就可以关闭。问题管理的主要优势在于能够找出故障的根本原因,减轻IT部门的重复性劳动,也可避免类似故障的再次发生。

除此之外,还有配置管理、变更管理等流程,也属于管控企业IT系统的规范性问题。配置管理通过CMDB(配置管理数据库)的实时调整更新,可以对企业IT管理进行广度和深度的规划,从而更好地符合ITIL流程化的管理模式。变更管理主要强调对企业IT架构进行变更时,如何控制变更所带来的各种风险,通过变更计划、变更测试、变更执行、变更维护的步骤来实现企业IT架构的改进和更新。

以上这些ITIL功能点在我们所熟悉的Broadview COSS集中运行管理平台中都有涉及,同时还具备更加人性化的管理模式,用户可以自定义功能模块,在控制台以Portal、WEB2.0等技术呈现,通过个性化的视图、共享、搜索等方式,可以提高管理人员的工作效率。在明确了各信息中心人员工作职责的前提下,集中运行管理平台成为企业IT管理规范化运作的工具,能协助企业确立规范化的IT管理制度,切实提高IT服务质量。

集中运行管理平台是广通信达推出的面向政府、大型企业的综合IT服务管理平台,在融合ITIL理念的同时更加注重对企业IT服务的管理,集基础设备监控和IT业务管理于一体,确保了IT故障能迅速得到解决。借助于Broadview COSS,企业管理人员最终能达到运行流程化、运行状态可知化、运行质量量化、管理决策数据化的状态,从而全面提升IT服务质量,将企业IT投资的最大价值回报给企业,促进企业更好更快的发展。

各品牌硬盘录像机支持的DDNS服务商

hyx1989阅读(1036)

DDNS:Dynamic DNS,就是我们平时说的动态域名。

动态域名的理解:域名不变,但是域名对应的IP是变化的,通过DDNS技术,可以在任何时候通过这个不变的域名访问变化的IP上所对应的服务。

备注:

  1. Private DDNS(这个按字面理解是私有DDNS的意思,具体不太了解)
  2. no-ip.com(国外的动态域名服务商)
  3. CN99(这个就是国内的http://www.pubyun.com/,也就是以前的3322)
  4. dyndns.org(国外的动态域名服务商)

海康威视还支持IpServer,这个是什么还不太了解;汉邦有一点比较好的就是自己提供免费的DDNS服务,每注册用户仅提供一个免费动态域名。

各品牌硬盘录像机所支持的DDNS服务商(YES表示支持,留空表示不支持):

DDNS类型 大华 海康威视 汉邦
Private DDNS YES
花生壳 YES YES
CN99(3322) YES
dyndns.org YES YES YES
no-ip.com YES
自有DDNS服务 YES

 

海康威视NVR解码参数说明及汇总

hyx1989阅读(1312)

什么是解码能力

解码能力是录像机本地输出时,对图像的处理能力,简单说就是录像机接VGA或HDMI显示器时,显示器上最大可以同时显示多少个几百万的画面,包括预览和回放两种情景。当解码能力不够时,虽然可以正常添加摄像机,但预览或回放时会提示”资源不足”。

720p和1080p的区别

1080p指的是1920×1080分辨率,相当于200万像素,也叫全高清。而我们提到的720p指的是1280×720分辨率,相当于100万像素,也叫高清。因此,计算像素总数,1080p分辨率能提供两倍的图像细节和图像大小。1080p分辨率是720p分辨率的两倍,占用两倍网络带宽,以及存储。

编码方式H.264和H.265

H.265是一种视频压缩标准,是H.264的升级版本。相对于H.264不仅提升视频质量,同时也能达到H.264两倍之压缩率(等同于同样画面质量下比特率减少了50%,也就是只需占用50%的网络带宽及硬盘容量)

主流录像机解码能力

解码总能力                                   适用产品系列
4路720P(H.264)                      DS-7100N-SN、DS-7100N-SN/P、DS-7800N-SN、DS-7100N-SNH
4路1080P(H.265&H.264)        DS-7800N-K1、DS-7800N-K1/C、DS-7808N-K2、DS-7816N-K2
6路1080P(H.264)                    DS-7800N-E2
6路1080P(H.265&H.264)        DS-7900N-E4
8路1080P(H.265&H.264)        DS-7832N-K2、DS-7800N-K2/8P、DS-7800N-K2/16P、DS-7900N-K4、DS-7900N-K4/8P、DS-7900N-K4/16P

“资源不足”怎么办

  • 升级录像机固件。录像机固件最新版本对取流机制都做了优化,所以遇到此问题,推荐先把录像机固件升级到最新版本
  • 降低码流参数。如果是预览界面部分通道提示”资源不足”,则降低子码流参数;如果是回访画面提示”资源不足”,则降低主码流参数(录像机上直接修改参数可能不能生效,建议IE直接修改摄像头的码流参数)
  • 更换为解码能力更强的录像机

参考链接

PXE网络克隆图文教程

hyx1989阅读(1198)

一.架设克隆服务器。

1.搭建好网络环境

根据克隆的客户端数量不同以及客户端物理位置的影响,决定网络克隆时连接交换机数量的不同,不同数量的交换机拓扑结构如下图,(提示:可网管交换机请关闭dhcp snooping功能)


            图一 客户端连一台交换机就够了的情况(保持在同一网段)



            图二 客户机连接的交换机有两台(保持在同一网段)


          图三 客户机连接的交换机超过两台(保持在同一网段)

 
图四本文所介绍的克隆实例所采用的交换机及接线(有点乱,呵呵)

注意:克隆时服务器自带DHCP,所以要保证克隆时网络内没有其它DHCP干扰,断开其它的不参与克隆的设备,以免产生干扰,可网管交换机请关闭dhcp snooping功能。

2.PXE克隆服务器架设

①选择一台电脑做服务器:可以是win7(笔记本记得接上电源,一定要关掉系统休眠功能,win7系统默认30分钟休眠,如果休眠时你还在克隆……给包纸巾给你,找个没人的地方哭吧),也可以是win 2003/2008,本人用的是win7系统,一台笔记本,笔记本的好处就是移动方便,可以打一枪换个地方,哈哈,对于当时来回于各个学校奔波克隆系统的我来说,很方便,准备好克隆的gho母盘系统镜像文件。下载maxdos,下载地地址

http://pan.baidu.com/share/link?shareid=1994243135&uk=238313636

解压到D盘。注意:这个版本的MAXDOS不同于MAXDOS官网的版本,这个是经过引导修改,在实践中能够成功从PXE启动。

这个克隆工具,集成了最新的MAXDOS 9.3版本,对于绝大部分网卡驱动基本上是通杀,克隆时能解决大部分网卡驱动问题,这个PXE克隆是没有机器台数限制的,理论上来说,你有多少台电脑,就能刻多少台电脑,我刻过最多的一次是70台。

③服务器IP地址信息配置:在服务器上设置好网卡的IP,这个IP是克隆临时分配使用的,所以设多少自己看着办,本例中我的IP设置为  192.168.127.10,子网掩码设置为255.255.255.0,其它的网关、DNS不用设置,还有要关闭系统自带防火墙,保存以后,一定要把本地连接的禁用一下,再启用,记住,这个非常重要。

③运行MAXDOS:把下载的MAXDOS.rar解压到D盘根目录下,进入文件夹运行MaxNGS.exe


④输入克隆方案名称,这里输入 new ,接下来克隆模式选择 PXE模式(网络启动),接下来再选择母盘系统镜像文件。

⑤设置克隆恢复模式:刚才选择的镜像文件是备份的系统分区,就选择分区克隆,如果是整个硬盘备份的镜像文件,就选择整盘克隆,客户端参数选择多点传送,然后保存。

6.设置网络方案:启动网卡选择刚才设置的IP,设置好IP没有禁用再启用网卡的,会看不到这个IP,起始IP这里设置为192.168.127.11.设置完后,核对下面的启动文件为PXELINUX.0,引导文件为MAXDOS.IMG,如果不是,右键选择编辑MAXDOS目录下面的MAXDOS.XML文件,把里面的BootFile=参数改变为PXELINUX.0,MAXDOSFile参数改为=MAXDOS.IMG。确认无误后再保存。


7.启动方案:在选择方案下拉列表中选择创建的方案new,再选择启动方案。PXE克隆服务端已经启动,万事俱备,等待客户端连接。


二.客户端从PXE启动进行网络克隆。

1.设置客户端从网卡启动。

①确认网卡启动功能开启:要设置客户端从网卡启动,首先要保证BIOS里面的Onboard LAN boot ROM 功能是开启的。

②组装电脑主板:现在有很多电脑主板,有很多开机时可以按快捷键选择启动菜单,有的是F12,有的是F11,具体根据系统启动时的在屏幕下面的功能提示。下图是我的一台技嘉G41主板的电脑开机时在屏幕底下用高亮白色的字提示按F12进入启动菜单。

 

提示:有快捷键可以选择从网卡启动,优先使用快捷键,这样就比较省事,但注意,此时网卡启动项之后应该在硬盘之后,不然弄完以后每次都从网卡启动,拖慢时间。

③品牌电脑启动:下图是我在机房里面进行克隆的HP 3380电脑,开机时按F9弹出启动菜单,可以选择从网卡启动。

设置从网卡启动,客户端首先会出现获取IP地址的界面。

下图是客户端获取到IP地址,正在从服务器下载引导启动所需要的文件。



客户端正在加载MAXDOS启动文件。

 

客户端加载MAXDOS 成功,等待5秒后会自动进入克隆界面,如果要进行分区调整或者其它维护的,可以先进入第一个MAXDOS工具箱,里面有很多实用的工具。

客户端进入网刻界面,这里同样等待5秒后会自动进入全自动网刻界面。

进入网刻以后会出现ghost界面,不过与单机ghost不同,这里会多显示出一个IP地址,只有显示出IP地址,左下角状态为Waiting for GhostCast Session to start…时,表示客户端已经成功连接上服务端,等待服务端开始。


最壮观的时刻来了,所有的机器都进入准备克隆的界面,万事具备,只等开始。

2.开始网络克隆。

当有客户端连接上来以后,服务端会有显示,当所有客户机都连上时,按发送开始克隆。

克隆时的服务端状态,会显示速度,剩余时间,连接客户端数量,包括失败的客户端数量等参数

客户端状态


下图是我在一个机房做的网络克隆时拍的,用笔记本做的服务器。笔记本做服务器的好处就是移动性强,带到机房,只要镜像文件准备好了,马上可以开工。

下面的图片,是我之前做过的一些机房网络克隆的现场图片,有图有真相,发上来让大家看下。


 

 







网络克隆的时候,是统计每台机器MAC的最好时机,克隆的时候,可以在服务器上输入ARP-A,此时,所有的MAC尽收眼底,克隆的时候,每台机器屏幕都会显示IP地址,拿支笔,做个表先给机器编号,第一排,从A1到A10,第二排,从B1到B10,具体编号看实际环境,IP地址登记时只记尾数就行了,如果你是A1到A10依次按的从网卡启动,通常来说,获得的IP也会是连续的,当然,你按的间隔时间稍微长一点。如果做到所有IP都是连续的,哈哈,连表都不用抄了,直接excel表时拖,当然,克隆完之后,在MAXDOS目录下的MAXDOS.XML文件也会有MAC记录的。


三、常见问题答疑

1.网络克隆要做哪些准备?

①关于镜像:准备一个靠谱的镜像,不管是自己封装的还是下载的,总之你要个镜像,是靠谱,镜像一定要在单台机器测试过,能正常启动,且能稳定运行,再拿来克隆,没测试过的镜像别拿来克隆,出了问题别把自己给坑了。

确定你的镜像文件靠谱之后,你还得准备个U盘或者移动硬盘可以PE启动的,把镜像拷进去,在实际的克隆情况中,通常绝大部分机器可以通过PXE搞定克隆系统,剩下几台通常可能是无法PXE启动或者克隆过程中半途掉线的,空中袭击搞不定,你就得派遣地面部队去解决”顽固残敌”,或者你直接网线对网线,一台服务器,一台客户机,直接PXE启动,这样也行,我以前在给每个教室克隆系统的时候就这么干过。

企业应用环境的镜像尽量要做到封装,如果你不懂系统封装,请到 http://www.itiankong.net/ 学习。

镜像的命名一定要养成一个好的习惯,就是要知道这个镜像什么时候备份的,是全盘的还是只是系统盘的,以下是我镜像命名的方式,如果你觉得还合理,可以参考下


第一个是日期,第二个可以是公司或者部门,系统分区备份的是C,全盘的是all,镜像是备份,如果是没装什么软件,可以是base,装齐了软件,full,如果镜像做了封装是sysprep,如果没作封装,是bak,如果是镜像有修改,用ghost32添加过其它东西进去(典型的就是添加”根据MAC修改计算机名的批处理”,信息有更新),rebuilt

当然,最重要是一点在于你想从这个镜像知道哪些信息,根据个人要求添加。

②关于客户端分区问题:要克隆系统,客户端分区通常分为几种情况

客户端硬盘分区情况 已经有分区 无分区无linux系统 无分区无linux系统2
常见情况 已经在使用的机器要通过PXE重装系统 新买的机器,通常是组装机,部分品牌机 新买的机器,通过是品牌机,我见过的hp品牌机全部自带linux分区
镜像方案 如果分区容量满足系统要求,直接单个分区的镜像直接克隆过去,不满足要求就要先调整分区容量。注:如果机器安装第三方备份分区的软件更改过MBR,请记得先用分区软件重写MBR,maxdos自带diskgenius分区软件,在启动界面有 全盘恢复的镜像恢复过去,可以先找台机器分好区,在PE下把系统镜像恢复过去,再重新全盘备份成一个全盘镜像。 先用diskgenius删除所有分区,再重写硬盘主引导记录(MBR),记住,这一部非常重要。然后再全盘PXE克隆恢复。

提示:PXE启动MaxDos的时候,第一项有个MAXDOS工具箱,再到里面手动输入diskgen启动diskgenius分区软件,可以进行分区,分区容量调整,重写MBR操作。


③关于交换机:交换机可以是傻瓜式交换机,也可以是可网管交换机(注意关掉dhcp snooping功能),保证克隆的机器在同一网段,多个交换机克隆时,以服务器所在交换机,做级联。

④关于克隆速度:网络克隆的速度有两个地方可以体现,一个是客户端ghost界面显示的速度,一个是服务端显示的速度,前者速度要快过后者,可能是镜像经过压缩的原因,下面两张图是在同一克隆环境中速度的对比。

一个网络布线工程质量还OK的情况下,百兆网络的克隆速率(客户端克隆界面显示速度)通常在600-700MB/min,千兆网络常见的速度在800多MB/min,在锐捷交换机的千兆网络环境下,我见过的网络克隆最大速度是在1236MB/min。

但是豆腐渣工程网络的速度慢的情况我也见过,下图是我在2011年一家公司上网时,网络克隆的图片,速度只有19MB /min的速度,好在是晚上克隆,只要不断线,等等也就过去了,质量极差的网线+水晶头搭配的效果就是这样,网络克隆是检查一个网络工程质量好坏的一个很直接的方法。

2.PXE网络克隆支持哪些系统?

只要是ghost支持备份的windows系统,XP/win7/win8都可以通过PXE克隆,当前提前是要有一个靠谱的ghost镜像。

3.客户端无法从PXE启动到MAXDOS克隆界面,怎么样解决?

①通用的做法:

a.核对网卡是否选择正确,以及IP地址是否设置正确,做服务器的电脑请关掉网卡的防火墙,禁用除克隆网络以外的其它网卡,禁用再启动本地地接,从新退出maxdos程序,再启动,

b.保证网络中没有其它的设备做DHCP分配地址,如果再不行,重启下电脑,重复上述操作,这些方法在实际中通常能解决绝大部分客户端无法启动问题。

c.如果是可网管交换机,记得关掉交换机的dhcp snooping功能,有一次就被这个功能给坑惨了,惨痛的教训啊。

②专业的方法(强烈推荐):

在我不会抓包之前,我一直用上面的方法,当然,现在学会了网络抓包之后,就用这种方法了。

克隆的时候,最好运行一个抓包软件,这样出了问题就很明显判断问题出在哪里,抓包软件有wireshark、Sniffer等,我用的是wireshark。

 

4.客户端启动到MAXDOS克隆界面,但是无法找到网卡驱动,怎么样解决?

这种情况一般是最新购买的电脑,刚好MAXDOS没有识别到驱动,在进入到全自动网刻系统时,可以选择”选择驱动”

如果你知道你电脑网卡型号,尝试对应品牌的网卡驱动,不知道,尝试万能网卡驱动,如果是大批机器,可以先用U盘或者移动硬盘装好一台,用鲁大师或者其它软件查看是什么品牌的网卡驱动,再选择对应品牌的驱动。这种情况下,在实际操作中,这种方法可以搞定98%的情况,如果你硬是属于那2%的情况,那要么你接着研究其它方法,要么就只能一台一台装了,当然这种情况我还没遇到过

5.如果克隆的过程中,部分机器网络掉线,会发生什么情况?

在克隆过程中,如果拨掉一两台机器的网线,整个克隆会先卡住,然后再接着继续,这个我曾经亲自测试过。

在实际情况中遇到网线水晶头接触不良,或者网线、水晶头是豆腐渣工程专用质量太差,这样的机器可能会在克隆过程中报错退出,但不用担心,不会影响其它机器,其它机器克隆会先停住,过个几秒会自动恢复正常。所以不用担心一台机器成为害群之马。

但是如果那么机器网络没断,但网络速度很慢,可能会拖慢整个网络速度,这种情况很难排查出是哪台机器。我之前遇到过那个克隆速度19MB/min的估计就有这样的害群之马。所以如果在豆腐渣工程的网络环境搞克隆,要留足时间啊。

6.克隆的过程中,如果因为镜像问题或者其它问题出错,客户端全部报错,怎么办?


有一次,我在一次克隆过程中,因为镜像是用U盘做的,采用FAT32分区,镜像文件超过4G自动生成分卷,我复制到电脑时忘了复制其它的分卷,导致克隆到最后全部机器克隆到一半,出现浏览镜像的界面,这样算失败了一半,把镜像复制完整,重启用户端的克隆服务那是当然的,但是客户端全部重新从PXE启动?当时克隆的机器有70台,每台按ctrl + alt +delete重启再按F9再从PXE启动?起码每台机器要花个20秒,70台要20多分钟。

NO,先把服务器停止服务,客户端先别管,把服务器的镜像拷完整,确认服务器无问题后,再启动克隆服务,这时在来理客户端,客户端如上图,按OK,会出现如下图,再按OK

这时客户端会重新启动MaxDos ,进入全自动克隆界面。

客户端重新进入网络克隆界面等待开始,也就是说,镜像出现问题,导致登记客户端报错的问题,只要把服务器重新架设好,在客户端重新按两次回车就会重新进入克隆界面,好省事啊,MaxDos好智能,32个赞点上。


6.克隆完之后,系统无法启动,停在黑屏界面,光标不停的闪怎么办?

这种情况通常是硬盘原来有通过主引导记录MBR的软件,或者本身自带linux系统,网络克隆之前没有重写硬盘的主引导记录所导致,可启动diskgenius软件进行重写主引导记录就能解决问题,当然。

6.克隆完之后,系统启动时出现STOP:0X0000007B的蓝屏代码,什么情况?

这种情况通常是克隆的系统没有经过封装,磁盘控制器模式不一样,如镜像备份的系统是IDE的硬盘模式,恢复的目标电脑是AHCI模式,或者备份的电脑是AHCI模式,恢复的电脑是IDE模式,导致磁盘控制器驱动不能正常工作,因而蓝屏,可以进BIOS检查修改硬盘模式。最好的办法是系统进行封装,要恢复的电脑设置成AHCI模式。



KMS激活器 Microsoft Toolkit 2.6.3 Final

hyx1989阅读(1463)

Microsoft Toolkit是款由国外My Digital Life论坛会员CODYQX4制作的KMS激活工具,可以激活Window、Office及VL版产品并自动创建续期任务,永久保持激活状态。支持手动安装或搭建KMS服务器,产品密钥管理,激活备份管理,Office卸载及安装优化设置等,相比其它激活工具虽体积大,但激活成功率很高。


运行要求:
.NET Framework 4.0 框架以上版本
Microsoft Toolkit 支持激活Office 2010 或更高版本
Microsoft Toolkit 支持激活Windows Vista或更高版

如何使用

如果激活Windows则点击主界面Windows图标,激活Office则点击主界面Office图标
然后点击->Activato标签卡->EZ-Activator按钮->激活并创建续期计划任务开机启动!

新版变化

https://forums.mydigitallife.net/threads/28669

2017-11-05 v2.6.3

-Support KMS Keys for Project and Visio 2016 C2R-P.

-Updated KMS Keys

下载地址

迅雷极速版 1.0.11 绿色精简版

hyx1989阅读(898)

本版特点:

  • 禁止云端推送消息和插件
  • 去除所有广告
  • 去除后台常驻上传进程
  • 去除自动更新功能
  • 去除主界面左下角迅雷应用
  • 去除”小喇叭”右下角弹窗
  • 去除任务详细信息中影视截图功能
  • 将所有PE文件统一合并至Program文件夹中
  • 精简其他不必要的文件
  • 使用Leanify大幅减小Xar文件体积,优化启动速度
  • 默认不在Windows库建立迅雷下载
  • 将右上角迅雷大全搜索替换为Download Search
  • 自带清理垃圾脚本
  • 更新SQLite至3.8.5
  • 更新zlib至1.2.8


下载地址们:

电压压降的计算方法

hyx1989阅读(656)

压降

电线压出降的计算公式太麻烦了,在实际应用中,很多朋友并不能立马的算出降压是多少,那么我们今天给出了估算的方法,也是有效的,只要理解了口决,后面也是可以立马估算出的。

1、用途  

根据线路上的负荷矩,估算供电线路上的电压损失,检查线路的供电质量。

2、口诀  

提出一个估算电压损失的基准数据,通过一些简单的计算,可估出供电线路上的电压损失,有三句口决:

压损根据”千瓦.米”,2.5铝线20—1。截面增大荷矩大,电压降低平方低。 ①

三相四线6倍计,铜线乘上1.7。 ②

感抗负荷压损高,10下截面影响小,若以力率0.8计,10上增加0.2至1。 ③

3、说明  

电压损失计算与较多的因素有关,计算较复杂。

估算时,线路已经根据负荷情况选定了导线及截面,即有关条件已基本具备。  电压损失是按”对额定电压损失百分之几”来衡量的。口诀主要列出估算电压损失的最基本的数据,多少”负荷矩”电压损失将为1%。当负荷矩较大时,电压损失也就相应增大。因些,首先应算出这线路的负荷矩。

所谓负荷矩就是负荷(千瓦)乘上线路长度(线路长度是指导线敷设长度”米”,即导线走过的路径,不论线路的导线根数。),单位就是”千瓦.米”。

第一句口决解释:

压损根据”千瓦.米”,2.5铝线20—1。截面增大荷矩大,电压降低平方低。

①    首先说明计算电压损失的最基本的根据是负荷矩:千瓦.米

基准数据:  2 .5平方毫米的铝线,单相220伏,负荷为电阻性(功率因数为1),每20″千瓦.米”负荷矩电压损失为1%。这就是口诀中的”2 .5铝线20—1″。

在电压损失1%的基准下,截面大的,负荷矩也可大些,按正比关系变化。比如10平方毫米的铝线,截面为2 .5平方毫米的4倍,则20*4=80千瓦.米,即这种导线负荷矩为80千瓦.米,电压损失才1%。其余截面照些类推。

“电压降低平方低”例如36伏,则先找出36伏相当于220伏的1/6。此时,这种线路电压损失为1%的负荷矩不是20千瓦.米,而应按1/6的平方即1/36来降低,这就是20*(1/36)=0 .55千瓦.米。即是说,36伏时,每0 .55千瓦.米(即每550瓦.米),电压损失降低1%。

不单适用于额定电压更低的情况,也可适用于额定电压更高的情况。这时却要按平方升高了。

例如单相380伏,由于电压380伏为220伏的1 .7倍,因此电压损失1%的负荷矩应为20*1 .72=58千瓦.米。

从以上可以看出:口诀”截面增大荷矩大,电压降低平方低”。都是对照基准数据”2 .5铝线20—1″而言的。

【例1】 一条220伏照明支路,用2 .5平方毫米铝线,负荷矩为76千瓦.米。由于76是20的3 .8倍(76/20=3 .8),因此电压损失为3 .8%。

【例2】 一条4平方毫米铝线敷设的40米长的线路,供给220伏1千瓦的单相电炉2只,估算电压损失是:

先算负荷矩2*40=80千瓦.米。再算4平方毫米铝线电压损失1%的负荷矩,根据”截面增大负荷矩大”的原则,4和2 .5比较,截面增大为1 .6倍(4/2 .5=1 .6),因此负荷矩增为

20*1 .6=32千瓦.米(这是电压损失1%的数据)。最后计算80/32=2 .5,即这条线路电压损失为2 .5%。

第二句口决解释:

三相四线6倍计,铜线乘上1.7。

②当线路不是单相而是三相四线时,(这三相四线一般要求三相负荷是较平衡的。它的电压是和单相相对应的。如果单相为220伏,对应的三相便是380伏,即380/220伏。)同样是2 .5平方毫米的铝线,电压损失1%的负荷矩是①中基准数据的6倍,即20*6=120千瓦.米。至于截面或电压变化,这负荷矩的数值,也要相应变化。

当导线不是铝线而是铜线时,则应将铝线的负荷矩数据乘上1 .7,如”2 .5铝线20—1″改为同截面的铜线时,负荷矩则改为20*1 .7=34千瓦.米,电压损失才1%。

【例3】 前面举例的照明支路,若是铜线,则76/34=2 .2,即电压损失为2 .2%。对电炉供电的那条线路,若是铜线,则80/(32*1 .7)=1 .5,电压损失为1 .5%。

【例4】 一条50平方毫米铝线敷设的380伏三相线路,长30米,供给一台60千瓦的三相电炉。电压损失估算是:

负荷矩:60*30=1800千瓦.米。

再算50平方毫米铝线在380伏三相的情况下电压损失1%的负荷矩:根据”截面增大荷矩大”,由于50是2 .5的20倍,因此应乘20,再根据”三相四线6倍计”,又要乘6,因此,负荷矩增大为20*20*6=2400千瓦.米。  最后1800/2400=0 .75,即电压损失为0 .75%。

第三句口决解释:

感抗负荷压损高,10下截面影响小,若以力率0.8计,10上增加0.2至1。 ③   

③以上都是针对电阻性负荷而言。对于感抗性负荷(如电动机),计算方法比上面的更复杂。但口诀首先指出:同样的负荷矩——千瓦.米,感抗性负荷电压损失比电阻性的要高一些。它与截面大小及导线敷设之间的距离有关。对于10平方毫米及以下的导线则影响较小,可以不增高。

对于截面10平方毫米以上的线路可以这样估算:先按①或②算出电压损失,再”增加0 .2至1″,这是指增加0 .2至1倍,即再乘1 .2至2。这可根据截面大小来定,截面大的乘大些。例如70平方毫米的可乘1 .6,150平方毫米可乘2。  以上是指线路架空或支架明敷的情况。对于电缆或穿管线路,由于线路距离很小面影响不大,可仍按①、②的规定估算,不必增大或仅对大截面的导线略为增大(在0 .2以内)。

【例5】若20千瓦是380伏三相电动机,线路为3*16铝线支架明敷,则电压损失估算为: 已知负荷矩为600千瓦.米。  计算截面16平方毫米铝线380伏三相时,电压损失1%的负荷矩:由于16是2 .5的6 .4倍,三相负荷矩又是单相的6倍,因此负荷矩增为:20*6 .4*6=768千瓦.米 600/768=0 .8

即估算的电压损失为0 .8%。但现在是电动机负荷,而且导线截面在10以上,因此应增加一些。根据截面情况,考虑1 .2,估算为0 .8*1 .2=0 .96,可以认为电压损失约1%。

大数据(hadoop)的职业发展前景

hyx1989阅读(744)

hadoop

这个时代是大数据时代,也是大数据人才稀缺的时代。由于中国人才缺口比较大,大数据也迅速成为行业和市场的热点,更多的企业无论是对人才的招聘还是在培训都成了刚需,这也促使大数据人才的薪资在同岗位中是最高的,掌握大数据技术,工资提升40%左右是很常见的。大数据的就业领域是很宽广的,不管是科技领域,还是食品产业,零售业等等,都是需要大数据人才进行大数据的处理,以提供更好的用户体验,以及优化库存,降低成本,预测需求。下面一起看看大数据培训后在各个领域可以从事的工作岗位及未来发展方向。给你参考(来源:网络)

一、热门工作岗位

1、Hadoop开发工程师

Hadoop是一个分布式文件系统(Hadoop Distributed File System),简称HDFS。Hadoop是一个能够对大量数据进行分布式处理的软件框架, 以一种可靠、高效、可伸缩的方式进行数据处理。所以说Hadoop解决了大数据如何存储的问题,因而在大数据培训机构中是必须学习的课程。

2、数据分析师

数据分析师是数据师的一种,指的是不同行业中,专门从事行业数据搜集、整理、分析,并依据数据做出行业研究、评估和预测的专业人员。在工作中通过运用工具,提取、分析、呈现数据,实现数据的商业意义。

作为一名数据分析师、至少需要熟练SPSS、STATISTIC、Eviews、SAS、大数据魔镜等数据分析软件中的一门,至少能用Acess等进行数据库开发,至少掌握一门数学软件如matalab、mathmatics进行新模型的构建,至少掌握一门编程语言。总之,一个优秀的数据分析师,应该业务、管理、分析、工具、设计都不落下。

3、数据挖掘工程师

做数据挖掘要从海量数据中发现规律,这就需要一定的数学知识,最基本的比如线性代数、高等代数、凸优化、概率论等。

经常会用到的语言包括Python、Java、C或者C++,我自己用Python或者Java比较多。有时用MapReduce写程序,再用Hadoop或者Hyp来处理数据,如果用Python的话会和Spark相结合。

4、大数据可视化工程师

随着大数据在人们工作及日常生活中的应用,大数据可视化也改变着人类的对信息的阅读和理解方式。从百度迁徙到谷歌流感趋势,再到阿里云推出县域经济可视化产品,大数据技术和大数据可视化都是幕后的英雄。

大数据可视化工程师岗位职责:1、 依据产品业务功能,设计符合需求的可视化方案。2、 依据可视化场景不同及性能要求,选择合适的可视化技术。3、 依据方案和技术选型制作可视化样例。4、 配合视觉设计人员完善可视化样例。5、 配合前端开发人员将样例组件化。

大家能从事的工作岗位并不只是上面的这几个,还有很多细分岗位小编就不一一列举了。想要在工作中立于不败之地还是需要大家不断给自己充电的。

二、发展建议

你适合从事数据分析吗?近年来,越来越多的人选择大数据行业,只看到了大数据行业前景不错、薪资待遇不错,而且培训项目、机构众多,各大名企对于大数据人才的需求也不断上涨。

但是没有对岗位和自身进行合理评估,求职或者入职之后或许才发现其实跟自己想的也许不一样。在入行数据分析或者任何一行之前,你都要好好思考这些问题:我希望进入哪些行业呢?这行业有前景吗?需要什么样的知识结构?符合我的兴趣方向吗?

1、职业爱好:分析需求、写代码、与人沟通、探索未知是你喜欢的吗?

2、思考能力:如何根据数据推演、分析、提出解决方案,这常常需要你脑洞大开。

3、学习能力:数据分析与IT行业一样,是需要持续保持学习状态的,这你能坚持么。

4、沟通合作能力:数据分析师需要与业务部门、研发部门等频繁沟通和合作,这你擅长么。

5、性格:动要能沟通、吵架,静要能分析写代码,这随意切换可以么?

三、行业机会与威胁分析

1、行业情况:毋庸置疑,大数据是21世纪很火热的行业之一,已经渗透到每一个行业和业务职能领域。

2、企业情况:这家企业重视数据吗?有数据基础么?数据有所为么?

3、岗位就业情况:只要你练好真本事,数据分析相关职业是个高薪职业,而且人才缺口较大。

4、岗位要求:需要发现问题、分析问题、解决问题的能力,你需要懂商业、提取处理分析数据、提出解决方案,最终目标是创收。

四、你需要渐渐培养的能力

1、业务。从事数据分析工作的前提就会需要懂业务,即熟悉行业知识、公司业务及流程,最好有自己独到的见解,若脱离行业认知和公司业务背景,分析的结果只会是脱了线的风筝,没有太大的使用价值。

2、管理。一方面是搭建数据分析框架的要求,比如确定分析思路就需要用到营销、管理等理论知识来指导,如果不熟悉管理理论,就很难搭建数据分析的框架,后续的数据分析也很难进行。另一方面的作用是针对数据分析结论提出有指导意义的分析建议。

3、分析。指掌握数据分析基本原理与一些有效的数据分析方法,并能灵活运用到实践工作中,以便有效的开展数据分析。基本的分析方法有:对比分析法、分组分析法、交叉分析法、结构分析法、漏斗图分析法、综合评价分析法、因素分析法、矩阵关联分析法等。高级的分析方法有:相关分析法、回归分析法、聚类分析法、判别分析法、主成分分析法、因子分析法、对应分析法、时间序列等。

4、工具。指掌握数据分析相关的常用工具。数据分析方法是理论,而数据分析工具就是实现数据分析方法理论的工具,面对越来越庞大的数据,我们不能依靠计算器进行分析,必须依靠强大的数据分析工具帮我们完成数据分析工作。

5、设计。懂设计是指运用图表有效表达数据分析师的分析观点,使分析结果一目了然。图表的设计是门大学问,如图形的选择、版式的设计、颜色的搭配等等,都需要掌握一定的设计原则。

微信运营架构图

hyx1989阅读(321)


这些架构图有啥用?

如果你是一名新手运营,这个思维导图会让你系统性的了解你的工作有哪些,为你提供指导、查缺补漏。所以,如果一次无法记牢,那就收藏备用吧。

几个不错的百度开源项目

hyx1989阅读(581)

JavaScript 图表库 ECharts

https://www.oschina.net/p/echarts

ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。

提供大量常用的数据可视化图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、力导向布局图以及和弦图,同时支持任意维度的堆积和多图表混合展现。


开源自动驾驶平台 ApolloAuto

https://www.oschina.net/p/apolloauto

Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。

Apollo 是百度重点打造的 AI 开放平台之一,计划主要包含 4 个技术模块:定位/感知模块、车辆规划与运营(AI+大数据,精准控制车辆,适合不同路况)、软件运营框架(支持英特尔、英伟达等多种芯片)。


百度文件系统 BFS-Baidu

https://www.oschina.net/p/baidu-file-system

百度的核心数据库Tera将数据持久化在分布式文件系统上,分布式文件系统的性能、可用性和扩展性对整个上层搜索业务的稳定性与效果有着至关重要的影响。现有的分布式文件系统(如HDFS等)无法满足低延迟、高可用、跨地域扩展等方面的需求,所以我们从百度搜索的业务特点出发,开发了自己的分布式文件系统BFS。

系统主要由NameServer、MetaServer、ChunkServer、SDK、bfs_mount和bfs_client等几个模块构成。

其中NameServer是中心控制模块,采用集群化部署,负责目录树的管理;ChunkServer是数据节点负责提供文件块的读写服务;SDK以静态库的形式提供了用户使用的API;bfs_mount通过libfuse,将bfs挂载到本地,作为本地文件系统访问;bfs_client是一个二进制的管理工具。


在线脑图编辑器 Kity Minder

https://www.oschina.net/p/kityminder

KityMinder 是百度FEX团队的f-cube小组(原UEditor小组)的又一力作。作为一款在线的脑图编辑工具,它有着很多Native编辑工具的交互体验。KM与UE有着一样的宗旨,就是注重最终用户的使用体验。同时,它充分发挥了Web云存储的优势,可以直接将编辑中的脑图同步到云端。此外,借由独创的 “云盘分享”功能,用户可以一键将当前编辑的脑图直接生成在线链接共享给其他用户,实现无缝沟通。


分布式配置管理平台 Disconf

https://www.oschina.net/p/disconf

专注于各种 分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务。包括 百度、滴滴打车、银联、网易、拉勾网 等知名互联网公司正在使用!

分布式表格系统 Tera

https://www.oschina.net/p/tera

Tera 是一个高性能、可伸缩的数据库系统,被设计用来管理搜索引擎万亿量级的超链与网页信息。为实现数据的实时分析与高效访问,我们使用按行键、列名和时间戳全局排序的三维数据模型组织数据,使用多级Cache系统,充分利用新一代服务器硬件大内存、SSD盘和万兆网卡的性能优势,做到模型灵活的同时,实现了高吞吐与水平扩展。


Android自动化测试框架 Cafe

https://www.oschina.net/p/cafe

Cafe 测试框架是一款来自百度QA部门的具有开创性意义的Android平台的自动化测试框架,框架覆盖了Android自动化测试的各种需求。框架致力于实现跨进程测试、快速测试、深度测试,解决了Android自动化测试中的诸多难题,比如业界一直没有解决的跨进程测试问题。


富文本编辑器 Ueditor

https://www.oschina.net/p/ueditor

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点。


地图可视化工具库 Mapv

https://www.oschina.net/p/mapv

Mapv 是一款基于百度地图的大数据可视化开源库,可以用来展示大量的点、线、面的数据,每种数据也有不同的展示类型,如直接打点、热力图、网格、聚合等方式展示数据。


全新 3D 可视化库 ECharts-X

https://www.oschina.net/p/echarts-x

ECharts-X是 ECharts 团队推出的全新 3D 可视化库,它是基于 ECharts 的扩展,底层深度整合了 WebGL 库QTEK和 Canvas2D 库ZRender。


百度音乐播放内核 MuPlayer

https://www.oschina.net/p/muplayer

MuPlayer 是一款跨平台、轻量级的音频播放解决方案,是百度@音乐前端团队开发维护的浏览端音频播放内核,它基于HTML5 Audio及Flash音频技术,已在百度音乐多个线上产品线中应用,具备很强的灵活性和稳定性。


文件上传组件 WebUploader

https://www.oschina.net/p/webuploader

WebUploader 是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,延用原来的FLASH运行时,兼容IE6+,Andorid 4+,IOS 6+。两套运行时,同样的调用方式,可供用户任意选用。

Linux下安装Django并通过Apache部署

hyx1989阅读(599)

  • Django介绍:

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

Django是一个开放源代码的Web应用框架,由Python写成。

Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。

Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

  • Django部署

    所使用的环境:

    Apache/2.4.6 (CentOS)

    Python 2.7.5 (default, Nov 6 2016, 00:28:07)

    CentOS Linux release 7.3.1611 (Core)

安装步骤(下载源码安装):

  • 先去官网下载

下载地址是:https://www.djangoproject.com/download/

  • 解压源码包

tar -xvf Django-1.19.13.tar.gzcd Django-1.19.13python setup.py install

  • 查看是否安装成功

先输入python进入Python命令行界面

然后输入以下代码,如果出现以下情况,则为安装成功

import djangodjango.VERSION(1, 9, 13, ‘final’, 0)

  • 安装不成功的话可以通过pip安装

pip install –upgrade pippip install django

到这一步就已经安装Django成功了,下面开始创建项目:

先输入命令:

django-admin startproject maomaohaocd maomaohaoll

可以看到名为maomaohao的项目已经创建完成了如图所示


然后新建一个app

python manage.py startapp maomao

就可以看到一个新的app已经创建成功了


下面可以通过开发服务器进行开发测试了

#

监听机器所有可用 ip (电脑可能有多个内网ip或多个外网ip)python manage.py runserver

0.0.0.0:8000# 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器# 访问对应的 ip加端口,比如

http://172.16.20.2:8000

上面的0.0.0.0是指监听所有服务器的请求,8000是端口,如果想通过外网访问建议使用0.0.0.0

然后执行后结果


第一次启动报错了,但是很明显,已经告诉我们怎么做了,那就执行一下:python manage.py migrate

话说这个migrate是干什么的呢,它可以让我们在修改Model后可以在不影响现有数据的前提下重建表结构。

启动好了继续,测试一下看看是否可以访问


说拒绝访问,因为没有在允许的访问列表

于是就去django-admin.py startproject maomaohao创建的项目中去修改 setting.py 文件:

ALLOWED_HOSTS = [‘*’] #在这里请求的host添加了*


添加成功保存退出,继续启动项目访问试一下

已经可以访问了


  • 至此,Django项目已经安装完成了,下面是把项目部署到Apache

    Apache的安装和配置就不赘述了,直接开始新增一个虚拟主机

    配置如下:


<VirtualHost

*:80>ServerName api.jsonapi.cc<Directory

/django/maomao/media>Require all

granted</Directory><Directory /django/maomao/static>Require

all granted</Directory>WSGIScriptAlias /

/django/maomao/maomao/wsgi.pyWSGIDaemonProcess diaobao.co

python-path=/django/maomaoWSGIProcessGroup diaobao.coWSGIScriptReloading

On<Directory /django/maomao/maomao><Files wsgi.py>Require

all granted</Files></Directory></VirtualHost>

配置完成之后重启服务器

service httpd restart

然后在访问域名

已经可以访问了


Pycharm使用教程

hyx1989阅读(349)

1、 Jetbrains家族和Pycharm版本划分:

pycharm是Jetbrains家族中的一个明星产品,Jetbrains开发了许多好用的编辑器,包括Java编辑器(IntelliJ IDEA)、JavaScript编辑器(WebStorm)、PHP编辑器(PHPStorm)、Ruby编辑器(RubyMine)、C和C++编辑器(CLion)、.Net编辑器(Rider)、iOS/macOS编辑器(AppCode)等。pycharm现在在官网[https://www.jetbrains.com/pycharm/download/#section=windows]是分为两个版本,第一个版本是Professional(专业版本),这个版本功能更加强大,主要是为Python和web开发者而准备,是需要付费的。第二个版本是社区版,一个专业版的阉割版,比较轻量级,主要是为Python和数据专家而准备的。一般我们做开发,下载专业版本比较合适。

2、 汉化:把resources_zh.jar拷贝到PyCharm的安装目录下的lib目录,重启Pycharm即可。(resources_zh.jar汉化包关注本账号获取)

3、 整体结构:


整体结构

4、 常用功能介绍:

(1) 如何更换Python解释器:

在文件->设置->项目:xxx下找到Project Interpreter。然后修改为你需要的Python解释器。注意这个地方一定要注意的是:在选择Python解释器的时候,一定要选择到python.exe这个文件,而不是python的安装文件夹。


(2) 如何创建一个Python包:


如何创建一个Python包

一定要选择Python Package,不然就不会创建一个__init__.py文件。

(3) 如何创建不同类型的文件:


如何创建不同类型的文件

(4) 如何新建一个项目:


如何创建一个新项目

(5) 如何调整编辑器字体及其大小:


调整字体大小

(6) 如何调整控制台的字体及其大小:


调整控制台字体

(7) 如何设置文件编码:


文件编码

(8) 如何修改文件背景颜色:

修改背景颜色

(9) 如何让一个tab键代替4个空格键:


用一个tab键代替4个空格键

(10) 如何自定义Python模版文件:


自定义Python模板文件

(11) 显示行号:

在显示行号的地方右键,勾选上显示行号。

(12) 如何安装插件:

设置->Plugins->Browse repositories,然后输入你要安装的插件。

(13) 复制文件路径:右键->copy path。

(14) 在文件管理器中打开:右键->Show In Explorer。

(15) 进入到某文件中:把光标放在单词中间,然后按ctrl+b或者按ctrl键+鼠标左键。

(16) 查看项目结构:

查看项目结构

(17) DEBUG:

> 跳过函数执行。

跳过函数执行

> 进入自己的函数,进入系统的函数

进入自己的函数也进入系统的函数

> 进入自己的函数,但不进入系统的函数。

进入自己的函数,但不进入系统的函数

> 跳出当前执行的函数。

跳出当前执行的函数

> 跳到光标所在的地方。

调到光标所在的地方

> 跳到下一个断点。

调到下一个断点

> 结束本次执行。

结束本次执行

(18) 设置一次性只能运行一个实例:


(19) 常用快捷键:

* ctrl+d:复制当前行到下一行。

* ctrl+y:删除当前这一行。

* shift+enter:跳到下一行。

* ctrl+/:添加注释。

* tab:缩进。

* shift+tab:取消缩进。

* ctrl+f:查找。

* ctrl+shift+f:在当前项目中查找。

* ctrl+减号:折叠当前代码块。

* ctrl+加号:展开当前代码块。

* ctrl+shift+减号:折叠当前文件所有代码块。

* ctrl+shift+加号:展开当前文件所有代码库。

原来广告设计也可以很走心

hyx1989阅读(532)

设计的本质,就是回归需求,回归服务

互联网三巨头BAT,在众人心中大概是高大上、可望不可及般的存在。但是最近腾讯的26位设计师在深圳、北京等地也帮一些小摊贩重新做了设计旨在用广告去改变生活一起来围观!

01 早点铺

设计师:Deartree+Peiyao+Chunjuan

地址:深圳 – 南山帝景园


改造前▼


一家开了8年的早点铺,

让人感觉十分温暖。

改造后▼


设计师做了两块指示板,

一块放在小区门口招揽顾客,

一块作为菜单,放在早点铺旁边。

设计上简约干净,

早点二字合起来像一个太阳,

分开又像两只碗,倒也有趣。


手工喷漆制作而成,不容易掉色,

也让木板和早点铺更有温度。

02 阿爷修车

设计师:Gray+Xiaoxiao+Tenten

地址:深圳 – 科技中二道


改造前▼


摊主是有听力障碍的一对夫妇,

无儿无女,自食其力,非常乐观。

改造后▼


设计师为老爷爷创作了头像,

印在了招牌上,

还为其配上了一句简单易懂的文案。


据说,老爷爷收到合照之后十分开心,

小心翼翼将其放在了车筐里,

盖上一层又一层,

仿佛收到的是孙子孙女的礼物…

03 星光菜摊

设计师:Don+Tooyang+She+Yijie

地址:深圳 – 南光路


改造前▼


这家卖菜的小摊附近没有路灯,

一到晚上就漆黑一片,

路人看不清蔬菜的模样,

因此,总是会剩下很多菜卖不出去。

改造后▼


设计师用箩筐和星星灯,再加上手绘木板

打造出了这么一个星光菜摊。


不仅解决了照明的问题,

还非常浪漫、温馨,

让下班路过的人忍不住想在此停留。

04 Hello,fruit

设计师:Zihan+Doris+Hunk+Dora

地址:北京 – 清河营东路


改造前▼


这家水果摊的老板姓冷,

和妻子一起带着刚满一周岁的小女儿生活。

改造后▼


由于经过水果摊的大多是互联网人,

而摊主又内向不爱说话,

于是,设计师除了将水果用木板隔开码整齐,

还制作了一些类似微信对话框的木板,

配上一些有趣的文案,用于跟顾客交流。


吃了我的甜橙,明天提案一定成!


附近的居民收到西瓜扇子,

笑得合不拢嘴。

05 海南椰青

设计师:Cason+Yexiao

地址:深圳 – 南油步行街


改造前▼


卖椰青的老板是个可爱风趣的老爷子,

经常把客人逗得笑呵呵的,

年轻人都爱去他那里。

改造后▼



受到老板笑哈哈的表情启发,

设计师创作出了绿色的椰子表情的形象,

并将其印在了横幅上。


“十八春!!水多,满满!”

这句俏皮的、污污的文案是原本就有的,

设计师找了块两面用的黑板,

在正面写上关于椰青的小知识,

反面依旧保留老板的文案。

白天小朋友比较多,就展示正面,

晚上年轻人多,就展示反面。

06 老郑修鞋

设计师:Aimee+Yetta+Sybil

地址:深圳 – 流塘榕树路


改造前▼


老郑,57岁,来深圳12年,擅长修鞋,

每早八点到晚上十点出摊,风雨无阻。

改造后▼


设计师从实用性考虑,

为这位大叔设计了摊位招牌、T恤、

木质收纳盒和收钱码,看起来非常有质感。

希望他工作起来更加便利。


07 天桥粽子

设计师:Jerome+Ian+Willan+Harika

地址:深圳 – 深大天桥


改造前▼


天桥上的粽子奶奶,

原本是事业单位里的退休人员。

偶然看到肯德基爷爷的创业故事,

受到启发决定创业,继续创造社会价值。

改造后▼


设计师为老奶奶重新设计了

防水保温的泡沫箱,

还制作了轻便的布招牌,

并配上一句十分讨巧的文案:


嘉兴粽子,吃了加薪。


08 张铭理发

设计师:Tin+Qiqi+Shaw

地址:深圳 – 珠光路


改造前▼


张姐性格活泼,17岁开始理发,

现在为了方面街坊邻居,在此摆摊。

理一次发5块,

后来在街坊邻居的催促下涨到8块。

张姐说:”来我这里的老人比较多,

8块对于他们来说已经不少了。”

改造后▼


设计师以张姐最喜欢的橘红色为主色,

帮其设计了招牌和围裙,

围裙上”张铭理发”四个字中间,

还绘有张姐给客人理发时的场景图,十分形象:


张姐摸着围裙前边装钱的大口袋,

开心地说:”等赚了钱,

就请我的设计师吃饭!”


腾讯设计师的义举,可以说是

用实践探索了广告对于生活的真正价值。

一款采用原生JavaScript编写、使用简单的日期时间组件

hyx1989阅读(741)

  • 1、引入laydate

①下载地址:https://github.com/sentsin/laydate/

下载laydate后,把文件存放到你项目的任意目录中,使用时引入js即可:


②使用nodejs安装,运行npm install layui-laydate命令即可

  • 2、年选择器

laydate.render({elem: ‘#test1’,type: ‘year’});


  • 3、年月选择器

laydate.render({elem: ‘#test1’,type: ‘month’});


  • 4、年月日选择器

laydate.render({elem: ‘#test1’});


  • 5、时间选择器

laydate.render({elem: ‘#test1’,type: ‘time’});


  • 6、日期时间选择器

laydate.render({elem: ‘#test1’,type: ‘datetime’});


  • 7、其他功能

以上基础选择器都支持范围选择,如下图所示




同时还可以控制可选范围、初始赋值;初始化、选中后或切换的回调函数;自定义事件、公历节日、自定义重要日子等



还有不同主题可供选择,也可直接嵌套在页面上,内置中文和英语两种语言,这款简单而不失灵活的组件,能够应付大多数你所需要的日期时间选择。

自动计算密码的小轮子

hyx1989阅读(155)

通过javascript和PHP实现自动获取时间,按照需求动态密码算法来自动输出密码。

  1. <?php $a = date(“Ymd”); //获取系统时间,并转为整型
  2.     $b = array_sum(str_split($a));  //分割时间字符,并累加整型字符
  3.     $pwd1 = $b % 10;    //第一位,取模
  4.     $pwd2 = $pwd1 % 2;  //第二位,取模
  5.     echo “今日密码:”.“$a”.“$pwd1”.“$pwd2”“<br>”//密码组合 
  6.         ?>
  7.         <!–setInterval实时显示时间–>
  8.     <div id=“time1” style=“color:#ffffff;”></div>
  9.         <script>
  10.             function mytime(){
  11.             var a = new Date();//创建数据
  12.             var b = a.toLocaleTimeString();//获取当前时间
  13.             var c = a.toLocaleDateString();//获取当前日期
  14.             document.getElementById(“time1”).innerHTML = c+“&nbsp”+b;//输出当前日期+时间
  15.         }
  16.             setInterval(function() {mytime()},1000);
  17.         </script>
  18.         <!–setInterval实时显示时间结束yingxiang.he2017年94日–>
  19.         </h2>

菜鸟网络 一个很“神秘”的公司

hyx1989阅读(660)

菜鸟网络是一个很“神秘”的公司,其低调程度令人感到震惊。自从成立伊始发表过豪言壮语之后便在新闻媒体中销声匿迹,到目前为止甚至没有公司官网。事实上我从一开始就很关注菜鸟网络,一直在试图从各路传来的只言片语中猜测菜鸟网络到底在做什么,以下我根据零碎的信息拼成的菜鸟网络的大概轮廓,权当抛砖引玉,有知情者欢迎一起分享。

  • 菜鸟网络看起来很低调,但是一直在做大动作。正好前段时间有机会在一个小型的讲座上与某著名坚果类电商品牌(这么说是哪个公司就太明显了…)的高管有一些互动,因为从别的渠道上了解到该电商刚刚与菜鸟网络有过接触,于是我就问了类似的问题,得到的回答总的有两点:一是菜鸟网络一直在与大型电商进行们恰谈合作事宜,二是菜鸟网络要建巨型仓储中心以统一未来物流的始发端。14年之前的公开资料显示,菜鸟网络已经在成都双流拿地1000亩,浙江金华拿地1500亩,天津拿地1500亩,据称总共已覆盖数十个城市。其仓储中心规模可见一斑。
  • 菜鸟网络为何这么低调?因为政策风险太大。由于菜鸟网络的宏大愿景以及整个阿里巴巴集团的雄厚的实力,地方政府在土地政策上对菜鸟网络是有所倾斜的,菜鸟目前可以用很优惠的价格(甚至几乎无成本)获得大量的土地,如上所述的拿地规模和速度是很令人惊讶的,不可能不引发舆论界一些猜测。即使在菜鸟当前如此低调的情况下,舆论的质疑声也是不觉于耳:菜鸟网络到处拿地 商务部批其“走歪了”马云的菜鸟网络去哪了?马云的菜鸟网络是大忽悠?过去的一年圈地很多,最后落实下来的很少。这些原因告诉你,他们为何难以落实想法–锐度–IT时代周刊在当前中央政府严控土地闲置的情况下,菜鸟的行为很容易会成为枪打出头鸟的目标。这时候再选择高调就是作死了。事实上,风险性从一开始就注定了,外星人一直强调自己要做的不仅仅是物流,而更多的是建立未来电子商务甚至未来中国商务的基础设施,做了一件之前都是国家和政府来做的事情,难度可想而知。那些说外星人要抢快递公司生意的可以洗洗睡了,格局差的太多。
  • E.T.还说,要用这个中国智能物流骨干网实现全国任何一个地区做到24小时内送货必达,大幅度降低中国未来物流成本,解决“最后一公里”问题,具体怎么做呢?根据目前已有的信息,一个轮廓已经大致出来了。在物流始端,围绕巨型的仓储中心协调调度快递公司的资源,用大数据实现配送效率的最大化。举例如下:风险投资人吕晓彤:如果韩都衣舍要发货从杭州到北京,可直接在阿里平台上下单,阿里根据在线信息平台显示,申通的快递员在周围,则马上给快递公司申通发去指令,通知申通去收货,而后申通将货收到后必须按照阿里规定的时间送到阿里的中转中心,此时阿里中转中心数据显示,圆通正有干线车辆要发车到北京,则阿里通知圆通将韩都衣舍货物装上车送到北京阿里中转中心,阿里北京中转中心显示顺丰正在要去韩都衣舍那买家小区的周围这是未来中国智能物流骨干网的始端,而终端对于“最后一公里”问题的解决,我们其实已经可以亲眼看到一些尝试了。天猫服务站_鑫淘网这种天猫服务站(现改名为菜鸟驿站)已经在江浙皖地区的一些地方建立起来,菜鸟试图用自取而非送货上门的方式解决“最后一公里”难题。菜鸟驿站往往设置在小区里,学校或工厂附近。消费者在淘宝网和天猫上购买产品的时候,可以选择离自己最近的站点帮收包裹;包裹到站后,天猫服务站将负责检验包裹完整性后扫描签收录入系统,随即系统发短信和密码通知消费者前往取件。在包裹到站5天内,服务站予以免费保管,消费者可在其间凭借证件及密码上门自提。考虑到服务站点情况,天猫服务站暂且支持体积小、非生鲜、金额不超过3000元的货品,不过这已经支持天猫和淘宝网80%的商品。若类目不符合代收网点需求,消费者网购时,系统就不再显示代收货服务选项。 天猫服务站代收货服务针对消费者网购过程中遇到的“收货不便”、“保护地址隐私”等问题,提供了一种完美的解决方案。

菜鸟驿站2 菜鸟驿站

就是一个包裹堆放点,按号码排序,以供自取包裹。目前还很简陋,但是我相信未来不会始终如此。

菜鸟的这种模式能否真的可以大幅降低物流成本,实现快速送达呢?
我觉得能。仔细回忆一下我们的网购过程,一个包裹从下单那一刻起直到我们手上,多少时间用于等待发货和最后的送货上门?我算了一下,普遍在30%以上,用仓储调度和驿站自取,可以压缩这段时间。
另外,有时候我们把一件快递从一处发往另一处,不同的快递公司耗时可能会差到几天,那如果有一个调度中心能根据实时数据,统一协调各个快递公司的资源,DP出一个最短路径呢?也许又节省了30%,也许更多,我们不得而知。但是菜鸟的idea确实是目前我们能想到的最好的解决方案了。

可能的影响:

1.E.T.反复强调,菜鸟不会去亲自做快递,请各路快递公司们放心。可是,掌握了始端与终端之后,具体是谁来跑腿,who cares?一切具体的快递行为,都成了菜鸟最后算法上的一个解而已。
至此时,快递公司已经彻底沦为了菜鸟网络的一个附庸。只能向富士康一样从节省成本的角度实现创收,因为入口和出口都是别人的了,自己只能好好跑腿。你看那么多快递公司现在还是得去屁颠屁颠的跟着E.T.后面做,因为时代的洪流挡不住的呀,哪个出租车公司能阻挡得了打车软件?

2.小型的C2C商家可能会因为无法参与到中国智能物流骨干网中,造成物流成本进一步升高,生意更难做。C2C重新洗牌,彻底开始走小而美的长尾路线,大众消费品淡出C2C市场。

3.如E.T.所预言的,改变整个中国的物流产业,成为中国未来商务的基础设施。而阿里巴巴作为一个运营着关系国计民生的基础设施的公司,彻底成为一家超巨型企业,并将深刻影响全球电子商务产业格局。

4.阿里之后,再无电商。创业的最好模式是快速崛起,迅速形成壁垒。菜鸟网络一旦最终将中国智能骨干网建立完毕,阿里巴巴就将对其他电商平台形成巨大的优势,不管以后阿里是否开放(实际上是肯定会开放的)这个物流网络,此举都扼住了其他电商平台的咽喉——物流。关键是,这道墙几乎是无法被打破的,除非动用国家力量,我想几乎不会有第二个公司有如此实力去实现另一个“中国智能物流骨干网”,即使真的有,想在菜鸟网络已经建立的巨大优势中存活也是一件很难的事情。

5.极速的物流让未来的零售业充满了想象。就像你二十年之前不能想象你会在网上买家电一样,现在的你也无法想象,在未来中国的极速而低成本的物流体系中,那些你如今需要在超市买的小东西,也能够通过天猫、京东来购买,你所在的小区门口的菜鸟驿站,成了一个货品种类比沃尔玛还要齐全的超市。会否彻底摧毁实体零售,目前不得而知。菜鸟驿站本身作为一个线上与线下的结合点,覆盖面极广,人流量巨大,会不会成为阿里未来O2O体系的offline端,如果我是E.T.的话我会考虑这点。

6.物流成本下降到极致,我们日常购买的商品价格进一步降低,大型企业的供应链也会重新洗牌。当物流成了一个不再需要刻意考虑的问题时,整个物流行业会用最少的人实现最好的效果,企业不再纠结与物流成本和渠道成本,更专心的投入研发与生产管理。

嗯,是的,E.T.在做一件伟大的事业,一件之前从没有人做过的事业,菜鸟网络在未来的物流产业中扮演的角色也是之前任何一家企业所未曾扮演过的,既不是快递又不是传统物流,而是仓储中心、调度中心、物流终端的合体,同时也是一个民营的国民经济基础设施。
这时候再纠结盈利模式就naive了,E.T.早就说,“国家是最好的盈利模式”。因为国家提供不可替代的公共服务,不与资本市场分享利润。
“那菜鸟网络到底怎么盈利呢”,还在思考这个问题,说明你还需要学习,按E.T.的想法,中国智能骨干网建立完毕至少需要8年,现在主要精力用在圈地和建立菜鸟驿站上,菜鸟在浙江金华的第一个仓储中心还未建成,骨干网建设还有很多路要走。另外,用大数据指导物流配送早就开始试水了,你有木有发现最近两年的双十一快递比以前快的多.

菜鸟驿站3

作者:耿小亮
链接:https://www.zhihu.com/question/27118777/answer/36654203
来源:知乎

818那些虚拟运营商们

hyx1989阅读(348)

虚拟运营商
虽然本质上,虚拟运营商的核心业务还是出售三大电信运营商的手机号码以及号码背后附带的语音和数据通信等服务,但如果把移动通信转售业务仅仅看做是卖号码的话,那么实际上虚拟运营商存在的价值就不大了。因为即使没有虚拟运营商,三大运营商这么多年苦心经营的传统通信销售渠道,包括把这些企业纳入销售渠道,都能解决销售的问题。虚拟运营商真正要做的,或者说他们存在的核心价值,是如何在电信运营商提供的基础服务基础上,设计并提供独具特色的增值服务。
例如,京东打通了虚拟运营商业务与其会员服务,会员消费可以换取免费的通信业务资源;在手机市场充当价格杀手的小米在虚拟运营商市场上也同样以价格取胜,推出了59元包3GB流量的“吃到饱”电话卡,其流量资费仅是三大运营商资费的一半左右。另外,有不少虚拟运营商在业务中都加入了无套餐、无月租、流量不清零等内容,这些对于用户来说也是有一定吸引力的。
客观来说,虚拟运营商这些创新业务形式的出现,确实也倒逼着三大运营商作出改变。可以看到,在这两年间,三大运营商在业务资费上也做出了诸多调整,如更加灵活的组合式套餐,流量季度包、半年包等,这些改变的背后,虚拟运营商功不可没。

问题:几乎所有的虚拟运营商,在发展业务时最为头疼的问题就是与三大运营商之间的“批零倒挂”问题,也就是说虚拟运营商从三大运营商处拿到业务的批发价格,高于自己提供给用户的资费价格。品牌影响力远远不及三大运营商的虚拟运营商想要真正参与竞争,价格必然是重要的手段,可“批零倒挂”让虚拟运营商不得不面对这样的局面;或者资费价格没有竞争优势,根本吸引不来用户;或者降低价格和运营商竞争,但用户发展越多亏损也越大。号卡资源的不足,成为虚拟运营商发展中的另外一个掣肘。三大运营商在分配虚拟运营商的170号码资源上,是先按试点城市进行分配,再由试点城市分配到当地有业务的虚拟运营商处,起初对于虚拟运营商是采用平均分配的方式,之后又改为根据业务发展情况分配给不同虚拟运营商号卡资源。这种分配方式带来了不少问题。首先是地区不均衡,北上广这样的热点城市的虚拟运营商会面临号卡资源不足的问题,而其他一些城市则可能出现号卡过剩的现象。其次是不同虚拟运营商之间的不均衡,有的虚拟运营商业务扩张较快,可手中的号卡有限;也有虚拟运营商号卡资源丰富却发展较为缓慢,造成了号卡闲置。

垃圾短信和骚扰电话对每一个运营商来说都是一个头疼的问题,虚拟运营商在这方面遇到的烦恼尤甚。从已经开始使用虚拟运营商170号卡的用户反馈来看,170号卡无论是收到垃圾短信的比例还是作为垃圾短信发送方的比例,都要比三大运营商的号卡高。“170”号段作为虚拟运营商的专属号段,获牌企业将可以租用基础电信运营商的移动通信网络为用户提供基于自身品牌的通信服务。这其中包括将短信、话音、流量等重新组合为更灵活的套餐,销售给用户;移动虚拟运营商可拥有企业专利标志(如手机屏幕上显示移动虚拟运营商的品牌)、发售SIM卡(全国通用号码)等。同时,虚拟运营商拥有制定业务零售价格的权力;可开发内部平台,发展增值服务,如语音邮件、短信业务等。170虚拟运营商专属号段,电信是1700;联通是1709;移动是1705。我们大家都比较了解具有“首批170号运营商的资格”的,例如阿里通信、国美、京东,但是除了这些运营商以外,其实还有像苏宁、中麦通信、苏州蜗牛、天音移动、爱施德、263等这些虚拟运营商。

 

以下就不一一举例说明了,挑几个具有特殊代表意义的讲一下吧。

SmartisanT2的市场地位

hyx1989阅读(185)

锤子T2
本屌如果没猜错其实T2的作为其实是另外一个坚果,只是过渡期的一个短寿命产品。T2的配置可以说是上一代次旗舰,相机电池没有提升,CPU也是跟千元机一个级别。
T2定价这么高是为了回笼资金,利润率肯定很高,可能不需要卖很多。所以我估计最多半年T2Pro就要上市,而且是最主流配置,价格也不会高,3000左右。虽然我是罗粉,但如果不着急换手机的童鞋真的推荐等等T2Pro,相信在经历两代产品后,T2Pro才会是锤子最值得买的产品。
小编多说一句,这次发布会其实亮点比较少,手机的介绍都不全面,相机续航等都没有详细说,虽然老罗老是说自己老了,但我估计其实锤子的方向其实并不局限在手机了,后边应该会有可穿戴设备或者智能家居甚至虚拟现实的产品也不是没有可能。

修改WordPress文章页日期

hyx1989阅读(365)

许多WordPress 主题里的文章的时间格式是类似“十月 21, 2015”这种格式的,而中国人习惯的是年在前,月紧跟其后,日在末尾,所以看国外的就显得很别扭,但是我们可以通过修改WP时间代码来设置成为我们中国 人习惯的时间格式,小编下面介绍一下WordPress 的the_time()设置。
找到当前主题下的文章页面模板 (single.php),中文日期格式设置,年月日:如:2015年2月1日,函数的参数这样写:

1
<?php the_time('Y年n月j日'); ?>

中文时间的设置,小时分秒:如:22:22:22,函数的参数这样写:

1
<?php the_time('G:i:s'); ?>

在主题中使用 the_time( ‘M’ ) 应该显示的是 Sep 的英文简写的月份值,但WordPress 会非常人性化地翻译成“九”,可需要 Sep 这样的英文简写的时间格式时,需要把函数代码:

1
<?php the_time('M');?>

替换成:

1
<?php echo date('M',get_the_time('U'));?>

StikyNot打不开的解决办法

hyx1989阅读(319)

win7的便笺其实是一个很好的小工具,这个桌面小贴士可以提醒我们的日常工作事务,当我们需要用到它的时候却发现它突然打不开了,如图所示。StikyNot1

起初我也百度上看到不少问答,但感觉说的都不是很清楚和简单,所以在自己成功解决这个问题后,写下了这个经验,现在分享给大家,希望有所帮助吧。

首先,我们要用Win+F搜索功能找到InkObj.dll这个文件,如图所示,

StikyNot2

搜到后右键打开其文件位置,将其复制到 C:/windows/system32/目录下。如图

StikyNot3

接着按键盘Win+R打开“运行”框输入命令regsvr32 InkObj.dll注册一下这个文件,如果注册成功就会看到如下的对话框,点击确定。

最后,我们再重新打开-开始-附件中的便笺或直接Win+R运行输入“StikyNot”试试,如果能够打开那就说明OK了。

StikyNot4

PS:我发现我的电脑在运行完命令显示注册成功后我第一次打开便笺时便笺是钻出来了,还是会有那个“部分便笺的元数据已被损坏,便笺已将其恢复为默认值”的对话框跳出来,我关闭便笺又重新运行了一次上面的注册命令,以后再打开便笺就没有报错了,问题解决,不知道其他人会不会也是这样,大家自己试试吧。

QQ空间的前端技术水平如何?

hyx1989阅读(307)

qq空间

线上代码如何并不直接反应团队技术水准,这个在大公司干过的应该都懂,不信你们去看看新浪博客的前端js,那代码是04年的时候做的架构,就不说有多nb了,放到现在一些公司也是做不到的,但是博客现在基本已经毁了,这并不是技术能控制的,产品不ok,技术没办法发力,很多事情没有契机去做,比如优化,大改版,技术升级等。因为产品过于复杂,很多新人不敢动老代码,历史问题等,铁打的营盘流水的前端,谁care呢。

所以看了很多qq空间的技术说了一些问题,我体会也很深,有时候有些项目,真的身不由己,技术选型一开始很重要,但是10年前的产品的选型必然和今天主流不一致,但这并不能说明技术团队技术不行.

缓存利用根据流量峰值做不同策略的尝试,我在10年就知道腾讯在做,这个也是qq空间团队主导的,10年啊,不吹不黑,当时淘宝和现在的淘宝应该都没有做起来。