Wg. CIO - Poważny portal jakim jest FaceBook ogłosił, że w celu zoptymalizowania wydajności swych aplikacji (napisanych w PHP) będzie używał zamiast serwera Apache inny tzw. HipHop for PHP. Jest to serwer tłumaczący PHP w zoptymalizowany kod C++ z wbudowanym w siebie serwerem www. Zbudowany został własnymi siłami przez Facebook. Ilość kodu PHP jest ogromna ok. 4 mln wierszy. Proces został zainicjowany, nie wiadomo nic o harmonogramie przejście z Apache na HipHop. Dotychczas Facebook używał tradycyjnego modelu LAMP ale z uwagi na ilość użytkowników zaczyna “robić” bokami i odczuwa potrzebę poprawienia wydajności i skalowalności. Próbuje także innych środków np. przechodzi z Apache 1.3 na 2.2, stosuje nowy serwer www o nazwie Tornado (napisany w języku Python). Innymi technologiami typu open_source używanymi przez F jest memcache oraz baza Hadoop. Tutaj mamy przegląd wszystkich technologii otwartych stosowanych przez ten portal - http://developers.facebook.com/opensource.php. Obciążenie tego serwisu jest ogromne – średnio użytkownik siedzi w nim dziennie ok. 30 minut (więcej niż w aplikacjach Google) i ma ok. 150 znajomych.
wtorek, marca 02, 2010
Wojna przeglądarek
Badanie rynku przegladarek internetowych wykazały spadek udziału FireFox’a -http://www.netmarketshare.com/browser-market-share.aspx?qprid=1
czwartek, lutego 18, 2010
Lista 25 największych błędów programistycznych za rok 2010
Uaktualniono te listę znaną z 2009 - http://cwe.mitre.org/top25/ o tyle ciekawa i pożyteczna, ponieważ zawiera również przykłady złego stosowania z omówieniem.
piątek, lutego 12, 2010
Zasoby CODE PROJECT
- WCF 1 - http://www.codeproject.com/Articles/55690/WCF-Loose-coupling-of-WCF-Service-and-Data-Contrac.aspx
- Wyrażenia lambda - http://www.codeproject.com/Articles/56913/Lambda-Expression-in-Csharp-3-0.aspx
- Wykorzystanie komponentu WebBrowser - http://www.codeproject.com/KB/aspnet/WebBrowser.aspx
- RestFull - http://www.codeproject.com/KB/WCF/EasyWCF.aspx
- Serwer opary o gniazdka - http://www.codeproject.com/KB/webservices/c_sharp_web_socket_server.aspx
- Pięć sposobów na pobranie danych poprzez JSON w jQUERY - http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/
Bazy nie SQL-owe
- Świetny artykuł na temat baz nie będących zgodnych z modelem relacyjnym - http://blogs.computerworld.com/15556/the_end_of_sql_and_relational_databases_part_2_of_3:
- BerkeleyDB
- BigTable (Google)
- Wstęp do baz nierelacyjnych (jest wiele odmian) - http://blogs.computerworld.com/15510/the_end_of_sql_and_relational_databases_part_1_of_3. Pierwsze oznaki niezadowolenia z baz relacyjnych – Ruby on rails i inne frameworki (Ruby on Rails, Active Record i Hibernate)
- Ciekawy podcast - http://www.drdobbs.com/testindex.jhtml?bcpid=1753162067&bclid=1747276019&bctid=54983834001
środa, lutego 10, 2010
Ciekawostki na dzisiaj
- Portal dla badaczy Pisma - http://bibletools.org/index.cfm/fuseaction/Bible.show/sVerseID/16071/eVerseID/16071/version/ASV
- Szukałem Tmma Lehrer’a i znalazłem oczywiście na youtube!
- Bardzo ciekawy portal - http://boingboing.net/
- Edytor kodu JS online – Bespin (projekt Mozilla) - https://bespin.mozilla.com/
- Testowanie PHP – www.xdebug.org
- Serwis o metodologii programowania -http://www.methodsandtools.com/mt/download.php?winter08
- Deweloperka:
- Oracle i NetBEans (tam tez są liki innych baz)
- Świetna witryna o JS (hasAttribute(“nazwa_atrybutu”)) lub clearAttributes() – usuwa wszystkie atrybuty z wyjątkiem id i name
- Ota ta witryna w pełnej krasie - http://javascript.gakaa.com/
- O Php z Zenda - http://devzone.zend.com/node/view/id/663
piątek, lutego 05, 2010
Ciekawe
- Materiały o MS Office 2010 - http://office.microsoft.com/en-us/downloads/FX101321101033.aspx?pid=CL100570421033
- VS 2010 Beta – materiał do studiowania :
- F# w kanale 9
- SQL 2008 - http://www.microsoft.com/express/Resources/:
- Co daje UBUNTU - http://www.eweek.com/c/a/Linux-and-Open-Source/Linux-based-OS-Ubuntu-9-10/?kc=EWWHNEMNL01272010STR2
- JS – nie przeszkadzać - http://www.codecapers.com/post/Making-Your-JavaScript-Unobtrusive.aspx
- Wydłuż sobie dzień - http://brettkelly.org/2010/01/20/how-to-make-today-a-25-hour-day/
wtorek, lutego 02, 2010
Nowinki
- Czołowe CRM w technologii open source (poza liderem Sugar CRM):
- Lista najbardziej rewolucyjnych produktów IT:
- Spring Framework: Disrupted Java Enterprise Edition (Java EE and J2EE) by offering a lighter, easier-to-use framework.
- Ruby Rails: Disrupted Java and .NET, offering an easier way to develop Web applications.
- Eclipse: Disrupted many if not all Integrated Development Environments with its open source offerings.
- Amazon Web Services: Disrupted managed hosting providers by providing simple and uncomplicated access to capabilities on a piecemeal basis.
- JBoss Application Server: Disrupted the commercial app server business with its open-source offerings.
- MySQL and other open source databases: Disrupted the commercial database market.
- Apache Ant: Disrupted Make and proprietary build systems.
- JUnit/xUnit: Disrupted developers’ mindsets, encouraged testing of code.
poniedziałek, lutego 01, 2010
Książki o filozofii
W kolekcji ukażą się:
- Arystoteles – Zachęta do filozofii, Fizyka – od 28 stycznia;
- Arystoteles – Etyka wielka, Poetyka – od 4 lutego;
- Platon – Uczta, Polityk, Sofista, Eutyfron – od 11 lutego;
- Platon – Państwo – od 18 lutego;
- Cyceron – Rozmowy tuskulańskie i inne pisma – od 25 lutego;
- Seneka (Młodszy) – Listy moralne do Lucyliusza – od 4 marca;
- Św Augustyn – Solilokwia i inne dialogi o duszy – 11 marca;
- Awicenna – Księga wiedzy – od 18 marca;
- Ockham – Suma logiczna – od 25 marca;
- Kartezjusz – Medytacje o pierwszej filozofii. Tom 1 – od 1 kwietnia;
- Kartezjusz – Medytacje o pierwszej filozofii. Tom 2 – od 8 kwietnia;
- Spinoza – Etyka – od 15 kwietnia;
- Wolter – Elementy filozofii Newtona – od 22 kwietnia;
- Rousseau – Umowa społeczna, List o widowiskach – od 29 kwietnia;
- Kant – Krytyka czystego rozumu. Tom 1 – od 6 maja;
- Kant – Krytyka czystego rozumu. Tom 2 – od 13 maja;
- Hegel – Fenomenologia ducha. Tom 1 – od 20 maja;
- Hegel – Fenomenologia ducha. Tom 2 – od 27 maja;
- Kierkegaard – Albo-albo. Tom 1 – od 2 czerwca;
- Kierkegaard – Albo-albo. Tom 2 – od 10 czerwca;
- Popper – Społeczeństwo otwarte. Tom 1 – od 17 czerwca;
- Popper – Społeczeństwo otwarte. Tom 2 – od 24 czerwca;
- Heidegger – Bycie i czas – od 1 lipca;
- Tatarkiewicz – O szczęściu – od 8 lipca;
- Kołakowski – Kultura i fetysze – od 15 lipca.
piątek, stycznia 22, 2010
Linki i inne ciekawostki
- Nowy standard HTML w wersji 5, ciągle jeszcze w stanie modyfikacji. Najbliżej tego standardu jest chyba tylko Firefox 3.6
- John Resig mówi o JS po stronie serwera. Są dwie takie implementacje:
- APTANA – Jaxter
- EtherPad (przy pomocy JetApp) teraz wykupiony przez Google
- Blog J. Resig’a warto przeglądać - http://ejohn.org/projects/
- Skrypt w JS, który natywnie odtwarza pliki swf - http://github.com/tobeytailor/gordon/blob/master/demos/tiger.html
- Aptana na VIMEO
- Książka o testowaniu - http://helion.pl/ksiazki/tebeap.htm - ISBN: 978-83-246-2208-5
- Kanał o BIRT - http://www.birt-exchange.org/devshare/using-birt-with-maximo/1127-birt-maximo/#
- .NET dla VFP-wców - http://foxcentral.net/microsoft/NETforVFPDevelopers.htm
- COD-MAGAZINE - http://www.code-magazine.com/ContentByCategory.aspx?cat=bf66ee5e-b51a-4078-bf9d-a664b6a3ea59
czwartek, stycznia 21, 2010
Linki zamykajace AVANT B
- Wykaz klientów do wysyłania poczty z VFP - http://fox.wikis.com/wc.dll?Wiki~AutomatedEmail~VFP
- Blog Craig Berntson’a na temat VFP/WCF - http://www.craigberntson.com/blog/archives/2008_07_01_archive.asp
- Coś na temat WCF - http://aspalliance.com/articles/LearnWCF.aspx
- Manipulacje na XML w C# - http://www.developer.com/net/csharp/article.php/3489611/Manipulate-XML-File-Data-Using-C.htm
- Stan narzędzi UML - http://www.developer.com/article.php/1593811
- Nauka ALICE - http://www.developer.com/article.php/3673761#Figure_11
- Super perełka tutoriale na temat programowania Richarda Baldwina- http://www.dickbaldwin.com/toc.htm
- O UML - http://www.developer.com/design/article.php/10925_2109801_4/Creating-Use-Case-Diagrams.htm
- ZEN chwili - http://www.zenmoments.org/category/awareness/
- Świetna pozycja na temat korporacyjnych wzorców integracyjnych - http://www.enterpriseintegrationpatterns.com/toc.html
- Świetna WIKI o VFP -http://fox.wikis.com/wc.dll?Wiki~WhereToFindDownloadableVFPSamples zawiera listę blogów, wzorców i przykladów
- Ciekawy blog z przykłądami o VFP - http://www.tomorrowssolutionsllc.com/session_materials.htm
- Przejście przez XML w C# (z http://dotnetslackers.com/codesnippets/csharp/LoopingthroughXMLnodesusingXMLLinq.aspx):
- static void LoopThroughXMLNodes()
{
string returnValue = String.Empty;
XDocument xDoc = XDocument.Parse(
@"<Employees>
<Employee>
<ID>0001</ID>
<Surname>Harry</Surname>
<Forename>L</Forename>
</Employee>
<Employee>
<ID>0002</ID>
<Surname>Harry</Surname>
<Forename>L</Forename>
</Employee>
</Employees>");
if (xDoc != null)
{
foreach (XNode xNode in xDoc.Descendants())
{
foreach (XElement xElement in xNode.Ancestors().Ancestors())
{
Console.WriteLine(xNode.ToString());
}
}
Console.ReadLine();
}
}
środa, stycznia 13, 2010
Ciekawe tematy
- http://ideone.com/
- http://www.w3schools.com/PHP/php_switch.asp
- Aspalliance – źródło wiedzy na temat technologii MS
- Podstawy Pythona - http://www.informit.com/podcasts/episode.aspx?e=2803fba9-75d9-4ebd-aea2-1f1cc3220e26&ns=16345
- 35 najwazniejszych tutorialu o AJAX - http://designtutorials4u.com/35-must-know-ajax-tutorials-techniques-and-resources/
- 25 najlepszych aplikacji w mootools - http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/20-excellent-mootools-techniques-for-rich-user-interface/
- Serializacja w C# - http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=209
- RSS do InformIT - http://www.informit.com/guides/guide_rss.aspx?g=dotnet&ns=16354
- Coś na temat REST - http://curriersblog.spaces.live.com/blog/cns!1FE2EFF5F31CEDCA!495.entry
- Design pattern in C# - http://www.informit.com/articles/article.aspx?p=1398614&seqNum=3
- Ładowanie zawartości on-line - http://www.wait-till-i.com/2010/01/10/loading-external-content-with-ajax-using-jquery-and-yql/
środa, grudnia 16, 2009
Warto wiedzieć
- Narzędzie nadające się do rejestrowania pokazów komputerowych działań – CamStudio portable. Inny adres to - http://camstudio.org/.
- Inny serwis - http://www.notebooks.com/2009/12/13/how-to-increase-external-hard-drive-performance-in-windows-vista-and-windows-7/ – o notebookach
piątek, grudnia 11, 2009
Nowosci
Wg . ComputerWorld: JSON – rywal XML został oficjalnie częścią standardu V edycji języka ECMASCRIPT (prze dużej zasłudze jego wynalazcy Crockforda 2001 założył organizację JSON.org). Dzięki temu ma być wspierany natywnie w językach bazujących na tym standardzie (JS, JScript). Od niedawna IE8 i FF wspierają go natywnie (są do tego wbudowane obiekty zamiast zewnętrznych bibliotek i funkcji eval()), wbudowany też jest parser JSONA-a. To wszystko stało się wbrew głosom niektórych krytyków, którzy ostrzegali przed możliwością ataków poprzez “dziury” implementacyjne protokołu JSON). Popularność JSON-a stała się częścią ruchu REST przeciw SOAP. Główne argumenty przeciw wyłożył John Resig w swym blogu - http://ejohn.org/blog/native-json-support-is-required/. To, że JavaScript jest tak popularny wynika z faktu stosowania go powszechnie w przeglądarkach internetowych jako języka do oprogramowania części klienckiej aplikacji webowych. Dlatego interesują sie nim Google i IBM:
- IBM udostępnił środowisko deweloperskie EGL (Enterprise Generation Language) CE – stosowany jako język modelowania aplikacji webowych dla PHP, Ruby on Rails, Groovy, JavaScript i HTML. Strona domowa – tu. Kawiarnia - http://www-949.ibm.com/software/rational/cafe/community/egl. Tutoriale - http://www-949.ibm.com/software/rational/cafe/docs/DOC-1021
- Google też coś przygotował – kompilator. Projekt jest tu- http://code.google.com/intl/pl/closure/. Najciekawsze jest to, że ten kompilator jest również i dla Java. Jest też biblioteka narzędziowa zawierająca skompilowane obiekty DOM.
- Firma Aptana też daje dobre środowisko RAD
Z innej beczki – sławny TAO programowania - http://www.canonical.org/~kragen/tao-of-programming.html
Materiały z PDC:
- IE 9- Standards and Interoperability
- IE 9- First look at the new JS Engine
- Data Programming and Modeling for the Microsoft .NET Developer
- Microsoft Silverlight 4 Overview
- Microsoft Perspectives on the Future of Programming
Blog Scotta G - http://devmavens.com/ScottGuthrie
MS CDN ma wsparcie dla SSL - http://weblogs.asp.net/scottgu/archive/2009/11/29/microsoft-ajax-cdn-now-with-ssl-support.aspx
Kotwica na temat WCF - https://connect.microsoft.com/wcf
czwartek, grudnia 10, 2009
Deweloperka
- Wydawnictwo Wrox publikuje wiele świetnych książek – dodatkowo udostępnia pobieranie ich kodu a nawet filmiki do nauki. oraz artykuły. Świetny jest również serwis p2p - http://p2p.wrox.com/ oraz blogi tematyczne – np. o refaktoringu - http://p2p.wrox.com/content/blogs/lee-dumond/refactoring-c-aspnet-%E2%80%93-abstract-factory-reflection
- Tam też jest książka o Joomli i o tym jak zrealizować w niej technologię AJAX – najpierw trzeba napisać skrypt w php, zdefiniować go jako komponent Joomli (czyli utworzyc plik opisu w xml-u np. com_productinfo.xml), przetestować czy działa:
http://localhost/index.php?option=com_productinfo&format=raw
- ‘raw’ oznacza, że Joomla wyświetli tylko wynik z php. Więcej jest w książce - http://p2p.wrox.com/content/cda/WileyCDA/WroxTitle/Professional-Joomla-.productCd-0470133945.html
- Autentykacja – bazowa jest zła ponieważ przesyłanie żetony autentykacjne są ciągle te same i nie wie kto wysyła te poświadczenia. Lekarstwem na to są HTTPS (jest drogi i obciąża serwer oraz łącze) oraz metoda digest (często stosowane ponieważ autentykacja zachodzi poprzez formularz). Teraz trochę teorii na ten temat:
- pozwala na przesłanie danych o autentykacji do serwera bez konieczności przesyłania konta/hasła, polega na obliczenie skrótu (wg. algorytmu np. MD5) z dodatkowym użyciem zmiennej ‘nonce’ w celu nadania losowości
- inne, mocniejsze metody:
- Public key authentication (usually implemented with HTTPS / SSL client certificates).
- Kerberos or SPNEGO authentication, primarily employed by Microsoft IIS running configured for "Integrated Windows Authentication".
- Secure Remote Password protocol (preferably within the HTTPS / TLS layer).
- MSBuild – automatyzacja - http://msbuildshellex.codeplex.com/wikipage?title=MSBuild%20Tutorial&referringTitle=Manual
- Tamże – nauka AJAX-a - http://p2p.wrox.com/content/articles/ajax-prototype?page=0,3
- Jak ułatwić sobie obsługę formularza poprzez AJAX - http://p2p.wrox.com/content/articles/xmlhttp-requests-ajax?page=0,3
- Stosowanie selektorów do wybierania elementów DOM i podłączanie do nich zdarzeń. Ułatwia pracę rusztowanie jQuery:
var tmpExample = {
ready : function() {
// Get all links...
$('ul#tmpFavorites li a').click(
function($e) {
$e.preventDefault();
window.open(this.href, 'FavoriteLink', '');
}
);
}
};
$(document).ready(tmpExample.ready);
- Autor świetnego blog-a oraz listy narzędzi programisty - http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx
- Teraz z innej beczki. Można skorzystać z bezpłatnych dysków internetowych (PC World) takich jak rapidshare czy chomikuj, ChomikEDU lub 5fantastic.pl.
- Pożyteczny trik w JS:
function updateUI(){
var doc = document; // raz pobierany jest element globalny i zapamiętana lokalnie
var imgs = doc.getElementsByTagName("img");
for(var i=0, len=imgs.length; i < len; i++){
imgs[i].title = doc.title + " image " + i;
}
var msg = doc.getElementById("msg");
msg.innerHTML = "Update complete.";
}
środa, grudnia 09, 2009
Ciekawostki do sprawdzenia
- Jak tworzyć formularz do wypełnienia w MS WORD - http://blogs.techrepublic.com.com/msoffice/?p=784&tag=nl.e056 na bazie autoText (Fill-in) (alt-F3).
- Badanie Ja.Net - http://www.janetdev.org/Part1HelloWorldExample/tabid/115/Default.aspx
- Google wystawia swoje API - http://code.google.com/intl/pl/apis/documents/overview.html
- Artykuły z VS magazine - http://visualstudiomagazine.com/Articles/2009/08/01/Working-Effectively-with-Exceptions.aspx?Page=3
- VFPEncryption – zastosowanie poszerzające możliwości CAPICOM
- Nauka Flex - http://articles.sitepoint.com/article/flex-data-visualization-part-1
- Do grafiki najlepszy jest http://www.fusioncharts.com/Buy.asp
- Hunlock i howtocreate - http://www.hunlock.com/blogs/Mastering_JSON_%28_JavaScript_Object_Notation_%29
- MS REST Starter Kit - http://www.linkedin.com/news?actionBar=&aIdx=0&articleID=73382736&aogid=73382736&gid=122749&gid=122749&srchType=nws&srchCat=WOTC oraz inne javascriptowe rzeczy - http://www.wisecodes.com/category/javascript/
- Kramek jak załadować na czysto okno GRID - http://weblogs.foxite.com/andykramek/archive/2005/03/19/174.aspx
- PHP – walidacje - http://www.devshed.com/c/a/AJAX/PHP-AJAX-Form-Validation/2/
- JS – formularz wysyłany AJAX-em - http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=383
- Java podpisywanie - http://www.mobilefish.com/developer/bouncycastle/bouncycastle.html
- Podstawy WCF - http://www.msdev.com/Directory/Description.aspx?eventId=89
Nauka MS
- Lekcje praktyczne - http://visualstudiomagazine.com/articles/list/c.aspx
- Lekcje dla użytkowników MS Office - http://office.microsoft.com/en-us/training/FX100565001033.aspx?ION_CL=5970
- Nauka LINQ - http://www.hookedonlinq.com/LINQtoObjects5MinuteOverview.ashx
- Nauka .NET - http://www.beansoftware.com/Tutorials-Articles-Guides/Default.aspx#WebDomains
- Korzystanie z LINQ - http://www.eggheadcafe.com/tutorials/aspnet/19a71927-439b-46d3-a8b4-7147933643f0/linq-to-xml-and-why-you-n.aspx
- Nauka tworzenia PDF w C# z wykorzystaniem biblioteki iText - http://itextsharp.sourceforge.net/tutorial/ch01.html
- Opis kontorlki ‘webbrowser’ w .NET - http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx
- Rozbiegówka do Visual Studio - http://www.microsoft.com/visualstudio/en-us/technicalresources/default.mspx
- SUBSONIC - Kolejny pożyteczny framework do LINQ - http://subsonicproject.com/
- Przewodnik po .NET z InformIT - http://www.informit.com/guides/guide.aspx?g=dotnet&ns=16179
- FAQ z Forms - http://www.syncfusion.com/faq/windowsforms/default.aspx – super lektura
- Edycja danych w tablicy - http://msdn.microsoft.com/en-us/vcsharp/dd239273.aspx
- Inne - http://msdn.microsoft.com/en-us/vbasic/bb735955.aspx
- How do I in C# - http://msdn.microsoft.com/pl-pl/library/ms186211%28en-us%29.aspx
- GridView - http://msdn.microsoft.com/en-us/magazine/cc163933.aspx
- MSDN – czasopismo - http://msdn.microsoft.com/en-us/magazine/cc163933.aspx
- Szkolenie w WCF - http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=11#WCFContracts z portalu
- Tworzenie diagramów UC w UML - http://www.developer.com/design/article.php/2109801/Creating-Use-Case-Diagrams.htm
- Podstawy C - http://www.java2s.com/Code/C/CatalogC.htm
- Podstawy C# - http://www.java2s.com/Code/CSharp/CatalogCSharp.htm
- Java w C# – Ja.Net - http://www.janetdev.org/Part1HelloWorldExample/tabid/115/Default.aspx
- Konkretne How do I - http://msdn.microsoft.com/pl-pl/library/bb820885%28en-us%29.aspx
Monitorowanie wydajności aplikacji webowych
Ten problem znany jest od dawna, jednym z rozwiązań jest wtyczka FireBug do FF i częściowo do IE. Ale ostatnio pokazała się aplikacja monitorująca ruch i obciążenie aplikacji internetowych w środowisku IE8. Jest to dynaTrace - http://ajax.dynatrace.com/confirmmail?userId=marekw%40coig.katowice.pl&code=b57c1ff2-b729-4764-b894-69dbb805f1db. Naprawdę potrafi dużo.
WCF
O tym, że WCF jest skomplikowane wiadomo od dawna, trochę światła na to rzuca MSDN - http://msdn.microsoft.com/en-us/magazine/ee532094.aspx?sdmr=wcf&sdmi=topics. I za to trzeba mu podziękować.
Kryptografia – BOTAN
Dobre procedury kryptograficzne zawsze są w cenie. Ostatnio pojawiła się darmowa biblioteka BOTAN w c++jest naprawdę dobra i przenaszalna na różne platformy. Adres – www.botan.randombit.net