Pokazywanie postów oznaczonych etykietą C#. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą C#. Pokaż wszystkie posty

piątek, maja 18, 2012

Fenix de Icaza

Okazało się, że żywotność Mono jest wielka, kiedy wydawało się, że to koniec drogi gdy firma Novel (opiekun i właściciel praw do Mono i Mono Touch) została wykupiona przez Attachmate. Jednak twórca Mono założył nową firmę Xamarix i nabył prawa do używania Mono. W wyniku tego mamy nowe wersje, już płatne MonoDeveloper IDE 2.8, MonoTouch Enterprise (dla Apple), Mono for Android oraz wtyczkę do VS pod nazwą Mono for Android Visual Studio plug-in. Nie wiadomo czy idea programowania w C# na telefony z Androidem wypali (java w końcu nie różni się tak bardzo od C#) ale z drugiej strony Mono for Android tworzy aplikacje natywne najbardziej zbliżone do GUI aplikacji w Javie. Żróło - http://www.devproconnections.com/content1/topic/xamarin-monotouch-mono-android-141871/catpath/mobile-development. Zawsze podziwiałem Mono za jego żywotność i wielość różnych bibliotek dostępnych dla programistów w .NET.

Osobiście myślę, że lepiej będzie skupić się na narzędziach do tworzenia aplikacji dostępnych od Google (nawet AppInventor) lub Phone Gap.

czwartek, maja 10, 2012

Zebrane linki z Chrome w domu (wg. mnie ciekawe)

Dla dzieci:

1) http://kopalniawiedzy.pl/
2) http://www.fizykon.org/

Dla dorosłych programistów:

1) Linki do closures w JS - http://www.javascriptkit.com/cgi-bin/search/search.cgi?zoom_query=closure&zoom_per_page=10&zoom_and=1&zoom_sort=0&zoom_cat%5B%5D=1
2) Wyr. reg. - http://www.javascriptkit.com/javatutors/re.shtml np.:
<script language="JavaScript1.2">
    function checkpostal(){
    var re5digit=/^\d{5}$/ //regular expression defining a 5 digit number
    if (document.myform.myinput.value.search(re5digit)==-1) //if match failed
    alert("Please enter a valid 5 digit number inside form")
    }
    </script>

    <form name="myform">
    <input type="text" name="myinput" size=15>
    <input type="button" onClick="checkpostal()" value="check">

    </form>
3) htmlshell - http://htmlshell.com/
4) Kurs jQ z MSDN z serii Aplikacje internetowe - są też i inne:
  http://msdn.microsoft.com/pl-pl/library/jquery--selektory.aspx
  http://msdn.microsoft.com/pl-pl/library/jquery--zdarzenia
  http://msdn.microsoft.com/pl-pl/library/jquery--animacje
5) Dodatek do jQ - Data Tables - http://datatables.net/extras/
6) Addy Osmani o operatorach logicznych w js - http://addyosmani.com/blog/exploring-javascripts-logical-or-operator/
7) Tam też wiele linków do bezpłatnych materiałów np. http://addyosmani.com/toolsforjqueryapparchitecture/
8) O PDF i iText:
    http://www.4guysfromrolla.com/articles/030211-1.aspx
    http://www.4guysfromrolla.com/articles/030911-1.aspx
9) Sign SOAP - http://www.java2s.com/Code/Java/JDK-6/SignSOAPmessage.htm
10) Asymme. Cryptography - http://www.java2s.com/Code/CSharp/File-Stream/Illustratesasymmetriccryptography.htm
11) Wstęp do WCF:
    http://msdn.microsoft.com/en-us/library/ee958158.aspx
    ! http://msdn.microsoft.com/en-us/magazine/dd315413.aspx
    ! http://www.maciejaniserowicz.com/post/2010/03/01/WCF-Auth-starter-zalazek-aplikacji-klient-serwer-z-uwierzytelnianiem-usernamepassword.aspx
Zasoby WCF na eggheadcafe - http://www.eggheadcafe.com/searchform.aspx?search=WCF

Dotnetmaniak - http://dotnetkicks.com/tipsandtricks/C_WebClient_Usage:

Ważne (jeszcze aktualne)linki do Crystal Reports

środa, maja 09, 2012

Zasoby JS i nie tylko z MSDN

MSDN ma czasopismo “MSDN magazine” (poszukiwanego tematu np. “WCF” można poszukać poprzez wybranie opcji “Topics” na górze) oraz portal “Script Junkie”. Oba te miejsca dosyć gruntownie traktują o technologiach JS i .NET.

