Blog

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 →

Moja metoda szyfrowania danych #1

Witaj! To co czytasz to mój pierwszy post, więc proszę cię o pozostawienie opinii w komentarzu.

W tym poście opowiem wam o mojej metodzie szyfrowania danych, a konkretnie tekstu. Nie ma tu nic zaskakującego, więc metoda jest prosta, bezstratna i działa w 2 strony.

Tak więc zaczynamy!

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 →

Ledy głosem sterowane – Rozpoznawanie mowy

Wprowadzenie

Przeglądając ciekawe itemy z chin natrafiłem na dość tanią adresowaną taśmę led. Jak to już bywa czasem najpierw się kupuje, a potem myśli. Początkowo miało to służyć jako ambilight, lecz ostatecznie przykleiłem pod półką, która wisi nad biurkiem. Przewiduje 4 opcje sterowania: sterowanie głosowe, panel www, klaśnięcie, przyciski/switche. Całość będzie oparta o Raspberry Pi Zero. Przedstawiane tutaj kody mają jedynie pokazać drogę do stworzenia aplikacji, lecz nie podawać tego na tacy, więc nie nastawiajcie się na kopiuj-wklej 🙂

Czytaj dalej →

Godot Engine Roguelike – Wprowadzenie

Dzień dobry.

W pierwszej części spróbuję Cię przekonać, dlaczego Godot świetnie się nadaje dla niezależnych developerów gier lub po prostu zabawy w domu.

Na początek chyba najważniejsza rzecz, Godot jest open source na licencji MIT, co daje nam możliwość robienia co nam się podoba, wraz z modyfikacją kodu oraz pisania własnych pluginów. Godot dopiero się rozwija, co nie znaczy że jest daleko w tyle za Unity, a nawet z poziomu 2D jest na tym samym poziomie. Jedynie 3D Godot nadrabia, pisząc od nowa cały system trójwymiaru i cieni.

Czytaj dalej →

Rozwijane menu mobilne w czystym CSSie

Witajcie! W tym poradniku pokażę wam w jaki sposób przy użyciu czystego CSSa zrobić rozwijane menu, będące jednym z najpospolitszych rozwiązań nawigacji na urządzeniach mobilnych.

Zaprezentowany sposób nada się także do podobnych zastosowań, jak chociażby znany z for internetowych [spoiler]

Zasada działania

Cała filozofia działania opiera się na input[type="checkbox"] wraz z label’em. Checkbox chowamy, label stylujemy na przycisk lub odnośnik, a w CSSie pokazujemy i chowamy zawartość menu przy użyciu pseudoklasy :checked oraz selektora rodzeństwa ~.

Czytaj dalej →

Qt – Wprowadzenie

Qt – zestaw przenośnych bibliotek i narzędzi programistycznych dedykowanych dla języków C++, QML i Java. Ich podstawowym składnikiem są klasy służące do budowy graficznego interfejsu programów komputerowych, począwszy od wersji 4.0 Qt zawiera też narzędzia do tworzenia programów konsolowych i serwerów. – Wikipedia

Może zacznę od motywacji, pisząc w C++ największym problemem jest multipletowość, niby jest, ale w praktyce trzeba się natrudzić żeby przepisać średnio zaawansowaną aplikacje z np. windowsa na linuksa, z pomocą przychodzi Qt, gdzie mamy gotową obsługę sieci, baz danych, zapytań, obsługi wielu wątków, obsługę jsona, xmla i wielu innych bardzo przydatnych pierdół. Przekonany? Czytaj dalej →

Potrzebujemy osób takich jak ty!

W gronie Administracji dyskutowaliśmy w jaki sposób możemy rozwinąć mini-infrastrukturę nastoletni.pl. Nasz wybór padł na otwarcie otwartego bloga. Otwartego, czyli takiego, w którym każdy może napisać post, który może być poradnikiem, ciekawostką lub czymkolwiek innym nawiązującym do tematyki programowania, jednak publiczny zostaje dopiero po akceptacji moderatora.

Jeżeli jesteś chętny dołożyć swoją cegiełkę contentu do naszego otwartego bloga, zgłoś się! Załóż konto przechodząc do panelu (w prawym dolnym rogu strony znajduje się odnośnik) i klikając zarejestruj się. Możesz od razu wziąć się za tworzenie posta. Gdy już skończysz, poinformuj kogoś z Administracji, aby go przejrzał i zatwierdził.