- Biblioteki do Java od Google - https://www.javacodegeeks.com/2016/07/forget-guava-5-google-libraries-java-developers-know.html
- Java + najbardziej popularne biblioteki (na podstawie analizy Github) - https://www.javacodegeeks.com/2016/05/top-100-java-libraries-2016-analyzing-47251-dependencies.html
- Np. wsparcie dla JSON-a:
- fasterxml.jackson.core.jackson-databind
- #19 – google.code.gson.gson
- #43 – json.json
- #80 – googlecode.json-simple.json-simple
- #89 – thoughtworks.xstream.xstream
- 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)
czwartek, stycznia 12, 2017
Znowu Java
niedziela, lipca 17, 2016
Trochę Javy i inne tematy
- Pięknie o kodzie w stylu ZEN - http://thecodelesscode.com/contents - i tworzeniu oporgramowania
- 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
- Najdziwniejsze języki programowania - http://blog.fogus.me/2011/10/18/programming-language-development-the-past-5-years/
- Niesamowite projekty java (.NET też tam gdzieś jest) - https://github.com/akullpp/awesome-java
- Znany od lat pedagog uczący Javy i C++ http://www.dickbaldwin.com/toc.htm
czwartek, lipca 14, 2016
Java i pokrewne tematy
- 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
- 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
- Architektura. Powstaje nowy model przetwarzania - bezserwerowe - http://martinfowler.com/articles/serverless.html#benefits (wykorzystuje API własne i stron trzecich)
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:
- http://www.tutorialspoint.com/java/java_inheritance.htm – jak rzucać wyjątki, jak je obsługiwać (albo je rzucać wyżej – throw, lub return)
- http://www.journaldev.com/ – dużo o Spring-u
środa, czerwca 11, 2014
Ciekawostki o Javie
- 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/.
wtorek, lutego 19, 2013
Ciekawostki we wtorek
- Najbardziej zaawansowany samolot - http://www.time.com/time/magazine/article/0,9171,2136312,00.html?xid=newsletter-daily, Obama STOU szczegółowo o walce z cyber zagrożeniem - http://www.zdnet.com/state-of-the-union-cyberthreat-7000011248/. Historia JS autora JS, pracownika fundacji Mozilla - https://brendaneich.com/tag/javascript/, PHP edytor dla VS - http://www.jcxsoftware.com/jcx/vsphp/downloads.
- Fundamentem tworzenia aplikacji webowych (szczególnie SPA) jest operowanie na elementach strony, dzięki DOM mamy taką możliwość. O tym traktuje artykuł ma wiki (http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28Document_Object_Model%29) gdzie zostały porównane możliwości silników przeglądarek odnośnie dostępu do elementów DOM strony internetowej. Pożyteczna jest też strona canIuse, gdzie pokazano przekrojowo wsparcie HTML5 wśród popularnych przeglądarek. Kapitalna strona o interakcji z DOM z perspektywy różnych rozwiązań różnych firm - http://css.dzone.com/articles/importance-dom. Inna pozycja o JS - http://css.dzone.com/articles/revisiting-javascript-objects
- Walidacja w jQ - http://www.dzone.com/links/r/jquery_quicktip_form_validation_using_onblur_and.html oraz http://www.dzone.com/links/r/jquery_quicktip_form_validation_using_onblur_and.html. A także nauka HTML 5 w 5 min - http://www.htmlgoodies.com/print/HTML5/client/learn-html5-in-5-minutes-.html
- Z innej beczki – Java – wzorce; dekorator - http://www.dzone.com/links/r/decorator_design_pattern_in_java_2.html
- Różne pułapki mogące nas spotkać podczas obsługi SSL i wymiany tożsamości w C# (zresztą nie tylko w nim, w Javie też) - http://www.codeguru.geekclub.pl/baza-wiedzy/artykul-polaczenia-szyfrowane-w-net,3093
- Dywagacje na temat programowania obiektowego – JOT magazyn - http://www.diigo.com/annotated?gname=coders&url=http%3A%2F%2Fblog.jot.fm%2F2010%2F08%2F26%2Ften-things-i-hate-about-object-oriented-programming%2F
- Jak zacząć przygodę z Tiwtterem - http://edudemic.com/2013/02/a-visual-guide-to-twitter-for-beginners/
- O ważności podpisu, PDF i unikalnej pozycji certyfikatów Certum w Adobe - http://www.computerworld.pl/artykuly/387403/Tozsamosc.w.czasach.internetu.html#
- Słynny fizyk Feyman (http://www.networkworld.com/community/blog/pleasure-finding-things-out-about-richard-feynman?t51hb):
czwartek, maja 10, 2012
Zebrane linki z Chrome w domu (wg. mnie ciekawe)
Dla dzieci:
1) http://kopalniawiedzy.pl/
2) http://www.fizykon.org/
Dla dorosłych programistów:
1) Linki do closures w JS - http://www.javascriptkit.com/cgi-bin/search/search.cgi?zoom_query=closure&zoom_per_page=10&zoom_and=1&zoom_sort=0&zoom_cat%5B%5D=1
2) Wyr. reg. - http://www.javascriptkit.com/javatutors/re.shtml np.:
<script language="JavaScript1.2">
function checkpostal(){
var re5digit=/^\d{5}$/ //regular expression defining a 5 digit number
if (document.myform.myinput.value.search(re5digit)==-1) //if match failed
alert("Please enter a valid 5 digit number inside form")
}
</script>
<form name="myform">
<input type="text" name="myinput" size=15>
<input type="button" onClick="checkpostal()" value="check">
</form>
3) htmlshell - http://htmlshell.com/
4) Kurs jQ z MSDN z serii Aplikacje internetowe - są też i inne:
http://msdn.microsoft.com/pl-pl/library/jquery--selektory.aspx
http://msdn.microsoft.com/pl-pl/library/jquery--zdarzenia
http://msdn.microsoft.com/pl-pl/library/jquery--animacje
5) Dodatek do jQ - Data Tables - http://datatables.net/extras/
6) Addy Osmani o operatorach logicznych w js - http://addyosmani.com/blog/exploring-javascripts-logical-or-operator/
7) Tam też wiele linków do bezpłatnych materiałów np. http://addyosmani.com/toolsforjqueryapparchitecture/
8) O PDF i iText:
http://www.4guysfromrolla.com/articles/030211-1.aspx
http://www.4guysfromrolla.com/articles/030911-1.aspx
9) Sign SOAP - http://www.java2s.com/Code/Java/JDK-6/SignSOAPmessage.htm
10) Asymme. Cryptography - http://www.java2s.com/Code/CSharp/File-Stream/Illustratesasymmetriccryptography.htm
11) Wstęp do WCF:
http://msdn.microsoft.com/en-us/library/ee958158.aspx
! http://msdn.microsoft.com/en-us/magazine/dd315413.aspx
! http://www.maciejaniserowicz.com/post/2010/03/01/WCF-Auth-starter-zalazek-aplikacji-klient-serwer-z-uwierzytelnianiem-usernamepassword.aspx
Zasoby WCF na eggheadcafe - http://www.eggheadcafe.com/searchform.aspx?search=WCF
Dotnetmaniak - http://dotnetkicks.com/tipsandtricks/C_WebClient_Usage:
środa, kwietnia 11, 2012
Od nadmiaru Javy głowa boli
Artykuł w infoworld na temat zainfekowania wirusem komputerów Apple jest skierowany do zachęcenia zaprzestania korzystania z Javy, w przeglądarce internetowej jest ona równie niebezpieczna jak osławiony ActiveX (MS sam zresztą go pogrzebał, ale wtedy Sun triumfował z jakoby bezpieczną technologią java applet). Teraz widać, że hackerzy przerzucili się na inne platformy jak Android, iOS, Java, Flash gdzie jest jeszcze dużo do zrobienia. Nie bez znaczenia w ułatwianiu ataku jest osłabienie czujności klientów uważających swe platformy za bezpieczne. Ostatni atak wirusa/trojana Flashback nie poszedłby tak gładko na platformie Windows gdzie są bardziej wyedukowaniu ludzi i stosujący regularne patchowanie systemu.
Artykuł ten wręcz mówi o konieczności zaprzestania korzystania z Java. A jest jej blisko 3 mld instalacji na świecie.
środa, marca 28, 2012
Ciekawostki programistyczne
Niezwykle ciekawe linki do dokumentacji o CR:
- http://www.sdn.sap.com/irj/boc/sdklibrary
- http://scn.sap.com/community/crystal-reports/legacy-sdks
- http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/CrystalReports_dotNET_SDK/crsdk_net_doc/doc/crsdk_net_doc/html/crtsktutorialsrdloggingsecuresqlsubreportaddinglogon.htm
- http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/devsuite.htm
- http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/CrystalReports_dotNET_SDK/crsdk_net_doc/doc/crsdk_net_doc/html/crconsdkfundamentalswhichobjectmodel.htm
Niezwykle ciekawe zasoby z MS:
- http://channel9.msdn.com/Series/Kurs-aplikacji-web-od-podstaw
- http://channel9.msdn.com/Series/Darmowy-kurs-HTML5
- http://msdn.microsoft.com/pl-pl/library/podstawy-xna—wprowadzenie
Niezwykle ciekawe zasoby nt. Java: http://www.greenfoot.org/download/
Niezwykle ciekawe na temat JS:
- http://blog.caplin.com/2012/01/13/javascript-is-hard-part-1-you-cant-trust-arrays/
- http://addyosmani.com/resources/essentialjsdesignpatterns/book/#writingdesignpatterns
Niezwykle ciekawe zasoby na temat .NET:
poniedziałek, lutego 20, 2012
Ciekawe linki
Świetny kurs JS - http://jqfundamentals.com/book/index.html, a informacja pochodzi ze strony - http://citizen428.net/blog/2010/08/12/30-free-programming-ebooks/. Praca z PDF-ami. Zapełnienie formularza przygotowanego w PDF-ie poprzez program - http://www.codeproject.com/Articles/23105/Programmatically-Complete-PDF-Form-Fields-using-Vi. Uproszczone wprowadzenie do szyfrowania w .NET - http://www.codeproject.com/Articles/10154/NET-Encryption-Simplified.
Ciekawy artykuł na temat parsowania formatu PDF - http://www.codeproject.com/Articles/12445/Converting-PDF-to-Text-in-C. Autor przucił bibliotekę itext na rzecz PDFBox. (piękny link z muzyką - http://pdfbox.org/sugar-hill-gang-apache-jump-on-it/). Aktualny link do ściągnięcia – PDFBOX –> http://sourceforge.net/projects/pdfbox/files/latest/download?source=files. To wszystko działa dzięki IKVM.NET. Inny projekt to scalanie plików PDF - http://www.codeproject.com/Articles/28283/Simple-NET-PDF-Merger.
Podpis cyfrowy PDF – opis jak to zrobić - http://www.codeproject.com/Articles/14488/E-signing-PDF-documents-with-iTextSharp wraz z kodami źródłowymi oraz podobna biblioteka - http://www.codeproject.com/Articles/29274/Digital-Signatures.
Super cytat – “He usually works late hours with some heavy music and prefers to test and prove everything to his own satisfaction before committing himself and likes to finish what he starts without interruptions. ” z http://www.codeproject.com/Articles/6623/Porting-Java-Public-Key-Hash-to-C-NET na temat wymiany kluczy między Javą (Unix) a .NET-em.
Wymienialność kryptograficzna między Javą a .NET-em:
- http://www.codeproject.com/Articles/25487/Cryptographic-Interoperability-Keys
- http://www.codeproject.com/Articles/25590/Cryptographic-Interoperability-Digital-Signatures
Informacja o dodatkowej funkcjonalności w C# przy przejściu z wersji 2.0 do 4.0 - http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0
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
wtorek, stycznia 17, 2012
Zasoby Telerika do nauki technologii MS
Firma Telerik działa aktywnie w Bułgarii, popularyzatorem jest Svetlin Nakov. Oto co proponują (materiały + video):
- Aplikacje mobilne, podstawy HTML - http://academy.telerik.com/student-courses/mobile-development-course/resources
- Programowanie w C# - http://academy.telerik.com/academy-courses/csharp-programming-fundamentals
- Platforma .NET - http://academy.telerik.com/student-courses/web-applications-development-asp-net-course/resources
Pan Nakov wspaniałomyślnie udostępnia swe książki - http://www.nakov.com/books/ nawet jest programowanie aplikacji internetowych w Javie.
piątek, października 07, 2011
Co z tą Javą
Java po przejęciu przez Oracle rozwija się nadal tak wolno jak za czasów Suna ale dzieje się dużo ciekawych rzeczy. Ostatnio o wielu nowościach można się dowiedzieć z materiałów konferencji Java. Pokazano technologię JavaFX na urządzeniach mobilnych (będzie ona otwarta) oraz projekt Avatar – dynamicznego klienta w przeglądarce urądzeń mobilnych wykorzystującego HTML5 oraz Javę EE 7 w chmurze w architekturze klient-serwer. Projekt Nashron ma zbliżyć JavaScript do maszyny wirtualnej VM. Jednym słowem CHMURY i wykorzystanie Java 7. Wg. Computerworld. Wrażenie z implementacji przetwarzania w chmurach w środowisku Java: defragmentacja – wiele ofert (SPring, Red Hat i inni), rozliczanie – czasami za parę kliknięć można zapłacić bardzo drogo, integracja GWT z chmurą na przykładzie Google App Engine.
piątek, września 30, 2011
Czy wtyczka do Javy jest taka ważna?
Mozilla proponuje zablokowanie uruchamiania apletów w javie poprzez wyłączenie wtyczki java-plugin w swej przeglądarce Firefox (wersja 7 ma ją domyślnie wyłączoną, w starszych wersjach trzeba ja ręcznie wyłączyć). Po co ona była. Wtyczka ta jest analogiem technologii Active X firmy Microsoft zaimplementowanej w IE i pozwala na ściągnięcie z zaufanej witryny na komputer klient poprzez przeglądarkę internetową kodu wykonywalnego, który się uruchamia w środowisku lokalnym stacji roboczej klienta z prawami tego użytkownika. Zabezpieczeniem miało być podpisanie kodu zaufanym certyfikatem oraz przestrzeganie zasady pochodzenia kodu z tej samej domeny/witryny (same origin policy). W przypadku ataków hackerów jest możliwe obejście tych zabezpieczeń (najczęściej socjologicznymi trikami). Wtyczka do Javy od dawna udostępnia atakującym wiele okazji do wykorzystania tej metody do wstrzykiwania oprogramowania złośliwego do komputera użytkownika. Wyłączenie je powoduje utratę funkcjonalności wielu witryn.
Jaka z tego nauka? Zrezygnować z uruchamiania kodu ściąganego z internetu.
czwartek, września 29, 2011
Dalszy przebieg wydarzeń z SSL-em
Na stronach the register pojawiła się wzmianka, że Firefox planuje blokowanie pluginów w Javie (popularnych appletów). Stało się to po tym jak badacze Thai Duong i Juliano Rizzo pokazali jak przy pomocy tej techniki obeszli wymóg SOP (same origin policy) – elementu koniecznego w procesie przeprowadzeniu ataku na SSL. Dlatego planuje się zablokowanie tego frameworku w Firefox tym bardziej, że FF i Chrome nie wspierają TSL 1.1 i wyżej (chyba tylko Opera i IE mają wbudowaną obsługę tego nowego protokołu, ale to nie zawsze pomaga, gdyż w momencie negocjacji połączenia klient - serwer, ten ostatni może wymusić obniżenie bezpieczeństwa poprzez zejście z sugerowanego przez klienta protokołu TSL 1.1 na TLS 1.0).
Konsekwencje blokady są straszne – java plugin to taka wersja ActiveX, która umożliwia “przemycanie” do komputera rozmaitych kodów wykonywalnych pochodzących z zewnątrz (np. z internetu), dzieje się to z obejściem wszelkich zabezpieczeń – sprawdza się tylko czy kod apletu jest podpisany. Z tego mechanizmu korzysta wielu dostawców oprogramowania np. CISCO “wstrzykuje” na komputer klienta swego AnyConnecta, Facebook umożliwia usługę chat-u itd. Zablokowanie tego może pogorszyć tzw. user expirience ale niestety implementacja SSL w javie stanęła ma 1.0 - http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html. Obecnie w blogu Mozilla Security piszę się aby jako obejście wprost zablokować wtyczkę do Javy w zarządcy wtyczek FF. Nawiasem mówiąc Chrome blokuje uruchamianie wtyczek w Javie. Dalej na stronach Chrome “Chrome and the BEAST” pisze się, że serwery Google od dawna stosują RC4.
Inna strona o tym - http://www.h-online.com/open/news/item/Mozilla-considers-disabling-Java-in-Firefox-1351590.html
wtorek, września 06, 2011
Kryptografia wymienialna
Prawdziwe wezwanie dla aplikacji posługujących się metodami kryptograficznymi następuje w przypadku gdy zachodzi potrzeba wymienialności danych między różnymi platformami aplikacyjnymi. Jasne są zasady:
- Należy przyjąć najmniejszy wspólny podzielnik dla wszystkich platform (bibliotekę zaimplementowaną we wszystkich środowiskach), może to być np. openssl, BC lub Jascrypt (tylko dla Java, nie ma odpowiednika w .NET).
- Niektóre biblioteki (BC) można wykorzystać na dwa sposoby, jako rozszerzenie możliwości danej platformy (jak to mam miejsce w przypadku Java JCE) lub potraktować niezależnie jako źródło algorytmów kryptograficznych np. takich, których jeszcze nie ma w implementacji danej platformy np. Blowfish lub bardziej egzotycznych.
Najgorzej się tutaj mają języki skryptowe jak Python lub PHP, tutaj nie ma żadnego standardu biblioteki kryptograficznej i posługuje się zewnętrznymi implementacjami kryptografii. PHP ma dwie biblioteki mcrypt (dobrze udokumentowana z wieloma przykładami) i openssl (źle udokumentowana).
Świetny artykuł na temat uzupełniania danych do pełnego bloku - http://www.di-mgt.com.au/cryptopad.html (po to to i jak działa). Tak w ogóle na serwisie www.di-mgt.com.au jest wiele innych ciekawych artykułów:
- Praca z alfabetem narodowym – należy pamiętać że kryptografia działa na bajtach a nie znakach oraz MS przyjął kodowanie UTF-8 (dokładnie mówiąc UTF-16LE, zresztą jedynie słuszna decyzja). Konsekwencją tego jest wymóg przekształcenia danych typu String do tablicy bitów (Array of Bytes). Przy okazji wyjaśniło się dlaczego w przypadku podpisu cyfrowego przy pomocy klucza publicznego (digital signature with public key) stosuje się nazwy dwuczłonowe np. SHAwithRSA – jest to bowiem proces dwuetapowy, najpierw jest liczony hash za pomocą algorytmu symetrycznego a potem szyfrowanie kluczem publicznym korzystając.
- UTF-8 ma wiele wariantów np. UTF-16LE (little endian), UTF-16BE (big endian), jaki to kod w pliku wyznacza jego pierwszy bajt tzw. BOM (byte order mark): UTF-8 ma ‘EFBBBF’, UTF16LE – ‘FFFE’.
- Należy pamiętać, że wynikowy kod nie przechowywać w polach znakowych ale w binarnych polach blobowych bądź opakować je bezpiecznie przy pomocy base64 (radix64 w PGP) i zapamiętać w polu znakowym (kosztem nieznacznego wydłużenia danych).
- Podstawowe pojęcie o kluczach w kryptografii
- Bardzo dogłębnie wyjaśnienie kodowania UTF-8. Bazuje ono na UCS – uniwersalnej stronie kodowej. W UTF-8 każdy znak ma zmienną długość, o tym decyduje najstarszy bit w pierwszym bajcie (gdy ma ‘0xxxxxxx’ to oznacza, że jest to “zwykły” znak ASCII, a gdy ‘1’ to oznacza wielobajtowy znak i tak ‘11xxxxxx’ oznacza że znak zajmuje 2 bajty a ‘111xxxxx’ że trzy bajty). ten pierwszy baj zwany jest też jako bajt wiodący (lead-byte). Reszta bajtów to bajty ogonowe (trail) i mają zawsze sygnaturę ‘10xxxxxx’ .
- Skrośna platforma kryptograficzna – polega na wykorzystaniu symetrycznego kodowanie blokowego (symmetric block cipher) i korzysta się z jednego z zalecanych algorytmów DES, Blowfish lub EAS. One z kolei mają tryby pracy (ECB, CBC,…). Jedynie ECB nie wymaga wektora inicjującego (szyfruje jedynie w obrębie pojedynczego bloku)
Linki - http://www.di-mgt.com.au/crypto.html#links
Cryptography FAQ
Ten parts of the sci.crypt FAQ. Read these before you ask any questions.
Bruce Schneier's page
By the author of Applied Crytography: Protocols, Algorithms and Source Code in C, John Wiley, 1996, and the Blowfish Encryption Algorithm. Lots of info, papers, newsletters, a very comprehensive links page, and variants of the Blowfish source code.
Peter Gutmann's page
Up-to-date information on cryptography and PKI matters from a leading expert in the field with a good sense of humour. Check out his DumpASN1 C program to read BER-encoded ASN.1 files, his style guide to writing X.509 certificates, and his rant on the M*soft inspired PFX/PKCS-12 standard.
Neal R. Wagner
The Laws of Cryptography: a series of well-explained and informative pages on cryptography and coding and information theory by Neal Wagner, a professor at University of Texas at San Antonio. Includes a lot of Java code.
Snake Oil Warning Signs
Avoiding bogus encryption products: Snake Oil FAQ. "Encryption Software to Avoid" by Matt Curtin.
The Six Dumbest Ideas in Computer Security
Marcus Ranum's introduction to the six dumbest ideas in computer security.
Ross Anderson
An excellent and well-written site on cryptography issues by the Reader in Security Engineering at the University Of Cambridge. Check out his book Security Engineering: A Guide to Building Dependable Distributed Systems. The entire first edition (2001) and some chapters from the second edition (2008) are now available on his site. One of the interesting facts from the second edition is that the most commonly-used password has changed in recent years from password to password1.
Digital Timestamping Service
Matthew Richardson's PGP Digital Timestamping Service will timestamp an email sent to it so you can prove your document existed at a given time. Includes a proof of posting service. Operates in clear, header, text, pgp and binary modes. Dates are old, but it still works.
RSA Lab's Public Key Cryptography Standards
RSA Labs specifications on public key cryptography (the PKCS standards) and other useful stuff.
SUNET crypto archive
A downloadable index of cryptography tools on the SUNET archive, especially for privacy of electronic mail.
poniedziałek, sierpnia 29, 2011
Ciekawostki
- Gartner uważa, że ekspansji konsumenckiej wersji Windows OS może zagrozić jedynie Mac OS (a nie Chrome czy Linuks)- http://webhosting.pl/Gartner.wierzy.w.Windows.zagrozic.mu.moze.tylko.Mac.OS.X.inne.OS_y.bez.znaczenia
- Historia Linuksa w pigułce - http://webhosting.pl/20.lat.Linuksa.od.prostej.zabawki.do.chmur.i.wielkiego.biznesu
- Najcieńszy notebook -
- Inspirujące produkty Apple za sprawą Jobs’a - Steve Jobs’ resignation as Apple CEO inspired this retrospective of his most significant and innovative contributions - http://tek.io/pYJeeG
- Samsung nie chce kupić oddziału HP zajmującego się PC – za duży orzech do zgryzienia (HP produkuje ich 40 mln rocznie a Samsung tylko 10)
- Nagranie spotkania i rozmowy S. Jobs i Gates - http://seattletimes.nwsource.com/html/microsoftpri0/2016010444_microsoft_and_apple_a_roundup.html?syndication=rss
- W filmie “Odyseja Kosmiczna: 2001” pokazano pierwszy iPad -
- Przykłady w Javie na InformIT – obsługa protokołów FTP/ Telnet.
- O appletach też można tam coś znaleźć.
- InformIT też ma indeks pomocnych materiałów o .NET.
- HTML 5 pomaga tworzyć aplikacje na komórkę (wraz z jQ) - http://www.engineyard.com/blog/2011/mobile-development-with-html5/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+engineyard+%28Engine+Yard%29
- Ważne o chumrach - http://www.theregister.co.uk/2011/08/24/vmware_shrinks_cloud/
- Ciekawe wizualizacje - http://www.webdesignerdepot.com/2009/06/50-great-examples-of-data-visualization/
- Codzienna grafika informacyjna - http://dailyinfographic.com/
- Zastanów się nad tym
- I tu http://www.facebook.com/pages/evolucjacom/107042972663065?sk=wall
- Ciekawe:
- JS -
piątek, czerwca 10, 2011
Deweloperka na piątek 10 czerwca
Starocie:
- Tutoriale - http://phpacademy.org/videos
- http://www.phpclasses.org
- Nowy, lepszy framework dla java - http://www.dzone.com/links/r/spark_a_sinatra_inspired_micro_web_framework_for.html lub ułatwienia w tworzeniu REST - http://www.dzone.com/links/r/restful_web_services_made_easy_2.html
- Narzędzia open-source do testów webowych aplikacji - http://www.dzone.com/links/r/14_best_open_source_web_testing_tool.html
- MSDN angielski - http://blogs.msdn.com/b/ukmsdn/archive/2011/04/06/april-msdn-magazine-out-now.aspx
- Video na temat WinForm - http://windowsclient.net/learn/videos.aspx
- http://www.switchonthecode.com/tutorials/csharp-tutorial-triple-des-encryption
Nowosci:
- “The future of WCF is RestFull” – przegląd historii i przyszłości WCF na InfoQ. Społeczność codeplex stworzyła grupę na temat WCF - http://wcf.codeplex.com/, warto tam zaglądać, jest tam WCF support for jQuery. Jest też dedykowany blog na MSDN o WCF. Lekcje - http://blogs.msdn.com/b/endpoint/archive/2010/01/07/getting-started-with-wcf-webhttp-services-in-net-4.aspx z http://blogs.msdn.com/b/endpoint/archive/2010/01/06/introducing-wcf-webhttp-services-in-net-4.aspx i video http://channel9.msdn.com/events/PDC/PDC10/FT04
- Jak zwykle paper.li od “świętego” - http://paper.li/amazedsaint/dotnet i tam - http://www.alvinashcraft.com/2011/06/09/dew-drop-june-9-2011/. O HTML 5.
- Samouczki z LINQ - http://jesseliberty.com/2011/06/08/linq-the-overloaded-contains-operator/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+JesseLiberty-SilverlightGeek+%28Jesse+Liberty+-+Silverlight+Geek%29
- Wizualna nauka podstawowych algorytmów programowania w JS - http://algorithms.openmymind.net/search/linear
- Inne o WCF - http://codebetter.com/howarddierking/2011/05/09/getting-fiddler-and-the-net-framework-to-play-better-together-2/
- Książka do REST - http://codebetter.com/glennblock/2011/06/06/rest-in-practice-the-book-restbucks-the-sample/
- Fajny przykład kolekcji obiektów - http://queue.acm.org/detail.cfm?id=1961297
- Co to jest YOGA i jej odmiany - http://lifehacker.com/5803333/how-to-find-the-right-style-of-yoga-for-you
- Soluto – pomoc na wszystko - http://www.betanews.com/article/When-crashes-occur-Soluto-can-tell-you-why/1306428342
- Jaką bazę NoSQL wybrać - http://blog.monitis.com/index.php/2011/05/22/picking-the-right-nosql-database-tool/
- Edytory do HTML 5 - http://www.htmlgoodies.com/beyond/webmaster/toolbox/five-essential-html5-editors.html oraz z W3C - http://www.w3.org/wiki/HTML/Training
- Gołe ale super wydajne OS - http://www.returninfinity.com/baremetalnode.html
- Aplikacja na Android-a - http://www.codeproject.com/KB/android/cmdconsole.aspx?utm_source=twitterfeed&utm_medium=twitter
- Portal o JS na poważnie - http://devmeetings.pl/
- Kolizja – wykrywanie w grach JS - http://devmeetings.pl/trainings/detekcja-kolizji-w-grach-javascriptowych
- SSJS - http://devmeetings.pl/trainings/javascript-na-serwerze-ringojs-v8cgi-i-nodejs
- Zaawansowany JS - http://ferrante.pl/frontend/javascript/darmowe-szkolenie-javascript/ – Ferrante! Materiał - http://www.slideshare.net/ferrantes/just-advanced-javascript z http://varjs.com/ na podstawie - http://blog.koszulinski.pl/kategoria/javascript/ (lekcje o JS 1 i 2, ma też bloga - http://code42.pl/ + ciekawe o delegatach =>http://javascriptweblog.wordpress.com/2010/12/22/delegation-vs-inheritance-in-javascript/, newsy o JS - http://jsnews.pl/ inny polski blog http://www.blog.project13.pl/ )
JQ: - http://datatables.net/release-datatables/extras/FixedHeader/two_tables.html, http://weblogs.asp.net/dwahlin/archive/2010/11/20/reducing-code-by-using-jquery-templates.aspx i http://knockoutjs.com/documentation/introduction.html
Bezpieczeństwo - https://www.owasp.org/index.php/Category:Principle
MVC w Javie - http://www.theserverside.com/news/1364562/Java-GUI-Development-Reintroducing-MVC
czwartek, maja 26, 2011
Różne
Różnorodne rozszerzenia dla Opera (tutaj są jej oficjalne rozszerzenia - http://www.opera.com/addons/extensions/):
- Przeglądarka specyficznych plików (bezpieczna bo otwiera je na serwerze) - https://addons.opera.com/addons/extensions/details/gpdf/4.0.1/
- Wtyczka do oglądania vod
Potrzeba połączenia między .NET a J2EE powoduje dalszy rozwój narzędzi typu JNBridge (szkoda tylko, że są płatne)
Jak oni się zmienili! Wielcy informatycy po latach…
Wypróbuj sobie interpreter Pythona - http://www.trypython.org/ ze strony voidspace (można również testować Pythona w przeglądarce Chrome poprzez wtyczkę Open Python Shell), są też tam artykuły na temat tego języka. Ale jest tam jeszcze lepsze IDE, wzbogacone o Silverlight – wraz z przykładami w kategoriach tematycznych. Również warto zwrócić uwagę na kapitalne przykłady z Win Form - http://www.ironpython.info/index.php/Contents#Windows_Forms (mnóstwo ciekawych przykładów). Gratka dla osób uczących się Winfrom – krótkie kursy video z MS. Do nauki ironPythona służą dwie pozycje:
- http://www.ironpythoninaction.com/
- http://www.amazon.com/gp/product/1430219629?ie=UTF8&tag=voidspace-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1430219629
Na PlanetPDF – zasoby darmowe np. narzędzie do przetwarzania XML-XSL w PDF i inne formaty - http://aurigadoc.sourceforge.net/
Super sprawa, podobnie jak do Pythona istnieje wtyczka do interakcji w Javie (interpreter i nie tylko - http://www.jgrasp.org/csd.html). Produkt nazywa się jGrasp i jest bezpłatny i jest sponsorowany przez NSF (National Science Foundation)
Bardzo podobna sprawa – interpreter Rhino może wywołać klasy z Java - http://www.mozilla.org/rhino/ScriptingJava.html, testowanie JS można przeprowadzić w darmowej wtyczce do Chrome – Jsshell
Rywalem dla node.js jest stary, dobry projekt rhino – tj. server-based javascript platform oraz ringoJS
Zrób szybko serwis REST w javie - http://www.dzone.com/links/r/restful_web_services_made_easy_2.html
Projekt związane z testowaniem aplikacji webowych - http://www.dzone.com/links/r/14_best_open_source_web_testing_tool.html
W świecie MS i .NET jedynym sposobem dotarcia do stron w przeglądarce jest “sterowanie” obiektem przeglądarkowym poprzez obsługę kontrolki WebBrowser, można także posiłkować się poleceniem ‘curl’ (lub jego implementacją w postaci gotowej .dll). Można także wykorzystać gotową bibliotekę url2lib w Pythonie lub jej owijkę w postaci narzędzia do testowania aplikacji webowych - http://wwwsearch.sourceforge.net/mechanize/ (ze strony na ten temat podanej powyżej). Nie mówiąc już o potężnym kombajnie jakim jest selenium
Jak obsługiwać UML - http://www.dzone.com/links/r/creating_uml_2.html – darmowe narzędzia (y.uml oraz http://www.dzone.com/links/r/creating_uml_2.html)
Do tworzenia PDF dobry jest http://www.pdfsharp.net/wiki/PDFsharpSamples.ashx
Zakładkowy interfejs dla MS Office – kolejno otwierane dokumenty są w zakładkach
Bardzo ciekawa oferta bibliotek i pakietów w różnych językach programowania - http://www.dzone.com/links/r/14_best_open_source_web_testing_tool.html:
- http://www.dotnetopenauth.net/
- http://www.ikvm.net/
- http://pdfjet.com/os/edition.html
- http://ankhsvn.open.collab.net/
OWASP – ESAPI dla wielu języków
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




