28/01/2014 MCAFEE SECURE 認證的網站

https://www.mcafeesecure.com/RatingVerify?ref=www.HongKongCupid.com

2013年5月27日 星期一

**如何利用EdmGen 在Visual**Studio 2010中~~实现PostgreSql**的实体框架设计.*~

   **如何利用EdmGen 在Visual**
 Studio 2010中~~实现PostgreSql**的实体
框架设计*~

  ))ADO.net实体框架已经成为微软数据访问处理方案中的首选方案了,但是Visual Studio 2010中若使用实体框架,则只支持Sql Server的生成和更新。虽然Ado.net实体框架也支持Oracle,Mysql,PostgreSql等数据库,但是不能通过 VS2010生成,必须通过第三方提供的软件进行。举例PostgreSql来说,我们可以安装Devart Software提供的DotConnect for PostgreSQL,安装好后就可以使用PostgreSQL的实体框架生成了。但DotConnect for PostgreSQL是收费软件,安装后超过使用期后开发的软件就会报过期异常,而免费版的 DotConnect for PostgreSQL经我测试并不支持实体框架的生成。那么有没有更好的直接利用开源软件实现实体框架模型的 生成的,以下就是我利用开源的npgsql实现PostgreSQL实体框架的过程:

1、去下载Npgsql的最新版

下载后解压到一个文件夹,例如C:\temp。

2、进入Visual studio 2010 命令行模式,

运行以下两个命令,将库注册到GAC中。

gacutil -i c:\temp\npgsql.dll
gacutil -i c:\temp\mono.security.dll

3、更新 Machine.Config

我更新的目录为C:\WINDOWS\Microsoft.NET\
Framework\v4.0.30319\Config,可以选用对应
的.net框架目录进行更新。
在‘DbProviderFactories’一节中清加以下内容:
<add name="Npgsql Data Provider"
 invariant="Npgsql" support="FF"
description=".Net Framework Data Provider
for Postgresql Server" type="Npgsql.
NpgsqlFactory, Npgsql, Version=2.0.11.92,
Culture=neutral, PublicKeyToken=
5d8b90d52f46fda7" />
(注意版本号对应)

4、使用EdmGen生成实体框架文件

找到 EdmGen (.net 3.5及以上才会有)如果
是VS命令行模式,则可直接运行,在DOS命
令符下则到相应的目录中执行。
到相应的项目目录,运行以下命令:
edmgen /mode:FullGeneration /provider:Npgsql
/connectionstring:"Server=主机地址;Port=

5432;UserId=用户名;Password=密码;
Database=数据库名" /project:WpfApplication1
(以上是命令中需要将中文部分替换为实际值)

此时生成了五个文件。

5、合并实体框架文件

到网上下载edmgen2,可以利用该命令
将将三个模型文件合并成一个文件,
我用了以下命令:
edmgen2 /ToEdmx 文件名.csdl 文件名.msl 

文件名.ssdl
这时会自动生成了“文件名.edmx的文件”!

6、完成实体框架

打开Visau Studio 2010,将上述edmx文件添加
到项目中!这时VS会自动生成
“文件名.Designer.cs”文件!

7、修改app.config(若是ASP.net则修改web.config)

在app.conifg中我们添加以下内容:
<add name="WpfApplication1Context" providerName="System.Data.EntityClient" connectionString="metadata=res://*/

文件名.csdl|res://*/文件名.ssdl|res://*/文件名.msl;provider=Npgsql;provider connection
string='Server=服务器地址;Port=5432;User
Id=用户名;Password=密码;Database=数据库名;enlist=true;'" />

好了,现在PostgreSQL的实体框架就可以用了!

hehe...
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

**你?!能遠程開啟家裡的電腦嗎?~


    **?!能远程开启家里的电脑吗?~

