Wszystkie Artykuły
*beep*
Mini Kurs Pythona #6: Pętle.
Pętle to jedne z najpopularniejszych konstrukcji w każdym języku programowania. W Pythonie przyjrzymy się dwóm konstrukcjom: for oraz while. Każda ma swoje preferowane zastosowania, ale pierwsza z nich jest dużo popularniejsza. Pętla for Zacznijmy od przykładu: values...
Qt 6 nadchodzi.
Qt 5 zmieniło wszystko W 2012 roku Qt 5 zostało pokazane światu. Wersja ta była zapowiadana jako naturalna kontynuacja Qt 4, ale wprowadziła też wiele nowości i przez ostatnie lata osiągnęła coś, co można nazwać sukcesem. Ekosystem Qt przekroczył masę krytyczną....
Mini Kurs Pythona #5: Instrukcje warunkowe.
Wiemy już, jak wyglądają podstawowe typy danych w Pythonie i jak działają zmienne. Pora na instrukcje warunkowe. Porozmawiamy o instrukcjach if - else - elseif, operatorze warunkowym oraz o najbardziej charakterystycznej cesze Pythona - obowiązkowych wcięciach w...
Mini Kurs Pythona #4: Zmienne.
Podstawy. Zmienna jest jedną z najpopularniejszych koncepcji w świecie programowania. W Pythonie należy ją traktować jak nazwę przypisaną do obiektu. Nie definiujemy jej typu, ani też nie deklarujemy jej przed pierwszym użyciem. Po prostu przypisujemy wartość (obiekt)...
Mini Kurs Pythona #3: Jak zacząć ? Podstawowe typy danych.
Przyszedł czas na sprawdzenie podstaw Pythona w praktyce (nawiasem mówiąc nie znam skuteczniejszej metody nauki). Wykorzystamy do tego wspomnianą wcześniej sesję interaktywną. Po jej uruchomieniu zobaczymy mniej więcej coś takiego: Python 3.5.2 (default, Nov 23 2017,...
Co czeka framework Qt w 2018 roku ?
Qt wciąż niesamowicie się rozwija. Równolegle z poprawianiem błędów i tworzeniem nowych funkcjonalności, framework stara się opanowywać nowe, nieznane dotychczas dla niego obszary. Kolejne wersje przynoszą wsparcie dla nowych platform, zarówno systemowych, jak i...
3 kluczowe umiejętności przyszłych programistów.
Uczysz się programowania, żeby w przyszłości móc pracować w branży informatycznej ? A może zacząłeś już szukać pracy jako młodszy programista ? Powiem ci jedno… Nie jest to w tej chwili takie proste. Zapewne słyszałeś, że rynek cierpi na brak rąk do pracy. Problem w...
C++11 #12: Jak działa semantyka przeniesienia ?
Referencje do r-wartości. Semantyka przeniesienia to jedna z kluczowych koncepcji nowoczesnego języka C++, która zadebiutowała w C++11. Sam język potrzebował jednak kilku nowych funkcjonalności, które umożliwiłyby wprowadzenie tej idei w życie. Podstawą stały się...
Programisto, słuchaj podcastów !
Podcasty dla programistów. Ogólnie rzecz biorąc, podcasty na poważnie przebiły się do mojej świadomości w zeszłym roku. Okazuje się, że bardzo odpowiada mi taki sposób przekazywania informacji. Naturalnym krokiem było odnalezienie wartościowych audycji, które byłyby...
DRY – KISS – YAGNI, czyli jak „doświadczeni” programiści zapominają o podstawach.
DRY - KISS - YAGNI. Tak, tak - wszyscy programiści uwielbiają chwytliwe akronimy. Ten podziw rośnie przeważnie wraz ze stażem pracy. Z zastosowaniem reklamowanych zasad w praktyce bywa jednak bardzo różnie. Okazuje się, że im prostsza reguła, tym trudniej ją zachować...
C++ Core Guidelines: Filozofia.
C++ Core Guidelines: Filozofia. Zaczniemy od naprawdę ogólnych zasad. Źródłem większości przykładów jest oryginalny dokument C++ Core Guidelines. P1. Wyrażaj swoje pomysły bezpośrednio w kodzie. Kompilatory, podobnie jak większość programistów, nie czytają komentarzy....
C++11 #11: Inteligentne wskaźniki wchodzą do gry: std::shared_ptr, std::weak_ptr.
std::shared_ptr. W odróżnieniu od std::unique_ptr, std::shared_ptr opiera się na współdzieleniu właśności (ang. shared ownership) przechowywanego zasobu. Z tego powodu możemy posiadać wiele inteligentnych wskaźników typu std::shared_ptr, wskazujących na ten sam obiekt...
C++11 #10: Inteligentne wskaźniki wchodzą do gry: std::unique_ptr.
Inteligentne wskaźniki wchodzą do gry. Do tej pory wpisy na temat C++11 dotyczyły bardzo ważnych i przydatnych zmian w języku. Jednak to zarządzanie pamięcią i wskaźniki doczekały się największych, fundamentalnych usprawnień w nowym standardzie - jednym z...
C++11 #9: Wyłączanie funkcji z użycia: słowo kluczowe delete.
Słowo kluczowe delete w deklaracji funkcji. Czasami zachodzi potrzeba uniemożliwienia wywołania konkretnej funkcji. A dokładniej - zadbania o to, żeby zdefiniowanej wcześniej funkcji nie można było użyć w kodzie importującym/używającym wcześniej zdefiniowanych...
Mini Kurs Pythona #2: Instalacja Pythona oraz wybór narzędzi.
Instalacja Pythona - Linux. Jeśli korzystacie z systemu operacyjnego z rodziny Linux, Python jest już najprawdopodobniej zainstalowany w systemie. Może to być jednak druga (gałąź 2.X), a nie trzecia (3.X) wersja języka, dlatego zalecam sprawdzić, czy Python 3 jest...
C++11 #8: Przeciążanie funkcji wirtualnych: specyfikator final.
Specyfikator final. W poprzednim wpisie z serii C++11 opisałem specyfikator override. Niejako w parze z nim występuje specyfikator final, który również odnosi się do przeciążania funkcji wirtualnych w klasach pochodnych. Mówiąc krótko: jeśli nie chcemy, żeby funkcja...
C++ Core Guidelines.
C++ Core Guidelines. C++ Core Guidelines - co to jest ? Jest to temat, którym warto się poważniej zainteresować - a przynajmniej ja go za taki uważam 🙂 C++ Core Guidelines jest projektem, wystartowanym przez Bjarne Stroustrup'a (tego pana powinniście kojarzyć) i...
C++11 #7: Przeciążanie funkcji wirtualnych: specyfikator override.
Do każdego aspektu języka, z którego korzystamy, możemy mieć mniejsze lub większe uwagi. Oczywiście również posiadam swoją subiektywną listę niedociągnięć, jeśli chodzi o język C++. Pomimo tego, że bardzo docieniam polimorfizm i sposób zaimplementowania tego...
Mini Kurs Pythona #1: Dlaczego Python 3 ?
No właśnie... Dlaczego ? Z Pythonem w wersji trzeciej zetknąłem się jakieś 3-4 lata temu. Potrzebowałem narzędzia, które w szybki sposób będę mógł zmusić do skutecznego przetwarzania dużej ilości danych tekstowych. Wybór okazał się trafny, ponieważ już w ciągu kilku...
C++11 #6: Silne typy wyliczeniowe.
Większość programistów języka C++ zna doskonale typy wyliczeniowe (enum), zdefiniowane w standardzie C++98/03. Jest to wygodne, często wykorzystywane narzędzie. Jest to jednak również funkcjonalność, która posiada kilka zauważalnych niedociągnięć, przez co użycie...
C++11 #5: Nawiasy kątowe a argumenty szablonów.
Dzisiejszy temat dotyczy jednego z najbardziej zdumiewających problemów poprzednich standarów języka C++. Dlaczego zdumiewających ? Między innymi dlatego, że udało mu się przetrwać dzielnie kilkanaście lat (!), pomimo swojej nieskomplikowanej natury - chodzi o...
Qt Tutorial #5: System zasobów biblioteki Qt.
System zasobów biblioteki Qt. W przypadku prawie każdego programu zachodzi potrzeba dostarczenia, wraz z plikiem wykonywalnym, dodatkowych zasobów. Dobrym przykładem są obrazy wykorzystywane w graficznym interfejsie użytkownika. Możemy oczywiście dostarczać obrazy...
C++11 #4: Wskaźnik pusty – słowo kluczowe nullptr.
Wskaźnik pusty - nullptr. Standard C++11 zajął się na poważnie jedną z kluczowych kwestii w kontekście języka - oznaczaniem wskaźników pustych (nieważnych). Nowościami są tutaj słowo kluczowe nullptr, oznaczające wskaźnik pusty oraz typ wskaźnika pustego, czyli...
C++11 #3: Zakresowa pętla for.
Zakresowa pętla for. Poprzednio rozmawialiśmy o znaczeniu słowa kluczowego auto w C++11. Zakresowa pętla for jest często używana w parze ze słowem auto. Sam pomysł jest rozwinięciem koncepcji zwykłej pętli for o funkcjonalności, które w innych językach programowania...
Qt Tutorial #4: Sygnały i sloty.
Sygnały i sloty. Sygnały i sloty to pomysł na komunikację pomiędzy różnymi obiektami w bibliotece Qt. To pomysł odmienny od tzw. wywołań zwrotnych, stosowanych w większości konkurencyjnych do Qt framework'ów. Jak zobaczymy w dalszej części artykułu, sam system jest...
Qt Tutorial #3: Główne okno aplikacji. Wstęp do sygnałów i slotów.
QMainWindow jest jedną z najważniejszych klas framework'a Qt - reprezentuje główne okno aplikacji. Klasa posiada swój własny układ, do którego możemy dodać takie elementy, jak menu (QMenuBar), pasek narzędzi (QToolBar), czy też pasek stanu (QStatusBar). QMainWindow...
Qt Tutorial #2: Pierwszy program z graficznym interfejsem użytkownika (GUI).
Stało się - jesteśmy szczęśliwymi posiadaczami frameworka Qt, zainstalowanego w naszym systemie operacyjnym (Jak to zrobić ?). Przyszedł więc czas na naszą pierwszą aplikację, która będzie korzystać z biblioteki Qt i posiadać graficzny interfejs użytkownika (ang. GUI,...
C++11 #2: Słowo kluczowe auto.
Zaczniemy od prostszych zmian. Weźmy pod uwagę słowo kluczowe auto. Umożliwia ono w C++11 tzw. automatyczną dedukcję typu. Oznacza to, że w ściśle określonych sytuacjach, możemy zastąpić konkretny typ słowem kluczowym auto, a kompilator automatycznie określi...
C++11 #1: Nowości w języku C++ (wstęp).
12 sierpnia 2011 roku komitet standaryzacyjny zaakceptował standard języka C++ o nazwie C++11, który zastąpił wcześniejsze wersje (C++98, C++03). Nowy standard języka - C++11. Nowa wersja, wydana po 8 latach od ostatnich zmian (a tak naprawdę po 13 latach - C++03 był...
Qt Tutorial #1: Wstęp – kilka słów o bibliotece Qt.
Tytuł mówi wszystko - na blogu będą się pojawiać wpisy z serii Qt Tutorial. Chciałbym w ten sposób oddzielić i skategoryzować wpisy dotyczące biblioteki Qt, które nie są newsami na temat biblioteki, a raczej krótkimi poradnikami (przeważnie z załączonym i opisanym...