Archiwum

Posty oznaczone ‘Poradniki’

Optymalizacja MySQL, część 1 – Indeksy

Listopad 4th, 2009

Wstęp

MySQL jest chyba najpowszechniej używaną bazą danych w różnego typu aplikacjach internetowych: od portali, przez fora, blogi, gry i inne rodzaje stron. Dlaczego? Bo jest szybka, prosta, darmowa i się przyjęła. Oprócz ewidentnych zalet ma też serię wad: standardowy engine MyISAM nie jest transakcyjny, nie jest bezpieczny, przy zapisie blokuje całą tabelę, a nie pojedynczy rekord. Jakby tego jeszcze było mało, to w 95% procentach przypadków, właśnie baza MySQL jest wąskim gardłem całej aplikacji i to jej wydajność (szybkość przetwarzania zapytań) decyduje o wydajności całego rozwiązania. Pracując nad pewną aplikacją (Pulsar-Online), przez ostatni tydzień starałem się skupić właśnie nad sprawą wydajności MySQL na której oparty jest Pulsar i podzielić się swoimi spostrzeżeniami na ten temat.

Po pierwsze, specyfika aplikacji internetowych, a przynajmniej ich większość, więcej odczytuje z bazy danych, niż do niej zapisuje. UPDATE i INSERT stanowią mniejszość w porównaniu z liczbą wykonywanych SELECTów. Wydajność pobierania rekordów z bazy ma więc dość duże znaczenie.

Ogólnie

Zastanówmy się, jak MySQL pobiera dane z tabeli, jeśli wybrana tabela nie posiada indeksów na polach które uwzględnimy w zapytaniu (zarówno w JOIN jak i WHERE lub ORDER BY). Dla każdego zapytania skanuje od początku wszystkie rekordy w tabeli, aż warunek nie zostanie znaleziony. Jeśli nie uwzględnimy LIMIT, MySQL będzie skanował dalej, aż do końca tabeli. Co to dla nas oznacza? Wyjaśnię na przykładzie.

Czytaj więcej…

Paweł Wujek Dobra Rada, Zawodowo , , , , , , ,

PHP: Własna obsługa błędów i wyjątków: psDebug

Lipiec 30th, 2009

PHP, szczególnie od wersji 5 w górę jest całkiem przyjemnym językiem i swoimi możliwościami nie odstaje aż tak bardzo od C++, czy Java. Fakt, jest prostszy, ale odkąd działa w nim prawdziwa obiektówka i wyjątki, dobre programowanie stało się wygodniejsze.

Niestety, PHP nie jest pozbawione kilku niedociągnięć, czasami przeradzających się gigantyczny ból w tyłku. Jednym z nich jest niekonsekwencja zachowania funkcji na błędy. Część rzuca wyjątki, część rzuca błędy, a jeszcze inne zwracają FALSE lub NULL gdy coś nie idzie po ich myśli. Z tego powodu, sensowym wyjściem jest napisanie własnej funkcji obsługi błędów przekształcających je na wyjątki. A skoro można napisać coś takiego, to czemu od razu nie napisać własnej funkcji obsługi wyjątków i dodać kilka innych usprawnień?

Z tych powodów, bazując na klasie wfErrorHandler Grzegorza Godlewskiego, napisałem własną klasę obsługi błędów: psDebug. Jej główne cechy to:

  • wszystkie błędy są przekształcane na wyjątki w celu ich późniejszego przechwycenia
  • wyjątki które nie zostały przechwycone mogą być raportowane na następujące sposoby:
    • elegancki komunikat dla użytkownika nie zawierający szczegółów
    • pełny komunikat o błędzie razem ze ścieżką wykonania
    • przesłanie w tle komunikatu o błędzie do phHelpdesk (który kiedyś wreszcie opublikuję jako OpenSource)
  • dodatkowe funkcje wspomagające obsługę błędów

Czytaj więcej…

Paweł Projekty, Zawodowo , , , , ,

DIY: Beauty Dish

Maj 5th, 2009

Opracowań i przykładów budowy tak zwanych ‘beauty dishów‘ (softreflektorów, słoneczek) w sieci jest całe mnóstwo. Nie mogłem oprzeć się pokusie aby nie zbudować samemu takiego modyfikatora światła. Efekt zastosowania beauty disha jest dość charakterystyczny, coś pomiędzy softboxem i parasolką. Eksperci twierdzą, że to jedyny modyfikator światła pozwalający na efektowne oświetlenie przy wykorzystaniu tylko jednej lampy. Nie potwierdzę, nie zaprzeczę, nie znam się na tym aż tak bardzo.

Beauty dish Sambesi Czytaj więcej…

Paweł Fotografia , , , , ,

DIY: studyjny ekran odblaskowy z rurek PCV

