分享

WangYaojia

 云中凌 2014-10-24

Ubuntu中创建Android手机识别Wifi

27 May 2014

用Ubuntu系统自带功能创建AP操作是非常简单,但大多数Android手机都搜索不到它的信号,那是因为Android一般都不支持Ad-hoc模式的Wifi。为了在Ubuntu中创建一个Android手机能够识别的AP,下面向大家介绍另外一种方法:

$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install ap-hotspot
$ sudo ap-hotspot configure  //这一步会检查ubuntu的网络和WIFI接口,确定后会提示你配置热点,输入ssid和密码等内容
$ sudo ap-hotspot start

完成以上步骤,Android手机顺利识别Wifi并连接。(但是不知到什么原因,连接上不是很稳定。)

参考:Young++ workspace

暂无评论


解决ThinkpadT440p无线网卡驱动问题-Ubuntu13.10

25 May 2014

新入手ThinkpadT440p本本,安装ubuntu13.10后,发现无法使用网线上网。找了好久才发现如下解决办法:

1. 下载驱动文件

$ wget https://bugs./ubuntu/+source/linux/+bug/1239578/+attachment/4057550/+files/rtl_92ce_92se_92de_8723ae_88ee_8723be_92ee_linux_mac80211_0017.1016v2.2013.tar.gz

2. 解压驱动文件

$ tar zxf rtl_92ce_92se_92de_8723ae_88ee_8723be_92ee_linux_mac80211_0017.1016v2.2013.tar.gz

3. 进入驱动文件目录

$ cd rtl_92ce_92se_92de_8723ae_88ee_8723be_92ee_linux_mac80211_0017.1016v2.2013

4. 安装驱动文件

$ sudo make && make install

5. 挂载新驱动文件

$ modprobe rtl8192ee

完成以上操作,就可以搜到WIFI信号,连接无线网络上网。

参考:L137's Blog

暂无评论


Ruby中部分Keywords的含义及用法

03 Dec 2013

一、alias

是Ruby的一个关键字,对一个函数名或者变量重新命名,当对变量重新命名之后,就和旧的变量绑定在一起,无论哪一个变量改变都会造成变量的改变。重命名函数(方法)名后,即使重新定义了原始方法,别名方法仍保持着重定义前老方法的特性。若改变了某方法的内容后,又想使用修改前的方法时,别名会很有用。

def meth
  puts "I am old!"
end
alias :new_meth :meth
def meth
  puts "I am new!"
end
puts meth  $: I am new!
puts new_meth  $: I am old!

二、alias_method

是Module类的一个方法,它的参数是字符串或者symbol,并用逗号分隔,alias_method可以重定义。

class A
  def a
    p "aaa"
  end
  alias_method :ab, :a
end
c = A.new
c.ab  $: aaa

三、BEGIN

BEGIN块中的代码在所有代码执行之前执行,允许设置多个BEGIN块并按出现顺序执行块中代码。只有当起始大括号和BEGIN标识符号位于同一行时,代码才能正确执行,同时GEGIN块也不受任何控制结果的影响,只要出现就会得到执行并只执行一次。

BEGIN{
  print "OnInit(object sender, EventArgs args)\n"
}
BEGIN{
  print "OnLoad(object sender, EventArgs args)\n"
}
print "Running"

四、break

是Ruby的一个关键字,如果符合当前条件,就跳出当前循环。

loop do
  puts "Running..."
  print "Enter q to quit:"
  gets
  chomp
  break if $_=="q"
end

五、defined

是Ruby语法中一个操作符,因此不会对参数进行计算。如果一个方法以大写字母开头,使用defined?判断需要在方法名后添加"()",否则方法名会被当常数处理。

p defined? Foo  $: nil
p defined? Foo()  $:"method"

六、END

END块与BEGIN块相反,在所有代码执行之后执行,多个END块时最先出现的最后执行。除此之外,END块不受while的影响,但可能通过if来控制END块执行与否。

if false
   END{
     print "Init"  #不输出
   }
end
END{
  print "Load\n"   #最后输出
}
END{
  pring "Start\n"  #先与Load输出
}

七、ensure

Ruby异常处理关键字ensure,无论begin块是否成功,ensure代码域都将执行。Ruby异常处理可以只用ensure或rescue,但当它们在同一begin...end域中时,rescue必须放在ensure前面。

begin
  file = open("/tmp/file","w")
  # write to the file...
  rescue
  # handle the exceptions...
  ensure
  file.close
end

八、for

是通过调用each实现,在each的scope外面定义一个同名变量,因此for更慢一些。

(1..5).each do |i|
i = nil; for i in (1..5)  # 两者等价

下面的这些关键字,我就只讲含义,不一一举例说明。

九、module

是用来区分同名但属于不同开发者或组织的代码。

十、next

忽略本次循环的剩余部分,开始下一次循环。

十一、redo

重新开始循环,还是从这一次开始执行。

十二、retry

重新开始执行这个循环体。

十三、super

