czwartek, stycznia 12, 2017

Znowu Java

  1. Biblioteki do Java od Google - https://www.javacodegeeks.com/2016/07/forget-guava-5-google-libraries-java-developers-know.html
  2. Java + najbardziej popularne biblioteki (na podstawie analizy Github) - https://www.javacodegeeks.com/2016/05/top-100-java-libraries-2016-analyzing-47251-dependencies.html 
  3. Np. wsparcie dla JSON-a:
    1. fasterxml.jackson.core.jackson-databind 
    2. #19 – google.code.gson.gson 
    3. #43 – json.json 
    4. #80 – googlecode.json-simple.json-simple 
    5. #89 – thoughtworks.xstream.xstream 
    6.  CURL - bardzo ciekawe zastosowania tego polecenia - https://www.systemcodegeeks.com/shell-scripting/bash/linux-curl-example/ - dodawanie nagłówków, wysyłanie formularza, autentykacja bazowa (przeglądarki) 

Aktualności o Javie


  1. Ciekawy projekt związany z IoT - chodzi o wypróbowanie kolejki między urządzeniami w celu wymiany komunikatów - http://tgrall.github.io/blog/2017/01/02/getting-started-with-mqtt/. Do tego celu wykorzystano  bibliotekę mosquito (implementacja MQTT) oraz biblioteki Javy PAHO (z fundacji Eclipse). Cały projekt jest hostowany na githubie - https://github.com/tgrall/mqtt-sample-java
  2. Gniazda w Javie - implementacja - http://www.oracle.com/technetwork/articles/java/jsr356-1937161.html
  3. Sesje szkoleniowe z Oracle:  https://blogs.oracle.com/java/top-12-javaone-sessions
  4. Tamże, zachęta do używania bibliotek w Javie - "Google Guice, an implementation of dependency injection for Java (JSR 330) is his recommendation to best manage dependencies. He suggest the use of Retrofit, a type-safe HTTP client for Java. It reduces repetitions of REST calls by defining a Java API on top of any REST API when building HTTP clients. Repository POJO combined with Lombok and Jackson will help omit unmapped properties and eliminate boilerplate code. JDeferred, a JQuery-inspired implementation using promises and MBassador, an event bus implementation, enable the execution of background threads, chaining behavior, and notifying data consumers at the appropriate time. "
  5. Rozwiązanie bezpieczeństwa aplikacji w JEE narzędziami wbudowanymi w platformę - https://dzone.com/refcardz/getting-started-java-ee
  6. Nauka MAVEN - http://javarevisited.blogspot.sg/2016/09/3-maven-eclipse-tips-for-java-developers.html




piątek, lipca 22, 2016

Oracle - kierunek chmura