Kwiecień 17th, 2009

Wyposażam domowe ‘studio‘ fotograficzne. Powoli kompletuję oświetlenie, tła i inne przydatne narzędzia. W zasadzie wszystkie rzeczy można kupić gotowe, ale czemu mam iść na łatwiznę? Lubię majsterkować, a każdy grosz jest na wagę złota. Czemu nie połączyć przyjemnego z pożytecznym i części elementów nie wykonać samemu?

Ekran odblaskowy DIY

Na pierwszy ogień poszedł ekran odblaskowy. Taka duża blenda studyjna. Do konstrukcji szkieletu ekranu użyłem rurek hydraulicznych PCV. Są relatywnie tanie, lekkie, proste w łączeniu i obróbce. Trochę danych technicznych mojego ekranu:

  • ekran:
    • wysokość: około 130cm
    • szerokość: około 65cm
  • statyw:
    • wysokość: około 150cm
    • szerokość: około 80cm
  • ekran obracany
  • możliwość rozłożenia i schowania ‘na płasko’

Czytaj więcej…

Paweł Wujek Dobra Rada , , , , ,

Podstawy fotografii: lampa błyskowa

Kwiecień 12th, 2009

Wstęp

Drodzy czytelnicy, dziś będzie o lampach błyskowych. Trochę o ich zasadzie działania, kontroli błysku, wykorzystaniu w zdjęciach w pomieszczeniach i plenerze. Nie zabraknie też odrobiny matematyki, ale obiecuję, że nie będzie bolało. Skupimy się na lampach z gorącą stopką, czyli takich przeznaczonych do bezpośredniej pracy z aparatem fotograficznym, zostawiając lampy studyjne na boku. To zupełnie inne zagadnienie, choć większość założeń będzie wspólna dla obu typów.

Podstawy, budowa, zasada działania

Zaczynamy. Lampa błyskowa jest przenośnym źródłem światła do zastosowań fotograficznych. Od światła ciągłego (słońce, żarówka, świetlówka) odróżnia ją to, że generowane przez nią błysk jest po pierwsze bardzo mocny, a po drugie bardzo krótki (tysięczne części sekundy). Ten bardzo krótki błysk musi dostarczyć wystarczająca ilość światła do fotogrowanego obiektu, aby starczyło go do poprawnego naświetlenia sceny. W związku z krótkim czasem błysku wiąże się kilka ważnych dla fotografa rzeczy, ale o tym w dalszej części tekstu.

Lampa błyskowa (pomijamy żarówki spaleniowe, magnezję i inne archaiczne wynalazki) zawsze składa się z trzech głównych elementów:

  1. palnika ksenonowego będącego źródłem światła
  2. kondensatora gromadzącego ładunek elektryczny potrzebny na wytworzenie błysku w palniku
  3. przetwornicy podwyższającej napięcie zasilania lampy (na kilkaset wolt) w celu przechowania w kondensatorze i późniejszego przekazania do palnika

Czytaj więcej…

Paweł Fotografia , , , , ,

Przeliczanie luksów na EV

Marzec 11th, 2009

Od pewnego czasu na allegro w Fotografia -> Akcesoria -> Światłomierze można spotkać dziwnie tanie światłomierze elektroniczne o pokrętnie brzmiącej nazwie ‘Luksomierz (Światłomierz)’. Na pierwszy rzut oka wszystko wygląda pięknie: elektroniczne, dokładne, tanie. Niestety jest pewien problem: po pierwsze, urządzanie wynik podaje w jednostkach zdecydowania niefotograficznych, czyli luksach, zamiast na EV. Po drugie, nie posiada kalkulatora przeliczającego luksy/EV na jednostki bardziej użyteczeczne dla fotografia: przysłona/czas.

Na szczęście, wszystko dla się jakoś obejść, choć nie zawsze musi to być proste i szybkie. Liczbę luksów, jaką zwraca światłomierz można przeliczyć na fotograficzne EV używając następującego wzoru:

EV = log2 (E / 2.5)

gdzie:

  • EV – wartość EV
  • E – liczba luksów
  • matematycznie uzdolnionych inaczej, log2 – logarytm o podstawie 2

Paweł Fotografia , , , , , ,

Dbanie o akumulatory – mity i kity

Styczeń 13th, 2009

Jesteśmy uzależnieni od energii elektrycznej. Koniec i kropka, tej myśli nie będę rozwijał. Większość wykorzystywanych przez nas urządzeń jest na prąd, oczywistym staje się więc problem właściwego zasilania. O ile w przypadku urządzeń zasilanych z sieci ten problem co prawda nie istnieje, to dla urządzeń przenośnych wybór jest szeroki: kilka typów baterii, kilka typów akumulatorów. Nawet jeśli nie bedziemy zajmować się bateriami, to same akumulatory mogą przyprawić nas o zawrót głowy: kwasowe, niklowo kadmowe, niklowo wodorkowe, litowo jonowe, litowo polimerowe i kto wie co nam przyszłość przyniesie…