Ciekawe pakiety z NuGet dla wsparcia WCF (z wykorzystanie OAuth):

Odwieczny temat, pozbycie się niektórych wad JS (mimo książki “JS Good Parts”) – chodzi o podejście do zamykania (closures).  O tym rozpisywało się wiele autorytetów np. Vogel, Papa, Addy Osmani, Crockford, Hanlock, Hudlock. Tym razem mam inne źródła:

Teraz pora na biblioteki dodatkowe do JS, KnockOut i JQ wraz z wtyczkami do nich:

 

    piątek, marca 09, 2012

    Szczegóły kontrolki DataGridView cz.1

    Jest to drugie pokolenie “siatki” danych po DataGrid, może “łyknąć” do 100 tyś. wierszy i jest jeszcze bardziej skomplikowana od swego poprzednika. Idea działania jest taka: pobierz dane lokalnie, zrób z nimi co chcesz a potem spróbuj zapisać je z powrotem na serwer. Korzysta z zasady buforowania optymistycznego – tj. konflikty w danych rozstrzygane są dopiero przy próbie zapisu, dzięki temu nie ma blokady dostępu.

    W sieci jest mnóstwo zasobów na ten temat, takie najbardziej “ludzkie” to:

    1. http://www.dotnetperls.com/sqldataadapter
    2. http://stackoverflow.com/questions/710064/adding-text-to-datagridview-row-header
    3. kapitalna prezentacja - http://windowsclient.net/learn/video.aspx?v=13402

    poniedziałek, lutego 20, 2012

    Ciekawe linki

    Świetny kurs JS - http://jqfundamentals.com/book/index.html, a informacja pochodzi ze strony - http://citizen428.net/blog/2010/08/12/30-free-programming-ebooks/. Praca z PDF-ami. Zapełnienie formularza przygotowanego w PDF-ie poprzez program - http://www.codeproject.com/Articles/23105/Programmatically-Complete-PDF-Form-Fields-using-Vi. Uproszczone wprowadzenie do szyfrowania w .NET - http://www.codeproject.com/Articles/10154/NET-Encryption-Simplified.

    Ciekawy artykuł na temat parsowania formatu PDF - http://www.codeproject.com/Articles/12445/Converting-PDF-to-Text-in-C.  Autor przucił bibliotekę itext na rzecz PDFBox. (piękny link z muzyką - http://pdfbox.org/sugar-hill-gang-apache-jump-on-it/). Aktualny link do ściągnięcia – PDFBOX –> http://sourceforge.net/projects/pdfbox/files/latest/download?source=files. To wszystko działa dzięki IKVM.NET. Inny projekt to scalanie plików PDF - http://www.codeproject.com/Articles/28283/Simple-NET-PDF-Merger.

    Podpis cyfrowy PDF – opis jak to zrobić - http://www.codeproject.com/Articles/14488/E-signing-PDF-documents-with-iTextSharp wraz z kodami źródłowymi oraz podobna biblioteka - http://www.codeproject.com/Articles/29274/Digital-Signatures.

    Super cytat – “He usually works late hours with some heavy music and prefers to test and prove everything to his own satisfaction before committing himself and likes to finish what he starts without interruptions. ” z http://www.codeproject.com/Articles/6623/Porting-Java-Public-Key-Hash-to-C-NET na temat wymiany kluczy między Javą (Unix) a .NET-em.

    Wymienialność kryptograficzna między Javą a .NET-em:

    Informacja o dodatkowej funkcjonalności w C# przy przejściu z wersji 2.0 do 4.0 - http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0

    piątek, lutego 10, 2012

    Nowinki w piątek

    Początek weekend lub jak kto woli koniec tygodnia takie oto przyniósł nowinki:

    czwartek, lutego 09, 2012

    Ciekawostki programistyczne

    Dużo mówi się o nowych językach programowania choćby wspomnieć o Dart (firmowana przez Google odmiana JS), podczas gdy stare są wciąż niedoceniane. Tak jest w przypadku Haskell’a. Jego ciekawe cechy zostały opisane na stronie tutaj gdzie opisano nawet framework do pracy z tym językiem. Jak widać  tu jak i w przypadki innych wschodzących języków (np. Ruby ma RoR) liczy się nie tyle język ile infrastruktura wokół niego jak biblioteki, frameworki czy inne narzędzia wspomagające.

    Innym, pomocnym narzędziem a na dodatek agnostycznym względem języka  jest  Cloud9 IDE - http://c9.io/. Jak nazwa wskazuje jest to narzędzie – edytor do tworzenia oprogramowania w różnych językach. Dla projektów open-source jest ono darmowe. W dużej mierze to IDE wspiera node.js. Do języka node.js (serwerowej odmiany JS  jest niezły tutorial  - http://nodemanual.org/latest/nodejs_dev_guide/creating_http_requests.html). Uwaga Cloud9 IDE nie lubi IE8!.

    Zasoby do nauki programowania:

    Ciekawe dwie strony (z których wychodzi wiele innych, ciekawych pomysłów):

    1. Portal codemirror.net -
    2. Tworzenie rozszerzeń do przeglądarek - http://kangoextensions.com/ – cała maszyneria do tego jak się tworzy przykładowe rozszerzenie pokazane jest tu - http://kangoextensions.com/blog/kangogmailchecker/. Tworzy rozszerzenia nawet dla IE!
    3. Strona o jQ - http://anton.shevchuk.name/jquery/ ale autor jest też twórcą jQuery-PHP oraz Online Chart Buildera. Fajny tutorial o jQ, np. o animacji - http://anton.shevchuk.name/javascript/jquery-for-beginners-write-animation-plugins/
    4. I o closure - http://anton.shevchuk.name/javascript/google-closure-for-beginners-components/

    Oracle – dostęp do bazy poprzez .NET w  VS:

    1. http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html?msgid=3-5804196843
    2. http://www.oracle.com/technetwork/topics/dotnet/oow-events11-452985.html?msgid=3-5804196843

    wtorek, stycznia 17, 2012

    Zasoby Telerika do nauki technologii MS

    Firma Telerik działa aktywnie w Bułgarii, popularyzatorem jest Svetlin Nakov. Oto co proponują (materiały + video):

    1. Aplikacje mobilne, podstawy HTML - http://academy.telerik.com/student-courses/mobile-development-course/resources
    2. Programowanie w C# - http://academy.telerik.com/academy-courses/csharp-programming-fundamentals
    3. Platforma .NET - http://academy.telerik.com/student-courses/web-applications-development-asp-net-course/resources

    Pan Nakov wspaniałomyślnie udostępnia swe książki - http://www.nakov.com/books/ nawet jest programowanie aplikacji internetowych  w Javie.

    poniedziałek, września 12, 2011

    Takie sobie nowinki

    Gartner przewiduje w swym raporcie, że po okresie spadku zakupów PC ponowny wzrost w drugiej połowie 2012 roku. Twierdzi, że możliwości PC (wygoda, ergonomia, szybkość, pasmo internetowe) w stacjonarnym miejscu nie zastąpią urządzenia przenośne.

    Google ma wiele ciekawych miejsc do zwiedzenia:

    • Code Playground: zasoby API dla JS (closure, JSONP oraz funkcje anonimowe) i innych technologii Google (biblioteki JS, wizualizacja danych: wykresy, panele). Przykład pobrania danych z arkusza i ich użycia.
    • API do dokumentów 
    • Uwaga! Jest płatne (399) narzędzie do integracji .NET z Google Docs firmy RSSBUS
    • Oskryptowanie arkusza poprzez ściąganie danych z serwisów webowych i umieszczanie ich w arkuszu Google spreadsheet – ciekawe co mówi EU – dane mają być przechowywane na terenie Unii (ale jakie dane? wszystkie czy te osobowe tylko?). Tutaj przy okazji jest pomysł do zrealizowania – pobieranie kursów walut i prezentowanie ich w arkuszu (doskonała wprawka programistyczne)
    • Zaawansowane techniki JS które musisz znać

    Rynek aplikacji do tworzenia mobilnych – jest taka firma Nitobi, która zajmuje się tworzeniem GUI w JS, teraz zainteresowała się RAD-em dla urządzeń mobilnych (PhoneGap). Co z tego wyjdzie? A w jaką stronę zmierza projekt Mono – obecnie pod opieką firmy Xamarin? Ma teraz trzy odnogi: Mono for Android, MonoTouch oraz Mono dla Visual Studio. Są jeszcze dwa inne projekty: .NET for iPhone and .NET for Android. Cena tych RAD jest znaczna – 399 US. Jest jeszcze Google App Inventor.

    Najlepsze z najlepszych otwartych projektów:

    Kryptografia:

    wtorek, września 06, 2011

    Kryptografia wymienialna

    Prawdziwe wezwanie dla aplikacji posługujących się metodami kryptograficznymi następuje w przypadku gdy zachodzi potrzeba wymienialności danych między różnymi platformami aplikacyjnymi. Jasne są zasady:

    1. Należy przyjąć najmniejszy wspólny podzielnik dla wszystkich platform (bibliotekę zaimplementowaną we wszystkich środowiskach), może to być np. openssl, BC lub Jascrypt (tylko dla Java, nie ma odpowiednika w .NET).
    2. Niektóre biblioteki (BC) można wykorzystać na dwa sposoby, jako rozszerzenie możliwości danej platformy (jak to mam miejsce w przypadku Java JCE) lub potraktować niezależnie jako źródło algorytmów kryptograficznych np. takich, których jeszcze nie ma w implementacji danej platformy np. Blowfish lub bardziej egzotycznych.

    Najgorzej się tutaj mają języki skryptowe jak Python lub PHP, tutaj nie ma żadnego standardu biblioteki kryptograficznej i posługuje się zewnętrznymi implementacjami kryptografii. PHP ma dwie biblioteki mcrypt (dobrze udokumentowana z wieloma przykładami) i openssl (źle udokumentowana).

    Świetny artykuł na temat uzupełniania danych do pełnego bloku - http://www.di-mgt.com.au/cryptopad.html (po to to i jak działa). Tak w ogóle na serwisie www.di-mgt.com.au jest wiele innych ciekawych artykułów:

    • Praca z alfabetem narodowym – należy pamiętać że kryptografia działa na bajtach a nie znakach oraz MS przyjął kodowanie UTF-8 (dokładnie mówiąc UTF-16LE, zresztą jedynie słuszna decyzja). Konsekwencją tego jest wymóg przekształcenia danych typu String do tablicy bitów (Array of Bytes). Przy okazji wyjaśniło się dlaczego w przypadku podpisu cyfrowego przy pomocy klucza publicznego (digital signature with public key) stosuje się nazwy dwuczłonowe np. SHAwithRSA – jest to bowiem proces dwuetapowy, najpierw jest liczony hash za pomocą algorytmu symetrycznego a potem szyfrowanie kluczem publicznym korzystając.
    • UTF-8 ma wiele wariantów np. UTF-16LE (little endian), UTF-16BE (big endian), jaki to kod w pliku wyznacza jego pierwszy bajt tzw. BOM (byte order mark): UTF-8 ma ‘EFBBBF’, UTF16LE – ‘FFFE’.
    • Należy pamiętać, że wynikowy kod nie przechowywać w polach znakowych ale w binarnych polach blobowych bądź opakować je bezpiecznie przy pomocy base64 (radix64 w PGP) i zapamiętać w polu znakowym (kosztem nieznacznego wydłużenia danych).
    • Podstawowe pojęcie o kluczach w kryptografii 
    • Bardzo dogłębnie wyjaśnienie  kodowania UTF-8. Bazuje ono na UCS – uniwersalnej stronie kodowej. W UTF-8 każdy znak ma zmienną długość, o tym decyduje najstarszy bit w pierwszym bajcie (gdy ma ‘0xxxxxxx’ to oznacza, że jest to “zwykły” znak ASCII, a gdy ‘1’ to oznacza wielobajtowy znak i tak ‘11xxxxxx’ oznacza  że znak zajmuje 2 bajty a ‘111xxxxx’ że trzy bajty). ten pierwszy baj zwany jest też jako bajt wiodący (lead-byte). Reszta bajtów to bajty ogonowe (trail) i mają zawsze sygnaturę ‘10xxxxxx’ .
    • Skrośna platforma kryptograficzna – polega na wykorzystaniu symetrycznego kodowanie blokowego (symmetric block cipher) i korzysta się z jednego z zalecanych algorytmów DES, Blowfish lub EAS. One z kolei mają tryby pracy (ECB, CBC,…). Jedynie ECB nie wymaga wektora inicjującego (szyfruje jedynie w obrębie pojedynczego bloku)

    Linki - http://www.di-mgt.com.au/crypto.html#links

    Cryptography FAQ
    Ten parts of the sci.crypt FAQ. Read these before you ask any questions.

    Bruce Schneier's page
    By the author of Applied Crytography: Protocols, Algorithms and Source Code in C, John Wiley, 1996, and the Blowfish Encryption Algorithm. Lots of info, papers, newsletters, a very comprehensive links page, and variants of the Blowfish source code.

    Peter Gutmann's page
    Up-to-date information on cryptography and PKI matters from a leading expert in the field with a good sense of humour. Check out his DumpASN1 C program to read BER-encoded ASN.1 files, his style guide to writing X.509 certificates, and his rant on the M*soft inspired PFX/PKCS-12 standard.

    Neal R. Wagner
    The Laws of Cryptography: a series of well-explained and informative pages on cryptography and coding and information theory by Neal Wagner, a professor at University of Texas at San Antonio. Includes a lot of Java code.

    Snake Oil Warning Signs
    Avoiding bogus encryption products: Snake Oil FAQ. "Encryption Software to Avoid" by Matt Curtin.

    The Six Dumbest Ideas in Computer Security
    Marcus Ranum's introduction to the six dumbest ideas in computer security.

    Ross Anderson
    An excellent and well-written site on cryptography issues by the Reader in Security Engineering at the University Of Cambridge. Check out his book Security Engineering: A Guide to Building Dependable Distributed Systems. The entire first edition (2001) and some chapters from the second edition (2008) are now available on his site. One of the interesting facts from the second edition is that the most commonly-used password has changed in recent years from password to password1.

    Digital Timestamping Service
    Matthew Richardson's PGP Digital Timestamping Service will timestamp an email sent to it so you can prove your document existed at a given time. Includes a proof of posting service. Operates in clear, header, text, pgp and binary modes. Dates are old, but it still works.

    RSA Lab's Public Key Cryptography Standards
    RSA Labs specifications on public key cryptography (the PKCS standards) and other useful stuff.

    SUNET crypto archive
    A downloadable index of cryptography tools on the SUNET archive, especially for privacy of electronic mail.

    Worst hotel in the world

    wtorek, sierpnia 23, 2011

    Linki

    wtorek, czerwca 21, 2011

    Ciekawostki

    środa, maja 11, 2011

    Deweloperka w środę 11

    Dwa dobre pakiety antywirusowe: na podstawie betanews (firma Comodo udostępnia: Kill Switch, Cleaning Essential – jako drugi front ochrony, ponieważ nie działają on-line) oraz sam Microsoft udostępnił skaner (do pobrania, ważny przez 10 kolejnych dni).

    Typy myślowe analityków – zaszufladkowano ich do 10 kategorii – wg. techrepublic

    Google lansuje nowy język GO – dostępny będzie również na Google Apps Engine

    Super wskazówki do C# z techrepublic

    wtorek, maja 10, 2011

    Programowanie

    Na stronie http://algorithms.openmymind.net/search/linear opisano ważniejsze algorytmy w JS, można je dostosować do innych języków. Ciekawe tutoriale - http://www.cs.trinity.edu/~thicks/Tutorials/.

    O Bin Ladenie:

    Jak REST-ować:

    Adobe – szkolenia - http://www.adobe.com/devnet/html5.html

    Szkolenia w .NET:

    czwartek, maja 05, 2011

    Ciekawostki

    1. Wizualizacja muzyki - http://www.matthiasdittrich.com/projekte/narratives/visualisation/index.html ze strony o wizualizacjach http://www.webdesignerdepot.com/2009/06/50-great-examples-of-data-visualization/, dzienna dawka informacji wizualnej - http://dailyinfographic.com/
    2. JS motyw- Brendan – autor JS ma swoją stronę - http://functionsource.com/post/brendan-on-the-javascript-future i tu - http://brendaneich.com/tag/javascript/
    3. Dla programistów Java – jak zacząć przygodę z C# i całą platformą .NET? Odpowiedź jest tutaj (oczywiście daje ją MS). Ale jest to dobre miejsce aby zacząć własną drogę do .NET!
    4. Trzon do:
      1. nauki C# - http://msdn.microsoft.com/en-US/vcsharp
      2. poznania platformy .NET - http://msdn.microsoft.com/en-us/netframework/aa569263
      3. nauka WCF - http://msdn.microsoft.com/en-US/netframework/wcf-code-samples.aspx
      4. Forum - http://www.go4expert.com/forums/showthread.php?t=18599
      5. Nauka HTML5 - http://msdn.microsoft.com/en-us/ie/aa740476
      6. Programowanie || – obiecanki z MS CTP - http://blogs.msdn.com/b/csharpfaq/archive/2011/04/13/async-ctp-sp1-refresh.aspx
    5. Nowa propozycja asynchronicznego wykonywania się aplikacji ma swoje demo, jest ono tu i pozwala na zabawę z przykładami.
    6. Crystal report dla VS2010 nadal jest za darmo oto blog na ten temat z SAP-a
    7. MS dogadał się z firmą DevExpress i pozwala na instalację ciekawych kontrolek + daje wiele instrukcji video - http://tv.devexpress.com/#CRX91FeaturesCS
    8. Python steruje odtwarzaczem - http://pydub.com/
    9. Dzieci wcale nie powinny być “psute” przez Internet - http://websearch.about.com/od/safesearch/a/kidsclick.htm

    wtorek, kwietnia 26, 2011

    Ciekawostki

    1. Edytory UML – za darmo – na stronie codebalance
    2. Implementacja node.js dla jedi pod Windows - http://node-js.prcn.co.cc/#rus
    3. Co nowego w jQUERY UI - http://blogs.sitepoint.com/whats-new-in-jquery-ui-1-8/
    4. Niesamowity blog - http://oakleafblog.blogspot.com/2011/04/windows-azure-and-cloud-computing-posts_24.html
    5. Strona na temat IE (oficjalna) - http://blogs.msdn.com/b/ie/archive/2011/04/20/ie-feedback-looking-back-forging-ahead.aspx, tamże podano sposób na instalację wielu przeglądarek internetowych pod jednym systemem
    6. Tutaj z kolei jest na temat narzędzi dla deweloperów z “rozbiegówki” która jest tutaj - http://msdn.microsoft.com/en-us/library/dd565631%28VS.85%29.aspx
    7. Pamiętaj o zasobach JS - http://addyosmani.com/blog/
    8. Zbiór pułapek w JS - http://www.codeproject.com/KB/scripting/javascript-gotchas.aspx
    9. Bardzo ciekawe produkty - http://www.syncfusion.com/products
    10. Dokładny przepis na uruchomienie kompletnego serwisu REST w WCF – szablon - http://kashyapas.com/2011/04/self-hosted-wcf-rest-service-template-for-vc-express/
    11. Książka o C# za darmo - http://blogs.technet.com/b/southasiamvp/archive/2011/04/25/revisiting-c-mvp-publishes-a-free-ebook.aspx z portalu dla deweloperów (są tam i inne linki)
    12. Ciekawy portal - http://paper.li/kashyapa/
    13. Zatwituj - https://twitter.com/#!/amazedsaint
    14. Serwer automatyzacji w C# - http://www.gekko-software.nl/DotNet/Art03.htm
    15. Przerób FB i TW na gazetę - http://paper.li/
    16. Ciekawe edytory - http://net.tutsplus.com/articles/web-roundups/22-neat-code-editors-for-windows/
    17. Code balance:
      1. http://codebalance.blogspot.com/2011/02/brief-explanation-of-httpmodule-and.html
      2. http://codebalance.blogspot.com/2011/01/selection-of-successful-software.html
      3. http://codebalance.blogspot.com/2011/01/10-differences-between-wcf-services-and.html
      4. http://codebalance.blogspot.com/2010/09/10-successful-e-book-search-engines.html
    18. Nauka JS dla rasowego programisty w c# – wg. Hanselmana

    czwartek, marca 31, 2011

    Mega linki z pracy cz. 1

    1. Do wykorzystania:
      1. Pożyteczny przykład z CodeProject wykorzystania DataGrid w technologii WPF z bazą SQL Server Compact
      2. Też stamtąd – tutorial na temat log4net  - o zapisywaniu informacji do logów aplikacyjnych
      3. Wykorzystanie DataTables z jQuery w aplikacjach ASP.NET
      4. Wykonywanie w locie dowolnego serwisu WCF
      5. WCF by example
      6. Prosty sposób na odpytanie bazy danych
      7. Praca z dużymi plikami XML bez ich wczytywania w całości
      8. Własny handler do przetwarzania żądań do stron
      9. Własny sposób na wykorzystanie WCF do autentykacji i szyfrowania danych
      10. Eksport danych z bazy do różnych formatów (PDF, DOC, RTF czy XLS)
      11. GTD w akcji - http://www.codeproject.com/KB/applications/todolist2.aspx
      12. Crystal Report zanurzony w VS2011 w akcji
      13. Dokładny przykład jak wykorzystać Lightswitch do tworzenia aplikacji do zbierania danych
    2. Kolejna biblioteka do tworzenia PDF w wersji Lite jest bezpłatna – quickpdflibrary. Inny bezpłatny komponent do tworzenia PDF (i nie tylko, może jeszcze tworzyć DOC, XLS, RTF) – e-iceblue. Bardzo dokładny opis “bebechów” PDF – na JPedal.org (widać po nazwie, że firma wyszła z jakiegoś open source-wego projektu, okrzepła i zaczyna “zbijać kasę”). To był blog, a teraz tu są zebrane zasoby na temat PDF i wsparcia w tym temacie. Oficjalna strona blogu Adobe dla developerów jest tutaj, na stronie Adobe. Flash Builder jest za darmo pod pewnymi warunkami
    3. Kapitalny program do rysowania diagramów - https://grapholite.com/Designer
    4. Przegląd technologii używanych w .NET, bardzo cenny materiał
    5. Jak oczarować klienta - http://www.zdnet.com/videos/events/guy-kawasaki-how-to-enchant-users/6203360 – tako rzecze Kawasaki
    6. Wyjaśnienie przez MS w sprawie kradzieży certyfikatów z firmy COMODO, MS IE7 wzwyż ma włączone domyślnie sprawdzanie OCSP (FF domyślnie to opcja wyłączona). TechNet tak wyjaśnia CRL
    7. PowerShell to nowe, świetne środowisko skryptowe, ma nawet swoje GUI, tutorial - http://powergui.org/tutorials.jspa
    8. Tutorial o WCF - http://www.wpftutorial.net/GridLayout.html
    9. Java – jak oszukać sprawdzanie certyfikatu serwera w aplikacji pobierającej z niego dane
    10. Kapitalne narzędzie do testowania maszyny wirtualnej Java - http://visualvm.java.net/download.html

    poniedziałek, marca 28, 2011

    Zamknięcie starego IE8

    1. Korzystając z subskrypcji TechNet można dostać się do zasobów tego portalu “Learning Resources
    2. Słynny portal “C#/.NET Little Wondres” – jest tu
    3. Jaki jeszcze mogą być biblioteki JavaScript? Ano taki: Spry, QooXdoo, Midori, Archetype, Wijmo, JavaScriptMVC – ankieta jest tu
    4. Świetny blog - http://www.msjoe.com/. Tamże jest o:
      1. O Node.js (na The Register – doskonały przegląd historii i rozwoju node.js) – ma dwa lata, bazuje na V8 (ten sam silnik jest w Chrome) i wykorzystuje model zdarzeniowy (event-driven) a nie wątkowy przez co jest znacznie szybszy. Tutaj jest dygresja – model ED jest naturalnym sposobem wykorzystania możliwości systemu operacyjnego któremu się zleca obserwowanie zdarzenia jakim jest połączenie (OS robi to optymalnie ponieważ jest do tego stworzony), model wątków polega na “wyciągnięciu” z OS funkcjonalności tworzenia i zarządzania wątkami i na naszych barkach spoczywa brzemię ich poprawnego wykorzystania. Podejście to w pewnym sensie jest podobne do projektów EventMachine (Ruby) oraz Twisted (Python) . Oto prezentacja na ten temat:
    5. Wyszukiwarka kodu od google - http://www.google.pl/codesearch?hl=pl
    6. Nowości w jQ 1.5 - http://blog.rebeccamurphey.com/a-refreshed-ajax-in-jquery-15
    7. Śmiesznostki - http://abowman.com/google-modules/
    8. Medytacje wg. lifehackera i inne linki
    9. Inne do przeglądnięcia:
      1. Małe cudeńka – tym razem toList() i toArray()
      2. BlogI:
        1. http://www.msjoe.com/
        2. http://jesseliberty.com/
        3. http://geekswithblogs.net/Default.aspx?q=Twitter
        4. http://geekswithblogs.net/michelotti/Default.aspx
        5. http://geekswithblogs.net/michelotti/archive/2011/02/16/use-a-fake-http-channel-to-unit-test-with-httpclient.aspx

    piątek, stycznia 14, 2011

    Ciekawe

    1. Operacje na składnicy certyfiaktów w .NET - http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.remove(v=vs.80).aspx
    2. Crockford o bezpieczeństwie JS i HTML5 - http://answers.oreilly.com/topic/1483-doug-crockford-discusses-javascript-html5-security-issues/
    3. Kolejna ciekawa ksiażka - JQuery cookbook a tam wykorzystanie .data() – “How to attach objects and data to DOM with jQuery.data to avoid memory leak issues” np. do uniknięcia przecieków pamięci i ustawienia zegara
    4. Stosowanie Module pattern w jS – do organizaowania kodu - http://answers.oreilly.com/topic/2177-how-to-use-the-module-pattern-in-javascript/
    5. Obok jQ jest wiele innych frameworków: The following won't help you much to make a choice, because it's just a plain list of options--but at least it will help you see some of the most popular options. I copied this list right from Chapter 19 of Learning PHP, MySQL, and Javascript by Robin Nixon.
      1. ASP.NET Ajax Framework, http://asp.net/ajax/
      2. Clean Ajax, http://sourceforge.n...ects/clean-ajax
      3. Dojo Toolkit, http://dojotoolkit.org
      4. jQuery, http://jquery.com
      5. MochiKit, http://mochikit.com
      6. MooTools, http://mootools.net
      7. OpenJS, http://openjs.com
      8. Prototype, http://prototypejs.org
      9. Rialto, http://rialto.improv...logies.com/wiki
      10. script.aculo.us, http://script.aculo.us
      11. Spry Framework, http://labs.adobe.co...chnologies/spry
      12. YUI, http://developer.yahoo.com/yui
    6. Np. Rico - http://rialto.improve-technologies.com/wiki/ – ze wsparciem dla GWT, Javy i .NET
    7. Kolejne sztuczki z jQ na podstawie artykułu na O’Reilly na temat książki JQuery Pocket book:
      1. zamiast $(documentt).ready() można stosować $().
      2. Aby stworzyć element można skorzystać z $(tagname) a jako drugi parametr przekazać obiekt zawierający właściwości przekazane do attr(), dodatkowo jeżeli te właściwości będą maiły nazwy atrybutów DOM to zostaną zarejestrowane jako handlery:
        ar image = $("<img>", {
                          src: image_url,
                          alt: image_description,
                          className: "translucent_image",
                          click: function() {$(this).css("opacity", "50%");},
                          css: { border: "dotted red 3px" }
                       });

    8. Procesory zdarzeń to np. click() lub change(), jest bardziej ogólny procesor (handler) zwany bind() np.
    $('a').bind('mouseover.myMod', f);


    1. Wtedy możliwe jest:
    // Unbind all mouseover and mouseout handlers
    // in the "myMod" namespace
    $('a').unbind("mouseover.myMod mouseout.myMod");
    // Unbind handlers for any event in the myMod namespace
    $('a').unbind(".myMod")


    1. Mozliwe jest też kolejkowanie animacji:
      $("img").fadeIn(500)
              .animate({"width":"+=100"},
                       {queue:false, duration:1000})
              .fadeOut(500);
      I na koniec sprytne wykorzystanie zdarzeń startu i zakończenia operacji AJAX do włączania i wyłączania elementu animacji:
      $("#loading_animation").bind({
          ajaxStart: function() { $(this).show(); },
          ajaxStop: function() { $(this).hide(); }
      });
      A to wszystko pochodzi z serwisu O’Reilly – answers


      Stosowanie przestrzenie nazw w JS, nic trudnego:

      Since these are home-made javascript libraries, this isn't too hard.
      You can assign an object to a variable, and combine your libraries within this object. You can repeat the process within the object to achieve multiple levels as well.
      e.g.
      var mycompany = {
      'utilities': {
      'removeEmail': function(string) {
      // Code to remove all email addresses
      return newString;
      },
      },
      'display': {
      'defaultSize: [100, 100],
      'showBox': function(x, y, sizex, sizey) {
      // do some stuff create stylized div for box, etc.
      return boxDivElement;
      },
      },
      'var1': 'foo is at foo@bar.com',
      'func1': function() { return 'bar is at bar@foo.com'; }
      }
      // Example usage
      var myString1 = mycompany.var1;
      var myString2 = mycompany.func1();
      var someFunction = mycompany.func1;
      var myString3 = someFunction(); // myString3 == mySting2;
      var parsedString = mycompany.utilities.removeEmail(mystring1);
      var divBox = mycompany.display.showBox(400, 500, 200, 300);
      divBox.innerHTML = parsedString;
      Now, I haven't actually tested the above code, so there may be numerous errors, and even some basic JS logic problems as it's been a little while since I wrote any functional JS, but the general theory is sound.
      P.S. there's more complex and complete ways to get namespaces in JS, but this should suffice for combining a few home-made libraries.