Archive for the ‘Programowanie’ Category

Deweloperskie linki   Leave a comment

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>
 

Posted 5 grudnia 2014 by marekwmsdn in Android, Java, JavaScript, PHP, Programowanie, REST, xaml

Różne   Leave a comment

Tajemnica stojąca za CF – IBM BlueMix to także odmoana CF. Cloud Foundry was created by VMware to streamline deployment for application developers, application operators, and cloud operators. Then in April 2011, Cloud Foundry was announced as open source under the Apache 2.0 license, with the pitch to developers that they could code in the language and Web framework of their choice without worrying about the IT environment.

In February 2014, VMware spin-off Pivotal announced the formation of the Cloud Foundry Foundation, with Pivotal, EMC, IBM, Rackspace, and VMware as Platinum sponsors. The foundation has since expanded to 33 members and 42 contributing companies. One differentiator for Cloud Foundry is support for Pivotal HD Hadoop MapReduce, HAWQ SQL for Hadoop, and GemFire XD analytics. Another is the availability of the Pivotal Mobile Services Suite, thanks to last year’s acquisition of Xtreme Labs. Pivotal’s big data services and mobile services are both now integrated with Pivotal CF, the company’s enterprise version of Cloud Foundry.

Ciekawe artykuły z PHP Gang – jak stworzyć własną wtyczkę do Chrome – http://www.phpgang.com/how-to-create-google-chrome-app-using-json_440.html + inne odnośniki w stopce:

Ciekawe technologie: Docker oraz Vagrant, a także monitorowanie np. pracą jakichś serwerów

Krótka definicja Dockera i firmy które go wspierają – When containers first appeared in Linux, the natural assumption was that it would be yet another of many technologies that Linux has assimilated. But then came Docker, a novel use of containers to make apps portable and self-contained. It’s set Linux vendors scrambling, both to to rethink the way containers are implemented in Linux and to see how Linux can be reworked around Docker’s application-centric model.

Bardzo ciekawy i darmowy zamiennik Fences – Nimi – http://www.maketecheasier.com/organize-windows-desktop-nimi-places/?utm_source=newsletter&utm_medium=email&utm_campaign=15112014

Stara, obrosła sławą w czasach kiedy tworzyły się podwaliny aplikacji webowych (opartych o ‘nowoczesny’ JS i HTML), opiniotwórcza witryna – http://alistapart.com/articles oraz tematy – http://alistapart.com/topics

Techniki template (szablonów) – http://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/. Mustache, Jade

Ważne – jak zacząć przygodę z Azure, ci co mają subskrypcję MSDN może poszaleć – http://azure.microsoft.com/en-us/get-started/ (lub http://azure.microsoft.com/en-us/)

Nowe słowo kodowe Kestrel – nowa wersja Cassini – http://geekswithblogs.net/Aligned/archive/2014/11/06/kestrel-in-asp.net-vnext-for-production-hosting.aspx

Ważna technologia zastępująca WCF – WebAPI do tego link – http://geekswithblogs.net/Aligned/category/13888.aspx

Treściwe podsumowanie inicjatywy MS w sprawie uwolnienia .NET – 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. Ważna o tyle, że zawiera wiele odnośników do dalszych materiałów np: http://blogs.msdn.com/b/visualstudio/archive/2014/11/13/tools-for-apache-cordova-update-ios-debugging-amp-windows-8-1-support.aspx i http://blogs.msdn.com/b/visualstudio/archive/2014/11/12/the-c-and-visual-basic-code-focused-ide-experience.aspx

Bardzo ważne – Kompletny opis – https://code.msdn.microsoft.com/ASPNET-MVC5-AngularJS-1f18da53 – generowanie raportu w PDF – nowoczesny sposób

Przykłady kodu deweloperskiego z MS do przejrzenia – https://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=User&f%5B0%5D.Value=Jo%C3%A3o%20Eduardo%20Sousa