Oracle w końcu powiedział jak zamierza rozwijać JEE. Oskarżany o brak zainteresowania rozwojem wersji korporacyjnej Javy (wersja 1.8 będzie za rok, może później, spowodował oddolny ruch za wzięciem w swe ręce inicjatywy rozwoju Javy w duchu open-source nawet bez Oracle. Takie plany mieli Gosling oraz Java EE Guardians and MicroProfile.i.

Kierunek rozwoju Javy to przetwarzanie w chmurze i zastosowanie kontenerów. Oficjalnie strategia będzie ogłoszona we wrześniu na konferencji JavaOne w SF.

Nastąpi zwrot od modelu server-based do cloud-based, służby IT korporacji nie będą musiały troszczyć się o zasoby IT potrzebne do uruchomienia i rozwoju swych aplikacji. Dane aplikacji zostaną utrwalone jako para key-value w bazach MoSQL. Aplikacje w chmurze będą działały w trybie multitenant tj. na wspólnej infrastrukturze. JEE 1.8 otrzyma wiele udoskonaleń głównie w zakresie autoryzacji i autentykacji tożsamości - w chmurach publicznych pojawią się nowe modele zabezpieczeń oparte o żetony OAuth i OpenID Connect. Technologia kontenerów (głównie Docker) pozwoli lepiej izolować aplikację w tym współdzielonym środowisku. Wymaga to też rozwinięcia narzędzi do zarządzania konfiguracją.

W zakresie tworzenia aplikacji nastąpi ujednolicenie modelu obsługi zdarzeń (z racji historycznej ewolucji w Javie do tej pory różne warstwy oprogramowania używały różnych modelów zdarzeń). Planuje się ujednolicenie tych modeli w jeden tzw. react (patrz implementację w JS - framework React). Jest to wymóg dla aplikacji rozproszonych dużej skali, budowanych asynchronicznie, luźno ze sobą powiązanych i opartych na modelu zdarzeniowym.

Planuje się także wykorzystanie nowego protokołu HTTP/2 oraz mikroserwisów; tutaj mały zgrzyt IBM i Red Hat nie czekając na Oracle same zgłosiły poprzez organizację microprofile.io propozycję standardu micro service dla JEE (opartej o JAX-RS, CDI, and JSON-P). Oracle obiecał wypracowanie wspólnego standardu.

Prace na ulepszeniem implementacji HTML5 i HTTP 2.0 będą odbywać się tradycyjnie w ramach JSR.


niedziela, lipca 17, 2016

Trochę Javy i inne tematy

  1. Pięknie o kodzie w stylu ZEN - http://thecodelesscode.com/contents - i tworzeniu oporgramowania
  2. Za darmo e-booki z Java. Książki do nauki Javy - http://www.java67.com/2013/11/10-free-java-programing-books-download-PDF-HTML.html
  3. Najdziwniejsze języki programowania - http://blog.fogus.me/2011/10/18/programming-language-development-the-past-5-years/ 
  4. Niesamowite projekty java (.NET też tam gdzieś jest) - https://github.com/akullpp/awesome-java 
  5. Znany od lat pedagog uczący Javy i C++ http://www.dickbaldwin.com/toc.htm

czwartek, lipca 14, 2016

Znowu o tej Javie

  1. Biblioteki do Java od Google - https://www.javacodegeeks.com/2016/07/forget-guava-5-google-libraries-java-developers-know.html
  2. Java + najbardziej popularne biblioteki (na podstawie analizy Github) - https://www.javacodegeeks.com/2016/05/top-100-java-libraries-2016-analyzing-47251-dependencies.html 
  3. Np. wsparcie dla JSON-a:
    1. fasterxml.jackson.core.jackson-databind 
    2. #19 – google.code.gson.gson 
    3. #43 – json.json 
    4. #80 – googlecode.json-simple.json-simple 
    5. #89 – thoughtworks.xstream.xstream 
    6.  CURL - bardzo ciekawe zastosowania tego polecenia - https://www.systemcodegeeks.com/shell-scripting/bash/linux-curl-example/ - dodawanie nagłówków, wysyłanie formularza, autentykacja bazowa (przeglądarki) 

Aplikacje mobilne, różne implementacje

  1. Push dla JS (node.js) - http://nickersoft.github.io/push.js/
  2. Android/Cordova - skanowanie kodów QR - https://www.sitepoint.com/scanning-qr-code-cordova/
  3. CodeWalk/Intel - ich wersja studia do tworzenia hybryd - https://software.intel.com/en-us/intel-xdk/details, ich zasoby - https://software.intel.com/en-us/xdk/docs/using-the-build-tab#buildcordovaapps
  4. Android jak zacząć pisać oprogramowanie - https://examples.javacodegeeks.com/android/android-tutorial-beginners-with-examples/
  5. Architektura. Powstaje nowy model przetwarzania - bezserwerowe - http://martinfowler.com/articles/serverless.html#benefits (wykorzystuje API własne i stron trzecich)
  6. Jak stworzyć aplikację mobilną na AZURE - https://dzone.com/articles/creating-a-mobile-app-using-azure-services
  7. Typy aplikacji mobilnych - https://dzone.com/articles/hybrid-or-native-mobile-app-use-the-right-tool-for
  8. https://dzone.com/articles/ionic-how-to-access-or-browse-sqlite-database-byte
  9. Jak wygląda życie web-developera: https://www.webcodegeeks.com/web-development/become-web-developer/?utm_content=buffer1b75a&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer 
  10. Autentykacja JWT w Ionic - http://grossman.io

Java i pokrewne tematy

  1. Poezja o kodowaniu - http://thecodelesscode.com/case/228 - ciekawa pozycja, piękna angielszczyzna, opis różnych technik tworzenia oprogramowania na wzór mnichów Zen
  2.  Podstawy jUnit - http://javastart.pl/static/efektywne-programowanie/junit/ - testy jednostkowe. Inna publikacja na ten temat, bardzo głęboko rozważona  -  https://www.javacodegeeks.com/2014/11/junit-tutorial-unit-testing.html?utm_content=buffer09f2b&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer. Tutaj jeszcze teoria annotacji - https://www.javacodegeeks.com/2014/11/java-annotations-tutorial.html?utm_content=buffer412e8&utm_medium=social&utm_source=plus.google.com&utm_campaign=buffer 
  3. Architektura. Powstaje nowy model przetwarzania - bezserwerowe - http://martinfowler.com/articles/serverless.html#benefits (wykorzystuje API własne i stron trzecich)

poniedziałek, marca 14, 2016

Wreszcie coś nowego

Powrót z przeszłości:

  1. Prawo Demeter - zasady namniejszej wiedzy - http://javarevisited.blogspot.com/2014/05/law-of-demeter-example-in-java.html. Tam też są odnośniki do innych materiałów na temat zasad i wzorców programowania w Javie
  2. Wątki, komunikacja między nimi w Javie - http://javarevisited.blogspot.sg/2013/12/inter-thread-communication-in-java-wait-notify-example.html

sobota, września 26, 2015

Ważne skróty klawiszowe w Eclipse IDE

    Oto co znalazłem w sieci na ten temat:
  • http://www.shortcutworld.com/en/win/Eclipse.html
  • znany autor - http://www.vogella.com/tutorials/EclipseShortcuts/article.html

piątek, grudnia 05, 2014

Deweloperskie linki

Materiały szkoleniowe na temat różnorodnych technologii Microsoft - http://weblogs.asp.net/ricardoperes/microsoft-developer-training-kits

Wprowadzenie do XAML:

Java. Ciekawe tematy:

WS z PHP (bazowanie na REST) - http://www.mcpressonline.com/web-languages/web-service-basics-for-ibm-i.html

Propozycje do nauki kolejnego języka programowania przez porównanie - http://www.infoworld.com/article/2825055/application-development/5-sites-to-help-developers-make-a-cross-language-leap.html. Portale porównujące różne języki programowania w świetle typowych zadań programistycznych:

Zasoby Androida:

Ciekawy portal z zakresu bibliotek JS - http://dailyjs.com/. Ciekawa bibliotek semantyczne do tworzenia oryginalnego GUI w HTML/JS - http://semantic-ui.com/collections/form.html

Bardzo ciekawe przekształcenia XLST - http://weblogs.asp.net/ricardoperes/Tags/XSLT, np. pokazana jest pętla - http://weblogs.asp.net/ricardoperes/xslt-for-loop

  1: <xsl:template name="for">
   2:     <xsl:param name="from"/>
   3:     <xsl:param name="to"/>
   4:  
   5:     <xsl:if test="$from &lt;= $to">
   6:         <xsl:variable name="newfrom" select="$from+1"/>
   7:  
   8:         Here I am! <xsl:value-of select="$from"/>
   9:  
  10:         <xsl:call-template name="for">
  11:             <xsl:with-param name="from" select="$newfrom"/>
  12:             <xsl:with-param name="to" select="$to"/>
  13:         </xsl:call-template>
  14:     </xsl:if>
  15: </xsl:template>
 

poniedziałek, grudnia 01, 2014

Lista ciekawych tematów na początek grudnia

  1. DataTable w jQ - http://www.codeproject.com/Tips/844403/jQuery-Datatables-For-Beginners

  2. http://betanews.com/2014/11/19/comodo-8-delivers-smarter-sandboxing/

  3. http://betanews.com/2014/11/20/diagnose-process-hangs-with-whatishang/

  4. Mega ćwiczenia - jest ich tylko 8 - http://www.mensjournal.com/expert-advice/the-only-8-moves-you-need-to-be-fit-20140306/classic-push-up

  5. Nowe prezzi - http://betanews.com/2014/11/21/create-stylish-animated-presentations-with-notzy/

  6. Do zarządzania plikami PDF - http://www.downloadcrew.com/article/32979-unitypdf

  7. IE rozwój i dostosowanie do innych przeglądarek (gonienie za nimi) - https://status.modern.ie/cssfilterimagefunction (niektóre są zakończone np. Web CryptoAPI). Można zobaczyć na co można liczyć tworząc przenaszalne aplikacje.

  8. Portal about ma ciekawe zasoby - http://websearch.about.com/od/internetresearch/a/newsreference.htm

  9. Bardzo pragmatyczne podejście do WPF i jej przyszłości - http://pragmateek.com/is-wpf-dead-the-present-and-future-of-wpf/

  10. Zacznij z Androidem - http://lifehacker.com/i-want-to-write-android-apps-where-do-i-start-1643818268?utm_campaign=socialflow_lifehacker_facebook&utm_source=lifehacker_facebook&utm_medium=socialflow

  11. Zasoby a Android - http://www.vogella.com/tutorials/AndroidCommandLine/article.html

  12. Kursy JS/HTML i inne za darmo - https://www.codeschool.com

  13. Nowa wersja Unity 3D - http://techcrunch.com/2014/11/26/unity-4-6-finally-brings-the-long-promised-user-interface-creator/

  14. Naprawdę dobry tutorial do JS - https://developer.mozilla.org/en-US/docs/Web/Tutorials

  15. Autorytet JS - wykład o DOM-ie (prezentacja wraz z video) - http://yuiblog.com/blog/2006/10/20/video-crockford-domtheory . Okazuje się, że znajomość JS to nie wszystko, trzeba również poznać otoczenie czyli przeglądarkę w której się JS uruchamia.

niedziela, listopada 30, 2014

Nowy stopień wirtualizacji

Technologia DOCKER, pod nią podpisało się wiele firm (IBM, Red Hat, VM Ware oraz ostatnio Microsoft. Google też ale coś szykuje na boku ze swym własnym kontenerem Kubernetes w ramach inicjatywy Compute Engine cloud. Microsoft obiecuje wsparcie uruchamiania kontenerów Dockera w środowisku Azure i Windows Server.

Obraz  ASP.NET jest dostępny na gihubie Dockera do zainstalowania już teraz na AZURE Linux VM. Adres do pobrania obrazu https://registry.hub.docker.com/u/microsoft/aspnet/

wtorek, listopada 18, 2014

Ciekawostki ze środy 20 sierpnia 2014

Monografia o Ajax i pokrewnych technologiach - http://ajaxpatterns.org/. Szczególnie jest ciekawy rozdział o IFrame do komunikacji przeglądarka-serwer. Taka ramka ma własny adres źródłowy URL i można go zmieniać. Czytając wynik pobrania tej strony w ramce można dynamicznie w stronie wywołującej ramkę wstrzyknąć ‘obcą’ zawartość. ramka służy jako repozytorium danych dlatego się ją ukrywa poprzez klasę w arkuszu stylów. Można obsłużyć pobranie danych z serwera (GET), z POST-em jest kłopot, ale można go obejść poprzez wysyłanie sygnatury formularza z danymi (<FORM>…</FORM>). To była dobra technologia PRZED pojawieniem się XMLHttpRequest. Teraz to czysta ‘sztuczka’ (hack) nikomu właściwie niepotrzebna. Szczegółowy opis jest tu - http://www.pxl8.com/iframes_3.html – bardzo ciekawa technika ale już ustępująca.

Coś na wirusy i ich pochodne – Malwarebytes Anti-Exploit, oprogramowanie które zabezpiecza komputer przed wykorzystaniem podatności w przeglądarkach, jej dodatkach i Javie (dziur w oprogramowanie użytkowym wykorzystywanych przez złośliwe oprogramowanie). W wersji płatnej również PDF, Office, oprogramowanie mutimedialne. Usuwa nie produkty (złośliwe oprogramowanie) ale problemy przez nie pozostawione.  Jest to uzupełnienie do  ich innego produktu - Malwarebytes Anti-Malware (zabezpiecza przed załadowaniem kodu przez złośliwe oprogr. po fakcie zarażenia komputera). Podobnym produktem jest MS Enhanced Mitigation Experience Toolkit, ale on wymaga jeszcze trochę doszlifowania.

Poradnik inwestora - http://jakoszczedzacpieniadze.pl/

Tutoriale Java:

Ciekawostki

Ciekawostki

Narzędzia do “łapania” ekranów - http://www.downloadcrew.com/article/30441-hotshots_120_beta lub http://www.downloadcrew.com/article/32363-qip_shot

Narzędzia do wspomagania tworzenia aplikacji we frameworku Spring - https://spring.io/tools/sts

poniedziałek, listopada 17, 2014

Na gorąco

Nowe akronimy, nowe, świeże, nieopierzone jeszcze technologie:

  • MBaaS (mobile back end as a service) produkty serwerowe o luźnej, rozproszonej architekturze  (na poziome REST API) wspierające dla:
  • MEAPs (mobile enterprise application platforms) – ujednolicona warstwa serwerowa na poziomie middleware
  • Zadania MBaaS – cytat z artykułu porównawczego: ‘MBaaS systems typically provide push notifications, file storage and sharing, integration with social networks such as Facebook and Twitter, location services, messaging and chat functions, user management, the ability to run business logic, and usage analysis tools. Enterprise-oriented MBaaS systems also provide integration with existing applications and databases. ’
  • Przedstawiciele – Appcelerator, FeedHenry. Wszystko jednak jest zbyt świeże aby mogło być używane w środowiskach produkcyjnych.

Testowanie aplikacji mobilnych – trend - http://appium.io/slate/en/master/?ruby#appium-design

Błędy – każdemu mogą się przydarzyć - http://www.techrepublic.com/blog/10-things/10-immutable-laws-of-mistakes/?tag=nl.e098&s_cid=e098&ttag=e098&ftag=TRE126e25f. Tak wygląda nasze życie wśród morza pomyłek!

Udało mi się zainstalować VS2015 - Proszę zwrócić uwagę Node.js, Android NDK oraz Java SDK:

Program Manager_2014-11-17_10-43-21

HP (ZDI) corocznie organizuje dla tzw. whitehat hackers konkurs z nagrodami Pwn2Own, tym razem w Tokyo i bez niespodzianek, jak zwykle dziurawe przeglądarki. Wśród urządzeń mobilnych jedynie BlackBerry i Windows Phone uchowały się przed atakami do końca (do ostatecznego włamu). WP został naruszony ale nie do momentu złamanie ochrony. Jedynie BB (Z30) jak zwykle okazał się barierą nie do złamania. Więcej na dzisiejszym ZDNet i TechRepublic.

Ciekawa analogia, jeden z nagrodzony w tym roku Bossie Award – technologia node-webkit (wspierana przez Intela) – czyli uruchamianie aplikacji kompozytowej (node.js w webkit) w środowisku graficznym (desktop) dowolnego systemu operacyjnego (za logikę odpowiada Node.js za prezentację i sterowanie – WebKit) jest namiastką tego co już było dawno (od IE6) dostępne w technologiach MS – aplikacje HTA. Oczywiście po tylu latach idea uruchomienia aplikacji w języku skryptowym w przeglądarce na prawach aplikacji desktopowej uległa znacznej ewolucji i udoskonaleniu. Prezentacja node-webkit jest tu - https://speakerdeck.com/zcbenz/node-webkit-app-runtime-based-on-chromium-and-node-dot-js. Bardziej szczegółowy opis - http://oldgeeksguide.github.io/presentations/html5devconf2013/wtod.html#/32

Jest wiele darmowych kursów informatycznych, wiele jest darmowych tylko z nazwy. Prawdziwie bezpłatne to MIT (w ramach oferty - http://ocw.mit.edu/courses/writing-and-humanistic-studies/21w-789-communicating-with-mobile-technology-spring-2011/ spis najczęściej odwiedzanych kursów jest tu) i Havard (https://cs50.harvard.edu/) oraz te prowadzone przez firmy np.Microsoft (MVA). U nas w kraju to na uwagę zasługuje płatny niestety serwis virtualstudy. Czasami na płatnym udacity trafi się jakiś darmowy okruszek, ale to najczęściej sponsorowane przez Google kursy Androida.

Pożyteczne oprogramowanie – Advanced SystemCare 8 do czyszczenia komputera, podobnie jak CCleaner.

Rozmowa z Jonathan Ive na temat innowacyjności Apple oraz naruszenia praw autorskich - http://www.dezeen.com/2014/11/13/design-education-tragic-says-jonathan-ive-apple/

Zasoby na temat tworzenia aplikacji w środowisku PhoneGap - https://github.com/mwbrooks/phonegap-day-workshop-beginner/wiki

Lista zawartości Visual Studio 2015 jest imponująca:

Krótkie omówienie nowinek w VS2K15 - http://blogs.msdn.com/b/csharpfaq/archive/2014/11/12/short-videos-demonstrating-what-s-new-in-visual-studio-2015-preview-for-c-vb-and-f.aspx

Coroczne nagrody redakcji javaworld – Bossie Awards - http://www.javaworld.com/article/2692862/developer-tools-ide/application-development-164642-bossie-awards-2014-the-best-open-source-application-development-tool.html

Materiały z javaworld dla deweloperów:

poniedziałek, czerwca 09, 2014

Wybór edytora do obsługi JS

Świetne artykuły porównawcze – tabelka porównujące komercyjne i darmowe pakiety (http://www.infoworld.com/d/application-development/review-10-javascript-editors-and-ides-put-the-test-235662?page=0,12)

Review 10 JavaScript editors and IDEs put to the test  Application Development_2014-06-09_08-06-43

Jak widać przoduje WebStrom i Sublime Text (oba dostały palmę zwycięstwa w corocznym konkursie Technology of the Year Award w 2014) ale inne IDE też są ciekawe. Na szczególną uwagę może zasługiwać Netbeans od wersji 7.3 – jest za darmo i ciągle się rozwija.

Inne porównanie - http://www.javaworld.com/article/2094847/enterprise-java/review-10-javascript-editors-and-ides-put-to-the-test.html

Netbeans ma wsparcie dla JS/HTML5/CSS3 oraz frameworku Cordova oraz jQuery.

piątek, maja 23, 2014

Zasoby o mobilnych urządzeniach

IBM gigant nie tylko w branży wielkich komputerów ale również poprzez dywersyfikację w konsultingu i usługach ma w obszarze aplikacji mobilnych również coś do powiedzenie (podobnie jak pozostali giganci Oracle i SAP) widząc słusznie możliwość dostarczania w tym dziedzinie nie tylko rozwiązań ale również i usług dodatkowych. Prezentuje swoje rozwiązania w postaci produktu IBM Worklight (preferuje rozwiązanie HYBRYDOWE) prezentowanego w portalu dla deweloperów DeveloperWorks -  (http://www.ibm.com/developerworks/mobile/worklight/best-practices.html?ce=ism0070&ct=is&cmp=ibmsocial&cm=h&cr=crossbrand&ccy=us). Można tam znaleźć naprawdę b. ciekawe materiały teoretyczne.

Materiały dla front-end:

CSS HTML Images  JavaScript JavaScript – AMD JavaScript Libraries - Dojo Toolkit  JavaScript Libraries – jQuery Platform – Worklight Project Setup and Coding Responsive Web Design (RWD) Testing and Debugging