Jak się dogadać

O czym ten wpis. Długo zastanawiałem się czy ten blog to miejsce na taki wpis. Ostatecznie postanowiłem go napisać, choć nadal mam sporo wątpliwości. O co chodzi? Zakładam, że spora część czytelników, to informatycy - zawodowo, lub z zamiłowania, albo jak popularnie się tez mówi "komputerowcy". A wiadomo: "komputerowcy", są trochę jakby innego świata, "nie da się z nimi dogadać " :) Wpis ten, będzie traktował o komunikacji interpersonalnej, czyli zupełnie nietechniczny. Może jednak, część z Was to zainteresuj, da powód do przemyśleń, rozwoju w ty kierunku.

Wstęp

Sama komunikacja jest bardzo szerokim tematem i nie sposób zamknąć go w jednym wpisie. Szczególnie ciekawe obszary to asertywność, umiejętność udzielania konstruktywnej krytyki i pochwały, narzędzia skutecznej komunikacji, wywieranie wpływu na innych i obrona przed tym wpływem oraz bariery w komunikacji. Ja zajmę się w tym wpisie tym ostatnim tematem. Do wyboru tego tematu zainspirowały mnie różne komentarze, które czytuję pod blogami oraz dyskusje prowadzone na forum.

AJAX i jQuery (cz. 2)

Witam w drugiej części wpisu o AJAX'ie i jQuery. Jeśli ktoś jeszcze nie miał okazji zapraszam do lektury części 1. Tym razem, tak jak obiecałem, prześlemy dane w obie strony. Zrobimy to na przykładzie formularza kontaktowego. Po wypełnieniu go przez użytkownika, wyślemy zawartość na serwer, sprawdzimy tam, czy pola zostały poprawnie wypełnione i jeśli tak wyślemy maila, a do przeglądarki odpowiedź o tym czy udało się wysłać maila, czy nie. Jeśli mail zostanie wysłany wyczyścimy formularz. Wszystko to zrobimy bez przeładowywania strony.

Prawa Murphy'ego cz IV

Mała przerwa była, ale wracam do serii wpisów o Prawach Murphy'ego. Bez zbędnych wstępów zapraszam do lektury, a tych, którzy nie czytali zapraszam do poprzednich części:

Ostatnie prawo

Jeżeli kilka rzeczy, które mogły się nie udać, udały się, to okaże się, że w ostatecznym rozrachunku lepiej byłoby, gdyby się nie udały.

Prawo Muira

Ilekroć usiłujemy zająć się jakąś jedną sprawą, okazuje się, że jest ona podwiązana do wszystkiego innego we wszechświecie.

Prawo Bocklage’a

Ten kto śmieje się ostatni, prawdopodobnie nie zrozumiał dowcipu.

Prawo Meadera

Cokolwiek przydarza się tobie, zdarzyło się już wszystkim twoim znajomym, i to w gorszej formie.

Rada Edelsteina

AJAX i jQuery (cz. 1)

W tym wpisie przedstawię jak załadować dane na stronę internetową bez jej przeładowywania. Wykorzystam w tym celu popularną bibliotekę JS o nazwie jQuery. Upraszcza ona operacje pobierania i wyświetlania danych na stronie i zapewnia działanie we wszystkich popularnych przeglądarkach.

Dzięki zastosowaniu AJAX'a możemy osiągnąć mnóstwo ciekawych rzeczy, ale przede wszystkim możemy przyspieszyć wyświetlanie informacji na stronie.

Zaczynamy

Na początek w sekcji head strony musimy załadować plik z biblioteką jQuery:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

Od teraz możemy używać jQuery na stronie. Stwórzmy przykładową stronę:

Co bym zmienił na blogu DP

Wstęp

Nie mam mocy sprawczej w kwestii funkcjonalności bloga DP, ale przecież pomarzyć mogę :). Na blogu nie piszę od dawna, ale kilka wpisów za sobą już mam. Pisząc wpisy urodziło mi się kilka pomysłów na zmiany funkcjonalne dla piszących. Jestem przekonany, że Redakcja DP cały czas główkuje i pracuje nad rozwojem bloga, w związku z tym podrzucę parę pomysłów. A nóż (widelec) coś się spodoba i zostanie wprowadzone.

Okno wpisu

Ciekawym rozwiązaniem jest poszerzające się okno wpisu. Czym więcej piszemy, tym okno robi się dłuższe. Bardzo fajny pomysł, bo łatwo stronę przewijać i nie motamy się między przewijaniem całej strony, a oknem wpisu. Natomiast każdy medal ma dwie strony. Tu też tak jest. Minusem w tym przypadku są znikające przyciski "zapisz","publikuj" itd. Fajnie rozwiązana jest sprawa, z przyciskami odpowiedzialnymi za edycję tekstu. Jest tam jeszcze sporo miejsca, więc można by dołożyć przynajmniej trzy przyciski "zapisz","podgląd" i "galeria". Ułatwiło by to znacznie tworzenie wpisu.

Obsługa daty i czasu w PHP

