Ciekawostki środy 19 listopada   Leave a comment

Pamiętaj, jeżeli czegoś nie ma w Internecie (jakieś strony) to jest zawsze wayback machine – archiwum internetowe – to czasami bywa ostatnia deską ratunku.

Joga zawsze była modna. Oto parę linków na ten temat: http://greatist.com/move/free-online-yoga-videos oraz http://greatist.com/move/yoga-mega-inflexible-people

Szyfrowanie i podpisywanie informacji jest dostępne w różnych językach, nawet w JS. Jest wiele bibliotek np. Crypton. Tutaj jest opis innych narzędzi tym razem z Google (https://code.google.com/p/crypto-js/ – imponująca lista metod szyfrowania ale niestety autor nie ma czasu na rozwijanie tej biblioteki) – http://aspnettutorialonline.blogspot.com/2014/04/jquery-tutorial-encryption-and.html. Na tych stronach też jest wiele ciekawych podejść do tematu np. konwertowania HTML do PDF  http://aspnettutorialonline.blogspot.com/2012/04/converting-html-to-pdf-using-itextsharp.html. Jest alternatywna implementacja na github – https://github.com/digitalbazaar/forge.

Rewelacja w sieci – darmowe e-booki – http://it-ebooks.info/book/2652/, O’Reilly też ma darmowe – http://www.oreilly.com/openbook/

Są tu kursy płatne, ale ten jest za darmo – http://academy.javacodegeeks.com/course/java-concurrency-essentials/

Poglądowy artykuł co nowego w vs 2015 – http://blogs.msdn.com/b/visualstudio/archive/2014/11/12/visual-studio-2015-preview-visual-studio-community-2013-visual-studio-2013-update-4-and-more.aspx. Wiele odnośników do różnych technologii. Tamże odnośnie wsparcia dla Cordovy (jej siła polega na wtyczkach obsługujących natywne możliwości urządzeń. Teraz Cordova pozwala na budowanie aplikacji dla Windows 8.1 i Windows Phone 8.1):  jest wsparcie już w VS2013 Update 3, nawet w darmowej wersji Community i oczywiście w VS 2015

Kurs XAML w Windows 8.1 – http://www.microsoftvirtualacademy.com/training-courses/developing-universal-windows-apps-with-c-and-xaml i przykłady – https://code.msdn.microsoft.com/windowsapps/

Trendy do wykorzystania w przyszłości   Leave a comment

Przyszłość:

  • Wykorzystanie Dockera/Vagranta do wirtuazliacji/opakowania aplikacji do pojemników
  • Używanie grunt/gulp do instalacji
  • Zastosowanie Markdown do dokumentacji, emmpten i innych szablonów ()
  • Używanie Knockout/Angular
  • Serwer internetowy Nginx zamiast Apache
  • Serwer aplikacyjny TomEE zamiast Tomcat
  • Wdrożenie node.js jako serwera (może wzbogacone Edge)
  • Wykorzystanie wkładu Facebooka – kompilator php, analizator składni JS  – Flow (http://flowtype.org/)
  • Stosowanie architektury: natywna aplikacja/webkit-view na urządzeniu mobilnym łącząca się z serwerem poprzez WebAPI (WS) – czyli to co już było
  • Wykorzystanie Google WebAPI np. dostęp do dokumentów, kalendarza, drukowanie w chmurze

ArsTechnica: Ciekawe podejście Google, dużo mówi się o Clang/LLVM, i innych kompilatorach skrośnych. Google też ma w tym doświadczenie: technologia GWT – tłumaczenie Java na JS. Dalszym krokiem Google jest zbudowanie jednolitego kodu nowej wersji Gmail (tzw. Inbox, kodu na trzy platformy (Android, IOS i  … nie Windows, ale przeglądarki internetowe, tak jakby Windows nie był potrzebny – to prawda, gdyż do uruchomienia poczty nie liczy się OS ale kontener – czyli przeglądarka). Do przetłumaczenia kodu Java na Objective-C służy J2ObjC – projekt open-source.  W ten sposób tłumaczy się logikę aplikacji, ale nie tłumaczy się wszystkiego, UI pozostaje do zrobienia “ręcznie” przy pomocy natywnego SDK – jest to ok. 25% kodu. Podobne  podejście cross-platform core, platform-specific UI stosuje Xamarin.

Xamarin w wersji 3 udało się udoskonalić tworzenie interfejsu UI w postaci Xamarin.Forms

Doskonałe tutoriale do JS na serwerach Mozilli – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain i tutoriale ogólne – https://developer.mozilla.org/en-US/docs/Web/Tutorials. Resig i jego tutorial – http://ejohn.org/apps/learn/#17

Generator wyrażeń regularnych w różnych językach – http://txt2re.com/index-javascript.php3?s=%3CAuthenticateUser%3Eb__3&-2&utm_content=buffer15be0&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

Specyfika aplikacji mobilnych (i nie tylko) polega na próbie oddzielenia warstw logiki od prezentacji (opcjonalnie także warstwy danych – zwanej modelem) i oprogramowania ich w niezależny sposób. Jest to podejście naturalne i racjonale. W związku z tym powstało wiele wzorców projektowych – Model-View-Controller (MVC), Model-View-Presenter (MVP), and Model-View / View-Model (MVVM).  Firma APPMETHOD tak opisuje trzy sposoby tworzenia aplikacji:

  1. Wtyczki HTML oparte o WebKit – słaba wydajność, trzeba stosować JS i komunikację z C++. HTML Canvas (view) i wbudowany element BrowserField + JS (events) + C++(logic). Wymaga komunikacji między JS a C++.
  2. Natywne biblioteki GUI, wymaga to trzech platform kodowych: iOS UI to Objective-C, Android UI wymaga Java (oczywiście C++ jest wspierany przez NDK ale czasami trzeba stosować JNI do Dalvik), logika aplikacji to znowu C++. W przypadku iOS jest trochę łatwiej dzięki temu, że można mieszać kod Objective-C z C++, do tego celu służy Clang.
  3. Framework dla C++ np. http://www.appmethod.com/features, najlepsze rozwiązanie dla programistów C++, chociaż czasami wymaga wywołań JNI
  4. Tworzenie aplikacji mobilnych  wg. Intela – https://software.intel.com/en-us/videos/intel-xdk-app-designer-getting-started – cała seria video tutoriali. Rozbiegówka – https://software.intel.com/en-us/html5/tools#

JQuery to wprowadzilo – na czym polega semantyczne wersjonowania – semantic versioning, which is usually just referred to as semver. The Semantic Versioning 2.0.0 spec summarizes semver like this:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes
  2. MINOR version when you add functionality in a backward-compatible manner
  3. PATCH version when you make backward-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Więcej o Intelu XDK – https://software.intel.com/en-us/html5/articles/why-use-crosswalk-for-android-builds

Ciekawe http://www.phpgang.com/how-to-configure-google-cloud-api-in-php_288.html – wykorzystanie usług Google API np. do drukowania

Finasowanie Mozilli: USA – Yahho, Chiny – Baidu, Rosja – Yandex

SAP udostępnił swoją bibliotekę UI w JS – http://sap.github.io/openui5/?utm_source=Sites&utm_medium=Banner&utm_campaign=OpenUI5, jak zacząć – http://sap.github.io/openui5/getstarted.html

Podstawy WCF i nie tylko – http://www.codeproject.com/Articles/531332/Implementing-a-Basic-Hello-World-WCF-Service-v

Posted 21 Listopad 2014 by marekwmsdn in Android, JavaScript, Mind Storm, Mobile, WCF, XDK

Deweloperka 20 listopada   Leave a comment

Porównanie MS SQL Server z PostgreSQL – http://www.pg-versus-ms.com/

PluralSight – dla subskrybentów MSDN – http://blog.devmatter.com/msdn-subscriptions-and-pluralsight/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ADevelopersLife+%28A+Developer%27s+Life%29 

Zasoby z CodeProject:

  1. Generator kodów kreskowych – http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library
  2. Skonfiguruj WCF do obsługi REST – http://www.codeproject.com/Tips/803009/Configure-WCF-Service-to-REST?display=Print
  3. Ciekawy kod – http://www.codeproject.com/Tips/834872/Select-Insert-and-Delete-in-MVC-using-WCF-Services
  4. Naucz się MVC – http://www.codeproject.com/Articles/207797/Learn-MVC-Model-view-controller-Step-by-Step-in-7

Jak wygląda proces zmian w życiu wg. Dr. Norcross: precontemplation, contemplation, preparation, action and maintenance

Posted 21 Listopad 2014 by marekwmsdn in Code Project

Deweloperka 19 list. 2014   Leave a comment

Ciekawostki   Leave a comment

Warto się uzbroić w parę pomocnych programów. Do optymalizacji pracy komputera ASC. Usuwanie żłośliwego oprogramowania – http://www.downloadcrew.com/article/32769-bitdefender_adware_removal_tool.  Prezent od MS – http://betanews.com/2014/11/13/microsoft-launches-free-visual-studio-community-2013/. Bardziej szczegółowo opisana oferta – http://blogs.msdn.com/b/visualstudio/archive/2014/11/12/visual-studio-2015-preview-visual-studio-community-2013-visual-studio-2013-update-4-and-more.aspx.

Posted 18 Listopad 2014 by marekwmsdn in Bez kategorii

Wzorce C#   Leave a comment

Posted 18 Listopad 2014 by marekwmsdn in C#, Design pattern

Ciekawostki ze środy 20 sierpnia 2014   Leave a comment

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:

Posted 18 Listopad 2014 by marekwmsdn in AJAX, Bezpieczeństwo, Java

Obserwuj

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.