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

środa, maja 09, 2012

Skryptowanie w JS

Nauka jQ - http://www.learningjquery.com/.  Przygotowanie do bindowania - $("div").data("imaDiv", true) – oznacza to przypisanie do jakiegoś div-a nowej zmiennej o wartości ‘true’.

Fundamentem każdej strony wysyłającej dane od klienta do serwera jest kontrola danych zarówno po stronie klienta jak i po stronie serwera z jednakowym naciskiem na szczegółowość kontroli po obu stronach. Tak twierdzi Tim Kulp na stronach wirtyny MSN ScriptJunkies w artykule “Lockdown Pt 2 – Sanitazation and Data Security”. Pierwszy etap kontroli do tzw. Input Validation, drugi to Sanitazation and Data Security. Niebezpieczeństwo wynika z korzenia architektury maszyn von Neumana – dane są traktowane jako kod. W przypadku JS i HTML powoduje to możliwość ataku poprzez podsunięcie pod ciąg zawierający dane jakiegoś kodu i nosi to nazwę XSS (Cross Site Scripting) – opis tego rodzaju ataków jest omówiony w innym artykule na MSDN. Sanitazacja oznacza wyczyszczenie danych ze szkodliwego kodu. Istnieją po stronie klienta (przeglądarki z JS)  bezpłatne biblioteki do czyszczenia kodu – ESAPI4JS (OWASP) i jquery-encoder (wtyczka do jQ). Przesyłane dane można szyfrować przy pomocy biblioteki jCryption (ma ona wersję zarówno dla php jak i js). Proszę się nie obawiać tego, że algorytmy szyfrowania są dostępne w kodzie źródłowym – bez obaw, podstawą bezpieczeństwa jest KLUCZ a nie sposób jego użycia. Cz. I teo artykułu mówi o procesie Input Validation w oparciu o metodykę NIST i OWASP (OWASP Top Ten project) - http://msdn.microsoft.com/en-us/magazine/hh314542.aspx.

niedziela, września 25, 2011

Ciekawostki w ostatnią niedzielę września

Owocem współpracy MS i Nitobi jest wyspecjalizowana wersja Phone Gap dla WP7. Firma Nitobi prowadzi specjalny blog na temat telefonów mobilnych i tworzeniu dla nich aplikacji. Nitobi daje wiele innych narzędzi oprócz Phone Gap, są także faremworki JS-owe. Do tego dochodzą frameworki w JS np: jQ Mobile, jQ Toucj, Jo, Sencha Touch, XUI, Sproutcore – słowem do wyboru do koloru. Obserwuj co się dzieje na portalu eAndroidowo oraz obserwuj SL4 na google code – tam są implementacje natywnych aplikacji w środowiskach języków dynamicznych (PHP,Python). Może też KendoUI na bazie jQuery ma coś do zaoferowania.

Kolejny kurs JS - http://windowshosting.pl/Kurs.JavaScriptu..Podstawy.programowania.na.potrzeby.stron.WWW

Ostatnio Panda Cloud osiągnęła niezłe wyniki w skanowaniu – webhosting. Do ochrony przed starymi wersjami oprogramowania można wykorzystać PSI firmy Secunia.

Obserwować inne twitter-y: blip/flaker

Ukryte koszty jakie ponoszą klienci Google Apps for Enterprise – infografika

Do tworzenia PDF w środowisku PHP zaleca się http://www.fpdf.org/ chociaż najlepsze jest PDFlib. Na tej stronie są także odwołania do portów tej biblioteki na inne paltformy językowe np. COM, ASP, Java czy Python. Oczywiście najważniejsza strona dla deweloperów to portal ADOBE. Narzędzia PDF-owe w postaci biblioteki xpdf - http://www.foolabs.com/xpdf/download.html. Ogólne sprawy pdf-owe są na poratlu pdfzone (np. ciekawy link: http://www.pdfzone.com/c/a/Authoring/Creating-a-Basic-PDF-Form/). Inne PDF-owe aplikacje (na foolab):

  • PostScript-to-PDF converters:
    • pstoedit converts from PostScript to many formats, including PDF; it also converts PS or PDF to other vector formats.
    • Ghostscript can display PDF files, and also includes a PostScript to PDF converter.
    • PStill is a shareware PostScript-to-PDF converter.
  • Other PDF converters/generators:
  • PDF format info:
  • TeX and PDF:
    • pdftex lets TeX produce PDF output.
  • Miscellaneous links:

