Getit-Berlin

it solutions for special requirements

Fast docker with Nginx, MariaDB and Php, Part I

Nach vielen Versuchen und Messungen der Perfomance unter Last habe ich folgendes docker-compose.yaml erstellt.

Hier ist erstmal die Definition des DB Containers:

  db:
    image: mariadb:10.1.48
    container_name: ${DB_HOST}
    restart: always
    ports:
      - '3306:3306'
    volumes:
        - template-db:/var/lib/mysql
    command: ['mysqld', '--character-set-server=${DB_CHARSET}', '--collation-server=${DB_COLLATION}']
    environment:
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASS}
      MYSQL_DATABASE: ${DB_NAME}
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
      
volumes:
  template-db:

Die verschiedenen Variablen werden via .env File festgelegt.

DB_HOST=deployment-db-2
DB_USER=run
DB_PASS=ldisfk24esf
DB_ROOT_PASS=ldiamQa943
DB_NAME=my_db
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci

Die Datenbank ist vom Host unter dem dem Port: 3306 und dem localhost erreichbar. Innerhalb der Docker-Container ist die Datenbank unter dem Host deployment-db-2 erreichbar.

Git Cheat: merge

git branch development
git add *
git commit -m "My initial commit message"
git push -u origin development

git checkout master
git merge development
git push -u origin master

Hier eine kleiner Codeschnipsel für eine git merge. Hier findet man die offiziele man-page: https://git-scm.com/docs/git-merge

Docker Desktop und WSL2

Um WSL 2 in einer Docker Desktop Umgebung unter Windows zu nutzen bedarf es ein wenig Konfiguration.

wsl.exe -l -v

wsl.exe --set-default-version 2

In den Eigenschaften des Docker Desktops kann man die Distribution unter Settings -> Resources -> WSL Integration einstellen.

Ich empfehle Ubuntu 🥳

Git Cheat: user

Anzeigen
git config --global --list
git config --global user.name
git config --global user.email

Editieren
git config --global user.name="xxx"
git config --global user.email="xx@xx.xx"

Löschen
git config --unset user.name
git config --unset user.email

Hier ein Codeschnipsel zur manipulation des Git-Users. Hier findet man die offiziele man-page: https://git-scm.com/docs/git-config

Putty auto-login

Natürlich sollte man keine Passwörter einfach so irgendwo ablegen. Aber wenn man es dann doch machen sollte, dann kann man es auch so machen:

putty.exe -ssh groot@127.0.0.1 -pw dasGeheimePasswort

Man kann das auch mit SSH-Keys machen, dann aber im .PPK-Format.

Change permissions, files and directories

How to change all permissions on files and directories? That’s easy, but how to include all directories and files in underlying directories?

It can be done like this:

find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;

Code smell … smells like … (Methoden)

Was stinkt und versteckt sich im Code? Hässliche Methoden im Code!

Das was ich am meisten hasse, sind hässliche Methoden

Albert einSTein

Nun, was sind hässliche Methoden und wie sollte man sie vermeiden? Wenn man sich einfach an PSR hält ist man schon auf der richtige Seite.

Hier noch zwei kleine Tips:

  • Max 3 Parameter pro Methode
  • 30 Linien pro Methode

PHP Update unter Laragon

Je nachdem wann man Laragon heruntergeladen und installiert hat, mag es sein, dass man einen alte PHP Version hat.

Das merkt man dann, wenn Composer einem bei:

composer update 

einen Fehler zurück gibt.

Wie macht man das nun bei Laragon? Wie aktualisiert man nun die PHP Version?

„Rechtsklick“ unter Laragon und dann in das Verzeichnis wechseln

Von https://windows.php.net/download/ die entsprechenden Version runterladen und diese in dem Verzeichnis entpacken.

Diese Version dann im Laragon Kontextmenü auswählen und Laragon Dienste restarten. 🥳 Fertig!

Back in buisness …

Ok, enough is enough! Enough cake, enough Binge Watching, enough boardgames and old shool gaming (have you seen remastered versions of our childhood games? 😮🤩) …

More templates: We updated JoomLavel/documentation and we are proud to announce that more templates for JoomLavel/connect will be published on github.com/JoomLavel/templates soon. Templates enhance JoomLavel/connect functionality and are nearly finished.

Laravel Joomla DB Integration: Finally we are about to publish JoomLavel/JoomaDbLink. This component of the JoomLavel platform allows to integrate Joomla Database with Lumen or Laravel in an easy intuitiv way (eloquent).

So stay tuned 🥳

JoomLavel Use Cases

Ok, JoomLavel, allows to integrate Laravel and Joomla but, how does this work? Here are four use cases how to integrate them together.

completeheavy on Joomlaheavy on LaravelOpenAPI
JL/LaravelAdapter
rapidly generate Joomla
component
JL/Connect
rapidly generate Joomla
component
JL/Connect
rapidly generate Joomla
component
JL/JoomlaAdapter
rapidly connect Laravel
to Joomla DB
JL/JoomlaDbLink
rapidly connect Laravel
to Joomla DB
<SETTINGS>
connect api adapter with
adapter component
<SETTINGS>
connect component with
remote laravel api
<SETTINGS>
sync .env with
configuration.php
<SETTINGS>
connect component with
remote OpenAPI definied
endpoint
<DEV>
enchance both adapter
with custom code
<DEV>
enchance laravel
with custom code
<DEV>
develope representation
by custom code
Use Cases for JoomLavel platform

Every step in the integration process is done with RAD tools for rapid developement. A complete integration of Joomla and Laravel can be done in some minutes. Feel free to contact us if you want to know more.

More info on: http://JoomLavel.io or join us in github/joomlavel

Seite 2 von 6

Präsentiert von WordPress & Theme erstellt von Anders Norén