- Integrate Jacoco into your Maven pom.xml.
- Add into your file .gitlab-ci.yml: echo -n "Total:" ; cat target/site/jacoco/index.html | grep -o 'Total[^%]*%' | grep -o -E '[0-9]+%$
- Add Badge in Gitlab under Setting.
- Gitlab scann the console for the Regex you given in Point 3.
Programming
Privater Blog: Performance, Load, Robustness, Programming
Freitag, 11. Januar 2019
Freitag, 7. September 2018
Mein Tool Empfehlung für Kollaboration und Kommunikation in der Softwareentwicklung
- Pair Programming
- Git
- Junit
- Videokonferenz
- Jitsi
- Appear
- Slack
- Andere Kollaboration
- Whiteboard: https://awwapp.com/
- Wiki: Confluence
- Kollaborativer Editor: http://meetingwords.com
- Terminfindung: Kalenderly
- Abstimmung:
- SCRUM
- JIRA
- Schätzen: Pointing Poker https://www.pointingpoker.com
- Retro: Retrium
Montag, 14. Mai 2018
Universelles Apple Zubehör seit fast 30 Jahren
Es gibt ein Werkzeug oder Hilfsmittel das ich seit fast 30 Jahren für meine Apple Geräte brauche.
Früher habe ich damit 3,5' Disketten aus meinem Mac befreit, heute säubere ich damit die Ladebuchse von meinem iPhone, damit ich es laden kann. Ich bin schon darauf gespannt, wann Apple dieses universelle Tool selbst vermarktet - wie wäre es mit iClip X oder MacClip Pro - Karl Klammer wäre sicher stolz.
Früher habe ich damit 3,5' Disketten aus meinem Mac befreit, heute säubere ich damit die Ladebuchse von meinem iPhone, damit ich es laden kann. Ich bin schon darauf gespannt, wann Apple dieses universelle Tool selbst vermarktet - wie wäre es mit iClip X oder MacClip Pro - Karl Klammer wäre sicher stolz.
Mittwoch, 2. Mai 2018
Prüfen von Java Libs auf bekannte Verwundbarkeiten
Es gibt ein gutes Tool mit dem man Java Libs auf bekannte OWASP Schwachstellen prüfen kann. Dieses Toll gib es als Plugins für diverse Build-Werkzeuge. Man kann es aber auch Out-Of-The-Box nutzen:
Installation:
brew install dependency-check
Für Grade gibt es ein Plugin, wenn man dieses nich nutzen möchte kann man alle Dependencies herunterladen, mit folgenden Grade Task:
task getDeps(type: Copy) {
from sourceSets.main.runtimeClasspath
into 'runtimeX/'
}
Ausführen und Erzeugen eines Report mit gefundenen Verwundbarkeiten
dependency-check --project haupt --scan runtimeX/ --suppression config/dependencyCheck/suppressions.xml --suppression config/dependencyCheck/suppressNetty.xml
In dem Report findet man gelegentlich False-Positive Warnungen, diese kann man mit Hilfe der Saupression-Dateien unterdrücken.
Link:
Installation:
brew install dependency-check
Für Grade gibt es ein Plugin, wenn man dieses nich nutzen möchte kann man alle Dependencies herunterladen, mit folgenden Grade Task:
task getDeps(type: Copy) {
from sourceSets.main.runtimeClasspath
into 'runtimeX/'
}
Ausführen und Erzeugen eines Report mit gefundenen Verwundbarkeiten
dependency-check --project haupt --scan runtimeX/ --suppression config/dependencyCheck/suppressions.xml --suppression config/dependencyCheck/suppressNetty.xml
In dem Report findet man gelegentlich False-Positive Warnungen, diese kann man mit Hilfe der Saupression-Dateien unterdrücken.
Link:
Prüfen von JavaScript Libs auf bekannte Verwundbarkeiten
OWASP ist hoffentlich für viele Entwickler eine bekannte Quelle, wenn es um Sicherheit von Software geht.
Mit Hilfe des Programms retire kann man seine JavaScript Libs auf OWASP bekannt Verwundbarkeiten prüfen:
Installation von retire via Yarn:
yarn global add retire
Prüfen auf JS Verwundbarkeiten:
retire -v --js --jspath myProject
Die Option -v sollt man möglichst mitgegeben, um zu sehen, das retire funktioniert bzw. der angegebene Pfad OK ist.
Mit Hilfe des Programms retire kann man seine JavaScript Libs auf OWASP bekannt Verwundbarkeiten prüfen:
Installation von retire via Yarn:
yarn global add retire
Prüfen auf JS Verwundbarkeiten:
retire -v --js --jspath myProject
Die Option -v sollt man möglichst mitgegeben, um zu sehen, das retire funktioniert bzw. der angegebene Pfad OK ist.
- Ursächliche JavaScript Library identifizieren und CVE-Vulnerabily verstehen
- Version der JavaScript Library anpassen
- Library in der Datei _.retireignore_ gegebenenfalls aufnehmen
Natürlich sollte man diesen C heck natürlich regelmässig wiederholen.
Dienstag, 10. April 2018
Postgresql Zombie Prozesse finden und beenden
Zombie gibt es überall, auch in Form von Queries in Datenbanken wie hier der Postgresql DB. Diese Zombies können auf unterschiedliche Weise entstehen, z.B. wenn eine Javaanwendung eine Query mach und in eine Excption gerät und dann die Ressourcen, d.h. hier die DB Query aufräumen. Die DB wartet dann ewig, dass die Java Applikation sich das Ergebnis der Query abholt, vergebens.
Mit der folgenden SQl Query kann man Zombies finden, hier Queries die älter als 30 Minuten sind.
Anschliessend kann man sie beenden:
Einige nützliche Links
Mit der folgenden SQl Query kann man Zombies finden, hier Queries die älter als 30 Minuten sind.
select pid, age(query_start, clock_timestamp()), usename, query
FROM pg_stat_activity
WHERE query !=
'<IDLE>'
AND query NOT ILIKE
'%pg_stat_activity%'
AND query_start < NOW() - INTERVAL
'30 minute'
Anschliessend kann man sie beenden:
select
pg_terminate_backend(pid)
Einige nützliche Links
- https://gist.github.com/rgreenjr/3637525
- https://stackoverflow.com/questions/35319597/how-to-stop-kill-a-query-in-postgresql
- https://jobs.zalando.com/tech/blog/hack-to-terminate-tcp-conn-postgres/?gh_src=4n3gxh1
Sonntag, 18. März 2018
Abonnieren
Posts (Atom)