piątek, czerwca 01, 2007

Gear czyli przekładnia (nadzieja SaaS):
Nowa inicjatywa Google polegająca na zaoferowaniu aplikacji klienckiej do przeglądania online Internetu i zapamiętywania informacji lokalnie spotkała się z dużym echem. Za ZDNet ( What Google Gears means for SaaS developers by ZDNet's Phil Wainewright -- Gears is almost a defensive announcement, an admission that the browser needs to move up a gear (pun intended) if it's going to stay relevant to the needs of Web application users.):
Wymagania aplikacji web2 są tak duże (powoli funkcjonalnością przypominają aplikacje klienckie), że możliwości obecnych przeglądarek już niewystarczające. Rozszerzenie funkcjonalności przeglądarek internetowych raczej nie wchodzi w rachubę (zmiany w JS przebiegają b.powoli ponieważ muszą być zgodne ze standardem). Dlatego buduje się rozszerzenia - programy klienckie do pobrania ze strony twórcy aplikacji (zabezpieczone - podpisane cyfrowo z certyfikatem). Ale tu nie tylko chodzi o offline expirience (praca w trybie lokalnym, bez połączenia z Internetem), a raczej o pełne RCA: multimedia, grafika, dostęp do zasobów lokalnych (pliki i urządzenia), szybką reakcję, dostęp do pakietów biurowych. Jednym słowem - greater client-side functionality.
Już mamy na rynku takie technologie: Yahoo Widget, Silverlight czy Apollo, na razie są one niszowe. Wszystkie one niebezpieczne ponieważ "wpuszczają" programy z Internetu do lokalnego komputera.
Chodzi o zbudowanie czegoś pośredniego między aplikacjami uruchamianymi w środowisku przeglądarki a "pełnokrwistą" aplikacją desktop-ową.
Google ma szanse na powodzenie z uwagi na swój autorytet jako pioniera wprowadzającego nowe i udane rozwiązania. Google może pociągnie i nada rozpędowi tą inicjatywę.


Lista tematów:
  1. search.live.com - czasami dobrze jest poszukać zgodnie z nastawieniem MS (jak oni patrzą na problem)
  2. myEclipse -środowisko do Java już za 30 $ rocznie
  3. CodeGear Borland - daje środowisko do tworzenia aplikacji w PHP (ok.250 Eu)
  4. Ciekawy link do historycznej dyskusji Jobs/Gates
  5. Strona do prototype - http://prototypejs.org/
    1. Tutorial - http://prototypejs.org/learn
  6. Przegląd darmowych frameworków do tworzenia tabel (grid) w JS (po stronie klienta) - smashingmagazine.
  7. Enterprise Grid - nitobi
  8. Mootools - przykłady - http://www.chrisesler.com/mootools/index.html
  9. Studium użyteczności - http://www.usability.gov/
  10. Serwer a la furl - http://swik.net/json/del.icio.us%2Ftag%2Fjson/JSON+in+Java/82uu
  11. KompozEr - nowy, poprawiony NVU.
  12. Why Google is more dangerous than Microsoft by ZDNet's Donna Bogatin -- Why Google is More dangerous than Microsoft
  13. Video prezentacje techniczne - http://www.bestechvideos.com/2007/05/31/microsoft-mix07-partying-with-php-and-the-microsoft-platform/
  14. Lekcje Ajaxa - http://www.ajaxlessons.com/2006/03/07/ajax-workshop-4-live-data-with-json-prototypejs/
  15. Blogi - http://blogs.zdnet.com/

czwartek, maja 31, 2007

Nowości AJAX-owe:
  1. Super tutorial o nauce AJAX-a - Max Kiesler.
  2. Biblioteka obsługi SSH w .NET - http://www.tamirgal.com/home/dev.aspx?Item=sharpSsh
  3. Powyższa biblioteka bazuje na innej bibliotece firmy Mentalis. Tutaj są projekty: http://www.mentalis.org/soft/projects.qpx
  4. Ciekawe książki na http://www.infoq.com/minibooks/ruby/
  5. Instruktaż stosowania - http://msdn.microsoft.com/vstudio/express/beginner/

poniedziałek, maja 28, 2007

JSON tu i tam:

  1. Serwer - PHP
    1. $i = array(
      array("id" => 1, "name" => "sumardi"),
      array("id" => 2, "name" => "hassan"),
      array("id" => 3, "name" => "ruby")
      );
    2. echo json_encode($i);
    3. Zwróci - [{"id":1,"name":"sumardi"},{"id":2,"name":"hassan"},{"id":3,"name":"ruby"}]
  2. Klient - JS
    1. for(var i = 0; i < json.length; i++)
      {
      console.info(json.id + " " + json.name);
      }

