Archiwum kategorii ‘Tech’

PHP i transakcje w MySQL

środa, 16 Maj 2012

Nie jestem programistą, ani Programistą PHP. Czasem robię code review lub piszę protezę dla jakichś systemów.
Po ostatnim przeglądzie uważam, że warto wspomnieć o prostych sposobach na transakcje w (My)SQL.

Jeśli mamy do dyspozycji PDO (PHP Data Objects) i PHP >= 5.1 (ew. 5.0 i PDO jako PECL), to możemy użyć gotowych mechanizmów do obsługi transakcji i wyjątków (od PHP 5.0):

try {
  $dbh->beginTransaction();
  $dbh->exec('pierwsze zapytanie');
  $dbh->exec('drugie zapytanie');
  $dbh->exec('trzecie zapytanie');
  $dbh->commit();
} catch (Exception $e) {
  $dbh->rollBack();
  echo $e->getMessage();
}

(więcej…)

Apache i mod_proxy

wtorek, 15 Maj 2012

Ot taka ciekawostka – zmieniam serwer WWW na świeższy i przenoszę na niego wszystkie usługi. Źródłowy to Apache 2.0.52 (Magic Number: 20020903:9) na RHEL 4.4, docelowy – Apache 2.2.3 (Magic Number: 20051115:3) na OEL 5.8 (Tikanga).
Pewna aplikacja działa na IIS na innym serwerze (to w zasadzie oczywiste), a Apache tylko pośredniczy w przekazywaniu ruchu za pomocą mod_proxy. Z racji tego, że programista Windows nie zwracał uwagi na wielkość znaków, czasami odwołania zaszyte w kodzie są małymi, czasami wielkimi literami. Dlatego też konfiguracja wygląda tak:

SSLProxyEngine on
ProxyPass /app/ https://winsrv/app/
ProxyPassReverse /app/ https://winsrv/app/
ProxyPass /APP/ https://winsrv/app/
ProxyPassReverse /APP/ https://winsrv/app/

I na starym serwerze wszystko działało. Na nowym przy ładowaniu konfiguracji pojawia się ostrzeżenie: (więcej…)

Monitorowanie procesów Java

poniedziałek, 14 Maj 2012

Dla fanów monitoringu i podglądania co w trawie piszczy – dziś prezentacja JConsole.


(więcej…)

Oracle 11gR2 na SUSE Linux Enterprise Server 11.1

niedziela, 13 Maj 2012

W sieci jest mnóstwo ściąg jak zainstalować Oracle 11gR2 na SLES 11, nawet na stronie Novell, ale instalacja/aktualizacja 11.2.0.2 wygląda trochę inaczej. Mianowicie przy wyborze grupy systemowej (dla SYSDBA i SYSOPER) mamy na liście disk, oinstall i dba. Niezależnie od tego co wybierzemy instalator sprawdza istnienie wszystkich tych grup w systemie (11.2.0.1 tak nie miał). Jeśli którejś nie znajdzie, zwraca błąd INS-30060.


(więcej…)

Oracle Enterprise Linux 5.5 na Fujitsu PRIMERGY RX200 S7

sobota, 12 Maj 2012

Ta wersja systemu musi być i już.
Cała instalacja przebiega pomyślnie z małym wyjątkiem – nie działa sieć. W przypadku serwera ma to duże znaczenie :/
Interfejsy rozpoznawane są jako:

Ethernet controller: Intel Corporation Unknown device 1521 (rev 01)

W zasadzie większość urządzeń to „Unknown device”

Moje rozwiązanie problemu: (więcej…)

Idzie zima, kopii nie ma

wtorek, 28 Luty 2012

Wstępem do tego wpisu powinna być historia firmy zza oceanu, w której to wysypywały się obliczenia, bo inżynier idąc wymienić taśmę do streamera przechodził przez miejsce, w którym pod podłogą biegły kable i na skutek nacisku coś tam interferowało. Nie pamiętam dokładnie tej historii i nie wiem gdzie o niej czytałem, ale liczę, że ktoś poda odnośnik do oryginału w komentarzu.

Ja spotkałem się z sytuacją, gdzie z powodu zbyt niskiej wilgotności powietrza (spadek poniżej 5%) streamer nie chciał nagrywać. Prawdopodobnie taśma kleiła się do głowicy czy gdzieś pojawiały się ładunki.
(więcej…)

Gnatt i Bacula – czas pracy streamera

poniedziałek, 27 Luty 2012

Gnatt zastąpił u mnie Bweb i teraz on rysuje wykresy. Gdyby ktoś chciał również go użyć do tego celu, poniżej gotowy skrypt dla MySQL:

SELECT Job,StartTime,EndTime
INTO OUTFILE 'streamer.csv' FIELDS TERMINATED BY ';'
FROM(
SELECT Job,StartTime,EndTime,sortcol
FROM
(SELECT CONCAT("Week ", WEEK(NOW())-1) AS Job, DATE_SUB(CURDATE(), INTERVAL 7-WEEKDAY(CURDATE()) DAY) AS StartTime, DATE_SUB(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 SECOND) AS EndTime,1 AS sortcol
UNION ALL
(więcej...)