Posty

[Python] Odgadnij synonim

W tym wpisie stworzymy prostą grę tekstową w Pythonie. Gra będzie polegała na zgadywaniu synonimu podanego przez program słowa. Program nie wykorzystuje żadnych dodatkowych modułów. Korzystamy tylko z modułu random do generowania liczb pseudo-losowych. Gra zawiera przykładowy słownik, który możesz rozszerzyć według swojego uznania. import random # Słownik słów oraz ich synonimów words = { "szczęście": ["radość", "zadowolenie"], "samochód": ["auto", "pojazd"], "piękny": ["ładny", "uroczy"], "inteligentny": ["mądry", "rozumny"], "zabawny": ["śmieszny", "komiczny"], "łatwy": ["prosty", "bezproblemowy"], "deszcz": ["opad", "ulewa"], "mysz": ["zwierze", "gryzoń"], } def what_synonym(): # Losowanie słowa z słownika

[Python] Silne typowanie

Silne typowanie w Pythonie nie pozwala na niejawne konwersje typów, które mogłyby prowadzić do nieoczekiwanych rezultatów. Programista musi jawnie przekonwertować typy danych, aby wykonać operacje na różnych typach. Zobacz poniższy przykład kodu PHP, w którym : <?php $x = 5; // liczba całkowita $y = "10"; string // PHP automatycznie konwertuje typ $y na liczbę całkowitą echo $x + $y; // Wynik: 15 // PHP łączy ciągi znaków echo $x . $y; // Wynik: 510 Teraz zerknij na poniższy kod Pythona: x = 5 # (int) y = "10" # (str) # Próba dodania x i y bezpośrednio spowoduje błąd: print(x + y) # TypeError: unsupported operand type(s) for +: 'int' and 'str' # Jawna konwersja typu: print(x + int(y)) # Wynik: 15 print(str(x) + y) # Wynik: "510" W Pythonie, próba dodania liczby całkowitej do ciągu znaków bez konwersji jednego z nich, spowoduje błąd TypeError.

[Python] Jak wykonać zapytanie HTTP

W Pythonie do obsługi żądań HTTP służy moduł requests , a więc w celu wysłania żądania trzeba go zaimportować. Wysyłanie żądania GET przy użyciu requests W poniższym przykładzie wysłane zostanie żądanie HTTP GET na adres https://www.example.com. Po odebraniu odpowiedzi wyświetlone zostaną zwrócone nagłówki. import requests url = "https://www.example.com" response = requests.get(url) print(response.headers) Aby przekazać parametry w zapytaniu, należy przekazać je w argumencie params jako klucz=wartość - tak jak na poniższym przykładzie: import requests url = "https://www.example.com" my_params= {'page' : 'contact', 'id' : '50'} response = requests.get(url, params=my_params) print(response.headers) Aby wyświetlić zawartość odpowiedzi należy użyć właściwości text : import requests url = "https://www.example.com" response = requests.get(url) print(response.text) Zapytanie HTTP przy użyciu PycURL Ten sam efekt

Wprowadzenie do Next.js, cz. 2

Z tego wpisu dowiesz się jak utworzyć pierwszą aplikację w Next.js. Tworzenie projektu Wymagana wersja Node.js: 18.18 bądź nowsza. npx create-next-app@latest PierwszyProjekt Powyższe polecenie utworzyło nową aplikację Next.js oraz jej główny katalog o nazwie PierwszyProjekt. Teraz przejdź do katalogu aplikacji poleceniem: cd PierwszyProjekt i uruchom serwer: npm run dev - zostanie uruchomiony serwer developerski z nasłuchiwaniem na porcie 3000. Po wpisaniu w przeglądarce adresu http://localhost:3000 powinna ukazać się strona startowa Next.js. Tworzenie nowej strony Na tym etapie stworzymy przykładową stronę zawierającą jakiś tekst. Strony w Next.js tworzymy w katalogu pages . Nazwa pliku strony będzie równoznaczna z elementem URL, przez który się potem do niej odwołamy. Utwórz plik contact.js w katalogu pages z następującym kodem: export default function Contact() { return ( <h1>Kontakt</h1>; <p>Aby się z nami skontaktować, wypełnij formularz.</p

Wprowadzenie do Next.js, cz. 1

Next.js to nowoczesny i popularny framework React, który od lat zyskuje uznanie wśród programistów. Swoją popularność zawdzięcza przede wszystkim intuicyjności, wydajności i bogatej funkcjonalności, która upraszcza proces tworzenia aplikacji webowych. Czym właściwie jest Next.js? Next.js to biblioteka o otwartym kodzie źródłowym wydana na licencji MIT, która rozszerza funkcjonalność Reacta o wiele dodatkowych rozwiązań, ułatwiając tworzenie stron internetowych o wysokiej wydajności i przyjaznym UX. Pozwala na tworzenie zarówno aplikacji opartych o SSR (Server-Side Rendering), jak i SSG (Static Site Generation), co przyczynia się do tworzenia szybkich, dynamicznych i responsywnych aplikacji. Aktualnie next.js dostępny jest w wersji 15. Next.js w repozytorium GitHub . Zalety Next.js Wydajność SSR - Next.js pozwala na renderowanie stron po stronie serwera, co przyspiesza wczytywanie strony i poprawia SEO; SSG - Generowanie statycznych stron minimalizuje obciążenie serwera

[PHP] Jak zrobić system tagów?

System tagów to przydatne rozwiązanie, które pozwala na kategoryzację i indeksowanie treści strony internetowej. Dzięki zastosowaniu systemu tagów, użytkownicy mogą łatwo znaleźć interesujące ich treści oraz przeglądać je według określonych kategorii. W tym artykule omówię, jak stworzyć prosty system tagów w PHP, który będzie skuteczny i łatwy w obsłudze. Na potrzeby tego wpisu załóżmy, że chcemy zrobić tagi do prostej strony z artykułami. Baza danych Pierwszym krokiem w tworzeniu systemu tagów jest zaprojektowanie odpowiedniej struktury bazy danych. Baza danych będzie przechowywać informacje o tagach oraz powiązania między tagami a artykułami. Schemat bazy powinien wyglądać tak: Tabela "tags": - id (unikalny identyfikator) - name (nazwa tagu) Tabela "articles": - id (unikalny identyfikator) - title (tytuł artykułu) - content (treść artykułu) Tabela "article_tags": - article_id (klucz obcy do tabeli "articles") - tag_id (klucz ob

[PHP|Laravel] Logowanie OAuth2

Siemka! Miło, że wpadłeś na mojego bloga. W tym wpisie będziemy ogarniać logowanie za pomocą OAuth2 do Twojej aplikacji. Laravel Passport Do stworzenia tego logowania będzie potrzebna biblioteka Laravel Passport , która posiada wsparcie dla OAuth2. Jeśli masz zainstalowaną tą bibliotekę, przejdź do następnego kroku. Jeśli nie zainstalowałeś jeszcze Laravel Passport, przejdź do wpisu Instalacja Laravel Passport . Migracja W celu utworzenia niezbędnych tabel do przechowywania klientów OAuth2 i tokenów dostępu, uruchom emigrację. Wykonaj następujące polecenie: php artisan migrate . Klucze szyfrowania W tym kroku wygenerujemy klucze Encryption keys i Personal access client niezbędne do działania uwierzytelniania i autoryzacji Laravel Passport. Wykonaj polecenie: php artisan passport:install . Dodanie traita HasApiTokens Jeśli wykonałeś już powyższe kroki, możesz teraz dodać traita HasApiTokens do modelu uzytkownika - User , który umożliwi użytkownikowi generowanie tokenów dostęp