Spring Tool Suite/JDK Update

Witam.

Po aktualizacji Zintegrowanego Środowiska Programistycznego STS z wersji 4.6-7 do 4.10, można natknąć się na problem, że przy wersji Javy 8 się nie uruchomi (wymagana co najmniej wersja 11).
Lub po prostu chcemy migrować do nowszej wersji Javy.

Co powinniśmy wtedy zrobić?
Przy systemie linuksowym – Ubuntu najpierw dodać repozytorium do systemu:

sudo add-apt-repository ppa:openjdk-r/ppa

Wykonać kolejne komendy w celu instalacji JDK:
sudo apt-get update
sudo apt install openjdk-11-jdk

Następnie zmienić obecną wersję na nową:
sudo update-alternatives –config javac

to samo zrobić też z JRE, czyli:
sudo update-alternatives –config java

Na koniec sprawdzamy, czy mamy ustawione wybrane przez nas wersje Javy:
java –version
javac –version

Jeszcze została konfiguracja JRE w STS:
Przechodzimy do Window->Preferences->Java->Installed JREs i dodajemy nowo zainstalowaną.

Dostępna tylko jedna mała rozdzielczość Ubuntu Nvidia

Witam.
Przedstawię pokrótce jak można poradzić sobie z tym problemem.

Skorzystamy przy szukaniu rozwiązania z programu xrandr.
Jest to prosty interfejs linii poleceń do zmian rozszerzeń ekranu.
Wywołajmy polecenie z linii komend terminala:

xrandr

Ujrzymy wówczas możliwość wyboru dostępnych rozdzielczości z konkretnego przedziału, lub po prostu tylko jedną możliwą.
Następnie wpiszmy:
xrandr –listproviders

Dostarczy Nam to listę dostawców do obsługi ekranu/grafiki.
Jeżeli “Providers number” jest równe 0, to prawdopodobnie brak sterowników do grafiki.

W celu dalszej solucji, dodajemy do repozytorium oprogramowania pakiety źródłowe, w celu przystosowania ich do użycia przez APT (systemu zarządzania pakietami):

sudo add-apt-repository ppa:graphics-drivers/ppa

Ze strony:
https://www.nvidia.com/en-us/drivers/unix/
możemy sprawdzić najnowszą dostępną wersję do Naszej dystrybucji.

Następnie instalujemy konkretny sterownik Nvidia:

sudo apt install nvidia-driver-[latest version number]

Jeszcze tylko komenda:
reboot

i po restarcie systemu powinno już wszystko być w porządku.

GIT w skrócie – rozproszony system kontroli wersji

Do samodzielnego, prostego zarządzania własnym repozytorium czasami wystarczą poniższe komendy:


git config user.name “Imię Nazwisko”
git config user.email imie@domena.pl
git init
git add file
git commit -m ‘komentarz’
git status
git push origin master

Określamy kolejno dane konfiguracyjne, inicjalizujemy repo, dodajemy jakieś pliki, zatwierdzamy komentarzem, możemy przejrzeć status (np. zmodyfikowany) i końcowa czynność dodanie do repo na konkretnej gałęzi.

A teraz trochę więcej szczegółów:

Git posiada trzy stany, w których mogą znajdować się pliki:
1) zmodyfikowany – plik został zmieniony, ale zmiany nie zostały wprowadzone do bazy danych
(zmodyfikowany – kolor czerwony)
2) śledzony – zmodyfikowany plik został przeznaczony do zatwierdzenia w bieżącej postaci w następnej operacji commit
(zmodyfikowany – kolor zielony)
3) zatwierdzony – dane zostały bezpiecznie zachowane w Twojej lokalnej bazie danych

Ze względu na te trzy stany, projekt GIT jest podzielony na trzy główne sekcje:
– katalog GIT (repository)
– katalog roboczy (working directory)
– przechowalnia (staging area)

– poczekalnia (tylko zmodyfikowany, nieśledzony) (git add)(potem git commit)
(coś pomiędzy katalogiem roboczym, a przechowalnią)


user@computer$ git diff – różnice między katalogiem roboczym a przechowalnią
user@computer$ git diff HEAD – różnice między katalogiem roboczym a repozytorium
user@computer$ git diff –staged – różnice między przechowalnią a repozytorium

 

