- 7 nowych narzędzi dla deweloperów - 7 New Tools Java Developers Should Know. Przykłady:
- Analiza reguły ‘Law of Demeter’ - http://javarevisited.blogspot.sg/2014/05/law-of-demeter-example-in-java.html, są dwie podstawowe biblioteki do tworzenia i obróbki PDF - http://javarevisited.blogspot.sg/2014/05/open-source-java-PDF-File-libraries-Apache-FOP-vs-iText.html
- Super portal – javacodegeek - http://www.javacodegeeks.com/tutorials/java-tutorials/ –zawiera tutoriale np. http://www.javacodegeeks.com/tutorials/java-tutorials/core-java-tutorials/#Concurrency. Również o Androidzie - http://www.javacodegeeks.com/tutorials/android-tutorials/android-core-tutorials/.
środa, czerwca 11, 2014
Ciekawostki o Javie
piątek, maja 18, 2012
Fenix de Icaza
Okazało się, że żywotność Mono jest wielka, kiedy wydawało się, że to koniec drogi gdy firma Novel (opiekun i właściciel praw do Mono i Mono Touch) została wykupiona przez Attachmate. Jednak twórca Mono założył nową firmę Xamarix i nabył prawa do używania Mono. W wyniku tego mamy nowe wersje, już płatne MonoDeveloper IDE 2.8, MonoTouch Enterprise (dla Apple), Mono for Android oraz wtyczkę do VS pod nazwą Mono for Android Visual Studio plug-in. Nie wiadomo czy idea programowania w C# na telefony z Androidem wypali (java w końcu nie różni się tak bardzo od C#) ale z drugiej strony Mono for Android tworzy aplikacje natywne najbardziej zbliżone do GUI aplikacji w Javie. Żróło - http://www.devproconnections.com/content1/topic/xamarin-monotouch-mono-android-141871/catpath/mobile-development. Zawsze podziwiałem Mono za jego żywotność i wielość różnych bibliotek dostępnych dla programistów w .NET.
Osobiście myślę, że lepiej będzie skupić się na narzędziach do tworzenia aplikacji dostępnych od Google (nawet AppInventor) lub Phone Gap.
piątek, lutego 10, 2012
Nowinki w piątek
Początek weekend lub jak kto woli koniec tygodnia takie oto przyniósł nowinki:
- Pojawiła się dawno oczekiwana, nowa wersja czytnika Nitro PDF wyposażonego w funkcję tworzenia PDF z dokumentów innego formatu bez konieczności przejścia przez sztucznie tworzoną wirtualną drukarkę pdf-ową. Nowa wersja Prezi pozwala również na wczytanie prezentacji w PowerPoint. Eclipse szykuję nowe narzędzie RAP mobile - do tworzenia z kodu w języku Java aplikacji ajaks na różne platformy w tym i mobilne (RAP – rich ajax platform) w oparciu o SWT/JFace. Będą również zastosowane takie technologie jak: Equinox, EMF, Birt, CDO, EclipseLink and Virgo. Wykorzystano także narzędzie to wizualngo tworzenia aplikacji - http://eclipse.org/windowbuilder/. Strona do ściągnięcia wersji preview - http://rapmobile.eclipsesource.com/ – właśnie się zapisałem jako tester. Wszystko o Eclipse - http://www.ibm.com/developerworks/opensource/top-projects/eclipse/index.html. Źle się dzieje, że W3C opanowały osoby z firm Google i Apple (patrzcie, tu współpracują a są zaciekłymi rywalami) i zdominowały rozwój standardów pod kątem silnika WebKit (nawet Adobe przeszło na niego). Pokrzywdzeni to Mozilla, Microsoft (który w końcu dołączył do prac na standardami w W3C) oraz Opera – czy powtórzy się taka sama sytuacja jak przed laty z IE6, który zdominował inne przeglądarki i wprowadził wiele własnych rozwiązań jako “standardów”? (na podstawie CNET)
- Dużo się mówi o SVG i HTML 5, tutaj mamy próbkę spojrzenia na te technologie ze strony MS (portal codeguru.pl – CVG, Kurs HTML5, MSDN – Using HTML5 Canvas for Data Visualization) i IBM (Scalable Vector Graphics in HTML5).
- Popularność JQuery nakazuje pisać o tej bibliotece - http://addyosmani.com/blog/31-jquery-snippets/, jPages – wtyczka do stronicowania dużych porcji danych - http://luis-almeida.github.com/jPages/index.html, nauka JQ w 30 dni - http://learnjquery.tutsplus.com/, JQ dla designerów
- Nauka PHP na IBM - http://www.ibm.com/developerworks/opensource/top-projects/php/index.html (o tym jak zacząć z Pythonem oraz Zendem), nauka Zend jest też tu na webhosting.pl
- Bardzo ładna historia informatyki w skrócie - http://www.ciol.com/Developer/Languages/Tutorial/Click-here-to-know-evolution-of-programming/159341/0/
- OWASP – Mantra. Lek na wszelkie zło związane z bezpieczeństwem - http://webhosting.pl/OWASP.Mantra.test.frameworka.bezpieczenstwa.do.testowania.aplikacji.webowych
- Programowanie pod Windows w C/C++ bez dopiętych kółek pomocniczych – mocna sprawa - http://www.cprogramming.com/tutorial/opengl_first_windows_app.html
- Poszukaj czegoś ciekawego w tych rozszerzeniach - http://extensionmethod.net/Result.aspx?text=type%3aSystem.String
czwartek, września 29, 2011
Inne ciekawostki
- Filtrowanie danych w JS po stronie klienta - http://blog.joshsoftware.com/2011/09/28/filter-js-client-side-search-filtering-using-json-and-jquery/
- Jakie aplikacje ściągnąć sobie na Androida? – takie
- WCF - http://msdn.microsoft.com/en-gb/library/ms732362.aspx
niedziela, września 25, 2011
Ciekawostki w ostatnią niedzielę września
Owocem współpracy MS i Nitobi jest wyspecjalizowana wersja Phone Gap dla WP7. Firma Nitobi prowadzi specjalny blog na temat telefonów mobilnych i tworzeniu dla nich aplikacji. Nitobi daje wiele innych narzędzi oprócz Phone Gap, są także faremworki JS-owe. Do tego dochodzą frameworki w JS np: jQ Mobile, jQ Toucj, Jo, Sencha Touch, XUI, Sproutcore – słowem do wyboru do koloru. Obserwuj co się dzieje na portalu eAndroidowo oraz obserwuj SL4 na google code – tam są implementacje natywnych aplikacji w środowiskach języków dynamicznych (PHP,Python). Może też KendoUI na bazie jQuery ma coś do zaoferowania.
Kolejny kurs JS - http://windowshosting.pl/Kurs.JavaScriptu..Podstawy.programowania.na.potrzeby.stron.WWW
Ostatnio Panda Cloud osiągnęła niezłe wyniki w skanowaniu – webhosting. Do ochrony przed starymi wersjami oprogramowania można wykorzystać PSI firmy Secunia.
Obserwować inne twitter-y: blip/flaker
Ukryte koszty jakie ponoszą klienci Google Apps for Enterprise – infografika
Do tworzenia PDF w środowisku PHP zaleca się http://www.fpdf.org/ chociaż najlepsze jest PDFlib. Na tej stronie są także odwołania do portów tej biblioteki na inne paltformy językowe np. COM, ASP, Java czy Python. Oczywiście najważniejsza strona dla deweloperów to portal ADOBE. Narzędzia PDF-owe w postaci biblioteki xpdf - http://www.foolabs.com/xpdf/download.html. Ogólne sprawy pdf-owe są na poratlu pdfzone (np. ciekawy link: http://www.pdfzone.com/c/a/Authoring/Creating-a-Basic-PDF-Form/). Inne PDF-owe aplikacje (na foolab):
- PostScript-to-PDF converters:
- pstoedit converts from PostScript to many formats, including PDF; it also converts PS or PDF to other vector formats.
- Ghostscript can display PDF files, and also includes a PostScript to PDF converter.
- PStill is a shareware PostScript-to-PDF converter.
- Other PDF converters/generators:
- PDF format info:
- Adobe created PostScript and PDF.
- PDF reference manual (from Adobe)
- TeX and PDF:
- pdftex lets TeX produce PDF output.
- Miscellaneous links:
- The PDFzone and PlanetPDF have lots of useful info.
- XSwallow turns X apps, including xpdf, into netscape plugins
Podobno najlepszy program do oglądania PDF (wg. lifehackera) - http://www.tracker-software.com/product/pdf-xchange-viewer
Portal dla .NET-owców - http://dotnetomaniak.pl/Category/Windows/3
Co tam panie na rynku przeglądarek? Dominuje jeszcze IE - http://windowshosting.pl/Miliard.Chinczykow.nie.moze.sie.mylic.w.badaniu.Net.Applications.wygrywa.Internet.Explorer i http://webhosting.pl/Tymczasem.na.rynku.przegladarek.Firefox.traci.coraz.wiecej.udzialu.w.rynku.jakie.sa.tego.powody
poniedziałek, września 19, 2011
Aplikacje mobile wg. IBM
W portalu DeveloperWorks firmy IBM znalazłem takie oto “perełki”:
- “Mobile application development, Part 1: PhoneGap and Dojo Mobile on Android” http://www.ibm.com/developerworks/library/wa-mobappdev1/?cmp=dw&cpb=dwwdv&ct=dwnew&cr=dwnen&ccy=zz&csr=091511
- Porównanie szybkości i wydajności języków programowania - http://www.ibm.com/developerworks/library/wa-optimal/?cmp=dw&cpb=dwwdv&ct=dwnew&cr=dwnen&ccy=zz&csr=091511
- Jak tworzyć grafikę w aplikacjach mobilnych - http://www.ibm.com/developerworks/library/x-jquerymobilechart/index.html?cmp=dw&cpb=dwxml&ct=dwnew&cr=dwnen&ccy=zz&csr=091511
Ciekawe aplikacje na mój Defy
Lista ciekawych aplikacji na telefony z Androidem: edycja zdjęć tą mini aplikacją - https://market.android.com/details?id=com.adobe.psmobile, materiały z konferencji TED - https://market.android.com/details?id=com.ogqcorp.tpa&hl=en, zarządca plików - https://market.android.com/details?id=com.metago.astro&hl=en, zabójca procesów - https://market.android.com/details?id=com.rechild.advancedtaskkiller&hl=en, EverNote - https://market.android.com/details?id=com.evernote&hl=en
poniedziałek, września 12, 2011
Takie sobie nowinki
Gartner przewiduje w swym raporcie, że po okresie spadku zakupów PC ponowny wzrost w drugiej połowie 2012 roku. Twierdzi, że możliwości PC (wygoda, ergonomia, szybkość, pasmo internetowe) w stacjonarnym miejscu nie zastąpią urządzenia przenośne.
Google ma wiele ciekawych miejsc do zwiedzenia:
- Code Playground: zasoby API dla JS (closure, JSONP oraz funkcje anonimowe) i innych technologii Google (biblioteki JS, wizualizacja danych: wykresy, panele). Przykład pobrania danych z arkusza i ich użycia.
- API do dokumentów
- Uwaga! Jest płatne (399) narzędzie do integracji .NET z Google Docs firmy RSSBUS
- Oskryptowanie arkusza poprzez ściąganie danych z serwisów webowych i umieszczanie ich w arkuszu Google spreadsheet – ciekawe co mówi EU – dane mają być przechowywane na terenie Unii (ale jakie dane? wszystkie czy te osobowe tylko?). Tutaj przy okazji jest pomysł do zrealizowania – pobieranie kursów walut i prezentowanie ich w arkuszu (doskonała wprawka programistyczne)
- Zaawansowane techniki JS które musisz znać
Rynek aplikacji do tworzenia mobilnych – jest taka firma Nitobi, która zajmuje się tworzeniem GUI w JS, teraz zainteresowała się RAD-em dla urządzeń mobilnych (PhoneGap). Co z tego wyjdzie? A w jaką stronę zmierza projekt Mono – obecnie pod opieką firmy Xamarin? Ma teraz trzy odnogi: Mono for Android, MonoTouch oraz Mono dla Visual Studio. Są jeszcze dwa inne projekty: .NET for iPhone and .NET for Android. Cena tych RAD jest znaczna – 399 US. Jest jeszcze Google App Inventor.
Najlepsze z najlepszych otwartych projektów:
- aplikacje użytkowe
- projekty serwerowe i systemowo-narzędziowe
- aplikacje biznesowe
Kryptografia:
- Przegląd narzędzi w PHP - http://www.devx.com/webdev/Article/37821
- Biblioteka jasypt intergruje się z BC
środa, sierpnia 24, 2011
Ciekawostki programistyczne
- Deweloperka dla Androida - http://www.techrepublic.com/blog/app-builder/take-advantage-of-androids-time-saving-toggle-button/372?tag=nl.e055
- Tworzenie aplikacji mobilnych - http://www.techrepublic.com/blog/app-builder/first-impressions-of-the-jquery-mobile-framework/345?tag=nl.e055 – może się przydać
- Jak pisać aplikacje mobilne? Jest na to wiele sposobów (wg. serwisu techrepublic):
- aplikacje natywne (w telefonie) – opcja dobra, ale przeglądarki w smartfonach są już dosyć inteligentne. Wykorzystują wszystkie możliwości telefonu, maja kłopoty gdy trzeba przesyłać wiele danych do/z sieci
- aplikacje internetowe – uruchamiane na serwerze i udostępniane w przeglądarce (które są coraz lepsze i maja wsparcie nawet HTML5), są OK ale nie wykorzystują wszystkich możliwości sprzętu
- skrośna deweloperka – tworzenie prototypu mobilnego aplikacji a następnie wygenerowanie aplikacji natywnej (takie narzędzie już istnieje - Appcelerator)
- hybrydowe: natywny front end (czyli GUI) i dostęp do serwera poprzez WS (back end)
czwartek, sierpnia 18, 2011
Różności
Wariacka strona o różnych formach bootowania. Tamże - jak się zbootować z UBCD4WIN? Co to – mamy nowy web-based OS? Tak to SilveOS. Ciekawa strona o Androidzie po polsku.
wtorek, sierpnia 16, 2011
GoogleRola
Wygląda na to, że powstanie nowa para parterów Google-Motorola (twórca OS + sprzętu) obok takich par jak Apple/iOS, HP/webOS, RIM Blackberry OS/QNX i Nokia/Windows Phone 7. Celem jest tutaj nabycie patentów jaki ma w zapasie firma Motorola by ochronić przyszłość Androida oskarżanego o naruszanie praw patentowych (oskarżają go starzy wyjadacze Steve Jobs oraz Larry Ellison a podjudza ich Steve Ballmer) a także reakcje na nabycie przez Microsoft/Apple praw do patentów upadłej firmy Nortel.
Jednak taki silne powiązanie Google i Motorola Mobile może zaniepokoić innych producentów smartfonów jak: HTC, Samsunga, Sony/Erricson czy LG.
| Producent | Udział % |
| HTC | 35.9 |
| Motorola | 28.2 |
| Samsung | 20.5 |
| Sony/Erricson, LG, Acer | 15.4 |
Wg. http://www.theregister.co.uk/2011/08/15/how_the_moto_acquisition_will_affect_others/
Prawda jest taka, że Android jest systemem skopiowanym, API naśladuje styl Java (dlatego to tak rozjuszyło Oracle), UI kopiuje iPhone od Apple (protest Apple). Nabycie Motoroli i jej IP za 12.5 mld dolarów ma wzmocnić pozycję i wiarygodność Androida tym bardziej, że Google się spóźnił z podwyższeniem swej propozycji nabycia patentów Nortela (chciał dać tylko “pi” mld).
Inni potężni patento-dawcy obok Motoroli to już tylko Nokia (wszystko zostało już dawno wykupione) która wygrała niedawno spór patentowy (o narzuszenie patentów) z Appple za co dostała tylko 450 mln dolarów (http://www.theregister.co.uk/2011/08/15/google_motorola_the_poker_chip_that_cant_be_redeemed/)
Inne pytanie to dlaczego Google nie wybrał za język np. Go (wspomaganego przez Thomsona) i platformę GTK (jak Nokia – MeeGo)
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.
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");