Blog Alberta

Od poradników, przez recenzje do relacje.

Jak włączyć bash-a na Windowsie 10

Poradnikikomentarze

Wraz z buildem 14328, Windows 10 daje nam możliwość korzystania z basha wewnątrz okienka. Jednak najpierw trzeba ten ficzer włączyć.

Jak?

1. Wejdź w Ustawienia. Ikona zębatki w menu Start.

Kursor myszy nad ikoną zębatki w menu Start

2. Wejdź w Aktualizacja i zabezpieczenia.

Kursor myszy nad Aktualizacja i zabezpieczenia w Ustawieniach

Czytaj dalej

Podwójny laureat z informatyki

Relacjekomentarze

Osiemnastego marca o godzinie dwunastej czterdzieści dwa dostałem SMS’a od Konrada z gratulacjami za zdobycie laureata i wtedy też się o nim dowiedziałem.

Początek

Brałem udział w Wojewódzkim Konkursie Informatycznym dla uczniów gimnazjum. Pierwszy etap, czyli szkolny, pokrywał trochę teorii z każdej dziedziny informatyki i praktykę z Excela i Worda. Nic szczególnie trudnego czy ambitnego. W konkursie, jako że jesteśmy klasą matematyczno-informatyczną, brała udział cała klasa i pojedyncze osoby z innych klas. Do kolejnego etapu zakwalifikował się Dawid, Piotrek, Konrad (inny niż w pierwszym akapicie) i ja.

Drugi etap to była już sama część teoretyczna. Trochę schematów blokowych, HTMLa, Pascala/C++’a i Scratch. Ten etap wydaje mi się najłatwiejszy z wszystkich trzech. Zakwalifikowałem się dalej, do finału razem z Dawidem. Brakował mi jeden punkt do maksymalnej liczby punktów (a osoba która miała maksa była tylko jedna).

Dawid w ferie przygotowywał się z naszym nauczycielem od informatyki do finału poznając rzeczy których nie mieliśmy jeszcze na lekcji albo po prostu które mogą ułatwić jakieś zadania. Poćwiczyliśmy razem rozwiązując testy z finału z ostatnich paru lat. Któregoś dnia dostaliśmy emaila mówiącego o tym, że w części praktycznej będzie można się spodziewać Scratcha. Poza tą informacją dołączony był komplet przykładowych zadań. W tym jeden błędny. „Poprawny” wynik zadania był nieprawidłowy, ponieważ na obrazku każdy kolejny kwadrat miał bok dłuższy o 20, a nie o 10. Zadanie widać obok. Z Dawidem zrobiliśmy wszystkie przykładowe zadania.

Czytaj dalej

Prepared statements – jak zabezpieczyć się przed SQL Injection?

Poradnikikomentarze

Poradnik ten jest kierowany dla osób z podstawową wiedzą na temat obsługi baz danych w PHP.

SQL injection (z ang.) – metoda ataku komputerowego wykorzystująca lukę w zabezpieczeniach aplikacji polegającą na nieodpowiednim filtrowaniu lub niedostatecznym typowaniu danych użytkownika, które to dane są później wykorzystywane przy wykonaniu zapytań (SQL) do bazy danych. Podatne są na nią wszystkie systemy przyjmujące dane od użytkownika i dynamicznie generujące zapytania do bazy danych.

Jak podaje Wikipedia podatne są na nie (prościej mówiąc) strony które przyjmują jakieś dane od klienta (czyli użytkownika) i na podstawie tych danych wykonują jakieś czynności w bazie danych, między innymi podczas logowania/rejestracji lub podczas dodawania jakichś danych.

Poniżej pokazałem przykładowy kod niezabezpieczony przed SQL Injection.

Czytaj dalej

Moja opinia o mechanikach

Recenzjekomentarze

Klawiatura mechaniczna według Wikipedii podawana jest jako historycznie najstarsza. Czy najstarsza znaczy najlepsza? Ponad dekadę temu mechaniki (potocznie na klawiatury mechaniczne) były pospolite. To one były takimi standardowymi klawiaturami używanymi do obsługi komputera. Dzisiaj taka klawiatura to swego rodzaju luksus. Obecnie pospolite są klawiatury membranowe, które są tańsze w produkcji przez co wyparły mechaniki w sprzedaży.

Czytaj dalej

Wzorzec Dependency Injection - implementacja w PHP

Poradnikikomentarze

Wstrzykiwanie zależności (ang. dependency injection) to wzorzec projektowy i architektury. Polega on, jak sama nazwa mówi na wstrzykiwaniu kluczowych obiektów będących zależnościami dla obiektów w które je wstrzykujemy. Wzorzec ten pozwala odseparować abstrakcję od implementacji. Obiekt polega na samej abstrakcji i nie zna szczegółów implementacyjnych, dzięki temu nasz kod staje się łatwiejszy do zrozumienia, bo nie wgłębiamy się w szczegóły implementacji, oraz bardziej uniwersalny, bo możemy wstrzyknąć dowolny obiekt implementujący dany abstrakcyjny interfejs.

Czytaj dalej

Zapisz się do newslettera: