Przy instalacji PHPUnit okazało się że pear zainstalowany razem z ZendServer CE wali takimi błędami:
Warning: require_once(Structures/Graph.php): failed to open stream: No such file or directory in PEAR\Downloader.php on line 1230
Po chwili googlowania już czytamy, że winę za błąd ponosi bug z pear który nie pozwala zaktualizować samego pear(by naprawić bug’a).
Aby jednak cieszyć się pakietem PHPUnit i/lub innymi libami instalowanymi przez pear wykonujemy kolejno:
1) Pobieramy najnowszą wersję paczki phar dostępnej z pear
2) Pobrany plik kopiujemy do katalogu pear w katalogu zendserver (na Windows 7 x64 domyślnie jest to C:\Program Files (x86)\Zend\ZendServer\bin\PEAR\) zastępując stary plik.
3) Odpalamy wiersz poleceń w trybie administratora (klikamy prawym przyciskiem myszy na Start -> wszystkie programy -> akcesoria -> wiersz polecenia i wybieramy Uruchom jako administrator) i przechodzimy do katalogu bin w ZendServer
cd "C:\Program Files (x86)\Zend\ZendServer\bin"
4)Następnie uruchamiamy skrypt go-pear.bat gdzie kolejno wpisujemy all i wciskamy enter, zatrzymując się przy pozycjach 2 oraz 3 by ustawić ścieżki tymczasowe dla Temporary directory for processing oraz Temporary directory for downloads na takie które nie zawierają spacji w nazwie np. C:\tmp(należy wcześniej stworzyć ten katalog). 5) Po sprawdzeniu wszystkich 12 pozycji wciskamy jeszcze raz enter by zainstalować pear i ustawić ścieżki systemowe. 6) Końcowe kroki to dodanie i aktualizacja kanałów pear oraz instalacja PHPUnit poprzez wykonanie poleceń:
pear channel-update pear.php.net
pear upgrade pear
pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/PHPUnit
Uwaga: W przypadku gdy otrzymujemy błąd: Pear: „go-pear.phar” Does Not Have a Signature należy zalogować się do panelu ZendServer (http://localhost:10081) i w zakładce Server Setup -> Directives wyszukać ext:Phar, a następnie zmienić wartość phar.require_hash na Off
Szybki wpis dla zachowania dla potomnych.
Jeżeli zachodzi potrzeba przypisania wielu styli CSS dla wybranego obiektu js można zrobić to za pomocą atrybutu .style.cssText. Wystarczy przypisać do niego string z ciągiem stylów i problem z głowy.
Przykład:
<h2 id="header">To jest tylko tekst nagłówka.</h2>
<script type="text/javascript">
var obj = document.getElementById('header');
obj.style.cssText = 'border:solid 1px #ff0000;background:red;';
</script>
I już mamy brzydki nagłówek z dodanymi dwoma stylami
Niedawno miałem przyjemność wykonać stronę internetową dla jednej kwiaciarni. Kwiaciarnia Opole – Kwiaciarnia Flores. Prosta strona, z ładną grafiką. Dodatkowo wrzucona zdjęcia ze sklepu ładnie się prezentują.
Patrząc po pozycjach w menu można zobaczyć ze faktycznie mają dużą ofertę jeżeli chodzi o kwiaty czy upominki. Jeżeli będę kiedyś potrzebował kupić kwiaty w Opolu to wiem że wybiorę się do Kwiaciarni Flores, bo wiem ze mają otwarte nawet w niedzielę.
No i trwa szaleństwo kampanii wyborczej na lokalnym szczeblu. Copywriting, projekty graficzne, drukowanie plakatów i inne gadżety reklamowe. Byle tylko było głośno o kandydatach. Od strony zleceniobiorcy – fajnie, można zarobić
Jedyna wada to zazwyczaj bardzo krótki deadline i częste poprawki.. Jak na usranie.. Oczywiście można to zrozumieć, wystarczy wczuć się w rolę kandydata który musi mieć wszystko zapięte na ostatni guzik. Ale do jasnej cholery, jak ja mam zagłosować na człowieka który nie potrafi na czas dostarczyć zdjęcie na plakat i trochę tekstu?!
Jeżeli chodzi o samych kandydatów – w mojej okolicy jest straszna lipa. Nic nie widać, nic nie słychać. Jak było 2 lata temu tak jest i teraz.. I znów trzeba będzie wybierać ludzi metodą eliminacji, bardzo prawdopodobnie przez filtr partyjny.. Aktualny burmistrz jest moim zdaniem beznadziejny; nie dość że od strony gospodarczej miasto się nie rozwija, to jeszcze produkuje takie beznadziejne pomysły jak m.in. likwidacja PUKIMu. A żeby było mało, to jeszcze Rada Gminy prawie w całości mu przyklaskuje. Oczywiście były także podwyżki płac w tej kadencji – dla przepchania projektów prawie wszyscy nagle spostrzegli jak świetnie pracuje burmistrz i dlaczego by go nie wynagrodzić.. A co.. Szkoda że tak rzadko zdarzają się normalni ludzie jak np. ten burmistrz, który nie przyjął podwyżki. Głupi? a może to zagranie pod publikę? Nie ważne, ja tam wierzę że nie wszyscy są aż tak pazerni na kasę.
Żeby było jasne, to moja ocena aktualnego burmistrza na podstawie jego poczynań. Inni kandydaci też nie są lepsi. Po prostu zostaje wybierać najmniejsze zło, do czasu aż pojawi się „wybraniec”
Dla kontrastu, mogę wspomnieć że niedawno miałem przyjemność zapoznać się z działaniami młodego kandydata do Rady Miasta Wrocław. Dlaczego mi zaimponował? Bo ma czym się pochwalić. Inicjatywa 50% zniżki na przejazd PKP dla studentów, która została przegłosowana i wchodzi z nowym rokiem w życie! Także interweniował odnośnie objęcia ofertą biletów semestralnych nie tylko studentów studiów stacjonarnych ale także wszystkich mieszkańców Wrocławia. Szkoda że u nas brakuje takich młodych, pełnych pomysłów ale i upartych ludzi.
Podsumowując, nie jest tragicznie, ale wyróżniających się jednostek brak ;/ Ale, pożyjemy – zobaczymy
Najwyżej w następnej kadencji będzie kogo wywalić
Dwa lata temu w ramach zaliczenia zajęć z Systemów Operacyjnych pisałem skrypt bash do uproszczenia konfiguracji serwera samba. Teraz, kiedy akurat potrzebna jest mi szybka konfiguracja bez zabawy w ustawianie i czytanie manuala odgrzebałem kotleta. Może się komuś przydać.
Pobierz skrypt konfigurujący serwer samba.
Po ściągnięciu najlepiej zmienić sobie rozszerzenie na .sh (wordpress go nie lubi, dlatego zmieniłem na txt) oraz nadać mu atrybut wykonalności:
chmod +x sambaconf.sh
Skrypt domyślnie operuje pliku /etc/samba/smb.conf. Można zmienić ścieżkę do niego zmieniając zawartość zmiennej confdir=”/etc/samba/smb.conf”.
Skrypt nie jest pisany by był super poprawny, miał po prostu działać. W tym celu też korzysta on z własnego formatu pliku konfiguracyjnego samby i jego ręczna edycja nie jest wskazana gdyż po prostu skrypt może później nieprawidłowo działać. Oczywiście zawsze można wykorzystać go do wygenerowania podstawowej konfiguracji a później ręcznie dopisać co trzeba.
Jak z niego korzystać?
- Uruchom skrypt jako administrator (root)
- Wybierz opcję 1. aby wygenerować podstawową konfigurację serwera
- Udostępniaj wybrane pliki korzystając z opcji 3.
Program jest w języku polskim. Mi działa dobrze
Jeśli są potrzebne dodatkowe opcje można pisać, a dorobię je w wolnym czasie.
Już prawie święta wielkanocne (a za oknem śniegiem wali ;D) więc już prawie tradycją stało się, że ludzie umieszczają życzenia na swoich stronach internetowych.
Niektórzy czynią to w formie kolejnych postów wstawiając wymyślone życzenia(często z jakimi obrazkiem), ja robię to ciut inaczej; zazwyczaj całość sprowadza się do „zrób jakąś kartkę z życzeniami, którą będziemy mogli wysłać innym firmom i umieść ją na stronie”. Kwestię projektu graficznego pomijam, bo tym zajmuje się grafik, ale jak umieścić kartkę na stronie?
Ja rozwiązałem problem kawałkiem kodu js wykorzystując plugin slimbox ( który i tak używam na stronie):
$(document).ready(function() {
$.slimbox("/data/kartka_wielkanoc.jpg");
});
Prosto, szybko i skutecznie.
(Ale ja leniwy jestem ;p)
Jeśli ktoś ma problem z odpaleniem tego bug trackera z pod virtual hosta na serwerze www postawionym na Windows z powodu dodawania znaku ‘\’ w ścieżce może tu znajdzie rozwiązanie jego problemu.
Problem był taki:
http://localhost/mantisbt/ – działało dobrze
http://mantis.local/ – nie działało, sypały się url w kodzie z powodu dodawania znaku ‘\’
W adresie wtedy obserwujemy http://mantis.local//login_page.php (podwójny slash)
Aby poprawić ten błąd (zgłoszony przez kogoś tutaj) do czasu wydania poprawionej wersji zmieniamy w pliku config_defaults_inc.php linijkę 133 (przynajmniej u mnie taka jest
) na:
// Extract the unique directory path of this file relative to the server's documunt root
if ( preg_match( '@' . preg_quote( $t_docroot ) . '(.*)@', $t_file_path, $t_matches ) ) {
$t_path = str_replace('\\','',dirname(strip_tags($t_matches[1])));
} else {
$t_path = dirname( strip_tags( $_SERVER['SCRIPT_NAME'] ) );
if ( '/' == $t_path || '\\' == $t_path ) {
$t_path = '';
}
}
Błąd spowodowany jest funkcją dirname() która, gdy nie znajduje po adresie domeny kolejnych węzłów ścieżki zwraca właśnie niechciany znak ‘\’.
Oby to szybko poprawili.
Nowa karta graficzna spisuje się genialnie. Odpaliłem 3 gierki dla testu (Lost Planet, Crysis, Need For Speed Shit) z wszystkim na high, antyaliasingiem x8 i filtrem anizotropowym x8 i nic nie tnie, nawet w przypadku skomplikowanych scen. Świetnie!
Finalnie na skrzynkę składa się:
Intel i7 860 2,8 GHz
Płyta gł. Gigabyte P55-US3L
3x2Gb OCZ 1600 Hz Tripple Channel
Sparkle GeForce 275 GTX
WD 500GB 32Mb SATA2
OS: Windows 7 Professional PL x64

Oh Yeah!
Człowiek odłoży trochę kasy, chce kupić lepszy sprzęt do pracy, oczywiście składa zamówienie w ulubionym sklepie, człowiek odbiera zamówienie ze sklepu. Po przyjściu do domu odpala sprzęt, instaluje system operacyjny, sterowniki do chipsetu, potem sterowniki do karty graficznej… dupa, nie działa
5 godzin grzebania w necie i gnębienia na ircu ludzi (thx crazyman), żeby w końcu odpisali na forum producenta że najlepiej kartę graficzna oddać do sklepu.
Tak, mój radeon hd 5770 musiał być uszkodzony od początku. Od razu na marginesie pragnę zauważyć ciekawą kwestię: czytając recenzje karty w sklepach internetowych większość ludzi ją zachwalała w granicach 9/10 nie wspominając nic o problemach. Jak się okazało potem radeoniki zdenerwowały już całkiem spore grono osób w zasadzie tylko i wyłącznie z winy sterowników. O tyle co problemy z ATI pod linuksem są już swego rodzaju legendą, to zaskoczyła mnie liczba problemów z driverami pod Windows.
Developerzy szykują nie długo premierę sterowników 10.3 (beta jest w necie) ale na ile to poprawi problemy nikt nie wie. Ja też, bo wymieniłem kartę na GeForce 275 GTX. Przyjechałem do domu, otwieram obudowę, mierzę.. kur@#$! Karta się nie mieści ;/ Wszystko przez szyny w obudowie do urządzeń 3,5″.
Czyli rano kolejna wycieczka do sklepu komputerowego, tym razem z całą skrzynką. Już widzę minę sprzedawcy jak mnie zobaczy w drzwiach…
Akurat zdarzyło się że miałem naprawić yum’a który blokował się przy jakimkolwiek działaniu. Okazało się że adresy do repozytoriów są stare, bo mirrory zostały przeniesione. Po googlowaniu, znalałem działające:
W katalogu /etc/yum.repo.d/ dopisujemy lub zmieniamy w plikach fedora-core.repo, fedora-extras.repo, fedora-updates.repo linijki:
dla [core]:
baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/os/
dla [debug]:
baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/debug/
Linie z mirrorlist= możemy zakomentować.
Jeśli ktoś korzysta z dodatkowych pluginów, zapewne też warto w nich sprawdzić adresy mirrorów.