Home » 2023

Archiv für das Jahr: 2023

Regexp Zeichengruppen finden – Zeile, die nicht mit Zeichenfolge beginnt finden

Zeichengruppen werden in Klammern gesetzt:

^(CHF).*$ findet Zeilen, die mit „CHF“ beginnen.

^(?=(CHF)).*$ ist dasselbe, aber mittels ?= wird betont, dass es ein „look ahead“ ist, der angewandt wird um zu finden.

^(?!(CHF)).*$ ist der ‚Look Ahead for NOT‚: Finde alle Zeilen, die NICHT mit „CHF“ beginnen

Regular Expressions (regexp) mit Powershell

Regular Expressions auf ein inFile.txt anwenden und das Gefundene in ein outFile.txt umleiten:



PS C:\tmp> get-content tickets.txt | Select-String '^(?=(CHF)).*$' -AllMatches >out.txt
PS C:\tmp> type out.txt

CHF 26.80
CHF 21.20
CHF 25.40
CHF 31.00
CHF 40.20
CHF 22.50
CHF 34.20
CHF 26.80
CHF 60.40
CHF 6.80
CHF 26.80
CHF 26.80
CHF 26.80
CHF 26.80


PS C:\tmp>

Im Beispiel werden Zeilen, die mit CHF beginnen herausgesucht.

Hibernate, JPA, JPQL, JDBC – Java DB Query Languages

Eclipse Nebula NatTable – Referenzen

https://www.vogella.com/tutorials/NatTable/article.html

https://www.eclipse.org/nattable/

https://github.com/HPSDeveloper/NatTableExercised : My personal NatTable exercises documented

Nebula NatTable mit Expand/Collapse-Funktion auf Kolonnen und Zeilen – SWT, Nebula und GlazedList Libraries in ein Worspace-Setup mit einbeziehen

Resultat: https://github.com/HPSDeveloper/NatTableExercised

Das SW-Projekt ermöglicht mir mit der Nat-Table-Beispielapplication (hier in Form des NatTableExamples.jar) (https://www.eclipse.org/nattable/documentation.php?page=examples_application) herumzuspielen und eigene Codes zu schreiben, die auf SWT, Eclipse Nebula NatTable, GlazedList, JFace, .. aufbauen.
Es hat sich als sehr schwer erwiesen, diese Libraries über Maven Dependencies rein zu ziehen. Stattdessen habe ich ein mir bekanntes SWT.jar und auch das NatTableExamples.jar direkt eingebunden. Das letztere enthält alle genannten Libraries ausser SWT.

Maven Global Repository

https://repo.maven.apache.org/maven2/org/eclipse/

Jar-File als Maven Dependency einbeziehen

Situation: Ich habe ein JAR File zur Hand und möchte es in meinem mit Maven aufgesetzten Projekt einbeziehen.

–> https://intellipaat.com/community/6786/how-to-add-local-jar-files-to-a-maven-project

Im https://github.com/HPSDeveloper/NatTableExercised ist das so realisiert. Siehe das Pom File und das ‚lib1‘ directory!

GIT Large File Support – Grosse Files ins GitHub stellen

Git lässt Files mit wenigen MBs zu. Um grössere Files pushen zu können muss man https://git-lfs.com installieren.
Ich hatte mit diesem Tool eine Scheiss-Zeit! Habs nicht in anständiger Zeit hingekriegt ein 27MB File hoch zu laden.
Grrrrrr!!!

Meine Bemühungen waren im Rahmen von https://github.com/HPSDeveloper/NatTableExercised

Diese Seite dokumentiert den Ärger mit diesem uns zugemuteten Tool: https://github.com/git-lfs/git-lfs/issues/1581

Sketchup – Merkpunkte (Anfänger)

Modell: Bezeichnet die Gesamtheit der Zeichung mit allen Teilen.
Objekt: Ein Teil des Modells.
Diese Unterscheidung ist wichtig, wenn man z.B. ein Objekt strecken möchte. Es ist dann wichtig das Objekt allein zur Bearbeitung ausgewählt zu haben (normalerweise über Rechtsklick > „Objekt bearbeiten“).

Betrachterperspektive ändern: Mittlere Maustaste drücken und Maus bewegen.
Modell verschieben: Mittlere und linke Maustaste gedrückt halten und Maus bewegen.
In Selektionsmodus wechseln: Space-Taste (oder Pfeil-Menu)

Zusammengehörende Objekte in einer Collection zusammenfassen – Mit Java Stream API

Angenommen wir haben eine Collection von Einkäufen (Joghurt, Bananen, Deodorant, Äpfel, Käse, …) und wir wollen diese zusammenfassen (z.B. Milchprodukte, Früchte, …) dann können wir das wie folgt machen:

Map<String, Purchase> condensedMap = purchases.stream()
    .collect(Collectors.groupingBy(Purchase::getCategory,
        Collectors.collectingAndThen(Collectors.reducing(
         (a,b) -> new Category(a.getCategory().name(), Math.sum(a.price(), b.price())), 
Optional::get))));

List<Category> condensedList = condensedMap.values();

Inspired by Java stream merge or reduce duplicate objects