Wracając do sedna postu. Każda z technologii wykonania akumulatorów ma plusy i minusy. Nawet zanikające z rynku Ni-Cd w pewnych aspektach przewyższają najnowsze konstrukcje. Zacznijmy więc od małego porównania: Czytaj więcej…

Paweł Wujek Dobra Rada , , , , , ,

Co zabrać w podróż foto

Sierpień 19th, 2008

Czytając wczoraj ten wpis na fotoblogia.pl doszedłem do wniosku, że autor równi dobrze mógłby dodać tam pozycję: aparat fotograficzny. Zbyt ogólna ta lista. Trochę pomyślałem i postanowiłem stworzyć własną listę rzeczy które warto zabrać. Szybko napotkałem na jeden poważny problem: nie zawsze wszystko jest potrzebne. Wiele zależy od długości wyprawy, warunków pogodowych, dopuszczalnego obciążenia i celu. Moją listę postanowiłem przystosować więc do zmiennych warunków.

Na początek jednak lista rzeczy które zdarza mi się zabierać ze sobą na wyprawy:

  • aparat - to chyba logiczne i oczywiste, w szczegóły wchodzić nie będę. Należy jednak wspomnieć, że jego rozmiar i waga determinuje choćby wybór torby czy plecaka
  • obiektywy - jeśli mamy lustrzankę i więcej niż jeden obiektyw, pojawia się problem: które zabrać. Nie wiem jakie zdjęcia robicie, ale moja rada jest taka: zawsze bierzemy obiektyw szerokokątny lub tak zwany spacer zoom (z szerokim zakresem ogniskowych) i ew. nasze ulubione szkło. Obiektywy bardziej specjalizowane i teleobiektywy wyłącznie gdy spodziewamy się ich użyć. Szkoda miejsca i zmęczenia ramion przy taszczeniu całej szklarni. Tak na marginesie, sprawdźcie jakich ogniskowych najczęściej używacie (na przykład programem ExposurePlot). Może to diametralnie zmienić Wasze pojęcie o tym, jaki obiektyw jest Wam najbardziej potrzebny i najczęściej przydatny. Mój zestaw podstawowy to Nikkor 18-135 AF-S DX (spacer zoom) i Nikkor 50 f/1.8 AF ze względu na wspaniałą jakość zdjęć z tego szkła.
  • zewnętrzna lampa błyskowa – jeśli macie, czasami warto ją brać nawet w plener. Lekki błysk wypełniający może zdziałać cuda przy zdjęciach w pełnym słońcu. Ja swoją biorę prawie zawsze.
  • torba - torba powinna być przystosowana do aparatu, ew. obiektywów i wszystkich innych rzeczy które zdecydujecie się ze sobą zabrać. Niestety torby mają podstawowy problem: są wygodne wyłącznie gdy są stosunkowo małe. Duże torby są niewygodne i szybko męczą ramiona. W związku z tym, osobiście posiadam torbę (obecnie Case Logic SLRC3) i plecak fotograficzny. Czemu tak? Na krótkie wyprawy, gdy nie zabieramy zbyt dużo szpei, torba lepiej się sprawdza. Z kolei w dłużych wyprawach, lub gdy zabraliśmy więcej sprzętu, plecak jest o niebo wygodniejszy. Równiej rozkłada cieżar na ramionach, mądrze użyte pasy biodrowy i piersiowy to prawdziwe zbawienie, jest pojemniejszy i zwykle da się do niego wepchnąc jeszcze butelkę z piciem, jakieś kanapki, czy batony.
  • zasilanie – tutaj też trzeba podejść systemowo. Rozładowane baterie to koszmar, lecz targanie dodatkowych akumulatorów to dodatkowy ciężar. Ja rozwiązałem ten problem w następujący sposób: na podstawowym aku mogę zrobić około 500 zdjęć i zawsze zabieram naładowany do pełna. W przypadku wycieczek kilkugodzinnych biorę tylko podstawowy akumulator. Jadąc gdzieś na cały dzień lub zakładając mocne focenie, wspomagam się dodatkowym aku (akurat u mnie jest to 6 aku AA w koszyczku do gripa). Ładowarkę do podstawowego aku biorę wyłącznie przy wyjazdach dłuższych niż 1 dzień, kiedy wiem, że będę miał jej gdzie użyć. Nigdy nie biorę ładowarki do akumulatorów AA (body z gripem i lampa błyskowa), wolę zabrać dodatkowy zestaw aku. Wyjątkiem mogą być są wyprawy kilkudniowe.
  • karty pamięci – nie wiem ile Wy zdjęć robicie, ale w moim przypadku zestaw 4+2GB sprawdza się w zupełności. Jadąc na tydzień, dwa, można zabrać wiecej GB. Zależy od potrzeb, trzeba samemu zdecydować
  • statyw – statyw to jest takie dziwne akcesorium podczas wypraw fotograficznych: zawsze jest źle. Gdy zabrałem, narzekam bo okazał się niepotrzeby. Gdy nie zabrałem, narzekam bo jednak mógł się przydać. Osobiście biorę wyłącznie gdy wiem, że będzie mógł się przydać. Nie ma sensu targać tych kilka kilo tylko po to aby mieć i wyglądać pr0
  • wężyk spustowy – biorę statyw, biorę i wężyk
  • filtry - jak ktoś ma i używa to można. Filtrem który zawsze warto mieć ze sobą jest szara połówka. Przydaje się także polaryzacyjny, ale warto brać tylko gdy spodziewamy się słońca. Gdy niebo jest chmurzone: nie warto. Możliwość eliminacji odbić z powierzchni niemetalicznych raczej nie przydaje się w plenerze. Gdy lubimy robić zdjęcia B&W warto pomyśleć o filtrze czerwonym. Ale tylko wtedy. Na marginesie, moim zdaniem, jedynymi filtrami jakie warto kupować są filtry w systemie Cokin. Olbrzymia oszczędność miejsca i pieniędzy gdy mamy obiektywy o różnych średnicach gwintu
  • blenda – lubię używać blendy. Z blendą jest jednak jeden problem: wymaga asystenta. Jeśli idziecie sami, blendę można sobie odpuścić
  • środki czyszczące:
    • ściereczka z mikrofibry – do czyszczenie optyki: zawsze!
    • chusteczki do nosa – idealne do osuszania sprzętu po deszczu, błocie i tak dalej: zawsze!
    • gruszka – raczej nie, wyłącznie na dłuższe i specjalistyczne wyjazdy
  • inne akcesoria o których raczej się nie pamięta, ale mogę się przydać i nie zajmują zbyt wiele miejsca:
    • woreczek silica żel – wrzucony do torby czy plecaka pomaga zmniejszyć wilgotność. Wiadomo: sprzęt foto i wilgoć nie idą w parze
    • sznurek – brzmi dziwnie, ale sznurek się czasami przydaje: o jaki ładny kwiatek, tylko ta gałązka przeszkadza. Nie trzeba ucinać gałązki, wystarczy użyć sznurka i gałązkę odgiąć
    • duży worek plastikowy – na ratunek podczas ulewy
    • nóż/scyzoryk – nigdy nie wiadomo kiedy przyda nam się ostry nóż. I nie mówie o obronie siebie, czy swojego mienia
    • butelka wody
    • coś do przegryzienia
    • skrócony zestaw pierwszej pomocy – nie, nie cała apteczka, za duże. Wystarczy kilka plastrów, może bandaż i tabletki przeciwbólowe
    • mapa

