Tìm kiếm Blog này

Thứ Hai, 23 tháng 8, 2010

To disable auto login network share folders

XP has the same sharing/permissions options as vista but they are disabled by default.

Open up a folder and browse to ToolsFolder Options and click the View tab, scroll down until
you find Use Simple File Sharing -> it’s at the bottom, and remove the tick. Hit apply and right click a folder.
Your options should now be visible.
  • 1- Right click on the shared folder and select properties.
  • 2-From sharing tab select permissions.
  • 3-Remove everyone
  • 4-Add your user name and select permission type "read only" or "full control".


Now only your username have permissions to access this folder.

Hope that’s what you were after

Chủ Nhật, 22 tháng 8, 2010

NHibernate Fetching Strategies

NHibernate has various fetching strategies that you can tinker with to improve the performance when fetching object graphs from the database. I wouldn't go nuts with a lot of pre-mature optimization, but at the same time it is important to know what NHibernate is doing behind the scenes when you are selecting domain entities from the database.
 
Based on NHibernate 1.2 documentation there are 4 fetching strategies:
  • Join fetching - NHibernate retrieves the associated instance or collection in the same SELECT, using an OUTER JOIN.
  • Select fetching - a second SELECT is used to retrieve the associated entity or collection. Unless you explicitly disable lazy fetching by specifying lazy="false", this second select will only be executed when you actually access the association.
  • Subselect fetching - a second SELECT is used to retrieve the associated collections for all entities retrieved in a previous query or fetch. Unless you explicitly disable lazy fetching by specifying lazy="false", this second select will only be executed when you actually access the association.
  • Batch fetching - an optimization strategy for select fetching - NHibernate retrieves a batch of entity instances or collections in a single SELECT, by specifying a list of primary keys or foreign keys.

Fluent NHibernate Configuration

Let's put together a quick example of using NHibernate and using Fluent NHibernate for configuration. This is a trivail example of fetching a category and the products associated with it. Using Fluent NHibernate we can configure the mapping of the Category and Product Business Objects to the database tables as such:

public class CategoryMap : ClassMap<Category>
{
    public CategoryMap()
    {
        WithTable("Category");

        Id(x => x.Id);
        Map(x => x.Name).WithLengthOf(50).CanNotBeNull();
        HasMany<Product>(x => x.Products)
            .IsInverse()
            .WithKeyColumn("CategoryId")
            .AsBag();
    }
}

public class ProductMap : ClassMap<Product>
{
    public ProductMap()
    {
        WithTable("Product");

        Id(x => x.Id);
        Map(x => x.Name).WithLengthOf(50).CanNotBeNull();
        References(x => x.Category, "CategoryId");
    }
}

We are not lazy loading the collection of Products when we load the Category by choice and may want to look at using an appropriate FetchMode to improve the performance of loading the various products when we load a Category.

Improving NHibenate Performance using an Outer Join FetchMode

By default, when NHibernate fetches a Category it will select the collection of Products in the Category in a separate Select Method. This is two round-trips to the database. We can change the FetchMode to FetchMode.Join to have the Products and Categories pulled down with a single round-trip to the database. The bad thing here is that each product row returned from the database will include the Id and Name Columns from the Category Table. This is redundant. However, since this is only two small fields, the good thing is that we have avoided two round-trips to the database which in this case is a better performing situation. This may not be better performing in all situations, but the beauty is that NHibernate allows us to decide for ourselves and configure the FetchMode accordingly:

using (ISession session = configuration.BuildSessionFactory().OpenSession())
{
    ICriteria criteria = session.CreateCriteria(typeof(Category));
    criteria.SetFetchMode("Products", FetchMode.Join);
    var categories = criteria.List<Category>();
}

Above we have overriden the Fetching Strategy to a FetchMode.Join which means the Category and its Products will be pulled down in a single database round-trip.

Conclusion

If you are looking to improve the performance of NHibernate, you may want to investigate the Fetching Strategies which affect the way NHibernate fetches your domain entities and the number of round-trips to the database.

Thứ Bảy, 21 tháng 8, 2010

Không cài được WMP 11

(WinXP sp2,sp3)

Đầu tiên các bác vào Start ,Run,gõ Regedit rùi tìm đến khóa


HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Cu rrent Version\WPAEvents

Ở ô bên phải nhân chuột phải vào OOBETimer rùi click vào Modify.Tiếp đến hãy thay đổi một khóa bất kì(ví dụ 71 thành 72 chẳng hạn).Sau đó hãy đóng nó lại và tiếp tục vào Start , Run , và đánh

%systemroot%\system32\oobe\msoobe.exe /a

Nó sẽ đưa các bác đến cửa sổ Active windows.Đừng lo hãy chọn

I want to telephone a customer service representative to activate Windows

Tiếp đến nhấn Next ,nhấn Change Product key