#家里有台无线路由器,通过电信上的网,
今天测试了一下通过互联网远程开机功能,
成功把电脑给开机了。只要有互联网,
在任何地方用手机,PAD或电脑就可以
将家里关机的电脑给开启,没有使用开机
棒之类的硬件。开机后还可以直接通过远程
桌面连接一家里的电脑,就象在家里用电脑一样。
那么要实现这样的功能要什么样的特殊
条件呢,其实我的上网环境跟其它家庭是
差不多的,也就是说并不需要额外的再投资
什么硬件了,不过为了达到任何地方能开机
的目的,还是需要设置很多的内容,也正是
这些烦琐设置使得这一独特的功能难以实现。
这里列举一下需要用到的技术和设置,以下
提到的功能和服务,这一切都是免费的哦:
( 1 )使用花生壳服务通过动态域名的方式自动
获得网络服务商为您上网提供的外部IP地址。
( 2 )在路由器上设置DMZ,并将DMZ地址设为
您想开机或远程控制的电脑,因为设了DMZ,
那么外网IP的所以数据包都会发到您的内网
电脑上。换句话说,就是你的电脑暴露在
外网上了,要注意电脑安全哦。
( 3 )在您的路由器上可以找到一个“虚拟服务器”
的功能服务,在这里你可以增加一个单端口转发
的规则,将端口设为2304,协议选UDP,
IP为您想远程开机的电脑的IP地址。并且激活它
( 4 )在路由器上进行IP和MAC地址绑定。因为
没有开机的电脑是不能进行IP地址传输开机
数据包的,必须通过往MAC地址发包的方式。
所以IP和MAC绑定是必须的。如果您的路由器
没有这个功能,那得telnet手动添加了。
( 5 )对了,电脑在BIOS里必须激活WOL
(通过网络唤醒功能),激活后试试看能不能
在本地通过远程开机,我为此专门做了个软件
能实现局域网内的自动开机,我把它附在
后面,您可以下载使用。如果本地局域网内
都不能开机,那远程估计就更不行了
(6 )现在把你的机子关了。在其它电脑上ping
你的动态域名获得你路由器的外网IP。
在网络上找一个提供远程开机服务的网址,
例如:
等有空了我也准备做一个,地址在:http://www.eesoftware.com/woi/ 填上相应的数据,
填上你电脑的MAC地址,填上你路由器的
动态IP,网关可以填255.255.255.255,
端口填上2304。
( 7 )开机后,你可以用你的动态IP地址直接
远程连接你的电脑了(当然电脑上还要允许
远程电脑连接才行)。
以上只是粗略的讲了一下整个过程,每一步
都会有许多相关的知识,要实现任何地方
远程开机还真不容易。
/blog_files/WakeOnLan_1.exe
715KB
QQ^^
***********************************************************

           *電腦開機後出現**Microsoft/
Search Enhancement Pack**

  ))電腦重灌後安裝很多新的軟件..
而且開機後會彈出一個Microsoft/
Search Enhancement Pack資料夾!
令人很頭痛!!在網上搜尋又找唔到解決的

方法!又想手動移除文件!但就不知道會
影響什麼的程式..

解決的辦法是:
方法一︰
備份文件!直接刪除C:\Program Files

\Microsoft 這份文件!經過我幾個月來
的測試!沒有影響果Windows,以後再
沒有跳出來了…
方法二︰
開始 → 執行 → 輸入"regedit"
尋找到路徑︰"HKEY_CURRENT_USER\
Software\Microsoft\Windows\
CurrentVersion\Run"
在這裡給沒有雙引號括起來的每一項的
補充雙引號,如【C:\Program Files\
Microsoft Office\Office14\
GROOVEMN.EXE】,前後增加雙引號
C:\Program Files\Microsoft
Office\Office14\GROOVEMN.EXE】,
確定即可。
**如果電腦上每一個用戶登錄時候都彈出
文件夾,就在這個鍵值下也進行同樣的補 充:"HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\CurrentVersion\Run"
1-1-2013更新
發現出現這份文件的原因是安裝了MSN 8.0
 或 MSN 9.0 所導致這情況發生的~~)
                    
*************************************************

**原碼分享{4.}之各式源碼))*



           ** **原碼分享{4.}之各式源碼))*
**{ 1.}WIN7快速~启动***
虚拟WIFI))) 配置bat文件说明 ))~

  将下面文档复制到记事本,后缀改为bat即可。(注意:第22行
YourSSID改成自己想取的名字,key改成自己的密码,
如果发现其他移动设备连接上该wifi但是没有网速,请检查防火墙设置,

以及杀毒软件如360流量防火墙里面是否启用了局域网隐身,
如果仍不能解决问题,就暂时关闭防火墙和杀毒软件,或者重启电脑,

或者重装系统,或者另辟捷径)
@echo off title ------(请使用管理员权限运行本程序)请选择------
:begin echo -------------------------------------------------------------
echo 1、启用虚拟WiFi功能
echo 2、禁用虚拟WiFi功能
echo 3、启动虚拟WiFi
echo 4、暂停虚拟WiFi
echo 5、查看联接用户
echo 0、退出
echo -------------------------------------------------------------
set /p num=请选择要执行的操作序号:
if "%num%"=="1" (goto Num1)
if "%num%"=="2" (goto Num2)
if "%num%"=="3" (goto Num3)
if "%num%"=="4" (goto Num4)
if "%num%"=="5" (goto Num5)
if "%num%"=="0" (goto Num6)
:Num1 cls echo 你输入的编号是%num%
netsh wlan set hostednetwork mode=allow ssid=YourSSID key=yourpaswd
goto begin
:Num2 cls echo 你输入的编号是%num%
netsh wlan set hostednetwork mode=disallow
goto begin
:Num3 cls echo 你输入的编号是%num%
netsh wlan start hostednetwork
goto begin
:Num4 cls echo 你输入的编号是%num%
netsh wlan stop hostednetwork
goto begin
:Num5 cls  echo 你输入的编号是%num%
netsh wlan show hostednetwork
goto begin
:Num6 exit