Zainstaluj sobie – http://betanews.com/2014/11/11/advanced-systemcare-8-ramps-up-its-security-tools/

Podstawy walidacji w nowoczesnym HTML – http://javascript.about.com/od/validatingforms/a/Attaching-Validation-To-A-Form.htm?utm_source=cn_nl&utm_medium=email&utm_term=Programming%20Channel%20Newsletter&utm_campaign=programsl&utm_content=20140902 i dodatki

Eksperymenty on-line z kodem w JS, HTML iCSS – http://codepen.io/irinakramer/pen/jcLlp

Omówienie narzędzi Intela – https://software.intel.com/en-us/android/tools

Do przerobienia:

Posted 18 listopada 2014 by marekwmsdn in .NET, Android, C#, Mobile, Mobile Apps, MS, MS Azure, Programowanie, REST

Sprawy rozwoju i deweloperki   Leave a comment

Ciekawe blogi deweloperskie:

  1. http://rudrageek.com/learn-data-structures-and-algorithms-free-lectures_book/ są tam kursy nt. struktur danych w algorytmach. Tamże odwołania do kursów uniwersyteckich jak – https://www.coursera.org/course/algs4partI, lub w języku C – http://rudrageek.com/data-structures-in-c-free-video-pdf/
  2. IDE dla node.js – http://rudrageek.com/best-node-js-ide-for-faster-development/: cloud9 oraz webmatrix
  3. Hosting dla node.js i nie tylko – http://rudrageek.com/free-node-js-hosting-deploy-node-apps-free/
  4. Zasoby o pythonie – http://blog.zabiello.com/pages/python – b.dobre

Posted 18 marca 2014 by marekwmsdn in Courses, node.js, Programowanie, Python

SOLID-ne zasady   Leave a comment

Co wyróżnia programistę wśród  innych? To, że stosuję metodologię SOLID przy tworzeniu aplikacji zorientowanych obiektowo. Termin SOLID wymyślił Robert C Martin w 2000 jako skrót pięciu podstawowych wg. niego zasad programowania obiektowego:

  • Single Responsilility – obiekt powinien brać na siebie tylko jedną odpowiadzialość,
  • Open/Close – obiekt powinien być otwarty na rozszerzenia i zamkniety dla modyfikacji,
  • Liskov Substitiution -   obiekt może być zastąpiony instancjami jego podtypów i to nie powinno wpływać na poprawność programu,
  • Interface Segregation – jeden interfejs ogólnego przeznaczenia powinien być zastąpiony rozdzielnymi interfejsami,
  • Dependency Inversion – oprzyj kod na abstrakcji (uogólnionemu rozwiązaniu) zamiast konkretnej implementacji

Posted 1 sierpnia 2012 by marekwmsdn in Programowanie

Nowinki w piątek   Leave a comment

Początek weekend lub jak kto woli koniec tygodnia takie oto przyniósł nowinki:

Ciekawostki programistyczne   Leave a comment

Dużo mówi się o nowych językach programowania choćby wspomnieć o Dart (firmowana przez Google odmiana JS), podczas gdy stare są wciąż niedoceniane. Tak jest w przypadku Haskell’a. Jego ciekawe cechy zostały opisane na stronie tutaj gdzie opisano nawet framework do pracy z tym językiem. Jak widać  tu jak i w przypadki innych wschodzących języków (np. Ruby ma RoR) liczy się nie tyle język ile infrastruktura wokół niego jak biblioteki, frameworki czy inne narzędzia wspomagające.

Innym, pomocnym narzędziem a na dodatek agnostycznym względem języka  jest  Cloud9 IDE – http://c9.io/. Jak nazwa wskazuje jest to narzędzie – edytor do tworzenia oprogramowania w różnych językach. Dla projektów open-source jest ono darmowe. W dużej mierze to IDE wspiera node.js. Do języka node.js (serwerowej odmiany JS  jest niezły tutorial  – http://nodemanual.org/latest/nodejs_dev_guide/creating_http_requests.html). Uwaga Cloud9 IDE nie lubi IE8!.

