- IBM pragnie uruchomić na mainframe-ach możliwość instalacji środowiska Windows, podobnie jak to zamierza zrobić z Linuxem w trzecim kwartale 2011 - będzie to uruchomienie na linii serii zEnterprise emulacji serwerów System x o architekturze x86. Mamy tu do czynienia z emulacją na dwóch poziomach: System x uruchamia środowisko Windows i jest następnie jego architektura x86 emulowana na zEnterprose, czyli tak na dobrą sprawę środowisko Windows jest emulowane pośrednio poprzez emulację PLATFORMY sprzętowej na której stoi – z materiałów NetworkWorld. Inaczej mówiąc zEnterprise ma możliwość emulacji System x a co za tym idzie i Linux-a i Windows-a zainstalowanych na nim. Oficjalne stanowisko IBM jest tu
- Dla dzieci - chemia i biologia materiały do nauki
- Open source jest wszędzie – tym razem dla podstawowych narzędzi rolniczych w celu wyżywienia świata- http://www.ted.com/talks/marcin_jakubowski.html na podstawie ItWorld
- Czasami Berkerly DB może być potraktowana jako baza NoSQL – tak przynajmniej twierdzi Oracle
- Wizualizacja JSON na tej stronie - http://ajaxstack.com/jsonreport/
- Jakiś przykład przerabiający HTML na PDF - http://javaxtendsolutions.wordpress.com/2011/01/03/itext-1-5-html-to-pdf/
- Podglądanie fontów na ekranie - http://www.stcassociates.com/lab/fontbrowser.html
- Narzędzia pomocne grafikowi stron HTML - http://www.techrepublic.com/photos/20-more-online-tools-for-web-designers/6213450?seq=12&tag=thumbnail-view-selector;get-photo-roto jest tam super texter.ru
- Gra - http://gammajs.org/tutorials/enemies.html oraz SVG, chmurki tagów - http://www.goat1000.com/tagcanvas.php
- Framework do REST-a - http://www.servicestack.net/ServiceStack.Hello/
- Tworzenie formularza w MS Office- może się kiedyś przydać - http://www.techrepublic.com/blog/msoffice/how-to-create-an-electronic-form-using-word-2010-content-controls/4841?tag=nl.e042
- Lekcje Feymanna teraz w wydaniu Microsft - http://research.microsoft.com/apps/tools/tuva/
- Materiały do MIX - http://live.visitmix.com/, można zastosować downloader, lub obejrzeć w wolnej chwili na kanale 9
- Podglądanie aplikacji w IE9 też może być ciekawe - http://blogs.msdn.com/b/ukmsdn/archive/2011/04/06/msdn-flash-feature-article-ie9-developer-tools.aspx?wa=wsignin1.0
- Dwie wirtualne lekcje z MSDN (działają tylko na IE):
piątek, kwietnia 22, 2011
Co nowego
czwartek, kwietnia 21, 2011
Nowinki
- Python ma wiele IDE np. Eclipse, Active Python, ironPython (w VS2010), SharpDeveloper teraz nawet Netbeans. Do niego jest wiele bibliotek np. NumPy, SciPy.
- Programowanie gier: nie tylko w JS i HTML5, można stosować Smallbasic a nawet w Python (pakiet Visual Python). Jest też wiele gotowych silników do gier – Alice.
- Z artykułu ”7-programming-languages-the-rise” z Infoworld na topie jest:
- Javascript – Aptana co prawda porzuciła Jaxera ale połączyła się z Appceleratorem, Google stosuje silnik V8 i zakupił AppJet (firma wykorzystywała bibliotekę Rhino po stronie serwera). Powstały nowe frameworki: poważne potraktowanie przetwarzania po stronie serwera – najstarszy CommonJS (ma wiele implementacji np. CouchDB, , node.js (na bazie V8, realizuje model server side JS – SSJS) , CouchDB, MongoDB. Całkiem nieźle…
- Python
- Bardzo fajny blog – Tima Andersona – EverNote został przepisany z platformy .NET WPF na C++ (za dużo zasobów zżerał), ale czy to dobry ruch? Można było dać szansę wersji WPF 4.0 lub Silverlight.
- Możliwości Power Pivot 4 Excel - http://www.powerpivot.com/videos.aspx
- Niezły blog – Macieja Grabarka (WCF i WPF), materiały pokonferencyjne są tu. Tamże typowe polskie blogi .netowe:
- http://dotnetblogs.pl/
- http://codeguru.pl/Default.aspx
- http://dotnetomaniak.pl/
- http://edwardweinert.com/
- http://joannasubik.pl/
- inicjatywa MS zachęcająca do testowania technologii – pro momentum
- http://www.daczkowski.net/
- http://tomaszwisniewski.com/
- Możliwości IE 9 - http://msdn.microsoft.com/en-us/ie/ff468705.aspx
- Dr. Dobbs:
- Serwis WCF - http://drdobbs.com/visualstudio/227600076?pgno=2
- Istota JSONP - http://drdobbs.com/visualstudio/226500168
- Blokowanie akcji w jQuery - http://drdobbs.com/visualstudio/225702258
- Jak pisać aplikacje dla urządzeń mobilnych - http://drdobbs.com/windows/229300121
- Co wybrać - http://www.visualwebgui.com/download.aspx
- Serwer imitujący fizykę - http://farseerphysics.codeplex.com/releases/view/64108
środa, kwietnia 20, 2011
Ciekawostki
- https://www.amazon.com/ap/signin?ie=UTF8&pf_rd_r=0YZBH202FSBYVV56QQ6C&pf_rd_m=ATVPDKIKX0DER&pf_rd_t=6301&pf_rd_i=usflex&pf_rd_p=1277563402&pf_rd_s=signin-slot
- http://webhosting.pl/Frameworki.JavaScript.przeglad.najlepszych.zestawow.do.tworzenia.aplikacji.WWW.i.porady.kiedy.je.stosowac
- Inny cURL - http://curl.haxx.se/libcurl/php/examples/callbacks.html
- http://www.higherpass.com/php/Tutorials/Using-Curl-To-Query-Remote-Servers/ – CURL_RETURNTRANSFER = 0 – wrzuca do przeglądarki, autentykacja - http://www.higherpass.com/php/Tutorials/Using-Curl-To-Query-Remote-Servers/5/, z XML - http://www.higherpass.com/php/Tutorials/Retrieving-Xml-With-Curl-And-Simplexml/2/, http://curl.haxx.se/libcurl/php/examples/callbacks.html
- Wyszukiwarki:
- Tutorial dla PHP - http://www.phpfreaks.com/tutorials
- Wywiad z przedstawicielem MS, natywność oznacza wykorzystanie możliwości systemu operacyjnego, w tym sensie Windosw 7 (jump list itd). Co wybrać - do aplikacji biznesowych sugeruje SL (będzie nowa wersja LightSwitch cała w SL) - http://webhosting.pl/Co.oznacza.natywnosc.w.wypadku.IE10.Rozmawiamy.z.Arturem.Zarskim.z.polskiego.oddzialu.Microsoftu. Tam odnośnik do oficjalnego stanowiska firmy - http://team.silverlight.net/announcement/standards-based-web-plug-ins-and-silverlight/.
- Narzędzia do wspomagania firmy - http://webhosting.pl/10.aplikacji.SaaS.dla.nowoczesnej.firmy.czyli.jak.skompletowac.narzedzia.za.mniej.niz.300.zl. Tu zasługuje na wzmiankę pakiet do projektów - www.isido.pl
- FireBug i jego potomkowie - http://getfirebug.com/wiki/index.php/Firebug_Extensions#Chromebug
- Przegląd frameworków w JS - http://webhosting.pl/Frameworki.JavaScript.przeglad.najlepszych.zestawow.do.tworzenia.aplikacji.WWW.i.porady.kiedy.je.stosowac - duże projekty wymagaja stanowczo wykorzystania YUI (EXT JS)
- Pułapki CSS - http://www.slideshare.net/stubbornella/our-best-practices-are-killing-us
- Biblioteka niwelująca różnice m. przeglądarkami w zakresie zapamiętywania danych po stronie klienta - https://github.com/StevenBlack/store.js/tree/
- Wykorzystanie narzędzi open-source rosnie - http://www.infoworld.com/d/application-development/open-source-programming-tools-the-rise-740?page=0,4
- Lista baz NoSQL - http://nosql-database.org/
- Najlepsze narzędzia do Pythona - http://www.infoworld.com/d/developer-world/infoworld-review-nine-fine-python-development-tools-374?page=0,5&source=rs
- Pomysły - Kawasaki o oczarowaniu, DynaTrace i IE6/7/8- to są realia w KW, program do udawania miejsca, Rodek towrzy pismo, my go ekportujemy do PDF (zapisuje w bazie) i wysyłamy do AS-a, on je podpisuje
czwartek, kwietnia 14, 2011
E-faktura, stan prawny
Rzeczpospolita - Są zgłoszone dwa projekty ustaw dotyczących e-podpisów:
- poselska (zrównanie podpisu osobistego w dowodzie z odręcznym),
- rządowy (ograniczającym działanie podpisu osobistego do kontaktów z e-administracją). Poza tą różnicą mają wspólne punkty, wprowadzają zaawansowany podpis elektroniczny (nie wymaga karty czy czytnika) oraz pojęcie pieczęci elektronicznej powiązanej z podmiotem.
Obecnie z e-podpisu korzysta 300 tyś osób.
Tamże z dnia 10.01.2011 - aby przesyłać e-faktury, ale pliki muszą spełniać określone warunki. Informacje o zmianach w VAT na 2011 są opublikowane w broszurze przez Min Fin. Od 1 stycznia ulega uproszczeniu wysyłanie faktur online (zgodnie z rozporządzeniem z 17.12.2010 - DzU z 2010 r. nr 249, poz 1661 w odpowiedzi na nową dyrektywę Rady 2010/45/UE z 13 lipca 2010). Faktura może być wysłana w dowolnym formacie elektronicznym ale z obwarowaniem zapewnienia autentyczności pochodzenia i integralności treści. Ale nie ma mowy o minimalnych warunkach technicznych jakie muszą być spełnione.
Trochę więcej na temat dyrektywy
Pozwala ona na zastosowanie, obok EDI i bezpiecznego podpisu stosować dowolnej technologii która zapewni:
- autentyczności pochodzenia,
- integralności treści (integralność treści oznacza niezmienność obowiązkowych elementów faktury, można dodać lub zmienić dane nieobowiązkowe takie jak znaczniki lub komentarze lub zmienić format faktury - ale z tym należy postępować ostrożnie gdyż można liczyć się na różne interpretacje - sumarycznie lepiej fakturę podpisać i zapieczętować i nic w niej nie ruszać) oraz,
- czytelność
Obowiązek wprowadzenia do końca roku 2012.
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:
- skorzystanie z cURL - dokumentacja
- 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
- zaprzęgnięcie do tego usług webowych –WSO2
Pracowita niedziela
Ciekawostki z życia:
- Coś dla ciała - http://tempehservice.com/?pl_badz-wege,27, Sklep w Katowicach
- Interesujące wnioski z analizy - http://httparchive.org/interesting.php - na podstawie webhosting.pl – jQury dominujący framework wśród JS
- Niezłe rzeczy można z tym zrobić - http://www.autohotkey.com/docs/Tutorial.htm
- Proste przykłady z C# - http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm
- Silne wsparcie protokołu HTTP i nie tylko - http://hc.apache.org/httpcomponents-client-ga/tutorial/html/
- Wspaniały odnośnik do przykładów z różnych dziedzin informatyki i języków programowania - http://www.java2s.com/, szczególnie są ciekawe wątki - http://www.java2s.com/Code/CSharp/Thread/CatalogThread.htm i inne strony - http://www.javakb.com/Default.aspx
- Pobieranie danych poprzez PHP - http://wezfurlong.org/blog/2006/nov/http-post-from-php-without-curl/
Różności
Różne:
- Wstrzykiwanie kodu m. serwerem a klientem w JS - bardzo niebezpieczne - na blog.port80software.com
- 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:
- Here's what artists understand. It's the a three-word sentence that fills me with hope every time I read it:
- Nothing is original.
- It says it right there in the Bible. Ecclesiastes:
- “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."
- Every new idea is just a mashup or a remix of previous ideas.”\
- 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
czwartek, kwietnia 07, 2011
Koniec z Lenovo (resztki opery)
- Darmowa literatura - http://freebookspot.co/TopTen.aspx?Category_ID=105
- MS IE akceleratory i inne nowinki z IE8 - http://msdn.microsoft.com/en-us/library/cc189058(v=vs.95).aspx
- Wstrzykiwanie php do skryptu w czasie ładowania się strony - http://www.javascriptkit.com/javatutors/externalphp.shtml – można wykorzystać aby w php połączyć się z inną witryną i wykonać jakąś operację (np WS)
- Badania WPF:
czwartek, marca 31, 2011
Mega linki z pracy cz. 1
- Do wykorzystania:
- Pożyteczny przykład z CodeProject wykorzystania DataGrid w technologii WPF z bazą SQL Server Compact
- Też stamtąd – tutorial na temat log4net - o zapisywaniu informacji do logów aplikacyjnych
- Wykorzystanie DataTables z jQuery w aplikacjach ASP.NET
- Wykonywanie w locie dowolnego serwisu WCF
- WCF by example
- Prosty sposób na odpytanie bazy danych
- Praca z dużymi plikami XML bez ich wczytywania w całości
- Własny handler do przetwarzania żądań do stron
- Własny sposób na wykorzystanie WCF do autentykacji i szyfrowania danych
- Eksport danych z bazy do różnych formatów (PDF, DOC, RTF czy XLS)
- GTD w akcji - http://www.codeproject.com/KB/applications/todolist2.aspx
- Crystal Report zanurzony w VS2011 w akcji
- Dokładny przykład jak wykorzystać Lightswitch do tworzenia aplikacji do zbierania danych
- Kolejna biblioteka do tworzenia PDF w wersji Lite jest bezpłatna – quickpdflibrary. Inny bezpłatny komponent do tworzenia PDF (i nie tylko, może jeszcze tworzyć DOC, XLS, RTF) – e-iceblue. Bardzo dokładny opis “bebechów” PDF – na JPedal.org (widać po nazwie, że firma wyszła z jakiegoś open source-wego projektu, okrzepła i zaczyna “zbijać kasę”). To był blog, a teraz tu są zebrane zasoby na temat PDF i wsparcia w tym temacie. Oficjalna strona blogu Adobe dla developerów jest tutaj, na stronie Adobe. Flash Builder jest za darmo pod pewnymi warunkami
- Kapitalny program do rysowania diagramów - https://grapholite.com/Designer
- Przegląd technologii używanych w .NET, bardzo cenny materiał
- Jak oczarować klienta - http://www.zdnet.com/videos/events/guy-kawasaki-how-to-enchant-users/6203360 – tako rzecze Kawasaki
- Wyjaśnienie przez MS w sprawie kradzieży certyfikatów z firmy COMODO, MS IE7 wzwyż ma włączone domyślnie sprawdzanie OCSP (FF domyślnie to opcja wyłączona). TechNet tak wyjaśnia CRL
- PowerShell to nowe, świetne środowisko skryptowe, ma nawet swoje GUI, tutorial - http://powergui.org/tutorials.jspa
- Tutorial o WCF - http://www.wpftutorial.net/GridLayout.html
- Java – jak oszukać sprawdzanie certyfikatu serwera w aplikacji pobierającej z niego dane
- Kapitalne narzędzie do testowania maszyny wirtualnej Java - http://visualvm.java.net/download.html
poniedziałek, marca 28, 2011
Dziwna polityka firmy
Firma Certum (Unizeto) wykazuje dziwną politykę, na liście urządzeń do składania podpisu brakuje np. czytnika SCR 3310. Dlaczego? Może dlatego, że pochodzi on od konkurencji (Sigillum) i wykorzystanie go oznaczałoby mniejszy zysk z tytułu braku konieczności zakupu nowego czytnika, skoro można wykorzystać już zakupiony wcześniej czytnik. Wielu naszych klientów tak robi, kupuje początkowo zestaw Sigillum (tak im zalecaliśmy), a po dwóch latach przechodzi do innego dostawcy podpisu i kupuje jedynie kartę wykorzystując istniejący czytnik. Dobre, tylko firma Certum tego klientowi nie mówi.
Inne curiosum, wyżej wspomniana firma Certum dostarcza oprogramowanie do podpisu i obsługi czytnika. Istniejące obecnie na stronie oprogramowanie ProCertum SmartSign oraz ProCertum CardManager są wykonane w technologii uniemożliwiającej składanie tzw “Wielpodpis - fragment ze strony opisu wycofanego oprogramowania ProCertum MultiSign” co oznacza brak możliwości podawania PIN-u tylko raz na początku składania podpisu pod wieloma dokumentami a wymusza wklepywanie PIN-u podczas podpisu każdego dokumentu z osobna. Tej cechy pozbawiony jest produkt zastępujący satry ProCertum MultisSign –> ProCertum SmartSign. Ale żeby było ciekawiej w korespondencji z Certum wynika, że ich wewnętrzne rozwiązanie umożliwiają wielopodpis tylko że są dostępne odpłatnie po zakupie licencji do ich biblioteki. Czy ten ruch pozbawiający użytkownika ważnej funkcjonalności jaką jest wielopodpis był świadomym działaniem aby wymusić na deweloperach zakup ich biblioteki?
W tym świetle pozostałe centra certyfikacyjne KIR i Sigillum wyglądają korzystniej – obie te firmy używają oprogramowania Crypto Tech (sterowników do czytników kart inteligentnych), które ma WBUDOWNĄ funkcjonalność “utrwalenia” PIN-u na określony czas lub ilość podpisów. I to jest godne naśladowania. Apel do firmy Certum - teraz Twój ruch!
Dziwna polityka firmy
Firma Certum (Unizeto) wykazuje dziwną politykę, na liście urządzeń do składania podpisu brakuje np. czytnika SCR 3310. Dlaczego? Może dlatego, że pochodzi on od konkurencji (Sigillum) i wykorzystanie go oznaczałoby mniejszy zysk z tytułu braku konieczności zakupu nowego czytnika, skoro można wykorzystać już zakupiony wcześniej czytnik. Wielu naszych klientów tak robi, kupuje początkowo zestaw Sigillum (tak im zalecaliśmy), a po dwóch latach przechodzi do innego dostawcy podpisu i kupuje jedynie kartę wykorzystując istniejący czytnik. Dobre, tylko firma Certum tego klientowi nie mówi.
Inne curiosum, wyżej wspomniana firma Certum dostarcza oprogramowanie do podpisu i obsługi czytnika. Istniejące obecnie na stronie oprogramowanie ProCertum SmartSign oraz ProCertum CardManager są wykonane w technologii uniemożliwiającej składanie tzw “Fragment ze strony opisu wycofanego oprogramowania ProCertum MultiSign” co oznacza konieczność podawania PIN-u tylko raz na początku składania podpisu pod wieloma dokumentami. Tej cechy pozbawiony jest produkt zastępujący satry ProCertum MultisSign –> ProCertum SmartSign. Ale żeby było ciekawiej w korespondencji z Certum wynika, że ich wewnętrzne rozwiązanie umożliwiają wielopodpis tylko że są dostępne odpłatnie po zakupie licencji do ich biblioteki. Czy ten ruch pozbawiający użytkownika ważnej funkcjonalności jaką jest wielopodpis był świadomym działaniem aby wymusić na deweloperach zakup ich biblioteki?
W tym świetle pozostałe centra certyfikacyjne KIR i Sigillum wyglądają korzystniej – obie te firmy używają oprogramowania Crypto Tech (sterowników do czytników kart inteligentnych), które ma WBUDOWNĄ funkcjonalność “utrwalenia” PIN-u na określony czas lub ilość podpisów. I to jest godne naśladowania. Apel do firmy Certum - teraz Twój ruch!
Ciekawostki
- Podobno Google Chrome OS ma się ukazać w tym roku (mówi się nawet o 11 listopada) - tak twierdzi computerworld.
- Jak podkręcać systemy operacyjne, jak wyłączać pewne usługi - http://www.blackviper.com/ – np. jakie usługi wyłączyć w XP Home - http://www.blackviper.com/WinXP/servicecfg.htm
- Potrzeba ochrony danych wrażliwych spowodowała udostępnienie na poziomie motora baz danych szyfrowania, nosi to nazwę transparent data encryption (TDE). MS SQL Server od wersji 2008 ma szyfrowanie w bazach danych, podobnie Oracle od wersji 10g. Bazy open-source mają też dodatkowe, dedykowane moduły do szyfrowania np MySQL (ezNCrypt) lub uniwersallny eCryptfs Szyfrować można również całe partycje (np. BitLocker) - za polskim computerworld.
- Uważa się, że technologia bazująca na Hadoop może w przyszłości rozwinąć się w ważną działkę BI.
- Dinozaury się dogadały, nie będzie już harmonii w Javie. Pragmatyczne podejście - IBM zarzucił prace nad rozwojem rywalizującego z OpenJDK projektu Apache Harmony (rozwój Java SE) i zawarł pakt z Oraclem mający na celu wspieranie jednej linii rozwoju javy bazującej na OpenJDK. Nazwał ten proces jako “revers fork”. Tym samym zwarł siły w froncie walki przeciw Google, który samozwańczo rozwija projekt Android wykorzystujący ograniczoną funkcjonalnie wersję języka java – wg ITWorld.
- Kto pierwszy złamał dogmat, że szyfrowanie i deszyfrowanie są operacjami równoważnymi (symetrycznymi względem siebie) tyle, że odwrotnymi i w związku z tym wynalazł szyfrowanie asymetryczne? Podręcznik uczy, że byli to amerykanie z MIT - Ron Rivest, Adi Shamir. Teraz okazało się, że nie. Na początku lat 70 pierwsi doszli do tego brytyjczycy . To właśnie Cocks, wraz z James Ellis i Malcolm Williamson. Ich prace zostały utajnione przez British Government Communication Headquaters (BGCH) przez 20 lat. Teraz ich prace nad kryptografią opartą o klucz publiczny zostały nagrodzone przez największą na świecie organizację techniczną IEEE – CIOL.
- Dużo szumu o nowym komunikatorze - http://www.24im.com/plans/
Co z tym DNS?
Sprawy dookoła DNS ciągle się rozwijają. Prawdziwym znawcą tego tematu jest Mark Minasi (pionier w propagowaniu wprowadzenia DNSSEC, ostatnio widziałem go w Warszawie na MTS 2010, to prawdziwy showman). Wiele firm oferuje darmową usługę DNS dla klientów indywidualnych, dodatkowo wzbogacają ją o bezpieczeństwo rodzicielskie i/lub sprawdzanie antyspamowe, antymaleware itd. Do liderów w tej dziedzinie należy:
- OpenDNS
- DynaDNS – chyba daje jeszcze adresy dynamiczne. Obecny Internet przekształca się w model TV – wielu odbiorców, niewiele kanałów. Dzięki usłudze dynaDNS teraz każdy może przekształcić swój komputer w publiczny serwer widziany poprzez Internet
- Ultra DNS Advantage – NeuStar
- Nowy - Google Public DNS
Do badania wydajności pracy DNS stosuje się benchmarki takie jak namebench. Problemy nadciagające dla tych dostawców z uwagi na wprowadzenie IP6 oraz DNSSEC.
Zebrane linki w pracy
- PDFAid - Zestaw narzędzi do pracy z PDF – niestety nie za darmo
- Awarie poczty pokazały, że najpewniejszym nośnikiem jest jednak taśma a nie dysk
- Twitter na Scali? Chyba
- Doskonała sprawa – wykorzystanie MS Live Mesh do zdalnego dostępu do sieci firmowej - jak to zrobić
- Rozbiegówka na temat C# na łamach CodeMagazine
- Serwis snip.ly (logowanie obce np. poprzez FB)
Zamknięcie starego IE8
- Korzystając z subskrypcji TechNet można dostać się do zasobów tego portalu “Learning Resources”
- Słynny portal “C#/.NET Little Wondres” – jest tu
- Jaki jeszcze mogą być biblioteki JavaScript? Ano taki: Spry, QooXdoo, Midori, Archetype, Wijmo, JavaScriptMVC – ankieta jest tu
- Świetny blog - http://www.msjoe.com/. Tamże jest o:
- O Node.js (na The Register – doskonały przegląd historii i rozwoju node.js) – ma dwa lata, bazuje na V8 (ten sam silnik jest w Chrome) i wykorzystuje model zdarzeniowy (event-driven) a nie wątkowy przez co jest znacznie szybszy. Tutaj jest dygresja – model ED jest naturalnym sposobem wykorzystania możliwości systemu operacyjnego któremu się zleca obserwowanie zdarzenia jakim jest połączenie (OS robi to optymalnie ponieważ jest do tego stworzony), model wątków polega na “wyciągnięciu” z OS funkcjonalności tworzenia i zarządzania wątkami i na naszych barkach spoczywa brzemię ich poprawnego wykorzystania. Podejście to w pewnym sensie jest podobne do projektów EventMachine (Ruby) oraz Twisted (Python) . Oto prezentacja na ten temat:
- Wyszukiwarka kodu od google - http://www.google.pl/codesearch?hl=pl
- Nowości w jQ 1.5 - http://blog.rebeccamurphey.com/a-refreshed-ajax-in-jquery-15
- Śmiesznostki - http://abowman.com/google-modules/
- Medytacje wg. lifehackera i inne linki
- Inne do przeglądnięcia:
- Małe cudeńka – tym razem toList() i toArray()
- BlogI:
sobota, marca 26, 2011
czwartek, marca 10, 2011
E-faktura i podpis
Dane ze stycznia 2008 – TP SA wdrożyła wystawianie faktur klientom detalicznym (są jeszcze inni klienci – duże firmy). Doręczenie odbywa się e-mailem jako PDF + zewnętrzny plik do weryfikacji. Podpis w formacie XAdES-BES. Wdraża to itBCG. Testowe pliki z podpisem elektronicznym wraz z tabelą zestawień.
Podpis PDF – “Jest kilka wyjątków. Monitory Polskie są publikowane w postaci dokumentów PDF podpisanych elektronicznie, zarówno podpisem zewnętrznym (wymóg prawa) jak i osadzonym w dokumencie (wymóg zdrowego rozsądku)” – cytat od P. Krawczyka
poniedziałek, marca 07, 2011
Końcówka postów z Toshiby mojej córki
- Addy Osmani:
- Rebecca Murphey – podstawy jQuery
- RoseIndia – tutoriale
- 195 książek online – o programowaniu
- Python – regularny podręcznik
- Java – odczyt danych z internetu
- DumbLittleMan – lekcja mądrości od Newtona
- Webhosting.pl – upiększanie formularzy
piątek, lutego 25, 2011
Zebrane o MS
- Tworzenie aplikacji desktopowych – jak się za nie zabrać – tu
- Tworzenie ASP - tu
- Developers – tu
- Edukcja –tu
- Super, nic tylko kody – tu
- WCF:
- http://www.simple-talk.com/dotnet/.net-tools/essential-tools-for-the-wpf-novice/
- http://msdn.microsoft.com/en-us/beginner/bb308781.aspx
- http://www.simple-talk.com/dotnet/.net-framework/getting-started-with-xaml/
- Podpis - http://www.simple-talk.com/dotnet/.net-framework/beginning-with-digital-signatures-in-.net-framework/
- Linq- http://www.simple-talk.com/dotnet/.net-framework/using-three-flavors-of-linq-to-populate-a-treeview/
Informix wiecznie żywy i inne bazy danych
IBM nadal wspiera rozwój Informixa. Proponuje nawet wersję Informix innovator-C jako platformę do migracji z MySQL. Wersję darmową można nawet sobie ściągnąć z IBM (ale ma 500 MB). W portalu developerworks pokazuje jak to zrobić.
środa, lutego 23, 2011
Zasady…
Zasad trzeba się trzymać. Działają one podobnie do przykazań. Jedną z takich zasad jest zasada OPEN-CLOSE, która mówi “The O in SOLID - The Open-Closed Principle First proposed by Bertrand Meyer in 1988, the Open-Closed Principle goes like this: Software entities should be open for extension but closed for modification. In other words, use the class in any way you need but modifying its behavior comes by adding new code, never by modifying or deleting the old.”
Ciekawe e-booki - http://ebookxyz.com/category/programing/page/2/ i tu - http://ebookau.com/
Ciekawe rozszerzenia dla Chrome - http://sixrevisions.com/tools/chrome-extensions-developers-designers/?utm_medium=twitter&utm_source=twitterfeed
Otwiera oczy na JS - http://bonsaiden.github.com/JavaScript-Garden/#closures, script junkie też, pamięć lokalna w HTML 5 - http://www.codeproject.com/Articles/156985/Use-HTML5-LocalStorage-in-your-Mobile-Web-Applicat.aspx
Obserwuj witryny MS:
- http://msdn.microsoft.com/en-us/ff972295
- Dla aplikacji Windows - http://msdn.microsoft.com/en-us/windows/
- Dla bezpieczeństwa - http://msdn.microsoft.com/en-us/windowsserver/ff727936
- Polska wersja - http://msdn.microsoft.com/pl-pl/
- W poszukiwaniu zagubionego kodu - http://www.google.pl/codesearch?hl=pl
- http://msdn.microsoft.com/en-us/windows/ff972463
- IronPython - http://channel9.msdn.com/Tags/ironpython
- Obsługa WS po nowemu - http://www.servicestack.net/ServiceStack.Hello/
- Owijka do HTTP - http://geekswithblogs.net/michelotti/Default.aspx
- A little wonders - http://geekswithblogs.net/BlackRabbitCoder/archive/2011/02/10/c.net-little-wonders-the-concurrent-collections-1-of-3.aspx
- http://geekswithblogs.net/Default.aspx?q=Twitter
Medytacje:
wtorek, lutego 22, 2011
Nowości
IBM wcale nie uśmiercił Informixa, rozwija go nadal o czym świadczy możliwość ściągnięcia do siebie wersji jako maszyny wirtualnej z portalu VMWare. Teraz zachwala tę bazę jako serwer wbudowany do różnych urządzeń.
Aplikacja do zdalnego pulpitu – join.me. Czy naprawdę jest taka dobra? Trzeba to sprawdzić. Ponadto jest tam wiele ciekawych przenośnych aplikacji bez konieczności ich instalacji m.in. camstudio portable.
Różności
Wszystko co napotkałem po drodze:
- Zasoby bibliotek do Pythona - http://pypi.python.org/pypi/PyCSC/0.3 (przykład dla obsługi karty),
- lekcja na temat PGP i X.509 - http://www.ripe.net/lir-services/training/e-learning/database-2-pgp-1.html (są tez inne kursy),
- tworzenie własnego serwera HTTP: najpierw nasłuch na porcie": netsh http all urlacl http://+:8008/ user=Everyone listen=true, i reszta jest opisana tu - http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=784, jest też część druga - http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=784
- Podpis w javie - http://www.devcomments.com/Status-of-SHA-2-ms-crypto-patch-at149792.htm i odwołanie się do starej biblioteki - http://www.aleksey.com/pipermail/xmlsec/2010/008807.html, wątek użycie node.js i jQuery - http://www.devcomments.com/Status-of-SHA-2-ms-crypto-patch-at149792.htm
- Super perełka – powiedz to w różnych językach programowania - http://stackoverflow.com/questions/3538156/file-i-o-in-every-programming-language – oprracje I/O
poniedziałek, lutego 21, 2011
Życie toczy się dalej…
Po ukazaniu się wersji RC jQuery 1.5, rozpoczęto prace nad nowym projektem UI – GRID w ramach jQuery UI Team. Ma on zastąpić i ujednolicić podejście do siatki danych implementowane w wielu rozwiązaniach wtyczkowych. oto cytat “There are already a number of high quality jQuery grid plugins. We recognize they each have an impressive set of features, capabilities, and a level of use by members of the jQuery community. We are studying and applying practices and techniques from today’s most popular grid and data table plugins, including current favorites, SlickGrid,jqGrid, DataTables and a few that have not been updated in a while, like Tablesorter,Flexigrid, and Ingrid. We invite all authors and users of these and any other grid plugins to get involved in the design of the jQuery UI Grid.”. Źródło - http://blog.jquery.com/2011/02/07/jqcommunity-updates-feb2011/
piątek, lutego 18, 2011
Zamyślenie…
Problem tworzenia aplikacji internetowych. Można go zaatakować z dwóch stron – mamy tu do czynienia z klasycznym przypadkiem interakcji serwer-klient.
Od strony serwera poprzez stosowanie w wybranym języku serwerowym rusztowań (frameworków) które nie tylko stanowią owijkę dla dla jego języka (wprowadzają słynny model MVC jak np. PHP Cake lub bardziej złożony ale uniwersalny ZEND) ale DODATKOWO pozwalają również na wstrzykiwanie kodu do przeglądarki internetowej po stronie klienta przez co aplikjacja robi się bardziej reaktywna (np. EXT PHP, ZEND).
Od strony klienta działającego w przeglądarce internetowej który realizuje cały GUI po stronie klienta a dobiera sobie dane poprzez AJAX od serwera. Tutaj mamy uniwersalny ale niskopoziomowy AJAX, lub frameworki jQuery/EXT JS i inne, z dodatkami OO jak np. Javascript MVC.
Innym, ciekawym rozwiązaniem jest poleganie na narzędziach RAD, które w sobie mają wbudowane jakieś frameworki np. SENCHA lub Appcelerator (z przejętą przez niego Aptaną).
Innym zasługującym na uwagę zjawiskiem jest sytuacja w obszarze mobilnych urządzeń. Mamy tu powtórkę całej historii informatyzacji w pigułce. Najpierw tworzono aplikacje lokalne (w rozumieniu tego urządzenia) w językach które miały na danej zabawce swoją maszynę wirtualną np. Java VM (zubożona Java ME), rzadziej .NET i były to najczęściej gry. Później uległy zaawansowaniu systemy operacyjne tych urządzeń i pojawiły się aplikacje systemowo-narzędziowe chociażby przeglądarki internetowe. Pozwoliło to na wykorzystanie języków skryptowych tych przeglądarek (najczęściej Javascript) do tworzenia aplikacji w środowisku przeglądarkowym. A że przeglądarki uniknęły syndromu IE (chodzi o skarłowaciałe wersje IE 4/5/6 a nawet 7) i opierały się na bibliotece WebKit (Safari lub Chrome) lub Mozille (Firefox) z wersją HTML 5, moża było od razu wykorzystać AJAX i inne zaawansowane biblioteki jak jQuery, Dojo. Tutaj już następuje wyjście na świat zewnętrzny – dostęp do dowolnego serwera i technologii tworzenia aplikacji po jego stronie. Tak naprawdę przeglądarce było obojętne co jest TAM po drugiej stronie – komunikacja z nią odbywała się poprzez URI (początki REST). Teraz zaczęto wbudowywać w VM Jay wsparcie dla innych języków dynamicznym i mamy pełny wysyp języków znanych ze świata PC jak Ruby, JS, Python. Dzięki nim możemy tworzyć aplikacje lokalne i internetowe pomijając przeglądarkę internetową jako kontener runtimemowy czasu uruchamiana – framework dla Androida o nazwie S4A, Jednakże przeglądarka nie przestaje być atrakcyjnym pojemnikiem dla uruchamiania aplikacji ponieważ daje już na pczątek dwie ważne rzeczy deweloperowi: możliwość standardowego kontaktu z siecią internet (poprzez warstwę AJAX i inne, na niej zbudowane warstwy jak REST) oraz zunifikowany sposób wyświetlania danych poprzez GUI oparty na HTML5 obudowany w framework wizualizacyjny choćby jQuery Mobile lub zapeto.
Ażby usprawnić i przyśpieszyć działanie aplikacji próbuje się stworzyć taki system operacyny który ma wbudowaną przeglądarkę i języki skryptowe a nawet języki 3GL (kompilowalne) jak to ma miejsce w przypadku OS Chrome. I tu powtarza się sytuacja MS w latach powstawania Internetu, MS wbudował w OS wsparcie dla przeglądarki IE3 oraz języków skryptowych (JS), a potem został potępiony i musiał przeglądarkę odłączyć od niego.
poniedziałek, lutego 14, 2011
Grafika
Jak zwykle świetny artykuł na LISAPART na temat stosowania grafiki wektorowej zgodnie ze standardem SVG. Do wykreślania użytko biblioteki opierającej się na jQuery – flot. A do obsługi SVG użyto biblioteki google svgweb. SVG moża również przetwarzać interaktywnie przy pomocy inkscape (darmowy zamiennik Illustratora) lub programowo przy pomocy Raphael (świetny tutorial na ten temat)
Jak pies z kotem (… Java z .NET)
Projekt Ja.Net pozwala na skompilowanie klas Java do fabryki (assembly) .NET, czyli DLL które potem można wykorzystać w np. C#. Trochę niejasna jest sprawa użycia projektu Harmony (obecnie zarzuconego nawet przez IBM).
Osobiście używam IKVM
Do komunikacji poprzez HTTP stosuje się najpopularniejszą chyba bibliotekę HTTPClient fundacji Apache. Szczególnie piękny jest wstęp do korzystania z tej biblioteki podkreślający, że nie jest ona obsługą przeglądarki ale protokołu HTTP.
piątek, lutego 11, 2011
Ważne dla mnie i nie tylko
- Ważny sojusz technologiczny Microsoft z Nokią , obie firmy ciężko odczuwają atak Apple i Google w obszarze urządzeń mobilnych. Być może ten sojusz wzmocni ich pozycje.
- Websocket – modna technologia – wykorzystana w HTML 5 – ostatnie zmiany są tu.
- Android – można również pisać oprogramowanie w Python dzięki SL4A.
- Wstęp do JS wg MS.
- Zmiany w Facebooku.
- Zmiany w nowej wersji jQuery 1.5, ogólnie są tu, szczegółowo na blogu i stronie. Ciekawe wtyczki do niego. Od czego zacząć naukę jQuery? I tu.
- Wskazówki dla piszących w PHP.
- Sterowanie IE w C#:
- http://www.codeproject.com/KB/cs/automatingwebbrowsing.aspx
- http://www.codeproject.com/KB/cs/mshtml_automation.aspx
- Sterowanie myślami - http://www.networkworld.com/community/blog/thought-police-darpa-wants-know-how-stories-i?source=NWWNLE_nlt_daily_pm_2011-02-10
czwartek, lutego 10, 2011
Co z systemami operacyjnymi przyszłości?
Złe wróżby dla Microsoft – HP ogłasza gotowość do produkcji własnego systemu operacyjnego WebOS w tablecie TouchPad oraz telefonie. Jeden system operacyjny na takie różne urządzenia! Tego nie udało się nawet Microsoftowi. Powoli tworzy się przestrzeń nowych systemów operacyjnych bazujących na urządzeniach mobilnych z ambicjami wejścia na platformę PC. mamy takich graczy:
- Apple – unifikacja dwóch systemów iOS i MacOS X w postaci Lion
- Google – webowy system Chrome OS i Android
- i teraz HP – webOS
MS widzi zagrożenie i zaczyna działać – zamierza portować Windows 8 na platformę ARM (właściwa dla urządzeń mobilnych), ale to dopiero na początku 2013 r.
A więc zaczyna się wojna systemów operacyjnych!
Aplikacje społecznościowe
Są obecnie bardzo modne. Stworzenie ich ułatwia specjalny framework dostępny na stronach code.google.com. Pomocne może być wiki na ten temat. Na razie działa tylko z iGoogle, ale idea aplikacji społecznościowych jest tu dobrze wytłumaczona.
czwartek, lutego 03, 2011
Rozwój w czwartek
- Na podstawie strony blogowej - http://marxsoftware.blogspot.com/. Pierwsza pomoc do HTML5 - http://diveintohtml5.org/. Fajna sztuczka z warunkowym dodaniem biblioteki js:
<!--[if IE]><script src="excanvas.js"></script><![endif]—>
Dzięki temu można skorzystać z kanwy dostępnej w HTML5 – link do biblioteki jest tu. Ale czy nie lepiej użyć innej biblioteki do detekcji przeglądarki - http://www.modernizr.com/?
- Jak ustawić poziom zabezpieczeń dla aplikacji we Flash-u – na stronach macromedii.
- Wizualizacja na stronach HTML – skorzystaj z biblioteki Google, jak z niej skorzystać – na eggheadcafe.
- Narzędzia do .NET framework –z linii poleceń – na msdn. Sam framework jest tu.
- Świetny, bezpłatny katalog funkcji w .NET na InformIT. Np. link do FAQ (czyli pomocne przypadki i rozwiązania) na temat Windows Forms jest tu. Jak powiązać dane do kontrolek – KQ 313482.
- Inny temat – PHP w środowisku developerWorks – ciekawe artykuły. Wprowadzenie do ZEND-a.
- Wyniki wyszukania jquery na developerWorks - tu
- Zabawy z XSLT z wykorzystaniem JS – “Build portable XSLT utilities” – z IBM developerWorks
- Bezpieczeństwo chmur – w portalu tu. Tamże model ataku na REST.
- Prosty a skuteczny system logowanie się – “Very simple login using Perl, jQuery, Ajax, JSON and MySQL”.
- Co Apple myśli o H.264 – na The Register
- Różnica między IEnumerable i IEnumaratorem – tu na CodeProject, czytanie XML przy pomocy LINQ, implementacje hash, wstrzykiwanie HTML i kodu JS do przeglądarki, praca ze zdarzeniami, zasoby REST-a, różne algorytmy sortowania, autentykacja z OpenID.
- Smutny los open-source – tu.
- Grid na sterydach w .NET - http://sourcegrid.codeplex.com/
wtorek, lutego 01, 2011
Rozwój
Jest wiele portali do nauki technologii wykorzystywanej w Javie jednak chyba najlepsze są lekcje z możliwością poznania jakieś technologii w praktyce. Dlatego takie portale jak myEclipse zawierają tutoriale prezentujące praktyczne lekcje jak zrobić coś przy użyciu czegoś. Adres pod którym są takie lekcje jest tu. Podobne role spełniają portale edukacyjne Eclipse i Netbeans. Tak a pro po Netbeans od wersji 7 nie będzie zawierał platformy RoR (platforma ta mimo dużego zainteresowania się deweloperów jakoś sie nie rozwinęła, nie pomogło nawet kupienie przez Salesforce Heroku), ludzie z Oracle tłumaczą się tym, że wszystkie siły trzeba skierować do realizacji mapy drogowej Java.
Portale edukacyjne – jest ciekawy na infoq. Tam jest ciekawa pogadanka o funkcjach w JS. Lub securitystandard. Zalecenia dla PHP z OLAMP. VirtualStudy – kurs C#.
Integracja to hasło roku. Widzimy integrację platformy Java, nawet IBM porzucił projekt Harmony na rzecz Open JAVA (trochę zmusił go do tego Oracle), integrację w narzędziach RAD dla twórców aplikacji webowych (Aptana wykupiona została przez Appcelerator), integrację narzędzi do testowania aplikacji webowych (WebDriver połączy się z projektem Selenium), integrację bibliotek JS do tworzenia aplikacji (jQuery tworzy framework dla aplikacji mobilnych i powstają zalecenia odnośnie dobrych praktyk w tworzeniu interfejsu mobilnego – W3C z uwagi na potrzebę zachowania “lekkoścj” kodu), integrację standardu HTML w wersji 5 (uproszczony nagłówek HEAD bez zbędnych “upiększeń”).
Znowu moda na bazy nie SQL-owe. Jedną z nich jest REDIS. Prosta, szybka i wydajna, działa na zasadzie pary klucz-wartość. Dane są przechowywane w pamięci, utrwalenie następuje bądź poprzez okresowe opróżnianie cache z zapisem na dysk lub poprzez zapis ciągły do logu. Ma klientów do niej dla C#, PHP, Go. Brak pełnego wsparcia dla Windows (choć sama baza jest napisana w C i wymaga środowiska zgodnego z Posix). Można ją używać m.in. jako wyspecjalizowaną pamięć podręczną (cache) w rozumieniu przechowywania w niej nietrywialnych (nieprostych) struktur danych. Przykłady użycia w C#.
Produktywność – słowo wytrych dla pracodawcy. Oto kilka aplikacji darmowych: LibreOffice, myBrainShark, Gubb, Remember the Milk, CloudSafe, PrimoPDF/PrimoOnline, Khan Academy.
poniedziałek, stycznia 24, 2011
Perełki (ale do zbadania)
- “Best practices for .NET developers” - http://mostlylucid.net/archive/2011/01/18/best-practices-for-.net-developers.aspx
- “Var vs. dynamic keyword” - http://www.devcurry.com/2010/09/var-vs-dynamic-keyword-in-c-40.html
- Zestaw kategorii artykułów - http://www.dotnetcurry.com/ShowCategories.aspx
- Wyszukiwanie developerworks na temat ‘jquery’
- Co to jest open – source z Techrepublic
- JavaRaunch – tworzenie PDF w iText - http://www.coderanch.com/how-to/java/ItextExample
- Patrz też tam na kategorie - http://www.coderanch.com/how-to/java/CodeBarn
- Zasoby na temat jak zostać designer’em - http://lifehacker.com/5739492/learn-the-basics-of-design-this-weekend
- Sylwetka programisty z Google - http://news.cnet.com/8301-27080_3-20028623-245.html?tag=nl.e703
- Początek z jQuery - http://www.ibm.com/developerworks/web/library/wa-jquery1/
- Gartner ostrzega o zmianie spojrzenia na aplikację - http://searchsoa.techtarget.com/tip/Gartner-Analyst-Rethink-the-application-paradigm-consider-business-capabilities?asrc=EM_NLN_13179152&track=NL-110&ad=807050
- Nauka JS:
- http://www.dzone.com/links/r/partial_function_application_in_javascript.html
- http://www.dzone.com/links/r/jquery_15_promises_a_better_future.html
- http://www.dzone.com/links/r/10_must_see_new_useful_jquery_plugins.html
- http://www.quirksmode.org/js/this.html
- http://www.dzone.com/links/r/45_resources_tutorials_for_designers_and_develope.html
- http://www.dzone.com/links/r/wiki_in_80_lines_of_javascript.html
- http://www.dzone.com/links/r/14_really_useful_jquery_plugin_for_create_web_apps.html
- http://www.dzone.com/links/tag/javascript.html:
- http://www.dzone.com/links/r/14_best_javascript_frameworks.html
- http://www.dzone.com/links/r/what_is_jquery_the_perks_and_the_drawbacks.html
- JSON ważny - http://radicaldevelopment.net/2010/04/07/process-json-jquery/
- Czego nie wiesz o javie to powie ci IBM - http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=5+things+you+did&cmp=dw&cpb=dwjav&ct=dwnew&cr=dwnen&ccy=zz&csr=010711
- On też ci powie jak korzystać z GWT - http://www.ibm.com/developerworks/web/library/wa-aj-gmt/?cmp=dw&cpb=dwwdv&ct=dwnew&cr=dwnen&ccy=zz&csr=010711
- Wywiad ze Spolksy - http://www.foundersatwork.com/joel-spolksy.html
- Potzrebne jest nowe spojrzenie na aplikację. Co na to Gartner – “The application platforms we are dealing with today encourage outdated software design processes. A better way for development managers to think is in terms of deploying capabilities to a particular environment that has the ability to interact with other capabilities. This eliminates the artificial walls between applications.
That is at least one take away from a discussion with Kirk Knoernschild, a research director with Gartner Group. Enterprises are beginning to uncover a fundamental mismatch between the way code is developed and the business value of the development process, argues Knoernschild. “We have taken this notion of an application that runs in its own process that we are accustomed on the desktop and essentially carried that over into the notion of an app on a server,” he explained.
“Why do we even need the notion of an application on the Web?” asked Knoernschild. “It is an artificial notion that constrains how we go about building, deploying and managing software. Instead of application, we need to think in terms of business capabilities, the business process and business activities. “
A significant contributing factor to this disconnect lies in the way in which new code is funded. The challenge is that this process has developed a monolithic application mentality, which makes it easy to add too many competing elements to the finished product. He noted, “Before we know it, we are left with application bloat. We have this all of these applications and some do the same thing, while others are unique.”
The source of the problem is caused by thinking about the development process in terms of applications rather than metrics which are meaningful to the business. Thinking about code in terms of application focuses the attention on metrics like project cost and time to code, which detract the focus from more significant metrics that relate to the end product. Tłumaczenie – powodem rozdźwięku jest traktowanie procesu wytwarzania aplikacji w terminach metryk (miar) odnośnie do aplikacji a nie metryk związanych z biznesem.
Traditionally IT focuses on IT metrics like cost, time to market, and the number of defects, code quality and test coverage. Perhaps those types of metrics are useful for assessing how streamlined the development process is – but there are other values to consider.
Organizations also have to look at the value their software provides to the business after it is developed. Just because it cost $2 million to deliver a project that is on time and on budget, does not mean and organization is the value the system needs.
Knoernschild said, “Understanding the business value is also very important, and that is an area where a lot of organizations tend to fall short. That can come in a variety of forms such as worker productivity, customer satisfaction, and retention.” – źródło searchsoa.
piątek, stycznia 21, 2011
Nie kończąca się historia–HTML 5
Źle się dzieje w HTML – nowa wersja HTML 5 została zaanonsowana jako samodzielny byt od niedawna. Koniec prac nad jej specyfikacją przewiduje się za kilka lat (licząc optymistycznie ok. 2022). Autorzy chyba za dużo chcą osiągnąć naraz. Bałagan robi się jeszcze większy gdyż autorzy niektórych przeglądarek już teraz (kiedy tak naprawdę prace na specyfikacja trwają) implementują NIEKTÓRE elementy HTML 5 (te najłatwiejsze i najmniej wątpliwe) i trąbią wszem i wobec, że ich przeglądarka jest zgodna z tym standardem (tymczasem do takiego stwierdzenia droga jest długa). Na ten temat dobrze jest przejrzeć dwuczęściowy raport INFOWORLD – przypominam, że jest to draft (szkic) specyfikacji:
- bardziej trudna część “HTML5 in the browser: Local data storage - HTML5 Web Storage, Web Database, FileReader, FileWriter, and AppCaching APIs will transform Web pages into local applications, but not yet” tam można znaleźć wiele eksperymentalnych rozwiązań jak czytanie/zapisywanie do plików domowych, sieci semantyczne. Na razie temat jest zbyt rozszerzeń jest zbyt nieprecyzyjny.
Super strona na temat nowości jakie przynosi HTML 5 - http://www.goat1000.com/tagcanvas.php
wtorek, stycznia 18, 2011
Deweloperka
- Jak zwykle dobre pomysły w portalu DYNAMICDRIVE, tym razem biblioteka z obrazkami jako tzw. tooltip. Nadaje się do przystosowania.
- W portalu code project jest wiele ciekawych artykułów i tzw. tip-ów
- Ciekawy cytat "Nighttime, not the late hours but the gloaming, when the sun was setting and dinner must be prepared and the long evening stretched out before her — that's when the loneliness settled in like the ache in her hip on a rainy day, when the regrets, the bad memories, sometimes came to call." — From Lisa Unger's 2010 novel Fragile”
- Nowa wersja serwera Tomcat – położono nacisk na większą ilość wątków co ma zwiększyć jego reaktywność. Tak w ogóle po co ułatwiać wielowątkowość przecież to i tak nie zwiększy wydajności czy szybkości przetwarzania? Ano po to by pojedynczy proces/watek nie zagrabił nam (zmonopolizował) zasoby procesora, żeby stworzyć iluzję przed użytkownikiem, że coś się dzieje, żeby zwiększyć jego reagowolność na zdarzenia utd. W ten sposób tworzymy ILUZJĘ, że wszystko działa, aplikacja przyjmuje nowe zgłoszenia i obsługuje stare jak gdyby nic (ale płacimy za to większym narzutem na zarządzanie i dłuższym czasem obsługi. I tu realizuje się zasada demokracji wszyscy są obsługiwani tyle, że coraz wolniej.
- Bardzo ciekawy plugin dla jQuery pozwalający na nowy sposób zademonstrowania menu. Są też inne elementy GUI jak notes, cards, maps.
- nareszcie mam –jquery JQGRID – przykłady w php i js
- Coś co każdy lubi ale nie każdy ma – integracja środowisk i platform –znajdziesz w portalu codemesh. Aplikacja JuggerNET. Przykład JDBC w .NET – tu.
- Implementacja:
- Jak tak naprawdę wystartować z tworzeniem aplikacji pod Androidem - http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/A-developers-perspective-on-Googles-Android-SDK/. Maszyna wirtualna dla Androida - http://content.techrepublic.com.com/2346-12849_11-497936-1.html?tag=content;leftCol
- Kapitalna strona o podstawach web i html - http://www.xs4all.nl/~sbpoley/webmatters/index.html, jest też przykład wzorcowej walidacji formularza
- Jestem na LINKEDIN przyjęty do grupy PKI, a tam sposób jak sprawdzić ocsp poprzez opessl. tam pokazano nową ideę OTPK (one time private key)
- Nowe pojęcie Secure String tamże w stopce są ciekawe odnośniki do:
- Klasy List - http://articles.techrepublic.com.com/5100-10878_11-6068652.html?tag=btxcsim#
- ListView -
- Podstawy – stream – co to takiego
- Inne tematy są w archiwum
- Bomba - http://weavesilk.com/
- Pascal - http://www.dobreprogramy.pl/Lazarus,Program,Windows,12653.html
- Po co LINQ (z portalu - http://gasior.net.pl/tag/c/):
using Codemesh.JuggerNET;
…
IJvmLoader loader = JvmLoader.GetJvmLoader( true, true, TraceFacility.TraceJvm, TraceLevel.TraceErrors );
loader.AppendBootClassPath = "../lib/hsqldb.jar;../../lib/hsqldb.jar";
Class.ForName("org.hsqldb.jdbcDriver");
var polishCustomers = new List<Customer>();
foreach (var customer in customers)
{
if (customer.Country == "Poland")
polishCustomers.Add(customer);
}
teraz:
var polishCustomers = customers.Where(x => x.Country == "Poland");
poniedziałek, stycznia 17, 2011
Pożyteczne dla deweloperów
Niezawodny serwis DevCurry przyniósł podsumowanie roku 2010. Najciekawsze:
- Posty - http://www.devcurry.com/2010/12/most-popular-posts-for-developers-in.html
- Zasoby aplikacyjne i narzędziowe - http://www.devcurry.com/2010/12/useful-developer-tools-and-resources.html
Podstawowe, niezbędne narzędzia na każdy komputer z MS Windows - http://stevenbenner.com/2010/09/must-have-software-for-your-microsoft-windows-computer/ (a tam wyświetlacz temperatury CPU - http://www.alcpu.com/CoreTemp/)
Nowe narzędzie dla developerów–WebMatrix
No może nowe to ono nie jest, ale jest nowa wersja dostępna na stronach MS. Wraz z nią jest m.in. open-source portal Orchid. Przygotowano też szkolenia:
- Przegląd możliwości - http://www.microsoft.com/web/webmatrix/features.aspx
- Miejsce startowe szkoleń - http://www.microsoft.com/web/post/Web-Development-101-using-WebMatrix
- Inna strona - http://www.microsoft.com/web/category/learn
Ciekawe jak się to ma do innego narzędzia – generatora aplikacji Lightswitch?
Czyżby WM był wyspecjalizowany pod kątem potrzeb programistów aplikacji webowych, a LS dla tworzenia aplikacji klienckich? Czas pokaże…
piątek, stycznia 14, 2011
Ciekawe
- Operacje na składnicy certyfiaktów w .NET - http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.remove(v=vs.80).aspx
- Crockford o bezpieczeństwie JS i HTML5 - http://answers.oreilly.com/topic/1483-doug-crockford-discusses-javascript-html5-security-issues/
- Kolejna ciekawa ksiażka - JQuery cookbook a tam wykorzystanie .data() – “How to attach objects and data to DOM with jQuery.data to avoid memory leak issues” np. do uniknięcia przecieków pamięci i ustawienia zegara
- Stosowanie Module pattern w jS – do organizaowania kodu - http://answers.oreilly.com/topic/2177-how-to-use-the-module-pattern-in-javascript/
- Obok jQ jest wiele innych frameworków: The following won't help you much to make a choice, because it's just a plain list of options--but at least it will help you see some of the most popular options. I copied this list right from Chapter 19 of Learning PHP, MySQL, and Javascript by Robin Nixon.
- ASP.NET Ajax Framework, http://asp.net/ajax/
- Clean Ajax, http://sourceforge.n...ects/clean-ajax
- Dojo Toolkit, http://dojotoolkit.org
- jQuery, http://jquery.com
- MochiKit, http://mochikit.com
- MooTools, http://mootools.net
- OpenJS, http://openjs.com
- Prototype, http://prototypejs.org
- Rialto, http://rialto.improv...logies.com/wiki
- script.aculo.us, http://script.aculo.us
- Spry Framework, http://labs.adobe.co...chnologies/spry
- YUI, http://developer.yahoo.com/yui
- Np. Rico - http://rialto.improve-technologies.com/wiki/ – ze wsparciem dla GWT, Javy i .NET
- Kolejne sztuczki z jQ na podstawie artykułu na O’Reilly na temat książki JQuery Pocket book:
- zamiast $(documentt).ready() można stosować $().
- Aby stworzyć element można skorzystać z $(tagname) a jako drugi parametr przekazać obiekt zawierający właściwości przekazane do attr(), dodatkowo jeżeli te właściwości będą maiły nazwy atrybutów DOM to zostaną zarejestrowane jako handlery:
ar image = $("<img>", {
src: image_url,
alt: image_description,
className: "translucent_image",
click: function() {$(this).css("opacity", "50%");},
css: { border: "dotted red 3px" }
});
- Procesory zdarzeń to np. click() lub change(), jest bardziej ogólny procesor (handler) zwany bind() np.
$('a').bind('mouseover.myMod', f);- Wtedy możliwe jest:
// Unbind all mouseover and mouseout handlers
// in the "myMod" namespace
$('a').unbind("mouseover.myMod mouseout.myMod");
// Unbind handlers for any event in the myMod namespace
$('a').unbind(".myMod")
- Mozliwe jest też kolejkowanie animacji:
$("img").fadeIn(500)I na koniec sprytne wykorzystanie zdarzeń startu i zakończenia operacji AJAX do włączania i wyłączania elementu animacji:
.animate({"width":"+=100"},
{queue:false, duration:1000})
.fadeOut(500);$("#loading_animation").bind({A to wszystko pochodzi z serwisu O’Reilly – answers
ajaxStart: function() { $(this).show(); },
ajaxStop: function() { $(this).hide(); }
});
- Testowanie bardzo ważny temat okazuje się, że w jQ jest też taka możliwość - http://docs.jquery.com/Qunit
- Stosowanie przestrzenie nazw w JS, nic trudnego:
Since these are home-made javascript libraries, this isn't too hard.
You can assign an object to a variable, and combine your libraries within this object. You can repeat the process within the object to achieve multiple levels as well.
e.g.
var mycompany = {
'utilities': {
'removeEmail': function(string) {
// Code to remove all email addresses
return newString;
},
},
'display': {
'defaultSize: [100, 100],
'showBox': function(x, y, sizex, sizey) {
// do some stuff create stylized div for box, etc.
return boxDivElement;
},
},
'var1': 'foo is at foo@bar.com',
'func1': function() { return 'bar is at bar@foo.com'; }
}
// Example usage
var myString1 = mycompany.var1;
var myString2 = mycompany.func1();
var someFunction = mycompany.func1;
var myString3 = someFunction(); // myString3 == mySting2;
var parsedString = mycompany.utilities.removeEmail(mystring1);
var divBox = mycompany.display.showBox(400, 500, 200, 300);
divBox.innerHTML = parsedString;
Now, I haven't actually tested the above code, so there may be numerous errors, and even some basic JS logic problems as it's been a little while since I wrote any functional JS, but the general theory is sound.
P.S. there's more complex and complete ways to get namespaces in JS, but this should suffice for combining a few home-made libraries.
poniedziałek, stycznia 10, 2011
Nowości
- Wg. serwisu webhosting:
- Możliwość dodawania filmów i muzyki do Google Docs i odtwarzania w nim natywnego tych materiałów. Podobnie robi to serwis vimeo.
- Udostępniono kurs Javy - http://webhosting.pl/Kurs.Javy..Praktyczne.programowanie.czesc.I
- Pułapki JS - http://net.tutsplus.com/tutorials/javascript-ajax/top-10-things-that-javascript-got-wrong/". Ciekawi autorzy:
- http://www.nczonline.net/ + sekcja pobrań http://www.nczonline.net/downloads/
- Superblog o życiu - http://blog.timtipton.com/ tam są odwołanie do:
- http://goodlifezen.com/2011/01/03/fitness-challenge/,
- http://zenhabits.tumblr.com/
- http://www.forgetfoo.com/
- Tricki z tablicami asocjacyjnymi w PHP
- Java przekszatałcona w JS – wywiad z Oracle
- Nareszcie framework MVC w JS - http://javascriptmvc.com/
- Rewelacyjny kompilator w Chrome
- Xajax dla PHP – nareszcie
- Wstrzykiwanie dynamiczne kodu JS - http://webhosting.pl/stackJS.latwe.ladowanie.modulow.i.zaleznosci.w.JavaScripcie
- Technologia NODE.JS
O stylu życia
Jak zwykle nowy rok nastraja do zmian swego życia. Natrafiłem na świetny blog na temat jak żyć prowadzonego przez Steve Martille - http://www.freedomeducation.ca/free-book/. Jest tam wiele praktycznych uwag na temat stylu życia i zmiany swej osobowości. Przykładowo jak wdrożyć praktycznie swoją afirmację - 6 Affirmation Secrets to Make You Feel Better. Inne:
wtorek, stycznia 04, 2011
Wybrane ciekawostki
- Wg. VaGla.pl - Ustawa o podpisach elektronicznych – rząd ją przyjął w kwietniu 2010 i miał przesłać do Sejmu i notyfikacji przez UE. Od tego czasu nie wiadomo co się z nią dzieje. Ale coś tu mamy, w portalu VaGla.pl jest cała gałąź na temat aktualnego stanu tych spraw - http://prawo.vagla.pl/podpis_elektroniczny
- Z innej beczki – portal sharpbrains – zawiera wiele informacji o mózgu oraz jego działaniu - http://www.sharpbrains.com/resources/1-brain-fitness-fundamentals/
- Zagadki, kto ich nie lubi? http://brainden.com/
- Dla dzieci – jak zacząć programować w Pythonie - http://msdn.microsoft.com/pl-pl/library/gg455949
Medy co? tacje
Super portal na temat wszelkich aspektów życia – Huffington Post. Oto co tam można znaleźć:
- “Why pleasuer is not a happiness” – wiele linków tamże (na dole)
- Propozycja postanowienia na nowy rok":
- I intend to cultivate equanimity and balance in 2011 -- not to panic when things appear to be off track, and not to relax when everything seems to be going smoothly. I intend to cultivate awareness and presence and not focus too hard on the outcome -- paying more attention to the process and developing understanding and sympathy for myself and others.
- Powyższy cytat pochodzi z http://www.huffingtonpost.com/david-nichtern/finding-balance-and-equan_b_803240.html
- “Waiting without waiting”
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):
- Templatki (templates)– wzorce, wzbogacone o możliwość warunkowego wyboru elementów.
- 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.
- 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
- jQuery Templates API – http://api.jquery.it/category/plugins/templates/
- jQuery Data Link API – http://api.jquery.it/category/plugins/data-link/
- jQuery Globalization API – Available soon
Tutorials
- jQuery Templates and Data-Linking
- Introducing jQuery Templates
- jQuery Templates in the wild
- Not Using jQuery JavaScript Template? You’re Really Missing Out
- jQuery JavaScript Templates Tutorial: Nesting Templates
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