katalog roboczy (tu modyfikujemy pliki, tworzymy nowe)
przechowalnia (tu śledzimy pliki, które czekają na umieszczenie w repozytorium)
repozytorium (tu przechowujemy zatwierdzone pliki)

 

user@computer$ git add . – dodanie do poczekalni zawartości całego bieżącego katalogu

user@computer$ git log -historia rewizji(dokonanych zmian w odwróconej chronologii)
user@computer$ git log –graph –decorate –pretty=oneline –abbrev-commit –all

user@computer$ git commit –amend -poprawa komentarza w ostatniej rewizji
user@computer$ git commit -a -pozwala ominąć poczekalnię i dodaje do repozytorium wszystkie zmienione pliki, które były śledzone (zatwierdzenie wprowadzonych zmian)

user@computer$ git branch -wypisuje gałęzie i zaznacza, w której aktualnie się znajdujemy
user@computer$ git branch newbranch -utworzenie nowej gałęzi
user@computer$ git checkout newbranch -przejście do podanej gałęzi
user@computer$ git merge newbranch -scalenie gałęzi newbranch z gałęzią master
user@computer$ git branch -d newbranch -usunięcie gałęzi newbranch
user@computer$ git checkout -b newbranch -utworzenie nowej gałęzi i przejście do niej

user@computer$ git stash -“ukrywanie” zmian wprowadzonych na danej gałęzi (umieszczenie zmian w schowku – nie chcemy ich jeszcze wrzucić do repozytorium)
user@computer$ git stash apply -pobranie danych ze schowka
user@computer$ git stash clear -wyczyszczenie niepotrzebnego już schowka

Akcja minimalizacji otwartego okna w panelu bocznym – Linux

Przedstawię pokrótce jak włączyć w Ubuntu 20.04 Focal Fossa w środowisku GNOME na panelu bocznym akcję minimalizacji otwartego okna lub przeglądu otwartych okien.

Pobranie aktualnej ustawionej wartości:

gsettings get org.gnome.shell.extensions.dash-to-dock click-action

 

Przywrócenie ustawień domyślnych:

gsettings reset org.gnome.shell.extensions.dash-to-dock click-action

 

Ustawienie na minimalizację lub przegląd otwartych okien:

gsettings set org.gnome.shell.extensions.dash-to-dock click-action ‘minimize-or-overview’

 

Otrzymanie wszystkich możliwych wartości, które mogą być ustawione:

gsettings range org.gnome.shell.extensions.dash-to-dock click-action

I tu można dowolnie próbować innych kombinacji, które najbardziej będą odpowiadać.

Montowanie zewnętrznego/dodatkowego dysku w Ubuntu 20.04 Focal Fossa

Często zdarza się, że pewne partycje, które trzeba montować ręcznie pod systemem Linux, klikajać w ich ikonę w menedżerze plików, Nautilusie nie zawsze mają chciane przez nas prawa dostępu, czyli np. zapis danych.
Najpierw przedstawię metodę automatycznego montowania tych partycji/dysków wraz ze startem systemu.
Niestety czasem ten sposób jest zawodny, gdyż często pojawiają się błędy systemu plików i urządzenie nie jest montowane, np. przy NTFS.

Automount z startem systemu:

