分类目录归档:技术

vim缩进

良好的缩进配置会使得很大程度上提升自己的阅读效率,同时对同一配置所编写的文档显得非常的整齐。从个人的习惯上来讲,我自己比较习惯缩进2个宽度。

比较常用的有关缩进的属性有以下几个:
autoindent –vim使用自动对齐,将当前行的对齐格式应用到下一行
shiftwidth –自动缩进的宽度
tabstop –Tab键的空格长度

可以编辑vim的配置文件,加入对缩进属性的设置,vim的配置文件为_vimrc,在其中对以上属性进行设置即可。

    set autoindent
    set tabstop=2
    set shiftwidth=2

在Apache中增加虚拟目录

在Apache中添加虚拟目录的步骤如下:

1、打开httpd.conf配置文件,找到IfModule alias_module,添加虚拟目录;

2、对虚拟目录进行设置;

3、重启apache服务;

比如,添加一个selfjobs的虚拟目录,首先在<IfModule alias_module>…</IfModule>之间添加:

添加虚拟目录


    Alias /selfjobs/ "/var/www/html/phpjobs/"

配置目录


    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

重启apache服务

apachectl start

C#中让你的程序启动在第二个显示器上

目前很多应用场景都会选用双显示器,或者开发系统的某功能需要投影动态的显示,会依据主操作界面的操作在第二个显示器上或者投影上进行相应的显示。

在Windows中的设置(以Windows 7)一般在分辨率中设置扩展显示,这时候第二个屏幕的左边就是第一个屏幕的宽。

在C#中,可使用如下代码完成:

System.Windows.Forms.Screen[] sc;
sc = System.Windows.Forms.Screen.AllScreens;
if(sc.length > 1)
{
    this.Left = sc[0].Bounds.Width;
    this.Top = sc[0].Bounds.Top;
    this.Height = sc[1].Bounds.Height;
    this.Width = sc[1].Bounds.Width;
}
else
{
    this.Left = sc[0].Bounds.Left;
    this.Top = sc[0].Bounds.Top;
    this.Height = sc[0].Bounds.Height;
    this.Width = sc[0].Bounds.Width;
}

-EOF-

RFID系统介绍

RFID的基本介绍见这里,在实际应用中,通常把RFID技术作为数据采集及自动识别环节,相对于条形码(一维码和二维码)其使用电子标签作为信息采集及自动识别的载体。应用环境及应用的目的不同,其系统组成在细节上会略有不同,但对于应用场景来说,基本上都包括以下这几部分:

  • 标签
  • 标签读写器(桌面、手持等)
  • 电脑(工控机,嵌入式微机等)
  • 应用系统(数据采集及自动识别+应用场景的业务流程+数据存储+数据应用)

 

基本上一个RFID系统需要由上面几部分协同工作,通过有线网络或者无线网络进行数据的通讯及传输,完成应用场景的业务流程及用户需求。如果涉及到自动控制部分,如自动门、自动储衣柜等这些设备,一般还需要通过对数据采集的判断由系统驱动门或衣柜的自动开启与否。

RFID技术近几年依托物联网的火热着实火了一把,各行各业基于RFID技术的解决方案层出不穷,随着电子标签成本的进一步降低,使用RFID技术作为数据采集与自动识别技术融入系统变为可行。一般在选择使用RFID电子标签作为数据采集与自动识别的载体首先要需要考虑应用场景中的电子标签是否可循环使用,并且在流程中需要在电子标签中保存一定的数据,这种情况下建立RFID系统就优于条形码或其他自动识别技术。

开发一套RFID系统首先要了解其系统应用场景,在应用场景下选择或设计合适的RFID电子标签、读写器,有时候还需要布置测试天线是否满足需求。这部分通常叫做硬件选型,在硬件选型的基础上,针对该硬件组合定义读写数据接口,完成数据的生成与自动识别测试。一般在应用级别上都是建立在读写器层面上的,读写器提供有SDK或API,可直接与RFID电子标签进行通讯。剩下的部分就跟软件系统的开发没太大的区别了,一般会涉及PC端的开发,手持PDA的开发,再加上数据的存储就构成一个RFID系统了。

总的来说,不论系统的大小,其涉及到的开发知识还是不少的,有嵌入式开发相关知识,数据库开发相关知识,客户端开发相关知识,GPS相关知识、无线通讯相关知识等不少的东西需要掌握。除此之外硬件选型上也需要考虑诸多因素,像自动识别距离、环境恶劣程度、会不会对现有场景内物品产生干扰、需要怎么样的封装等等。在这两项基础上还得应对变化的需求,需求总是变化的。

简单的对RFID系统介绍这么多,以后再逐步介绍。在我们日常生活中最为常见的RFID的应用就是二代身份证,里面就有一个电子标签。还有比较常见的高速ETC收费也是一个应用。

 

Android常见布局之表格布局

表格布局以行列的方式对子组件进行布局,有些类似很多年前网页制作中的表格布局,在Android中的表格布局使用TableLayout,使用TableRow来定义行,在每行中需要布局多个组件的情况下可以采用这种布局方式,也可以使用这种布局方式来达到表格的效果。

其使用的方式为:


/>
    
    >
    
    
    ...

一个简单的登录例子:3行,第一行为登录用户+登录用户录入,第二行为登录密码+登录密码录入,第三行为登录按钮。


     
          
          
     
     
          
          
     
     
          

TableLayout的比较常用的属性有collapseColumns,stretchColumns,shrinkColumns

collapseColumns 主要用于隐藏TableRow中的列,以0开始,如需隐藏多列,则以逗号分隔;

stretchColumns主要用于拉伸TableRow中的列,以0开始,多列以逗号分隔,如果本身已经没有空间里,则该属性不起作用

shrinkColumns主要用于伸缩TableRow中的列,以0开始,多列以逗号分隔,如果空间没有充满布局,则该属性不起作用,如果行空间充满布局,则设置该属性的列则垂直以内容填充

使用常见的属性,修改上面的代码:


     android:collapseColumns="2">  
     
           
          
          
     
     
          
          
     
     
          

最终运行效果如下图所示: