Posty

[PHP] Jak znaleźć duplikaty w tekście?

W tym wpisie stworzymy prostą klasę obsługującą sprawdzanie czy w tekście są powtarzające się słowa. Klasa o nazwie SD (search duplicates) będzie zawierała dwie istotne metody: search_duplicates - metoda wyszukująca powtarzające się słowa; mark_duplicates - metoda zaznaczająca duplikaty w tekście wybranym lub domyślnym kolorem; W metodzie search_duplicates do rozbicia tekstu na poszczególne wyrazy użyta zostanie funkcja preg_split z prostym wyrażeniem regularnym rozdzielającym słowa po spacji, przecinku i kropce. Klasa SD <?php class SD { public $text; public $duplicates = []; public $color = '#FFEA00'; function __construct($text) { $this->text = $text; } public function search_duplicates() { $words = preg_split('/[\s,.]+/', $this->text); $count_values = array_count_values($words); $i = 0; foreach($count_values as $key => $value) { if($value > 1) { $this->duplicates[$i] = [$key, $value];

[C++] Jak obliczyć pole i obwód trapezu?

Przed napisaniem programu obliczającego pole i obwód trapezu, przypomnij sobie wzory. Pole trapezu liczymy według wzoru P=((a+b)*h)/2. Wzór na obwód Ob=a+b+c+d. Obliczając pole trapezu musimy znać rozmiary dwóch podstaw i wysokości. Obliczamy pole trapezu #include <iostream> using namespace std; int main() { int a; int b; int h; double p; cout << "Podaj długość podstawy a: "; cin >> a; cout << "Podaj długość podstawy b: "; cin >> b; cout << "Podaj wysokość: "; cin >> h; if(cin.good() == true) { p = ((a + b) * h) / 2.0; cout << "Pole trapezu wynosi: " << p; } return 0; } Obliczamy obwód trapezu #include <iostream> using namespace std; int main() { int a, b, c, d, ob; cout << "Podaj długość boku a: "; cin >> a; cout << "Podaj długość boku b: "; cin >> b; cout << "Podaj długość boku c: "; cin >> c;

[PHP] Jak obliczyć pole i obwód koła?

Zanim zabierzesz się za obliczanie pola i obwodu koła, przypomnij sobie wzory. Pole koła obliczamy ze wzoru P=πr 2 . Obwód zaś obliczamy według wzoru L=2πr. Znasz już wzory na pole i obwód koła, teraz poznaj funkcję PHP - pi() , która zwraca wartość liczby π. Obliczamy pole koła Obliczmy w tym przykładzie pole koła o promieniu r=20. <?php $r = 20; $p = pi() * $r * $r; echo $p; // Wyświetli: 1256.6370614359 Jak widać w powyższym przykładzie wynik wyszedł trochę długi, dlatego najlepiej będzie go zaokrąglić. Do zaokrąglenia wyniku użyjemy funkcji round : echo round($p, 2); co da rezultat 1256.64. Obliczamy obwód koła Wiesz już jak obliczyć pole koła, teraz pora na obwód (koło również o promieniu r=20): <?php $r = 20; $l = 2 * pi() * $r; echo round($l, 2); // Wyświetli: 125.66 W powyższym przykładzie wynik również zaokrąglamy.

[PHP] Jak zmienić duże litery na małe i odwrotnie?

Język PHP ma dużo użytecznych funkcji, a co za tym idzie wyręcza programistę w wielu przypadkach. Jednymi z takich funkcji są strtoupper i strtolower . Pierwsza z nich zamienia wszystkie litery w podanym stringu na duże, a druga zaś na małe. Przykład użycia funkcji strtoupper <?php $text = 'Lorem ipsum dolor sit amet'; $text = strtoupper($text); echo $text; // wyświetli LOREM IPSUM DOLOR SIT AMET Przykład użycia funkcji strtolower <?php $text = 'UT ENIM AD MINIM VENIAM'; $text = strtolower($text); echo $text; // wyświetli ut enim ad minim veniam

[JavaScript] NaN

Zdarzyło Ci się kiedyś otrzymać wartość NaN w wyniku wywołania jakieś funkcji? Jeśli tak i nie wiesz co i dlaczego, to zapraszam do dalszej lektury. Wartość NaN czyli Not-A-Number jest wartością liczbową, ale nie jest poprawną liczbą. W praktyce oznacza to, że w przypadku błędu w funkcji np. przekazania złych argumentów i wykonania na nich operacji matematycznych lub użycia w niektórych funkcjach/wyrażeniach, zwróci ona właśnie NaN. Spójrz na ten prosty przykład: function cal(a, b) { return parseInt(a) + parseInt(b); } cal(10, 10); // zwróci 20 cal('test', 10); // zwróci NaN W powyższym przykładzie przekazujemy do funkcji cal dwa argumenty. Następnie konwertujemy przekazane argumenty na liczby całkowite i zwracamy ich sumę. Jeśli argumenty są błędne np. przekazany zostanie argument typu string funkcja zwróci wartość NaN. Kiedy zwracane jest NaN? Wartość NaN zwracana jest gdy: nie uda się konwersja liczb funkcjami takimi jak parseInt, Number; nie uda się zwrócić p

[HTML] Znak euro

€ Znak "€" ( euro ) podobnie jak wiele innych znaków specjalnych można uzyskać poprzez zapis encją lub po prostu skopiowanie znaku i wstawienie go do dokumentu. Oczywiście dobrym zwyczajem jest użycie encji, gdzie nawet starsze wersje przeglądarek nie powinny wtedy mieć problemu z wyświetleniem znaku. Zapis za pomocą encji Dla uzyskania znaku "€" za pomocą encji piszemy &euro;

Jak zabezpieczyć WordPressa?

WordPress jest obecnie najpopularniejszą platformą blogową na świecie. Skrypt WordPressa wykorzystywany jest do budowy od małych stron do potężnych serwisów internetowych. Kod WordPressa jest ogólnodostępny jest to zarówno duży plus jak i duży minus. W tym wpisie postaram się dać kilka dobrych rad jak używać WordPressa, aby szansa na przejęcie go przez osoby niepowołane była jak najmniejsza. WordPress tylko z oficjalnego źródła Używaj kopii WordPressa pobranej tylko z oficjalnego źródła, a jest nim ta strona: https://pl.wordpress.org/download/ . Używanie WordPressa pobranego z innych lokalizacji nie jest bezpieczne, ponieważ takowy może posiadać złośliwy kod. Zadbaj o aktualizacje WordPress jest ciągle aktualizowany. Jak tylko zostaną wykryte luki bezpieczeństwa są one szybko łatane, dlatego pamiętaj o aktualizacjach. Jeśli tylko w panelu administracyjnym widać opcję aktualizacji, należy ją wykonać. Najlepszym jednak rozwiązaniem będzie umożliwienie WordPressowi automatycznych aktu

Gdzie najtańsze domeny?

W tym wpisie dowiesz się, gdzie na obecną chwilę najopłacalniej przedłużać domenę .pl. Już nie jedna osoba pytała mnie, gdzie w miarę tanio zarejestrować i przedłużać domenę .pl, dlatego postanowiłem odpowiedzieć na to pytanie na łamach bloga. O ile dla właścicieli dużych czy średnich przedsiębiorstw post ten może być mało istotny, bo 70 czy 170 zł za przedłużenie domeny dla dobrze prosperującej firmy jest zapewne bez różnicy. To dla małych przedsiębiorstw czy blogerów i u każdego, kto liczy się z każdym groszem taka różnica jest bardzo znacząca. Czy warto rejestrować domenę .pl u polskich rejestratorów? Aktualnie większość polskich rejestratorów ma wysokie ceny za przedłużenie nazwy domeny .pl. Ceny u niektórych z nich przekraczają nawet 170 zł, gdzie jest to cena bardzo wygórowana. Większość usługodawców kusi klientów promocjami typu "Domena za 9 zł" lub nawet 0.00 zł, gdzie oczywiście faktycznie zapłacimy za rejestrację domeny na pierwszy rok około 10 zł, ale już przedł

[C++] Piszemy aplikację pogodową, część 4

Czwarta część z cyklu Piszemy aplikację pogodową w C++. W tym wpisie oprogramujemy funkcjonalność odpowiadającą za wyświetlanie danych pogodowych w terminalu. W tym celu do obsługi tekstu zostanie użyta biblioteka ncurses . Uwaga! Dla wsparcia polskich znaków konieczne jest użycie ncursesw - nakładki, która wspiera UTF-8. Plik output.hpp Zacznijmy od utworzenia pliku output.hpp i zadeklarowania w nim funkcji display_weather : #ifndef OUTPUT_HPP #define OUTPUT_HPP bool display_weather(char* location); #endif Plik output.cpp Teraz pora na plik output.cpp . Plik ten będzie zawierał najwięcej kodu - definicję funkcji display_weather . Funkcja ta przyjmuje jeden argument - char* location (lokalizacja dla pobrania danych o pogodzie): #include "data.hpp" #include "output.hpp" #include <ncursesw/ncurses.h> int previous_temperature = 100; int previous_pressure = 0; int previous_humidity = -1; int previous_wind_speed = -1; string temperature_trend = "

[C++] Piszemy aplikację pogodową, część 3

W części trzeciej tej serii zostanie utworzony kod programu odpowiadający za pobieranie danych pogodowych z serwisu OpenWeather oraz parsowanie pobranego ciągu JSON. Plik data.hpp W pliku data.hpp zadeklarujemy strukturę Weather oraz klasę Data : #ifndef DATA_HPP #define DATA_HPP #include <iostream> using namespace std; struct memory { char *response; size_t size; }; struct Weather { string location; string conditions; int temperature; int pressure; int wind_speed; const char* wind_direction; int humidity; int memory; string error; }; class Data { public: static size_t write_callback(void *contents, size_t size, size_t nmemb, void *userp); public: memory get(string location); Weather set(char* input_location); }; #endif Plik data.cpp W pliku data.cpp definiujemy klasę Data . Jak wspomniałem na początku wpisu, kod ten będzie odpowiedzialny za pobieranie danych oraz za parsowanie ciągu JSON. W związku z tym do tego pliku musimy dołączy