**{ 2.}XP系统下快速切换ip的bat脚本配置


适合经常在办公和家庭等不同场所频繁切换网络ip
自动获取ip netsh interface ip set address "本地连接" dhcp  netsh interface ip
set dns "本地连接" dhcp
复制下来另存成bat就可以了

改固定IP:  netsh interface ip set address name="本地连接" source=static addr=10.86.7.mask=255.0.0.0  netsh interface ip set address name="本地连接"
 gateway=10.23.0.251 gwmetric=0  netsh interface ip set dns name="本地连接"
source=static addr=202.194.11.10 register=PRIMARY netsh interface ip add dns
name="本地连接" addr=202.106.0.20

复制下来,把其中的ip改为需要切换的常用ip另存成bat就双击执行可以了
如果修改不成功。
右键网上邻居--属性。看看里面的网络连接是不是“本地连接”或者是其他的。
如果是无线网络就改成“无线网络连接”
如果在执行bat脚本后发现dos窗口里面"本地连接"等汉字为乱码,请检查该
bat文件的文字格式

  **{ 3. } *苹果开发*

基于))* 

键值的~*

))~观察者模式编程~

键值观察提供了一个机制,允许当其他对象
的特定属性被修改时通知观察者对象。这一
机制在应用程序的模型和控制器之间的通讯
方面尤其有用。通常情况下,控制器对象观
察模型对象的属性,而视图对象通过控制器
观察模型对象的属性。此外,一个模型对象
也可以观察其他模型对象。
要接收一个属性的键值观察通知,需要:
  • 被观察对象调用addObserver:forKeyPath:
  • options:context:方法注册观察者对象;
  • 观察类必须实现observeValueForKeyPath:ofObject:
  • change:context:方法。

示例

1. 新建一个Single View Application,并启用ARC;
2. 新建一个StockData类,头文件如下所示:
@interface StockData : NSObject

@property (assign, nonatomic) CGFloat price;

@end
实现代码可以先不处理;
3. 在ViewController.m中,首先修改接口定义,
代码如下:
复制代码
#import "StockData.h"@interface ViewController ()
{
    StockData   *_stock;
    UILabel     *_label;
}

@end
复制代码
4. 修改viewDidLoad方法如下:
复制代码
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the 
view, typically from a nib.
    // 1. 初始化StockData
    _stock = [[StockData alloc]init];
    
    // 2. 新建标签控件显示StockData的price属性
    _label = [[UILabel alloc]initWithFrame:
CGRectMake(0, 100, 320, 40)];
    [_label setTextAlignment:NSTextAlignmentCenter];
    [self.view addSubview:_label];
    
    // 3. 添加观察者观察price属性    [_stock addObserver:self
                  forKeyPath:@"price"
                     options:NSKeyValueOb
servingOptionNew
               context:nil];
    
    // 4. 测试属性变化
    [_stock setPrice:20];
    [_stock setPrice:30];
    [_stock setPrice:40];
}
复制代码
5. 实现observeValueForKeyPath:ofObject:
change:context:方法,在viewDidLoad方法下方,
添加如下代码:
复制代码
- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                     change:(NSDictionary *)change
                       context:(void *)context
{
    if ([keyPath isEqual:@"price"]) {
     NSLog(@"new price is %@", change[@"new"]);
        
[_label setText:[NSString stringWithFormat:
@"%0.02f", _stock.price]];}}
复制代码
6. 生成并运行程序,标签中应该显示40.00,
不过在控制台可以看到3次price属性的变化情况。

补充

对于本此示例,由于是支持ARC的,因此没有
删除观察者的代码。但是对于复杂些的应用,
在不需要时,需要删除观察者监听。要做到这一点,
可以调用如下代码:
[_stock removeObserver:self forKeyPath:@"price"];
 
 
 *{ 4. }^~Cocos~ 
2d%*学習笔记*
安装模板及ARC支持~^
 
 *使用平台Xcode4.6.1+cocos2d 2.0。

