Windows: Otwieranie okna konsoli w danym katalogu.

System Windows na pewno nie jest systemem, o którym można pisać wiele w kontekście przydatności dla programisty. Zarówno konsola systemowa, jak też ogólna budowa systemu niespecjalnie sprzyjają konfiguracji zaawansowanych rozwiązań i środowisk programistycznych. Ostatnio poznałem jednak jedną funkcję Windowsa, która może nie jest specjalnie ambitna, ale bardzo ułatwia życie, co postaram się przedstawić w niniejszym wpisie.

 

Linkdump #50: Co za font!

Czym byłyby nasze programy, strony internetowe, skrypty i inne twory wyobraźni, gdyby nie czcionki, które wdzięcznie wyświetlają powierzoną im treść? Na to pytanie nie ma jednoznacznej odpowiedzi, aczkolwiek każdy zgodzi się, że gdyby nie mnogość krojów pisma, nie bylibyśmy w stanie tak zręcznie sterować wyglądem produktu, sugerując użytkownikowi końcowemu niewerbalne znaczenie danego tekstu. Dlatego dzisiejszy Linkdump po raz kolejny jest poświęcony właśnie czcionkom, które dają nam tego typu możliwości.

Redmine: Jak połączyć użytkowników SVN z użytkownikami projektu?
Od dłuższego czasu jestem bardzo zadowolonym użytkownikiem systemu zarządzania projektami Redmine. Pomimo tego, że jest on napisany w Ruby, używa się go bardzo wygodnie, w miarę bezproblemowo można go także skonfigurować według własnych wymagań. Jednym z problemów jest jednak dosyć niestandardowe rozmieszczenie linków do niektórych funkcji systemu, przez co o niektórych możliwościach nie wiemy lub dowiadujemy się przypadkiem. W moim przypadku takie “przypadkowe” trafienie na stronę zawierającą interesujące ustawienia zdarzyło się dzisiaj z samego rana, a więc jeszcze ciepłe przekazuję Wam.
PHP: Odczytywanie wartości bajtów liczby całkowitej.

Dzisiejszy wpis po raz kolejny [poprzednio pisałem o flagach bitowych] zabiera nas w świat manipulacji niskopoziomowymi danymi, odzierając nieco PHP z jego wygodnej, wysokopoziomowej abstrakcji. Skupimy się w nim na wewnętrznym sposobie reprezentacji liczb i odczytywaniu informacji o wartościach ich kolejnych bajtów.

[Linkdump #15] PHP - Przyszedł Haker i... Popsuł.

W poprzednich linkdumpach dostaliście sporą dawkę informacji na temat programowania od strony frontendu, więc trzeba to nieco zmienić, bo byłoby zbyt prosto. Dzisiaj więc poczęstuję Was czymś bardziej serwerowym - zapraszam [już po raz drugi] do zapoznania się ze zbiorem materiałów na temat języka PHP.

Linkdump.

1. 9 Extremely Useful and Free PHP Libraries. Zestawienie ciekawych bibliotek do zadań wszelakich. Ze swojej strony polecam szczególnie PHPMailera i ReCAPTCHA.

[Windows] Zmiana litery partycji.
Od prawie dwóch lat jestem szczęśliwym posiadaczem i użytkownikiem jednego z modeli dysku zewnętrznego WD My Book. Jak każdy do tej pory posiadany przeze mnie dysk tej firmy działa bezbłędnie, także jestem w pełni zadowolony z zakupu. Czasem jednak występuje problem z systemem operacyjnym, a konkretnie ze sposobem montowania partycji dysku przy niektórych uruchomieniach. Problem. Przy niektórych uruchomieniach systemu partycja dysku jest oznaczona inną niż zwykle literą. Nie jest to problem szczególnie utrudniający pracę, jednak niektóre programy, które korzystają z danych znajdujących się na dysku zewnętrznym zgłaszają ich brak, co jest nieprawdą - oczywiście dane istnieją, jednak są niedostępne pod zapisaną ścieżką.
[PHP, (My)SQL] Systemy uprawnień na stronach internetowych, część 0x03: Macierz uprawnień.

W ostatnich wpisach z tej serii skupialiśmy się na zarządzaniu uprawnieniami pewnych grup użytkowników naszej aplikacji. Obszary dostępu to nic innego jak podział na dwie sztywne grupy posiadające [lub nie] dostępu do pewnych zabezpieczonych elementów systemu, zaś poziomy to tylko wykorzystanie abstrakcji do złożenia w jednym miejscu wielu obszarów. Opisując te sposoby “celowo zapominałem” o tym, że nie zawsze da się podzielić użytkowników na odpowiednie grupy, ponadto nie zawsze nadane uprawnienia muszą być sztywne - czasem chcemy np. dać dodatkowo jednemu zaufanemu użytkownikowi dostęp do statystyk witryny, albo przeglądania artykułów - wtedy musielibyśmy stworzyć albo oddzielny obszar albo nowy poziom, który notabene zburzyłby dotychczas istniejącą strukturę. Co zrobić z takim problemem?

Wstęp.

Oczywiście potrzebujemy jeszcze innego, nowego systemu zarządzania uprawnieniami, który pozwoliłby na zachowanie istniejących zysków i przy okazji wyeliminowałby słabości tych, które testowaliśmy do tej pory. W szczególności powinien umożliwiać:
  • nadawanie indywidualnych uprawnień
  • nadawanie grupowych uprawnień
  • reagować na fakt posiadania uprawnienia przez użytkownika lub przypisanej mu grupy
Drodzy Czytelnicy, oto przed Wami najnowszy cud techniki - macierze uprawnień! Ale nie wyprzedzajmy zbytnio materiału - wszystko ma swoją kolej. ;]