Podobno najlepszy program do oglądania PDF (wg. lifehackera) - http://www.tracker-software.com/product/pdf-xchange-viewer

Portal dla .NET-owców - http://dotnetomaniak.pl/Category/Windows/3

Co tam panie na rynku przeglądarek? Dominuje jeszcze IE - http://windowshosting.pl/Miliard.Chinczykow.nie.moze.sie.mylic.w.badaniu.Net.Applications.wygrywa.Internet.Explorer i http://webhosting.pl/Tymczasem.na.rynku.przegladarek.Firefox.traci.coraz.wiecej.udzialu.w.rynku.jakie.sa.tego.powody

wtorek, września 13, 2011

Tematy z zakresu JS

Piękna i bogata biblioteka do JS wraz z (opcjonalnie) wsparciem strony serwerowej (PHP jest bezpłatne) – nitobi. Jak wystartować z JQ? Tutaj jest świetny artykuł na ten temat. Połączenie JQ z JS – tu. Zaawansowane techniki JS – tu. Biblioteka typu MVC – knockout (poszukaj w google “knockout js”). Wzorzec do budowanie stron HTML – boiler plate. Co wybrać EXT-PHP czy PHP-EXT?

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

piątek, maja 06, 2011

Aplikacje webowe

czwartek, kwietnia 21, 2011

Nowinki

poniedziałek, kwietnia 11, 2011

Obsługa HTTP/HTTPS w PHP

Traktowanie serwera PHP w nietypowy sposób do obsługi komunikacji z innym serwerem. Jak to zrobić? Od razu nasuwają się następujące rozwiązania:

  1. skorzystanie z cURL - dokumentacja
  2. wykorzystanie wrappera do HTTP – świetny blog - http://wezfurlong.org/blog/2006/nov/http-post-from-php-without-curl/ – tam sie dowiedziałem, że dopiero ustawienie ‘ignore_errors’ pozwala na dostanie się do ładunku zwróconego w przypadku błędów po drugiej stronie. Przy okazji można wykorzystać tu http://pl.php.net/http_build_query
  3. zaprzęgnięcie do tego usług webowych –WSO2

Różności

Różne:

  1. Wstrzykiwanie kodu m. serwerem a klientem w JS - bardzo niebezpieczne - na blog.port80software.com
  2. Ciekawe “t's not a new idea—you've very likely heard the phrase "Good artists borrow, great artists steal. "It's commonly attributed to Pablo Picasso, or T.S. Eliot, though it likelyoriginated with neither. Kleon illustrates his point in the cartoon above, and has this to say on the subject:
    1. Here's what artists understand. It's the a three-word sentence that fills me with hope every time I read it:
    2. Nothing is original.
    3. It says it right there in the Bible. Ecclesiastes:
    4. “That which has been is what will be, That which is done is what will be done, And there is nothing new under the sun."
  3. Every new idea is just a mashup or a remix of previous ideas.”\
  4. Jak zostać odkrywcą i kraść cudze pomysły - http://www.austinkleon.com/2011/03/30/how-to-steal-like-an-artist-and-9-other-things-nobody-told-me/?utm_source=Lifehacker+Newsletter&utm_campaign=31570e088d-UA-142218-1&utm_medium=email

poniedziałek, stycznia 10, 2011

czwartek, grudnia 30, 2010

