poniedziałek, 7 listopada 2011

Softdevcon - praktyka z Androida


Miło nam poinformować, że konferencja Softdevcon, której jesteśmy patronem medialnym wzbogaciła swoją ofertę o dodatkowe warsztaty.

Wszyscy zainteresowani przygotowaniem z projektowania aplikacji na platformę Android powinni zainteresować się ofertą.

Szczegóły oferty:

Projektowanie aplikacji mobilnych na system Android
Data: 1 grudnia 2011r.
Cena: 900 zł + VAT

Opis: Celem projektu jest przekazanie rozległej wiedzy, potrzebnej do rozpoczęcia realizacji projektu aplikacji mobilnej na platformę Android. W trakcie spotkania uczestnik otrzymuje informacje z tematyki biznesowej i technicznej. Omówimy rynek trendów i prognoz. W kolejnych modułach zapoznajemy się ze sposobami sprzedaży, marketingu oraz narzędziami pomocnymi przy promocji oprogramowania. Ostatni etap to przedstawienie szczegółów projektowania aplikacji oraz przekazanie wiedzy technicznej niezbędnej do prawidłowego opracowania architektury takiej aplikacji.
Warsztaty są skierowane do wszystkich,którzy rozważają rozpoczęcie implementacji aplikacji na platformy mobilne i chcą efektywnie pozyskać niezbędną do tego wiedzę.

Prowadzący: Cezary Buczyłko.

Więcej na: http://clever-point.pl/szkolenia-i-warsztaty/warsztaty/projektowanie-aplikacji-mobilnych-na-platforme-android/332/


Dodatkowo zachęcamy do głosowania na naszego kolegę. Rafał jest jednym z kandydatów z sesją, która może zostać wybrana na konferencję Softdevcon. Jego temat to - Migrating Magic Unicorns aka Entity Framework Code First Migrations.

"W świecie Pythona (Django) czy Ruby (Rails) już od pewnego czasu dostępne były rozwiązania usprawniające zmianę schematu bazy danych w sposób uporządkowany i zorganizowany. Społeczność skupiona wokół tych technologii mogła zapomnieć już o ręcznym edytowaniu kodu SQL i ciągłym przypominaniu o uruchomieniu skryptu przed kolejnym wdrożeniem. Mechanizmy migracji bazy danych sprowadziły tę czynność do edytowania kodu źródłowego, a następnie uruchomienia komendy powodującej migrację schematu. Z tego wykładu słuchacz dowie się, jak do tego problemu podszedł zespół Microsoftu w najnowszym swoim produkcie z rodziny Entity Framework - Code First Migrations."

Zapraszamy na warsztaty i do głosowania na Rafała.

sobota, 17 września 2011

Joint-venture - dotnetoMedia

Dziś do Grupy devMedia dołączy portal dotnetomaniak.pl tworząc Grupę dotnetoMedia :). Z nazwą żartuję, ale dzięki połączeniu sił mamy nadzieję dostarczać jeszcze więcej dobrej treści i informacji dla programistów, sysadminów i zwykłych użytkowników komputerów. Już od jakiegoś czasu współpracujemy razem i postanowiliśmy ją uczynić oficjalną.

Co się zmieni po tym 50-50 joint-venture?  dotnetomaniak przejdzie lekki rebranding, który sprawi, że będziemy mieć wszystkie portale, w grupie devMedia, spójne. Na sidebarze na portalach grupy pojawi się ikonka dotnetomaniaka. Podobnie na dotnetomaniaku pojawi się sidebar za pomocą, którego będzie można przejść na strony grupy.

Sidebar z ikoną dotnetomaniak.pl na portalu devPytania
 
W przygotowaniu jest też kilka ciekawych projektów, które rozszerzą portfolio grupy i dostarczą jeszcze więcej narzędzi i treści dla IT. Zachęcam do śledzenia rozwoju grupy.

czwartek, 18 sierpnia 2011

Softdevcon - Patronat Medialny

