czerwca 07

Podczas rozwoju dużego portalu webowego każdy prędzej czy później stanie przed problemem wydajności. Przeważnie najbardziej wąskim gardłem jest baza danych. Łatwo jest rozproszy obrazki na więcej serwerów, nawet content html czy pliki php. Najgorzej jest ze skalowalnością bazy. Nie dość że jest to problem od strony technicznej to również jest to najbardziej kosztowne. Po pewnej ilości użytkowników okazuje się że cachowanie, czy generowanie statyczne wszystkiego co było możliwe nie jest już wystarczające a na dodatek wielu użytkowników wykorzystuje opcję przeglądu czy search które pochłaniają najwięcej zasobów bazy danych. W takich przypadkach z pomocą może przyjść nam sphinx. Oczywiście jak w każdym przypadku jego zastosowanie niesie ze sobą wiele plusów i minusów a zadaniem tego artykułu będzie pokazanie jak sobie z tym wszystkim poradzić i jak optymalnie wykorzystać możliwości sphinx’a.

Sphinx to darmowy silnik SQL full-text search na licencji GPL 2. Jest to program pozwalający na zaindeksowanie wybranej przez nas części bazy danych i przeszukiwanie go w bardzo wydajny sposób . W chwili obecnej pozwala na podłączenie sie do MySQL’a i PostgreSQL’a. Posiada natywny support do PHP, Pythona, Javy, Perl’a i Ruby.

Continue reading »

kwietnia 07

Natchnieniem do napisania tego artykułu były dla mnie doświadczenie ostatnich kilku lat mojej pracy i to że mówienie NIE przynosiło mi często więcej pożytku od mówienia tak. Ostatnio znalazłem też w sieci artykuł 10 Absolute “Nos!” for Freelancers który pokazuje że nie tylko ja miałem podobne problemy, a kluczem do ich rozwiązania jest asertywność.

Czy możesz przedstawić nam projekt/atrape a my się zastanowimy

NIE!

Każda szanująca się firma przed podpisaniem umowy z klientem ustala ile kosztować będzie każda część pracy. Przygotowanie projektu, atrapy czy analiza też są płatne. Jeżeli masz poświęcać swój czas to nigdy za darmo. Przeważnie podczas tworzenia aplikacji faza analizy i projektu to koszt na poziomie 15-20% płatny od razu po wykonaniu. Klient zawsze może zabrać owoce pracy analitycznej i pójść do innego developera. W takich przypadkach zaproponuj że projekt/analiza może być wykonany za odpowiednią opłatą razem z przeniesieniem praw autorskich do projektu na klienta. Zaproponuj też podpisanie odpowiedniej umowy bo w przeciwnym razie napracujesz się za darmo a w najlepszym przypadku postawisz się na z góry przegranej pozycji podczas negocjacji ceny całego projektu ponieważ ty już włożysz swoja pracę za która będziesz chciał odzyskać pieniądze a zleceniodawca wykorzysta twoją naiwność i słabe położenie w negocjacjach.

Continue reading »

kwietnia 06

Artykuł ten będzie małym przeglądem tego co można zrobić by oszczędzać moc obliczeniową twojego serwera i transfer twojego łącza. Jeżeli należysz do ludzi którzy uważają że najlepszym rozwiązaniem jest zawsze dokupienie szybszego łącza i większego kabla nie trać czasu na czytanie :)

Continue reading »