Szczegóły grupy Prywatna

administrators

 

Lista członków

  • RE: Tytan za 24750zł

    GPU: najnowsza karta, więc no cóż tu powiedzieć (śmigać będzie nawet w 4k), pytanie tylko czy wersja referencyjna czy nie.
    CPU: absolutna czołówka (przynajmniej na razie)
    MOBO: tutaj zaczynają się problemy bo z tego co mi wiadomo, płyta ta nie obsługuje procesorów z serii i9, maks. i7. Jak na ten moment płyty z Z-390 dają radę w tym zakresie (a aktualizacje dostać mają Z370).
    RAM: można wybrać nieco szybciej taktowany zmieniając płytę
    SSD / HDD: rzeczy które można wymienić w każdym momencie ale nw czy nie lepiej byłoby iść w samo ssd (szczególnie seria EVO od Samsung'a). Chyba, że ten zewnętrzny Adata ma jakieś inne zastosowanie.
    MOUSE / KEYBOARD: peryferia jak peryferia, kwestia indywidualna
    PSU: zależne od konfiguracji / przy ew. modyfikacji warto pomyśleć nad zmianą
    COOLER: jest ok
    CASE: cooler wejdzie, karta wejdzie powinno współgrać
    AUDIO: dodatek, no ale ok. Natomiast pierwszy raz widzę żeby zastąpić głośniki/słuchawki boombox'em - nietypowe ale ciekawe rozwiązanie.
    Widziałem, że tego JBL'a można połączyć z innymi (mając kilka) i wtedy naprawdę fajnie to działa.

    Choć wydaje mi się, że jeżeli to ma być dla gracza to lepiej w tej cenie wybrać jakieś słuchawki (niekoniecznie drogie) HyperX'y czy bardziej do słuchania Superlux, AKG (lekko droższe) czy nawet kolumny albo zestaw 2.1/5.1.

    Generalnie w tej cenie, starałbym się pomyśleć nad wsparciem 2-Way SLI (na płycie), aby ewentualnie w przyszłości dołożyć drugą kartę i dalej cieszyć się najwydajniejszym sprzętem. Tak czy inaczej sprzęt top of the top.

    napisane w Zestawy komputerowe
  • Optymalizacja i bezpieczeństwo stron WWW (temat zbiorczy)

    Cześć, dzisiaj chciałbym zająć Wam chwile wolnego czasu aby zwrócić uwagę na bezpieczeństwo tworzenia stron internetowych oraz kwestie ich optymalizacji.

    Co by o tym nie sądzić jest to temat rzeka, codziennie przecież przeglądamy mnóstwo stron w poszukiwaniu informacji ale rzadko kiedy zastanawiamy się (jako twórcy) nad tym jak bardzo nasi użytkownicy są narażenie na ciągle pojawiające się ataki (phishing, spam itd.). I choć nigdy nie jesteśmy w stanie na 100% zabezpieczyć wszystkiego jak należy, warto podnosić nieustannie bezpieczeństwo naszych stron aby nie ułatwiać, a wręcz utrudniać atakującym pozyskania jakichkolwiek danych.

    Bezpieczeństwo:

    1. SSL

    Pierwsze skojarzenie z bezpieczeństwem? Certyfikat SSL - wdrożyłeś go? Pewnie nie, w końcu prowadzisz tylko małe forum, blog'a czy inny portal więc dlaczego ktokolwiek miałby się zainteresować twoją stroną skoro nic nie sprzedajesz?
    No i z takim podejściem już jesteś w błędzie bo taki certyfikat obligatoryjnie powinny mieć wszystkie serwisy w których mamy do czynienia z logowaniem/rejestracją czyli po prostu z użytkownikami.

    Wdrożenie takiego rozwiązania wcale nie musi być przesadnie kosztowne, istnieje bowiem bezpłatna alternatywa - tzw. Let's Encrypt oferujący darmowe certyfikaty na cały rok, czasami można nawet trafić na oferty hostingów z auto-odnawialnym Let's Encrypt (co kompletnie zwalnia nas z pamiętania o SSL rokrocznie).

    Posiadanie certyfikatu to połowa sukcesu jednak jego poprawna implementacja to kompletnie inna sprawa, a tym nie wszyscy mogą się pochwalić. Warto więc sprawdzić czy nasza strona faktycznie daje radę w tym zakresie na stronie: Qualys SSL Labs.

    Warto też zwrócić uwagę na rodzaj rozwiązania którym chcemy zabezpieczyć naszą stronę. Nie wszyscy to wiedzą ale certyfikaty bywają różne, niektóre chronioną wyłącznie domenę główną (example.com), inne natomiast pozwalają zabezpieczyć całą witrynę, są to tzw. Wildcard (example.com oraz wszystkie drugiego poziomu czyli forum.example.com, blog.example.com).

    2. Nagłówki

    Kolejną istotną kwestią są nagłówki, dość często pomijane i bagatelizowane. Jeżeli posiadamy jedynie konto współdzielone raczej nie mamy za wiele do gadania. Mając jednak swój serwer warto o tym pomyśleć, pozwoli nam to na ochronę przed kolejnym rodzajem ataków (np. clickjacking, częściowo xss). Doskonałym miejscem pozwalającym sprawdzić jak to wygląda w waszym przypadku jest strona: SecurityHeaders.com.

    Przy okazji można się na niej dowiedzieć za co odpowiadają poszczególne nagłówki. Warto także zajrzeć na tego bloga, człowieka który jest badaczem bezpieczeństwem (jest powiązany z poprzednią stroną) na którym wyjaśnia znaczenia nagłówków, sposoby ataków itd.

    3. CDN (Content Delivery Network)

    Ostatnim już punktem związanym poniekąd z bezpieczeństwem ale nie tylko jest umieszczanie stron za tzw. CDN'ami. Są to serwisy o dużej dostępności oferujące coś w rodzaju własnej infrastruktury (sieci) dostarczającej statyczne treści dla waszych stron. Wszelkie obrazki, skrypty - wszystko co da się cachować (zatrzymać w pamięci podręcznej) na dłużej. Pełnią także o wiele ważniejszą funkcje - potrafią odpierać zmasowane ataki DDOS czy po prostu ukryć wasze serwery nazw.

    Można powiedzieć, że stoją pomiędzy Wami a użytkownikiem końcowym gwarantując obu stroną nieprzerwane działanie.
    Weźmy takiego Kowalskiego który postanowił wybrać się na Waszą stronę w piękne niedzielne popołudnie, odpytuje on najbliższy punkt dostępowy CDN (np. węzeł Europa) o kilka plików (parę obrazków, filmik i style) które są mu natychmiastowo dostarczane dopiero w momencie jakieś głębszej interakcji z stroną (stworzenie konta -> wymaga dostępu do bazy danych) zostaje mu podana właściwa strona zlokalizowana np. w Krakowie.

    W tym sposób możemy skutecznie ograniczyć ruch jaki generują sami użytkownicy a dodatkowo możemy uniknąć niedostępności naszego serwisu ponieważ CDN, wyświetla coś na wzór strony 404 która czasami (jeżeli jest to prosta strona) może zostać całkowicie odtworzona z pamięci podręcznej (w przypadku padu oryginalnego host'a). Oczywiście jest to dość pobieżny opis i jedynie przybliża to co mniej więcej powinny wiedzieć osoby stricte nie-techniczne (docelowo tym technicznym wystarczy wspomnienie o CDN).

    Choć mogłoby się wydawać, że problem jest znaleźć dostawce który zaoferowałby nam bezpłatny CDN to mimo wszystko jest jeden taki, prym w tym zakresie wiedzie CloudFlare.

    Optymalizacja:

    1. PageSpeed Insights

    Podstawowym i dość starym już narzędziem jest Insight, wynalazek jednej z najpopularniejszych wyszukiwarek wszech czasów - Google, który również znajdziecie dodając swoją stronę do Google Search Console czyli po prostu do indeksu tego giganta (swoją drogą tą usługą też powinniście się zainteresować). Szczególnie warto dodać mapę waszej strony jeżeli jeszcze tego nie zrobiliście. Wracając do Google PageSpeed strona ta pozwala sprawdzić naszą stronę pod kątem możliwych "usprawnień", a jest ich sporo.

    • Minifikacja - polega na usuwaniu z kodu waszej strony spacji, enterów (generalnie znaków białych), tworząc mało czytelny makaron spaghetii ale za to działający (przynajmniej w teorii) szybciej (mniejszy rozmiar to szybszy transfer w przypadku słabej sieci).
    • Optymalizacja obrazków - jeżeli naszą stronę zalewają obrazki to na pewno warto zainteresować się zmniejszeniem ich wagi (plików), tutaj dużo zależy od rozszerzenia, każdy typ plików ma swoje "sposoby na kompresje". Jeszcze łatwiej jest jeżeli sami przygotowujemy takie grafiki to możemy już na etapie tworzenia zadbać aby były odpowiednie dla Internetu.
    • Kompresja - w tym przypadku zazwyczaj chodzi o funkcje gzip 'owania strony. Czyli w teorii kompresja wszystkich plików przesłanie ich do klienta i odkompresowanie ich - opcja dość kontrowersyjna i sporna, ja polecam włączyć jednak są głosy, że gzip'owane strony ładują się wolniej itd. W codziennym użytkowaniu nigdy różnicy nie odczułem.
    • Wykorzystaj pamięć cache - czyli po prostu dodanie w konfiguracje serwera odpowiedniej linijki i/lub paru ustawiające czas przez jaki ma być przechowywana pamięć cache.

    To tylko parę porad jakie możecie dostać odnośnie optymalizacji waszej strony, we wszystkim jednak trzeba znać umiar - dlatego warto dodać aby patrzeć na wynik jaki tam otrzymujemy z lekkim przymrużeniem oka gdyż nawet Google nie jest w nim w stanie uzyskać pełnego 100/100 pkt ;)

    2. Pingdom

    Następny skaner, tym razem nieco bardziej szczegółowo pokazujący co i dlaczego opóźnia nam ładowanie się naszej strony. Podobne rozwiązanie możecie znaleźć w konsoli developerskiej (DevTools'ach) w waszej przeglądarce ale trzeba wiedzieć jak go użyć i gdzie znaleźć - natomiast tutaj wszystko mamy jak na dłoni. Od razu wiemy jaki skrypt blokuje nam renderowanie się całej reszty.

    Podobnie możemy dowiedzieć się ile tak naprawdę waży cała nasza strona, jak szybko odpowiada i do jakich stron się zwraca o dodatkowe (zewnętrzne) zasoby.


    Na sam koniec jeszcze dwa patenty ode mnie, nieco rzadziej wykorzystywane (z względu na wąskie zastosowanie) które również warto mieć na uwadze.

    1. DNS Prefetch:

    Jest to prosty sposób aby powiedzieć z jakimi stronami będziemy chcieli się potencjalnie połączyć, przeglądarka powinna w wolnej chwili zainicjować sobie takie połączenie/a (wiadomo, chwile jej to zejdzie - choćby znalezienie adresu serwer'a stojącego za DNS) aby później móc szybciej pobrać docelowe zasoby (style, fonty itp.).

    Wystarczy dodać taki zapis w sekcji <head> naszego dokumentu:
    <link rel="dns-prefetch" href="\fonts.googleapis.com">

    Zamieniając \fonts.googleapis.com (innymi) zewnętrznymi adresami do jakich odwołuje się wasza strona.

    2. HSTS preload:

    Rozwiązanie to może nie przyśpieszy w żaden sposób waszej strony ale doda was na elitarną listę stron dostępnych jedynie za pośrednictwem szyfrowanego połączenia z poprawnie dodanym certyfikatem (która wraz z kolejnymi aktualizacjami przeglądarki jest rozszerzana). Jest to lista wstępnie ładowanych stron które wymagają od przeglądarki bezpiecznego połączenia.

    Aby wpisać się na tą listę należy spełnić kilka warunków, jednak jest to opcjonalne (i wymaga pewnej wiedzy) dlatego wszystko na ten temat znajdziecie na oficjalnej stronie.


    Inne ciekawe różności, zagadnienia o których nie zdążyłem napisać a którymi warto się zainteresować, budując i/lub optymalizując/konserwując stronę:

    Mam nadzieje, że wyczerpałem temat a jeżeli nie to chociaż znaleźliście parę przydatnych linków - oczywiście jeżeli znacie lepsze sposoby dajcie znać w komentarzu poniżej, tymczasem dzięki za uwagę i strzała :)

    napisane w Kodowanie
  • Własny domowy serwer oparty o LEMP stack [Poradnik]

    Cześć, w dzisiejszym poradniku pokaże Wam w jaki sposób stworzyć swój własny domowy serwer WWW.
    Konfiguracja ta będzie oparta o tzw. LEMP stack (czyli Linux & Nginx & MySQL & PHP) - świetny i wydajny "starter kit" dla początkującego developera. Później spróbujemy to sobie wszystko wystawić na zewnątrz (poza naszą sieć domową) czyniąc jednocześnie dostępne z zewnątrz.

    Całość spocznie na dedykowanym do tego celu komputerze do zadań specjalnych - czyli starym laptopie ;)
    Natomiast nic nie stoi na przeszkodzie aby to samo zrobić wykorzystując zwykłą stacjonarkę, jeżeli tylko nie mamy na względzie oszczędności prądowych czy generowanego hałasu (dlatego właśnie laptop świetnie się do tego celu nadaje).

    Przygotowanie

    Będziemy potrzebowali paru rzeczy, a mianowicie:

    • Wolny (dostępny) komputer z internetem + drugi roboczy (np. z Windows'em)
    • Dystrybucja z dowolnym Linux'em
    • Pendrive ~ 4gb
    • Wolny czas (instalacja w zależności od sprzętu może chwile zająć)

    Tutaj parę słów wyjaśnienia, dystrybucja którą wybraliśmy do tego poradnika to Ubuntu Desktop, z racji tego, że jest bardziej uniwersalna (laptop wciąż może pozostać laptopem - jednocześnie pełniąc funkcje serwer'a) jeżeli jednak macie taką możliwość mocno zalecam zainteresować się wersją Serwer'ową (bez klikalnych okienek) czyli np. Ubuntu Server czy Debian Server.

    Drugim mankamentem który trzeba mieć na uwadze to fakt, że taki sprzęt posiada dwie karty sieciowe a co za tym idzie obu z nich musimy przypisać stały adres IP w obrębie naszej sieci (ale szczegółowo na ten temat porozmawiamy sobie za chwile).

    Pobieramy distro

    Nie przedłużając, jednak przygotujmy sobie nasz nośnik instalacyjny.
    Pierwsze co to pobierzemy sobie naszą dystrybucje z oficjalnej strony -> klik!.
    Tutaj standardowo zaufamy wersji LTS (Long Time Support) czyli z wydłużonym okresem wsparcia, klikamy Download i gotowe, obraz się ściąga więc idźmy dalej.

    Bootowalny pendrive

    Sposobów na nagranie Linux'a na pendrive'a jest mnóstwo, wybór w dużej mierzy zależy od systemu na jakim aktualnie pracujemy oraz opcji jakie chcemy uzyskać - jest to jedyne ograniczenie na jakie napotkamy.

    Weźmy na przykład sytuacje w której chcielibyśmy taki obraz nagrać z ukierunkowaniem na UEFI & GPT - tutaj bardzo dobrze poradzi sobie Windows'owy Rufus w którym najzwyczajniej w świecie możemy takie opcje wybrać (zbytnio nie komplikując).

    *Dlaczego akurat tak? Na przykład wybieramy UEFI bo zależy nam na szybszym uruchamianiu a GPT bo np. potrzebujemy obsługi dysków powyżej 2TB danych. Zresztą skoro interesujecie się tym tematem to sądzę, że z instalacją nie macie najmniejszego problemu, tym bardziej, że tutaj wymaga się też odpowiedniego formatowania samego pendrive'a.

    Jeżeli jednak nie do końca zależy nam na tym w jakim trybie czy też w jaki sposób ma przebiegać instalacja (po prostu nie wiemy, czy też nie wdajemy się w szczegóły techniczne tych rozwiązań) to Etcher wydaje się dobrym wyborem, ponieważ skopiuje on obraz 1:1 na pendrive'a zachowując taką samą strukturę dysku jaką zastał. Wyjątkiem od reguły jest tutaj Windows z którym sobie nie radzi. Dodatkowo jest on dostępny dla Linux'a / Windows'a / Mac'a tak więc czego chcieć więcej.

    Podłączamy naszego pendrive'a, odpalamy (wcześniej pobierając) program i wskazujemy lokalizacje do naszego obrazu (.iso) z dystrybucją:

    Ether.io

    Instalacja

    Jeżeli wszystko poprawnie zrobiliśmy przechodzimy w tym momencie do właściwej instalacji, sam kreator jest dostępny w języku Polskim tak więc nie powinno być z nim większych problemów, jednakże wrzucam screen'y typowej instalacji, krok po kroku:

    Ubuntu install

    Uruchomienie

    Pierwsze uruchomienie, logujemy się do systemu (graficznie i/lub tekstowo) i w przypadku okienek uruchamiamy terminal.
    Cześć jest już za nami, teraz nadszedł czas na docelową konfiguracje.
    Na początku wydajemy sobie polecenie:

    sudo apt update && sudo apt upgrade

    Komenda ta aktualizuje informacje o listach pakietów oraz aktualizuje system (jeżeli tylko pojawiła się nowa łatka).
    Jest to opcjonalne działanie ale nie zaszkodzi, ogólnie jest to dobry nawyk zanim zaczniemy coś robić raz na jakiś czas wydać sobie to polecenie (w naszym przypadku akurat jest to czysta instalacja więc wszystko powinno być raczej nowe).

    Statyczny adres IP

    Prawdopodobnie posiadasz w swoim domu router, a skoro tak to jest duże prawdopodobieństwo, że również korzystasz z adresacji DHCP. Generalnie chodzi o to, że każdy z komputerów wewnątrz twojej sieci ma swój własny adres IP który może być stały lub zmienny (podobnie jak ten który otrzymujesz od swojego dostawcy internetowego ~ ISP).

    DHCP to taka usługa uruchamiana na routerze (i/lub innym serwerze) pozwalająca na przypisywanie komputerom w sieci losowych adresów z ustalonej puli. Czyli uruchamiasz sobie komputer a on uzyskuje od router'a swoje własne unikalne (w obrębie sieci) IP.

    Opiszę może jak to wygląda w moim przypadku, w mojej sieci domowej jest to stosunkowo proste:

    • Router (ma na stałe przypisany adres: 192.168.1.1)
    • Komputery i urządzenia mobilne (uzyskują losowo adresy z przedziału od 192.168.1.2 - 254)

    Dla rozróżnienia przyjmijmy tymczasowo, że komputer roboczy z Windows'em od teraz będzie nazywał się PC1, a SRV0 to będzie nasz nowo powstały serwer z Ubuntu (laptop).

    Naszym celem jest więc aby SRV0 zawsze miał stały (statyczny) adres, czyli np. 192.168.1.100 - taki chcemy i już.
    Aby to uzyskać musimy zrobić dwie rzeczy, po pierwsze zablokować taki właśnie numer w ustawieniach karty sieciowej a po drugie zablokować go na stronie router'a (tak aby nie powstał konflikt interesów i DHCP nie przyznało sobie go innej maszynie).

    Ok wiemy co robić tak więc do dzieła!

    Konfiguracja kart(y) sieciowej

    W moim przypadku z racji możliwości skorzystania z graficznego interface'u ustawiłem sobie stały adres bez najmniejszego problemu, zarówno dla karty Wifi jak i zwykłego połączenia:

    Przypisanie stałego adresu IP - okienka

    *W przypadku połączenia wlan konfiguracja wygląda identycznie stąd pozwoliłem sobie pominąć dodawanie i jej.

    Choć wiem, że możecie chcieć przeprowadzić taką modyfikacje z poziomu wiersza poleceń (jak typowi linux'owcy) lub korzystając z oprogramowania w wersji bez x'ow (server) dlatego dodaje również screen'a jak to wygląda w terminalu:

    Przypisanie stałego adresu IP - terminal

    Edytujemy za pomocą np. nano plik /etc/network/interfaces, oczywiście z uprawnieniami root'a: (sudo)

    sudo nano /etc/network/interfaces

    Dokonujemy odpowiednich zmian i zapisujemy CTRL + X, zatwierdzamy Yes(Y) / Tak(T) (w zależności od języka) i enter.


    Na koniec (niezależnie od środowiska) restartujemy interface'y poleceniem:

    /etc/init.d/network restart

    Blokujemy 192.168.1.100 na routerze

    Wracamy na chwile do PC1 i odszukujemy na nim adres bramy domyślnej, znajdziemy go poprzez użycie skrótu Win+R a następnie wpisując cmd i otwierając wiersz poleceń wykonując komendę ipconfig która to pokaże nam konfiguracje zainstalowanych kart sieciowych:

    Network configuration

    Brama domyślna to nic innego jak adres naszego router'a w sieci.
    Bez dalszego owijania w bawełnę wpisujemy w pasek przeglądarki własnie powyższy adres, który ukaże nam stronę konfiguracyjna router'a - coś takiego:

    Orange Funbox 2.0 index

    Logujemy się na standardowe hasła admin / admin, w zależności od urządzenia może to być też admin / 1234, no chyba, że zmieniliście to wcześniej (jak w moim przypadku).

    Orange Funbox 2.0 dashboard

    Sam panel może wyglądać kompletnie inaczej, np:

    Tp-link example

    *Przykładowy wygląd strony konfiguracyjnej w przypadku modemów TP-Link'a, obraz po zalogowaniu.

    No nic, gdy już dostaniecie się do głównej strony, przechodzimy od razu do Zaawansowane > Konfiguracja sieci > DHCP:

    Orange Funbox 2.0 dhcp

    W zależności od urządzenia i wyglądu panelu może się to znajdować w kompletnie innej lokalizacji - chodzi po prostu o zakładkę DHCP i/lub "Konfiguracja LAN IPv4" tak jak w Tp-link'ach.
    Poniżej tych ustawień powinniśmy mieć możliwość dodania własnych wyjątków (ustawienia adresów statycznych urządzeń w oparciu o ich adres MAC / fizyczny).

    Ustawiamy tam dla wybranego komputer'a adres IP (192.168.1.100).
    Adres fizyczny możemy sprawdzić natomiast poleceniem: ifconfig w terminalu SRV0:

    Laptop network settings

    W moim przypadku osobno dla karty wlan (dolna) i lan (górna) - w zależności od tego z czego serwer będzie częściej korzystał, można dodać jedno albo oba.

    Mając to z głowy możemy zając się już samym serwerem i jego poprawnym ustawieniem.

    Konfiguracja SSH

    Pierwszą rzeczą jaką będziemy chcieli wykonać jest możliwość zdalnego zarządzania komputerem wew. naszej sieci.
    Aby móc resztę komend wykonywać zdalnie z komputera z PC1 (dla wygody) dobrze byłoby uruchomić sobie usługę zwaną SSH (Secure Shell).

    W skrócie chodzi głównie o zdalny dostęp do terminala.
    Tak więc instalujemy sobie na SRV0 SSH komendą:
    sudo apt install openssh-server

    Przed dokonaniem jakichkolwiek zmian w konfiguracji robimy jeszcze kopie głównego pliku konfiguracyjnego:
    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults

    Dobra teraz odpalamy w edytorze np. nano nasz plik:
    sudo nano /etc/ssh/sshd_config

    Pierwsze co się rzuca w oczy to Port 22 - jest to oczywiście port na którym nasłuchuje nasz SRV0, można go zmienić na jakiś inny - nie ma najmniejszego problemu.
    Czyli nasz serwer nasłuchuje czy ktoś nadaje na adresie 192.168.1.100:22 - jeżeli tak i jest to protokół SSH to połączenie zostanie nawiązane, w przeciwnym razie nie.

    Kolejna przydatna opcja czyli "#PasswordAuthentication yes" - ustawienie to dotyczy autoryzacji hasła (# z przodu oznacza zakomentowaną linie - aby usunąć komentarz wystarczy ją usunąć).
    Jeżeli korzystamy z kluczy SSH możemy spokojnie tą opcje wyłączyć "PasswordAuthentication no" - jeżeli jednak logujemy się zwykle hasłem to zdecydowanie odradzam tykać tej opcji.

    Innym również ciekawym ustawieniem jest dopuszczanie ( AllowUsers tpk ) oraz blokowanie ( DenyUsers kasia ) wybranym użytkownikom możliwości korzystania z SSH.
    Więcej opcji znajdziecie na wiki tutaj.

    Gdy już pozmieniamy wszystko tak jak chcemy wychodzimy CTRL+X, zatwierdzamy Yes(Y) / Tak(T) (w zależności od języka) i naciskamy enter. Ponadto warto zrestartować pod koniec samą usługę poleceniem sudo systemctl restart ssh.

    Instalacja i konfiguracja klienta Putty

    Jeżeli wszystko gra, możemy wrócić już na stałe do PC1 i zainstalować na nim klient'a SSH :)
    Prosty i łatwy w obsłudze programik o nazwie Putty, który wykorzystamy w tym poradniku możecie pobrać tutaj.

    Wypełniamy w nim wszystkie potrzebne dane (w moim przypadku usługa ta działa na nieco zmienionym porcie).
    Przy okazji polecam sobie zapisać to połączenie jako nowy profil - tak jak ja poniżej (pozwoli nam to na szybszy dostęp do maszyny w przyszłości).

    Putty client

    Łączymy się i uzupełniamy takie dane jak login/hasło (identyczne jak do systemu), polecam przy okazji dowiedzieć się jak działają klucze RSA (o czym wspominałem wyżej) i w przyszłości przejść właśnie na taki sposób logowania, w razie czego poradnik na ten temat już istnieje i serdecznie zapraszam do zapoznania się z nim: Logowanie przy pomocy kluczy RSA [SSH]

    Jeżeli wszystko działa poprawnie powinniśmy być w stanie zobaczyć komunikat podobny do tego:

    Ubuntu welcome

    Instalacja i konfiguracja NGINX:

    Teraz wypadałoby zainstalować nasz serwer (wł. oprogramowanie serwerowe) i przeprowadzić na nim wstępną konfigurację. Instalujemy wydając w terminalu / putty polecenie:

    sudo apt-get install nginx

    Gdy wszystko będzie ok możemy przejść do sprawdzenia czy nasz serwer jest już uruchomiony:
    sudo systemctl status nginx

    *Na niektórych dystrybucjach trzeba go zastartować ręcznie poleceniem "sudo systemctl start nginx".

    Zapora UFW:

    Dodatkowo dodamy sobie regułę do zapory, umożliwiającą ruch dla HTTP:
    sudo ufw allow 'Nginx HTTP'

    Jest to wbudowana w UFW reguła, podobnie jeżeli chcielibyśmy możemy zrobić ustawiając 'Nginx Full' dla ruchu HTTP/HTTPS lub analogicznie 'Nginx HTTPS' tylko dla szyfrowanych połączeń.

    Warto również w tym miejscu sprawdzić czy nasza zapora w ogóle jest aktywna poleceniem sudo ufw status.
    Następnie w zależności od sytuacji (np. inactive) włączyć ją poprzezsudo ufw enable lub pozostawić bez zmian.


    Skoro wszystko działa pozostaje nam uruchomić przeglądarkę na PC1 i wpisać ustalony wcześniej adres naszego serwera SRV0, a więc: 192.168.1.100:

    Nginx start page

    Gotowe! Od teraz możecie bez problemu uruchamiać proste statyczne strony WWW.

    Tak na marginesie taki sam widok uzyskamy wpisując na SRV0 adres localhost (to tak samo jak gdyby było tam 127.0.0.1) - oczywiście jeżeli działamy na wersji z okienkami.

    Kilka podstawowych informacji o Nginx

    Główny plik konfiguracjny: /etc/nginx/nginx.conf
    Katalog w którym są trzymane wszystkie pliki stron (domyślnie): /var/www/html

    Dalsza struktura:

    • /etc/nginx/sites-available - Katalog zawierający pliki konfiguracyjnej każdej z witryn
    • /etc/nginx/sites-enabled - Katalog w którym umieszcza się linki symboliczne (coś jak skróty do plików w Windows) aby włączyć poszczególne witryny.

    Krótkie objaśnienie, domyślnie serwer WWW jest przystosowany do trzymania na nim max i min jednej strony WWW, jednak już dawno temu wymyślono coś co zwie się Wirtualne host'y (Virtual hosts) pozwalające na zwielokrotnienie liczby witryn przypadających na jeden serwer (jakkolwiek wiele by ich nie było).

    Dzięki temu możemy w prosty sposób stworzyć tyle stron ile nam się tylko żywne podoba, nie wiem czy są w tym zakresie w ogóle jakieś ograniczenia. Szmat czasu temu przygotowałem nawet do tego celu prosty skrypt powłoki pozwalający w łatwy sposób stworzyć/usunąć nową instalacje takiego v-host'a - link do projektu na github'ie tutaj.

    Nam jednak nie chodzi o zaawansowane wykorzystanie a po prostu postawienia LEMP stack, dlatego lecimy dalej...

    Baza danych MariaDB - instalacja itd.

    Na wstępie trochę zarysu historycznego, MySQL ogólnie to twór Oracle Corporation czyli firmy którą możecie kojarzyć z łatania JVM (Java Virtual Machine). MariaDB to natomiast fork (coś jak Ubuntu dla Debian'a) czyli dziecko o tych samych korzeniach ale rozwijane niezależnie (przez MariaDB Foundation).

    Oba rozwiązania są bliźniaczo podobne i praktycznie rzecz biorąc zamienne, dlatego właśnie skorzystamy sobie z MariaDB. Przyznaje, że to oprogramowanie jest dużo łatwiejsze w instalacje i mniej problematyczne na starcie stąd ta decyzja.

    Standardowo lecimy z instalacją:

    sudo apt install mariadb-server

    Teraz odpalamy prosty skrypt instalacyjny:

    sudo mysql_secure_installation

    Zostaniesz zapytany o hasło administrator'a (root'a) dla bazy danych.

    My na tym etapie konfiguracji nie mamy jeszcze takiego hasła dlatego pomijamy to pytanie naciskając (enter).
    Instalator zapyta nas również czy chcemy ustawić hasło administratora - oczywiście tak, więc wybieramy Y i lecimy dalej (enter) i podając dwukrotnie wybrane przez nas hasło.

    MariaDB Configuration Script v1

    Kolejny krok to odpowiadanie na specyficzne dla Waszej konfiguracji pytania. Standardowo przyduszenie enter oznacza wybranie pierwszej z odpowiedzi czyli Y, tak więc bez przedłużania 4x ENTER i gotowe.

    MariaDB Configuration Script v2

    Jeżeli jednak chcecie wiedzieć na co się zgodziliście to:

    • Usunięcie anonimowych użytkowników (zablokowanie dostępu do bazy gościom - osobą które nie posiadają konta)
    • Zablokowanie logowania się na root'a z innego urządzenia
    • Usunięcie testowej bazy danych i dostępu do niej
    • Przeładowanie tabeli uprawnień // działanie bardziej prewencyjne ale czemu nie?

    W przypadku oryginalnego projektu MySQL otrzymalibyśmy w tym miejscu serie pytań na temat zasad sprawdzania poprawności haseł i takich tam, zupełnie niepotrzebnie marnując czas i energie na rozwiązywanie błahych problemów.

    PHP

    Kolejny element naszej układanki to oczywiście PHP, chcąc pisać back-end naszych aplikacji będzie to dla nas rzecz niezbędna. Dobrze byłoby tutaj znać wersje z której będziemy chcieli skorzystać.

    Domyślnie w repozytoriach Ubuntu w wersji 16.04 dostępne są biblioteki php w wersji 7.0 natomiast nic nie stoi na przeszkodzie aby zainstalować sobie ich nowszą wersje czyli ~ PHP 7.2.

    Tak więc zwyczajnie instalacja przebiega w ten sposób:
    sudo apt install php-fpm php-mysql

    Jeżeli za to chcemy nowszą wersje będziemy musieli skorzystać z zewnętrznych repozytoriów:
    sudo add-apt-repository ppa:ondrej/php // Dodajemy zewnętrzne repo, zatwierdzamy (enter)
    sudo apt update // Aktualizujemy listy pakietów
    sudo apt install php7.2-fpm php7.2-mysql // Instalujemy właściwe pakiety

    Właściwie php czy tam php7.2 to mogłoby się wydawać podstawowy pakiet który należałoby zainstalować, niemniej w PHP dostępne są także dodatki takie jak np. cli (command line interface), fpm(fastcgi process manager) itd.

    Instalując je tak czy siak pobierane są pakiety bazowe dlatego w naszym przypadku przy serwerze NGINX'a wystarczy instalacja php-fpm oraz php-mysql do komunikacji php z bazą danych.

    W praktyce podczas instalacji zostaną zainstalowane "php-common php7.2-cli php7.2-common php7.2-fpm php7.2-json php7.2-mysql php7.2-opcache php7.2-readline" i inne zależności.

    Ok, jeżeli mamy już to możemy teraz całość spiąć w działający serwer.

    Konfiguracja NGINX'a z PHP-FPM

    Przechodzimy do głównego (na ten moment) pliku konfiguracyjnego:
    sudo nano /etc/nginx/sites-available/default

    Tak to wygląda w całej okazałości:

    ##
    # You should look at the following URL's in order to grasp a solid understanding
    # of Nginx configuration files in order to fully unleash the power of Nginx.
    # http://wiki.nginx.org/Pitfalls
    # http://wiki.nginx.org/QuickStart
    # http://wiki.nginx.org/Configuration
    #
    # Generally, you will want to move this file somewhere, and start with a clean
    # file but keep this around for reference. Or just disable in sites-enabled.
    #
    # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
    ##
    
    # Default server configuration
    #
    server {
            listen 80 default_server;
            listen [::]:80 default_server;
    
            # SSL configuration
            #
            # listen 443 ssl default_server;
            # listen [::]:443 ssl default_server;
            #
            # Note: You should disable gzip for SSL traffic.
            # See: https://bugs.debian.org/773332
            #
            # Read up on ssl_ciphers to ensure a secure configuration.
            # See: https://bugs.debian.org/765782
            #
            # Self signed certs generated by the ssl-cert package
            # Don't use them in a production server!
            #
            # include snippets/snakeoil.conf;
    
            root /var/www/html;
    
            # Add index.php to the list if you are using PHP
            index index.html index.htm index.nginx-debian.html;
    
            server_name _;
    
            location / {
                    # First attempt to serve request as file, then
                    # as directory, then fall back to displaying a 404.
                    try_files $uri $uri/ =404;
    	        # proxy_pass http://localhost:8080;
            	# proxy_http_version 1.1;
    	        # proxy_set_header Upgrade $http_upgrade;
            	# proxy_set_header Connection 'upgrade';
    	        # proxy_set_header Host $host;
            	# proxy_cache_bypass $http_upgrade;
            }
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ \.php$ {
            #       include snippets/fastcgi-php.conf;
            #
            #       # With php7.0-cgi alone:
            #       fastcgi_pass 127.0.0.1:9000;
            #       # With php7.0-fpm:
            #       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #       deny all;
            #}
    }
    

    Mnóstwo zbędnych rzeczy, standardowo wszystko to co zawiera # na początku linijki jest kodem wyłączonym z użytku, tak więc uprośćmy to nieco:

    server {
            listen 80 default_server;
            listen [::]:80 default_server;
    
            root /var/www/html;
    
            index index.php index.html index.htm index.nginx-debian.html;
    
            server_name _;
    
            location / {
                    try_files $uri $uri/ =404;
            }
    
            location ~ \.php$ {
                   include snippets/fastcgi-php.conf;
                   fastcgi_pass unix:/run/php/php7.2-fpm.sock;
            }
    
            location ~ /\.ht {
                   deny all;
            }
    
    }
    

    W takim też stanie pozostawimy sobie ten plik, zapisując Ctrl+X i zatwierdzając Y(Yes) / Tak(T).
    Sądzę że większość z tego co tutaj się znajduje bez problemu da się domyślić ale tak czy inaczej wrzucam pobieżny opis tego co za co odpowiada i jak całość działa:

    Pierwsze co to należy zauważyć to konfiguracja NGINX'a występuje w blokach kodu zamkniętych w obrębie klamer, przykład sekcja server, takich bloków może być kilka w obrębie dokumentu ale mogą być także dołączane z innych plików.

    • listen // nasłuchiwanie na wybranym porcie - pierwsza linia odnosi się do IPv4 druga IPv6
    • root // główny katalog w którym znajdują się pliki strony
    • index // wspierane rozszerzenia plików ~ pamiętajcie dodać index.php!
    • server_name // to ustawienie przydaje się bardziej na produkcji gdy znamy już domenę strony itd.

    Na koniec bloki location to specyficzne dla danych ścieżek ustawienia - np. location / odnosi się do strony głównej, z kolei location ~ \.php$ to blok zawierający ustawienia PHP (tutaj również trzeba pamiętać aby podać dobrą wersje np. php7.2-fpm.sock; - taką jaką zainstalowaliśmy). Ostatni blok wyłącza dla wszystkich dostęp do pliku .htaccess.

    Testujemy:

    Dobra koniec tego, teraz wystarczy sprawdzić czy wszystko hula tak jak tego oczekujemy.

    Przechodzimy więc do katalogu głównego:
    cd /var/www/html

    Tworzymy nowy plik, niech to będzie np. test.php:
    nano test.php

    Następnie zapisujemy w nim prosty kod:

    <?php
    phpinfo();
    

    Standardowo Ctrl+X, (Y)es i (enter). Pod sam koniec sprawdzamy jeszcze poprawność:
    sudo nginx -t

    oraz przeładowujemy konfiguracje NGINX'a:
    sudo systemctl reload nginx.

    Przechodzimy do PC1 wpisujemy wcześniej ustalony adres w przeglądarce czyli 192.168.1.100/test.php i sprawdzamy.
    Naszym oczom powinno się ukazać taka oto strona, zawierające podstawowe informacje na temat konfiguracji PHP:

    PHP test file

    *Podobnie jak wcześniej dostęp do tej samej strony macie z SRV0 również poprzez udanie się do localhost/test.php.

    Ostatnim krokiem jest usunięcie testowego pliku z maszyny:
    sudo rm /var/www/html/test.php

    I gotowe w ten oto sposób stworzyliśmy swój własny domowy serwer WWW oparty o LEMP stack.
    Gorąco zachęcam do dalszego eksperymentowania, uruchamiania na nim wielu różnych usług tak aby nauczyć się jak działa oraz co potrafi.

    Poradnik napisany dla TcgForum.pl i zabrania się kopiowania oraz rozpowszechniania bez zgody autora!
    napisane w Internet
  • Stacer - przyśpiesz swojego Linux'a!

    Cześć, pewnie większość z Was zdaje sobie sprawę, że każdy systemu pozostawiony sam sobie po pewnym czasie zacznie zwalniać. Niezależnie czy jest to Windows, Linux czy Mac OS, każdy jeden choć posiada wiele wbudowanych zadań mających na celu "automatyczne czyszczenie" systemu z zbędnych plików to nie zawsze chcą one działać tak jakbyśmy sobie tego życzyli. Istnieją więc programy pomagające w utrzymaniu "porządku" naszego komputera.

    Jednym z nich jest Stacer, prosty program monitorujący prace komputera oraz dbający o kondycję dysku poprzez wyszukanie oraz wskazanie zbędnych plików czy usług które można by dezaktywować/wyłączyć/usunąć. Jeżeli korzystaliście kiedyś z Windows'owego CCleaner'a to zasada działania jest dość zbliżona, choć nie ma tutaj sprzątania rejestru to mamy odpowiednio dla Linux'a usuwanie programów, zbędnych repozytoriów czy sprzątanie plików tymczasowych.

    Na uwagę zasługuje fakt, że jest to narzędzie graficzne - co jest dużą rzadkością w środowisku Linux'owym. Poza tym dostajemy dość rozbudowany program pozwalający na dziecinnie łatwe optymalizowanie i monitorowanie swojego systemu czy edytowanie usług działających przy starcie / w czasie rzeczywistym. Prosty za to niezwykle użyteczny.

    Strona domowa projektu: https://oguzhaninan.github.io/Stacer-Web/

    Instalacja:

    sudo add-apt-repository ppa:oguzhaninan/stacer
    sudo apt-get update
    sudo apt-get install stacer
    

    Ogólnie program uważam za świetną alternatywę której od dłuższego czasu brakowało w przypadku Linux'owych dystrybucji. Choć projekt nie jest już taką nowością (istnieje od dłuższego czasu) to zdecydowanie polecam zainteresować się i przetestować. Dodatkowo źródła programu są publicznie dostępne na GitHub'ie.

    napisane w Systemy
  • Bezpłatna muzyka do wykorzystania przy tworzeniu filmów

    Cześć!
    W tym wątku chciałbym podzielić się z wami stronami agregującymi darmową muzykę oraz efekty dźwiękowe, które możecie bezpłatnie używać w swoich oraz komercyjnych projektach. Wielu początkujących montażystów, dźwiękowców bardzo często poszukuje dobrych i wpadających w ucho utworów, efektów które dobrze wpasują się do tworzonego właśnie klipu / filmu.

    Poniżej chciałbym z Waszą pomocą utworzyć właśnie taką listę stron gdzie będzie można znaleźć tysiące ciekawych, unikalnych ale również i popularnych dźwięków, podkładów i efektów.

    Zanim jednak podam konkretne przykłady moich zbiorów to zaznaczę tylko, że jeżeli dopiero zaczynacie swoją przygodę jako młodzi twórcy zwracajcie proszę uwagę na licencji pobieranych przez siebie utworów - polecam poczytać co nieco o organizacji CC (Creative Commons).

    Muzyka:

    Efekty:

    *Być może nie wszyscy zdają sobie sprawę ale Youtube również udostępnia całą bibliotekę piosenek niezależnych wykonawców oraz efektów dźwiękowych - https://www.youtube.com/audiolibrary/music

    Istnieją również niezależne kanały takie jak:

    Udostępniające nieodpłatnie tworzone przez siebie dzieła z możliwością ponownego ich wykorzystania (z uznaniem autora).

    Może znacie jeszcze lepsze strony? Koniecznie napiszcie o nich poniżej...

    napisane w Muzyka
  • Ciekawe biblioteki JS oraz CSS [Lista]

    Cześć dzisiaj wpis nieco inny, powiemy sobie o paru ciekawych bibliotekach do JS i nie tylko które warto znać.
    Z góry zaznaczam, że nie wypróbowałem wszystkich z nich (część pozostaje wciąż w moich zakładkach jako "do przetestowania") ale są wartę uwagi dlatego postanowiłem je tutaj zebrać.

    No dobrze koniec tego przykrótkiego wstępu, lecimy:

    JavaScript:

    • Glide.js - prosty, ładny i funkcjonalny slider na naszą stronę.
    • Coin Slider - prosty do granic możliwości slider.
    • Rellax - biblioteka pozwalająca uzyskać Parallax efekt.
    • Parallax - podobnie jak powyżej
    • Particles.js - efekt rozpadu, często występujący przy np. stronach logowania.
    • Scroll Reveal JS & AOS & Basic Scroll - animowanie pojawiających się danych podczas przewijania.
    • Vibrant.js - wyciąganie kolorów z obrazu, np. do zrobienia poświaty za obrazem (coś jak albumy na Spotify jakiś czas temu)
    • Adaptive Background - dokładnie to co powyżej lecz z użyciem jQuery.
    • Typed.js - efekt pisania na klawiaturze po ekranie, nic prostszego.
    • Chart JS - ciekawa biblioteka do tworzenia fajnych kolorowych wykresów.
    • PaperJS - animowanie SVG czyli wektory w akcji.
    • BonsaiJS - podobnie JW.
    • FilePond - upload plików, optymalizacja i skalowanie.
    • Three.js - dość spora biblioteka pozwalająca na animowanie obiektów w przestrzeni 3D, całkiem rozbudowana (niestety nie miałem okazji z niej korzystać).
    • Vivus - animowanie SVG.
    • Kute.js - gotowy silnik do wszelakich animacji
    • D3.js - biblioteka do wizualizacja danych, bardziej rozpoznawalna w środowisku big-data.
    • Anime.js - wodotryski na stronę.
    • Tesseract.js - swego rodzaju OCR
    • Normalize.css - biblioteka której celem jest zresetowanie wbudowanych w przeglądarki stylów
    • Coinhive - kopanie kryptowalut na stronie.
    • Bideo.js - pełnoekranowy odtwarzacz, przydatny dla strony typu One-Page.
    • Pixi.js - tworzenie ciekawych rzeczy w oparciu o WebGL.
    • Lodash - prosta biblioteka ułatwiająca działanie na tablicach, obiektach czy stringach. Pozwala na np. opóźnienie wykonania zapytania czy wiele innych.
    • Photo Sphere Viewer - odtwarzacz (zupełnie jak Google Street View) 360 stopni.

    CSS

    • Animate.css - niezły zbiór przejść i animacji.
    • Loaders.css - animacje ładowania.
    • Hover - animacje odgrywane przy najechaniu myszką.
    • Font-Awesome - skalowane ikony SVG jako proste do wdrożenia klasy w CSS.
    • Fontello - tym razem strona, pozwalająca wygenerować paczkę wybranych ikon (również FontAwesome) aby następnie móc ich używać w kodzie swojej strony.

    Zestawienie celowo nie zawiera framework'ów ponieważ ich dodanie wydłużyłoby znacznie tą listę (natomiast znajdziecie je w zewnętrznych zasobach poniżej). Zwróćcie proszę uwagę na to, że pewne prezentowane rozwiązania mogą być już przestarzałe, część i/lub całość przestała/przestanie istnieć wraz z biegiem czasu.

    Polecam sprawdzić możliwości każdej z tych bibliotek i rozważyć czy aby na pewno są one konieczne w projekcie.
    Czasami bywa też sytuacja w której użycie takiej biblioteki niewiele pomoże a jedynie spowolni działanie waszej aplikacji, warto więc wtedy samemu zaimplementować jej funkcjonalność - istnieją nawet bardzo fajne strony udostępniające kod i pokazujące jak to zrobić.

    Wystarczy trochę czasu i samozaparcia aby w kilka minut uzyskać coś podobnego a może nawet lepszego.
    Szczególnie warto wydaje mi się zainteresować się stroną Codrops która ma niesamowite zasoby pokazujące co można zrobić z czystym językiem, dla przykładu CSS:

    Na koniec pragnę jedynie poinformować, że przedstawione biblioteki to tak naprawdę nic, bardziej obszerne dokumenty znajdziecie na przykład tutaj.: https://github.com/sorrycc/awesome-javascript
    Istnieje również nawet cała strona na ten temat poświęcona biblioteką do JS i nie tylko.

    Jeżeli znacie jakieś inne ciekawe propozycje które warto zamieścić, koniecznie podzielcie się nimi w komentarzu.

    napisane w Kodowanie
  • Jak poradzić sobie z BlueScreen'em?

    Cześć! W tym wpisie postanowiłem napisać nieco o Bluescreen'ie (zwanym też BSOD) - najpopularniejszym i najbardziej znienawidzonym problemie jaki dotyka użytkowników PC'tów korzystających z rodziny systemów Windows.

    Czym jest ten słynny BlueScreen?

    W dużym uproszczeniu jest to po prostu ekran błędu który uniemożliwia dalsza prace z systemem. Pojawia się niespodziewanie i świadczyć może o poważnej awarii komputera. Często podczas uruchamiania zapętla on grający w przy starcie dźwięk beep'era (głośniczka) powodując nieprzyjemny i niechciany przez wielu użytkowników efekt.

    Kiedy występuje?

    Najczęściej tzw. niebieski ekran śmierci występuje podczas problemów z sterownikami, brakiem pamięci RAM czy nieodpowiednim ich ustawieniem. Jednak przyczyn jego wystąpienia jest o wiele więcej.

    Jak w takim razie poradzić sobie z Blue Screen of Deaths?

    Bardzo prosto. Po pierwsze należy zachować zimną krew i jak najszybciej zrobić zdjęcie, spisać lub zapamiętać wyświetlony kod błędu.

    Kilka przykładowych błędów:

    Blue Screen v1
    Blue Screen v2

    *Od wersji Windows 8 w górę sprawa wygląda znacznie prościej gdyż zamiast kodu błędu system od razu podaje przyczynę którą należy jedynie wyszukać oraz rozwiązać.

    Blue Screen v3

    *Natomiast Windows 10 do błędu dodaje dodatkowo QR code który można w prosty sposób zeskanować telefonem.

    Blue Screen v4

    Jeżeli nie zdążyliśmy wykonać fotki lub zapisać kod'u a komputer po uruchomieniu dalej jest sprawny (np. błąd wyskakuje tylko podczas używania wybranej aplikacji) wystarczy udać się do folderu:

    C:/Windows/Minidump

    Znajduje się tam zrzut obrazu z kodem błędu który jest nam potrzebny do rozwiązania tego problemu. Zapisany jest on w formacie x.dmp który należy otworzyć za pomocą zewnętrznego programu takiego jak np. BlueScreen View (bezpłatny, nie wymaga instalacji).

    Po uruchomieniu programu od razu powinien się nam ukazać ostatni błąd wraz z pełnym opisem.
    Nas jednak interesują zaledwie jedna kolumna - a mianowicie:

    Bug Check Code

    Przechowuje ona oczywiście kod błędu.

    Gdy mamy już nasz kod błędu wystarczy zapytać się o niego wujka Google - pierwsze pozycję jakie powinny się pojawić to strony wsparcia technicznego Microsoft na których szczegółowo objaśniony jest każdy błąd oraz instrukcja postępowania w trakcie jego wystąpienia. W przypadku braku wystarczającego opisu lub dalszych wątpliwości czy dodatkowych pytań zawsze możecie zadać dodatkowe pytanie - na przykład na takim forum jak nasze :D

    Na koniec dodam tylko, że nie jest to tylko dolegliwość Windows'a, w Linux'ach czy Mac'ach mamy z kolei o wiele bardziej poważniejszy Kernel Panic.

    napisane w Systemy
  • RE: Jak calkowicie usunac sterowniki NVIDIA / AMD [Poradnik]

    W moim przypadku praktycznie już po paru minutach program usunął wszystko co z driver'ami związane. Jedyny znany mi problem z DDU to jeżeli używasz jakiegoś natrętnego antywirus'a który potrafi w trybie awaryjnym wykryć program jako potencjalne zagrożenie PUA/PUP - o czym zresztą piszą sami twórcy (rozwiązanie to oczywiście wyłączyć AV na moment).

    napisane w Sterowniki
  • Poradnik nowicjusza - czyli co gdzie i jak?

    Witaj! Jeżeli trafiłeś na ten wątek prawdopodobnie stawiasz dopiero swoje pierwsze kroki na forum, w związku z tym przygotowaliśmy dla Ciebie mały przewodnik, taki zbiór tematów z którymi niewątpliwie warto się zapoznać.

    Regulamin kluczem...

    Pierwszym i absolutnie najważniejszym tematem jest oczywiście Regulamin i to od niego przede wszystkim powinieneś zacząć, nie jest on zbyt długi dlatego nie zabierze Ci zbyt wiele czasu. Napisany względnie prostym językiem w porównaniu z innymi obfitymi w zawiłe terminy prawnicze.

    Co by się nie pogubić

    Jeżeli działanie naszego forum wydaje Ci się nieco obce i jego interface nie jest zbyt przejrzysty a komponowanie wiadomości sprawia nie lada problem, warto zaprzyjaźnić się z Podstawy pisania wiadomości - Markdown. Sposób w jaki funkcjonuje edytor który znajduje się tutaj na forum może nie przypominać tego który znacie z innych forów. Choć jest lekko specyficzny to zapewniam, że jego nauka to dosłownie parę minut.

    Moderator zawsze w cenie

    Będąc dłużej na forum mając nieco wyższe aspiracje dobrze pomyśleć o Rekrutacja na Moderatora. Jednak wcale nie musicie nim być aby móc ulepszyć / poprawić coś co Waszym zdaniem mogłoby działać lepiej, na przykład dodając odpowiedni temat, w dziale Wsparcie który stoi otworem.

    Postępy swoich propozycji zmian możecie śledzić, zaglądając od czasu do czasu do Changelog - forumowy dziennik zmian. Dzięki temu zawsze będziecie na bieżąco wiedzieć o modyfikacjach jakie miały miejsce w ostatnim czasie.

    Dobre praktyki pisania

    Na koniec aby nie odstawać zbyt etykietą od innych tematów warto zapoznać się z Najważniejsze wskazówki i uwagi na temat korzystania z forum. Parę istotnych rad na pewno nie zaszkodzi a zdecydowanie pomoże reszcie użytkowników w zrozumieniu Waszego podejścia i wytłumaczeniu co tak naprawdę mieliście na myśli.

    W razie problemów czy pytań, np. na temat współpracy o każdej porze dnia czy nocy możecie pisać do @Tpk lub kontaktując się pod adres support [🐒] tcgforum.pl.

    napisane w Ogłoszenia
  • RE: Komputer gamingowy, nowy za 5500 zł

    Cześć!

    Moim zdaniem ten zestaw powinien dać radę:
    CPU: Procesor Intel Core i5-8600K, 3.60GHz, 9MB, BOX ~ 1119,00zł
    GPU: Karta graficzna Zotac GeForce GTX 1070 Mini 8GB GDDR5 (256 Bit) HDMI, DVI, 3xDP, BOX ~ 1979,00zł
    MOBO: Płyta główna MSI Z370 SLI PLUS ~ 629,00zł
    RAM: Pamięć Kingston Predator DDR4, 8GB, 3000MHz, CL15 ~ 397,14zł
    HDD: Dysk Western Digital Caviar Blue, 3.5'', 1TB, SATA/600, 7200RPM, 64MB cache ~ 178,40zł
    PSU: Zasilacz be quiet! Pure Power 10 600W ~ 344,98zł

    To mogę zaproponować na start ~ 4647,52 zł , no i teraz w zależności od twoich preferencji:

    • Windows wersja Pro/Home?
    • Obudowa z oknem / bez ?
    • Planujesz podkręcanie?

    // Wybiegłem trochę naprzód proponując odblokowaną jednostkę ale zawsze możemy to skorygować

    Do wyboru pozostaje więc CASE, SSD, OS - ich wybór wpłynie na ostateczny wygląd tego zestawu. Warto byłoby też wybrać jakieś chłodzenie, box oczywiście poradzi sobie ale lepiej wziąć coś dedykowanego.

    Od razu wyjaśniam dlaczego niektóre rzeczy są nad wyraz - ten sprzęt można rozbudować o drugą taką samą kartę graficzną (pełnoprawne SLI) a do tego o kolejne kości pamięci (płyta obsługuje do 64 - co nawet jest zalecane). Dodatkowo solidna podstawa powinna dać spore pole do manewrów.

    napisane w Zestawy komputerowe