Zasoby do nauki programowania:

Ciekawe dwie strony (z których wychodzi wiele innych, ciekawych pomysłów):

  1. Portal codemirror.net –
  2. Tworzenie rozszerzeń do przeglądarek – http://kangoextensions.com/ – cała maszyneria do tego jak się tworzy przykładowe rozszerzenie pokazane jest tu – http://kangoextensions.com/blog/kangogmailchecker/. Tworzy rozszerzenia nawet dla IE!
  3. Strona o jQ – http://anton.shevchuk.name/jquery/ ale autor jest też twórcą jQuery-PHP oraz Online Chart Buildera. Fajny tutorial o jQ, np. o animacji – http://anton.shevchuk.name/javascript/jquery-for-beginners-write-animation-plugins/
  4. I o closure – http://anton.shevchuk.name/javascript/google-closure-for-beginners-components/

Oracle – dostęp do bazy poprzez .NET w  VS:

  1. http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html?msgid=3-5804196843
  2. http://www.oracle.com/technetwork/topics/dotnet/oow-events11-452985.html?msgid=3-5804196843

Ciekawe strony deweloperskie   Leave a comment

Zebrane z Avant w pracy. Oracle promuje nadal tworzenie aplikacji przy pomocy wizardów – Oracle Application Express, narzędzie podobne do MS LightSwitch. Polska firma, która  zbudowała unikalny procesor realizujący kod Java Byte Code – http://www.gryftechnologia.com/#oprogramowanie.

Świetna strona FAQ o Javie na temat rozszerzenia SWT na potrzeby Eclipse – http://www.eclipse.org/swt/faq.php#howusewebkit (a tam jak uruchomić w oknie przeglądarkę dowolnego rodzaju np. WebKit). Strona z widget-ami – http://www.eclipse.org/swt/widgets/, i z kawałkami (snippet – skrawek) przykładowych kodów – http://www.eclipse.org/swt/snippets/ . Dywagacje na temat menadzerów układów – http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/index.html. Ale uwaga odwieczny partner IBM firma Oracle mówi o zaprzestaniu wspierania JSR-  . Zamiast tego proponuje własne rozszerzenie do tworzenia interfejsu GUI – to jest chore, najpierw był AWT, potem SWT, dalej Eclipse wymyślił swoją zabawkę, a na koniec Oracle kupił Sun-a i przebił wszystkich swoim własnym wynalazkiem (do zobaczenia w ich RAD-zie rywalu Eclipse – NETBEANS 7.1). SAP w CR postawił na rozwój w Javie (Eclipse a co za tym idzie w SWT) co teraz ma zrobić skoro ich odwieczny wróg – Oracle rozwija inną bibliotekę GUI?

Jeżeli chodzi o oskryptowanie na poważnie aplikacji Acrobat-a poprzez wykorzystanie JS to tu znajdziesz najwięcej informacji – http://www.planetpdf.com/developer/learningcenter.asp?ContainerID=1519, np. jak i gdzie używać JS.

W portalu http://www.zlotemysli.pl/prod/6380/zwielokrotnianie-umyslu.html lub http://www.zlotemysli.pl/prod/6558/mapologia.html jak widać czasami w Internecie trafiają się perełki do czytania

Ciekawe strony dla deweloperów w C# – dotnetkicks. Bardzo ciekawy traktat o roli i wykorzystaniu INTERFACE w C# – “I, interface”. Doskonała  analiza ORM (kiedy go używać) i lekkie alternatywy jak ActiveRecord oraz Typed Data Sets (TDS) – “Do you really need ORD?”.

Jak stworzyć pierwszą aplikację w Facebook-u? . Na GITHUB jest cała sekcja poświęcona narzędziom dla FB – https://github.com/facebook.  Jest też strona – http://developers.facebook.com/opensource/.

