SuperKids - KHTN
SuperKids - KHTN
Thứ Tư, 4 tháng 5, 2011
Google làm việc như thế nào?
Thứ Ba, 3 tháng 5, 2011
So sánh .Net Remoting và Webservice
So sánh .Net Remoting và Webservice
Contact me
Ky thuật xây dựng& phát triển UDPT
Hiện nay có nhiều kỹ thuật phát triển ứng dụng phân tán trên các môi trường khác nhau
- ASP.NET Web Service hay .NET Remoting
- Distributed ComponentObject Model (DCOM) của Microsoft
- Common Object Request BrokerArchitecture (CORBA) của Object Management Group
- Remote MethodInvocation (RMI) của Sun.
Mỗi kỹ thuật có điểm mạnh và điểm yếu riêng, chủ yếu phù hợp với nhu cầu và môi trường phát triển
Giới thiệu .NET Remoting
.NET Remoting là một kỹ thuật .net được giới thiệu từ .NET Framework 1.1, giải pháp cho xử lý tính toán từ xa
Đây là một công nghệ cho phép các "miền ứng dụng" (application domain) khác nhau có thể giao tiếp với nhau .
Trong đó, miền ứng dụng được định nghĩa là cơ chế dùng để cô lập các ứng dụng phần mềm được thực thi sao cho chúng không làm ảnh hưởng hoạt động lẫn nhau
Một cách đơn giản, .NET Remoting là kĩ thuật cho phép đối tượng này được truy xuất đến 1 đối tượng khác ở xa , là một giải pháp xử lý tính toán từ xa, có thể xảy ra trong cùng 1 tiến trình, giữa các tiến trình cùng 1 máy hoặc khác máy.
Mỗi miền ứng dụng có một không gian địa chỉ ảo riêng
Giới thiệu ASP.NET Webservice
Dịch vụ Web (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer). Giá trị cơ bản của dịch vụ Web dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa.
Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong một máy tính. Tuy nhiên, công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI…
=>Với sự phát triển và lớn mạnh của Internet, dịch vụ Web thật sự là một công nghệ đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát triển hệ thống.
Tầng giao thức trong dịch vụ WEB
So sanh .NET Remoting va Webservice
Giong Nhau
Về khía cạnh xử lý từ xa thì web services hoàn toàn tương tự như .net remoting. Bằng cách host trong iis thì .net remoting có thể trở thành web services.
Khac Nhau
Webservice | .Net Remoting |
---|---|
Chỉ có thể truy xuất qua http | Có thể dùng trên nhiều giao thức khác nhau nhưu http, tcp, ipc channel |
Cho phép các ứng dụng giao tiếp với nhau không phụ thuộc vào ngôn ngữ lập trình | Đòi hỏi ứng dụng phía client phải là .net application |
Môi trường stateless, không lưu lại bất kì trạng thái nào của lần gọi trước, không biết gì về phía client đang thực hiện request. Mỗi lần có request thì một đối tượng mới được tạo ra để request từ client lên server. | Hỗ trợ nhiều lựa chọn state management, object có thể thực hiện được nhiều request từ một client, hỗ trợ callbacks. |
send message thông qua giao thức SOAP(Simple Object Access Protocol) xây dựng trên nền tảng XML: phân tích các đối tượng thành XML bên trong SOAP message | Truyền thông tin tuỳ theo giao thức và định dạng |
Cách thức sắp xếp thứ tự dữ liệu và kiểu định dạng cho metadata:ASP.net webservices, xmlserializer và xsd:phân tích đối tượng dữ liệu thành xml, đưa vào trong SOAP hoặc là lấy ra trong thời gian chạy. Sử dụng WSDL và XSD giúp metadata linh động. | Cách thức sắp xếp thứ tự dữ liệu và kiểu định dạng cho metadata: .NET remoting, Formatter, Common language runtime(bộ thực thi ngôn ngữ chung): phân tích theo kiểu format sẵn: kiểu nhị phân hoặc soap |
Contact me
So sánh ASP.NET và PHP
So sánh ASP.NET và PHP
Contact me
Ngon ngu lap trinh web
Trong thời điểm internet rầm rộ như hiện nay, tương tác thông qua internet phát triển rầm rộ như hiện nay, hàng loạt các ngôn ngữ và các giao thức giao tiếp, thiết kế trang web cũng ra đời để phục vụ cho những mục đích nhất định. Có thể nhắc đến nhiều ngôn ngữ đã phổ biến như
HTML, HTML5, DHTML, XML, Javascript, Perl, PHP, ColdFuson, ASP, ASP.Net…
Mỗi loại có ưu và nhược điểm riêng.
Xét về tính đơn giản, gọn nhẹ thì HTML vẫn là lựa chọn đầu tiên. Tuy nhiên, nếu trang web của bạn yêu cầu khả năng tương tác cao hơn; liên kết và cập nhật dữ liệu động; thể hiện thông tin, đồ họa phức tạp, thì Javascript hay PHP là lựa chọn thời thượng. Ngoài ra phải kể đến ASP.Net với phong cách lập trình giống hoàn toàn với C# nhưng cũng cho một ứng dụng web tuyệt vời.
Giới thiệu ASP.NET
ASP.NET là Active Server Pages .NET (.NET framework).
Nói đơn giản, ngắn và gọn thì ASP.NET là một công nghệ có tính cách mạng dùng để phát triển các ứng dụng về mạng hiện nay cũng như trong tương lai (ASP.NET is a revolutionary technology for developing web applications).
ASP.NET là một phương pháp tổ chức hay khung tổ chức (framework) để thiết lập các ứng dụng hết sức hùng mạnh cho mạng dựa trên CLR (Common Language Runtime) chứ không phải là một ngôn ngữ lập trình.
ASP.NET không phải là ASP. Một số KHÁC BIỆT GIỮA ASP.NET VÀ ASP.
ASP.NET được phác thảo (re-design) lại từ số không, nó được thay đổi tận gốc rễ và phát triển (develop) phù hợp với yêu cầu hiện nay cũng như vạch một hướng đi vững chắc cho tương lai .Microsoft nghĩ rằng tốt nhất là làm lại một kiểu mẫu hoàn toàn mới thay vì vá víu chổ này chổ nọ vào ASP. Ðó là chưa kể đến nhiều phát minh mới ra đời sau này dựa trên các khái niệm mới mẽ theo xu hướng phát triển hiện nay của công nghệ Tin Học (Information Technology) cần được đưa vào kiểu mẫu phát triển mới đó.
* Tập tin của ASP.NET (ASP.NET file) có extension là .ASPX, còn tập tin của ASP là .ASP.
* Tập tin của ASP.NET (ASP.NET file) được phân tích ngữ pháp (parsed) bởi XSPISAPI.DLL, còn tập tin của ASP được phân tích bởi ASP.DLL.
* ASP.NET là kiểu mẫu lập trình phát động bằng sự kiện (event driven), còn các trang ASP được thi hành theo thứ tự tuần tự từ trên xuống dưới.
* ASP.NET xử dụng trình biên dịch (compiled code) nên rất nhanh, còn ASP dùng trình thông dịch (interpreted code) do đó hiệu suất và tốc độ phát triển cũng thua sút hẳn.
Hiện nay, ASP.NET yểm trợ tất cả các browser và quan trọng hơn nữa là yểm trợ các thiết bị lưu động (mobile devices). Chính các thiết bị lưu động, mà mỗi ngày càng phổ biến, đã khiến việc dùng ASP tron g việc phát triển mạng nhằm vươn tới thị trường mới đó trở nên vô cùng khó khăn.
Giới thiệu PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. PHP là một ngôn ngữ lập trình kiểu script , chạy trên Server và trả về mã HTML cho trình duyệt.
PHP rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Thẻ <'?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc, công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp.
So sanh Asp.NET va PHP
Ky Thuat
Theo đánh giá chung, các giải pháp của Microsoft rất tốt ở cấp Enterprise (cái này thì chỉ có J2EE sánh được). Xin đừng nhầm lẫn giữa khái niệm Enterprise với website có nhiều người truy cập, ở đây nói về độ phức tạp của các dịch vụ, độ tin cậy, tính khả chuyển… những tiêu chuẩn mà chỉ khi thiết kế các ứng dụng phục vụ cho các tập đoàn lớn thì chúng ta mới đụng tới. Tuy nhiên đi kèm với nó cũng là sự phức tạp và tốn kém tài nguyên.
PHP rất thích hợp hơn cho những nhóm phát triển nhỏ, cho cách phát triển kiểu agile, nghĩa là có thời gian phát triển và đưa vào sử dụng nhanh. Nhưng điều này không có nghĩa là PHP dành cho những website có ít người sử dụng, rất nhiều website có hàng triệu người sử dụng hàng ngày làm trên PHP.
Thi Phan
Theo thống kê mới nhất, hiện nay PHP chiếm 36.1%, ASP.Net chiếm 54.4%, tuy nhiên tốc độ tăng trưởng của PHP nhanh hơn đáng kể so với ASP.Net (các giải pháp web trên Java đang bị sụt giảm thị phần). Các bạn có thể xem ở bài viết này:
http://www.businessweek.com/technolo...213_042973.htm
Điều này phản ánh xu thế chuyển sang các nền tảng mã nguồn mở với hai mục đích:
+ Giảm giá thành phát triển.
+ Không phụ thuộc vào các "tay chơi" lớn như Microsoft hay Sun.
Ngon Ngu Lap Trinh- Nhan Luc Phat Trien
ASP.Net, nói chính xác hơn là C# hay VB.Net, là ngôn ngữ lập trình hướng đối tuợng được thiết kế tốt, thừa hưởng rất nhiều thế mạnh của Java. ASP.Net cũng có bộ công cụ phát triển hạng nhất: Visual Studio.Net. Nhưng giá phải trả là tài nguyên và thời gian học. Để tạo một trang web đơn giản bằng ASP.Net khá dễ, nhưng để hiều sâu sắc cho những vần đề phức tạp hơn lại là cả một quá trình
PHP là một ngôn ngữ được sinh ra với mục đích duy nhất là để dùng lập trình Web: giản dị và dễ hiểu. Mãi đến PHP 5, lập trình hướng đối tượng mới được đưa vào tương đối đầy đủ. Công cụ phát triển (IDE) cho PHP không có cái nào sánh được VS nhưng hiện nay nếu dùng Eclipse plug-in cũng có thể nói đạt 8/10 (theo sở thích riêng thì tôi ưa dùng Eclipse hơn VS).
Một vấn đề nữa là PHP thường nhúng mã logic chương trình vào trang web (embedded scripts) còn ASP.Net tách rời phần hiển thị và logic rất rõ ràng (chúng ta nói tới kiến trúc MVC: Modal –View - Controller). Thực tế, bạn hoàn toàn có thể thực hiện được MVC trong PHP (nhất là PHP 5) nếu thiết kế đúng bài bản hay dùng các framework như Smarty, PHPCake…
Vấn đề nhân lực, vì các LTV ASP.Net thích hợp cho các nhóm phát triển lớn nên khó tìm ra nhân lực cho các dự án nhỏ (đấy là trên thế giới, ở VN thì có thể là ngược lại!!!).
Chi Phi
Rõ ràng là phát triển bằng ASP.Net tốn kém hơn nhiều so với PHP. Bạn phải trả cho SQL Server, Windows Server, Visual Studio, MSDN và hỗ trợ kỹ thuật cao hơn nhiều so với LAMP là của cộng đồng mã nguồn mở. Dù rằng ở VN chúng ta thường dùng phần mềm "chùa" nhưng nếu tạo một ứng dụng thương mại nghiêm túc thì chi phí bản quyền trả cho M$ là rất lớn.
Ngược lai, chi phí sở hữu tổng cộng (Total ownership cost) của LAMP lại có thể cao hơn nhất là khi bạn quản trị nhiều server Linux lớn do thiếu các chuyên gia giỏi về Linux. Đây là vấn đề gây tranh cãi, trong khi Microsoft khẳng định chi phí cho Windows rẻ hơn thì một số nghiên cứu lại cho kết quả ngược lại, ví dụ bản báo cáo này
http://www-1.ibm.com/linux/RFG-LinuxTCO-vFINAL-Jul2002.pdf !
Toc Do
Có khá nhiều tranh cãi về tốc độ của LAMP hay của ASP.Net + SQL Server cao hơn. Cái này còn tùy vào cấu hình, đặc thù của ứng dụng. Nhìn chung về mặt web server, Linux "có tiếng" hơn Windows Server về tốc độ (Google, Yahoo đều dùng Linux server cho các dịch vụ của mình và tôi không dám phàn nàn gì về tốc độ cả!). Theo một số người, PHP script nhanh hơn ASP.Net script (như C#, VB.Net) trong các tác vụ thông thường và tốn ít bộ nhớ hơn, tuy nhiên điều này cũng còn nhiều tranh cãi!.
Về database server, MySQL có tốc độ rất tốt (đặc biệt là kiểu MyISAM) nhưng thiếu một số tính năng cao cấp như stored procedure, trigger (phiên bản MySQL 5 có hỗ trợ các tính năng này nhưng còn yếu và có bug). Bài viết này sẽ giúp bạn có so sánh nhiều mặt hơn giữa MySQL và SQL Server: "MySQL or SQL Server: Look beyond politics and hype when deciding which to use". Tất nhiên, PHP cũng có thể dùng với nhiều database khác, còn ASP.Net dùng với Oracle thì không có gì phải bàn về tốc độ cả.
Ý kiến riêng của tôi là bạn không cần phải băn khoăn gì về tốc độ của PHP + MySQL cho bất kỳ website nào dù lớn hay nhỏ. Vấn đề chi là thiết kế ứng dụng hiệu quả và tìm được dịch vụ hosting tốt. Điều này cũng đúng cả với ASP.Net.
Cong Dong Phat Trien
Nói chung bạn có thể nhận đựơc nhiều mã nguồn và sự giúp đỡ từ cộng đồng mã nguồn mở như PHP miễn là bạn có kỹ năng tìm kiếm tốt
Ngược lại MSDN đựơc đầu tư công phu và rất hữu ích giúp cho việc tìm kiếm nhanh chóng hơn. Với một số trang web như codeproject.com cũng có những code ASP.net có giá trị. Bên cạnh đó, platform DNN(DotNetNuke) là một điều tuyệt vời cho ASP.NET.
Bao mat va Virus
Khỏi cần phải nói, Linux luôn có tiếng tốt về bảo mật và cũng ít bị các loại virus nhắm vào. Nhưng để cho trang web của bạn thực sự bảo mật thì lại là vấn đề thiết kế và lập trình, cả PHP và ASP.Net đều có những lỗ hổng có thể khai thác.
Contact me
SUPERKIDS KHTN
SUPERKIDS - KHTN
Tiều sử hình thành
Gồm những thành viên đến từ khoa CNTT của trường đại học khoa học tự nhiên. Cùng chung sở thíc đam mê công nghệ chúng tôi cùng nhau hợp thành nhóm SUPPER KID.
Thành viên ban đầu gồm 5 người :
1. Hà Nguyễn Khánh Luân
Với ý tưởng xây dựng website portal giới thiệu quản lí cho các trường đại học trên toàn quốc dựa trên nền tảng dotnetnuke . Ban đầu tuy gặp nhiều khó khăn về công nghệ nhưng với những nổ lực không ngừng nhóm đã thành công khi triển khai đầu tiên cho trường DHKHTN . Thành công nối tiếp thành công, dự án được triển khai trên hầu hết các trường đại học trên cả nước.
Thanh Lap Cong Ty
Sau những thành công với hệ thống website portal, tên tuối của nhóm được nhiều người biết đến hơn. Được sự mới gọi của nhiều công ty lớn song với mong muốn thành lập công ty cho riêng mình cuối cùng nhóm đã quyết định thành lập công ty . Ban đầu công ty chỉ gồm có 5 người với số vốn ít ỏi. Thời gian đầu anh em làm việc dường như không biết mệt mỏi, không lương suốt mấy tháng liền nhưng ai nấy cũng đều vui. Với sản phẩm hệ thống website thương mại điện tử được tung ra thị trường không ít lâu sau đó, doanh thu cũng như tên tuổi công ty ngày càng lớn mạnh. Năm 2011 công ty đạt doanh thu 50 tỷ một năm
Ý Tưởng Tuong Lai
Với mong muốn đưa công ty ngang tầm quốc tế, chúng tôi không ngừng nỗ lực phấn đấu, học tập. Trong tương lai, công ty tập trung hướng phát triển các công nghệ điện toán đám mây, các hệ thống thông minh…