2012年05月07日

AndroidManifest.xml里面的sharedUserID能够让不同的apk运行在同一个进程里,分享里面的数据,比如Contacts等,当然这个sharedUserID可以设置成“android.uid.system”就可以运行在系统进程中,有权修改系统数据。

但仅仅有着一个sharedUserID并不能够保证你的apk一定能运行成功,怎么办?签名啊。如果你有Android的源码就比较方便了,直接把Android.mk里面的LOCAL_CERTIFICATE 赋值为platform就行了。然后mm编辑,就能安装了。因为在安装的时候,PackageManager会检查,如果sharedUserId是system的,它会看这个apk的签名是不是system.crt,如果不是,会报出permission deny的error。而把LOCAL_CERTIFICATE改成platform就等于给APK签名。

进而可以通过这个问题研究一下整个Android permission的机制。系统的安全机制通过给每个用户分配单独的uid和gid来实现,Android系统中pid代表进程ID,这个是有系统在程序运行时分配的,这一点可以防止地址空间的数据共享,增强内存空间的安全性。对于外部则用到了uid进行封锁。

系统会给于用户进程单独的uid,当然系统也是要运行进程的,比如System,Radio,蓝牙,IO设备。系统中的init.rc文件会详细定义这些文件的权限。Android中对uid的定义是Root最高,其次是system,最低的是app。这是基于Linux系统的结果。

那么在APP里,要对一些进程进行访问,或者接受Broadcast,或者启动Activity、Service都是需要权限的,不能说你的app什么都能做,这也是需要在manifest file中设置的。

比如在startActivity时,如果你start自己apk里的activity,它们会在同一个application下,那么自然也就使用一个uid,start过程自然没有什么问题。如果你需要start别人写的Activity或者service,都需要用到同一个shareUserId才行,因为在ActivityManagerService要启动activity的之前,会首先检查uid,用checkPermission方法,透过binder获得pid和uid,检查你activity的binder的权限,如果你有权限则已,没权限的话就会抛出security exception。至于broadcast,检查则更为严格,会双向的检查发出者和接受者的权限。

2012年05月02日

Android的CTS测试,英文为Compatibility Test Suite,意为兼容性测试。只有通过CTS测试的设备才有可能获得Android的商标和享受Android Market的权限。以下分享我对Android CTS的认识。

一、取得Compatibility Test Suite的两种方法:

(1)可以从http://source.android.com/compatibility/downloads.html下载最新版本的Compatibility Test Suit;

(2)也可以通过编译Android源代码的方式获得。在android源代码目录下输入make cts命令来编译CTS,之后会在out/host/linux-x86/cts/下生成android-cts文件夹。这个文件夹就是Compatibility Test Suit。

二、运行CTS的方法,步骤如下:

(1)进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。

(2)进入tools目录,输入./startcts来启动CTS。

(3)如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。

三、CTS测试的方法:

(1)在cts_host>下敲入help,会显示cts下的许多命令。ls –plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance这个方案是google暂不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。

(2)用命令ls -d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。

(3)输入命令start –plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。

(4)对单独一个包进行测试的方法:start –plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS

(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名

四、查看测试的结果:

测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。

五、注意事项:

(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk 然后在设置里面的辅助功能中会多一个Delegating Accessibility Service选项,将这个选项勾起。

(2)在android设备设置中:显示->屏幕超时->选取30分钟

(3)在android设备设置中:应用程序->开发->勾选保持唤醒状态。

(4)保证测试前,android设备在主界面状态。

(5)将android设备的语言设置为英文。

参考

http://www.cnblogs.com/yyangblog/archive/2011/02/16/1955665.html

转自:http://blog.csdn.net/yao_guet/article/details/6626001

http://d.hatena.ne.jp/clomie_p/20101009/1286642748

  最近想跟一帮朋友做点东西,由于几个朋友都身处异地,要想实现版本控制,只能自己搭建一个小的服务器,通过互联网环境来实现版本控制了。本来也在网上找了好多资料,但是总是缺少一些必要的信息,导致最后连接不上服务器。今天好几天的折腾,到网上去查资料,自己动手测试,最后终于搞定了,这里跟大家分享一下,希望对一些朋友会有用。如果文章中有不对的地方,还请大家轻拍砖,多多指正!

【基本原理】

  通过apache或IIS搭建一个小型的服务器,使用花生壳工具或路由器自带的动态域名解析功能,将申请的免费域名绑定动态的IP地址上,利用路由器完成端口映射,通过HTTP协议完成SVN版本控制。

【工具准备】

1、apache工具(xampp):http://www.apachefriends.org/zh_cn/xampp-windows.html#1787 该链接包含三种压缩方式的下载链接,你可以根据自己的喜好去下载相应的版本。至于具体的用法的话,可能需要你自己去研究了,毕竟在本文中不是我们讲述的重点。

2、SVN 服务器(Subversion):http://sourceforge.net/projects/win32svn/ (点击那个Download绿色按钮就会自动下载了)

3、SVN 客户端(TortoiseSVN):http://tortoisesvn.net/downloads.html (选择相应的处理器版本进行下载)

4、SVN 中文语言包:http://tortoisesvn.net/downloads.html (在Language Package部分,选择自己对应的语言版本和处理器信息的语言包进行下载,我们就是简体中文)

5、花生壳:http://www.oray.com/peanuthull/download.php (在此页面,选择你的操作系统版本,进行下载。本文标题是Win7下,自然就乖乖选择Windows吧)

【配置过程】

1、利用花生壳网站申请一个免费的个人域名,利用申请到的护照登录花生壳客户端,在该域名上右键选择“域名诊断”,如果显示了以下图片,就表明动态域名解析已经OK了。大家可以试着ping一下自己申请的域名,应该是可以ping通的。

  Win7下搭建外网环境的SVN服务器

2、安装SVN服务器程序、SVN客户端程序、SVN客户端中文语言包。

  安装好这三个程序之后,在SVN客户端程序的设置里面,配置成中文语言,这样大家使用SVN就更加方便一点了。PS: 当然,如果你习惯玩英文的话,不用装中文语言包也是OK的。

3、安装xampp。(建议安装或解压到不存在空格和中文字符的文件夹目录下)

  如果你下载的是安装版的,直接安装就好了;如果你下载的是非安装版,解压后,执行setup-xampp.bat文件,也能够一样完成安装操作。

4、配置端口映射

  登录到路由器,找到“转发规则”—>“虚拟服务器”,然后添加新的条目,如下图所示:

  

5、配置Apache服务

  在目录xampp/apache/conf中找到httpd.conf,分别找到Listen部分和ServerName部分,修改数据如下:

  #Listen 80

  Listen 你的端口号(例如”Listen 8080″)

  #ServerName localhost:80

  ServerName 你的花生壳域名:你的端口号(例如“ServerName xxx.gicp.net:8080”)

  保存后重启Apache服务,在浏览器地址栏输入“xxx.gicp.net:8080”,看看能不能看到xampp的首页。如果可以看到,说明你的服务器搭建好了,我们就可以配置SVN服务了。

但是!!!!!!!!!

我的电脑在最开始的时候就是这个地方不行。为什么?

  后来经过各位网友的提示,可能是防火墙的问题,于是将Windows自带的防火墙关闭了,但是还是不行啊!坑爹啊,你装了安全软件,有木有?你妹啊,你装了杀毒软件,有木有!

  如果经过上面的步骤,你们跟我一样不能连接到服务器,还是乖乖的检查一下你的安全类软件的配置吧,看看是不是把入站和出站的规则防护的太严了?不管你们是不是防护的太严,反正我是防护太严了。找到了问题,各位试着关闭安全类软件的防火墙,或者设置一下过滤规则吧,然后再试试打开网址,应该是可以的。当然,不能关着防火墙裸奔吧,嗯,还是把系统自带的防火墙,安全软件的防火墙都设置一个过滤规则吧,允许Apache的服务通过防火墙!

6、配置SVN服务

  在适合的地方新建一个文件夹,用于存放你的第一个SVN版本仓库。进入新建的文件夹,在空白地方右键选择“TortoiseSVN”—>“在此创建版本库”,则在该文件夹下会自动生成几个文件夹和若干个文件,我们不需要对这个文件夹再做其他操作了,如果各位感兴趣可以去查一下每个文件夹的用途。

  将SVN服务器配置成一个开机自动启动的服务,方便每次开机时可以自动开启此服务。打开CMD,进入到SVN服务器Subversion的bin目录下,执行如下命令:

  sc create subversion_service binpath= “c:\subversion\bin\svnserve.exe –service -r 你的版本仓库的目录” displayname= “Subversion Repository” depend= Tcpip

  (注意:以上命令在每个“=”符号之后都有一个空格,请各位博友看清楚哈)

  然后启动该服务,我们的SVN服务器就运行起来了。

  但是,还没有结束。复制svn服务器bin中的四个文件mod_dav_svn.so,mod_authz_svn.so,intl3_svn.dll,libdb44.dll到apache的modules文件夹中, 并修改httpd.conf文件中的配置信息。

  去掉LoadModule dav_module modules/mod_dav.so签名的“#”注释符号,并在其下一行添加如下信息

  LoadModule dav_svn_module modules/mod_dav_svn.so

  LoadModule authz_svn_module modules/mod_authz_svn.so

  在文件最后添加 :
  
  DAV svn
  SVNPath “d:\svn_repository\test”
  AuthType Basic
  AuthName “Subversion repositories”
  AuthUserFile “d:\passwordfile”
  Require valid-user
  

  保存该文件后,需要重启apache服务。

说明:

/svn是用来访问仓库的
d:\svn_repository这个是你设置的版本仓库的路径
d:\passwordfile这个是密码文件,现在就来创建该密码文件:
打开命令窗口cmd
cd到apache的bin目录,然后输入
htpasswd -c d:\passwordfile 你的账户名称
输入两次密码 (是你为账户名称设置的登录密码)
就搞定了 。

7、测试
  打开游览器,输入http://xxx.gicp.net:端口号/svn/,输入用户密码(就刚才设置的),如果见到下图,那就万事大吉了。

  

  接下来,你可以用SVN客户端来控制你的版本了。

祝各位的实验能够成功了,如果有问题,欢迎各位评论一起研究探讨,多多交流。

Tags: .
2011年12月10日

1.

2つテーブル一覧を取得して、差分する

select
 relname as TABLE_NAME
from
 pg_stat_user_tables
order by TABLE_NAME

2.
select
 table_name,column_name,ordinal_position,is_nullable,
 case 
 when trim(data_type)=’character varying’ then data_type||’(‘||character_maximum_length||’)’
        when trim(data_type)=’numeric’ then data_type||’(‘||numeric_precision||’)’
        when trim(data_type)=’timestamp without time zone’ then data_type
  end coloum_type
from
 information_schema.columns
where
information_schema.columns.table_name in
(select
 relname as TABLE_NAME
from
 pg_stat_user_tables

where relname not like ‘bk%’
order by TABLE_NAME)

order by table_name

2007年11月16日

被、褥、枕头       

7 票数 3.2% 

毛毯       

6 票数 2.8% 

床单、被罩、枕巾       

6 票数 2.8% 

各类餐具,厨房用品(菜刀等)       

6 票数 2.8% 

大米、挂面       

9 票数 4.2% 

方便面等速食品       

8 票数 3.7% 

香肠,午餐肉、沙丁鱼等罐头食品       

6 票数 2.8% 

奶粉、豆奶粉、燕麦、果珍等冲泡饮品       

3 票数 1.4% 

牛肉干、烤鱼片、无花果、杏仁、腰果等小食品       

4 票数 1.8% 

紫菜、干蘑、干笋、干云豆等干菜       

4 票数 1.8% 

各类调味料       

3 票数 1.4% 

挂衣架、凉衣架等       

18 票数 8.4% 

长短、厚薄款各类大衣、棉袄、羽绒服       

13 票数 6% 

各款毛衣、毛裤       

12 票数 5.6% 

多套衬衣衬裤       

8 票数 3.7% 

多套内衣内裤、睡衣睡裤睡裙       

4 票数 1.8% 

各款袜子全部(长短款丝网,棉袜等)       

7 票数 3.2% 

各款鞋子全部(正装皮鞋、休闲皮鞋、运动鞋、凉鞋、拖鞋等)       

6 票数 2.8% 

学习、办公用品(本,笔,尺,裁纸刀等)       

8 票数 3.7% 

包包(书包,各款女式背包)       

7 票数 3.2% 

全套护肤、化妆品       

11 票数 5.1% 

全套洗浴用品       

18 票数 8.4% 

男生刮胡刀,女生女式剃刀       

5 票数 2.3% 

各类护甲、美容小工具       

5 票数 2.3% 

各种常见药品、创可贴等外用药剂       

4 票数 1.8% 

随身听,cd机,卡带、cd唱片       

9 票数 4.2% 

各类日文词典       

7 票数 3.2%

パソコンの種類、OSにより制限される特殊文字のガイダンスです。Mac特有の文字は表示できませんのでご了承ください。追加・変更などあれば教えてください。 (このページは予告なく変更されます。) 問い合わせはこちらまで

●文字コード体系
 
○ASCII(American Standard Code for Information Interchnage)

パソコン発祥の時から使用されている、1バイトの英字文字体系である。どんなコンピュータでも正しく認識され文字化けすることはない。7ビットで128種類の文字コードがある。実際には、制御コードも含まれるので文字数はややすくない。標準キーボードで、英文モードで入力できる文字、と考えておけばよい。

○JISコード(1バイト系)

正式名称を「JIS X 0201」という、旧型コンピュータで使われていた、半角カタカナを中心とした拡張文字体系である。この文字コードをサポートする古いコンピュータは、わずかながら使われているらしく、時折ネット上に半角カタカナが流れ込み文字化けの原因となることがある。7ビット、8ビットがあり、古いパソコンでは8ビットコードが使われていた。(「ANK」と呼ばれている。)

○JISコード(2バイト系)

すべての全角文字には2バイトの数値 (コード) が割り当てられているが、実際の値は文字コード体系によって異なる。全てのパソコンで共通の文字コードのみを使用すればどのパソコンでも正しく表示されるが、標準文字セットに組み込まれていない一部の特殊文字などはそれぞれの都合でコードを割り当てるため、Windowsで作成した文字コードがMac OSでは別の文字コードが割り当てられていたり「カラ」だったりする場合がある。このような文字を使うと、メールの文字化けなどの原因になってしまう。

1.第1水準と第2水準(JIS X0208)

2バイト文字(漢字)は、JIS X0208 で第1水準と第2水準の2つに大別される。
第 1水準は、約500字の記号、英数字、ひらがな、カタカナ等の非漢字と、約3000字の基本的な漢字で構成されています。第1水準の漢字は、その読みがなで分類されている。 これに対して第2水準は、約3400字の漢字で構成されている。人名、地名などの固有名詞に必要な文字や、旧漢字が集められている。第1水準の漢字と違って、漢字の「部首」によって分類されている。(どちらもIMEの漢字コード表で検索できる。)

2.補助漢字(JIS X0212)

補助漢字とは、JIS X0212 で定められている漢字であり、第2水準にも入らなかった人名や旧漢字などの難しい漢字をさす。補助漢字は、Windows ファミリー上でのみ表示できます。

3.「ISO-2022-JP」

上述の「JIS X 0208」から、半角カタカナを削除した、インターネットメールで使用できる7ビットで表記できる漢字コード(2バイト文字)の体系である。

○シフトJIS(8ビットJIS)

もともと、ASCIIとマイクロソフト社が独自に採用したパソコン用の漢字コード体系だが、MS-DOSの標準漢字コードとなり、やがてインターネットでもデファクトスタンダードとして認められるようになった。現在では、JISコードの一つとして認可されている。メールではJISを使用するが、Windows 2000 などのWEBサーバーではEUCと共に広く使われている。
JISコードが、ASCIIコードと同じ文字コードを割り当てて「ESC」(エスケープシーケンス)を挿入して漢字とASCII文字のモードを切り替えるのに対し、シフトJISは、ASCII文字やANK文字と第1バイトが重ならないように漢字を割り振った。SJISでは、ASCIIと漢字の文字コードが重複することはないので、いちいち「ESC」で区切る必要はなくなった。(SJIS漢字の1バイト目は、81~9Fh、E0~EFh のいずれかになる。)

○EUC(Extended UNIX Code)

UNIXで使われている漢字コード体系である。SJISと同じく、JISコード(ISO-2022)をベースにして拡張された漢字コード体系で、文字コード規則によりグループ(G0~G4)に分けられる。どのグループの文字コードなのかは、最上位ビットやグループを表す制御文字(SS2、SS3など)で認識する。ただし、UNIXメーカーは複数あり、それぞれ詳細な部分で異なるところがあるらしい。

3.Unicode

Windowsで扱える2バイト文字コードには、JISコード(16進数)、シフトJISコード、区点コード(10進数)、Unicodeの4種類がある。
Unicodeは、世界各国の文字に対応できる新しい2バイト文字コード体系であり、すべての文字を2バイト固定長で表記する。日本では、「JIS X 0221-1955」として、34168文字が決められている。Windows 98/NT以降で扱えるが、アプリケーションインタフェースではシフトJISが使われる。(Windows のIMEパッドの文字一覧アプレットで確認できる。)
Unicode は英数字も2バイトで表示されるため、ASCIIとの共存ができない、漢字採用国の類似形文字が勝手にユニファイされている、などの問題もある。

参考:言語コードと国コード

 
●機種依存文字(拡張文字)
 
JIS規格では、メーカーが独自に文字を追加することを制限しなかった。そのため、メーカーは追加拡張領域を勝手に使用してJIS規格以外の文字を割り振っていった。「NEC特殊文字」や「IBM拡張文字」などがある。これらは、Windows に取り込まれることになるが、一部、同じ文字が異なるコードに割り振られる異常事態になった。これらの拡張文字を使わなければ問題は発生しないが、UNIXやMACでは読めない。原則的にインターネットの世界、特にWWW、メール、ニュースでは、特定の機種に依存する(特定の機種でしか読めない)文字は使用してはならない。とはいっても、それが具体的にどの文字なのかわからないと知らずに使用してしまいます。一応理解しておきましょう。

○Windows特有の文字(Mac OS、DOSなどからは読めない可能性大。)

1.特殊記号: ∧∨¬⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪†‡¶◯ など
2.組み合わせ文字(複合文字): ㍻㍼㈱㈲㈹℡№㍍ など
3.丸付き数字やローマ数字: ①②③ⅠⅡⅢⅰⅱⅲ など
4.文字罫線: ┴┗┼ など

○Mac OS特有の文字(Windows、DOSなどからは読めない可能性大。)

詳細な文字例は省略。

1.数字: ○に数字、()に数字、●に数字
2.英字: ()にabc
3.ローマ数字: 大文字、小文字 
4.単位記号:  mm、cm、HzやKB、MB、○秘、カタカナの単位記号(ミリ、センチなど)など 
5.年号記号: 明治、大正、昭和などの記号  
6.No、KK、TEL、FAXやトランプマーク  

以外に多いのに驚くでしょう。WindowsとMacをともにインターネットで使っているユーザーは少ないと思います。Webページでは、エンコード・エラーによりページ全体が化けてしまう場合とページを開発した機種の依存文字が部分的に化けている場合があります。よく見極めて対処しましょう。

●機種に依存しない文字

機種依存文字のように感じられるが、依存しない文字もある。次の文字や記号は依存しないといわれています。

○半角記号・全角記号・特殊記号など

!@#$%^&*()_+|-=\*/-+=.,{}[];:’"`~<>?
、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥
‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×÷=≠<>≦≧∞∴♂♀
°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓

○ギリシャ文字とロシア文字(IMEで、「ぎりしゃ」、「ろしあ」で変換すると候補に表示される文字セット)

●文字化け
パソコンの世界では、表示される文字のひとつひとつは「文字コード」に割り当てられて処理される。つまり、表示や印刷をおこなう場合のみ、文字コードに該当する字形イメージをフォントファイルから読み込んで使用する。したがって、パソコン間であれ、サーバーとクライアントパソコン間であれ、コンピュータ間での文字のやり取りをおこなう場合は、同じ文字コードを使用しなければならない。異なった文字コード間では、たまたま一部の文字が正しく表示されることがあるが、誤った文字が表示され認識できない文字列が並ぶことになる。

○文字化け例

文字コード
表示テキスト
SJIS このページをオフラインで使用するには、インターネットに接続して、 [お気に入り] メニューの [お気に入りに追加] をクリックします。次に [オフラインで使用する] チェック ボックスをオンにしてください。
EUC i"磨yージり!フラインs.g用l"・・・Aインターネットu0搶・・・A [d韻u3蕫膽 メニューv[d韻u3蕫艢・・・ り¨リックk"梳・B氓並[オフラインs.g用l"・ チェック ボックスり!ンu"・逐・準・・B
Unicode ?±??y?[?W???t???C????g?p?・?邉??A?C???^?[?l?b?g???±?μ??A [?¨?C???? ???j???[??[?¨?C??????] ?????b?N?μ??・?B????[?I?t???C????g?p?・?靠?`?F?b?N ?{?b?N?X??????μ??-???3?¢?B

このように、Webでは、EUCとSJISのサイトが混在しているため、文字コードを指定していないページを訪問した際に、ブラウザが認識できずに文字コードを間違えて表示してしまう場合も多い。文字コードが異なれば漢字の文章は全く意味不明になってしまう。他に、コードは合致していても文字化けする例がある。たとえば、インターネット上のメールでは7ビットのJISに変換して送るのが基本であり受信したパソコンで文字コードを再度変換して表示する。この変換がうまくいかなかったり、漢字であることを知らせるための「ESC」コードが欠落したりする場合がある。

○改行コード

プレーンなテキストデータは文字コードと改行コードから構成されている。したがって、インターネットのメールやWEBページを正しく表示するためには、次のように、機種によって異なっている改行コードも、正しく変換してやる必要がある。メールにおける改行コードは、「CR+LF」 が基本である。「CR」は、「表示位置を行頭に戻す」、「LF」は、「表示位置を1行分送る」という意味らしい。現在は、どのメーラーも、「CR+LF」に変換して送信するのでインターネットメールでエラーが発生することはないはずである。(少なくともWindowsマシンの間では)

1.Windows:CR+LF
2.UNIX:LF
3.Macintosh:CR

むしろ、WEBページの制作の際に、ビルダー側の設定ミスやWEBサーバーとのファイル転送などで改行コードの変換エラーが発生する可能性が高い。この間違いは、UNIX系のWEBサーバーとWindows環境のビルダーを使用している場合に特に多い。(「LF」が基本のサーバーに、「CR+LF」付きで転送すると、ブラウザで見る限り問題なく表示されていても、サーバーのファイル自体のレイアウトがバラバラになる。)


●Windowsフォントの知識
○フォントキャッシュ

Windowsで使用するフォントは、起動時にフォントフォルダ(通常:c:\Windows\fonts)から読み込まれる。よく使われる標準フォントはTTFキャッシュ(c:\Windows\ttfCache)と呼ばれるキャッシュにアクセスすることで高速表示を可能にしている。フォントフォルダに大量のフォントを組み込んでいる場合、起動に時間がかかるだけでなく、読み込みに失敗するフォントがでやすくなる。また、一部の文字が化けるなどの異常が認められた場合は、フォントキャッシュが壊れている可能性がある。Windowsを再起動しているうちに自然に修復される場合もあるが、なかなか直らない場合は、Safeモードで起動してみるとよい。または、フォントキャッシュを手動で削除し再起動してもよい。

○フォントのインストールと削除

コントロールパネルのフォントフォルダを開き、「ファイル」の「新しいフォントのインストール」または「削除」から行う。

1.「新しいフォントのインストール」から新しいフォントを追加する

漢字のフォントは容量が大きく起動時の読み込みに時間がかかる。毛筆体など、あまり使わないフォ塔gなら、
「フォントの追加」ダイアログの「[FONTS]フォルダにフォントをコピーする」のチェックをはずしておくとフォントフォルダにショットカットのみを置いておくことができる。

2.フォントの削除

使わないフォントは、削除してパフォーマンスをアップさせよう。不安なら別フォルダにコピーしておけば後で再インストールできる。

○インターネットのフォント

Windowsが管理するフォントの多くも、機種に依存します。例えばWindows上の機種依存フォントで表示するよう指定されたWebページをMac上で表示すると、通常は、Mac OSの管理する標準フォントに置き換えて表示します。例えば毛筆体フォントは、ワープロやはがき印刷ソフトなどをインストールした際に同時に組み込まれる場合が多く、そのようなフォントを指定したWebページは、異なる機種上では単純なゴシック体や明朝体にすりかわってしまいます。そのようなフォントを使っても視覚上の効果は期待できず、逆に置き換えがうまくいかずレイアウトも崩れてしまうことがあります。
ネット上で書体による効果を求めるなら、どのパソコンにも組み込まれている共通フォントを指定するか、Web用にイメージ化した画像ファイルとして扱うことです。

○印刷用フォント

コントロールパネルの「フォント」フォルダを開くとインストール済みのフォントが検索できます。一般ユーザーのWindowsパソコンでは、「True Type」フォント(拡張子=.TTx)がほとんどですが、ラスターフォントも何種類か組み込まれているはずです。これは、タイプライターや旧型パソコン時代のなごりのフォントなどで、拡張子=.FONでアイコンが赤く表示されている。ラスターフォントを拡大すると周辺がギザギザのモザイク上になってしまうため、印刷する際にはこれらのフォントは使わないほうがよい。他に、まともなフォトレタッチ・ソフトやパブリッシング・ソフトなどをインストールすると、「Type1」フォントなるものが組み込まれる場合があるが、これはポストスクリプト・デバイスのために作成されたスケーラブルフォントであり、Windowsのビューアでは表示できない。(プリンターがPostScript対応であればドライバーとの組み合わせで利用できる。)

○OpenType Font

現在のフォントには、一般用のTrueType(WindowsのMS明朝、MSゴシック、MacのOSAKAなど)と出版用に用いられるPostScriptフォント(Macの細明朝体など)がある。これらは、モニター表示や印刷時の仕組も異なっており、互換性がない。OpenTypeは、Microsoft社とAdobe社が共同で開発を進めている、TrueTypeとPostScriptをクロスプラットホームで融合したフォントフォーマットである。OpenTypeフォントフォーマットの特長は、使いやすさと高度なタイポグラフィー機能である。従来の二種類のフォントの長所を取り入れ、ユニコードに完全対応した文字セットから構成され、ファイル自体もOS間で共通である。OpenTypeフォントが普及し、それをサポートするOSサービスが確立すると、これまでより簡単にフォントをインストールして使えるようになるという。また、ベースとなる文字アウトラインデータがTrueType形式でもPostScript形式でも、ユーザー側からはまったく同じOpenTypeフォントのように見えるというのもありがたい。

対応するOSについては、Windows 2000、MacOSX以降が標準でサポートしている。しかし、日本語フォントとしてリリースされているのは Mac OSX 付属の「ヒラギノ書体」とAdobe社の「小塚書体」だけである。さらに、この機能もアプリケーションの対応が必要であり、現在対応しているのは、「Indesign」と「EG-Word13」(Mac OSX版)程度である。今後の普及に期待したい。

データベースの停止(SQL*Plus版)

SQL*Plusを使ってOracleデータベースのインスタンスを停止するには、SYSDBAあるいはSYSOPERシステム権限でOracle データベースに接続し、SHUTDOWNコマンドを発行します。データベースの停止には、「NORMAL」「IMMEDIATE」「TRANSACTIONAL」「ABORT」という4つの停止モードがあり、状況に合わせて使い分けます。(SQLの表記ルールは、こちらから参照できます)

データベース停止の準備
SQLPLUS /NOLOG
手順1 まず、データベースに接続せずに、SQL*Plus を起動します。コマンドラインから「/NOLOG」オプションを付けてSQLPLUSコマンドを発行します。
CONNECT username/password AS [SYSDBA | SYSOPER]
手順2 SQL*Plusセッションを起動したら、管理者アカウント(デフォルトではsysまたは system)として、SYSDBA(あるいはSYSOPER)システム権限でOracleデータベースに接続します。これで、データベース・インスタンスを停止する準備が完了します。
関連項目:権限を確認する

NORMALモードによるデータベースの停止
SHUTDOWN NORMAL
データベースを通常の状況で停止するには、SHUTDOWN コマンドでNORMAL句を指定します。NORMALモードでは、SHUTDOWNコマンドが発行された後は新しい接続は許可されません。また、現在データベースに接続しているすべてのユーザーがデータベースからの切断するのを待機した後、データベースは停止します。次にデータベースを起動する際、インスタンス・リカバリの手順は必要ありません。
関連項目:IMMEDIATEモードによるデータベースの停止 TRANSACTIONALモードによるデータベースの停止 ABORTモードによるデータベースの停止

IMMEDIATEモードによるデータベースの停止
SHUTDOWN IMMEDIATE
データベースを即時停止するには、SHUTDOWNコマンドでIMMEDIATE句を指定します。IMMEDIATEモードでは、SHUTDOWNコマンドが発行された後は新しい接続や新しいトランザクションの開始は許可されません。また、コミットされていないトランザクションはすべてロールバックされます。現在データベースに接続しているユーザーが切断されるのを待機せず、直ちにデータベースは停止します。アクティブなトランザクションは暗黙的にロールバックされ、接続中のユーザーはすべて切断されます。次にデータベースを起動する際、インスタンス・リカバリの手順は必要ありません。
関連項目:NORMALモードによるデータベースの停止 TRANSACTIONALモードによるデータベースの停止 ABORTモードによるデータベースの停止

TRANSACTIONALモードによるデータベースの停止
SHUTDOWN TRANSACTIONAL
アクティブなトランザクションを完了してからインスタンスを停止するには、SHUTDOWNコマンドでTRANSACTIONAL句を指定します。TRANSACTIONALモードでは、SHUTDOWNコマンドが発行された後は新しい接続や新しいトランザクションの開始は許可されません。すべてのトランザクションが完了すると、インスタンスに接続されているすべてのクライアントが切断され、データベースは停止します。次にデータベースを起動する際、インスタンス・リカバリの手順は必要ありません。
関連項目:NORMALモードによるデータベースの停止 IMMEDIATEモードによるデータベースの停止 ABORTモードによるデータベースの停止

ABORTモードによるデータベースの停止
SHUTDOWN ABORT
データベース・インスタンスを強制終了することで、データベースを直ちに停止するには、SHUTDOWNコマンドでABORT句を指定します。このモードでの停止は、データベースまたはデータベース・アプリケーションの一部が異常に動作しており、ほかの停止モードがどれも機能しない場合に使用します。SHUTDOWNコマンドが発行された後は、新しい接続や新しいトランザクションの開始は許可されず、処理されている現行のクライアントSQL文は直ちに終了し、コミットされていないトランザクションはロールバックされません。また、現在データベースに接続しているユーザーが切断されるのを待機しません。接続中のユーザーはすべて暗黙的に切断されます。次にデータベースを起動する際、インスタンス・リカバリの手順が必要になります。
関連項目:NORMALモードによるデータベースの停止 IMMEDIATEモードによるデータベースの停止 TRANSACTIONALモードによるデータベースの停止

2007年07月30日

1.Partial:就是分部类型,VC#2005也支持。
2.未使用的引用如何快速去掉:VB2005支持把工程中未使用的引用去掉,方法是鼠标右键点击工程的属性,在引用一项中可以查看未使用的工程中未使用的引用
3.Global:使您可以在已使用命名空间结构阻塞 .NET Framework 编程元素时对其进行访问
4.多特性多尖括号:就是说VB2003中要这么写:<System.ComponentModel.DefaultValue(""), System.ComponentModel.Description("")> _ ,在2005中可以这么写:<System.ComponentModel.DefaultValue("")> <System.ComponentModel.Description("")> _
5.未分配、未使用变量编译警告:这是一个改进
6.Unsigned Integer:VB2005开始支持无符号的整型等
7.尽量用Double不用Single:Double比Single快,因为Double在向CPU浮点寄存器存储或读取时,不需要转换,而Single要,当然后者节约内存
8.LIKE 运算符:根据模式来比较字符串,result=string like Pattern
9.IsNot运算符:比较两个对象引用变量 ,obj1 IsNot obj2,在2003中的写法是Not (obj1 Is obj2).
10.TryCast:类型转换操作,类似CType、DirectCast,但TryCast不引发异常,如果不能转化,TryCast返回Nothing
11.数组允许指定To关键字:Dim arr(0 To 10) As Integer,有点无极(=无聊X2)的功能,左边必须从0开始。
12.Continue:Continue { Do | For | While } ,呵呵终于支持Continue了
13.参数是引用类型时Byval和Byref的区别,你真的知道吗?:当参数是引用类型时,很多人不知道byval和byref的区别。
14.重新引发异常Throw ex or throw:Throw ex增加了一个错误堆栈,不好。
15.Save Project When Created OR not Save:类似VB6的功能,不必指定程序的保存路径,(对于测试一些代码很有用,不必再保存垃圾了),在option中设置。而VS2003中新建一个 工程,上来就让你指定一个保存路径,VB6转到而来的人感觉怪怪的。
16.剪贴板循环Ctrl+Shift+V:这个VS2003中也有,但是很少有人用。
17.长方形模式选择Alt+鼠标:选中文本可以竖着选择,你试过没?VS2003中也有这个功能。
18.参数复制与粘贴Ctrl+Shift+Alt+P:试试这个功能吧,参数明了化,就这个功能。
19.BookMark Window:BookMark 列表窗口。
20.插入代码段 ? Tab  管理代码段Ctrl+K、Ctrl+B:代码段噢。
21.停靠拖动更有效:巨大的改进,我在VS2003中合并一些(或拆分)工具栏,要耗费力气,还事与愿违。
22.导出导入设置:保存VS2005的相关设置。
23.项目模板:模板的功能,类似VC6.0中的功能。
24.单步执行  逐语句(F11)、逐过程(F10)、跳出(Shift+F11)、运行到光标处(Ctrl+F10)、当前断点置于视图中(Alt+小键盘上的*):调试的快速方法,熟了就好,熟归熟,你重伤我,一样告你诽谤。
25.编辑并继续执行:可以不编译,编辑并继续执行,VS2003中没有,VB6中支持。
26.调试窗口:局部变量、自动变量、监视、调用堆栈,这个…
27.单元测试:支持内置的单元测试,类似NUnit,但可以根据你要测试的代码自动生成一些代码框架。
28.Get、Set定义不同作用域:比如一个属性,Get可以Public,Set可以Private的,怪吗?
29.运算符重载:终于支持运算符重载了,JAVA都不支持的噢.
30.事件选项卡:支持一些编译的事件,你可以做些后期的处理。
31.自定义事件:Custom Event,没有用过,不知道有什么好处。
32.Overrides自动生成代码:在子类中Overrides 基类中的方法会有智能提示,不必在到基类中去copy方法名了。
33.Using关键字:Using、End Using声明 Using 块的开头,并根据需要获取该块控制的系统资源 ,以前这么写:Dim frm As New Form1 : frm.ShowDialog() : frm.Dispose() ,现在可以这么写:Using frm As New Form1 : frm.ShowDialog() : End Using 。
34.接口重新实现:在子类中可以重新实现基类中已经实现的接口,冥冥中好像有些作用吧。2003不支持。
35.泛型:泛型 、泛型、泛型,要讲三天三夜。
36.泛型约束-接口约束、继承约束、引用类型约束、值类型约束、无参构造函数约束:泛型、泛型、泛型,要讲三天三夜。
37.foreach 比For Next慢:这个不清楚,可能For next是索引,foreach是索引加上其他一些东东,所以慢吧.
38.SecureString:表示应保密的文本。文本在使用时出于保密目的被加密,并在不再需要时从计算机内存中删除 .
39.强类型泛型抽象类型:Public Interface IDictionary(Of TKey, TValue) ,看看这个就明白俺的意识了。
40.StopWatch:测试时间的新方式。
41.DeflateStream/GZipStream:提供压缩和解压缩流的方法,这两个类的算法不同。俺用过ICSharpCode.SharpZipLib.dll 。
42.Array.Sort/Array.Resize/Array.Find/Array.FindLast/Array.FindIndex/Array.ConvertAll/Array.Foreach好又多泛型方法:MSDN
43.My.Application My.Computer My.Forms My.Resources  My.Settings   My.User   My.WebServices:VB2005 MY命名空间提供对于一些东西的快速访问,讲一天一夜吧。
44. Delegate的协变和逆变(C#,VB.net):C#支持协变和逆变,但VB不支持,但VB是弱类型,所以也可以达到类似的效果。
45.BackGroundWorker:一个好用的多线程控件。
46.Nullable:可空类型。