Google’a ukłon w stronę twórców piszących w JS – http://webhosting.pl/Korzystaj.z.googleowych.API.uzywajac.nowej.biblioteki.JavaScriptu (więcej na ten temat jest tu)

Triki dla użytkowników typu “geek” – http://www.technotraits.com/2010/01/god-mode-trick-in-windows-7/ i http://www.technotraits.com/2008/11/10-amazing-windows-command-line-tricks/

Teraz o SAP CR. Grupa dyskusyjna – forum z crystalreportsbook, o dziwo, jest też trening CR na YT –

Pierwsza lekcja instalacji CR dla VS 2010

Jest też, a jakże, strona na FB – http://www.facebook.com/SAPCrystalReports, a tam kącik “Knowledge Center”. Blog techniczny – http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23061 (Ludek Uher). Jest też SAP na TT – https://twitter.com/#!/SAPCRNetSup. SAP dla dewelopersów – SDN – http://www.sdn.sap.com/irj/scn/index.

SAP wyróżnia grupę technologii tzw. wbudowanych (embeded), które pozwalają na wykorzystanie silnika CR we własnych aplikacjach napisanych w dwóch “jedynie słusznych technologiach” :

  1. Java w środowisku Eclipse – SAP Crystal Reports, version for Eclipse
  2. C# w środowisku .NET – SAP Crystal Reports, version for Visual Studio .NET

Ale jest jeden “haczyk” – należy wykupić licencję na wykorzystywanie komercyjne silnika CR – SAP Crystal Reports runtime server license. A to już nie jest za darmo. Dodatkowo niepokój budzi zdanie “Visual Studio 2005 and Visual Studio 2008 – Requests to the runtime engine that exceed the throughput limitations will queue until a thread becomes available to process it” – co wg. mnie tłumaczy się jako aluzja, że w razie zbyt dużego wykorzystania silnika serwera raportowego może nastąpić zatrzymanie przyjmowania kolejnych zgłoszeń o wykonanie raportu i ich kolejkowanie aż poprzednie się nie skończą. W przypadku naszego rozwiązania dla naszego strategicznego klienta ze starszym silnikiem (który generuje chamsko wyjątek w przypadku osiągnięcia max. przepustowości) nie mieliśmy problemu – może limit ilości równolegle wykonywanych raportów (wątków) nie został jeszcze osiągnięty? Bardzo pouczające porównanie między pełną wersją CR 2008 a CR dla VS2010. Czego brakuje (wg. mnie najbardziej): natywnych (czyli szybszych) sterowników do baz, tzw. enhanced Web Services data driver.

Nauka Javy wg. SAP Na bazie Oracle Java tutorials:

Posted 12 grudnia 2011 by marekwmsdn in .NET, C#, CR, Interoperability, Java, Programowanie

Sprawa certyfikatów   Leave a comment

Certyfikatów jest wiele, m.in. komercyjny i kwalifikowany. W Polsce inne rodzaje certyfikatów są mało popularne no chyba jeszcze certyfikat na serwer internetowy i SSL. U nas z certyfikatów najczęściej korzystają PRZEDSTAWICIELE firm. Ciekawa sprawa, jeżeli ktoś dostał od firmy certyfikat kwalifikowany to nigdzie nie jest napisane, że nie może się nim posługiwać prywatnie (JEST on wystawiony na OSOBĘ). Taki certyfikat z nazwiskiem jego posiadacza jest jego niejako elektronicznym dowodem osobistym. To, że ma tam gdzieś nazwę firmy oznacza, że kiedyś w niej pracował – zresztą miejsce pracy nie jest takie ważne, dzisaj tu, jutro tam – chyba, że firma taki certyfikat unieważni. Zresztą wypróbowana praktyka w dokumentach papierowych jest taka, że podaje się dane osób UPOWAŻNIONYCH lub PRZEDSTAWICIELI do składania podpisu. Podpisując dokument z nazwiskiem osoby upoważnionej pozwala sprawdzić czy ona właśnie podpisała ten dokument elektroniczne – to taki double-check.

