piątek, grudnia 11, 2009

Nowosci

Wg . ComputerWorld: JSON – rywal XML został oficjalnie częścią standardu V edycji języka ECMASCRIPT (prze dużej zasłudze jego wynalazcy Crockforda 2001 założył organizację JSON.org). Dzięki temu ma być wspierany natywnie w językach bazujących na tym standardzie (JS, JScript). Od niedawna IE8 i FF wspierają go natywnie (są do tego wbudowane obiekty zamiast zewnętrznych bibliotek i funkcji eval()), wbudowany też jest parser JSONA-a. To wszystko stało się wbrew głosom niektórych krytyków, którzy ostrzegali przed możliwością ataków poprzez “dziury” implementacyjne protokołu JSON). Popularność JSON-a stała się częścią ruchu REST przeciw SOAP. Główne argumenty przeciw wyłożył John Resig w swym blogu - http://ejohn.org/blog/native-json-support-is-required/. To, że JavaScript jest tak popularny wynika z faktu stosowania go powszechnie w przeglądarkach internetowych jako języka do oprogramowania części klienckiej aplikacji webowych. Dlatego interesują sie nim Google i IBM:

  1. IBM udostępnił środowisko deweloperskie EGL (Enterprise Generation Language) CE – stosowany jako język modelowania aplikacji webowych dla PHP, Ruby on Rails, Groovy, JavaScript i HTML. Strona domowa – tu. Kawiarnia - http://www-949.ibm.com/software/rational/cafe/community/egl. Tutoriale - http://www-949.ibm.com/software/rational/cafe/docs/DOC-1021
  2. Google też coś przygotował – kompilator. Projekt jest tu- http://code.google.com/intl/pl/closure/. Najciekawsze jest to, że ten kompilator jest również i dla Java. Jest też biblioteka narzędziowa zawierająca skompilowane obiekty DOM.
  3. Firma Aptana też daje dobre środowisko RAD

Z innej beczki – sławny TAO programowania - http://www.canonical.org/~kragen/tao-of-programming.html

Materiały z PDC:

  1. IE 9- Standards and Interoperability
  2. IE 9- First look at the new JS Engine
  3. Data Programming and Modeling for the Microsoft .NET Developer
  4. Microsoft Silverlight 4 Overview
  5. Microsoft Perspectives on the Future of Programming

Blog Scotta G - http://devmavens.com/ScottGuthrie

MS CDN ma wsparcie dla SSL - http://weblogs.asp.net/scottgu/archive/2009/11/29/microsoft-ajax-cdn-now-with-ssl-support.aspx

Kotwica na temat WCF - https://connect.microsoft.com/wcf

czwartek, grudnia 10, 2009

Deweloperka

środa, grudnia 09, 2009

Ciekawostki do sprawdzenia

  1. Jak tworzyć formularz do wypełnienia w MS WORD - http://blogs.techrepublic.com.com/msoffice/?p=784&tag=nl.e056 na bazie autoText (Fill-in) (alt-F3).
  2. Badanie Ja.Net - http://www.janetdev.org/Part1HelloWorldExample/tabid/115/Default.aspx
  3. Google wystawia swoje API - http://code.google.com/intl/pl/apis/documents/overview.html
  4. Artykuły z VS magazine - http://visualstudiomagazine.com/Articles/2009/08/01/Working-Effectively-with-Exceptions.aspx?Page=3
  5. VFPEncryption – zastosowanie poszerzające możliwości CAPICOM
  6. Nauka Flex - http://articles.sitepoint.com/article/flex-data-visualization-part-1
  7. Do grafiki najlepszy jest http://www.fusioncharts.com/Buy.asp
  8. Hunlock i howtocreate - http://www.hunlock.com/blogs/Mastering_JSON_%28_JavaScript_Object_Notation_%29
  9. MS REST Starter Kit - http://www.linkedin.com/news?actionBar=&aIdx=0&articleID=73382736&aogid=73382736&gid=122749&gid=122749&srchType=nws&srchCat=WOTC oraz inne javascriptowe rzeczy - http://www.wisecodes.com/category/javascript/
  10. Kramek jak załadować na czysto okno GRID - http://weblogs.foxite.com/andykramek/archive/2005/03/19/174.aspx
  11. PHP – walidacje - http://www.devshed.com/c/a/AJAX/PHP-AJAX-Form-Validation/2/
  12. JS – formularz wysyłany AJAX-em - http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=383
  13. Java podpisywanie - http://www.mobilefish.com/developer/bouncycastle/bouncycastle.html
  14. Podstawy WCF - http://www.msdev.com/Directory/Description.aspx?eventId=89