Ciekawe linki

  1. Information Retieval -http://trailmeme.com/trails/Information_Retrieval. Jest tam odnośnik do pozycji literaturowej - http://trailmeme.com/walk/Information_Retrieval/1014309477? – książki na ten temat (pdf). Właściwie to są dwa pojęcia Data R i Information R.
  2. Wszystko o mind mappingu – też w serwisie TRAILME.
  3. Ciekawa witaminka - http://www.5min.com/VitaminCM a strona główna jest taka - http://www.5min.com/VitaminCM
  4. Tworzenie aplikacji dla urządzeń mobilnych w środowisku WP7 – dodatek do VB ułatwiający pisanie aplikacji w Silverlight – “Visual Basic for Windows Phone Developer Tools - RTW”. Podobna tematyka – jak wystartować - http://create.msdn.com/en-US/education/catalog/article/wp7_jump_start. Kanał 9 też ma cały blok poświęcony telefonom – “Windows Phone 7 Development for Absolute Beginners
  5. Do rzetelnej nauki VS służy płatny portal - http://www.learnvisualstudio.net/ – 60 dolarów na rok
  6. Odpowiedzią na ofensywę MS jest przekazanie przez Google do fundacji Eclipse narzędzi do tworzenia interfejsu graficznego WindowBuilder (po przejęciu firmy trzeciej Instantiations). Są one pomocne w obsłudze Standard Widget Toolkit, GWT (Google Web Toolkit), i Swing. Te nowe narzędzia są podobne do GWT Designer-a (wg. “Using SmartGWT” po zainstalowaniu GWT mamy dostęp do SmartGWT, Ext GWT(GXT) i GWT-Ext – trochę tego dużo , co wybrać ?).  Dodatkowo Apache SF udostępniło stronę apache-extras.org na której znalazły się dodatkowe projekty sponsorowane przez Google.
  7. Z listy najlepszych darmowych programów – TeamViewr, LogMeIn, Virtual DJ, Virtual Dub, FreeZ online TV, FreeRIP, Connectify, Disc Investigator, Disc SpeedUp (GlarySoft)  – na CNET Download
  8. Sprawa przygotowań do opanowania AZURE:
    1. Na TechNet – “Windows Azure Platform Security Essentials for Business Decision Makers
  9. Jak to naprawić - http://www.ifixit.com/Parts-Store
  10. Akademia pana Kleksa - http://www.khanacademy.org/ – dla ciekawych nauki dzieci
  11. Pamięć online 25 GB – skydrive.live.com, lepsza od DropBox-a
  12. Dla dzieci – blogi muzyczne - http://shuffler.fm/
  13. Nauka HTML5 – przykład - http://pcquest.ciol.com/content/Developer/2010/110070102.asp
  14. Nowe podejście do aplikacji AngularJS
  15. Nauka SVG wg. MS - http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_Scaling_Vector_Graphics z artykułu o IE 9
  16. SCA wg. IBM – wstęp - http://www.ibm.com/developerworks/webservices/library/ws-radsca/index.html?ca=drs-
  17. Nauka od podstaw EF - http://www.asp.net/entity-framework/tutorials/the-entity-framework-and-aspnet-%E2%80%93-getting-started-part-1
  18. Te języki trzeba znać
  19. Z cyklu najlepsze praktyki “Mobile Web Application Best Practices
  20. Tutorial o REST
  21. Najważniejsze wydarzenie deweloperskie w 2010 - http://www.javaworld.com/community/node/6611?source=IFWNLE_jw_2010-12-28
  22. Jest kolejna baza NoSQL – REDIS.
  23. Laboratorium MS o IE 9 i HTML 5 - http://html5labs.interoperabilitybridges.com/
  24. Pseudo wątkowość w JS oparta na timer w JS - http://blogs.sitepoint.com/2010/12/05/javascript-timer-pseudo-threading/. Zwróć uwagę też na inne artykułu wymienione w stopce.
  25. Gorący temat JSON dosyć dobrze wyjaśniony przez Hunlocka – Mastering JSON.  JSONP – wykorzystanie opisane przez Ricka S.
  26. Pluginy do jQUery - http://software.com.pl/nowe-pluginy-w-sluzbie-jquery/. Nauka jQ - http://www.learningjquery.com/category/levels/beginner. Lista 10 najciekawszych wtyczek w jQ - http://webhosting.pl/10.pluginow.jQuery.ktore.powinien.znac.kazdy.webmaster i PHP
  27. Facebook:
    1. Jego zmiana w profilach użytkowników – The Register
    2. Czego musi nauczyć się świat korporacyjny aby go lepiej wykorzystać - http://www.it-director.com/business/innovation/content.php?cid=12452
    3. Inny przykład wykorzystania Twittera - http://www.mcpressonline.com/analysis/analysis-of-news-events/avnets-twitter-feeds-are-a-shining-example-of-social-networking-for-business.html
    4. Połącz logowanie w FB z Wordpress-em - http://webhosting.pl/Mozesz.juz.latwo.polaczyc.Facebook.Registration.Tool.z.blogiem.na.WordPressie
    5. Coś dla deweloperów - http://developers.facebook.com/docs/guides/canvas
  28. Jak skorzystać z danych w SL - http://blogs.msdn.com/b/silverlight_sdk/archive/2010/11/05/a-couple-of-more-data-related-silverlight-quickstarts-for-you.aspx
  29. Zachowanie na miarę JackASS ale w IT - http://www.infoworld.com/d/adventures-in-it/jackass-it-stunts-idiocy-and-hero-hacks-932?source=IFWNLE_nlt_daily_2010-12-18
  30. Ciekawostka – emulator mainframe w komórce – Rational Developer for System z IDE – jeszcze nie ale na laptopa już tak. System z ma wiele narzędzi - http://www-01.ibm.com/software/rational/products/developer/systemz/: jak EGL, Java. RDZ o którym się mówi na początku jest dla programistów COBOL iPL/1 (jak ten ostatni znam). Jak widać na tym portalu komputery typu mainframe maja się dobrze
  31. Co się kryje za nowym językiem Go firmy Google? Jest on podobny do java. Strona domowa –tu. Reklamuje go portal google-opensource. Do ściągnięcia port pod Windows-ami. Chwali go też OSCON - http://www.oscon.com/oscon2010 oraz Google-Code - http://code.google.com/intl/pl-PL/ a to coś znaczy
  32. Jak walczyć z EVERCOOKIE? – tu jest odpowiedź
  33. OSCON – mega portal. Oto wycinek ze ścieżki na temat JS - http://www.oscon.com/oscon2010/public/schedule/detail/14182 i ,ockajax - https://github.com/appendto/jquery-mockjax
  34. Jakieś darmowe narzędzia - http://www.sqlpower.ca/page/products
  35. Bardzo ciekawy portal polski – webhosting