Dla firm trudno raczej certyfikat uzyskać, kwalifikowany jest dla osób fizycznych tylko. Co robić? Można wystosować zapytanie do naszych trzech wystawców certyfikatów lub zwrócić się do uznanych firm zagranicznych jak Thawte lub Verisign (lub mniej znanych jak GlobalSign a na pewno nie do DigiNor – ta firma po skandalu z wyciekiem certyfiaktów i brakiem należytej kontroli nad procesem obsługi życia certyfikatu słusznie zresztą upadła). Poszukałem trochę w sieci – CERTUM daje certyfikat niekwalifikowany, podobnie KIR, inna definicja niezależna. Ale chyba najlepiej precyzuje różnice między tymi dwoma certyfiaktami stowarzyszenie PEMI:

  • certyfikat kwalifikowany może być używany jedynie do składania/weryfikacji podpisu elektronicznego. Ustawa zabrania używania go do innych celów takich jak logowanie, szyfrowanie. Certyfikaty kwalifikowane mogą być używane tylko z „bezpiecznymi aplikacjami” czyli takimi które posiadają oświadczenie producenta o zgodności z wymogami ustawy o podpisie elektronicznym
  • certyfikaty niekwalifikowane nie posiadają ograniczeń pod względem ich użytecznośc
  • certyfikaty niekwalifikowane mogą być przechowywane na komputerze użytkownika lub na urządzeniu kryptograficznym (karta mikroprocesorowa, etoken itp). Użytkownik ma pełna swobodę w wyborze nośnika certyfikatu
  • podpis elektroniczny weryfikowany przy pomocy certyfikatu niekwalifikowanego wywołuje skutki prawne podpisu odręcznego jeśli obie strony zawarły wcześniej umowę. W umowie powinny być zawarte zapisy o wzajemnym uznaniu podpisów weryfikowanych przy pomocy certyfikatów niekwalifikowanych
  • certyfikaty niekwalifikowane mogą wydawać Centra Certyfikacji niekwalifikowane i kwalifikowane
  • skutki prawne –  jeśli obie strony (wymieniające podpisane elektronicznie dokumenty) zawarły wcześniej umowę. W umowie (tak zwanej komunikacyjnej) powinny być zawarte zapisy o wzajemnym uznaniu podpisów weryfikowanych przy pomocy certyfikatów niekwalifikowanych oraz identyfikatory tych certyfikatów np. „nr seryjny”

PEMI jest na tyle “dobre”, że oferuje przedsiębiorcom usługę pod nazwą e-Firma (raczej ją mgliście przedstawia) ale daje certyfiakty min do podpisywania kodu. Wszystko za darmo. Podpis elektroniczny w Polsce wg. PEMI:

    • Centra kwalifikowane:
      – PWPW Sigillum
      – TP Internet Signet (zawieszona działalność)
      – KIR
      – Unizeto Certum
    • Centra niekwalifikowane:
      – Polcert
      – Energocert
      – PCC EuroPKI

Podobne szerokie kompendium wiedzy na temat podpisu jest tu na stronach IPSEC.

Inna sprawa to wykorzystanie certyfiaktów do podpisywania kodu. Microsoft zawiera szereg programów wspierających ten proces – opis code signing jest tu. Ich lista znajduje się tu i można je pobrać ze strony Windows SDK (trzeba je ściągnąć), wsród nich jest signtool do podpisywania kodu certyfikatami. Innym poleceniem jest certmgr. Uwaga – ten polecenia certmgr.exe i inne wykonywać w katalogu z SDK (c:\program files\microsoft SDKs\Windows\v7.0A\bin)! W przeciwnym wypadku pojawi się wersja przystawkowa (msc). Certmgr.exe jest ważna ponieważ pozwala zarządzać CRL – tutaj na MSDN mamy opis. Powyższe programy wchodzą w skład “miękkiej” części Windows Client (klienckiej) – narzędzi do tworzenia oprogramowania. Z kolei z innej bajki jest równie pomocne polecenie certutil. Wchodzi w skład Serwera Windows 200X (a dokładnie jego komponentu tzw. Certificate Services) – a więc jest skierowane dla administratorów. Zarówno certutil jak i certmgr pozwalają na zarządzanie CRL (najbardziej interesujące jest odszyfrowanie formatu CRL i “wydruk” listy odwołanych certyfikatów). Można też samemu “odszyfrować” ten format – jest to ASN.1 (Abstract Syntax Notation 1).