[PHP, (My)SQL] Systemy uprawnień na stronach internetowych, część 0×02: Poziomy użytkowników.

Przyznaję bez bicia, że od ostatniego wpisu w tej serii upłynęło [zbyt] wiele czasu, za co ponoszę winę jedynie ja, ponieważ dopisywałem po jedno - dwa zdania co jakiś czas, ale ogólnie post “wisiał” na liście szkiców i “grzał ławkę”, nie mogąc się doprosić o solidne dokończenie i wejście na “boisko” strony głównej niniejszego bloga. W związku z tym postaram się dzisiaj i za tydzień zamieścić ostatnie części, tak, aby można było zamknąć temat. Przy tworzeniu kolejnej tego typu serii będę musiał chyba od razu napisać wszystkie części i po prostu publikować je w pewnych odstępach czasu, bo w tym tempie to kolejny wpis ukazałby się pewnie w listopadzie. ;] Ale do rzeczy: w jednym z poprzednich wpisów omówiliśmy najprostszy system zarządzania uprawnieniami, czyli autoryzację na podstawie flagi dostępu do danej sekcji strony. Dzisiaj rozszerzymy to rozwiązanie pozwalając na większą kontrolę i możliwość konfiguracji miejsc, do których ma dostęp nasz użytkownik.

Na czym to polega?

Opisany wcześniej sposób autoryzacji nie jest optymalny, ponieważ w podstawowej wersji pozwala na podzielenie użytkowników na jedynie dwa typy - tych którzy mają dostęp do treści “ukrytych” i tych, którzy muszą się “obejść smakiem”. Wprowadzanie kolejnych kolumn opisanych jako obszary dostępu także nie zdaje egzaminu - przy rozrastającym się systemie musielibyśmy stworzyć tabelę posiadającą kilkadziesiąt, jeśli nie kilkaset kolumn w stylu “allow_[nazwa obszaru]“. Tutaj z pomocą przychodzi nowy pomysł - poziomy użytkowników.

[Windows] Przywracanie widoczności okien poza ekranem.
Na pewno pamiętacie mój niedawny wpis dotyczący pracy na dwóch monitorach. Ostatnio zaszła w tej materii mała zmiana, ze względu na fakt, że musiałem jeden z nich odstąpić [pożyczyć] koledze - jego sprzęt niestety odmówił dalszej współpracy, a bez komputera ciężko się żyje. ;] W każdym razie kolega się cieszy bo dalej może pracować, a ja natrafiłem na kolejny całkiem ciekawy problem. Problem. Pracując na dwóch ekranach miałem możliwość dowolnego rozmieszczania okien, co było bardzo przydatne - system był na tyle miły, że pamiętał ostatnie położenie każdego z nich.
[Windows] Konsola systemu operacyjnego Linux.

Każdy, kto kiedykolwiek zetknął się z Linuksem, czy też innymi “Uniksopodobnymi” systemami operacyjnymi na pewno zauważył, że przeniesienie przyzwyczajeń i sposobu myślenia z Windowsa nie jest proste. Sam zmagam się teraz z tym problemem, ponieważ na nowym komputerze, który mam zamiar nabyć w [mam nadzieję] niedalekiej przyszłości, chciałbym po raz kolejny [chyba już trzeci] dać szansę Debianowi na zajęcie pozycji głównego OSa - zwykle po pewnym czasie wracałem do niedających się wyrzucić “wspomnień” okienek, z których, w wersji XP, aktualnie korzystam. “Dysk” C: zamiast /dev/hda0, Panel Sterowania zamiast ustawień w /etc, klikanie myszą zamiast wpisywania poleceń oraz wiele innych “spraw życia codziennego” skutecznie uniemożliwiało mi “przezwyczajenie” się do otwartych rozwiązań. Tym bardziej, że uczelnia przez program MSDNAA daje darmową licencję na produkty Microsoftu… W każdym razie w życiu każdego człowieka, a szczególnie takiego związanego z nowymi technologiami [wszystko się zmienia w bardzo szybkim tempie], w pewnym momencie przychodzi czas na rewolucję, a przynajmniej przygotowanie do niej. Takim właśnie przygotowaniem była instalacja i konfiguracja “prawie natywnego” środowiska Linuksowego… pod Windowsem.

Czego potrzebuję?

Na początku pozwolę sobie opisać jak to zrobiłem, tak, abyś czytając kolejne rozdziały mógł skonfrontować swoje poglądy z moimi wnioskami. Tak więc - do dzieła!