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

wtorek, maja 10, 2011

Programowanie

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

O Bin Ladenie:

Jak REST-ować:

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

Szkolenia w .NET:

czwartek, kwietnia 21, 2011

Nowinki

wtorek, stycznia 04, 2011

JQuery–nowości

Jeżeli się szuka informacji o najnowszych trendach w JQ trzeba jej szukać na stronach bloga - http://blog.jquery.com/. Trudno powiedzieć jaki standard trzech rozszerzeń zaproponowanych przez MS i przyjętych przez grupę rozwijającą jQ będzie. API z witryny MS i jQuery różnią się niestety. Jedyne co pewne to przyjęcie idei templatek ale  i one się różnią od propozycji MS (w wersjach 1.4.x są one uznane jako oficjalne wtyczki, od wersji 1.5 mają być już wbudowane). Wg. MS idea rozszerzenia jQuery wygląda tak (wg. bloggera Scott Gu jest tam dodana specjalna biblioteka w js):

  1. Templatki (templates)– wzorce, wzbogacone o możliwość warunkowego  wyboru elementów.
  2. Linki danych (data linking) – można powiązać elementy DOM (np. <input z id>) z elementami pochodzącymi z obiektów JS. Wiązanie jest w obie strony, zmiana wartości jednego elementu z DOM skutkuje zmianą elementu w JS.
  3. Konwertery – umożliwiają zmianę formatu danych (np usunięcie znaków formatujących konto lub numer telefonu)

Wg. jQuery sytuacja tych wtyczek w wersji beta wygląda tak:

API Documentation

Tutorials

Ciekawy podręcznik autorstwa programisty z MS - http://www.borismoore.com/2010/09/introducing-jquery-templates-1-first.html


Osobiście wolę implementację pochodzącą od Microsoft – jest bardziej czysta i klarowna, chociaż nie wpisuje się tak dobrze w dokumentację jQuery. Te trzy wyżej zgłoszone propozycje pozwalają na eleganckie wiązanie danych między modelem (obiekty JSON w JS) a widokiem (elementy DOM w HTML) i są przedłużeniem idei bind() z jQuery

poniedziałek, kwietnia 19, 2010

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, or null.
  • 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.

środa, kwietnia 14, 2010