Nierozerwalnie ze sprawami certyfikatów wiąże się karta inteligentna tzw. smartcard. Microsoft wybrał implementację PC/SC – to zresztą standard na komputery PC. Architektura programowa obsługi SC jest opisana tutaj na stronach MSDN.

Podpis można opatrzeć znacznikiem czas z bezpłatnego serwera publicznego – http://time.certum.pl.

Ciekawostka – usługi dodatkowe świadczone przez CERTUM: Notarius oraz sprawdzenie stanu certyfikatu w trybie on-line. Trzeba też sprawdzić ofety KIR, Sigillum i Mobitrust – na komórkę / Mobicert. Zagraniczne rozwiązania mają firmy: Aloha, Eldos a w odniesieniu do PDF – GlobalSign. Firma ta jest partnerem Adobe w projekcie CDS (Certified Document Services) – mówi o tym ten dokument. Jej oferta jest droga i różni się technicznie od naszgo podpisu z CERTUM tym, że głównym urzędem certyfiakcyjnym jest w tym przypadku nie polski urząd a sama firma ADOBE (ale za to każe sobie słono płacić). Przypomina się tam też, że PDF nie jest zamkniętym formatem –  a standardem ISO 32000-1. Kolejny standard ETSI/ESI Technical Standard (TS) 102 778 (w skrócie PAdES) – stanowi odpowiedź na spełnienie wymogów dyrektywy unijnej – 1999 EU Signature Directive.

Podobnie funkcje podpisywania dokumentów PDF ma biblioteka KIR napisana w języku Java.

Ciekawostki programistyczne   Leave a comment

Kompilacja C# poprzez środowisko Mono. Wiele darmowych rzeczy – http://www.thefreecountry.com/utilities/index.shtml, np. darmowe dźwięki. Cytaty o C/C++ http://www.di-mgt.com.au/cprog.html.  Jak zacząć z C#? Darmowy kurs – http://channel9.msdn.com/Series/Kurs-aplikacji-web-od-podstaw?sort=viewed&WT.mc_id=ban-c-pl-dca–&WT_mc_id=ban-c-pl-dca–

Więcej o HTML5/JS i ogólnie tworzeniu aplikacji webowych na stronie HTMLgoodies:

  1. Edytory HTML5 – http://www.htmlgoodies.com/html5/tutorials/five-essential-html5-editors.html#fbid=Qu6g6p94HcT:
    1. http://maqetta.org/
    2. http://www.aloha-editor.org/
    3. http://www.bluegriffon.org/

Tworzenie i podpisywanie PDF:

  1. http://old.nabble.com/smartcard-and-ocsp-td25822166.html
  2. http://www.datadynamics.com/Help/ActiveReports6/arHOWPDFDigitalSignature.html
  3. http://www.novapdf.com/kb/digital-pdf-signature-332.html
  4. http://itextpdf.com/examples/iia.php?id=222

Posted 23 września 2011 by marekwmsdn in PDF, Podpis, Programowanie

Ciekawostki   Leave a comment

Katalog programów systemowo-narzędziowych i nie tylko pod Linuxem – http://directory.fsf.org/category/gdev/

Posted 24 sierpnia 2011 by marekwmsdn in open-source, Programowanie