Ataki na logowanie:

  1. Można logować się do systemu poprzez podanie konta/hasła w czystej postaci, ale to ma swoje wady - podatność na in-the-middle attack tzn. można się podszyć pod dane konto stosując "lewy" serwer DNS (aby temu zapobiec często używa się OpenDNS), wszystko widać w czasie transmisji i w bazie (w kolumnach gdzie się przechowujekont/hasło)
  2. Można hashować hasło po stronie klienta (biblioteka jsSHA2.js na stronie http://anmar.eu.org/,

<form onsubmit="pwField.value = b64_sha256(pwField.value);">

Co to daje? Brak wiedzy o haśle, a nawet jego długości. Wady - musi być włączony JS w przeglądrce, atak słownikowy, atak replay atack (wystarczy podstawić hash zamiast hasła) dlatego podczas transmisji stosuje się tunel SSL.

  1. Można do tego dodać dane specyficzne dla użytkownika np.: <form onsubmit="pwField.value = b64_hmac_sha256(userId.value, pwField.value);">
  2. Wykorzystanie schematu pytanie-odpowiedź (challenge-response) zwanej też CHAP (http://pajhome.org.uk/crypt/md5/auth.html implementacja MD5 i SHA1) - hasło po stronie klienta jest hashowane dodatkowo przy pomocy informacji przysłanej przez serwer

Formaty informacji zakodowanej:

  1. Uwaga - do podpisywania i sprawdzania potrzebne są biblioteki kryptograficzne. Można wyróżnić trzy rodzaje:
    1. CAPICOM - lokalny ActiveX, który można po specjalnych zabiegach uruchamiać w przeglądarce IE, zaleta jest automatyczna dostępność (element CAPICOM jest zawsze obecny w MS Windows XP)
    2. Sigillum - ale nie wiem jak ją dostarczyć do klienta (wpakować do portalu jako "element do pobrania" i zainstalowania)
    3. AspCrypt - automatycznie instaluje się w trakcie wejscia na stronę, działa tylko w IE i w środowisku serwera MS IIS, wydatek ok. 250 USD
  2. PKCS#7 - Informacja jest zakodowana wraz z certyfikatem i kluczem publicznym w tzw. kopercie ("envelope"), można ją odczytać pod warunkiem posiadania klucza prywatnego zawartego w kopercie certyfikatu. Możliwe jest składanie też wielu podpisów. Do odcyfrowania takiej koperty wystarczy jeden klucz prywatny. Public-Key Cryptography Standards (PKCS) are RSA Data Security, Inc.'s series of de-facto standard formats for public-key cryptography. Among all the PKCS standards, PKCS#7 is probably the most widely used one. It describes a general syntax for data that may have cryptography applied to it, such as digital signatures and digital envelopes.
  3. The S/MIME secure mail standard uses PKCS#7 for its digitally signed and encrypted messages. Certificate requests and certificate store (.spc) files also normally use the PKCS#7 format. Every PKCS#7 blob usually encapsulates some content (such as an encrypted message or signed hash value) and one or more certificates used to encrypt or sign this content.

  4. CMS - ...

  5. XML-SIG - ...

  1. Szyfrowanie w .NET (można ją również odczytać ze strony):
  • Odpowiada za to przestrzeń System.Security.Cryptography.
  • Szyfrowanie/Odkodowanie danych jednostronne (służy autentykacji):
  • Obliczanie funkcji HASH. Wiele sytuacji wymaga przechowywania hasła bez jego znajomości. W ym celu korzysta się z tej funkcji do zapamiętania "skrótu" hasła w polu w bazie zamiast samego hasła. Minusem tego rozwiązania jest, że nie wiadomo jakie jest hasło (jeżeli ulegnie zapomnieniu, to trzeba wygenerować je na nowo). Zapewnia ona: a) mapowanie długich nazw na ich krótkie skrótu, b) skróty dla różnych łańcuchów wejściowych są praktycznie zawsze różne, c) nie można odtworzyć łańcucha wejściowego na podstawie znajomości skrótu. Są dwie implementacje tej metody: SHA1 i MD5.
  • Hash z jądrem (salted hash) - wadą poprzedniego rozwiązania jest to, że dwa łańcuchy we. produkują te same skróty. Można temu zapobiec "dosalając" dane wejsciowe innymi, specyficznymi dla użytkownika danymi np. e-mail, data uruodzenia. Jednak praktycznie stosuje się do tego generator liczb pseudolosowych, aby zapobie atakowi słownikowemu.
  • Szyfrowanie/Odkodowanie danych dwustronne. Rozróżniamy dwa sposoby: symetryczne i asymetryczne.
  • Szyfrowanie symetryczne (używając klucza prywatnego), szybkie zaszyfrowanie danych we. kluczem którego zna tylko odbiorca i nadawca (i tu leży główna słabość, klucz musi być tajny). Stosowane algorytmy: DES, RC2, Rijndael, and TripleDES.
  • Szyfrowanie asymetryczne (używając klucza publicznego, a właściwie pary: klucz publiczny/klucz prywatny), wada - bardzo obciążające procesor. Nadaje się tylko dla małych porcji informacji.
  • Rozróżniamy dwa komplementarne scenariusze:
  • Susan wysyła dane do Boba szyfrując dane jego kluczem publicznym, Bob i tylko on (ponieważ ma drugi element pary - klucz prywatny) może dane rozszyfrować. Metoda ta zapewnia szyfrowanie informacji.
  • Susan wysyła dane do Boba szyfrując je swoim kluczem prywatnym, Bob korzystając z ogólnie dostępnego klucz publicznego Susan może odczytać informację (ale nie tylko on). Ta metoda zapewnia niezaprzeczalność otrzymanej informacji.