Każdy kto zapoznał się z założeniami Grupy devMedia wie, że stawiamy głównie na stymulację rozwoju polskiej społeczności developerów. Cykl konferencji Softdevcon jest doskonałym sposobem na poszerzenie swojej wiedzy z programowania.


Dlatego też Grupa devMedia podjęła po raz pierwszy (aczkolwiek nie ostatni) patronat medialny nad tym właśnie wydarzeniem.

Kilka słów o samej konferencji.
Softdevcon to cykl sześciu merytorycznych konferencji organizowanych kolejno w:
- Warszawie – 30 listopada
- Wrocławiu – 31 stycznia
- Krakowie – 28 lutego
- Poznaniu  – 27 marca
- Gdańsku – 24 kwietnia
- Białymstoku – 30 maja

Warszawska część cyklu będzie w całości poświęcona nowoczesnemu programowaniu a jej uczestnicy będą mogli wziąć udział w sesjach typu NO Power Point oraz BYOL (Bring Your Own Laptop). Inne tematy przewodnie prezentowane w pozostałych częściach cyklu Softdevcon to:
- testowanie aplikacji
- programowanie mobilne
- języki programowania
- programowanie gier
- środowiska programistyczne
- bazy danych
- nowoczesne programowanie
- cloud development

poniedziałek, 15 sierpnia 2011

Platforma OSQA na Windows, czyli jak postawić IIS i Apache na jednym serwerze

Jak mogliście przeczytać w poprzednim wpisie, byliśmy ostatnio zmuszeni do migracji naszych serwisów Q&A na nową platformę. Wybór padł na OSQA - The Open Source Q&A System - platformę napisaną w Pythonie przy użyciu frameworka Django.

Po udanym imporcie danych z devPytań (które hostowane były na platformie StackExchange 1.0) i wdrożeniu na serwer VPS okazało się, że wydajność serwisu drastycznie spadła. Zaczęliśmy gorączkowo zastanawiać się, co jest tego przyczyną. VPS? Django? Baza danych PostgreSQL?

Postanowiliśmy spróbować wdrożyć serwis na dedykowany serwer Windowsowy, na którym mamy już skonfigurowaną instancję serwera Microsoft SQL Server. Mówiąc w skrócie - była to kilkudniowa droga przez mękę. Problemy z importem danych, podłączeniem odpowiedniego sterownika ODBC itp. Ostatecznie udało nam się tego dokonać i możemy poświadczyć, że platformy OSQA da się używać z bazą danych MS SQL Server, jednakże nikomu tego nie polecamy. Okazało się bowiem, że przyczyną problemów z wydajnością nie była wcale baza danych ani parametry serwera tylko cacheowanie Django oparte na systemie plików (sic!), ale to już temat na zupełnie innego posta.

Po przebrnięciu przez temat MS SQLa i stwierdzeniu, że nie działa on szybciej niż PostgreSQL, postanowiliśmy jednak dalej podrążyć temat i na próbę postawić antylamę na następującej konfiguracji: Windows + Apache + PostgreSQL. Pojawił się przy tym kolejny problem, którego rozwiązanie chcemy przedstawić w dalszej części tego wpisu. Uważamy bowiem, że może się ono kiedyś przydać również Wam.

Otóż problemem, na jaki natknęliśmy się było to, że nasz serwer Windowsowy dysponuje tylko jednym adresem IP. Zrodziło się więc pytanie, w jaki sposób skonfigurować Apache'a, aby odbierał połączenia na porcie 80 (który był już zajęty przez serwer IIS). Oczywiście jest to technicznie niemożliwe, aby dwie aplikacje nasłuchiwały na tym sam porcie (na tym samym adresie IP), musimy więc sprawić, aby jeden z serwerów WWW przekierowywał określone żądania do drugiego. Okazuje się, że w IIS 7 da się to osiągnąć w dosyć prosty sposób, za pomocą tzw. "farm serwerów".

W pierwszej kolejności musimy się upewnić, że mamy zainstalowane następujące komponenty IIS:

Jeśli ich nie mamy, możemy je zainstalować przy użyciu narzędzia Web Platform Installer.

