Wszystkie Artykuły

Python3Tutorial #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...

Python3Tutorial #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)...

Python3Tutorial #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...

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 #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...

Python3Tutorial #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...

Python3Tutorial #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...

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...