Wychodzę z założenia, że jeśli można ułatwić sobie pracę należy starać się to robić, jak najczęściej. W Webstormie istnieje mechanizm o nazwie: Live Templates służy on do korzystania z wcześniej przygotowanych fragmentów kodu jest to szczególnie przydatne kiedy często korzystamy z powtarzalnych fragmentów. W tym wpisie opiszę, jak się nim posługiwać.
Lista szablonów
Webstorm posiada wbudowaną listę fragmentów kodu gotowych do użycia. Dodatkowo możemy zdefiniować czy dany szablon kodu ma być dostępny w TypeScript, JavaScript, Angular, React.
Najpierw dowiemy się gdzie znajduje się lista fragmentów kodu do użycia. W edytorze wciśnij kombinację klawiszy:
CTRL + SHIFT + A
W polu do wyszukiwania wpisujemy:
Live templates
Po wybraniu tej opcji wyświetli się lista szablonów gotowych do użycia:
Szablony są zgrupowane, w różnych kategoriach jak: JavaScript, HTML, Angular, React czy Vue.
Dodanie własnego szablonu
Dowiedzmy się teraz jak dodać własny szablon. Załóżmy, że chcemy dodać taki oto kod:
it('should ', () => {
// given// when// then
});
Zaznaczamy kod który chcemy zmienić w szablon.
Na klawiaturze klikamy: CTRL + SHIFT + A
Z listy wybieramy opcję: Save as Live Template...
Wyświetli się okno do stworzenia szablonu.
W polu: Abbreviation wpisujemy nazwę skrótu za pomocą którego będziemy wywoływać ten szablon. Na przykład w tym przypadku: it-unit. Ważne żeby nazwa skrótu była unikalna. W polu Description możemy dodać opis szablonu ale nie jest to wymagane. Jeśli do szablonu chcielibyśmy coś jeszcze dodać to możemy to zrobić, w polu Template text.
Wywołanie szablonu
Czas teraz na skorzystanie ze stworzonego szablonu. Przejdź do edytora i zacznij pisać: it- z listy wybierz it-unit i kliknij klawisz Enter lub Tab szablon zostanie dodany.
Stworzony fragment kodu możemy użyć także w inny sposób. Kliknij: CTRL + J wyświetli się lista szablonów zacznij wpisywać nazwę swojego szablonu. Wybierz z listy interesujący szablon i potwierdź swój wybór.
Parametry szablonu
Oprócz samego szablonu możemy także definiować jego parametry. Wróćmy do naszego przykładu i zedytujmy go do takiej postaci:
it('should ', () => {
// given
$GIVEN$
// when
$WHEN$
// then
$END$
});
Parametry w szablonie tworzymy za pomocą składni:
$NAZWA_PARAMETRU$
Z kolei: $END$ wskazuje na miejsce gdzie ma się znaleźć kursor kiedy pozostałe parametry zostaną wypełnione.
Jeszcze jedna uwaga na temat nawigacji pomiędzy parametrami. Jeżeli chcesz przeskoczyć do następnego parametru wystarczy wcisnąć klawisz Enter lub Tab. Ale jeśli Twój parametr składa się więcej niż z jednej linijki kodu i chcesz przejść do kolejnej wciśnij: SHIFT + ENTER lub SHIFT + TAB to sprawi, że nie przeskoczysz do następnego parametru.
Klasyczne połączenie się z serwerem przez SSH w terminalu wygląda tak:
ssh user@host
A co jeśli możnaby ten zapis skrócić? Na przykład do takiej postaci:
ssh myserver
Nie trzeba pamiętać nazwy użytkownika i hosta, wystarczy skrót.
Można to zrobić, w bardzo prosty sposób. SSH posiada plik konfiguracyjny o nazwie: config. W Ubuntu znajduje się on, w ścieżce:
~/.ssh/config
Zedytujmy ten plik:
nano ~/.ssh/config
Wpisujemy dane:
host myserver
hostname: 123.123.11.22
user john
W pierwszej linijce podajemy nazwę skrótu, którym będziemy się posługiwać przy połączeniu. W drugiej linijce wpisujemy adres hosta, a w trzeciej nazwę użytkownika na jakiego chcemy się zalogować.
Teraz możemy napisać w terminalu:
ssh myserver
Uwaga: Upewnij się że Twój klucz publiczny znajduje się na serwerze z którym zamierzasz się połączyć.
Webstorm posiada bardzo wygodną funkcjonalność do podglądu tego, co znajduje się w schowku(ang.: stash) Gita.
Załóżmy, że masz w schowku jakiś kod. Chcesz wiedzieć co aktualnie się tam znajduje. Lub przełączasz się między gałęźami(ang.: branches) i w pewnym momencie chcesz użyć tylko niektórych fragmentów kodu na aktualnej gałęzi. Wszystko to można uzyskać, w szybki sposób za pomocą Webstorma.
W tym wpisie przedstawię jak obsłużyć schowek od strony GUI, a nie za pomocą komend :)
Z menu wybieramy: Git -> Uncommitted Changes -> Unstash changes...
Jeśli coś znajduje się w schowku zostanie to wyświetlone na liście.
Żeby sprawdzić co jest, w schowku wybieramy element z listy i klikamy opcję View. Wyświetli się lista zedytowanych plików. Wystarczy dwukrotnie kliknąć w dany plik aby sprawdzić, co tam się znajduje.
Za pomocą edytora możemy wybrać interesujące nas fragmenty lub wszystkie zmiany.
Od dłuższego czasu korzystam z narzędzia do zarządzania procesami na swoim serwerze o nazwie: PM2 Służy to na: uruchomienie skryptów działających w tle, monitoring procesów lub podgląd logów i wiele więcej.
W tym wpisie opisuję podstawy które wystarczą do korzystania z tego narzędzia.
Instalacja
Żeby zacząć pracę z PM2 wystarczy uruchomić komendę(tutaj podaję przykład instalacji za pomocą npm):
npm install pm2 -g
Podstawy
Poniżej przedstawiam listę przydatnych komend na początek:
Wyświetlenie listy uruchomionych procesów
pm2 list
Z racji że aktualnie nie mamy żadnego działajacego skryptu lista ta będzie pusta.
Uruchomienie skryptu
pm2 start some-script.sh
Bonus: jak uruchomić skrypt z pliku package.json(npm)? Załóżmy że mamy plik package.json o takiej treści:
I chcemy uruchomić skrypt o nazwie server-start piszemy:
pm2 start npm --name "my-script" -- run server-start
Co tutaj się dzieje? Po pierwsze informujemy pm2 że chcemy uruchomić skrypt i że znajdzie go w pliku: package.json. Następnie nadajemy naszemu procesowi nazwę: my-script na końcu wskazujemy który skrypt z pliku package.json chcemy uruchomić.
Inne pomocne komendy
PM2 dysponuje całą listą komend poniżej znajdziesz listę kilku innych pomocnych wywołań. Przy niemal każdej z poniższych komend możemy podać id lub nazwę(którą podaliśmy, w trakcie uruchomienia skryptu) procesu.
Żeby zatrzymać proces piszemy:
pm2 stop name | id
Usunięcie procesu z listy(jeśli proces jest uruchomiony, to zostanie także zatrzymany):
pm2 delete name | id
Restart procesu:
pm2 restart name | id
Żeby pobrać całą listę dostępnych komend wystarczy wywołać:
Każdy kto miał do czynienia Linuxem wie(lub przynajmniej powinien wiedzieć), że istnieje specjalne konto w systemie o nazwie: root. Logując się na to konto użytkownik ma dostęp do praktycznie wszystkiego w systemie operacyjnym.
Wyobraź sobie, że ktoś próbuje włamać się na Twój serwer na konto root'a poprzez metodę brute force. Udana próba oznacza oczywiście dla ofiary coś nie miłego.
Dlatego warto wyłączyć możliwość logowania się na serwer przez konto root. W poniższym wpisie przedstawię jak można to zrobić w łatwy sposób.
Uwaga: Zanim wyłączysz możliwość logowania się przez root'a upewnij się że masz inne konto za pomocą którego będziesz mieć uprawnienia root.
Rozwiązanie
Żeby zablokować logowanie się na konto root'a wystarczy wywołać dwie komendy.
Najpierw musimy zedytować plik konfiguracyjny SSH:
sudo nano /etc/ssh/sshd_config
W edytowanym pliku szukamy następującej linijki:
#PermitRootLogin no
Usuwamy znak: #. Oznacza on że dana linijka jest zakomentowana czyli nie będzie brana pod uwagę. Ostatecznie powinno to wyglądać tak:
PermitRootLogin no
Ostatni krok to zrestartowanie SSH za pomocą:
sudo service ssh restart
Od tej pory użytkownik nie będzie mógł się zalogować na serwer poprzez konto root: