Nastoletni
Programiści

Logo Nastoletnich Programistów

Qt – Pierwszy projekt – Fake blue screen

Okej, wstęp już za nami, wypadałoby zrobić jakiś mały programik. W tym poradniku pokażę, jak napisać program, który bardzo przypomina blue screena. Zastosowanie? Można wkręcać znajomych/nauczycieli, u mnie w szkole 4/4 informatyków się nabrało, w tym poradniku wykorzystamy część wiedzy z poprzedniego poradnika, wykorzystamy Qt Quick Controls 2, Qt 5.7.

Dobra, jak się za to zabrać? Zróbmy niebieski ekran, w tym celu do ApplicationWindow podpinamy właściwość, jaką jest kolor i ustawiamy na „blue”, teraz trzeba zrobić, aby nasza aplikacja nie wyglądała jak aplikacja, w tym celu dodajemy właściwość flags i wartość Qt.FramelessWindowHint, kod powinien wyglądać tak: Czytaj dalej →

LockMe – Czyli jak to się wszystko zaczęło

Cześć! Jako że LockMe sprawia bardzo duże zainteresowanie na grupie postanowiłem, że opowiem wam troszkę jak to się wszystko zaczęło 🙂

Ta historia nie jest dość długa, ale mam nadzieję, że kogoś to zainteresuje. Najpierw zacznijmy od mojego życia, od moich początków z programowaniem, bo to ma bardzo duże znaczenie dla LockMe.

Trochę o mnie oraz o pomyśle na LockMe

A więc nazywam się Denis i mam 14 lat. Programowaniem zainteresowałem się gdy miałem 10 lat wtedy dostałem od kolegi jego „program” napisany w Batchu. Chwalił on się tym że można zmieniać kolor tekstu i przechodzić pomiędzy menu. Ja jestem takim typem człowieka, że jak ktoś mi się chwali to zazwyczaj muszę to zrobić lepiej, więc od razu szukałem na YouTube frazy „Jak zrobić program w notatniku”.

Czytaj dalej →

Synchronizacja wątków w C# i C++ (Spinlock)

Wielowątkowość, synchronizacja… Ale po co to komu?

Przytoczę pewne bardzo obrazowe porównanie. Wyobraź sobie, że jesteś w restauracji. Podnosisz menu, wybierasz potrawę i czekasz na kelnera. Widzisz, że tymczasowo obsługuje innego klienta. Mija kilka, kilkanaście minut, a kelner wciąż stoi przy stoliku innego klienta, obsługuje tylko jego. Dopiero, gdy klient płaci i wychodzi z restauracji, kelner podchodzi do Ciebie i zaczyna cię obsługiwać. W tym czasie przychodzi inny klient, ale kelner jest zajęty tylko tobą. Mniej więcej tak działa aplikacja jednowątkowa (nasz kelner). W oczywisty sposób jest to nieefektywne.

Wtedy niczym superbohater, przybywa wielowątkowość.
Czytaj dalej →

Zabezpieczanie baz danych

Ochrona przed nieuprawnionym dostępem do bazy danych

Baza danych jest jednym z najcenniejszych zbiorów danych o jaki powinni dbać deweloperzy. Może ona zawierać dane osobowe (imię, nazwisko, adres), dane płatnicze (nr karty, kod ccv2) lub  dane powiązane z logowaniem (hashe haseł, salty).

Pierwszym błędem jaki może popełnić programista to naiwność. Czasami poszukując rozwiązań problemów możemy natrafić na posty typu: „podaj dane dostępowe to pomogę”. Nigdy nie ufajmy takim ludziom. Dane dostępowe do baz danych powinniśmy podawać tylko zaufanym developerom pracującym z nami, ale też nie podajmy danych dostępowym każdemu deweloperowi. Dwie lub trzy osoby wystarczą (powinny to być osoby zajmujące się administracją bazy danych lub backendem, każdy użytkownik powinien mieć indywidualny login. Używanie root do wszystkiego jest ogromną dziurą bezpieczeństwa). Czytaj dalej →

Beabest! Devlog #01 – Czyli jak to wszystko się zaczęło!

Jakiś czas temu, pokazałem na grupie „Nastoletni Programiści” pierwszego screena z odnawianego projektu gry 3D VR na silniku Unity3D. Odzew był zaskakująco miły i dość duży, na tyle, że na FanPage przybyło aż 30 like! Postanowiłem więc zacząć prowadzić tego devloga.

Początek.

Sam projekt zaczął się prawie rok temu. Dokładnie wtedy gdy wystartował konkurs „Daj się poznać!” Zgodnie z zamysłem, ważne były trzy rzeczy : vive, fun i low poly. Miała to być zwykła gra typu „kill them all” z wsparciem dla Vive. Akcja miała się toczyć na małej, latającej wyspie w stylu Low poly. Poly. Jak się już domyślacie, była chooolernie brzydka, główny powód? Ja i grafika? Dobry żart. Jednakże, już wtedy działało wsparcie dla Vive. Krótki czas później wprowadziłem pierwszą arenę z już działającym AI stworzonym dzięki temu projektowi. Wyglądało to już wtedy troszkę lepiej, jednakże, to ciągle nie było to.

Czytaj dalej →