środa, września 09, 2009

Różne ciekawe rzeczy

  1. Gry dla dzieci od MS - http://zone.msn.com/en/cubis2/default.htm?intgid=dflt_PromoStrip_3_Cubis2
  2. Na co wolno poświęcić czas gdy twój procesor nie pracuje - http://www.networkworld.com/slideshows/2009/083109-volunteer.html?t51hb#slide7
  3. MS Centrum edukacyjne dla rodziców - http://www.microsoft.com/learningspace/TeachersToolbox.aspx
  4. Co z tym Delphi? Jego zachwalaną zaletą jest równoczesne wsparcie dla aplikacji natywnych 32 (ale te się niebawem skończą wraz z zanikiem Windows XP) i .NET (te w Vista i Windows  7). Jakby nie było MS prawie zagrzebał wsparcie dla aplikacji natywnych. Na polu walki pozostał jedynie Visual Foxpro 9.
  5. Co jeszcze może wspierać VFP 9? Ano możliwość tworzenia skalowalnych aplikacji webowych poprzez wykorzystanie ActiveVFP, dodatkowo opisano tam sposób tworzenia PDF (przy pomocy GhostPDF).  Tam też są linki do zasobów na tema COM+ w VFP.
  6. Kodowanie - http://www.codecouch.com/. Zapobiega cache-owaniu w IE (var urlToFetch = 'whatever.php?randNum=' + new Date().getTime();
  7. Z innej beczki – Dylemat programisty “tworzyć (extrawersja, altruizm, rzemiosło, otwartość, pragmatyzm) czy uczyć się (introwersja, samolubstwo, egoism, alienacja)”. Nauka nowych narzędzi rozwija, zwiększa Twoją wartość, ale tak naprawdę nic nowego dla otoczenia nie wnosisz, nie powstaje nic konkretnego co mogłoby być wykorzystane. Tworzenie polega na opanowaniu dobrze kilku technologii i skupienie się na ich stosowaniu, daje to konkretne korzyści Tobie i firmie. W pewnym sensie jest to też tworzenie, ale utylitarne. Jest droga pośrednia. Zorientowanie się na utylitaryzm ale wykorzystywanie przy każdej nadarzającej się okazji czegoś nowego. Pozwala to pogodzić (zaspokoić) samolubstwo programisty z dobrem i interesem firmy.

czwartek, lipca 23, 2009

Ciekawostki

  1. ALA serwis jest składnicą ciekawych i nietrywialnych pomysłów z zakresu przeglądarek i Internetu. Są tam podrozdziały jak: scripting, server side, html, css itd.
  2. Taki pomysł – do testowania można używać FireBug (z wkładką FirePHP) lub w IE8 wbudowanego debuggera (lub nieco okrojoną wersję FireBuga).
  3. Biblioteka BASE2 autorstwa Dean’a Edwadrds jest najmniejszym (niskopoziomowym) wspólnym mianownikiem wyrównującym różnice implementacyjne w JS dla różnych przeglądarek.
  4. Informacja o pracach badawczych w MS – m.in.  nad nową przeglądarką Gazelle.
  5. Jak powstają ataki CSS - http://crypto.stanford.edu/cs155/papers/CSS.pdf (dużo informacji na ten temat znajduje się w OWACS). Generalnie cookie można łatwo wyłudzić…
  6. Więcej o bezpieczeństwie:
    1. Strona w Stanford - http://crypto.stanford.edu/cs155/
    2. Badania w Stanford w zakresie bezpieczeństwa - http://seclab.stanford.edu/websec/ z kursami!!!
    3. Podręcznik bezpłatny do kryptografii - http://www.cacr.math.uwaterloo.ca/hac/
    4. http://www.collinjackson.com/
  7. Blog pracownika Gartner’a - http://blogs.gartner.com/ray_valdes/2009/07/08/google-chrome-microsoft-gazelle-and-the-cloud-oriented-os/ – na temat ogłoszenia przez Google prac nad OS Chrome. Z punktu widzenia informatyka przeglądarka Chrome (17 mln linii kodu w C++) zawiera wiele zaawansowanych technik wykorzystywanych również w OS np. izolacja (sandbox), wielowątkowość (wielozadaniowość), komunikacja między procesami (IPC) – jest to około 700 tyś wierszy. Kompetencje wykorzystane w pisaniu tak zaawansowanej technologicznie przeglądarki można wykorzystać przy tworzeniu OS. Ale tu należy pamietać, że OS to również obsługa urządzeń I/O a tuż już trzeba mieć zaplecze w postaci sterowników do urządzeń napisanych przez firmy tworzące te urządzenia. Ale tę “dziurę” można zalatać polegając na wsparciu jądra z Linux’a. MS też wykorzystuje elementy wielozadaniowości w swych IE 8 i dlatego też rozpoczyna prace badawcze nad nową przeglądarką Gazelle, podobną do Chroma i OS Chrome. OS Chrome startuje od zera na bazie przeglądarki - http://news.cnet.com/8301-27080_3-10292435-245.html?tag=nl.e703
  8. Książki do Java - http://www.mindviewinc.com/Books/ –Ekcela – nie tylko Java ale również J2EE.
  9. Jak zostać programistą:
    1. http://samizdat.mines.edu/howto/HowToBeAProgrammer.html
    2. http://norvig.com/21-days.html
  10. Zasoby ARITMA:
    1. Forum - http://www.artima.com/forums/forum.jsp?forum=1
    2. Blog - http://www.artima.com/weblogs/viewpost.jsp?thread=261930
    3. AIR - http://www.artima.com/articles/air_15.html
  11. Bezpieczeństwo – nowa inicjatywa THAWTE mająca na celu upowszechnienie PKI w firmach - http://reddevnews.com/whitepapers/2009/03/thawte-dev-starter-kit/asset.aspx

