..niż się innym wydaje i mniejsza, niż być powinna. I w ogóle niepotrzebnie dali Ci tę pracę, nie wiesz, czemu ktoś Ci zaufał? Czujesz się jak oszust. Powinnaś im powiedzieć, że się do tego nie nadajesz, zrzec się pensji i pracować za friko. Przecież to, że Cię tutaj wpuścili to i tak zaszczyt.
Author: Katarzyna Kajzar
composer install vs. composer update
Composer to narzędzie służące do zarządzania zależnościami w projekcie w PHP. Mówiąc (zbyt?) prosto: służy do ściągania zewnętrznych bibliotek do projektu i pomaga zarządzać ich wersjami.
Read moreHigiena pracy zdalnej #02 – UBRANIE
Przez wiele lat wstajesz rano do szkoły, ubierasz się i biegniesz na zajęcia. Potem na studia, do pracy. Wygrzebać coś sensownego z szafy, postać trochę przed lustrem i wio. A teraz nagle nie musisz nigdzie iść i nikt Ciebie nie ogląda. Ile czasu można oszczędzić na ubieraniu się i makijażu?
Read moreHigiena pracy zdalnej #01 – CZAS
Już dawno nosiłam się z napisaniem artykułu o pracy zdalnej, ale materiału jest tak wiele, że zamiast jednego, powstanie cała seria. Pierwszy jest o czasie.
Read moreStudia informatyczne – o czym zapominamy, wybierając uczelnię?
Jakiś czas temu obserwowałam facebookową dyskusję na temat wyboru uczelni. Kierunek – wybrany, motywacja – jest, wiedza, oceny, matura – są, teraz tylko złożyć dokumenty i studiować, ale gdzie?
Read moreFenomen oszusta – podstępny bydlak
Wiele razy zazdrościłam innym specjalistom ich pewności siebie, zdolności parcia naprzód i wygłaszania opinii pewnie i bez mrugnięcia okiem. Oni nigdy nie mieli wątpliwości – po prostu coś wiedzieli, prawda?
Programując dostrzegałam zwykle wiele rozwiązań problemu, ale zamiast o nich opowiedzieć, pytałam kolegów, jak by coś zrobili. Najczęściej podawali jedno z moich rozwiązań, a ja nie dyskutowałam, bo przecież nie było o czym. Grzecznie przytakiwałam i szłam do roboty. Read more
Liczby zmiennoprzecinkowe
Notacja zmiennoprzecinkowa – tutaj trzeba już czarować
Teraz będzie trudniej. Z drugiej strony jeśli zrozumiałaś już notacje inżynierską, to będzie po prostu kolejny krok w Twojej podróży do bycia dobrym developerem.
Na początek definicja
Liczba zmiennoprzecinkowa to zapis naukowy, liczby rzeczywistej. Obliczany według wzoru
x = SM * BE
S znak (en sign)
M mantysa (en mantissa),
B baza(en base), czyli baza systemu liczbowego, bo przecież możemy chcieć użyć tego zapisu i dla liczby dziesiętnej, i heksadecymalnej i binarnej (tutaj więcej o systemach liczbowych)
E wykładnik, cecha (exponent)
Wzór jest dokładnie taki sam jak w wypadku notacji naukowej. Jest tylko jedno małe ale, liczba rzeczywista może być niewymierna (czyli nie da się jej zapisać np 1/3 to 0.3333(3) )
Dlatego zarówno mantysa i baza mają określony rozmiar. Czytaj na znak + lub – mamy jedno miejsce, mantysa i cecha muszą też zmieścić się w ograniczonej ilości znaków. Jak się nie zmieści, zostanie po prostu ucięta – jakbyś garnek rosołu wlewał do talerza – co się zmienić, to będzie w talerzu, co się nie zmieści, stracone. Ucinając „wystające” znaki mantysy czy cechy, tracimy precyzję.
Więc
Avada Kedavra Końcóweczki!
Zobaczmy to w działaniu!
Zadanie jest proste (mam nadzieje). Musimy zapisać liczbę w systemie dziesiętnym (nasze B = 10), mając na to ściśle określona liczbę znaków :
1 miejsce na znak (+ lub -)
4 miejsc na mantyse
2 miejsca na wykładnik. plus jeden na znak wykładnika
Np zapiszmy liczbę 1023 w takich założeniach
S = + bo mamy liczbę dodatnią
M = 1023 bo mamy miejsce na 4 znaki
E = 0
+1023E+0
Ale
Np zapiszmy liczbę -0,0000001023 w takich założeniach
S = – bo mamy liczbę dodatnią
M = 1023 bo mamy miejsce na 4 znaki
E = -10
+1023 E-10
Czyli możemy zapisać naprawdę małe liczby!
Niestety notacja zmiennoprzecinkowa nie jest idealna.
Problem pierwszy, polega na nieprecyzyjności zapisu (gubimy końcówki)
zapiszmy liczbę -0,00000010234 w takich założeniach
S = – bo mamy liczbę dodatnią
M = 1023 bo mamy miejsce na 4 znaki
E = -10
Zgubiliśmy końcówkę liczby! mantysa to już nie 10234 a tylko 1023
To bardzo źle ponieważ np operacja dodawania straciła łączność. Czyli używając notacji liczby rzeczywistej, wynik będzie różny w zależności od kolejności dodawania. Np
jeżeli wynikiem dodawania a + b + c jest d to a + c + b już nie musi dać d!
Taki przykład na liczbach: 0,1+0,3+0,2 może dać 0,6000001) a nie samo 0,6 jak się spodziewaliśmy, a np 0,3+0,2 + 0.1
Kolejną wadą notacji zmiennoprzecinkowej, jest to problem podwójnego zera.
Jak to możliwe? A no zapis +0 i zapis -0 to dwie różne liczby. Komputer patrzy na
1000000 i 0000000 to mu się nie zgadza.
Dlatego trzeba sobie jakoś z tym radzić. I jest kilka standardów która można wybrać Każdy ma swoje wady i zalety ale o tym już kiedyś indziej.
Dzisiaj mam nadzieje że chociaż trochę przybliżałem Ci z notacje zmiennoprzecinkową.
Popełniłam błąd: nie skakałam po kamieniach!
Krąży po sieci od pewnego czasu opowieść o tym, jak to pewien nauczyciel – przyjmijmy, że to ta wersja z nauczycielem – kazał uczniom wsypać piasek do słoika, potem kazał wsadzić mniejsze kamyczki i na końcu duże kamienie. Oczywiście się nie mieściły. Gdy jednak zaczniemy zapełniać słoik najpierw większymi kamieniami, a potem dopiero dosypujemy żwir, piasek, wlewamy wodę, okazuje się, że wewnątrz słoika jest wszystko. I tak jest z nauką programowania! Read more
Podsumowanie kilku miesięcy pracy Matki Programistki
Minęło kilka miesięcy od startu projektu Matka Programistka i przeszłam już chyba wszystkie klasyczne etapy: początkowy zapał i podniecenie wizją, masa pracy wrzuconej na początku, odsianie części zadań jako niepotrzebnych, atak sił nieczystych na moje serwery, skupienie się na produkcie i zwątpienie, czy to ma sens. Teraz trzeba wejść w kolejny etap, a to oznacza zmiany. Zobacz, co planuję i dlaczego! Read more
Programowanie i wolność
Programując od lat, wychowując dzieci, prowadząc dom, zawsze i wszędzie, szeroko mówię, że dobrze mi programować, bo to zawód idealny dla mnie: kobiety i matki – wygodny, z elastycznymi godzinami pracy, dający wolność co do miejsca i czasu. Jakie są pułapki tej programistycznej wolności? Bierz i czytaj!