Nauka MS

  1. Lekcje praktyczne - http://visualstudiomagazine.com/articles/list/c.aspx
  2. Lekcje dla użytkowników MS Office - http://office.microsoft.com/en-us/training/FX100565001033.aspx?ION_CL=5970
  3. Nauka LINQ - http://www.hookedonlinq.com/LINQtoObjects5MinuteOverview.ashx
  4. Nauka .NET - http://www.beansoftware.com/Tutorials-Articles-Guides/Default.aspx#WebDomains
  5. Korzystanie z LINQ - http://www.eggheadcafe.com/tutorials/aspnet/19a71927-439b-46d3-a8b4-7147933643f0/linq-to-xml-and-why-you-n.aspx
  6. Nauka tworzenia PDF w C# z wykorzystaniem biblioteki iText - http://itextsharp.sourceforge.net/tutorial/ch01.html
  7. Opis kontorlki ‘webbrowser’ w .NET - http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx
  8. Rozbiegówka do Visual Studio - http://www.microsoft.com/visualstudio/en-us/technicalresources/default.mspx
  9. SUBSONIC - Kolejny pożyteczny framework do LINQ - http://subsonicproject.com/
  10. Przewodnik po .NET z InformIT - http://www.informit.com/guides/guide.aspx?g=dotnet&ns=16179
  11. FAQ  z Forms - http://www.syncfusion.com/faq/windowsforms/default.aspx – super lektura
  12. Edycja danych w tablicy - http://msdn.microsoft.com/en-us/vcsharp/dd239273.aspx
  13. Inne - http://msdn.microsoft.com/en-us/vbasic/bb735955.aspx
  14. How do I in C# - http://msdn.microsoft.com/pl-pl/library/ms186211%28en-us%29.aspx
  15. GridView - http://msdn.microsoft.com/en-us/magazine/cc163933.aspx
  16. MSDN – czasopismo  - http://msdn.microsoft.com/en-us/magazine/cc163933.aspx
  17. Szkolenie w WCF - http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=11#WCFContracts z portalu
  18. Tworzenie diagramów UC w UML - http://www.developer.com/design/article.php/2109801/Creating-Use-Case-Diagrams.htm
  19. Podstawy C - http://www.java2s.com/Code/C/CatalogC.htm
  20. Podstawy C# - http://www.java2s.com/Code/CSharp/CatalogCSharp.htm
  21. Java w C# – Ja.Net - http://www.janetdev.org/Part1HelloWorldExample/tabid/115/Default.aspx
  22. Konkretne How do I - http://msdn.microsoft.com/pl-pl/library/bb820885%28en-us%29.aspx

Monitorowanie wydajności aplikacji webowych

Ten problem znany jest od dawna, jednym z rozwiązań jest wtyczka FireBug do FF i częściowo do IE. Ale ostatnio pokazała się aplikacja monitorująca ruch i obciążenie aplikacji internetowych w środowisku IE8. Jest to dynaTrace - http://ajax.dynatrace.com/confirmmail?userId=marekw%40coig.katowice.pl&code=b57c1ff2-b729-4764-b894-69dbb805f1db. Naprawdę potrafi dużo.

WCF

O tym, że WCF jest skomplikowane wiadomo od dawna, trochę światła na to rzuca MSDN - http://msdn.microsoft.com/en-us/magazine/ee532094.aspx?sdmr=wcf&sdmi=topics. I za to trzeba mu podziękować.

Kryptografia – BOTAN

