Rozbudowane projekty wymagają zaangażowania zespołu programistów. By ich współpraca była efektywna, niezbędny jest system kontroli wersji, taki jak Git. Umożliwia on tworzenie historii projektu, zarządzanie jego wersjami, przeglądanie wszystkich zmian, a także przywracanie pliku do dowolnej wcześniejszej wersji. Repozytoria Gita można przechowywać w GitHubie - w ten sposób bez ponoszenia dodatkowych opłat udostępnia się kod innym osobom. Korzystanie z Git...
Od zera do SEO-bohatera! Trzecia książka duetu Agnieszka Ciborowska i Jarosław Lipiński (po WordPress dla początkujących i WordPress 5 dla początkujących) wydana przez Helion dotyczy pozycjonowania stron internetowych. Dwie pierwsze powstały z myślą o tych, którzy chcą samodzielnie nauczyć się tworzyć strony internetowe - najnowsza publikacja stanowi niejako dopełnienie tamtych podręczników. Jest przeznaczona dla osób, które chciałyby się zająć zw...
Baw się ― i ucz się programowania! Programowanie to dziś niezwykle ważna umiejętność. I wszystko wskazuje na to, że jego znaczenie będzie tylko rosło. Warto więc zawczasu pomyśleć o przyszłości swojego dziecka i pomóc mu rozpocząć przygodę z programowaniem. Tym bardziej że istnieje Scratch ― język kodowania, wokół którego skupia się liczna społeczność internetowa ― pozwalający tworzyć własne interaktywne historie, gry i animacje i dziel...
Większość poważnych organizacji docenia wartości płynące z danych. Doświadczeni analitycy potrafią nie tylko wyciągać z ich zbioru informacje niezbędne do podejmowania decyzji biznesowych, ale także zastosować odpowiednie style wizualizacji danych i tworzyć przekonujące narracje cyfrowe. Przy tym wszystkim konieczne jest pełne wdrożenie zasad bezpieczeństwa danych. Niezastąpionym narzędziem dla specjalisty BI może być pakiet samoobsługowych narzędzi analitycznych Microsoft Po...
Doskonałe opanowanie dowolnego języka programowania nie wystarczy do tego, aby stać się świetnym programistą czy deweloperem. Konieczne jest również zdobycie praktycznej wiedzy dotyczącej algorytmów. Oznacza to, że aby pisać lepszy kod, podczas rozwiązywania rzeczywistych problemów trzeba umieć korzystać z algorytmów, włączając w to ich budowanie, modyfikację i implementację. Niezależnie od tego, jaką dziedziną informatyki się zajmujesz, biegłość w...
Książka Sylwestra Walczaka jest poświęcona Django, wolnej, otwartoźródłowej platformie programistycznej służącej do tworzenia aplikacji internetowych. Autor udowadnia, że wbrew obiegowym opiniom Django jako framework nadaje się do budowy mikroserwisów - autonomicznych usług, które współpracują ze sobą, tworząc na przykład serwis internetowy. Odwołuje się przy tym do API potrzebnego do obsługi kawiarni. Jest to więc swojego rodzaju instrukcja, kt&oa...
Linux cieszy się dużą popularnością wśród administratorów i użytkowników. Znakomicie sprawdza się nawet na bardzo skromnym sprzęcie. Działa na komputerach Raspberry Pi, na maszynach wirtualnych i na komputerach marsjańskich łazików. Niezależnie od tego systemy linuksowe są cały czas rozwijane i dostosowywane do najnowszych trendów i technologii systemów informatycznych. Niezależnie od tego, czy używasz Linuksa do programowania, do two...
Mimo że osiągnięcia matematyczne stały się podwalinami algorytmiki, wielu inżynierów nie w pełni rozumie reguły matematyki dyskretnej. Nawet jeśli nie stanowi to szczególnego problemu w codziennej pracy, w końcu okazuje się, że matematyka dyskretna jest niezbędna do osiągnięcia prawdziwej biegłości w operowaniu algorytmami i w pracy na danych. Co więcej, znajomość tej dziedziny bardzo ułatwia rozwiązywanie problemów z zakresu uczenia maszynowego. W ten sp...
Uczenie maszynowe staje się wszechobecne. Dzięki coraz lepszym narzędziom służącym do tworzenia aplikacji szczegóły techniczne związane z obliczeniami i modelami matematycznymi są często pomijane przez projektantów. Owszem, to wygodne podejście, ale wiąże się z ryzykiem braku świadomości co do wszystkich konsekwencji wybranych rozwiązań projektowych, szczególnie ich mocnych i słabych stron. A zatem bez ugruntowanych podstaw matematyki nie można mów...
Poznaj podstawy programowania funkcyjnego w Javie Java jest obiektowym, bazującym na klasach, współbieżnym językiem programowania. Niezwykłą popularność zawdzięcza on między innymi niezależności od platformy, łatwości pisania w nim programów i klarownemu kodowi. Nic więc dziwnego, że Javę pokochało wielu programistów. To do nich jest skierowana dwuczęściowa publikacja Java. Zadania z programowania, której autorem jest Mirosław J. Kubiak. Jej drug...
Programowanie w Javie - szybko i konkretnie "Jeśliby posadzić milion małp przy milionie klawiatur, któraś z nich napisze w końcu program w Javie. Reszta zrobi to w Perlu" - głosi jedna z informatycznych anegdot punktujących Javę. Cokolwiek by jednak mówić o tym języku programowania, trzeba przyznać, że powstały w nim kod jest niezależny od systemu operacyjnego i procesora. Właśnie ta cecha stanowi o ogromnej popularności Javy. Jeśli chcesz dołączyć d...
Go pojawił się w 2009 roku, służy do tworzenia usług internetowych. Pozwala na łatwe pisanie wydajnych aplikacji. Zdobył popularność, jednak wielu programistów nie wykorzystuje w pełni jego możliwości. Dotyczy to zwłaszcza osób, które przy pisaniu kodu Go korzystają z konstrukcji właściwych dla innych języków. Nie jest to właściwa metoda programowania. Aby tworzyć przejrzysty, prawidłowy kod w Go, należy do niego podejść w sposób idiomatyczn...
Matematyka jest… prosta! Wielu uczniom ― ale także ich skazanym na opłacanie kosztownych korepetycji rodzicom ― matematyka kojarzy się jak najgorzej. Nie każdy nauczyciel bowiem potrafi przekazać swoją pasję do tego przedmiotu w taki sposób, by zainspirować młodego człowieka. Nie każdy też umie wytłumaczyć (pozornie) skomplikowane reguły algebraiczne i nauczyć trików pozwalających liczyć prościej, sprytniej i zupełnie bez problemów.&nb...
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami, znany jako TDD. Technika ta opiera się na integracji procesów projektowania aplikacji i pisania kodu z prowadzeniem testów. Mimo że taki sposób pracy wydaje się dość wymagający dla zespołów deweloperów, łatwo się przekonać, że TDD pozwala na stałe uzyskiwanie dobrych efektów, a opracowane tą metodą apli...
Systemy oparte na uczeniu maszynowym są coraz bardziej wyrafinowane. Spośród wielu narzędzi służących do implementacji algorytmów uczenia maszynowego najpopularniejszy okazał się Python wraz z jego bibliotekami. Znajomość tych narzędzi umożliwia sprawne tworzenie systemów uczących się, jednak uzyskanie spektakularnych wyników wymaga doświadczenia i wprawy. Konieczne są więc ćwiczenia i praktyka w samodzielnym rozwiązywaniu problemów._x005F_x...
Przez ostatnie trzydzieści lat Python intensywnie się rozwijał. Stał się dojrzałym językiem programowania, nadającym się do tworzenia zarówno niewielkich, wyspecjalizowanych narzędzi, jak i złożonych systemów. Zakres jego możliwości poszerzają liczne biblioteki i narzędzia. Ta wszechstronność i bogactwo stanowią jednak duże wyzwanie dla programistów, którzy chcieliby nie tyle poznać poszczególne funkcje tego języka, ile dogłębnie go zrozumie...
Najlepszą metodą unikania udanego cyberataku jest utrzymywanie w gotowości zabezpieczeń systemowych. Szczególna rola na tym polu przypada pentesterom, którzy używając tych samych technik co napastnicy, wyszukują podatności i przełamują zabezpieczenia. To pozwala lepiej dostroić działanie mechanizmów obronnych. Ulubionym systemem pentesterów jest Kali - popularna i potężna dystrybucja Linuxa. Zawiera ona przebogatą bibliotekę narzędzi służących do p...
Język Python jest znany jako wszechstronny, elastyczny i łatwy do nauczenia. Te zalety doceniają naukowcy, programiści i oczywiście hakerzy. Testowanie penetracyjne bowiem wymaga umiejętności szybkiego tworzenia skutecznych narzędzi, a do tego Python nadaje się znakomicie. Jednak wiedza o mrocznej stronie Pythona przydaje się nie tylko pentesterom i napastnikom. Świadomość o możliwościach kodu Pythona jest pomocna również podczas pracy administratorów i programi...
Blockchain, czyli łańcuch bloków, niefortunnie kojarzy się z kryptowalutami i przestępczością. Tymczasem potencjał tej technologii jest ogromny i zapewne wciąż nie znamy wszystkich możliwych jej zastosowań. Łańcuch bloków jest w istocie publicznym rejestrem, który może się stać ogólnoświatową, zdecentralizowaną księgą służącą do rejestrowania, inwentaryzacji i organizowania transferów wszelkiego rodzaju aktywów. Najwyższy więc czas, a...
Finanse i Python. Łagodne wprowadzenie do teorii finansów Rozwój technologii i dostęp do danych finansowych stały się ogromnym ułatwieniem w korzystaniu z globalnych rynków finansowych. Jeśli zechcesz, możesz szybko zacząć przygodę na przykład z handlem algorytmicznym. Wystarczy, że masz niewielkie pojęcie o matematyce, programowaniu i ekonomii. Niestety, nieliczne programy nauczania o finansach integrują ze sobą te trzy dziedziny. Tymczasem koncepcje ma...
Hardware i testy penetracyjne. Przewodnik po metodach ataku i obrony Wraz z rozwojem internetu rzeczy, a także upowszechnianiem się elektronicznego sterowania i kontrolowania różnych procesów przestępcy doskonalą techniki łamania zabezpieczeń systemów wbudowanych. Konsekwencje skutecznego ataku na jakiś kluczowy element infrastruktury mogą się okazać dotkliwe i niezwykle kosztowne. Oznacza to, że testowanie pod kątem bezpieczeństwa powinno dotyczyć sprzę...
Majsterkowiczów wyróżnia ciekawość. Pasjonuje ich wyjaśnianie, jak działają poszczególne obiekty, i praktyczne zastosowanie wiedzy w coraz to ambitniejszych projektach. Bogatym źródłem inspiracji dla wszystkich złotych rączek jest inżynieria mechaniczna. Przydaje się również odrobina wiedzy o prawidłach fizyki i matematyki. Można ją zdobyć podczas lektury trudnych podręczników akademickich albo na wyczerpujących studiach inżynierskich...
Popularność Pythona, ulubionego języka programistów i naukowców, stale rośnie. Jest on bowiem łatwy do nauczenia się: nawet początkujący programista może napisać działający kod. W efekcie, mimo że Python pozwala na pisanie kodu przejrzystego i prostego w konserwacji, zdarzają się przypadki kodu źle zorganizowanego, nieczytelnego i praktycznie nietestowalnego. Jedną z przyczyn tego stanu rzeczy jest tendencja niektórych programistów do pisania kodu ...
Montuj filmy jak profesjonalista! Program DaVinci Resolve to absolutny fenomen wśród oprogramowania służącego do montażu wideo. Równie chętnie bowiem korzystają z niego specjaliści z największych wytwórni filmowych Hollywood, jak amatorzy w zaciszu własnych domów. Dzieje się tak, ponieważ DaVinci oferuje szerokie możliwości, i to zarówno w wydaniu płatnym (Studio), jak i darmowym ― prawdę mówiąc, wersje różnią się ledwie...