Các bác hãy nhập cho em cái key này nha(đây là key xịn của bác Bill đó)

DHXQ2-WRGCD-WGYJY-HHYDH-KKX9B

Đánh xong hãy nhấn Update.Nó sẽ lại đưa chúng ta về cửa sổ Active,đừng quan tâm,hãy đóng nó lại bằng cách nhấn vào Remind me later

Xong đâu đó rùi thì còn chờ gì nữa,khởi động lại Windows đi thôi.Khởi động lại xong hãy vào Run , đánh tiếp

%systemroot%\system32\oobe\msoobe.exe /a

Cửa sổ Active sẽ lại hiện ra nhưng ko phải là bắt chúng ta Active mà là báo cho ta biết Windows is activated

Thứ Bảy, 14 tháng 8, 2010

Huyền bí nhân duyên nhưng đừng mê tín

Chúng ta có thể xem xét định mệnh bằng con mắt cẩn trọng, có thể dò tìm nhân duyên bằng trái tim thao thức, nhưng không có nghĩa là mê tín. Mê tín là cách nhìn mù quáng mà ngay cả các tôn giáo cũng từ chối mê tín. Mê tín là gì? Nó ngược nghĩa với xác tín.

Người xác tín là người phải dựa trên những cơ sở để mà tin. Còn người mê tín tất là tin mê muội, nhắm mắt mà tin bừa, hay người ta có thể nói là: Ngủ mơ giữa ban ngày.

Có những đôi mê tín đến độ: đang yêu nhau say đắm, đang yên đang lành lại nghe thầy bói bảo anh tuổi mèo, em tuổi chuột, thế là anh vồ chết em. Thế rồi chia tay tan nát, nước mắt ròng ròng, than thân trách phận, hận ông Trời, lại còn kéo nhau lên thành cầu rủ nhau nhảy xuống thà chết đuối chứ không chịu để cho mèo vồ chuột. Đó là nói vắn tắt cho dễ hiểu.

Chứ còn trong hiện thực, thì xảy ra muôn hình vạn trạng, có khi đang yêu nhau, cha mẹ hỏi "cháu tuổi gì", rồi đi "bấm tuổi" kim khắc mộc, thế rồi về báo cho con cháu lo đường mà chuồn, kẻo có ngày cái cưa thò xuống chân giường đôi uyên ương cưa một nhát, thế là sập tan tành... thế mà đôi bạn trẻ cũng tin, rồi lo chia đàn xẻ nghé... thế có phải là mê tín không?

Người ta đếm có không ít ngày tổng thống cũng xem tử vi, tiếng Tây gọi là horoscope trước khi ra quyết sách, hoặc ngay cả hai nhà bác học vĩ đại. Niu-tơn và Anh-xtanh cũng tin vào tôn giáo, nhưng đó là những đức tin chứ không phải là mê tín. Vậy thì khi người ta muốn tìm hiểu duyên phận của mình cũng vậy hãy sáng suốt để tin cái gì đáng tin, chứ đừng mê muội đến mức có vài câu "mèo vồ chuột" hay "thuỷ khắc hỏa" là nhảy cầu hay chia đàn xẻ nghé.

Trong đạo Phật, người ta gọi mọi việc ở đời đều cần phải có duyên. Như đức Phật dạy, nếu ta mở cửa nhìn thấy cái cây ở ngoài sân, tức là: phải có cái cây, phải có mắt ta, nhưng cửa phải mở thì ta mới thấy, nhưng cửa mở mà bên ngoài tối đen cũng không thấy nên cần phải có ánh sáng, rồi còn phải có cơ hội, có nhân duyên để đến ngồi trong căn phòng đó, để nhìn ra cái cây đó. Hội đủ thứ đó lại trong một không gian trong một thời gian, ta có thể gọi là: Duyên.

Người Trung Quốc nói: "Nhất ẩm, nhất trác giai do tiền định", nghĩa là một bữa cơm, một lần cãi cọ đã được định trước do tiền định. Theo những lý thuyết khoa học lớn nhất, phổ biến nhất, các nhà bác học cho rằng: Mọi việc ở đời xảy ra đều có tương tác lẫn nhau và được lập trình từ trong hệ thống, còn cái ngẫu nhiên xảy ra chỉ có tỉ lệ một phần tỉ.

Vậy thì một đôi đang yêu nhau say đắm, tức là họ đã từng gặp nhau, từng quyến luyến, từng hẹn hò, rồi yêu nhau, cả một chuỗi sự kiện như vậy chẳng phải là duyên phận đó sao? Không có cái duyên với nhau, làm sao anh chàng có thể có cơ hội để đôi môi mình hút vào môi cô nàng?

