Miesięczne archiwum: luty 2022

Zmiana ikony skrótu w systemie Windows.

Witam wszystkich w tym krótkim poradniku: jak zmienić ikonę skrótu w systemie Windows.

Przeznam się szczerze, że robiąc to bardzo sporadycznie zawsze zapominam jak się nazywa ten pliczek w katalogu Windows gdzie są "zaszyte" ikonki ale od początku i kork po kroku.

  1. Kliknij prawym przyciskiem myszy ikonę skrótu na którym chcesz zmienić ikonkę.
  2. Z menu podręcznego wybierz opcję: "Właściwości".
  3. Jeżeli automatycznie nie znajdujesz się na tej zakładce to przejdź na zakładkę: Skrót.
  4. Teraz kliknij w przycisk "Zmień ikonę…".
  5. W nowo otwartym okienku w polu "Szukaj ikon w pliku" wpis:%SystemRoot%\System32\SHELL32.dll albo  C:\Windows\System32\SHELL32.dll  i wciśnij ENTER.
  6. W części "Wybierz ikonę z poniższej listy" zobaczysz zestaw dostępnych ikon.
  7. Wybierasz właściwą dla Ciebie i potwierdzasz swój wybór klikając w przycisk OK.
  8. Powrócisz na poprzednie okienko właściwości. Teraz potwierdzasz swój wybór klikając po kolei:Zastosuj i później OK lub od razu przycisk OK.

GOTOWE 🙂

WordPress reset hasła administratora/użytkownika do panelu administratora.

Podpowiem Wam dzisiaj jak zresetować hasło administratora/użytkownika do panelu administratora w sytuacji gdy zapomnieliśmy do niego hasła.

Opis problemu: Zapomniane hasło dla administratora/użytkownika do panelu administratora w WordPress. (opis tworzony na podstawie wersji WordPress 4.1.1., ale pewnie sprawdzi się także w innych wersjach.)

Wymagania: dostęp do bazy danych WordPress’a

Rozwiązanie:

  1. Łączymy się z bazą WordPress.
  2. W bazie tej musimy zmienić wartości odpowiedniego pola w tabeli wp_users. Jeśli niczego nie zmienialiśmy prefix wp_ WordPress dodaje przy instalacji standardowo. Jeśli mamy inny prefix nazwa naszej tabeli może być inna np. prefix_users.
  3. Interesujące nas pole to user_pass gdzie przechowywane jest hasło użytkownika.
  4. Hasło użytkownika jest szyfrowane przy pomocy algorytmu MD5 i dlatego nasze zapytanie SQL którym będziemy modyfikowali hasło musi to uwzględniać.
  5. Nasze zapytanie będzie wyglądało następująco
    UPDATE [nazwa_tabeli] SET [które_pole_chcemy_zmodyfikować] = [tutaj_wpisujemy_nową_wartość_pola] WHERE [warunek_wykonania_zapytania]

     

     

    Przyjmijmy, że mamy użytkownika o nazwie Test, którego ID=1  (ID użytkownika w tabeli wp_users). Przy takich parametrach nasze zapytanie SQL przybierze następującą postać.

    UPDATE wp_users SET user_pass = md5('new password/nowe hasło') WHERE ID=1

    jeśli nie znamy ID naszego użytkownika w bazie ale znamy jego login (w naszym przypadku to będzie login Test) to nasze zapytanie przybierze postać.

    UPDATE wp_users SET user_pass = md5('new password/nowe hasło') WHERE user_login=’Test’

    Wyjaśnienie: Co tak naprawdę kazaliśmy zrobić. Kazaliśmy zmienić wartość pola user_pass w tabeli wp_users dla użytkownika Test (w pierwszym przypadku korzystając z jego identyfikatora, a w drugim z loginu) wykorzystująca algorytm MD5

    Pamiętaj! Jeśli nie wiesz co robisz nie klikaj :)

SQL Dobre praktyki przy pisaniu zapytań sql.

Czesto w sieci widzę pytania typu: jak dobrze pisać zapytania SQL? albo jakie są dobre praktyki pisania zapytań sql? itp. Postanowiłem podzielić się z Wami kilkoma poradami tego typu. Modyfikacja "swojego warsztatu" zalezy oczywiście od stopnia Twojego zaawandowania w pisaniu zapytań ale może komus się przydadzą. Podane poniżej porady stosuję osobiście i wynikaja one z mojego długoletniego doświadczenia w pracy z bazami danych.

1. Nie rzucaj sie od razu na głęboką wodę.

Jeśli masz do napisania jakieś skomplikowane zapytanie to dobrym sposobem jest rozbić je sobie na kilka kroków. Nie zaczynaj od razu pisać postaci finalnej tylko dojdź do tej postaci etapami. Chodzi o to, że jak zbudujesz dość duże zapytanie to ciężko jest później szukać ewentualnych błędów a tak jak podzielisz prace na mniejsze etapy to za każdym razem przy końcu danego etapu możesz sprawdzić poprawność swojego zapytania.