Po pomyślnej instalacji w IIS Managerze powinien być dostępny nowy węzeł "Server Farms":

Węzeł Server Farms w IIS Managarze

Klikamy prawym przyciskiem myszy i wybieramy "Create Server Farm...":

Tworzenie nowej farmy serwerów

Następnie podajemy lokalny adres IP oraz numer portu, na którym nasłuchuje serwer Apache (pamiętajmy, aby kliknąć "Add", zanim przejdziemy do następnego kroku):

Określanie adresu IP oraz numeru portu, na którym nasłuchuje serwer Apache

Po kliknięciu przycisku "Finish", zostaniemy zapytani, czy chcemy utworzyć nową regułę przepisywania URLi - odpowiadamy twierdząco i przechodzimy do ustawień modułu "URL Rewrite" (poprzez główny węzeł naszego serwera):

Ustawienia modułu URL Rewrite

Klikamy dwukrotnie naszą nową regułę, przechodzimy do sekcji "Conditions" i dodajemy nowy warunek na zmienną {HTTP_HOST}. Chcemy, żeby IIS przekierowywał tylko żądania HTTP przychodzące do określonej domeny:

Nowy warunek dla reguły modułu URL Rewrite

Klikamy "OK", aby zatwierdzić nowy warunek a następnie wybieramy "Apply" z panelu "Actions".

I to wszystko - od tego momentu wszystkie żądania do wybranej domeny IIS będzie w sposób przezroczysty przekierowywał do instacji serwera Apache:

Skonfigurowana farma serwerów

To wszystko na dziś. Gdybyście mieli jakiekolwiek wątpliwości, pytania czy sugestie, nie wahajcie się komentować. Do "zobaczenia" przy kolejnych postach opisujących nasze zmagania z utrzymywaniem serwisów Grupy devMedia.pl.

piątek, 5 sierpnia 2011

Jaka znowu migracja?

Wielu z Was mogło pomyśleć: "Po co do licha migrują devPytania, skoro działają dobrze?". Dla tych, którzy tego nie wiedzą, przedstawię pokrótce historię powstania devPytań.

Pod koniec roku 2009 zespół StackOverflow udostępnił swoją platformę, aby inni mogli do woli tworzyć własne serwisy typu Q&A. Nazwali ją StackExchange. Zamysłem było pobieranie opłat za tę usługę w przyszłości. My, pełni entuzjazmu, podchwyciliśmy temat i postanowiliśmy skorzystać z ich usługi, dopóki była darmowa (nie pobierali opłat, ponieważ platforma była w wersji beta). W pakiecie dostawało się gotową instancję platformy, hostowaną u nich na serwerach, co w przyszłości, w najtańszej opcji, miało kosztować około 400 pln / miesiąc. Minusem było to, że nie udostępnili żadnych mechanizmów do lokalizacji..

"Challenge accepted!"

Po paru dniach powstał kawałek lokalizacyjnego kodu w JavaScripcie i devPytania były gotowe na przyjęcie użytkowników. Stronę oddaliśmy do użytku publicznego z dniem 4 stycznia 2010 roku. Względnie szybko zyskała na popularności a my zaczęliśmy się zastanawiać, co zrobimy, jak trzeba będzie wnosić opłaty za korzystanie z usługi StackExchange.

Zespół StackExchange w miarę sprawnie wydawał kolejne wersje bety i wszystko miało się ku wydaniu końcowemu. Aż w końcu doszli do wniosku, że to nie ma prawa działać i na pewno niewiele firm/ludzi będzie w stanie pozwolić sobie nawet na najtańszą opcję ich usługi. Tak więc na początku kwietnia 2010 zebrali się i debatowali, a następnie przedstawili projekt zmian w platformie StackExchange - najpierw e-mailem do wszystkich ówczesnych administratorów, a po paru dniach, publicznie na blogu. Okazało się, że powstała nowa idea, którą nazwano StackExchange 2.0. Co się zmieniło? Każdy serwis stojący na nowej platformie jest tworzony przez społeczność, za darmo i pozostaje własnością firmy StackExchange. Dostaliśmy wybór: albo przesiądziemy się na nową platformę (co oczywiście było nierealne, ponieważ nie przeszlibyśmy fazy wstępnej ze względu na zbyt niski według nich ruch) albo zostaniemy przez rok na starej, a potem mamy sobie radzić sami. Cóż, jakoś pogodziliśmy się z tym faktem.