代替的是父类中和当前方法名相同的方法,如果不带任何参数(也没有括号),实际上作用就是自动调用父类中的当前方法,并且把当前参数也传过去。如果父类该方法的参数和子类不一样,才需要显示传入参数调用。

十四、then

在if、unless、case语句中,then都可省略。

十五、undef

可以将类的方法取消定义(彻底删除掉),需要注意:如果一个类继承自父类,并且又定义与父类同名的方法,用undef取消该方法后,将连带父类的同名方法一起取消。

暂无评论


Ruby的基本数据类型

03 Dec 2013

一、字符串 strings

ruby中没有字符,只有字符串。 单引号字符串,只有'和\需要进行转义,其它的字符保持字面的含义; 双引号字符串,双引号字符串最大的特点是可以进行数值内插,产生双引号字符串的方式有很多种。 单引号中两个相连的反斜线被替换成一个反斜线,一个反斜线后跟一个单引号被替换成一个单引号。

insert = 100
print '#{insert}_string'  # #{insert}_sting
print %q/#{insert}_string/  # %q分隔符表示单引号字符串
print "#{insert}_string\n"  # 100_string
print %/#{insert}_string\n/ # %分隔符或%Q表示双引号字符串
print %Q/#{insert}_string\n/

二、数值型 numbers

整数支持二进制,八进制,十进制,十六进制,根据整数的大小动态决定整数是Fixnum类型还是Bignum类型。浮点数支持科学计数法,小数点后至少有一个数字。 数值类型继承图如下:

Numeric
  |--Integer
     |--Fixnum
            |--Bignum
    |--Float
    |--Complex(标准库)
    |--BigDecimal(标准库)
    |--Rational(标准库)

三、区间 ranges

区间提供了处理值具有连续特性的对象集合的简便方法,ruby为了节省空间只是在内存中保留了区间首尾两个对象的引用。

for i in 1..3  # 闭合区间,1 2 3
  print i
end
for i in "num1"..."num3"  # 首闭尾开,输出num1 num2
  print i
end

四、数组 arrays

可以容纳各种类型对象的集合。

arr1 = [1,2,3,"num1"]
arr2 = %w/1 2 3 num1/ #%w和%W为字符数组分隔符,元素必须用空格隔开
print arr1,"\n",arr2,"\n"
print arr1[1].class,"\n"  # Fixnum类型
print arr2[1].class  # String类型

五、散列表 hashes

键-值对的集合,应用广泛。

hash1 = { 1 => "first", "second" => 2 }
print hash1["second"]

六、符号 Symbol

由于相同的字符串在内存中有不同的拷贝,所以采用符号来节省内存,相同的符号在内存中只有一份拷贝,另外需注意字符串和符号是完全不同的类型。

print "string".object_id,"\n"  # 相同的字符串具有不同的id
print "string".object_id,"\n"
print :string.object_id,"\n"  # 相同的符号具有相同的id
print :string.object_id,"\n"

暂无评论


Ubuntu12.04下安装与配置PostgreSQL-9.1详解

24 Nov 2013

一、在Ubuntu下安装Postgresql

1.使用 apt-get install 安装

$ sudo apt-get install -y postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 postgresql-server-dev-9.1

二、修改PostgreSQL数据库的默认用户postgres的密码

1.使用postgres用户登录psql客户端

$ sudo -u postgres psql

2.修改PostgreSQL默认用户postgres的密码(postgres=#为psql中的命令行)

postgres=# ALTER USER postgres WITH PASSWORD 'postgres';

3.退出PostgreSQL的psql客户端

postgres=# \q

三、修改Linux系统的postgres用户的密码

1.设置PostgreSQL用户密码

PostgreSQL数据库默认会创建一个Linux用户postgres,通过下面的代码修改密码为'postgres’。

$ sudo -u postgres passwd
    输入新的 UNIX 密码:
    重新输入新的 UNIX 密码:

现在就可以在数据库服务器上,用postgres账号通过psql或者pgAdmin等等客户端操作数据库了。

四、修改PostgresSQL数据库配置实现远程访问

1.监听任何地址访问,修改连接权限

将/etc/postgresql/9.1/main/postgresql.conf文档中如下注释去掉:

#listen_addresses = ‘localhost’ 改为 listen_addresses = ‘*’
    #password_encryption = on 改为 password_encryption = on

在/etc/postgresql/9.1/main/pg_hba.conf文档末尾加上如下内容:

# to allow your client visiting postgresql server
    host all all 0.0.0.0 0.0.0.0 md5

2.重启PostgreSQL数据库

$ /etc/init.d/postgresql restart

五、管理PostgreSQL用户和数据库

1.登录postgre SQL数据库

$ psql -U postgres -h 127.0.0.1

2.创建新用户test,密码123456,无建数据库的权限

$ postgres=# create user “test” with password ‘123456’ nocreatedb;

3.建立数据库,并指定所有者

$ postgres=# create database “testdb” with owner=”test”;

六、安装postgresql数据库pgAdmin3客户端管理程序

$ apt-get install -y pgadmin3

暂无评论


Next Page >>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多