czwartek, lipca 16, 2009

Korzyści z podpisania cyfrowego dokumentów

Podpis cyfrowy dokumentu poza bla, bla, bla… daje również namacalną korzyść w postaci stworzenia możliwości jego niezależnej weryfikacji przez strony trzecie. Dzięki temu taki dokument jest samo opisujący się i można stwierdzić kto go podpisał i czy nie jest zmieniony. Dzieje się to za sprawą wykorzystania standardu PKI.

środa, lipca 15, 2009

Strony

  1. http://www.ubik.com/ – do tworzenia serwisów na komórki
  2. Jak kupować cyfrówki - http://www.pcworld.pl/news/347589_4/Jak.kupowac.aparat.kompaktowy.html
  3. 10 narzędzi do budowania aplikacji WEB bez pisania kodu - http://www.sitepoint.com/blogs/2009/07/08/10-web-apps-to-build-the-next-big-thing-without-writing-any-code/

Linki – nowinki

Dziwny zbieg okoliczności. Google ogłasza projekt Chrome OS – czyli zintegrowanego z przeglądarką Chrome systemu operacyjnego. Nasuwa się zbieżność przypadków: obecny CEO Eric Schmidt był kiedyś CTO w firmie SUN, która w latach 90 (1995) mówiła o komputerze sieciowym z Java, czy stanowisko EU w sprawie nielegalnej integracji IE w Windows XP coś nie mówi? (EU protestuje przed wyłączeniem do systemu i zintegrowaniu z nim przeglądarki internetowej, podczas gdy Google chce zrobić na odwrót – włączyć do przeglądarki system operacyjny.

Oferta Adobe, aby przetestować za darmo Flex’a w celu tworzenia w przeglądarce internetowej przypomina technologie MS Silverlight. Hej, przecież moja firma chce tworzyć aplikacje RIA na obraz i podobieństwo desktopowych – Flex/Silverlight to idealna sprawa aby takie aplikacje opracować. Może spróbować coś w tym zrobić?

Dzisiaj przedstawiałem aplikację do składania podpisu. Klienci inteligentnie zauważyli jej przewagę nad metodą podpisywania w przeglądarce. Mianowicie:

logowanie do aplikacji jest zbyteczne, wystarczy posłużyć się kartą SC, mój ID to moja karta

po co zaprzątać klientowi głowę wyszukiwaniem w aplikacji internetowej wymaganej opcji do podpisu (spośród wielu innych), aplikacja desktopowa daje mu niezbędne opcje (kawę na ławę), nie wymaga znajomości hasła dostępu

lepsza kontrola nad tym co się dzieje (obsługa zdarzeń typowo Windowsowych) i dostęp do zasobów bez ograniczeń

Pomysł ten można rozwinąć dalej przez napisanie ‘dll-ki’ do obsługi poprzez WS pobierania danych z zasobów portalowych i:

skierowanie ich do pliku (jako dalszy import do aplikacji biurowych) lub posterowania tymi aplikacjami przez COM

lub “zanurzenie” w aplikacjach biurowych skryptów wywołujących tą DLL do zapełniania arkusza czy dokumetu

Łaps APPS!

Chciałbym zachęcić do przeanalizowania możliwości wykorzystania aplikacji Google w firmie. Dostęp do tych aplikacji mają osoby z domeny pocztowej danej firmy, do udostępnianych zasobów zresztą też. Są trzy poziomy dostępu do tej aplikacji - najniższy jest bezpłatny, pozostałe sa płatne ale też mają większe możliwości. Owe możliwości są wystarczające do zwykłej pracy z arkuszami, dokumentami, prezentacjami oraz rysunkami (oczywiście jest też i poczta - skrzynka bezpłatna ma niecałe 8 GB i rośnie z każdą sekundą, płatna ma więcej). Dodatkowo działa kalendarz i terminarz (z wieloma wodotryskami np. powiadamianiem np. przez SMS). Ważne jest to że aplikacje te są sieciowe (w stylu WEB 2.0), dostępne przez każdą  przeglądarkę internetową. Ale chyba ich największa zaleta jest to, że wspierają pracę grupową (np. praca nad korektami wspólnych dokumentów). Ochrona danych? W aplikacjach Google jest wdrożona nowa polityka bezpieczeństwa i poufności (do wglądu na stronie). Ochrona zasobów? Jest ponieważ dostęp do niej mają osoby z domeny pocztowej danej firmy np. w COIG jest to poczta.coig.katowice.pl, które tworzą odizolowaną od zasobów ogólnodostępnych Internetu grupę.  Do zarządzania grupą i prawami jest oczywiście  strona Google. Warunki początkowe? Administrator aplikacji Google Apps musi mieć założone konto w Google (robi sie to bezpłatnie).
Podobną funkcjonalność ma też produkt Microsoft - Live Mesh i Azure (ten ostatni dopiero w fazie beta). Tam zasoby na jedno konto są duże - 25 GB.
Co jest jeszcze bardziej ciekawe dla deweloperów - aplikacje te udostępniają API do swej funkcjonalności dając okazję do "zabudowania" ich  w sposób niewidoczny w naszych aplikacjach.

Linki – nowinki

Dziwny zbieg okoliczności. Google ogłasza projekt Chrome OS – czyli zintegrowanego z przeglądarką Chrome systemu operacyjnego. Nasuwa się zbieżność przypadków: obecny CEO Eric Schmidt był kiedyś CTO w firmie SUN, która w latach 90 (1995) mówiła o komputerze sieciowym z Java, czy stanowisko EU w sprawie nielegalnej integracji IE w Windows XP coś nie mówi? (EU protestuje przed wyłączeniem do systemu i zintegrowaniu z nim przeglądarki internetowej, podczas gdy Google chce zrobić na odwrót – włączyć do przeglądarki system operacyjny.

środa, lipca 01, 2009

Rozdzynki z M cz. 2

  1. Ajax Forms (nice forms) - http://www.emblematiq.com/projects/niceforms/download/
  2. Jak wprowadzić AJAX-a do siebie - http://www.cybersplat.co.uk/2008/08/17/ajaxified-7-ways-to-ajax-up-your-site/
  3. Rick:
    1. JAX Toolkit dla .NET (Rick) - http://www.west-wind.com/tools/wwHoverPanel/docs/?page=_1wc11sjnd.htm
    2. Wprowadzenie do jQuery - http://www.west-wind.com/presentations/jQuery/default.aspx
    3. VFP proxy generator dla WSDL - http://www.west-wind.com/wsdlgenerator/ kup w sklepie
    4. Bezpłatne dodatki - http://www.west-wind.com/DotNetTools.asp
    5. Artykuły - http://www.west-wind.com/articles.aspx
    6. Mechanizm VFP .NET - http://www.west-wind.com/presentations/foxdotnetwebservices/
  4. jQuery:
    1. http://encosia.com/2009/06/09/11-keystrokes-that-made-my-jquery-selector-run-10x-faster/ z DotNetKicks
    2. http://weblogs.asp.net/sergeyzwezdin/archive/2009/05/05/jlinq-linq-for-javascript.aspx
  5. VFP z lightBox - http://weblogs.foxite.com/bernardbout/archive/2008/08/18/6536.aspx
  6. TSP z BC - http://www.bouncycastle.org/wiki/display/MA1/Example+-+sending+a+TSP+request+to+a+server
  7. JS od guru - http://ejohn.org/blog/running-java-in-javascript/
  8. Przyklady biblioteki do podpisywania w Java/C - http://www.aleksey.com/xmlsec/api/xmlsec-examples.html +  forum - http://www.openxades.org/pipermail/openxades/2006-June/000058.html, projekt - http://www.openoces.org/, strona Klimka - http://www.klimek.ws/comment/reply/32/17#comment-17, projekt podpisu w Javie/c - http://santuario.apache.org/, projekt - https://www.openxades.org/tryitout.html
  9. Java - http://www.devdaily.com/java/edu/pj/pj010023/ – applet z dostępem do lokalnych zasobówe
  10. Zasoby o C# - http://www.c-sharpcorner.com/
  11. XSS w ASP.NET - http://www.xssed.com/article/24/Paper_Defending_against_XSS_with_.NET/
  12. Zasoby IBM - http://www.ibm.com/developerworks/edu/j-dw-java-jaxrpc2-i.html?S_TACT=105AGX54&S_CMP=B0821&ca=dnw-933
  13. Programowanie obiektowe w JS - http://www.sitepoint.com/article/oriented-programming-1/2/
  14. Kodowanie  w .NET - http://www.billdawson.com/Articles/dotnetstreams.html
  15. http://www.computerworld.com.au/article/261025/fifteen_great_microsoft_office_optimization_tools?pp=3
  16. http://usefulscripts.wordpress.com/2008/07/23/multiple-html-input-elements-with-same-name-in-javascript-asp-and-php/

Więcej o JS

Nowością w HTML 5 jest wsparcie dla ‘custom data atttribute’ (dedykowanych atybutów w tagach). W propozycji 5-ki jest nadanie takim atrybutom nazw rozpoczynających sie od data_xxx. W “starym'” HTML można to zrobić tak:

<ul>
    <li class="video" data-PID="1137017" data-CID="1117632">
        <div class="video-description"> This is a great video. It is so great. </div>
   </li>

Można przerobić tak:

 [...]

var flashvars = {}; //video is a reference to the HTML object above with className "video"

flashvars.PID = video.getAttribute("data-PID");

flashvars.CID = video.getAttribute("data-CID");

[...]

wtorek, czerwca 30, 2009

Rodzynki z M

  1. Najpopularniejsze użycie openSSL - http://www.sslshopper.com/article-most-common-openssl-commands.html
  2. Dostęp do stron z innej domeny w JSON - http://www.adspeed.org/2008/08/json-with-padding-jsonp.html i http://www.adspeed.org/2008/08/reloading-partial-page-content-with.html
  3. Nauka – XMLSDIGN - http://www.w3.org/TR/XAdES/#IDAEAD1B
  4. Wywołanie WS z Javy w Silverlight - http://blogs.msdn.com/bursteg/archive/2008/07/19/how-to-call-java-ee-web-service-from-silverlight-client.aspx
  5. Joel - http://www.joelonsoftware.com/
  6. .NET - http://feeds.dzone.com/zones/dotnet (Kick it!) + DZOne - http://www.dzone.com/links/jquery_secrets_with_dave_ward.html
  7. Co myśli sobie Chuck Norris - http://dotnet.dzone.com/news/ultimate-top-25-chuck-norris-%E2%80%9C
  8. Crypto Toolkit - http://jce.iaik.tugraz.at/sic/products/core_crypto_toolkits
  9. Słynne wywołanie Javy z .NET, (project Jacob robi rzecz odwrotną)
  10. http://totaldevpro.com/DotNetCommunity/ np. generowanie PDF - http://totaldevpro.com/blogs/howtodotnet/pages/how-to-generate-pdf-files-dynamically-using-asp-net.aspx, wysyłanie poczty - http://totaldevpro.com/blogs/johnwood/archive/2009/05/20/free-sendmail-utility-for-windows.aspx,
  11. Podpis zaawansowany w Javie - http://santuario.apache.org/Java/index.html z http://www.klimek.ws/2008/podpisywanie-dokument%C3%B3w-multimedialnych-na-przyk%C5%82adzie-html.html.
  12. Faktura elektroniczna – zasoby od Klimka:
    1. http://www.klimek.ws/2009/faktura-elektroniczna-w-vattenfall.html
    2. eBStream -  http://cms.ebstream.com/cms
    3. Ustawy Pan Europejskie - http://www.epractice.eu/en/library/292100
      1. Symfonia ma moduly z efakturą:
        1. Obieg - http://www.efaktura.com.pl/durtan/org/popupPlayer.php?listFileName=playList_eDoc_proces&descFileName=desc_eDoc_proces&menu_id=3
        2. Wystawianie dokumentów - http://www.efaktura.com.pl/durtan/org/popupPlayer.php?listFileName=indexPlayList&menu_id=3
        3. eBkomunikator - http://lib.ebcommunicator.com/Next-generation.html
        4. Prezentacje - http://efaktura.com.pl/index.html?id=32
        5. Strona prawna - http://efaktura.com.pl/index.html?id=1&m=1
  13. jQuery na DZone - http://weblogs.asp.net/craigshoemaker/archive/2009/06/22/jquery-secrets-with-dave-ward.aspx
  14. Math Kruse – javascriptToolBox - http://www.javascripttoolbox.com/jquery/cheatsheet/
  15. Wstawienie jQury do strony bez niej przy pomocy bookmarklets - http://www.learningjquery.com/2006/12/jquerify-bookmarklet
  16. Lista dyskusyjna - http://www.openxades.org/pipermail/openxades/2006-June/000058.html

poniedziałek, czerwca 29, 2009

Znowu JS

  1. Serwis OpenJS – bardzo ciekawy - http://www.openjs.com/articles/ajax_xmlhttp_using_post.php – kodouje jako standardowy URI łatwy do skonsumowania przez np. PHP
  2. Przechwytywanie klawiszy specjalnych - http://www.openjs.com/scripts/events/keyboard_shortcuts/
  3. Warto przeglądać - http://www.phpclasses.org/browse/top/top.html#monthratedpackages (transmission shield). Robi to “woalka” - http://www.stringify.com/2007/jun/18/base64/. ROT13 - http://www.stringify.com/2007/nov/11/traversal/
  4. Można ćwierkać z linii poleceń  - http://www.stringify.com/2009/feb/20/twitter-command/
  5. Biblioteki js:
    1. http://www.webtoolkit.info/javascript-base64.html
    2. http://pajhome.org.uk/crypt/md5/
  6. Program do tworzenia skrótów kryptograficznych - http://fileforum.betanews.com/detail/HashTab-for-Windows/1096345722/1 – można sprawdzić jak inne programy je tworzą (intreropecayjność – raczej wymienialność)
  7. Życie JOBS’a - http://gizmodo.com/5301470/the-life-of-steve-jobs-+-so-far/gallery/?skyline=true&s=i
  8. Najlepsze programy do kopii zapasowych - http://lifehacker.com/5303067/five-best-free-system-restore-tools

jQuery na poważnie

  1. Nauka - Learning jQuery
  2. Formularz wykorzystujacy jQuery - http://www.malsup.com/jquery/form/#getting-started
  3. Walidacja pól na formularzu - http://docs.jquery.com/Plugins/Validation
  4. Ramki – jBox
  5. Wyszukiwarki różnych odmian siatek i tabel - http://plugins.jquery.com/project/Plugins/category/54
  6. Tablice (prymitywy przez siatkami) - http://plugins.jquery.com/project/DataTables
  7. Ajax z jQuery - http://www.sitepoint.com/article/ajax-jquery/
  8. bardzo podstawowy kurs (internet Maker) - http://www.internetmaker.pl/artykul/4139,1,ajax_kurs_od_podstaw_-_jquery.html
  9. Główna strona z dokumentami - http://docs.jquery.com/Ajax
  10. Kolorowanie a stronach JTML - http://acko.net/dev/farbtastic
  11. Repozytorium plug-in-ów - http://plugins.jquery.com/
  12. Zasoby JS i HTML - http://www.dynamicdrive.com/dynamicindex4/stepcarousel.htm i  http://www.javascript.com/
  13. Podświetlanie elementów HTML (div) - http://www.learningjquery.com/2009/06/quick-tip-outline-elements-on-hover’
  14. jQuery kurs na SitePoint - http://www.sitepoint.com/article/jquery-javascipt-designers/
  15. Zasoby jQuery w IBM - http://www.ibm.com/developerworks/opensource/library/os-php-jquery-ajax/index.html?S_TACT=105AGX44&S_CMP=EDU
  16. Sławny efekt - http://www.webreference.com/programming/javascript/Thickbox/
  17. Frameworki ajaxowe dla PHP - http://ajaxpatterns.org/PHP_Ajax_Frameworks
  18. Zasoby o Ajax - http://ajaxian.com/page/2

czwartek, czerwca 25, 2009

O programowaniu

Programowanie daje poczucie potęgi siły. Nie ważne jaki jesteś, chudy czy gruby, silny czy słaby, masz do dyspozycji narzędzie do odtwarzania własnych wizji. Daje satysfakcję nad zapanowaniem nad nieograniczonym niczym wirtualnym światem w którym sami stwarzamy obiekty i sterujemy nimi a one nas słuchają. Niejako bawimy się w roli Stwórcy bytów, jesteśmy w pewnym sensie nieograniczeni fizycznymi limitami, a naszym adwersarzem (Szatanem, Lucyfer) jest język programowani, który nie zawsze nas “słucha” i płata nam psikusy. Walka z nim i odniesione zwycięstwa nad wrogiem powodują że nasza satysfakcja z tworzenia potęguje się.

Dodatkowa satysfakcja bierze się z tego powodu, że możemy coś wymyśleć oryginalnego (coś co jest wyłącznie naszą własnością, jesteśmy w tym niczym nie skrępowani), wyrazić swoje myśli i je zmaterializować w postaci programu, którym się możemy pochwalić i który każdy może zobaczyć. Możliwość “wyżycia” się bez żadnych więzów i skrępowania dogmatami, tzw. zdrowym rozsądkiem to wielka sprawa. Bardzo wciąga!

Przemyślenia o tworzeniu aplikacji w Internecie

Samemu się nic nie wymyśli, trzeba korzystać z prac innych np. bibliotek (wolno stających jak CoolTree, dhtmlx, Paint, O3D (inicjatywa Google), raphael, canvas, walidatorów (mathew valid, walidacja oparta o atrybuty w HTML, Code Contract ), rusztowań (mint Ajax, Tibco, Nitobi, Ext Js, Advanced Ajax, Yahoo, jQuery). Do badania kodu służą wtyczki w FF (Web developer, Firebug), w IE (F12). Do badanie jakości i wydajności aplikacji służą: YSlow, Speed Page (Google), FireBug, Selenium (testy). Aplikacje można zintegrować z portalami np. Google API lub Zoho.

Do przeszukiwania i zapamiętywania stron służy Scrapbook, Xmarks, Google Reader, Notes, Google Bookmark, Opera sync.

Obraz “oczytanego” w Web 2.0 użytkownika, musi on mieć:

  1. Konto na portalach spoęcznościowych Facebook, MySpace, LinkedIn, GoldenLine, Twitter i czynnie się udzielać
  2. Dostęp do plików na Mozy lub DropBox lub MS SkyDrive,
  3. Nawyk czytania i publikowania blogów na MS Space lub Google

Ponadto musi:

  1. Publikować linki na technorati, delicious, digg,
  2. Czytać fora: daniweb,  dotnetkicks
  3. Uczyc się na MS Ramp, MS Learn
  4. Przeglądać dokumentację na scribd, snipd, slideshare

Tylko kiedy ma mieć na to czas?

Przemyślenia o tworzeniu aplikacji w Internecie

Samemu się nic nie wymyśli, trzeba korzystać z prac innych np. bibliotek (wolno stających jak CoolTree, dhtmlx, Paint, O3D (inicjatywa Google), raphael, canvas, walidatorów (mathew valid, walidacja oparta o atrybuty w HTML, Code Contract ), rusztowań (mint Ajax, Tibco, Nitobi, Ext Js, Advanced Ajax, Yahoo, jQuery). Do badania kodu służą wtyczki w FF (Web developer, Firebug), w IE (F12). Do badanie jakości i wydajności aplikacji służą: YSlow, Speed Page (Google), FireBug, Selenium (testy). Aplikacje można zintegrować z portalami np. Google API lub Zoho.

Do przeszukiwania i zapamiętywania stron służy Scrapbook, Xmarks, Google Reader, Notes, Google Bookmark, Opera sync.

wtorek, czerwca 23, 2009

HTTPS i nie tylko …

Opis protokołu HTTPS. Jest to kombinacja protokołu HTTP (operującego na najwyższej warstwie modelu TCP/IP – warstwie aplikacyjnej) oraz protokołu kryptograficznego. Standardowo zajmuje port 443. Wymyślił go Netscape, pierwotnie z SSL-em, później TLS (Transport Layer Security). Stał sie standardem w 2000 jako RFC 2818. Zapewnia ochronę przed “podsłuchiwaniem” (eavesdropping) oraz atakiem typu mim (man in the middle). Serwer musi być do tego protokołu przygotowany poprzez wygenerowanie certyfikatu publicznego podpisnego przez zaufany organ (Thawte lub Verisign). Przeglądarka ma aktualną listę certyfikatów głównych urzędów (tych co podpisują certyfikaty serwerów).  W różnych przeglądarkach istnieje sposób na dodanie certyfikatów od zaufanych serwerów. Certyfikat serwera jest ważny dopóki sie nie skończy lub nie zostanie unieważniony (znajdzie się na liście CRL), Nowe przeglądarki implementują protokół sprawdzania statusu certyfikatu on-line tzw. OCSP. Od niedawna SSL ma swoje rozszerzenia – tzw. extension (RFC 3546).

W IE 7/8 istnieją implementacje SSLv.1/2/3 zaś TLS jest w wersji TLSv1. Do badania transmisji służy narzędzie Fiddler - https://www.fiddlertool.com/

IE8 ma swój blog - http://blogs.msdn.com/ie/archive/2009/03/24/what-s-new-in-jscript-for-ie8.aspx

Istota wycieku pamięci w IE - http://msdn.microsoft.com/en-us/library/bb250448(printer).aspx. Narzędzia do badania wycieku - http://blogs.msdn.com/ie/archive/2007/11/29/tools-for-detecting-memory-leaks.aspx.  Typowe wycieki  i sposoby ich obejścia - http://outofhanwell.com/ieleak/index.php?title=Fixing_Leaks. Artykuł techniczny z CodeProject - http://www.codeproject.com/KB/scripting/leakpatterns.aspx.

Ciekawe:

  1. http://blog.wioota.com/2007/01/21/javascript-the-quickening/
  2. http://ejohn.org/blog/native-json-support-is-required/
  3. ESET – program antywirusowy - http://www.securitystandard.pl/news/346591/ESET.bezplatny.skaner.online.html
  4. Co nowego w IE - http://blogs.msdn.com/jscript/
  5. John R uważa, że natywna obsluga JSON-a jest dla każdej przeglądarki sprawą priorytetową tu. Obecnie są dwie implementacje: autora JSON-a i JSONP.
  6. http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful
  7. http://erik.eae.net/archives/2005/06/06/22.13.54/
  8. Pakowanie skryptów JS - http://crisp.tweakblogs.net/blog/1665/a-new-javascript-minifier-jsmin+.html
  9. Wszystko o JS w MS - http://blogs.msdn.com/jscript/
  10. Ciekawe skrypty - http://stackoverflow.com/ – ze wszystkich języków
  11. Biblioteka skrośna dla wszystkich przeglądarek - http://cross-browser.com/talk/entities.php
  12. Nitobi – ma kontrolki do wykorzystania - http://www.nitobi.com/download/
  13. http://code.google.com/p/completeui/ – enterprise – grade components
  14. http://www.googlelabs.com/
  15. Książka “Pro javaScript” - http://books.google.com/books?id=GgJN2CC_2s4C&printsec=frontcover&dq=Pro+Javascript&ei=1k8_SvmoGIzqzATZmZHIAw&hl=pl
  16. Porady dla JS - http://net.tutsplus.com/tutorials/javascript-ajax/24-javascript-best-practices-for-beginners/
  17. Ściągnij cały swój Google Docs - http://code.google.com/p/gdocbackup/
  18. Badanie zajętości pamięci - http://dotnetperls.com/chrome-memory

poniedziałek, czerwca 22, 2009

Java i nie tylko

  1. “Enabling JWS…” - http://www.netbeans.org/kb/docs/java/javase-jws.html?intcmp=925655#configure
  2. “Deploying Applet …” - http://blogs.sun.com/thejavatutorials/entry/deploying_an_applet_in_under
  3. “Deployment 101…” - http://blogs.sun.com/thejavatutorials/entry/deployment_toolkit_101
  4. ‘Running JWS application…” - http://java.sun.com/docs/books/tutorial/deployment/webstart/running.html
  5. ‘Integrating applet in a web appliction” - http://www.netbeans.org/kb/61/web/applets.html#embed
  6. “Java SE Security” - http://www.netbeans.org/kb/61/web/applets.html#embed
  7. “Java Tools and Utilities” - http://java.sun.com/javase/6/docs/technotes/tools/index.html#security
  8. “X.509 Certificates and CRL…” - http://java.sun.com/javase/6/docs/technotes/guides/security/cert3.html
  9. “Setting upthe web sites” - http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/setup.html
  10. PDF Tools - http://blog.didierstevens.com/programs/pdf-tools/
  11. Nowa biblioteka krypto w Javie - http://jasypt.org/cli.html
  12. Forum Sun-a o kryptografii - http://forums.sun.com/thread.jspa?threadID=5389207&tstart=15
  13. BC - http://groups.google.com/group/fm.announce/browse_thread/thread/d4d56638224cc05f/edda26a77a2d22c7?hl=pl&q=java+cryptography#edda26a77a2d22c7

Wszystko o MS i nie tylko

  1. Serwis RAMP UP - http://msdn.microsoft.com/en-us/rampup/default.aspx
  2. MS SDL 4.1 – początek dokumentacji - http://msdn.microsoft.com/en-us/library/cc307748.aspx. Lista “zabronionych” funkcji w C - http://msdn.microsoft.com/en-us/library/bb288454.aspx
  3. Łączenie dwóch światów – JAVA z .NET - http://www.jnbridge.com/?utm_source=msdn&utm_medium=email&utm_campaign=msdn0906
  4. Narzędzia freelancera - http://blogs.techrepublic.com.com/career/?p=888&tag=nl.e101
  5. Tutaj Saleforce.com udostępnia swoje zasoby do przetestowania - http://www.salesforce.com/platform/sites
  6. Łącze do wystąpienia Crockford’a - http://video.yahoo.com/watch/630959/2974197 – functions as data
  7. Linux ma nową stronę - http://www.linux.com/
  8. CodeProject - http://www.codeproject.com/KB/WPF/SearchMenuTextBox.aspx

Microsoft bezpieczny?

“Pigs fly?” nieprawdopodobne, ale MS uzyskuje coraz lepsze notowania u znawców bezpieczeństwa.  Za sprawą wdrożenia procesu wytwórczego Security Development Lifecycle (SDL). “Complexity is enemy of scurity”. Ciekawa książka “Writing Secure Code”, mam ją po polsku. Bezpieczeństwo łatwiej zapewnić gdy koduje jeden człowiek (PGP), podobny przykład Adobe Acrobat – wraz z pojawieniem się poszerzonej funkcjonalności i większej popularności pojwaiły się błędy. Z drugiej strony przywiązywanie zbyt dużej wagi do bezpieczeństwa nie poparte o solidne podstawy teoretyczne i warsztat narzędziowy spowoduje, opóźnienie oddania produktu i oddanie inicjatywy w ręce konkurencji. Z kolei produkty uważane za super bezpieczne np. qmail nie znalazły powszechnego zastosowania  z uwagi na skromną funkcjonalność. W oprogramowaniu czasami warto poblefować – ludzie chętnie płacą za funkcjonalność bo ją widać a rzadziej chcą płacić za wbudowane bezpieczeństwo.

Z innej beczki – nowe przeglądarki muszą się liczyć ze standardami w tym z nadchodzącym HTML 5 - http://news.cnet.com/8301-17939_109-10266230-2.html?tag=nl.e776

Google DOCS – można pobrać przy pomocy skryptu: http://lifehacker.com/5296814/grab-all-your-google-docs-with-a-python-script

Edytor TED –mały i szybki - http://jsimlo.sk/notepad/features.php

Google Book – to działa - http://books.google.com/books?id=GgJN2CC_2s4C&printsec=frontcover&dq=Pro+Javascript&ei=1k8_SvmoGIzqzATZmZHIAw&hl=pl

Nowinki w świecie przegladarek internetowych:

  • Opera – nowa wersja 10 jest bardzo szybka (mimo, że to beta) i jest wyposażona w możliwości  serwera mechanizm UNITE. M.in. współdzielenie plików, muzyki, czat, karteczki oraz serwer internetowy. Jest to wersja beta, co z tego wyjdzie zobaczymy.
  • Mozilla postępuje podobnie – udostępnia JetPack - https://jetpack.mozillalabs.com/

Jak podejmować decyzje?  – byle nie za szybko – taka jest rada artykułu.  Lepiej trochę poczekać i przygotować sobie plan rozwiązania w trzech krokach (powtarzanych iteracyjnie):

  • obserwacja – zbieraj dane i szukaj jakichś powielarnych wzorców i zdarzeń,
  • interpretacja – badaj to co widzisz i słyszysz, spróbuj wymyśleć hipotezy na temat co się właściwie dzieje,
  • interwencja – działanie skierowane w celu wypróbowania kolejnych hipotez

poniedziałek, czerwca 08, 2009

Linki

  1. Ojciec Klotz - http://www.szansaspotkania.net/?page=1963 (na podstawie - http://www.time.com/time/world/article/0,8599,1899107,00.html?xid=newsletter-europe-weekly)
  2. Świetna strona wiki - http://it.toolbox.com/wiki/index.php/JavaServer_Page – o JSP. JSP to pliki HTML z wbudowanymi serwletami w Javie. Są rozszerzeniem serwletów (bloków kodu ograniczonych <% i %> jak w PHP). Najważniejsze obiekty w JSP:

    1. HttpServletRequest request --- The Servlet Request

    2. HttpServletResponse response --- Servlet Response

    3. javax.servlet.jsp.JspWriter out --- like a PrintWriter

    4. HttpSession session --- User session

    5. ServletContext application --- The Web application

    6. javax.servlet.jsp.PageContext pageContext --- share the variables between jsp pages and supporting beans, tags

  3. Strona na to nie wskazuje ale to portal od MS - http://www.interoperabilitybridges.com/ – chwali się interoperacyjnością z innymi technologiami. M.in. projekt Stonehenge – wymiana danych na poziomie WS między Serwerami J2EE Suna a klientami .NET. Jest to przykład implementacji jak to może być zrobione. Ta strona już jawnie jest od MS - http://www.microsoft.com/interop/. Na kanale 9 - http://channel9.msdn.com/posts/jccim/Interoperability-demo-between-PHP-Windows-CardSpace-and-Geneva-Server/. PHP w środowisku MS Azure - http://phpazure.codeplex.com/
  4. MS Visio – doskonały ale mało dostępny pakiet, może bezpłatny viewer to zmieni - http://blogs.technet.com/stefan_stranger/archive/2009/05/14/visviewer-free-shareware-visio-viewer.aspx
  5. Doskonałe tutoriale na temat C# - http://blogs.technet.com/stefan_stranger/archive/2009/05/13/reblog-free-net-c-tutorial-from-pluralsight.aspx na stronach bloggera - http://blogs.technet.com/stefan_stranger/archive/2009/04.aspx
  6. Apache ma wiele projektów między innymi i WS - http://ws.apache.org/axis2/ z http://cwiki.apache.org/confluence/display/WS/Index z http://cwiki.apache.org/confluence/dashboard.action
  7. Wkład Google – analizator zatorów w aplikacjach webowych - http://www.infoq.com/news/2009/06/Page-Speed
  8. Lista najważniejszych technologii w Java 6 wraz z odnośnikami - http://java.sun.com/javaee/technologies/javaee6.jsp ze strony głównej odnośników - http://java.sun.com/javaee/reference/ + Blog deweloperów SUN-a - http://blogs.sun.com/
  9. Raport Forrest Group – pakiet biurowy MS w korporacjach ma się dobrze - http://www.cio.com.au/article/306371/forrester_ms_office_still_sitting_pretty_enterprise?pp=2
  10. Google Web Element – okruchy z aplikacji G, które można wklejać na swoich stronach - http://www.google.com/webelements/
  11. i-buk z PWN – tanie czytanie na ekranie - http://www.ibuk.pl/katalog.php?id=121
  12. Portal video o Javie - http://www.mrbool.com/portal/ – i nie tylko (marekw/po)
  13. Tworzenie bezpiecznych aplikacji w ASP.NET - http://msdn.microsoft.com/en-us/library/aa302388.aspx
  14. JavaScript nauczana przez guru - http://ajaxian.com/archives/douglas-crockford-video-advanced-javascript
  15. Porównanie platform JS - http://www.infoworld.com/d/developer-world/product-review-inside-open-source-ajax-toolkits-819?page=0,7&source=fssr
  16. IBM o jQuery - http://www.ibm.com/developerworks/library/wa-aj-jquery5/?S_TACT=105AGX54&S_CMP=C0528
  17. ComboBox w jQuery - http://jquery.sanchezsalvador.com/jquery/default.aspx
  18. Inna kontrola FlexGrid - http://www.ajaxline.com/flexgrid-for-jquery – strona domowa - http://www.flexigrid.info/ od Google - http://groups.google.com/group/flexigrid
  19. Ajaxian – o ajaksie oczywiście - http://ajaxpatterns.org/
  20. The best:
    1. 30 najlepszych wtyczek - http://www.ajaxline.com/30-best-jquery-plugins-may-2009#comment-10255
    2. Best of best -http://www.ajaxline.com/browsers-performance-in-dependence-of-html-coding#comment-10257
    3. Wydajność przeglądarek - http://www.ajaxline.com/browsers-performance-in-dependence-of-html-coding#comment-10257
    4. Najlepsze wtyczki do tabelek - http://www.ajaxline.com/10-best-jquery-plugins-for-working-with-tables#comment-10260
    5. Najlepsze “drzewka” - http://www.ajaxline.com/best-javascript-tree-widgets#comment-10264
    6. Grafika - http://www.ajaxline.com/10-best-free-javascript-charts-solutions, np. (http://www.lutanho.net/diagram/)
    7. Tutoriale - http://www.ajaxline.com/15-most-interesting-jquery-tutorials
    8. Frameworki - http://www.ajaxline.com/10-most-popular-javascript-frameworks
    9. Coś podobnego do DHTMLX - http://www.sothink.com/product/dhtmlmenu/
    10. Blogi o PHP - http://www.ajaxline.com/10-interesting-php-blogs#comment-10246
  21. Najlepsze z najlepszych - http://www.ajaxline.com/tags/javascript
  22. Inne wtyczki do jQuery - http://plugins.jquery.com/project/customselectbox
  23. O C# - http://leedumond.com/blog/interfaces-vs-abstract-base-classes/
  24. Strona tutoriali - http://www.developertutorials.com/
  25. Plurasight – bezpłatne tutoriale - http://www.pluralsight.com/main/olt/Course.aspx?n=dotnet-csharp-tutorial
  26. Kryptografia na kanale 9  - http://jquery.sanchezsalvador.com/jquery/default.aspx (http://channel9.msdn.com/posts/trobbins/Exploring-the-Crypto-API/)
  27. InternetMaker:
    1. http://www.internetmaker.pl/artykul/4519,1,jquery_dla_zaawansowanych.html
    2. http://www.internetmaker.pl/artykul/4492,1,framework_jquery_-_javascript_nie_boli.html
    3. http://www.internetmaker.pl/artykul/4481,3,javascript_nas_kreci.html
  28. VFP – przygotowanie do oprogramowania przegladarki Internetowej - http://www.west-wind.com/presentations/shellapi/shellapi.asp
  29. InformIT o .NET - http://www.informit.com/guides/guide.aspx?g=dotnet
  30. Konferencja MTS we wrześniu - https://mts2009.pl/rejestracja/login.aspx
  31. Z CodeProject:
    1. Autentykacja na podstawie formularza - http://www.codeproject.com/KB/web-security/RolesFormsAuthorization.aspx
    2. WCF – FAQ -http://www.codeproject.com/KB/WCF/WCFFAQPart3.aspx
    3. Więcej o WCF - http://www.codeproject.com/KB/WCF/7stepsWCF.aspx
    4. Proste kodowanie symetryczne - http://www.codeproject.com/KB/aspnet/DataEncryption.aspx
    5. Podstawy kryptografii - http://www.codeproject.com/KB/security/cryptography.aspx – ciekawe ponieważ mowa o C/S
    6. Silverlight dla idiotów - http://www.codeproject.com/KB/silverlight/silverlightfordummies.aspx – jest tam mowa o znaczeniu JS i CrockFordzie
  32. Mahalo – wyszukiwarka ze stylem - http://www.mahalo.com/php, z nich: http://www.developertutorials.com/tutorials/php/, http://www.developertutorials.com/php-manual/language.types.type-juggling.html#language.types.typecasting,  http://www.developertutorials.com/tutorials/php/easy-pdf-generation-in-php-8-02-27/page1.html

  33. Czat w Java przy pomocy appletu - http://www.internetmaker.pl/artykul/2803,7,czat_w_javie.html