2. Podzapytania testuj osobno.

Często się zdarza, że w swoim zapytaniu potrzebujesz utworzyć podzapyanie. Ja podzapytania staram się budować obok głównego zapytania i dopiero jak sie upewnię, że działa ono poprawnie dołączam je do zapytania głównego. Czasami zdarza się, że Twoje zapytanie zwraca błędne wyniki a Ty ciągle analizujesz "główne zapytanie" a tak naprawdę to Twoje podzapytanie może zwracać błędne wyniki cząstkowe.

3. Poprawność, czytelność, optymalizacja

Bardzo często za szybko i za dużo chcesz zrobić w jednym kroku. Od razu przy budowaniu myślisz o optymalizacji i to nie jest generalnie złe. Ale często za bardzo skupiasz się na optymalizacji na samym początku i cierpi na tym poprawność i czytelność zapytania.

Moim zdaniem lepiej jest zacząć od poprawności i czytelności zapytania. Oczywiście kluczowa jest tutaj poprawność ale NIE bagatelizujcie czytelności zapytania. Czasami na szybko próbujesz coś stworzyć. Piszesz i piszesz i Twoje zapytanie staje się juz dosyć sporawe i nagle błąd. Bez zadbania od razu o czytelność zapytania trudno Ci będzie szybko zdiagnozować problem.

4. Zapoznaj się z danymi.

Jak nie poznasz dobrze zbioru danych do którego będziesz pisał zapytania to przygotuj się na drogę przez mękę. Poświęć czas na poznanie tabel, zależności pomiędzy nimi i typów danych w kolumnach itd. Ale także a może przede wszystkim zastanów się jakie wartości mogą przechowywać Twoje tabele/kolumny i głównie chodzi mi tutaj np o NULL-e. Bardzo często to właśnie wartości null mogą bardzo pomóc lub wygenerować jakiś nichciany błąd. Powiedzmy, że mamy kolumnę "DataKoniecZatrudnienia" i tam przy niektórych pracownikach są wartości NULL. Oznacza to, że jeśli jest NULL to pracownik jeszcze pracuje w firmie bo w tej klumnie nie ma konkretnej wartości i w przykładowym zapytaniu np.: pokaż mi wszystkich pracowników, którzy pracują aktualnie w firmie ta informacja może bardzo pomóc. Ale np. okazuje się, że są przypadki kiedy przy pracowniku nie ma ani daty zatrudnienia ani daty końca zatrudnienia i oznacza to, że pracownik jest zatrudniany np. na umowy zlecenia ale jest wykazywany na liście pracowników itp.

Sam widzisz, że kombinacji może być wiele i bez dobrego rozpoznania tematu można nieźle zamieszać zapytaniem.

5. Do poprawności analizuj mniejsze ilości danych lub pojedyncze małe lokalizacje/działy.

Jak napiszamy sobie zapytanie które "wypluwa" nam dziesiątki tysięcy, a może i więcej, rekordów to skąd będziesz wiedział, że zapytanie zwraca poprawne wyniki? Żeby zminimalizować ryzyko wykonuj swoje zapytania na mniejszych ilościach danych np. z jednego miesiąca lub np. z jednego działu firmy itp. Niestety mniejsza ilość danych nie gwarantuje oczywiście pełnego sukcesu bo ograniczamy także ilość możliwości wystąpienia takichś niestandardowych sytuacji. Chodzi tylko o to, że np. na mniejszej ilości danych jesteś w stanie szybciej przeanalizować poprawność wyników zapytania.

6. Robisz UPDATE? Pamiętaj o kryteriach WHERE.

Informatyk jest jak saper. Niektóre czynności robi tylko raz i z reguły to wystarczy żeby uczyć się na swoich błędach. Czasami jednak straty są już nie do naprawienia. Przykład z życia. Pewien znajomy informatyk napisał sobie UPDATE-a w celu zmiany ceny jednego produktu w sklepie internetowym. Jakieś było jego zdziwienie jak po chwili wszystkie produkty miały takią samą cenę. Jeśli modyfikujesz jeden lub tylko kilka rekordów to przyjmij zasadę UPDATE = WHERE czyli jeśli stosujesz UPDATE to musi wystąpić WHERE z warunkami opisującymi który rekord, lub grupę rekordów, zmodyfikować w innym przypadku "polecisz po całej tabeli" i będzie rozmowa dyscyplinująca z przełożonym (w najlepszym przypadku).

To na dzisiaj tyle. Myślę, że w miarę możliwości będę ten post rozbudowywał lub dorzucał jego kolejne części.