ś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

…………………………..

wtorek, kwietnia 13, 2010

Wspólny mianownik dla kryptografii w różnych rozwiązaniach

  1. W blogu coolthingoftheday jest wzmianka o ciekawym instalatorze dla Windows – Windows Installer XML (WiX)  - jest on bardzo trudny w użyciu chociaż piekielnie uniwersalny
  2. Portal o bezpieczeństwie – net-security.org
  3. Taki rodzynek – praca Rijndaela - http://csrc.nist.gov/archive/aes/rijndael/Rijndael.pdf
  4. 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źć.
  5. 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:
    1. OpenSSl – wszędzie dostępna i wywołuje się nią z linii poleceń
    2. C/C++ – jak w punkcie 4
    3. 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…
    4. PHP – implementuje wiele standardów kryptograficznych które są wbudowane w dystrybucję tego języka. I pewnie jest wiele innych…
    5. Python – jest standardowa biblioteka oraz pakiet Keyczar od google code
    6. Platforma .NET – standardowe, wbudowane moduly oraz BC lub Bonnie.NET. I pewnie wiele innych…
  6. Warunkiem wyboru jednego języka z punktu 5 jest jego przenaszalność – tj. obecność jej w środowiskach gdzie jest potrzeba szyfrowania/podpisywania.
  7. 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)
  8. Dosyć pełna lista bibliotek kryptograficznych - http://www.homeport.org/~adam/crypto/

wtorek, kwietnia 06, 2010

Ciekawe oprogramowanie z sourceForge

  1. 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)
  2. 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
  3. TinyMCE – znany komponent do wspierania edycji wzbogaconej o możliwości zbliżone do MS Word
  4. Inny framework w Javie – OpenXAVA – strona domowa - http://www.openxava.org/web/guest/home – to samo podejście ale w oparciu o PJO + JPA
  5. Portal IBM o technologii Java - http://www.ibm.com/developerworks/java/index.html
  6. Nauka JPA - http://www.ibm.com/developerworks/rational/library/08/0819_mutdosch/index.html