Dobre procedury kryptograficzne zawsze są w cenie. Ostatnio pojawiła się darmowa biblioteka BOTAN w c++jest naprawdę dobra i przenaszalna na różne platformy. Adres – www.botan.randombit.net

Upadek relacyjnych baz danych

Bazy relacyjne podobnie do imperium rzymskiego chylą się ku upadkowi. Zaczyna się ruch NOSQL w postaci otwartych projektów: mongodb, cassandra, CouchDB.  Do tego przyczynia się:

  1. pojawienie aplikacji w chmurze – gdzie bazy relacyjne są zbyt cieżkie (obciążają serwery centralne)
  2. pojawienie się nowych graczy na rynku aplikacji jak Google czy Amazon i promocja nowych modeli danych jak MapReduce, Hadoop lub CouchDB  (w chmurze i bez) do przetwarzania bardzo dużej ilości różnorodnych danych
  3. potrzeba dostępu hierarchicznego do danych (XQuery i XML) jak to było kiedyś z IMS oraz modelem CODASYL w Cobolu
  4. rola składnicy danych przenosi się z wyodrębnionych motorów bazy danych do aplikacji CMS (one mają dostęp do bazy wbudowany jak Django, RoR) dla nich baza to jedynie back-end
  5. potrzeba zapewnienia wersjonowania danych
  6. wzrost świadomości modelowania danych (język modelowania nie musi opierać się na relacji)
  7. odzwierciedlenie skomplikowanego świata (gdzie dane nie mają strucktury a są chaotyczne) w sztywnym relacyjnym modelu jest skomplikowane, dlatego przemyca sie dane w dokumencie lub xml (steganografia)
  8. Zmiana w architekturze komputerowej i przejście z modelu von Neuman na harwardzki

Nowinki

  1. Comodo nadal daje bezpłatne narzędzia antywirusowe i anty spamowe - http://www.comodo.com/home/internet-security/free-internet-security.php
  2. Procesory graficzne coraz wyraźniej stają się ważne w komputerach - “Will the GPU become the new CPU”. Do niedawna jeszcze wydawało się, że rynek tanich kart graficznych spowoduje osłabienie ich znaczenia w ogólnej szybkości przetwarzania danych (dodatek do wspierania wymagających gier). Ale tak nie jest z uwagi na wzrost znaczenia szybkiego przetwarzania grafiki w systemach Vista i Windows 7 (juz nie tylko w grach), pojawiające się sygnały o łamaniu kodów i innych zabezpieczeń przy pomocy super wydajnych procesorów graficznych.  Gry (oczywiście, patrz inicjatywa Nvidii – CUDA jako oprogramowanie do realnego wykorzystania niesamowitej mocy zmiennoprzecinkowej kart graficznych) jak i nowe systemy operacyjne (Windows 7) a także przeglądarki internetowe (FF i IE 9 mają wykorzystywać akceleratory Direct 2D i DirectX). Inny trend to wyczerpanie możliwości zwiększenia szybkości komputerów wyłącznie przy pomocy a) zwiększenia częstotliwości zegara CPU b) zwiększenia ilości rdzeni. Te dwa sposoby są mało efektywne jeżeli wykorzystuje się je na wysokim poziomie (np. poprzez system operacyjny). Dlatego dopatruje się nadziei w sprzęgnięciu CPU i GPU tak aby na poziomie mikrokodu pracowały współbieżnie (dostrzegł to Intel w projekcie Larrabee gdzie na jednym chipie będzie GPU+CPU. Wydaje się,że czasy gdy karta graficzne była miernikiem do szybkiego grania są za nami.
  3. MS uczy się szybko, w artykule “Five security lessons learned form Office 2010” opisano sposoby na wzrost bezpieczeństwa najpopularniejszej aplikacji biurowej MS Office 2010, np. wprowadzono własne biblioteki graficzne do JPEG (w Windows Imagining Component poprzez wtyczki - kodeki), jeżeli dokument zawiera niebezpieczne makro to można go otworzyć ale z zablokowanym makrem itd.