Pobranie UUID konkretnego urządzenia: (można łatwo skopiować/wkleić w terminalu uuid poprzez kombinację [(SHIFT +CTRL +C)=kopiuj, (SHIFT +CTRL +V)=wklej]


ls -l /dev/disk/by-uuid/*

Edycja pliku systemowego do automontowania urządzeń:


mkdir /media/folder-montowania-urzadzenia
sudo nano /etc/fstab

W powyższym pliku zapisujemy sekwencję, rozdzieloną znakiem tabulacji:

UUID     /dev/nazwa-urzadzenia-w-linuksie/     /media/folder-montowania-urzadzenia     system-plikow,np.ntfs     defaults(ustawienia domyślne)     0     0

Krótkie wyjaśnienia:
Najpierw tworzymy folder do zamontowania dysku.
W pliku w jednej linii wprowadzamy dane.
I tu, zamiast defaults możemy, np. zastosować:
exec = wykonywanie plików
rw = tryb odczytu-zapisu
users = wszyscy użytkownicy
auto = tryb automatyczny
remount = ponowne montowanie
wpisujemy powyższe słowa kluczowe w miejscu defaults, po przecinku bez żadnych odstępów pomiędzy słowami
Ostatnie cyfry: 0 0, to:
dump – zazwyczaj zero
pass – używane przez program fsck, w której kolejności system plików jest sprawdzany. Wartość admina/roota jest 1. Swap/partycja wymiany nie musi być sprawdzana i jest równa zero. Inne systemy plików powinny mieć 2.

Montujemy wszystkie urządzenia ponownie:


mount -a

I powyższy sposób jest jak najbardziej prawidłowy, niestety jak wystąpią jakieś błędy zdarza się, że urządzenie zostanie zamontowane, np. tylko do odczytu, albo w ogóle.

 

Druga metoda, to stworzenie prostego skryptu w bashu:

#!/bin/bash 
#to jest komentarz

#odmontowywujemy urządzenie 
sudo umount /dev/nazwa-urzadzenia media/folder-montowania 

#montujemy 
sudo mount -o defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania 

#naprawiamy ewentualne błędy w systemie plików 
sudo ntfsfix /dev/nazwa-urzadzenia 

#przemontowywujemy ponownie 
sudo mount -o remount,defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania

Nie zapomnijmy o nadaniu praw wykonania do pliku:


chmod +x nasz-skrypt.sh

Jeszcze większym ułatwieniem jest stworzenie skrótu na pulpicie do skryptu (metoda działa pod Ubuntu 20.04):

Tworzymy plik na pulpicie z rozszerzeniem .desktop:

#!/usr/bin/env xdg-open
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=true
Exec=/home/user/mount-disks.sh 
Name=Mount disks
Comment=Mount disks 
Icon=/home/user/Obrazy/hdd-mount.ico

Exec – ścieżka do naszego skryptu
Icon – ikona, jaką chcemy żeby się nam wyświetlała

Nie zapomnijmy jak poprzednio nadać prawa wykonania i jeszcze klikamy na pliku prawym przyciskiem myszy i wybieramy “Zezwól na uruchamianie”.

Teraz za pomocą drugiej metody, po uruchomieniu skryptu wpisujemy hasło root-a, sprawdzane i naprawiane są struktury plików i zamontowane powinny być nasze urządzenia dla wszystkich użytkowników z prawami wykonania, odczytu i zapisu.

Uruchomienie aplikacji Spring Boot na Heroku

Zgodnie z linkiem tworzymy szkielet Spring Boot. Na stronie Initializr dodajemy jako zależności “Spring Web”.
Możemy dodać jakąś nową klasę, żeby wyświetlała nam jakiś tekst, np. :

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Example {

@RequestMapping("/")
String hello(){
return "Witaj świecie!";
}

public static void main(String[] args){
SpringApplication.run(Example.class,args);
}
}

Standardowo odpalamy aplikację i powinien wyświetlić nam się żądany tekst.

Gdy mamy już zainstalowanego Git-a i Heroku logujemy się:

$heroku login

Następnie tworzymy lokalne repozytorium i dodajemy pliki:

git init
git add .
git commit -m "initial commit"

Tworzymy aplikację komendą:

$heroku create

A potem wrzucamy kod do zdalnego repozytorium:
$git push heroku master

I otwieramy za pomocą polecenia:
$heroku open

VirtualBox pod Linuksem (poprawne działanie)

Czasami pod Ubuntu 18.04 może wystąpić błąd z działaniem wirtualnego menedżera wirtualnych maszyn VirtualBox firmy Oracle.

Wykonujemy wtedy następujące kroki:

1. Wyłączamy w BIOS opcję “secure boot”.

2. Włączamy w BIOS opcję “Intel Virtual Technology”.

3. Ściągamy obraz ISO Guest Additions.

4. Ustawiamy następnie współdzielone foldery.

W ten oto sposób powinniśmy mieć w miarę poprawnie skonfigurowany program do uruchamiania systemów na wirtualnych maszynach oraz ich integrację z środowiskiem zewnętrznym.