wtorek, marca 02, 2010

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 :

    1. kolumnowe
    2. klucz-wartość (takie były pierwotne rozwiązania bazodanowe
    3. 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

czwartek, marca 05, 2009

Komodo do przodu

Ciągle się mówi o potrzebie dobrego IDE dla językó dynamicznych, i taki jest wiele. Są nawet bezpłatne jak Eclipse czy NetBeans. Komodo jest starym produktem rozwijanym przez ActiveState. Jest podobny do swych rywali (usunięto jego wadę – powolność), ale stawia większy nacisk na integrację między wspieranymi przez niego językami dynamicznymi, wsparcie dla całej masy systemów kontroli wersji. Jego wadą jest cena. Źródło - http://www.computerworld.com.au/article/278183/king_dynamic_ides?pp=2

piątek, lipca 06, 2007

Rozważania na temat technik programowania:
  1. Nastąpiło zbliżenie, środowisko .NET i J2EE stosują technologię Hibernate do przechowywania stanu oraz mapowania obiektów z aplikacji w bazie danych.
  2. Więcej szczegółow u znanego blogisty:
    1. http://www.jonathanbruceconnects.com/jonathan_bruce/
    2. http://devhawk.net/art_sccswitch.aspx
  3. Jeżeli chodzi o Oracle to podobnie jak dla innych baz należy przejść z OLDDB do ADO.NET (mimo, że te modele różnią się istotnie architekturą). Na tym polu króluje firma DataDirect - http://www.datadirect.com/products/net/net_for_oracle/index.ssp.
  4. Przeglądarka API dla Windows - http://www.activevb.de/rubriken/apiviewer/index-apiviewereng.html
  5. Inne przydatne narzędzia programistyczne - http://www.hanselman.com/
  6. Jak to jest z połączeniem PHP-Java:
    1. Thrift - http://developers.facebook.com/thrift/
    2. Krook - http://krook.net/archives/191:
      1. The open source PHP/Java Bridge hosted at SourceForge.
      2. The commercial Zend Platform Java Bridge developed by Zend Technologies.
      3. The free PHP Integration Kit for WebSphere Application Server Community Edition.
  7. REST na podstawie pracy Fielding'a - http://searchwebservices.techtarget.com - REST vs SOAP - the rest story
  8. REST stosuje również Google - http://code.google.com/apis/gdata/overview.html
  9. Dobra kontrola danych jest podstawą bezpiecznej aplikacji webowej : Kevin Beaver- Importance of data validation
  10. A SELENIUM podstawą do testowania gotowej aplikacji w całości - http://www.openqa.org/selenium-core/usage.html
  11. Przemyśl stosowanie JSF (ciągle zbyt uboga w komponenty) - http://www.theserverside.com/tt/articles/article.tss?l=RethinkingJSF
  12. Reminiscensje z JavaONE - http://www.theserverside.com/tt/talks/library.tss#buzek
  13. AJAX i GOOGLE - http://www.softwaredeveloper.com/features/google-ajax-play-nice-061907/
  14. GlassFish - co to jest? https://glassfish.dev.java.net/
  15. Uwaga! Nadchodzi SPRING:
    1. http://blog.interface21.com/main/2007/04/21/what-spring-web-flow-offers-jsf-developers/
    2. http://www.theserverside.com/tt/articles/article.tss?l=SpringNewJavaEE
  16. VFP gości .NET - http://west-wind.com/weblog/posts/104449.aspx
  17. Nowe spojrzenia na AJAX- a http://www.xul.fr/en-xml-ajax.html
  18. Applety z JSC http://jsc.sourceforge.net/
  19. Świetna dokumentacja do bibliotek środowiska JAVA - http://www.jdocs.com/

czwartek, grudnia 14, 2006

Wespół raźniej... najwyraźniej

On October 31st, Zend and Microsoft have announced a technical collaboration to significantly enhance the reliability and performance of PHP on the Windows platform. The technology preview is in response to joint customer demand for better support of the Windows Server platform.

The technology engagement between the two companies will include:
  • Technical improvements for PHP, which will be submitted under the PHP license to the PHP community for feedback and contribution.
  • Microsoft intends to develop and release an Internet Information Services (IIS) add-on component, FastCGI, that will serve as the interface between PHP and the IIS Web server.
  • Zend will establish a Windows testing lab and conduct regular tests and performance improvements to maintain high performance of PHP on the Windows Server platform as PHP evolves.
  • Microsoft and Zend will work to help ensure a production-quality PHP runtime environment for IIS 6.0 (Windows Server 2003) and IIS 7.0 (Windows Server "Longhorn").
  • Zend and Microsoft will actively participate in the PHP community, ensuring an open discussion to help developers planning to deploy PHP applications on the Windows Server platform.

środa, grudnia 13, 2006

Bo do tanga trzeba dwojga

Tango ale z kim?

Sun wprowadzi niebawem nową wersję Java SE 1.6 zwaną Mustang (skupiono się na części klienckiej i lepszej integracji z platformą uruchomieniową, Java 1.5 Tiger skupiała się na części serwerowej). Nowością jest lepsza integracja z językami skryptowymi. Zgodność ze standardem Java Specification Request 223, pozwalająym na uruchomienie m.in. JavaScript and Python, w środowisku Java Virtual Machine (co z PHP, brak tutaj na ten temat informacji). Wszystko po to aby podzielić zadania: skompliowane obliczenia i dostęp do baz wykonać w Javie, a PHP zostawić sprawę interfejsu. Dodatkowo postanowiono zaktualizować NetBeans 5.5. do wsparcia nowej wersji Javy (chociaż w NetBeans wcześniej mówiło się o wsparciu jezyków skryptowych - projekt Coyote [https://coyote.dev.java.net/])

Nie sposób tu nie wspomnieć o MS - Mimo, że MS stoi na uboczy jeżeli chodzi o technologie open-sourceto ostatnio zatrudniło Jim Hugunin, twórcę języka Jython, któy pracuje w projekcie IronPython (wsparcie dla tego języka w środowisku platformy Microsoft .Net Common Language Runtime).

Inny projekt języka to Groovy specjalnie napisany do uruchamiania w środowisku JVM (komitet techniczny składa się z przedstawicieli Sun, IBM i Apache)

Oto druga połówka do tanga.
W ramach nwego JSE 1.6 przewidziano lepszą integrację z platformą MS (IBM to już ma więc Sun też chce) w zakresie WS (usług sieciowych) [http://java.sun.com/developer/technicalArticles/glassfish/ProjectTango/] w ramach projektu Tango (działa w ramach większej inicjatywy GlassFish - otwartej inicjatywy Sun stworzenia implementacji własnej WS). W Sun jest specjalna grupa ludzi WS - http://java.sun.com/webservices/, współpracująca z grupą ludzi z MS - http://windowscommunication.net/ (WCF - Windows Communication Foundation a nie World Children Fund) w zakresie implementacji i testów zgodności standardów WS-*. Chodzi m.in. o import opisu serwisów WS ze środowiska MS WCF (WSDL) przy pomocy JAX-WS, optymalizację transferu, bezpieczeństwo, tranzakcyjność poprzez "wyklikanie" w interfejsie IDE (np. NetBeans) odpowiednich właściwości. Szybkie, łatwe i proste...

czwartek, listopada 09, 2006

PHP z Javą (jak pies z kotem czy...?)


Adaptacja PHP w korporacyjnym środowisku jest coraz większa. Powoduje to konieczność skorzystania z istniejących w tym srodowisku komponentów napisanych J2EE w Javie . Dla przykładu weźmy WebSphere Application Server jako zaplecze oraz front w postaci Zend Platform (z uwagi na PHP/Java Bridge - służący do wywoływania komponentów Javy z kodu PHP ). Są dwa sposoby współpracy:
  • Web Service - usługi webowe, narzędzia do tworzenia i pobierania ich są wbudowane w PHP 5 (korzysta z przeładowania metod)
  • most PHP/Java Bridge - middleware wbudowany w Zend Platform do manipulowania obiektami Java jakby to były obiekty PHP.
Na podstawie artykułu: Achieve J2EE-PHP Interoperability