Webstorm: Live templates czyli fragmenty kodu

Opublikowano: 27.04.2021 - tagi: Webstorm IDE Narzędzie Skrót

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:

Webstorm: Lista live template

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
});
  1. Zaznaczamy kod który chcemy zmienić w szablon.

  2. Na klawiaturze klikamy: CTRL + SHIFT + A

  3. Z listy wybieramy opcję: Save as Live Template...

Wyświetli się okno do stworzenia szablonu.

Webstorm: Edytor live template

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.


Jak zarządzać połączeniami przez SSH

Opublikowano: 20.04.2021 - tagi: SSH Linux Komenda Zarządzanie

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: Git i podgląd schowka

Opublikowano: 18.04.2021 - tagi: Webstorm Git Narzędzie IDE Schowek

Podgląd schowka

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...

Podgląd schowka Git w Webstorm lista

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.

Podgląd schowka Git w Webstorm edytor

Za pomocą edytora możemy wybrać interesujące nas fragmenty lub wszystkie zmiany.


PM2: Jak uruchomić skrypt działający w tle

Opublikowano: 15.04.2021 - tagi: PM2 Skrypt Komenda NodeJS Narzędzie Serwer Proces npm

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:

...
"scripts": {
  "server-start": "NODE_ENV=prod node server/server.js"
},
...

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ć:

pm2 --help

Jak zablokować logowanie przez SSH dla roota?

Opublikowano: 08.04.2021 - tagi: SSH Komenda Linux Logowanie Bezpieczeństwo Serwer

Problem

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:

ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.