Zasoby na poniedziałek:

  1. http://www.onlamp.com/pub/a/onlamp/2007/04/05/the-lighttpd-web-server.html - serwer lighttp, specjalna odmiana serwera wzorowana na Apache, ale bardzo lekka. Ogrzebano moduł fastCGI. Apache czasami jest bardzo wolny i ma różne implementacje wieloprocesowości tzw MPM (multi-processing-model): a) prefork - zawczasu generuje pulę procesów i nią zarządza (powoduje to duży narzut na RAM - 30 MB) lub b) worker - stosuje wielowątkowość (można zyskać na szybkości działania, ale serwer i jego wszystkie komponenty i moduły muszą być tzw. threadsafe. Apache 2.0 i mod_php są, ale inne moduły już nie). Autorem jest Niemiec, Jan Kneschke (2003).
  2. http://ajaxwidgets.com/AllControlsSamples/ - Gaia projektAJAX
  3. www.dzone.com - ciekawy, szczególnie snippety: http://snippets.dzone.com/
  4. Jak naprawdę rozpocząć przygodę z Eclipse i Tomcat-em - http://www.devarticles.com/c/a/Java/Getting-Started-with-Java-Web-Development-in-Eclipse-and-Tomcat/3/

piątek, maja 25, 2007

Myśli:
  1. Instalacja VPN dla Staszic
  2. Poprawienie wydruków
  3. Kocierz - kontrolka do Excela z pobraniem danych z Internetu
  4. Opracuj "moje" pomysły na tworzenie oprogramowania(wypróbuj CR, google API)
  5. Tutaj mamy - http://joeon.net/AJAX_Frameworks_List.htm - listę wszystkich frameworków do AJAX-a, należy zwrócić szczególną uwagę na ten, które mają wsparcie dla JSP/Java lub JEE oraz wspierające siatki danych - firma nitobi. Dodatkowo:
    1. http://wiki.apache.org/incubator/xap
    2. http://gi.tibco.com - TIBCO
    3. http://ajaxwidgets.com/get_excited.aa - w ASP.NET
    4. http://jsc.sf.net for examples - C# świetna!!! - przykład interakcji appletu z JS
  6. Przesyłanie dużych ilości danych (>1GB) - wiele jest serwisów - np. xdrive (źródło )
  7. Pamiętasz o SELENIUM (FireFox)
  8. Serwis dzone.
  9. JSON może być niebezpieczny - Bruce Shneier
  10. Wyjaśnienie dlaczego "svhost" tak szaleje - http://entmag.com/news/article.asp?EditorialsID=8596 - jest na to poprawka MS z 23.05
  11. Program w IDG dla animacji GIF na podstawie filmu - movie2gif.zip
  12. 'Popfly' To Help Bring Silverlight to the Masses
  13. Nowe polityka MS w zakresie rozszerzenia dostępu i wsparcia do języków dynamicznych, obok IronPython ma być też Managed JScript i Ruby. Chodzi o projekt DLR (dynamic language runtime) i Silverlight. Można to ściągnąć stąd http://www.asp.net/downloads/futures/default.aspx?tabid=62.
  14. Ciekawe linki:
    1. http://msdn2.microsoft.com/en-us/asp.net/default.aspx - główna strona ASP.NET
    2. http://www.codeproject.com/Ajax/AjaxASPdotNET.asp - jak rozpocząć przygodę z AJAX-em
    3. http://www.codeproject.com/useritems/C__Instant_Oracle.asp - prosty program jak rozpocząć przygodę z Oraclem w C#
    4. http://www.oracle.com/technology/tech/java/ajax.html - co ma Oracle do powiedzenia odnośnie AJAX-a
    5. http://www.oracle.com/technology/tech/java/ajax.html - płatny portal developerów
    6. http://ejohn.org/apps/jselect/event.html
    7. http://json.org/JSONRequest.html - J(son)AJAX zamiast AJAX

środa, maja 16, 2007

Stylowe style
  1. Świetny tutorial na temat stylów w listach, selektorach, ramkach pływających - http://css.maxdesign.com.au/index.htm
  2. Strona prowadzona przez grupę zwolenników standardów webowych, pragmatyków i antagonistów W3C - http://www.webstandards.org/buzz/#a000203
  3. Lekcje na temat DOM - http://www.webstandards.org/2006/10/18/video-presentation-douglas-crockford-on-the-theory-of-the-dom/
  4. Polepszenie dostępności formularzy - http://www.webaim.org/
  5. To jest źródło tych artykułów - http://www.456bereastreet.com/lab/developing_with_web_standards/full/

piątek, maja 11, 2007

Piątek - weekednu początek:
  1. Dla mojego domowego notebooka - FinalBurner Free (nagrywa nawet DVD) - fb_free.exe
  2. Dla developerów IE - IEDeveloperToolBar - wersja 1.0, to dopiero początek
  3. Co trzeba spełnić w IE 7 (http://blogs.msdn.com/ie/archive/2006/02/14/532211.aspx):
    1. E7 includes an enhanced experience for sites that include upcoming higher assurance SSL certificates including the lock icon with a green filled address bar. Along with other browsers, the Certificate authority industry is working with us towards a tougher SSL standard for the enhanced experience. This past Sunday and Monday, we met to work on the standard with the American Bar Association here in San Jose. The certificate authorities who coolaborated with us this weekend include Geotrust, Verisign, Identrus, Comodo, Cybertrust, Go Daddy and X-Ramp. To see what the experience will be like, you can try out the enhanced experience by downloading a test root certificate and then visiting our demo site using IE7 Beta 2 Preview. If you think your site should have this experience, contact your certificate authority to learn about their plans to offer higher assurance SSL certificates that will be recognized by the IE7 address bar.
    2. In the upcoming Beta 2 release, IE7 will let users sign into web sites using visual "InfoCards" rather than passwords. This eliminates a number of common attacks because when no password is typed, there is none to be stolen (and none to forget). The "InfoCard" system uses certificates to make it harder for imposter sites to pass themselves off as genuine.
    3. IE7 checks the signatures on downloaded programs such as ActiveX controls and executables to make it easy for customers to identify your code. If you distribute software over the internet, you should sign your code with a valid code signing certificate.
  4. Funkcjonalność usunięta z IE 7 (http://msdn2.microsoft.com/en-us/ie/aa740486.aspx):
    1. Offline Favorites--Offline Favorites and Scheduled Offline Favorites have been removed from Internet Explorer 7. Internet Explorer supports RSS feeds, which provide scheduled updates to web content and offline reading of this content. For more information about RSS feeds, read the RSS Blog.
    2. Scriptlets--Internet Explorer 7 disables Dynamic HTML (DHTML) scriptlets by default. (Scriptlets were phased out in Internet Explorer 5). They can be re-enabled by system administrators by changing the advanced settings in the Internet Control Panel. To change the setting, open Internet Explorer, click Tools, and then click Internet Options. In Internet Options, click the Advanced tab, and then scroll down to find Allow Scriptlets. If you are a developer and your programs rely on scriptlets, we recommend that you use more efficient DHTML behaviors. Disabling scriptlets by default is done to deemphasize unsupported technology in Internet Explorer.
    3. ActiveX controls--The new Internet Explorer 7 ActiveX Opt-In feature disables ActiveX controls on a user's machine. When the user visits a webpage that is trying to use a disabled ActiveX control, they see an Information bar to enable the control. Controls which were used in Internet Explorer 6 before upgrading to Internet Explorer 7, along with some pre-approved controls, are not disabled.
    4. Channel Definition Format (CDF)--All CDF support was removed from Internet Explorer 7 and replaced with the RSS feed reading experience. Feeds that the user is subscribed to are available to other applications through the RSS Platform. For details, read the RSS Platform.
    5. DirectAnimation--All DLLs to support the Internet Explorer DirectAnimation component were removed in Internet Explorer 7.
    6. XBM-- XBM, an imaging format designed for X-based systems, is no longer supported.
    7. SSL--Support for weak SSL ciphers was removed from Windows Vista and support for SSLv2 was disabled for Internet Explorer 7 on all platforms.
    8. BASE Element--Internet Explorer 7 strictly enforces the BASE element rule, as documented in the HTML 4.01 standard. We no longer allow BASE tags outside of the HEAD of the document. The standard specifies that the base element must appear within the head of the document, before any elements that refer to an external source.

    9. window.opener and window.close--Internet Explorer 7 no longer allows the window.opener trick to bypass the window.close prompt. Browser windows cannot close themselves unless the windows were created in script. This security enhancement no longer allows browsing to a random site when the main browser window closes unexpectedly.

    10. Changes that affect modal or modeless dialogs created from script--Modal or modeless dialogs created from script in Internet Explorer 7 might seem to be slightly bigger than their Internet Explorer 6 counterparts. This is caused by a change to the behavior of the dialogWidth and dialogHeight properties, which now set and retrieve dimensions of the content area of a dialog (from Internet Explorer 7 and later). It will no longer be necessary to calculate the area lost by elements of a dialog’s frame. Information on these changes will be posted on the Internet Explorer Blog.

    11. Generic Spoofing Risk Reduction in Internet Explorer 7--The window.prompt script method is blocked and the gold Information bar is displayed by default in Internet Zone for Internet Explorer 7. The helps prevent websites from spoofing things such as the logon screens of other websites. This is a new security enhancement for Internet Explorer 7.

    12. WWW-Auth--Internet Explorer 7 changes the precedence rules for WWW-Auth. Previous releases of Internet Explorer used the first header encountered. Internet Explorer 7 uses the first header except when the header is Basic. Internet Explorer 7 uses Basic authentication if no other authentication mechanism is present.

    13. HTTPOnly Cookies--HTTPOnly cookies can no longer be overwritten from scripts.

      _SEARCH--The _SEARCH sidebar is disabled by default in Internet Explorer 7. It is now a setting and can be turned by checking Enable websites to use the search pane in the Advanced tab of the Internet control panel.

      View Source--The view-source protocol no longer works in Internet Explorer 7.

      Gopher Protocol--Support for the Gopher protocol was removed at the WinINET level. (Gopher support was turned off by default in Internet Explorer 6.)

    14. window.external.ImportExportFavorites--window.external.ImportExportFavorites has been removed in Internet Explorer 7.

      Telnet--The Telnet protocol handler is no longer supported in Internet Explorer 7.

    15. SysImage URL Scheme--The SysImage URL Scheme has been removed from Internet Explorer 7.

      Status Bar Scripting--Scripts will no longer be able to set the status bar text through the window.status and window.defaultStatus methods by default in the Internet and Restricted Zones. This helps prevent attackers from leveraging those methods to spoof the status bar. To revert to previous behavior and allow scripts to set the status bar through window.status and window.defaultStatus, follow these steps:

      1. Open Internet Explorer, click the Tools button, click Internet Options, and then click the Security tab.
      2. Click Internet or Restricted sites, and then click the Custom level button.
      3. Scroll down to Allow status bar updates via script, select Enable.
      4. Click OK until you return to Internet Explorer.
    16. Security Settings for Script Access to the Clipboard--New security-related updates for Microsoft Internet Explorer 7 include a change in the default security settings for Script Access to the clipboard. Sites using scripts to access the clipboard in the Internet and Trusted sites zones will receive a prompt that will inform the user that their clipboard is being accessed by script. The prompt will require user permission to continue. Giving permission will allow the website to save information to the clipboard, and read any existing information from the clipboard. This security setting is designed to help prevent the possibility of information disclosure through script access to the clipboard.
    17. Installing Internet Explorer 7 with The Microsoft Windows Server® 2003 operating systems with Service Pack SP1 (SP1)--The home page will be reset to the secure page (res://shdoclc.dll/hardadmin.htm).
    18. Upgrading from Internet Explorer 6 to Internet Explorer 7 on Windows Server® 2003 operating systems with Service Pack SP1 (SP1)--Users upgrading from Internet Explorer 6 to Internet Explorer 7 on Windows Server® 2003 with the setting Enhance Security Configuration turned on might notice that the machine will not be set to the correct Enhanced Security Configuration (Internet Explorer Hardening) defaults for Internet Explorer 7. To change the settings back to the correct defaults, an administrator should turn OFF Enhanced Security Configuration and then turn it ON again. To do this,
      1. Open the Control panel.
      2. Select Add/ Remove Programs.
      3. Locate the Enhanced Security Configuration option.
      4. Turn it OFF.
      5. And now turn it ON again.
      6. Your server settings would be set to the correct Enhanced Security Configuration defaults for Internet Explorer 7.
    1. Active Desktop--Active Desktop has been removed from Windows Vista. It is still available on 32-bit versions of Windows 2003 Server and Windows XP SP2 with reduced functionality. The following features have changed:
      1. Synchronization of Active Desktop with online content is no longer supported.
      2. The ability to restore Active Desktop if software or the operating system stops responding is no longer supported.
      3. The Active Desktop item’s window does not show the title of the webpage (it shows the address of the webpage).
      4. For a webpage restricted by Content Advisor, the Action Cancelled page is not displayed.
  1. Skype 3.2 Gold - nowe możliwości.
  2. Concept Draw - witryny http://www.giveawayoftheday.com/
  3. Ciekawe programy -www.dobreprogramy.pl

czwartek, maja 10, 2007

Co nowego w czwartek:

  1. W betanews - nowa wersja Yahoo widgets
  2. Część pierwsza świetnego tutoriala do uruchomienia na platformie AIX środowiska PHP/JAVA - ciekawe czy będą nastepne? Są dwa sposoby na uruchomienie tych dwóch technologii: "There is no convenient direct link between Java and PHP technology—they are two different technologies using completely different logic, binary, and deployment environments. However, one way that you could enable both systems to communicate with each other is to employ Service-Oriented Architectures (SOAs) and Web services to exchange information. In this example scenario, you would expose your Java application through a series of Web services. The PHP application would then act as a Web services client to communicate with the Java Web services interface.

    The other alternative is to use the PHP Java Bridge, which provides a direct object interface that allows you to share Java and PHP code directly within the same application."

  3. Nowy atak SUN w kierunku upowszechnienia Java w środowisku NetBeans - powstaje wersja 6 (oferowana jako early access na konferencji JavaOne), która umożliwi uruchamianie JavaScript i Ruby (JRuby w środowisku JVM). Język JS będzie potraktowany jako pełnoprawny obywatel w tym RAD. Ogólna dostępność - koniec 2007.
  4. Zalecenia odnośnie jak tworzyć w JS (autorstwa doświadczonego programisty Mat Kruse)
  5. Nowy rywal dla Google Apps - "Bringing OpenOffice to the Internet,” Mahdi Abdulrazak, Chief GravityZoo Evangelist, proclaimed to me."
  6. Ciekawe linki z VFP - http://www.cetus-links.org/oo_visual_foxpro.html - duże zasoby do sprawdzenia (źródło - http://www.foxclub.ru/)
  7. http://www.computerworld.com.au/index.php?id=1472160102&eid=-301 - dywagacje na temat PostgreSQL prowadzone przez autora.
  8. Nowy, ciekawy portal dla PHP - http://www.codewalkers.com/ coś ala developershed (http://www.devshed.com/c/a/Oracle/Data-Manipulation-and-More-for-HTML-DB-Applications/)
  9. Stosowanie MS SQL 2005 z produktami Expression - http://www.sqlservercentral.com/articles/articlelink.asp?articleid=2993
  10. Tutorialsy na różne tematy - http://www.tutorialdownloads.com/tutorials/C%20SHARP/C%20sharp-books-shelf1.html
  11. Dev shed na teamt Flex-a
  12. Zrozumieć JS - http://www.devshed.com/c/b/JavaScript/

środa, maja 09, 2007

Ciekawe artykuły:
  1. http://www.lifetrainingonline.com/blog/how_to_read_people.htm
  2. http://www.devx.com/dotnet/Article/32421/0/page/1 -dekorowanie właściwosci w C#
  3. http://news.zdnet.com/2100-3513_22-6181922.html?tag=nl.e539 - Sun być może na konfrencji JavaOne ogłosi udostępnienie JavaFX script - uproszczonego język skryptowego do Javy
  4. http://www.oracle.com/technology/tech/oci/instantclient/index.html - dostęp do bazy 10gi bez konieczności "zabawiania się" plikami i zmiennymi konfiguracyjnymi.
  5. http://www.javascripttoolbox.com/bestpractices/ - Mathew Kruse - rady dla JS
  6. http://bignosebird.com/ - kolejny poradnik dla webmasterów
  7. http://www.codeproject.com/useritems/C__Instant_Oracle.asp - jak wystartować w C# z programowaniem do bazy Oracle 10gi przy pomocy "instant" oracle
  8. http://davidhayden.com/blog/dave/archive/2006/03/14/2883.aspx - blog dewelopera w C#
  9. http://www.eol.org/home.html
  10. http://www.motherearthnews.com/gallery.aspx?id=113446
  11. http://www.ndesign-studio.com/blog/mac/css-dock-menu
  12. http://brainden.com/logic-puzzles.htm

wtorek, maja 08, 2007

Wtorek 8 maja:
  1. Ciekawe na temat możliwości JS - JavaScript allows you to perform an assignment at the same time as testing if the assignment worked. This can be used inside any conditional, including inside an 'if', 'for', 'while' and 'do - while'.

    if( x = document.getElementById('mydiv') ) {...}
    do {
    alert( node.tagName );
    } while( node = node.parentNode );

    Note that Internet Explorer on Mac will produce an error if you try to do this with an array, when it steps off the end of the array.

  2. To samo dotyczy instrukcji break, podobnie działa continue -
    myForLoop:
    for( var x = 1; x < 5; x++ ) {
    var y = 1;
    while( y < 7 ) {
    y++;
    if( y == 5 ) { break myForLoop; }
    document.write(y);
    }
    }
  3. DHTMLxGrid - dhtmlxGrid is flexible JavaScript grid control with powerful API and Ajax support. It provides client-side solution for displaying, editing and sorting tabular data. Using dhtmlxGrid you can easily create dynamic tables with scroll bars, frozen columns, fixed multiline headers and multiple cell types (text, image, checkbox, radio button, combobox etc.). Smart rendering and paging output allow this grid to work effectively with large datasets.
  4. Biblioteka w JS dla base64 i sprintf (document.writeln('Result: ' + sprintf("Decimal %+05d, Float %07.2f, String '%-10.4s', Hexadecimal %05X", 123, 123, 'abcdefg', 123123));).
  5. To wszystko powyższe wziąłem z http://www.roscripts.com/.
  6. Writing after the page has loaded

    After the page has completed loading, the rules change. Instead of adding content to the page, it will replace the page. To do this, you should firstly open the document stream (most browsers will automatically do this for you if you just start writing). Then you should write what you want, and finally, you should close the document stream. Again, most browsers will automatically close the stream for you. The notable exception here is the Mozilla/Firefox family of browsers, that will continue to show a loading graphic until you close the stream. Some other browsers may fail to render part or all of the content. Just to be safe, make sure you always close the stream.

    <script type="text/javascript">
    document.open();
    document.write('<p>What ever you want to write</p>');
    document.write('<p>More stuff you want to write</p>');
    document.close();
    </script>

    That will remove everything that is currently being shown and replace it with what you write in there. This is the equivalent of moving the user to a completely new page. You should put <html> tags and things like that in there too if you want to use that method.

    You may notice that I close my HTML tags inside the script with a backslash before the forward slash in the closing tag. This is a requirement of the specification (and can cause the HTML validator not to validate your page if you forget it), although all browsers will understand if you omit the backslash.

    However, since you can write HTML with script, you can write style or even script tags with it, making one script import another. If you omit the backslash on any </script> tags that you are writing with the script, the browser will read that as the closing tag for the current script, and your script will fail.

    The same applies to opening or closing comments (although I fail to see why you would want to write comments using a script). These can be written as '<'+'!--' and '-'+'->'. When the script runs, the plus sign tells it to append the strings, creating a valid HTML comment.

  7. Ciekawe dywagacje na temat funkcji - http://www.howtocreate.co.uk/tutorials/javascript/functions
  8. Zabezpieczenie tarnsmisji -

    Normally, this cannot be done with JavaScript using the Internet alone. You can encrypt text at the user's end and unencrypt it at your end. The problem is that the user has to encrypt it with a password that you know so that you can unencrypt it. They would have to tell you by telephone or post. Alternatively, you could put the password in the source of the page and get the function to encrypt using that key. But this password would have to be sent over the internet in plain text. Even if you did encode it, it would not be too much work for a snooper to crack it. In fact, the encryption could even be broken with brute force techniques. So what do you do?

    The best possible technique would be to create a symmetric encryption key using a twin public/private key pair as with techniques such as Diffie-Hellman or SSL, or use an asymetric public/private key pair and encryption technique as with PGP or RSA. The problem is that in order to prevent brute force cracking techniques, these require the browser to handle numbers as high as 2x10600 or higher. JavaScript is just not natively capable of working with numbers as high as this. As yet, I have found no solution to this, although on http://shop-js.sourceforge.net/ there is an algorithm for emulating large number handling, and an example of JavaScript powered RSA. The technique seems to work and takes only a few seconds to create keys, by using complex mathematics and algorithms (look at the source of crypto.js) to emulate large number handling.

    Even so, if doing the equivalent of RSA (etc.), it is still not possible for the user to verify your identity as with SSL certificates, so it would be possible for a third party to inject their own code and have the information sent to them instead, without the user's knowledge. For the best security, stick to real SSL.

  9. Obiekty z JS - http://www.howtocreate.co.uk/tutorials/javascript/javascriptobject.
  10. Struktura DOM - http://www.howtocreate.co.uk/tutorials/javascript/domstructure

sobota, maja 05, 2007

Nowe pomysły:

  1. Kontrolki webowe zbliżają się w swojej funkcjinalności i wyglądzie do kontrolek natywnych WINDOWS. Tylko wtedy aplikacje typu ajax mogą wyprzeć wszystkie aplikacje client/server.
  2. http://www.owlfish.com/software/simpleTAL/ - TAL-e ale bez narzutu Zope (niestety tylko Python).
  3. Papervision 3D nie był pierwszy - http://www.actionscriptarchitect.com/2007/02/28/flash-video-on-3d/
  4. Jak sterować Visio poprzez VFP - http://www.aksel.com/whitepapers/VisioAutomation.htm
  5. Ciekawa definicja (http://www.higheredblogcon.com/webdev/lawson/index.html): The DIV and SPAN elements, in conjunction with the id and class attributes, offer a generic mechanism for adding structure to documents. These elements define content to be inline (SPAN) or block-level (DIV) but impose no other presentational idioms on the content.
  6. Ciekawy link do VFP - http://www.thefoxshow.com/ i ciekawy blog - http://akselsoft.blogspot.com/
  7. Miejsce gdzie są darmowe szkolenia z technologii MS wspierane przez Dr.Dobbs - http://www.learn2asp.net/?RefID=CMP001
  8. http://weblogs.foxite.com/vassilisaggelakos/archive/2007/04/24/3726.aspx - o rysowaniu przy pomocy GDI+ w VFP.
  9. Porady na temat REPLACE - To summarize, follow these rules when using REPLACE: -
    1. Always use the "IN" clause!
    2. Examine decimal data and decide if boundary checks are necessary before a REPLACE.
    3. _TALLY will let you know if a REPLACE occurred. If you want to be absolutely sure that a REPLACE happened, you can try to ASSERT _TALLY>0 after your REPLACE command. This will alert you while testing your application that a REPLACE didn't occur.
  10. Porównanie implementacji SQL - http://troels.arvin.dk/db/rdbms/
  11. Ciekay blog natemat VFP - http://todmeansfox.blogspot.com/2006_12_01_archive.html
  12. Projekty VFP na codeplex

sobota, kwietnia 21, 2007

Linki z soboty:
  1. http://dbachrach.com/blog/2007/04/15/spotlight-like-search-as-you-type-with-css-ajax-js/ - ciekawe podejście i wykorzystywanie js. Zawiera również odnośnik do przykładów editInPlace.
  2. Przykłady:
  3. function hideSearchTypes (i,j) {
  4. var theDiv = document.getElementById(j).getElementsByTagName(‘li’);
  5. for(var d = 1; d < theDiv.length; d++) {
  6. var theID = ‘res-’+i+‘-’+d;
  7. document.getElementById(theID).style.display = ‘none’;
  8. }
  9. }
Inny przykład:
  1. <form id="search_form" action="" method="get">
  2. <input type="text" value="" name="q" id="q" autocomplete="off" onkeyup="doSearch();" />
  3. <input type="image" id="search_image" onclick="doSearch();return false;" src="search_icon.png" alt="Search" />
  4. </form>
  5. <div id="searchResultsDiv">
  6. Start typing. Your results will show below instantly.
  7. </div>
Biblioteka google - http://code.google.com/p/jslibs/wiki/JavascriptTips - przeznaczone do obsługi biblioteki seamonkey (silnika JS w Mozilli)

  1. Binary with XmlHTTPRequest

    var req = new XMLHttpRequest();
    req.open('GET', "http://code.google.com/images/code_sm.png",false);
    req.overrideMimeType('text/plain; charset=x-user-defined');
    //req.overrideMimeType('application/octet-stream');
    req.send(null);
    var val = req.responseText;
    Print( escape(val.substr(0,10)) );

poniedziałek, kwietnia 02, 2007

Linki poniedziałek 2 kwietnia
http://worrydream.com/MagicInk/
http://www.mozilla.org/js/spidermonkey/tutorial.html - emulator JS napisany w C
http://developer.mozilla.org/en/docs/Introduction_to_the_JavaScript_shell - powłokado uruchamiania skryptów w JS
http://www.spket.com/features.html - nowe IDE dla JS w środowisku Eclipse
http://code.google.com/p/clipperz/ - biblioteka funkcji kryptograficznch w JS
http://www.clipperz.com/learn_more/crypto_foundations - więcej informacji na ten temat
http://erik.eae.net/archives/2005/09/15/00.18.07/
http://erik.eae.net/archives/2005/09/14/13.42.07
http://blogs.msdn.com/ie/archive/2005/09/13/465338.aspx

sobota, marca 31, 2007

Pomysły Ajaxowe: na bazie http://www.miniajax.com/
http://prototype-window.xilinus.com/download.html
http://orangoo.com/labs/GreyBox/
http://www.pjhyett.com/posts/190-the-lightbox-effect-without-lightbox
http://www.amcharts.com/pie/
http://www.robertnyman.com/ask/content.php
http://www.solutoire.com/plotr
http://livepipe.net/projects/control_modal/

piątek, marca 30, 2007

Komunikat
W związku z planowanym wprowadzeniem szerszego wykorzystania bezpiecznego podpisu cyfrowego w aplikacjach internetowych Portalu AS wynikają następujące problemy techniczne:
  1. Wsparcie dla platform systemów operacyjnych MS Windows (koniec życia niektórych wersji klienckich)
  2. Wsparcie dla różnych przeglądarek internetowych (standaryzacja wersji)
  3. Bezpieczny dostęp do lokalnych zasobów komputerów klienckich
Proponujemy następują rozwiązania powyższych problemów:
  1. W związku z zakończeniem w zeszłym roku wsparcia technicznego firmy MS dla MS Windows 98 oraz zaleceniami wystawcy certyfikatów firmą Sigillum sugerujemy szybkie przejście na nowsze wersje klienckich systemów operacyjnych tj. zalecamy MS Windows XP SP2 (koniecznie z aktualizacją SP2) lub MS Vista
  2. Dostęp do Internetu możliwy jest poprzez różnego rodzaju oprogramowanie użytkowe. Szczególnie rozpowszechnione jest, z uwagi na dostępność, programowanie narzędziowe zwane przeglądarkami Internetowymi. Nie są one wszystkie w pełni zgodne ze standardami W3C i WASP. Dlatego zalecamy użycie wbudowanej (i zintegrowanej z systemem) w system operacyjny MS Windows, a więc dostępną od zaraz, przeglądarki MS Internet Explorer w wersji 7. Stosowanie jej powoduje zwiększoną ochronę i automatyczną comiesięczną aktualizację pod kątem różnych zabezpieczeń przed atakami z sieci. Dodatkowo pozwala na pełną i lepszą obsługę oprogramowania dostarczonego i rozwijanego przez firmę Sigillum (można wykorzystać całą jej funkcjonalność). Zwiększy to też ergonomię i szybkość pracy tj. w odniesieniu do funkcjonalności Portalu AS pozwoli na składanie bezpiecznego podpisu cyfrowego w przeglądarce bez konieczności instalowanie i uruchamiania oprogramowania dodatkowego (obecnie do podpisania zamówienia konieczny jest program kliencki Klient Portalu AS popularnie zwany 'liskiem'). Oczywiście można stosować do obsługi Portalu AS inne przeglądarki internetowe w tym przypadku zalecamy oprogramowanie Firefox ("ognisty lisek") w wersji 2 lub wyżej. Może jednak nastąpić pewna utrata funkcjonalności i komfortu pracy np. do podpisania dokumentu trzeba będzie zainstalować dodatkowe oprogramowanie, które należy ściągnąć na naszej witryny.
  3. Przez dostęp do lokalnych zasobów należy rozumieć przede wszystkim obsługę podpisu cyfrowego na karcie inteligentnej i czytnika kart. Wszystkie przeglądarki mają wbudowany "szlaban" na dostęp do zasobów lokalnych użytkownika. Gdyby tego nie było, złośliwe oprogramowanie z Internetu mogłoby spowodować niewyobrażalne szkody w zasobach na komputerze użytkownika Internetu np. od przechwycenie kont i haseł dostępu do banku, poprzez kradzież dokumentów aż po zniszczenie zawartości dysków twardych (i wszystkich danych). Dlatego próba dostępu do czytnika kart oraz zawartości na kartach inteligentnych (certyfikat i klucz prywatny) z poziomu przeglądarki jest utrudniona. Dlatego należy stosować "zaufane" przeglądarki oraz "zaufane" oprogramowanie systemowo-narzędziowe, w przypadku platformy Microsoft jest to przeglądarka MS Internet Explorer, oprogramowanie obsługi kryptografii firmy Microsoft MS CAPICOM wersja 2 lub wyżej, platforma MS .NET oraz homologowane biblioteki do składania podpisu cyfrowego firmy Sigillum. Istnieje dodatkowa możliwość obsługi podpisu cyfrowego poprzez napisanie programu klienckiego uruchamianego lokalnie i wysyłającego dane (podpisane dokumenty) do serwera internetowego. Tak właśnie działa Klient Portalu AS. Po jego zainstalowaniu na komputerze lokalnym macie Państwo możliwość składania podpisu pod dokumentami zamówień. Udostępniamy teraz nową wersję tego oprogramowania. Nowa wersja pozwala bezpiecznie przeglądać i podpisywać nie tylko te dokumenty związane z zamówieniami ale również inne np. korekty do zamówień. Dodatkową cechą nowej wersji jest jej specjalizacja - można tylko przeglądać i podpisywać dokumenty, dlatego nikomu nie będzie się "myliło" w jakim środowisku pracuje (przeglądarce internetowej gdzie wszystko "działa" z wyjątkiem podpisu czy w "lisku" gdzie "kuleje" awizacja i upoważnienia). Teraz uruchomienie nowej wersji Klienta Portalu AS pozwala tylko podpisywać. Ta nowa wersja jest dedykowana szczególnie dla użytkowników, którzy chcą stosować inne wersje przeglądarek internetowych oprócz MS IE 7.