Và toàn bộ nhân duyên đó chẳng lớn hơn cái duyên bấm ngón tay tí - sửu - dần - mão của ông thầy bói sao? Người Trung Quốc là bậc thầy bề khoa duyên số đã từng nói: "Có duyên một kiếp ngồi chung thuyền, có duyên trăm kiếp chung chăn gối". Vậy khi đôi trai gái đã hẹn hò yêu đương đang chẳng có duyên từ nhiều kiếp hay sao, tại sao lại dễ dàng nghe vài từ "mèo vồ chuột" để mất duyên của mình đi?

Bây giờ đi sâu vào nghề bói toán, chúng ta sẽ bàn, ai trong nghề thì đều hiểu sâu xa rằng: "Dao sắc không gọt được chuôi" nghề thầy bói nào chẳng thấy:Tử vi xem bói cho người/Số thầy thì để cho ruồi nó bâu

Nào, thầy bói là người biết xem tí - sửu - dần - mão chứ gì? Sao thầy không xem cho mình được phát tài, lấy vợ đẹp, đẻ con khôn? Mà số thầy nghèo đến mức tay bị tay áo đi xin từng nắm xôi? Ở Trung Quốc ai xem tử vi giỏi như Khổng Minh, vậy mà ông đã chọn lấy cho mình một cô vợ xấu "vượng phu - ích tử" thế mà các con của ông có tránh được thảm họa đâu.

Còn về số phận thì chúng ta hãy xem các nhà bác học: "Hổ ăn thịt hươu. Nhưng ở cánh rừng nào đàn hươu giảm sút thì số lượng hổ cũng giảm theo, vì chúng không có thức ăn để ăn. Nghĩa là tuy hổ ăn thịt hươu nhưng nó cũng săn bắt cách nào đó để tạo sự cân bằng, đàn hươu còn thì hổ mới còn. Trong cuộc sống thì sao? Mèo vồ chuột, nhưng tại sao cả triệu năm rồi chuột vẫn còn trên trái đất? Đâu có phải cứ có mèo thì chuột phải chết. Mèo nhìn chuột thì thèm nhưng làm sao vồ được! Và thế không có chuột thì gia chủ chắc gì đã nuôi mèo?

Còn Kim khắc Mộc ư? Đó là thầy bói i tờ vì phi kim bất thành mộc. Không có kim khí để cưa, đẵn và đục thì gỗ không thể thành tủ, thành bàn được. Cũng vậy, thủy khắc hỏa, nhưng không có lửa đun nước, nước không thể luộc chín đồ ăn... Vợ chồng cũng vậy, những đôi tương khắc - tương sinh thì mới thành đạt nhiều. Chẳng hạn, anh chồng kia mải vui đi hát "karaoke hoài", vợ dằn vặt cho phải bỏ hát mới lo học hành, đến ngày công thành danh toại là có công của vợ; trái lại nếu cô vợ không "khắc" chồng muốn làm gì thì làm, thì sau nhiều năm anh chồng cũng chỉ là thứ ca sĩ trong quán karaoke rộng chừng mười mét vuông mà thôi.

Vậy còn những người yêu nhau mà không hợp số phải tan đàn xẻ nghé thì sao? Chính Hoàng đế Na-pô-lê-ông đã từng học biết rằng: Người ta phải sống tận cùng số phận của mình. Người Trung Quốc bảo đó là: Duyên nợ. Tức là nếu bạn không chịu trả nợ cho mối tình đó, bạn sẽ chẳng bao giờ được lật trang cho một tình yêu mới, vì trang cũ còn chưa lật qua, bao giờ mới đến trang mới.

Khi nghe tiếng đạn nổ, một người lính chúi đầu sợ hãi, Na-pô-lê-ông đi qua và bảo: "Này anh bạn nếu có viên đạn nào đó giành cho bạn, thì bạn có chúi đầu xuống nó vẫn tìm đến bạn". Vậy thì bạn hãy tung tăng mà yêu đừng quá lo nghĩ gì về duyên phận, vì nếu có một duyên phận ngang trái giành cho bạn thì dù có tránh nó vẫn vồ lấy bạn, như người Việt bảo: "Cái duyên cái số nó vồ lấy nhau". Nếu nó là duyên đẹp thì bạn sẽ được tận hưởng cuộc sống, còn là duyên nợ thì đó chính là cách bạn trả nợ để đầu tư cho một mối tình khác đẹp hơn. Trên thế giới ngày nay đang có ngót hàng tỉ người "trả nợ" để đóng góp cổ phần cho hạnh phúc mới của mình hay sao?

Vậy khi tình yêu đang đẹp bạn đừng có mê tín dại dột mà nhảy cầu. Hãy nhớ, nếu bạn biết cách tin vào số mệnh thì dù làm thế này hay thế kia cũng chẳng tránh được số mệnh đâu. Vậy thì có dốt nát không khi ta định nhảy cầu để tìm cho mình một số phận khác?