- Google – web elements - http://www.google.com/webelements/ - nowości
- Google pokazuje jak działają hackerzy, nawet zamieszcza tutorial - tutaj
- Google kupuje firmę specjalizującą się w grafie 3D dla swego pulpitu - http://www.theregister.co.uk/2010/05/03/google_acquires_bumptop/
- Google dostarcza narzędzi programistycznych - 15 tools that Google provides for developers
- Bezpłatne oprogramowanie dostępu do zdalnego komputera - http://www.itworld.com/hardware/105990/infoworld-review-free-remote-access-tools-windows-and-mac?page=0%2C2&source=ITWNLE_nlt_windows_2010-05-04. Wg. nich najlepsze jest gBridge
- Co lepsze GoogelApps czy MS Office? Odpowiedź na to pytanie jest tutaj. Są tu rozważane głównie względy ekonomiczne np. powszechność stosowania poczty, funkcjonalnośc gmal względem Exchange, sklp z dodatkami Google Apps market, jakość wsparcie, koszty po zainstalowaniu, konkurencja ze strony bezpłatnych edytorów, wdrożenie WIndows 7, integracja z chmurą pakietu Office 2010, wersja lite tego pakietu, praca zespołowa nad edycją (50 edytorów w Google Docs).
- Tutoriale na temat przetwarzania w chmurze - http://www.itworld.com/saas/97423/cloud-computing-tutorial
- IronPytho to juz jest stabilna wersja - http://www.ironpython.net/
- MS .NET – różnice między:
- Datagrid.
- .Code requires to handle the SortCommand event and rebind grid required.
- Code requires to handle the PageIndexChanged
- Need extensive code for update operation on data.
- When compared to gridview less events supported.
- gridView
- No code required.
- No code required for PageIndexChanged
- Needs little code for update operation.
- GridView supports events fired before and after database updates
- Datagrid.
- Mogą być kłopoty z DNS –em ponieważ od dzisiaj wdrożony nowy, bezpieczniejszy protokół (zamiast UDP będzie TCP) związany z szyfrowaniem ramek – stary sprzęt (który oczekuje zapisy 512) może zawieść (teraz ramki będą dłuższe)
- Nowa 3 w jednym przeglądarka internetowa - http://www.lunascape.tv/
- Easy-Peasy – EasyEclipse – wszystko zebrane do kupy - http://www.easyeclipse.org/site/plugins/index.html – duże ułatwienie
- Jacob Nielsen Alert – badania wykazały, że wszyscy sie patrzą w lewy fragment strony - http://www.useit.com/alertbox/horizontal-attention.html
środa, maja 05, 2010
Ciekawe
piątek, kwietnia 23, 2010
Otwarcie Google
Firma Google zbiera cięgi za brak przejrzystości. Dlatego uruchomiła stronę wyświetlającą wszystkie swoje serwisu wybrane przez danego użytkownika - http://rcardon.free.fr/websign/wakka.php?wiki=DownloadPage
Projekty e-Faktury
Na świecie jest wiele projektów otwartych z efakturą. Jednym z nich jest projekt eID powiązany z administracją Belgii. Założycielem i Architektem jest Frank Cornelis (zaczął pracę w projekcie openxades). Strona domowa - http://code.google.com/p/eid-mw/. Innym projektem jest:
- openxades
- projekt estoński (na bazie http://www.openxades.org/files/JDigiDoc-2.0-eng.pdf)
- projekt kataloński
- projekt polski- PEMI
- samodzielny projekt - http://rcardon.free.fr/websign/wakka.php?wiki=DownloadPage
- Linki nie rozpoznane (jeszcze):
- http://www.openoces.org/
- http://www.rgagnon.com/javadetails/java0480.html
- http://java.sun.com/developer/technicalArticles/J2SE/security/
- http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deploymentguide/keystores.html
- http://java.sun.com/j2se/1.5.0/docs/guide/security/p11guide.html
- http://www.openxades.org/pipermail/openxades/2006October/000075.html
- http://projectestic.uji.es/
Do tego dochodzi świetne źródło informacji na temat podpisu –portal OPENPDF - http://openpdf.com/ebook/xades-java-pdf-6.html
Projekty e-Faktury
Na świecie jest wiele projektów otwartych z efakturą. Jednym z nich jest projekt eID powiązany z administracją Belgii. Założycielem i Architektem jest Frank Cornelis (zaczął pracę w projekcie openxades). Strona domowa - http://code.google.com/p/eid-mw/. Innym projektem jest:
- openxades
- projekt estoński
- projekt kataloński
- projekt polski- PEMI
czwartek, kwietnia 22, 2010
Docs wg MS
Do tej pory portal Docs kojarzył się z Google-em teraz ma go tez Microsoft - http://docs.com/
Uruchamianie apletów u klienta
Na podstawie dokumentacji SUN-a – jest to fragment większej całości dokumentacji sunowskiej pt. “Applets”. Uruchomienie aplety odbywa się albo poprzez wyspecyfikowanie charakterystyk apletu w znaczniku “APPLET” (lub w nowej edycji HTML 4 “OBJECT”), lub w znaczniku “JNLP” (zastosowanie technologii JNLP). Aplet ładuje się u klienta podczas uruchomienia strony HTML która go zawiera. Model ochrony klienta powoduje, że tylko podpisane aplety są uruchamianie poza piaskownicą przeglądarki. Aplety które mają mieć większe prawa dostępu do zasobów lokalnych muszą być podpisane przez certyfikat. Podczas uruchamiania aplet pyta o zgodę na dostęp do zasobów. Bez zgody użytkownika aplet nie ma dostępu do zasobów lokalnych komputera. Uwaga: dodatkowa konfiguracja maszyny wirtualnej java jest możliwa poprzez przystawkę Java Control Panel w pasku podczas uruchamiania strony z apletem.
W przypadku apletów nie podpisanych (“gołych”) zaleca się wykorzystanie protokołu JNLP do definiowania zakresu praw dostępu do zasobów lokalnych. JNLP ma specjalne ustawienia do definiowania zakresu dostępu do lokalnych zasobów. Do korzystania z JNLP potrzebna jest konfiguracja serwera www (uczulenie na tworzenie nagłówków MIME o typie JNLP) lub podstawienie pod nazwę pliku JNLP plik z rozszerzeniem PHP. Oto przykład:
<?php
header("Content-Type: application/x-java-jnlp-file");
readfile('uruchomPodpis.jnlp');
?>
plik jnlp:
<applet name="CA",
jnlp_href = 'uruchomPodpis.php',
width = 300,
height = 300 >
<PARAM NAME=Server-Library VALUE=https://dvcl4.coig.com:10066/podpisAplet/ext>
<PARAM NAME=Properties-File VALUE=cryptoapplet.properties>
</applet>
“Goły” aplet może niewiele. Może m.in. – połączyć się ze serwerem z którego została załadowana strona. Aplet załadowany z lokalnych zasobów (a więc ktoś go tam zainstalował) nie ma żadnych ograniczeń.
Aplety nie podpisany załadowane poprzez JNLP mają większe prawa m. in. mogą czytać i pisać do lokalnych zasobów. Uwaga: wśród parametrów konfiguracyjnych nie ma mowy o uruchamianiu procesu zewnętrznego np. jakieś aplikacji desktopowej (takie sztuczki może dokonać wyłącznie aplet podpisany).
Wywołanie nawet podpisanych apletów z poziomu kodu JS na stronie HTML powoduję ograniczenie zakresu działania apletu tak jakby był niepodpisany.
Z przykładu zamieszczonego w rozdziale “Invoking Applets Methods from javascript code” widać, że jest bardzo łatwo sterować metodami zawartymi w aplecie z punktu widzenia JS. Sytuacja odwrotna tj. dostanie się do elementów strony HTML czy też skryptów na niej jest również możliwa dzięki technologii LiveConnect. Funkcjonalność ta zawarta jest w pakiecie ‘netscape.javascript’ lub można ją włączyć poprzez wyspecyfikowanie pakietu ‘…/jre/lib/plugin.jar’
Ciekawa definicja apletu na stronach pomocy Eclipse – “An applet is a bean that is designed to be run inside a Web browser and inherits from java.applet.Applet or javax.swing.JApplet .”
Przygotowanie stacji użytkownika do skłądania podpisu
- Środowisko pracy - Windows Client (od XP przez Vista do W7).
- Instalacja sterowników do obsługi czytników kart inteligentnych (tzw. Smart Card - SC):
- Najniższy poziom - programowanie CryptoCard Suite ze strony firmy Crypto Tech. Jest to prawdziwy kombajn funkcjonalny. Potrafi m.in. sprawdzić poprawność komponentów sprzętowych i programowych, zainstalować certyfikat w repozytorium, ustawić parametry wielopodpisu. Dodatkowo instaluje się jako usługa MS Windows dzięki czemu po włożeniu karty do czytnika automatycznie rejestruje ją w repozytorium.
- Na tej bazie należy zainstalować oprogramowanie firmy dostarczajacych certyfikaty:
- Sigillum - nic (dziwne) - korzysta ze sterownika sprzętowego CCPKIP11.dll wgrywanego po cichu przez CCS
- KIR - nic (trzeba to jeszcze sprawdzić)
- Unizeto/Certum - najpierw sterownik do czytnika np. ACR38, potem aplikację proCertum Card Manager. Wszystko jest dostępne na stronie CERTUM. Korzysta ze sterownika cryptoCertumPKCS11.dll
- Całość sprawdzamy przy pomocy CCS. Wynik powinien być taki:

- Struktura obsługi kart kryptograficznych w MS Windows jest taka (idąc od dołu w górę):
- SC Base - wbudowany komponent systemu operacyjnego (sterownik sprzętowy w postaci .DLL)
- Warstwa standardów kart inteligentnych. Są dwa niezależne standardy:
- PKCS#11 (promowany przez środowisko Java) - API do obsługi kart, bazuje bezpośrednio na sterowniku sprzetowym (taki jest standard zaimplementowany w języku Java)
- CSP + Crypto API (promowany przez MS) - warstwa dostawców usług kryptograficznych oraz API do korzystania z nich z poziomu aplikacji
- System operacyjny - MS Windows - ma jeszcze dodatkową warstwę służącą do przechowywania informacji o dostępnych certyfikatach w tzw. repozytorium. Do obsługi jego służy polecenie: certmgr.msc. Windows ma dodatkowe narzędzia wspierające weryfikację certyfikatów końcowych i pośrednich które są zintegrowane z narzędziami do zarządzania. W przypadku rozwiązań Java (np. w postaci implementowanej przez KIR) są one przechowywane jawnie bezpośrednio w pliku. Udostępnia funkcje kryptograficzne (crypto API) poprzez technologię CAPICOM (stara, już nie zalecana dla Vista i W7 ale wciąż poprawnie na nich działająca) oraz poprzez platformę .NET
- Aplikacje - w każdym języku programowania są dostępne biblioteki z funkcjami do obsługi SC bądź poprzez platformę MS .NET bądź JSE. Dodatkowo można na poziomie poleceń systemu wykonywać skrypty korzystające z CAPICOM (instalując CAPICOM SDK z witryny MS - tworzy się katalog z przykładowymi skryptami) lub przy pomocy PowerShell (korzysta ze wszystkich dobrodziejstw .NET)
Instalacja oprogramowania niezbędnego do obsługi podpisu na stacji klienckiej
środa, kwietnia 21, 2010
Kurs PHP i nie tylko
Na stronach SITEPOINT jest świetny kurs programowania w PHP i korzystania z bazy MySQL - http://articles.sitepoint.com/article/publishing-mysql-data-web/2
Nauka JPA wg. Oracle - http://www.oracle.com/technology/products/enterprise-pack-for-eclipse/troubleticket/part_1_jpa/jpatutorial.htm?msgid=8667883&eid=4835439881&lid=1
Wybieranie danych z Google przy pomocy openssl - http://code.google.com/intl/pl/apis/gdata/articles/using_cURL.html
Deployment JAVA Applet - http://java.sun.com/docs/books/tutorial/deployment/applet/deployingApplet.html i http://www.javaworld.com/javaworld/jw-05-2008/jw-05-newapplet.html?page=4
Tworzenie PDF w ActionScript - http://www.alivepdf.org/
Forum CISCO - https://supportforums.cisco.com/community/etc/netpro-polska
Zły filtr XSS w IE8 - http://blogs.zdnet.com/security/?p=6221&tag=nl.e019
Co nowego w VS 2010 - http://blogs.techrepublic.com.com/programming-and-development/?p=2475&tag=nl.e019
Biill Gates - http://blogs.zdnet.com/BTL/?p=33259&tag=nl.e019
Konfiguracja HD - http://www.pcworld.pl/news/358144_3/Jak.optymalnie.skonfigurowac.twardy.dysk.html
Napraw za darmo - http://www.pcworld.pl/news/358172/7/Napraw.swoje.Windows.z.programem.Microsoft.Fix.It.html
Integracja appletu z .NET - http://java.sun.com/developer/technicalArticles/appletAspIntegration/index.html
Web Start - http://java.sun.com/docs/books/tutorial/deployment/webstart/index.html
Rgagnon - http://www.rgagnon.com/howto.html
…………………………..
poniedziałek, kwietnia 19, 2010
Google API dla programistów
- Biblioteki otwarte ajaksa - Ajax Library API - są ładowane przy pomocy google.load(). Ładnie to zrobione np. biblioteke jQuery podzielono na jądro jQUery - do manipulowania DOM i CSS oraz jQueryUI - do zapewnienia efektownego interfesju. Ciekawy link do tutoriali o JS.
- Biblioteka wizualizacyjna - http://code.google.com/intl/pl/apis/visualization/
- Spis wszystkich API - http://code.google.com/intl/pl/more/
- Google Data Protocol - http://code.google.com/intl/pl/apis/gdata/
- Google Documents List - http://code.google.com/intl/pl/apis/documents/overview.html - praca z dokumentami (przykład upload-u dokumentu z .NET)
- Fusion tables - http://code.google.com/intl/pl/apis/fusiontables/
- Market dla aplikacji - http://www.google.com/enterprise/marketplace/
- Dostęp do arkuszy - http://code.google.com/intl/pl/apis/spreadsheets/
- Język programowania GO - http://golang.org/doc/go_tutorial.html
- Bomba! - http://www.offisync.com/ - pozwala miłośnikom MS Worda na używanie tego edytor i jednocześnie stosowanie Google Docs jako repozytorium dokumentów. Nacisk położono na wsparcie pracy grupowej.
Ciekawostki
- 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.
- Taki pomysł – do testowania można używać FireBug (z wkładką FirePHP) lub w IE8 wbudowanego debuggera (lub nieco okrojoną wersję FireBuga).
- 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.
- Informacja o pracach badawczych w MS – m.in. nad nową przeglądarką Gazelle.
- 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ć…
- Więcej o bezpieczeństwie:
- Strona w Stanford - http://crypto.stanford.edu/cs155/
- Badania w Stanford w zakresie bezpieczeństwa - http://seclab.stanford.edu/websec/ z kursami!!!
- Podręcznik bezpłatny do kryptografii - http://www.cacr.math.uwaterloo.ca/hac/
- http://www.collinjackson.com/
- 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
- Książki do Java - http://www.mindviewinc.com/Books/ –Ekcela – nie tylko Java ale również J2EE.
- Jak zostać programistą:
- Zasoby ARITMA:
- 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
JSON i bezpieczeństwo
Wyjściem z sytuacji jest wsparcie natywne w przegladarkach (ma je IE i FF) oraz wykorzystanie go w frameworkach (Yahoo, jQuery, dojo i mootools). Rozwój JSON wspiera ECMA na stronie http://wiki.ecmascript.org/doku.php.
Wejściem do zagadnień JSON-a jest rozbiegówka na wiki - http://en.wikipedia.org/wiki/JSON#Native_JSON
JSON jest niebezpieczny ponieważ używa albo ‘eval’ (var myObj = eval( '(' + jsontext + ')' );) albo skryptu Crockforda - http://www.json.org/json.js. Jedno i drugie jest mało bezpieczne. Oto zwięzła definicja wg. yahoo:
JSON is a very simple text format based on JavaScript's object notation. The notation contains these basic elements:
- Objects. Objects begin and end with curly braces ({}).
- Object members. Members consist of strings and values, separated by colon (:). Members are separated by commas.
- Arrays. Arrays begin and end with braces and contain values. Values are separated by commas.
- Values. A value can be a string, a number, an object, an array, or the literals
true,false, ornull. - Strings. Strings are surrounded by double quotes and contain Unicode characters or common backslash escapes.
Obecnie JSONa wspiera wiele j. programownia w tym PHP i VFP.
Nowe podejście do drukowania
Wg. firmy Google, która chce wdrożyć nowy typ systemu operacyjnego OS Chrome, największą przeszkodą we wdrożeniu przetwarzania w chmurze (gdzie każde urządzanie ma dostęp do zasobów w Internecie) był system wydruków (a nawet cały ekosystem składający się z setek różnych sterowników do drukarek nawet pochodzących z tej samej firmy). Dodatkowo sterowniki te musiały być przygotowywane pod różne systemy operacyjne a nawet ich wersje. Propozycja Google jest taka - stworzenie platformy Google Cloud Print – która przyjmowała by dane do wydruku i sama (zamiast lokalnego systemu operacyjnego), centralnie kierowała wydruk na wybraną drukarkę i pilnowała by procesu wydruku. Zamierzenia są śmiałe, ale jest parę wątpliwości:
- bezpieczeństwo – kto pozwoli sobie na udostępnienie KAŻDEGO swojego wydruku firmie trzeciej (tj. Google)
- zaczyna się zarysowywać mroczne widmo Wielkiego Brata – kontrolującego każdą informację wychodzącą na wydruk
- co z prywatnością i bezpieczeństwem
- co zapewnieniem poufności i jaka jest gwarancja niezmienności danych wysyłanych na wydruk
- poważnie należy się zastanowić czy jest zapewniona globalna w obszarze Internetu skalowalność – wraz ze wzrostem ilości użytkowników i ilości wydruków
- czy będzie kontrola i zabezpieczenie przed atakami typu DDS (lub wypuszczenie w Internet ogromnego wydruku na 1000 stron – to marnotrawstwo pasma) na taki serwer drukarkowy
- czy usługa będzie zawsze bezpłatna czy też po iluś kopiach trzeba będzie zapłacić extra
Wizja jest śmiała – HP zainteresowała się tym pomysłem – przecież nic nie ryzykuje a ponadto umożliwia sobie wzrost sprzedaży drukarek dla właścicieli choćby skromnych telefonów komórkowych.
Podobna wizja jest już od dawna zrealizowana w Windows np. mój komputer nie ma drukarki lokalnej ale mogę skierować wydruk z niego na drukarkę sieciową lub na inny komputer który udostępnia swoją drukarkę.
piątek, kwietnia 16, 2010
Nauka
- Office Online – portal z ćwiczeniami oraz poradnikami na temat tego pakietu biurowego - http://office.microsoft.com/en-us/training/FX100565001033.aspx
- Pytania i odpowiedzi na temat Office - http://answers.microsoft.com/en-us/office/default.aspx#tab=1
- Dodatek do MS Word – chemia - http://research.microsoft.com/en-us/projects/chem4word/
- Nowy, profesjonalny framework do testowania – Seleneese jest to połączenie Selenium z Fitnesee (serarchsoftwarequality.techtarget.com). Z tegoż samego portalu pochodzi artykuł na temat SoapUI
- Nowe aplikacje typu express na portalu MS (teraz w wersji 2010)
- Jak poznać możliwości Azure – oto są filmy - Front Runner for Azure, Tony's training videos oraz Four-minute Windows Azure virtual lab.
- Z innej beczki – sterowanie serwisami Google Data poprzez cURL - http://code.google.com/intl/pl/apis/gdata/articles/using_cURL.html
- Podpis XAdES w MS Office 2010 – na czym polega rola sygnatury wizualnej - http://blogs.technet.com/office2010/archive/2009/12/08/digital-signitures-in-office-2010.aspx. Jak do tego doszło? MS Office 2007 pozwala na podpisywanie zgodnie z XML-DSig (starsze wersje tego pakietu używały mniej zaawansowanego podpisu binarnego) – standardem http://www.w3.org/Signature. Najnowsza wersja MS Office 2010 stosuje nowe algorytmy wspierane przez Windows Vista (krzywe elityczne), można również stosować bardziej zaawansowany algorytm mieszający (hash) taki jak SHA-252. Uporano się także z problemem wygasanie certyfikatów i starych dokumentów je zawierających (podpis cyfrowy dokumentu któremu nie można zaufać po wygaśnięciu certyfikatu, odpowiedź na pytanie czy w momencie składania podpisu certyfikat był ważny czy nie?) – poprzez przejście na rozszerzenie standardu XML-DSign tj. XAdES. Dzięki temu uzyskano zgodność z dyrektywą EU - Advanced Electronic Signature Criteria Directive 1999/93/EC. mamy wiele wersji XAdES: najprostsza XAdES-BES/EPES – zawiera informację o samym certyfikacie, już odporna na czas wersja XAdES-T gdzie jest oznakowanie czasem oraz jeszcze bardziej zaawansowane. Żeby oznakować czasem należy skonfigurowac serwer czasu zgodny z RFC 3161. Odnośnie podpisu – można stosować wiersz podpisu (signature line) lub pieczęć (signature stamp).
- Podglądanie stron webowych - http://fireshark.org/
- Ciekawy portal – TOAD – wtyczka do VS 2K10 – na razie jest w wersji beta i można ja testować za darmo - http://toadextensions.com/beta.jspa. Uwaga dla mySQL jest też swój TOAD – free. Na stronie http://www.toadworld.com/DOWNLOADS/Freeware/tabid/680/Default.aspx jest wiele ciekawych darmowych aplikacji.
środa, kwietnia 14, 2010
Prace z aplikacjami Google os strony programistów
wtorek, kwietnia 13, 2010
Wspólny mianownik dla kryptografii w różnych rozwiązaniach
- W blogu coolthingoftheday jest wzmianka o ciekawym instalatorze dla Windows – Windows Installer XML (WiX) - jest on bardzo trudny w użyciu chociaż piekielnie uniwersalny
- Portal o bezpieczeństwie – net-security.org
- Taki rodzynek – praca Rijndaela - http://csrc.nist.gov/archive/aes/rijndael/Rijndael.pdf
- W tymże portalu jest opis biblioteki kryptograficznej Botan C++, inna biblioteka też w C++ to pkif, jeszcze - http://polarssl.org/reference_docs. Widać, że bibliotek w C i C++ jest bardzo dużo na pewno można coś znaleźć.
- Prace nad przenaszalną biblioteką kryptograficzną – temat badawczy dla naszej firmy – można rozpocząć od wyboru platformy deweloperskiej. Jedno z podejść polega na wybraniu platformy deweloperskiej wspólnej dla wszystkich środowisk uruchomieniowych (od AIX,poprzez Linux i Windows). Mamy do wyboru środowiska maszyn wirtualnych:
- OpenSSl – wszędzie dostępna i wywołuje się nią z linii poleceń
- C/C++ – jak w punkcie 4
- Platforma Java – tutaj jest wiele implementacji – chyba najbardziej pełna i jednocześnie będąca uzupełnieniem wbudowanych bibliotek JSE jest BC. Obok niej jest także pakiet na google code – Keyczar (dla Pythona też istnieje). I wiele innych o których nie mam pojęcia…
- PHP – implementuje wiele standardów kryptograficznych które są wbudowane w dystrybucję tego języka. I pewnie jest wiele innych…
- Python – jest standardowa biblioteka oraz pakiet Keyczar od google code
- Platforma .NET – standardowe, wbudowane moduly oraz BC lub Bonnie.NET. I pewnie wiele innych…
- Warunkiem wyboru jednego języka z punktu 5 jest jego przenaszalność – tj. obecność jej w środowiskach gdzie jest potrzeba szyfrowania/podpisywania.
- Innym podejściem jest wybranie takiego algorytmu kryptograficznego, który działa na wszystkich wymaganych przez aplikacje platformach serwerów aplikacyjnych (np. jest implementowany w PHP i Zope)
- Dosyć pełna lista bibliotek kryptograficznych - http://www.homeport.org/~adam/crypto/
czwartek, kwietnia 08, 2010
Zasoby VFPro po raz kolejny
- Migracja VFP na platormę .NET – Guineu – niestety płatna
- Forum do rozwiązywania problemów w VFP - http://msdn.microsoft.com/en-us/vfoxpro/bb190294.aspx
- VFP run-time - ftp://ftp.prolib.de/public
- Sterowanie MS Word - http://www.tomorrowssolutionsllc.com/Materials/AutomatingWord.html
- Inne podejście do automatyzacji MS word - http://social.msdn.microsoft.com/Forums/en-US/visualfoxprogeneral/thread/98141b61-cdfe-4613-b557-cc94890fb991
- Tworzenie WS – dokumentacje MS - http://msdn.microsoft.com/en-us/library/aza7ha5h%28v=VS.80%29.aspx
- WS od Ricka - http://www.west-wind.com/presentations/foxpronetwebservices/foxpronetwebservices.asp
- CODE Magazine - http://www.code-magazine.com/focus/Article.aspx?quickid=0404052
środa, kwietnia 07, 2010
Bezpieczeństwo AJAX-a
- Na stronach MSDN można znaleźć na ten temat:
- Rozbiegówka - http://msdn.microsoft.com/en-us/library/dd756894%28VS.85%29.aspx
- O bezpieczeństwie - http://www.microsoft.com/security/
- O AJAX - http://msdn.microsoft.com/en-us/library/dd464678%28VS.85%29.aspx
- Natywne wsparcie XMLHTTP w IE 8.0 - http://msdn.microsoft.com/en-us/library/ms537505%28VS.85%29.aspx
if (!window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
try {
return new ActiveXObject('MSXML2.XMLHTTP.3.0');
}
catch (ex) {
return null;
}
}
}
Linia rozwoju produktów dla programistów od firmy Google
Przeglądarka internetowa Chrome jest nowym zjawiskiem w świecie aplikacji firm trzecich. Tak to nie przeglądarka tylko ale pełnoprawne narzędzie – zrąb (inni mówią framework) do tworzenia własnych aplikacji internetowych typu web 2.0. Nadaje się do tego doskonale. Wystarczy spojrzeć na nią z boku: łatwo się instaluje, jest szybka i bezpieczna, spełnia wszystkie standardy HTML (a nawet je wyprzedza). Użytkownik nie ma żadnych wymówek aby jej nie zainstalować i od razu używać.
Ciekawe – do zbadania jest możliwość sterowania przeglądarką poprzez COM oraz czy wtyczki mogą obejść barierę bezpieczeństwa i zapisywać coś lokalnie?
Ma on wiele rozszerzeń tej coraz popularniejszej przeglądarki, w przyszłości będzie ich jeszcze więcej. Ostatnio jest ciekawe rozszerzenie to implementacja – netsocket – zgodna z zaleceniami w3c. Jak podaje ajaxian.com jest to wersja deweloperska. Rozszerzenia są napisane w JS z wykorzystaniem HTML/CSS oraz API udostępnianych przez Google. Można je testować przy pomocy wbudowanych narzędzi przeglądarki
Mamy teraz do wykorzystania trzy możliwości (okazje) dostępne od Google:
- Wtyczki – to nic innego jak możliwość wywołanie własnej strony poprzez skrót na pasku narzędziowym przeglądarki. Dają okazję do wzbogacenia przeglądarki o ciekawą funkcjonalność (może to być trywialne pobranie kursów walut z NBP).
- W aplikacjach google DOCs (tzw. google Apps) można teraz programować posługując się JavaScriptem oraz specjalną biblioteką Google – ta technika nosi nazwę Google Apps Script. Wzbogaca to doskonale możliwości tej aplikacji on-line. Można w ten sposób “zanurzyć” swoją aplikację w google Apps – np. arkusz, który wczytuje dane z naszego portalu, dokumenty tworzone w edytorze google docs i wysyłane do portalu.
- Możliwość wklejania dokumentów google Apps do własnych stron – można sobie wyobrazić taki scenariusz – nasz portal ma tam gdzieś stronę z wklejonym dokumentem (arkuszem) z google Apps. Taki arkusz jest aktywny – może uruchomić jakiś swój skrypt w JS i wykonać pożyteczną pracę – ale trzeba dopracować sposób wymiany danych między nim a goszczącą go stroną. Jak to zrobić - http://docs.google.com/support/bin/answer.py?hl=pl&answer=78052
wtorek, kwietnia 06, 2010
Ciekawe oprogramowanie z sourceForge
- TCPDF – biblioteka do tworzenia plików o formacie PDF w PHP (pozwala na konwersję HTML do PDF i tworzenie formularzy PDF z elementami HTML-wego dialogu ze wsparciem JS w dokumencie PDF)
- ZK – Simply Ajax and Mobile. Obiecujący framework – ciekawe podejście – tworzymy wszystko w Ajax, zaś serwer aplikacji jest nam potrzebny po to aby zassać lub zapisać dane do baz na serwerze. Mam nawet swego RAD-a w oparciu o Eclipse
- TinyMCE – znany komponent do wspierania edycji wzbogaconej o możliwości zbliżone do MS Word
- Inny framework w Javie – OpenXAVA – strona domowa - http://www.openxava.org/web/guest/home – to samo podejście ale w oparciu o PJO + JPA
- Portal IBM o technologii Java - http://www.ibm.com/developerworks/java/index.html
- Nauka JPA - http://www.ibm.com/developerworks/rational/library/08/0819_mutdosch/index.html
poniedziałek, marca 29, 2010
Ciekawostki do pobrania
- PC World ->Sandra 2010 SP1 – kompleksowe narzędzie do badania komputera (pod katem sprzętu i oprogramowania). Wersja Lite jest bezpłatna.
- NetWorld - Jak wzmocnić bezpieczeństwo aplikacji webowych – skaner ? Są skanery płatne i darmowe. Ostatnio Google udostępnił darmowy skaner SkipFish autorstwa pracownika tej firmy Michała Zalewskiego. Jest szybkie. Co do oceny to nie próbowałem.
- ItWorld - chiny rządzą DNS – błąd (prawdopodobnie w protokole BGP (Border Gateway Protocol) spowodował załadowanie do kilku serwerów głównych DNS (root DNS server) adresów z serwera rządowego Chin (osławiony Chinas Great Firewall) . Lista adresów blokowała dostęp do stron niezależnych i nieprzychylnych rządowi ChRL. Powodowało to efekt przekierowania szukania adresów IP nazw stron do serwerów chińskich które miały reguły blokujące swobodny obieg informacji (dostęp do stron m.in. falung). W efekcie niektórzy dostawcy usług internetowych z Chile i USA stali się de facto cenzorami treści uważanych za niewłaściwe dla interesu Chin. Niedługo będzie ogólnoświatowa akcja wzmocnienia ochrony serwerów DNS – poprzez szyfrowanie i certyfikaty – czy to coś pomoże? Zobaczymy.
- Tamże - tegoroczna konferencja Pwn2Own zgodnie z oczekiwaniami pokazała słabość popularnych przeglądarek (IE w ciągu 2 min, Safari – 2s, Fireofx – też nie lepiej). Ostał się jedynie Chrome. Być może to za sprawą podejścia do otwierania każdej strony w piaskownicy i na dodatek z minimalnymi uprawnieniami. Dlatego mimo, że Chrome zbudowany jest na popularnej bibliotece WebKit (bazuje na niej m.in. Safari) jest to jedyna przeglądarka do której nie było nawet prób podejścia do jej złamania poprzez atak typu drive-in (spreparowanie strony tak by uzyskać specjalne przywileje w systemie operacyjnym). Może gdyby organizatorzy zmienili warunku konkursu znalazłby się chętny na 10 tyś dolarów i sławę białego hackera. Wniosek dla naszej firmy jest taki – Chrome jest przeglądarką przyszłościową – jest szybka i bezpieczna – może dlatego trzeba się jej lepiej przyjrzeć u nas w firmie?
- Tamże -SVG – temat rzeka. Brak natywnego wsparcia tej technologii w IE mimo, że jest ono w innych przeglądarkach od 2002 (co prawda nie zawsze jest to do końca zrealizowane). MS ogłosił natywne wsparcie SVG (poprzez znaczniki HTML) w IE 9. Sporo wody upłynie zanim popularność IE 9 osiągnie poziom IE 7, ciągle są strony w technologii IE 6. Znaczenie nabiera fakt wykorzystania do renderowania grafiki mocy procesorów graficznych. Daje to niesamowitego “kopa” aplikacjom korzystającym z HTM 5 i SVG i stanowi to poważne zagrożeni dla wszechobecnego Flasha.
- A pro po mam tu zasoby na temat SVG:
piątek, marca 26, 2010
Usprawnić swoje działanie
czwartek, marca 25, 2010
Wyrzuć liska
22 marca br. niemiecka federalna agencja bezpieczeństwa proponuje na jakiś czas zaprzestania korzystania z Firefox’a (do momentu wydania oficjalnych poprawek). Dotyczy to wersji najnowszej 3.6. Podobny komunikat w odniesieniu do IE został wydany przez tę samą agencję 2 miesiące temu.
wtorek, marca 16, 2010
Google rozdaje
- Google Apps Script - http://googleappsdeveloper.blogspot.com/2010/03/publish-your-scripts-to-apps-script.html
- Pomoc - http://www.google.com/google-d-s/scripts/scripts.html
- Strona główna tego projektu - http://googledocs.blogspot.com/2010/03/apps-script-gallery-for-google.html
C# i .NET
- Wprawki w tworzeniu formularzy - http://www.codeproject.com/KB/cs/Study00.aspx
- DevExpress rozdaje:
Nowości w HTML
- Blog na temat kierunków rozwoju IE - http://blogs.msdn.com/pablo/archive/2010/01/04/html5-does-databases.aspx – w szczególności indexed DB
- Pionierem jest pojęcie LocalStorage wspierane w IE i FF (a nawet w Chrome) znane jak DOM Storage. Na ten temat są różne opinie - http://przemelek.blogspot.com/2009/11/localstorage-odsona-2-zaczynaja-sie.html.
- Jak zapamiętać stan w przeglądarce internetowej - http://www.niallkennedy.com/blog/2007/01/ajax-performance-local-storage.html
- Blog na temat JS - http://blogs.msdn.com/jscript/
- JS na Channel 9 - http://channel9.msdn.com/posts/Charles/IE-9-First-look-at-the-new-JS-Engine/
- Zadanie – piramida - http://orac.amt.edu.au/aio/sample03/stack.html (http://orac.amt.edu.au/aio/#sample)
- Tu można poćwiczyć -http://orac.amt.edu.au/aioc/train/
- Krytyczne spojrzenie na przeglądarki - http://www.favbrowser.com/the-difference-between-internet-explorer-firefox-google-chrome-opera-and-safari/
- Rośnie IE - http://www.betanews.com/article/That-wasnt-supposed-to-happen-IE-usage-share-steady-since-choice-screen/1268168524
- Ciekawy portal - http://www.favbrowser.com/
- Obroty obrazków - http://www.useragentman.com/blog/2010/03/09/cross-browser-css-transforms-even-in-ie/
- Sześcian - http://www.useragentman.com/tests/cssSandpaper/cube3.html
- Wzorce w JS - http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth
piątek, marca 12, 2010
Zasoby AJAX wg. serwisu internetowego AJAXIAN
Ajax Frameworks / Libraries
JavaScript
- The Dojo Toolkit: The kitchen sink
- Prototype: base Ajax library and more
- Script.aculo.us: rich effects built on Prototype
- jQuery: plugins are us
- ExtJS: we are good lookin’
- Rico: rich Ajax components and effects built on Prototype
- Behaviour: Keep your HTML clean
- MochiKit: MochiKit makes JavaScript suck less
- Moo.fx: tiny effect library
- AJFORM
- Qooxdoo
- Zimbra AjaxTK: vendor toolkit
- Backbase: Commercial vendor toolkit
- TIBCO General Interface (aka GI): Dual license – details here
- JackBe: Commerical vendor toolkit
- Bindows: Commerical vendor toolkit
- Isomorphic: Commercial vendor toolkit
- ThyAPI
- Tibet: Commercial vendor toolkit
- AjaxFace: Commercial
- Crossvision Application Designer by Software AG: Commercial
Java based
- DWR: Proxy-based Ajax
- Echo2
- Ajax Tags
- WebWork 2
- Struts Layout
- Tapestry Tacos
- Wicket
- ICEfaces: Commercial
- ThinkCap JX: Commercial
PHP
.NET
Cross Language / Other
- Ruby: Ruby on Rails
- Python: TurboGears
- Python: Crack Ajax
- Perl: CGI::Ajax
- Lisp: CL-Ajax
- JSON-RPC
General Ajax Info
- Ajax Patterns
- Ajax Matters
- Ajax Info
- Ajax Blog
- Wikipedia on Ajax
- Mozilla on Ajax
- Adaptive Path Ajax Essay
- XHR Guidelines
International Ajax
poniedziałek, marca 08, 2010
Ciekawostki
- Co ma na myśli Kurzweil gdy mówi o “podświadomości”
- Zasoby MS Windows Live -http://windowsteamblog.com/blogs/windowslive/default.aspx
- MySpace udostępniło narzędzie do badanie stron www w środowisku IE – tu i na witrynie Google code - http://code.google.com/p/msfast/. Do ściągnięcia - Setup_MySpace_PerformanceTracker.1.0.0.130
- Teorie wszystkiego - http://www.newscientist.com/article/dn18612-knowing-the-mind-of-god-seven-theories-of-everything.html
piątek, marca 05, 2010
Inne, ale satre podjeście do bazy
Raport Kimball group
Although columnar RDBMSs have been in the market since the 1990s, the recent BI requirements to track rapidly growing customer demographics in enormous terabyte databases have made some of the advantages of columnar databases increasingly interesting.
Remember that a columnar RDBMS is a “standard” relational database supporting the familiar table and join constructs we are all used to. What makes a columnar RDBMS unique is the way data is stored at the physical level. Rather than storing each table row as a contiguous object on the disk, a columnar RDBMS stores each table column as a contiguous object on the disk. Typically, these column specific data objects are sorted, compressed, and heavily indexed for access. Even though the underlying physical storage is columnar, at the user query level (SQL), all tables appear to be made up of familiar rows. Applications do not have to be recoded to use a columnar RDBMS. The beneath-the-cover twist from a row orientation to a column orientation is the special feature of a columnar RDBMS.
A columnar RDBMS offers the application designer and the DBA some design advantages, including:
· Significant database compression. Dimension tables filled with many low cardinality repeated attributes compress significantly, sometimes by 95% or even more. Fact tables with numeric measurement values also compress surprisingly well, often by 70% or more. Columnar databases are very supportive of the dimensional modeling approach.
· The query and storage penalties for very wide tables with many columns are greatly reduced. A single column, especially one with low cardinality, adds very little to the overall storage of a table. More significantly, when a table row is fetched in a query, only the named columns are actually fetched from the disk. Thus if three columns are requested from a 100 column dimension, only about 3% of the row content is retrieved. In a conventional row oriented RDBMS, typically the entire row must be fetched when any part of the row is needed. (More exactly, the disk blocks containing the requested data are fetched into the query buffer and much un-requested data in these blocks comes along for the ride).
· Adding a column to a fact or dimension table in a columnar RDBMS is not an especially big deal since the system doesn’t care about row widths. No more block splits when you expand a “row.” Now the designer can be much more profligate about adding columns to an existing table. For instance, you can now be comfortable with wider fact table designs, where many of the fields in a “row” have null values. In this way, the designer can regularly add new demographics columns to a customer dimension because each column is an independent compressed object in the physical storage. Be aware, however, that as you add more columns to your fact and dimension tables, you have increased responsibility to keep the BI tool user interfaces simple. A tried and true way to keep the user interfaces simple is to deploy multiple logical views for different BI use cases, where each view exposes a set of relevant fields used together. And, we should point out that adding more columns to a table is not an excuse for adding data to a table that violates the grain!
· As I mention in my design classes, SQL is horribly asymmetric in that it allows very complex computations and constraints within records, but makes it virtually impossible to apply computations or constraints across records. Columnar RDBMSs remove some of this applications pressure, not only because they encourage far wider table designs (thereby exposing many fields within the same row to SQL), but also because columnar RDBMSs specialize in cross column access through bitmap indexes and other special data structures. BI tool designers welcome the extended width of fact and dimension tables because within-row constraints and computations are a hundred times easier to set up than the corresponding cross-row versions.
Columnar databases pose provocative tradeoffs for IT. In particular, these databases have had a reputation for slow loading performance, which the vendors have been addressing. Before investing in a columnar database, make sure to carefully prototype loading and updating back room tasks. But in any case, these databases offer some interesting design alternatives.
Ciekawe
- Edytory OnLine - http://aviary.com/tools/phoenix
- Wybieracz kolorów - http://ajaxian.com/archives/color-picker-works-even-in-ie6?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ajaxian+%28Ajaxian+Blog%29
- Wybierz swój kolor - http://raphaeljs.com/picker/
Czego nas uczy witryna WebDesign?
- CSS - http://webdesign.about.com/cs/css/a/aa012599.htm?nl=1
- Zdrowie - http://altmedicine.about.com/cs/mindbody/a/Meditation.htm
- Programowanie aplikacji webowych - http://webdesign.about.com/od/javascriptandcgi/p/bl_pros.htm
- AJAX - http://webdesign.about.com/od/javascript/JavaScript_and_Ajax.htm
- DOM/JS - http://javascript.about.com/library/blunobtrusive2.htm
Serwisy społecznościowe wolą inne bazy…
Kolejne potwierdzenie odchodzenia serwisów społecznościowych od tradycyjnych (relacyjnych) baz danych w kierunku ‘NoSQL’. We wrześniu ubr. Digg, a teraz Twitter mówi o planach odejścia od MySQL w kierunku bazy Cassandra. Mówi się, że obecnie nacisk należy położyć na odczycie danych (szybkim dostępie) niż na zapisie. Dzieje się tak dlatego, że serwisy przechowują często pobierane dane w pamięci podręcznej (cache lub memcache) tak, że są one natychmiast dostępne a jedynie zapis (utrwalenie - zapewnienie spójności w bazie) jest ważny. Dlatego główny atut MySQL – niesamowicie szybki odczyt, dobie ogromnej pojemności pamięci RAM, odchodzi na drugi plan. Takimi nie-SQL–owymi bazami są: HBase, Voldemort, MongoDB, MemcacheDB, Redis, Cassandra, HyperTable, Tokyo Cabinet/Tyrant, and Dynomite. Źródło – ITWorld.
Porzucenie MySQL może przyjąć masowy charakter z uwagi na przejęciu SUN-a (właściciela praw do MYSQL) przez firmę Oracle.
czwartek, marca 04, 2010
Ciekawe oprogramowanie
- Oprogramowanie do przesyłania dużych plików – WeTransfer – bez żadnych ceregieli.
- Mary Jo-Foley z serwisu Zdnet twierdzi, że najpopularniejszym serwerem na świecie jest Windows – opiera się na podstawie raportu IDC
Units (Q3 2009/Q4 2009)
Windows 1,248,200 (73.9%) 1,434,225 (73.9%)
Unix 72,001 ( 4.3%) 84,851 ( 4.4%)
Linux 357,491 (21.2%) 412,041 (21.2%)Total 1,688,859 1,941,966
- Coś dla Oli:
- Wykorzystanie kart graficznych (GPU) jako odciążenie procesora głównego (CPU) przez firme NVIDIA.
- Lista TOP 500 najszybszych superkomputerów świata - http://www.top500.org/2007_overview_recent_supercomputers/main_architectural_classes
- Lista (ponad 100) darmowych aplikacji wspomagających pracę pod Windows - http://www.itworld.com/software/98271/112-best-free-downloads-sites-and-services-full-list?source=ITWNLE_nlt_today_2010-03-02
- Przykłady z tej listy:
- Muzyka - http://www.zendesk.com/external/wall/ ale najlepszym serwisem jest GrooveShark
- Ubuntu Remix - http://www.pcworld.com/downloads/file/fid,83385/description.html?loomia_ow=t0:s0:a38:g26:r7:c0.005652:b30704536:z0
- 3-D Pulpit - http://www.pcworld.com/downloads/file/fid,83352-order,4/description.html
środa, marca 03, 2010
Pożyteczne
- ComputerWorld zebrał ciekawy słownik pojęć informatycznych - http://www.itworld.com/security/98458/cisco-develops-vpn-client-pcs-smartphones?source=ITWNLE_nlt_today_2010-03-02 – trochę stary ale zawsze coś.
- Cisco na Targach Cebit – pokazało nowego klienta VPN na bazie starej technologii AnyConnect. Nic więcej nie wiadomo, poza terminem ukazania się oprogramowania – czerwiec tego roku. Mają być wersje na urządzenia mobilne (komórki, smartphony) oraz PC (Windows/Linux) i Mac-ki.
- Najgorsze błędy popełniane podczas obsługi sieci - http://www.eweek.com/c/a/Security/Top-25-Programming-Errors-That-Kill-Network-Security-535619/?kc=EWKNLEDP03032010A
wtorek, marca 02, 2010
Bardzo pożyteczne wideo – prosto z sieci
- Niezmordowany prof. Lewin - http://ocw.mit.edu/OcwWeb/Physics/8-03Fall-2004/VideoLectures/detail/embed05.htm
- Jego lekcje - http://ocw.mit.edu/OcwWeb/Physics/8-03Fall-2004/VideoLectures/
- Lekcje Crockforda i inne - http://www.catonmat.net/blog/learning-javascript-programming-language-through-video-lectures/
- Trudności z metodami statycznymi - http://searchwindevelopment.techtarget.com/tip/0,289483,sid8_gci1395284,00.html?track=NL-150&ad=752477&asrc=EM_USC_10977589&uid=267959
- Sieć domowa pod Windows 7 - http://blogs.techrepublic.com.com/itdojo/?p=1561&tag=nl.e101
- Cauche Resin - http://refcardz.dzone.com/assets/request/express/18899/03278200902014164c163?oid=weekly-030110
- Analiza wykonania skryptów JS - http://carlos.bueno.org/2010/02/measuring-javascript-parse-and-load.html?v=2
- Moja grupa w DIIGO - http://groups.diigo.com/group/coders
Po naukę do MS
Kogo boi się Microsoft?
Oto 10 firm stanowiących zagrożenie dla MS:
- MapQuest – mimo, że usługa Bing Map jest o niebo lepsza od Google Map to mapy tej firmy są jeszcze lepsze (w kontekście terytorium USA)
- Google – wiadomo dlaczego, pierwsza witryna na świecie
- Yahoo – mimo podpisanej umowy o współpracy
- Facebook – druga pod względem popularności witryna w Stanach
- YouTube – mimo, że część Google ale generuje inny rodzaj ruchu sieciowego
- Twitter – za wchodzenie w układy z Yahoo i Google
- Ubuntu – doskonale naśladuje przyjazne GUI MS Windows
- HP – w rozwoju i rywalizacji w zakresie obliczeń w chmurze
- Mozilla – zagrożenie dla IE oraz reklam z sieci
- Amazon – chyba sojusznik MS ale nadal niezależny i nieobliczalny
Źródło - eweek
Co to NoSQL?
Taka baza danych w odróżnieniu od relacyjnych nie udostępnia języka SQL do manipulacji danymi. Zwykle organizuje dane w sposób inny od tradycyjnego (nie w postaci tabel). Dzieli się na trzy kategorie wg przyjętej orientacji :
- kolumnowe
- klucz-wartość (takie były pierwotne rozwiązania bazodanowe
- dokumentowe
W PHP można bazę “document-oriented” zapisać tak:
$person = array(
"name" => "Cesar Rodas",
"country" => "Paraguay",
"languages" => array("Spanish", "English", "Guarani"),
);
Jednym z przedstawicieli takich baz jest MongoDB. Cechuje się ona stosowaniem JSON (zamiast XML), dużą szybkością, wsparciem dla indeksów, transformacji typu map-reduce oraz rozszerzeniami dla PHP
Na podstawie: http://www.phpclasses.org/blog/post/118-Developing-scalable-PHP-applications-using-MongoDB.html
Ciekawostki
- Google wykupuje Picnic – Picassa jest aplikacją podobną, ale wymaga instalacji. Picnic już nie – używa technologii Flash.
- Intel mówi poważnie o przejściu swych pracowników (80 tyś) z Windows XP na Windows 7 z pominięciem Vista, ciągle jednak narzeka na braki w zarządzaniu taką ilością użytkowników (UAC)
- W serwisie PHPClasses: MongoDB baza typu NOSQL – łakomy kąsek dla PHP
- Serwis blogowy TechRepublic: jak stworzyć punkt dostępowy w Windows 7 przy pomocy Connectify (program do wirtualizacji adaptera bezprzewodowego, wspiera tylko nowe kart będące na liście) – potencjalna dziura w bezpieczeństwie
- Wg badań Computer World najwszechstronniejszym programem zabezpieczającym komputer jest Comodo – zawiera także firewall.
- Programy do zabezpieczania zasobów na komputerze – BitLocker (windows 7) lub EncryptOnClick
- Fajne wideo - (jedno z wielu)
- Rzeczy, które możesz robić w chwilach wolnych - http://www.thegeekstuff.com/2010/03/30-things-to-do-when-you-are-bored-and-have-a-computer/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheGeekStuff+%28The+Geek+Stuff%29
- Jak stworzyć sieć domową w oparciu o Windows 7 - http://blogs.techrepublic.com.com/itdojo/?p=1561&tag=nl.e101 i jak udostępnić jej zasoby “starym” klientom (Windows XP i Vista) - How do I make Windows 7 HomeGroup content accessible to Vista and XP-
No to HipHop
Wg. CIO - Poważny portal jakim jest FaceBook ogłosił, że w celu zoptymalizowania wydajności swych aplikacji (napisanych w PHP) będzie używał zamiast serwera Apache inny tzw. HipHop for PHP. Jest to serwer tłumaczący PHP w zoptymalizowany kod C++ z wbudowanym w siebie serwerem www. Zbudowany został własnymi siłami przez Facebook. Ilość kodu PHP jest ogromna ok. 4 mln wierszy. Proces został zainicjowany, nie wiadomo nic o harmonogramie przejście z Apache na HipHop. Dotychczas Facebook używał tradycyjnego modelu LAMP ale z uwagi na ilość użytkowników zaczyna “robić” bokami i odczuwa potrzebę poprawienia wydajności i skalowalności. Próbuje także innych środków np. przechodzi z Apache 1.3 na 2.2, stosuje nowy serwer www o nazwie Tornado (napisany w języku Python). Innymi technologiami typu open_source używanymi przez F jest memcache oraz baza Hadoop. Tutaj mamy przegląd wszystkich technologii otwartych stosowanych przez ten portal - http://developers.facebook.com/opensource.php. Obciążenie tego serwisu jest ogromne – średnio użytkownik siedzi w nim dziennie ok. 30 minut (więcej niż w aplikacjach Google) i ma ok. 150 znajomych.
Wojna przeglądarek
Badanie rynku przegladarek internetowych wykazały spadek udziału FireFox’a -http://www.netmarketshare.com/browser-market-share.aspx?qprid=1
czwartek, lutego 18, 2010
Lista 25 największych błędów programistycznych za rok 2010
Uaktualniono te listę znaną z 2009 - http://cwe.mitre.org/top25/ o tyle ciekawa i pożyteczna, ponieważ zawiera również przykłady złego stosowania z omówieniem.
piątek, lutego 12, 2010
Zasoby CODE PROJECT
- WCF 1 - http://www.codeproject.com/Articles/55690/WCF-Loose-coupling-of-WCF-Service-and-Data-Contrac.aspx
- Wyrażenia lambda - http://www.codeproject.com/Articles/56913/Lambda-Expression-in-Csharp-3-0.aspx
- Wykorzystanie komponentu WebBrowser - http://www.codeproject.com/KB/aspnet/WebBrowser.aspx
- RestFull - http://www.codeproject.com/KB/WCF/EasyWCF.aspx
- Serwer opary o gniazdka - http://www.codeproject.com/KB/webservices/c_sharp_web_socket_server.aspx
- Pięć sposobów na pobranie danych poprzez JSON w jQUERY - http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/
Bazy nie SQL-owe
- Świetny artykuł na temat baz nie będących zgodnych z modelem relacyjnym - http://blogs.computerworld.com/15556/the_end_of_sql_and_relational_databases_part_2_of_3:
- BerkeleyDB
- BigTable (Google)
- Wstęp do baz nierelacyjnych (jest wiele odmian) - http://blogs.computerworld.com/15510/the_end_of_sql_and_relational_databases_part_1_of_3. Pierwsze oznaki niezadowolenia z baz relacyjnych – Ruby on rails i inne frameworki (Ruby on Rails, Active Record i Hibernate)
- Ciekawy podcast - http://www.drdobbs.com/testindex.jhtml?bcpid=1753162067&bclid=1747276019&bctid=54983834001
środa, lutego 10, 2010
Ciekawostki na dzisiaj
- Portal dla badaczy Pisma - http://bibletools.org/index.cfm/fuseaction/Bible.show/sVerseID/16071/eVerseID/16071/version/ASV
- Szukałem Tmma Lehrer’a i znalazłem oczywiście na youtube!
- Bardzo ciekawy portal - http://boingboing.net/
- Edytor kodu JS online – Bespin (projekt Mozilla) - https://bespin.mozilla.com/
- Testowanie PHP – www.xdebug.org
- Serwis o metodologii programowania -http://www.methodsandtools.com/mt/download.php?winter08
- Deweloperka:
- Oracle i NetBEans (tam tez są liki innych baz)
- Świetna witryna o JS (hasAttribute(“nazwa_atrybutu”)) lub clearAttributes() – usuwa wszystkie atrybuty z wyjątkiem id i name
- Ota ta witryna w pełnej krasie - http://javascript.gakaa.com/
- O Php z Zenda - http://devzone.zend.com/node/view/id/663
piątek, lutego 05, 2010
Ciekawe
- Materiały o MS Office 2010 - http://office.microsoft.com/en-us/downloads/FX101321101033.aspx?pid=CL100570421033
- VS 2010 Beta – materiał do studiowania :
- F# w kanale 9
- SQL 2008 - http://www.microsoft.com/express/Resources/:
- Co daje UBUNTU - http://www.eweek.com/c/a/Linux-and-Open-Source/Linux-based-OS-Ubuntu-9-10/?kc=EWWHNEMNL01272010STR2
- JS – nie przeszkadzać - http://www.codecapers.com/post/Making-Your-JavaScript-Unobtrusive.aspx
- Wydłuż sobie dzień - http://brettkelly.org/2010/01/20/how-to-make-today-a-25-hour-day/
wtorek, lutego 02, 2010
Nowinki
- Czołowe CRM w technologii open source (poza liderem Sugar CRM):
- Lista najbardziej rewolucyjnych produktów IT:
- Spring Framework: Disrupted Java Enterprise Edition (Java EE and J2EE) by offering a lighter, easier-to-use framework.
- Ruby Rails: Disrupted Java and .NET, offering an easier way to develop Web applications.
- Eclipse: Disrupted many if not all Integrated Development Environments with its open source offerings.
- Amazon Web Services: Disrupted managed hosting providers by providing simple and uncomplicated access to capabilities on a piecemeal basis.
- JBoss Application Server: Disrupted the commercial app server business with its open-source offerings.
- MySQL and other open source databases: Disrupted the commercial database market.
- Apache Ant: Disrupted Make and proprietary build systems.
- JUnit/xUnit: Disrupted developers’ mindsets, encouraged testing of code.
poniedziałek, lutego 01, 2010
Książki o filozofii
W kolekcji ukażą się:
- Arystoteles – Zachęta do filozofii, Fizyka – od 28 stycznia;
- Arystoteles – Etyka wielka, Poetyka – od 4 lutego;
- Platon – Uczta, Polityk, Sofista, Eutyfron – od 11 lutego;
- Platon – Państwo – od 18 lutego;
- Cyceron – Rozmowy tuskulańskie i inne pisma – od 25 lutego;
- Seneka (Młodszy) – Listy moralne do Lucyliusza – od 4 marca;
- Św Augustyn – Solilokwia i inne dialogi o duszy – 11 marca;
- Awicenna – Księga wiedzy – od 18 marca;
- Ockham – Suma logiczna – od 25 marca;
- Kartezjusz – Medytacje o pierwszej filozofii. Tom 1 – od 1 kwietnia;
- Kartezjusz – Medytacje o pierwszej filozofii. Tom 2 – od 8 kwietnia;
- Spinoza – Etyka – od 15 kwietnia;
- Wolter – Elementy filozofii Newtona – od 22 kwietnia;
- Rousseau – Umowa społeczna, List o widowiskach – od 29 kwietnia;
- Kant – Krytyka czystego rozumu. Tom 1 – od 6 maja;
- Kant – Krytyka czystego rozumu. Tom 2 – od 13 maja;
- Hegel – Fenomenologia ducha. Tom 1 – od 20 maja;
- Hegel – Fenomenologia ducha. Tom 2 – od 27 maja;
- Kierkegaard – Albo-albo. Tom 1 – od 2 czerwca;
- Kierkegaard – Albo-albo. Tom 2 – od 10 czerwca;
- Popper – Społeczeństwo otwarte. Tom 1 – od 17 czerwca;
- Popper – Społeczeństwo otwarte. Tom 2 – od 24 czerwca;
- Heidegger – Bycie i czas – od 1 lipca;
- Tatarkiewicz – O szczęściu – od 8 lipca;
- Kołakowski – Kultura i fetysze – od 15 lipca.