一. 安装

  1. http://www.cocos2d-iphone.org
  2. /download下载并解压缩最新版本的
  3. cocos2d,默认情况下会保存在 /Users
  4. /XXX/Downloads/cocos2d-iphone-
  5. 2.0文件夹;
  6. 打开终端,输入:./Downloads/
  7. cocos2d-iphone-2.0/install-
  8. templates.sh -f 安装cocos2d的模板;**你?!能遠程開啟家裡的電腦嗎?~
提示:如果在安装过程中提示拒绝权限,可以打开Finder,按SHIFT+COMMAND+G,然后输入~/Library/Developer/Xcode,删除Templates文件夹,然后再新建一个名为Templates的文件夹即可。目前版本的install-templates脚本不再 支持通过sudo的方式安装,执行上述操作 可以让当前账户获取对Templates文件夹 的访问权限。

二. ARC支持

从iOS5开始,ARC技术的引用简化了程序员的开发工作,因为我们不再必须去记住一定要去释放每一个已申请的对象,我们可以将更多的注意力专注于程序逻辑 的本身。但是cocos2d默认是不支持ARC的,如何能 做到既能使用ARC又能使用cocos2d呢? 静态库可以解决这一问题,下面介绍一下 具体操作步骤。  1. 新建工程,选择cocos2d iOS模板: 2. 输入项目的基本信息: 3. 新建后的项目如下图所示:  
4. 点击下方的Add Target按钮,添加静态库,
如下图所示:
 
5. 为新的静态库起一个你喜欢的名字,如下图所示,
我给静态库起的名字是 Cocos2d Libs:
注意不要选择“Use Automatic Reference Counting”
因为我们将把cocos2d的文件移植到该 静态库中,
而cocos2d目前并不支持ARC。
6. 添加完静态库后的项目结构如下图所示:
7. 选中Cocos2d Libslibs,并将这两个--
--文件夹删除,注意此时只是删除引用,
不要把文件彻底删除,因为稍后还会使用到
删除之 后的项目结构如下图所示:
 
 
 8. 选中左侧项目结构的根节点 HelloCocos2D,
然后选中Targets下方的 HelloCocos2D,
在Summary选项卡中,滚动到中下方位置可以看到
“Linked Frameworks and Libraries”,点击其--
--下方加号,在弹出的窗口中,选中“libCocos2d  Libs.a”并点击Add按钮,如下图所示;
 9. 选择菜单命令File-Add Files to "HelloCocos2D"…,
找到并选中第7步删除 的libs文件夹,确认不要勾选Destination的 Copy items into destination group's folder(if needed),同时在Add to targets中选择Cocos2d Libs
作为目标,如下图所示:  
10. 将添加后的libs文件夹拽到 HelloCocos2D文件夹的下方,这样就和 我们刚才看到的结构差不多了,如下图所示:
 11. 在项目属性的Targets下方选中Cocos2d Libs,
在搜索框中输入 search,
然后将Always Search User Paths设置为YES,在User Header Search Paths中输入./**,如下图所示:
 
12. 在搜索框中输入build,然后将 Build Active Architecture OnlyDebug修改为No
如下图所示:
 
说明:如果不修改此选项,虽然可以在 模拟器上运行,
但是无法在真机上调试; 13. 打开Finder,浏览到
项目所在位置,将Cocos2d Libs-Prefix.pch文件从Finder 中拖拽至Supporting Files文件夹下,
此时需要勾选Destination中的Copy items  into destination group's folder(if needed),并在Add to targets中选中Cocos2d  Libs作为目标。
如下图所示:  
 
说明:引入pch文件之后,就可以将刚刚b Xcode生成
的Cocos2d Libs彻底删除了
14. 在项目属性的Targets下方选中Cocos2d  Libs,
在搜索框中输入prefix,然后将 Prefix Header修改为HelloCocos2D/ Cocos2d Libs-Prefix.pch,如下图所示:
15. 在项目属性的Targets下方选中Cocos2d Libs,
在搜索框中输入ios deployment,然后将iOS Deployment Target由iOS 6.1改为iOS 4.3,如下图所示:
说明:如果不修改此设置,当选择在iOS5.0模 拟器--
--上运行时,会报:lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic的错误。
 
16. 选择菜单命令Edit-Refactor-Convert  to Objective-C ARC…,在弹出的窗口中选 中HelloCocos2D.app(HelloCocos2D),然后 单击Check按钮,如下图所示: \
17. 后续再出现的对话框直接确认即可。
经过上述步骤调整之后的工程结构看起来并没有
发生太大的变化,不过此时我们的工程已经
支持ARC了。运行效果如下图所示:
 

**^

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&