To chyba koniec listy. Pozostało już tylko zdecydować co zabrać. Poniżej moje typy:

  • krótki spacer
    • torba
    • aparat
    • spacer zoom i czasami jeszcze jedno szkło
    • lampa błyskowa
    • filtr szary połówkowy
    • jeśli idziemy z kimś, można pomyśleć o blendzie
  • dłuższy spacer (ponad godzina marszu)
    • plecak
    • aparat
    • spacer zoom i jeszcze jedno szkło
    • lampa błyskowa
    • filtr szary połówkowy
    • jeśli idziemy z kimś, można pomyśleć o blendzie
    • woda
    • coś do przegryzienia
  • wyjazd 1-dniowy samochodem w plener:
    • zestaw jak na dłuższy spacer plus:
    • statyw do samochodu, na miejscu decyzja czy zabierać
    • mapa
    • zestaw dodatkowych akcesoriów jak nóż i tak dalej
  • wyjazd na 1-2 dni
    • zestaw jak na wyjazd 1-dniowy plus:
    • zasilanie
  • naprawdę bardzo dług wyjazd na którym fotografia nie jest najważniejsza:
    • krótki spacer plus:
    • zasilanie
    • mapa
    • zestaw dodatkowych akcesoriów jak nóż i tak dalej
    • dodatkowe karty pamięci
  • wyjazd rowerem w plener:
    • plecak, reszta według uznania, ja skłaniam się raczej do wersji “krótki spacer” z mapą, wodą i czymś do przegryzienia

I to chyba tyle. Jeśli macie jakieś uwagi, zapraszam!

Paweł Fotografia, Wujek Dobra Rada , , , , ,

Switch to our mobile site