Po jakimś miesiącu podniesiona została kwestia migracji istniejących serwisów na platformie StackExchange 1.0 do nowszej wersji. Znów zmieniono zdanie.

Administratorzy, którzy zdecydują się pozostać na platformie SE1.0, będą mogli działać zgodnie z dotychczasowymi zasadami platformy, mianowicie:

  • Właściciel strony jest wyłącznym posiadaczem serwisu. Może na nim umieszczać reklamy bądź modyfikować wygląd zgodnie z dotychczasowymi zasadami korzystania z usługi.
  • Serwis pozostaje na oprogramowaniu SE1.0. Dalsze ulepszenia nie są planowane, za wyjątkiem krytycznych błędów.

Nowe zasady różnią się od poprzednich w trzech miejscach:

  • Serwisy pozostaną darmowe tak długo, jak długo będą utrzymywać ruch spełniający minimalne kryteria.
  • Strony, które nie będą utrzymywały ruchu, zostaną zamknięte, co wcześniej zostanie zakomunikowane.
  • Strony nie będą częścią nowej Sieci StackExchange. Będą niezależnymi serwisami, zarządzanymi przez osoby trzecie.

W skrócie: zdecydowano się oddać serwisy SE1.0 za darmo ich właścicielom na tak długo, jak długo będą w stanie utrzymać na nich ruch.

"WIN!"

Tym sposobem przez ponad półtora roku korzystaliśmy z ich usługi. Aż do pewnego lipcowego popołudnia bieżącego roku, kiedy to otrzymaliśmy następującą wiadomość:

se message

Na dodatek, było to w naszym sezonie urlopowym. Na szczęście, po szybkiej wymianie e-maili, zdecydowali się odroczyć zamknięcie naszych serwisów do dnia 1. sierpnia 2011. I tak mieliśmy w planach kiedyś zmigrować devPytania oraz antylamę na jakąś swoją platformę, ale nam się z tym nie spieszyło, ponieważ nie było wizji zamknięcia.

"FAIL!"

Po powrocie z urlopów i ogarnięciu bieżących spraw mieliśmy ok. 3 dni na migrację devPytań. Mając na uwadze fakt, że posiadamy hosting oraz doświadczenia z platformą, na której stoją meta.devMedia.pl czy sysPytania.pl, myśleliśmy, że pójdzie gładko. Nic bardziej mylnego. VPS nie wyrabiał, dane nie chciały się zimportować poprawnie i doba miała tylko 24h.

Niemniej jednak, jak już wiecie, migracja w pewnym (zadowalającym) stopniu się udała i od 1. sierpnia devPytania działały już na naszej platformie. W całym zamieszaniu wkradło się trochę błędów jak i szybkość serwisu nie powalała. Nasz bugtracker ma już 40 zgłoszonych błędów, nad którymi pracujemy cały czas oraz testujemy inne opcje hostingowe, aby wolne działanie serwisu nie było już problemem.

Tak więc, jak wyglądają teraz devPytania od zaplecza?

Hosting: CentOS @ HitMe
Serwer http: Apache 2.2.17 + mod_wsgi
Serwer DB: PostgreSQL 8.4.5
Technologia: Python 2.6 + Django 1.2.5

Jak już zostało to wspomniane w notce na devPytaniach, bardzo prosimy o wyrozumiałość oraz o zgłaszanie ewentualnych niedogodności na serwisie meta bądź drogą e-mailową. Jeśli zdarzyłoby się tak, że ktoś z Was jest fanem wyżej wymienionych technologii i chciałby mieć swój udział w tworzeniu społeczności od strony technicznej, to zapraszamy, jak już to robiliśmy wcześniej.

Życzymy owocnego korzystania z naszych serwisów. :)