Prace z aplikacjami Google os strony programistów

  • Bomba! na Google codes – jest biblioteka do obsługi SOAP-a - http://www.google.com/google-d-s/scripts/soap_geoip_example.html#section2
  • Jak dostać się do serwisu SOAP - http://www.google.com/google-d-s/scripts/soap_geoip_example.html#section5
  • A to wszystko powyżej zaczyna się tutaj - http://www.google.com/google-d-s/scripts/soap_overview.html. Ostrzeżenie – niestety biblioteka wchodząca w skład Google Apps Script jest dostępna wyłącznie a aplikacjach Google!
  • Biblioteka kliencka Google – Client Libraries – mają pomóc w pisaniu aplikacji klienckich które odwołują się do API dokumentów tzw. Documents List Data API. Są przykłady – Doc Uploader napisany w C#, przeglądając źródło można wiele się nauczyć od strony programowania w C# i .NET. Bardzo ważny problem to autentykacja, na to też mamy sposób – jest tutorial. Wszędzie stosuje sie format json, lista przykladów jest tu. Praojciec tego wszystkiego zaczyna się tu - http://code.google.com/intl/pl/apis/documents/overview.html
  • Opis protokołu data API - http://code.google.com/intl/pl/apis/documents/docs/3.0/developers_guide_protocol.html
  • W celu ręcznego grzebania w API wykorzystuje sie cURL - http://code.google.com/intl/pl/apis/gdata/articles/using_cURL.html
  • Ostatnio G robi wszystko by “dozbroić” swe aplikacje on-line szczególnie Docs i Spreadsheet np. o moduł DRAW
  • Można się też przypatrzeć jak tworzyć rozszerzenia w Chrome - http://blog.chromium.org/2009/12/extensions-beta-launched-with-over-300.html

  • środa, lutego 20, 2008

    Zasoby środowe:
    1. Ciekawy skrót (z ciekawego bloga):
      1. Things That Get People Excited (let's call them TTGPEs)
      2. KISS
      3. WIL (well I like it)
      4. WMSDT (well Microsoft do that)
      5. Duże ma też znaczenie też podejście "appeal to authority" (np Stefan and Mark Baker są autorytetami od REST)
    2. Trwa walka w standardzie usług webowych - REST (google) lub SOA (MS/IBM)
    3. Inny blog z BEA
    4. Quercus - cyrk na kółkach czyli PHP napisany w czystej Javie
    5. Przyjrzyj się tytanom VFP (Hsia i Rick) + ten rosyjski serwer o VFP.ru
    6. Świetny serwer cytatów (np. Einsteina)
    7. Serwer informacyjny - http://www.it-director.com/
    8. Przy tworzeniu i projektowaniu oprogramowania należy pamiętać o F. Brooks. Czyta to się jak Biblię "wszyscy to znają i czytają ale nikt nie przestrzega...". Są też tam idee spowalniające projekt np. "syndrom drugiego systemu", "mityczne pojęcie człowieko-miesiąca" (nie sumuje się wydajność od zatrudnienia większej ilości osób), "zamiast używania wielu wyspec. narzędzi lepiej używać jednego ale z wieloma dodatkami" , "zespół naczelnego chirurga" (wykonuje on najtrudniejszą część operacji, resztę kończą jego pomocnicy)....
    9. Super historia o Początkach technologii AJAX, która powstała w MS -Alex Hopmann
    10. Bezpieczeństwo - AJAX (a w zasadzie XMLHttpRequest) podlega zasadzie "ograniczenie dostęp do zasobów tej samej domeny" (same origin policy). Można to łatwo obejść ponieważ dostęp do dwóch innych zasobów w przeglądarce nie podlegają tym restrykcją (polityce bezp.). Mowa oczywiście o skryptach i obrazkach. I tu tkwi główne niebezpieczeństwo protokołu HTTP. Z drugiej strony mamy rozproszoną architekturę korporacyjną SOA tzn. wywołanie zdalnych procedur (usług). Często do realizacji usług webowych (WS) wykorzystuje się SOAP, i to działa. Ale w przypadku przeglądarki i lekkiego klienta to jest za ciężkie. Dlatego w architekturze Web 2.0 stosuje się lekki protokół REST. Oferuje on przejrzysty model REST budowanie usług webwych w oparciu o specjalnie zdefiniowany adres do zasobów podawanych w adresie HTTP w zwykłej przeglądarce. Zasada działania REST opiera się o trzy reguły:
      1. Usługa REST wyraża się poprzez URL np. jako adres - http://bea.com/content/getArticles?author=joe
      2. Trzeba podać operację (poprzez żądanie HTTP):
        1. GET odczyt,
        2. POST zapis,
        3. PUT aktualizacja
        4. DELETE usunięcie
      3. Zwracane są dane w formacie XML / JSON
    11. REST ma operacje takie same jak DML w standardzie SQL czyli jest to kolejny dowód na pożyteczność takiego podejścia
    12. Zasoby z powyższego serwisu (http://dev2dev.bea.com/pub/a/2007/05/google-mashups.html):
      1. http://dev2dev.bea.com/pub/a/2005/08/ajax_introduction.html
      2. http://dev2dev.bea.com/pub/a/2007/02/introduction-json.html
    13. Inny problem - dostęp do bazy danych w językach programowania. Nowoczesne języki obiektowe (a nawet dynamiczne jak Python) wymagają ścisłego typowania danych. Powoduje to problemy przy dostępie do danych w bazach relacyjnych i przesyłania ich do pól w językach programowania. Najczęściej wymagane jest mapowanie. I tutaj pojawiają się problemy jakimi narzedziami to opisać. Wyróżniamy generalnie dwa sposoby:
      1. Natywny
        1. zaszłościowy:
          1. przykładowo jak języki 4GL np. Informix 4GL (pożyteczne jest w nim odwzorowanie klasycznego problemu ORM z którym borykają się języki obiektowe np. Java czy C# struktur danych w rekordzie z bazy czy tabeli w pola i struktury w programie - DEFINE ... LIKE)
          2. VFP bardzo nowocześnie, dodatkowo istnieją funkcje do przejścia z bazy to XML (CURSORTOXML) i na odwrót (XMLTOCURSOR)
        2. nowoczesny poprzez ORM - Java Hibernate
        3. nowocześniejszy - poprzez LINQ w C# (wady: działa z natwynym MS SQL Serverem i brak mu automatu do adnotacji/translacji klas - trzeba to robić zewnętzrnym 'sqlmetal' na piechotę)
      2. Inny - np. obudowanie w specjalny wrapper składnie języka SQL jak to ma miejsce w dostępie ADO (ASP) czy ADODB (PHP), ale dane wysyłane i odbierane jako tekst, są też problemy z danymi binarnymi np. pochodzącymi z BLOB-ów.

    poniedziałek, lipca 02, 2007

    Nowości w poniedziałek:
    1. Paul Deitel - JSON w poczcie " Deitel Buzz Online Newsletter: JSON (JavaScript Object Notation) Resource Center 29 June"
    2. Jak wygląda porównanie Google z Microsoft - http://no2google.wordpress.com/2007/06/24/life-at-google-the-microsoftie-perspective/
    3. Różnorodne skrypty - http://www.jdhitsolutions.com/scripts
    4. Jak wystartować z XAML - http://msdn2.microsoft.com/en-us/library/ms752299.aspx
    5. Grożna ORCA mimo, że beta - http://redmondmag.com/columns/article.asp?EditorialsID=1813
    6. Linuks powoli nabiera sił - http://redmondmag.com/features/article.asp?editorialsid=742:
      1. Sprawa cała polega na wypracowaniu przez ruch wokół Linuksa tzw. stosu aplikacji (STACK). Dopóki takiego stosu się Linuks nie dorobi dopóty nie będzie traktowany poważnie w kręgach korporacyjnych. Stos stanowi platformę na której mogł wyrosnąć cały ekosystem aplikacji. Drugim ważnym celem jest integracja i współdziałanie (interoperability and integration) a funkcjonalność była na drugim planie.
        1. Myślenie twórców Linuksa polega na rozwiązywaniu problemów informatycznych bez szerszego spojrzenia na całość. Tworzyli wiele nieskoordynowanych projektów.
        2. Pierszwy stos w środowisku Linuks to LAMP.
        3. Innym podejściem są prace Linux Foundation nad projektem LSB (Linux Standard base) tak aby LSB-certyfikawana aplikacja działała na dowolnej LSB-certyfikowanej dystrybucji Liniksa.
        4. W obszarze tworzenia aplikacji jest projekt Eclipse
        5. Ciągle jednak brakuje tego, co najbardziej liczy się w rozwiązaniach korporacyjnych - interoperability. Aplikacje open-source tworzyły tzw. point solution (wyspowe rozwiązania)
        6. Obok LAMP powstaje stos WAMP
        7. Firma SpikeSource - jako pierwsza dostrzegła potrzebę wypracowania takiego stosu aplikacyjnego. W maju doszło do porozumienia m. nią a MS w sprawie kooperacji. Bill Hilf - ogłosił, że w/w firma będzie certyfikowała swoje rozwiązania na platformie Windows.
      1. Przykład takiego stosu:
      2. Open Source Stacks on Windows
        Enterprise open source isn't just for GNU/Linux anymore. The following selection of applications also runs on Windows.

        Web Server

        Database

        Middleware

        Business Intelligence

        Enterprise Content Management

        CRM

        ERP

        Porównanie stosów:

    Gillmor’s Internet plate tectonics by ZDNet's Dan Farber -- Steve Gillmor riffs on my post about Yahoo’s lack of a social networking hub, where I state: “Yahoo is about making connections, but right now its more of loose federation of Web applications and services–many spokes without a strong hub to hold together a social Web. Yahoo 360 has been a failure as a social [...]