Projekt


Oprogramowanie wymagane:

Oprogramowanie zalecane:

  • 7zip
  • Notepad++
  • BeyondCompare - porównywanie zmian w plikach i katalogach, skrypty backupu
  • MobaXTerm - nakładka na putty, kombajn zawierający wiele funkcji obsługi protokołów sieciowych
  • FastStone Capture 5.3 - tworzenie zrzutów ekranowych, edycja grafiki (strzałki, ramki itp)


Ustawienia środowiska:

  • zdefiniować nazwę hosta (komputera): Właściwości systemu → Zaawansowane ustawienia systemu → Nazwa komputera → Zmień... (przydatne w logach)


Repozytorium:


Każdy użytkownik (programista) posiada swoje indywidualne konto na serwerze NextBuy. Po założeniu konta należy się na nie zalogować za pośrednictwem putty, MobaXTerm lub podobnego narzędzia i ustalić/zmienić hasło użytkownika poprzez wykonanie komendy passwd,

Następnie należy wygenerować parę kluczy ssh. W tym celu przechodzimy do katalogu domowego użytkownika (cd ~) i wydajemy komendę ssh-keygen. Hasło pozostawiamy puste. Opcjonalnie możemy sobie wygenerować klucz prywatny za pomocą putty-gen i dodać do autoryzowanych w pliku authorized_keys



Git i zapamiętywanie haseł

Jeśli źle wpiszemy hasło lub je zmienimy na serwerze a środowisko ma już jakieś zapamiętane nie będzie możliwości wykonania jakichkolwiek operacji na repozytorium. 
Rozwiązaniem tego problemu jest usunięcie pliku z bazą haseł IntelliJ, komenda  del %USERPROFILE%\.IntelliJIdea2017.3\config\c.kdbx


Git, klucze ssh

Aby nie pojawiał się komunikat "Connecting to a new host test.nextbuy24.com:12345 that has the key 80:6d:68:1d:71:f9:fc:2d:b9:48:1d:16:69:60:1a:c0 (type ssh-rsa). Do you want to add this host to known hosts database?"

należy utworzyć katalog ".ssh" w katalogu użytkownika.

mkdir %USERPROFILE%\.ssh

Klient ssh utworzy w tym katalogu plik "known_hosts", w którym zapisane będą odciski palca serwerów.



Inicjacja, kompilacja:

  • tools\bin\initialize.bat


Import projektu do IntelliJ:

  • wybieramy "otwórz" (nie "import"), wskazujemy katalog


Ustawienia projektu:

  • File → Project Structure :
    • Project SDK: JDK8
    • Project language level: 8
  • Run → Edit configurations...

Konfiguracja środowiska IntelliJ:


  • Słownik polski
    • wypakowujemy zawartość pliku tools\IntelliJ\pl_PL.7z do C:\Program Files\JetBrains
    • File → Settings → Editor → Spelling → Dictionaries → Add (zielona ikona + )
    • Wskazujemy katalog C:\Program Files\JetBrains
  • Kodowanie znaków:
    • File → Settings → Editor → File Encodings:
      • Global Encoding: UTF-8
      • Project Encoding: UTF-8
      • Default encoding for properties files: UTF-8
      • Transparent native-to-ascii conversion: Tak
  • Inne:
    • Pokaż wskaźnik pamięci: File → Settings → Appearance & Behavior → Appearance → Show memory indicator : Tak
    • Pokaż toolbara: View → Toolbar


Tuning ustawień maszyny wirtualnej środowiska:

  • Help → Edit custom VM options, wklejamy poniższą zawartość, restartujemy IDE

VM options
-Xms3g
-Xmx4g
-XX:ReservedCodeCacheSize=1g
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=80
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow


Aby debugger nie wchodził do klas springa i hibernate:

File → Settings → Build, Execution, Deployment → Debugger → Stepping → Do not step into the classes

  • org.springframework.cglib.proxy.*

  • org.springframework.aop.*

  • org.springframework.aop.*
  • org.springframework.transaction.interceptor.*


Tomcat\bin\setenv.bat
set JAVA_OPTS=%JAVA_OPTS% -server -Xms1G -Xmx2G -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:-UseParNewGC -XX:-UseConcMarkSweepGC -XX:+UseG1GC -XX:G1ReservePercent=20 -Djava.awt.headless=true



Szablony plików java:

Settings → Editor → Files and Code Templates

/**
@author: Imię Nazwisko
@date: ${DATE}
*/


Aby środowisko nie sugerowało automatycznego importu z niektórych pakietów:

Settings → Editor → General → AutoImport → Exclude from Import and Completion:

  • javax.swing
  • java.awt
  • sun.awt
  • javafx


Commitowanie zmian

Należy zaznaczyć opcje w sekcji Before commit:

  • Reformat code
  • Optimize imports



Słownik:

pl_PL.7z


Załączniki