2014-02-28

[netbeans] Theme builder

Domyślnny template NetBeansa jest bardzo biały co powoduje znaczny oczopląs po kilku godzinach pracy - aby uniknąć tego typu objawów dobrze jest zmienić sobie profil wyświetlania. Doskonałym narzędziem jest Netbeans Theme Builder - http://svenspruijt.nl/themebuilder/ dzięki któremu możemy wybrać profil najbardziej nam pasujący.
Ja korzystam z Zenburn - lekko go tylko modyfikuję zmieniając fonty na WenQuanYi Micro Mono.
Profil wczytujemy przez Tools > Options > Import...

2014-02-27

[pgsql] Funkcja replace() - zmiana treści

Kiedyś pisałem już o postgresowej funkcji replace(). Ostatnio przydała mi się ona ponownie i postanowiłem po raz kolejny o niej wspomnieć. Wykorzystałem ją do zmiany nazwy ulicy - zdarzyło mi się, że adresy niektórych użytkowników posiadały (zamiast polskich znaków) niezrozumiałe znaki (spowodowane to było przenoszeniem danych między różnymi systemami na przestrzeni wielu lat).
Poniżej przedstawiam sposób wykorzystania funkcji replace() na małym przykładzie, w którym zmieniamy w tabeli user w kolumnie ulica znaki "¦" na "Ś":

UPDATE user SET ulica=replace(ulica, '¦', 'Ś') WHERE ulica like '%¦%';

Powyższe zapytanie zaktualizuje wszystkie wpisy w tabeli user, które mają w polu ulica znak "¦" na "Ś". Warto przed odpaleniem takiego zapytania najpierw sprawdzić co tak naprawdę zwraca funkcja i ile rekordów zostanie zmienionych. Poniższe zapytanie da nam taką odpowiedź:

SELECT id, ulica, replace(ulica, '¦', 'Ś') FROM user WHERE ulica like '%¦%';

źródło: http://www.postgresql.org/docs/9.1/static/functions-string.html

2014-02-21

[php][kohana] Instalacja tumblr.php za pomocą Composer'a

Instalacja biblioteki tumblr.php w projekcie opartym na frameworku Kohana za pomocą Composera:
  1. Tworzymy katalog tumblr w application/vendor
  2. Instalujemy Composera (będąc w katalogu tumblr)
    curl -sS https://getcomposer.org/installer | php
  3. Instalujemy biblioteki, z których korzysta tumblr.php
    php composer.phar install
  4. Wykorzystujemy w naszym projekcie nowo powstały autoloader
    require_once(APPPATH.'vendor/tumblr/vendor/autoload.php');

2014-02-20

[linux] Kontrola jasności - Mint 16 i Acer V3-772g

W poprzednim wpisie napisałem jak ominąć problem czarnego ekranu przy instalacji środowiska linuksowego. Za powstawanie tego problemu odpowiada zmienna nomodeset. Powoduje ona niestety inny problem - uniemożliwia regulowanie jasności - tak się dzieje na wielu maszynach - między innymi na testowanym przeze mnie Acerze V3-772g. Aby umożliwić wspomnianą regulację należy w pierwszej kolejności zainstalować bumblebee:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic
sudo reboot
Po restarcie upewniamy się, że nie ma nouveau:
lsmod | grep nouveau
Następnie w pliku /etc/default/grub usuwamy nomodest i dodajemy acpi_backlight=vendor oraz acpi_osi=Linux do zmiennych - ostatecznie wyglądają one następująco:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="acpi_osi=Linux"
Na koniec aktualizujemy gruba:
sudo update-grub
I restart. Mam nadzieję, że to już koniec tych sprzętowych wpisów. ;)

2014-02-19

[linux] Instalacja Mint 16 obok Windowsa 7

Kilka rzeczy, które trzeba wykonać aby mieć Minta 16 obok Windowsa 7 - na jednym dysku.

  1. Najpierw instalujemy Windowsa 7. Przed instalacją konwertujemy tablicę partycji z GPT na MBR - aby tego dokonać w instalatorze windowsowym uruchamiamy konsolę (Shift + F10) i wpisujemy:
    diskpart
    list disk 
    select disk n - twój wylistowany
    clean
    convert mbr
    exit 
    
  2. Po instalacji windowsa (zostawiamy miejsce na dysku na drugi system) uruchamiamy instalatora Minta. Aby uniknąć czarnego ekranu w trakcie instalacji musimy dodać parametr nomodeset na końcu (przycisk tab nam pomoże tego dokonać)
  3. Po instalacji Minta edytujemy plik /etc/default/grub - modyfikujemy linię:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
  4. Restartujemy gruba poleceniem
    sudo update-grub

źródło:
http://forum.linuxmint.pl/index.php?topic=6067.0
http://ubuntu.pl/forum/viewtopic.php?t=129706

2014-02-18

[kohana] Korzystanie z zewnętrznych bibliotek

Dobrym zwyczajem jest instalowanie zewnętrznych bibliotek w katalogu application/vendor. Np w przypadku klienta Tumblr API (tumblr.php) będzie to katalog application/vendor/tumblr.
Kohana nie wczytuje automatycznie zewnętrznych bibliotek - trzeba je wczytać samodzielnie np za pomocą:
include Kohana::find_file('vendor/library', 'file_name');

2014-02-11

[apache] Zmiana użytkownika z www-data na innego

Zmiana apache'owego użytkownika z domyślnego www-data na innego (np. marcin) jest bardzo prosta - standardowo wszystko znajduje się w pliku /etc/apache2/envvars. Trzeba zmienić dwie linijki (jeśli chcemy zmienić również grupę) z:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

na:

#export APACHE_RUN_USER=www-data
export APACHE_RUN_USER=marcin
#export APACHE_RUN_GROUP=www-data
export APACHE_RUN_GROUP=marcin