Każdy programista PHP zapewne zna funkcje date(), time() itp. Każdy kto ich używał wie też, że często ich użycie jest niewygodne i osiągniecie niektórych rzeczy jest trudne (np. policzenie różnicy w dniach miedzy określonymi datami). Dzisiaj chciałbym Wam przybliżyć wprowadzoną w PHP 5.2 klasę DateTime, która moim zdaniem upraszcza zadanie związane z obsługą czasu.

Konstruktor

Konstruktor klasy DateTime wygląda następująco:
public DateTime::__construct() (])

Pierwszy argument to łańcuch tekstowy przedstawiający datę, która będzie użyta jako podstawa operacji. Jeśli nie podamy tego argumentu zostaną użyte bieżąca data i czas. Czas możemy podawać w wielu różnych formatach np: "2012-04-12 14:45:21" albo "04/12/12". Możemy tez użyć słów np: "now" lub "tomorrow 14:25". To oczywiście nie wszystkie możliwości, a jedynie przykłady. Wszystkie możliwe formaty opisane są tutaj:

Narzędzia przydatne webmasterom

Słowo wstępu. W dzisiejszym wpisie przedstawię wam kilka narzędzi, które mogą ułatwić pracę nad stronami i aplikacjami internetowymi. Zaletą (pewnie i wadą jednocześnie) tych narzędzi jest to, że dostępne są online i działają w przeglądarce. Zachęcam każdego zainteresowanego do wypróbowania narzędzi. Część oszczędzi nam sporo czasu, część pozwoli nam tworzyć lepsze aplikacje.

Dobór kolorów

http://www.colorschemer.com/online.html
Jeśli ktoś ma problem z doborem pasujących do siebie kolorów może skorzystać z automatów, które podpowiedzą jakie kolory pasują do wybranego koloru bazowego.

Kolor bazowy możemy wybrać z lity lub wpisać ręcznie RGB lub lepiej znane webmasterom wartość HEX. Strona wygeneruje nam 16 kolorów, które wspólnie z wybranym powinny się dobrze komponować. Wynik co prawda nie zawsze jest idealny, ale często uda nam się wybrać 3-4 kolory na stronę. Ze strony można pobrać też bardziej rozbudowaną wersje programu działające na komputerze.

Generator PESEL

Prawa Murphy'ego cz III

Dziś kolejny wpis z Prawami Murphy'ego. Miałem założenie, że będą co niedzielę, ale w ostatni weekend była taka pogoda, że szkoda było czasu na siedzenie przed ekranem. Dziś będą prawa różne, z różnych dziedzin. Zapraszam też (jeśli ktoś jeszcze nie czytał) do części I i części II wpisu.
Zaczynamy.

Obserwacja Farnsdicka

Po tym, jak wpadniesz z deszczu pod rynnę, cykl się powtórzy

Prawo Lyncha

Kiedy zaczyna się robić gorąco, wszyscy nagle wychodzą

Prawo Evansa i Bjorna

Niezależnie od tego co się nie uda, zawsze znajdzie się ktoś, kto wiedział, że tak będzie

Prawa Langsama

  • Wszystko zależy
  • Nic nie jest zawsze
  • Wszystko jest czasami

Prawo Hellrunga:

Jeżeli poczekasz to przejdzie
Uzupełnienie Shavelsona:
...po tym jak narobi szkód
Dodatek Grelba:

Polskie znaki w temacie maila w PHP

Dzisiaj krótki wpis, ale mam nadzieję przydatny. Jeśli wysyłacie maile funkcją mail() w PHP być może natknęliście się na problem polskich znaków. W samej treści maila z problemem radzimy sobie dodając dodatkowy nagłówek – na co pozwala funkcja mail() np:
$naglowek =....; $naglowek .="Content-type: text/html; charset=utf-8"; mail('adres@mail.pl',$temat,$tresc,$naglowek)

Niestety dodanie nagłówka nie ma wpływu na kodowanie znaków w temacie maila. Aby poradzić sobie z tym problemem musimy zakodować base64 temat i dodać do tematu odpowiednie informacje o kodowaniu:
$temat= "=?UTF-8?B?".base64_encode("Temat z ogonkami ęóąśłżźćń")."?=";

Po pierwszym znaku zapytania dajemy informacje o kodowaniu znaków, po następnym o kodowaniu base64 (literka „B”).

Cytując manual PHP o base64:

Ten sposób kodowania został zaprojektowany, aby móc bezpiecznie przesyłać dane binarne, poprzez warstwy transportujące nie zaprojektowane do obsługi 8 bitowego przesyłania informacji, np. treść emaila.

Sprawdzamy co kryją zmienne w PHP

Piszemy sobie różne rzeczy w PHP i czasem coś nie działa jak tego byśmy oczekiwali. Co robimy? Szukamy błędu. Często najtrudniejszymi błędami do znalezienia są błędy w algorytmach i logice programu, a nie te w składni. Błędy w nazwach funkcji, brak przecinka czy średnika wyrzuci nam samo PHP - może nie dokładnie, ale wiemy mniej więcej czego szukać. Gorzej, jeśli program działa, tylko wyniki są błędne.