Anforderungen an eine Rechnungsvorlage

  • in einem Tool nutzbar, welches ich besitze (docx, doc, OO, Browser)
  • wichtigste Anforderung – Rechtskonformität, keinen Ärger mit Finanzamt, keine peinliche Rückfrage seitens des Kunden
  • ordentliches Design: der Kunde soll nicht das Gefühl haben, dass ich ein unzuverlässiger Geschäftspartner bin
  • hoher Automatisierungsgrad (Umsatzsteuer voreingestellt, Zeilen hinzufügen ohne Probleme, automatische Berechnung der Zeilen- und Endspaltensumme, Adressen der Geschäftspartner eingespielt)
  • alle zahlungsrelevanten Informationen enthalten: Bankverbindung (IBAN in lesbarem Format)
  • Schnittstelle zu Buchhaltungsprozess (und wenn es nur eine saubere, digital archivierte Ablage ist)
  • Nebenanforderung: QR-Code
  • Nebenanforderung: Marketingbotschaft (Logo, Slogan, Call-to-action: beauftragen Sie uns wieder, melden Sie sich bei Ihrer nächsten Herausforderung)
  • Nebenanforderung: Datenschutz – meine Rechnungsdaten gehören mir

Facebook Ads – Slideshow erstellen

Bewegtbilder, am besten noch mit Musik unterlegt, zeigen eine größere Werbewirkung, als nur ein Bild. Gute Videos zu machen kostet jedoch viel Geld, weshalb die Slideshow ein guter Kompromiss zwischen Kosten und Werbewirksamkeit darstellt. Facebook bietet hierfür einen Editor an – nachdem eine Slideshow jedoch einmal gespeichert ist, kann sie nicht wieder editiert werden. Das ist jedoch nicht weiter schlimm, denn die Hauptarbeit liegt ohnehin im Auswählen, Bearbeiten und Hochladen der einzelnen Bilder – und die sind – einmal online – immer in der Bibliothek abrufbar.

Verwende Bilder mit einheitlichen Abmessungen, idealerweise mit 1.280 x 720 Pixeln oder mit einem Seitenverhältnis von 16:9, 1:1 oder 2:3. Wenn du Bilder in anderen Formaten verwendest, wird deine Slideshow auf ein quadratisches Format zugeschnitten. (Quelle offizielle Facebook-Anleitung)

Die einzelnen Bilder fertige ich in Canva an. Hierzu wähle ich bei Templates Benutzerdefinierte Abmessungen verwenden. Alle Bilder meiner Slideshow werde ich unter diesem einen Design auf mehreren Seiten zusammenfassen, damit ich alle Bilder der kompletten Slideshow in Canva an einer Stelle habe und später wiederfinde. Falls ich mal ein paar Änderungen an der Slideshow machen will, kann ich das Design dann einfach kopieren und darin editieren. Die Bilder bekommt man für einen Euro aus dem Canva-Shop. Unten rechts füge ich mein Mini-Logo (favicon) ein. Links unten kurzen ansprechenden Text (meist zwei Worte) mit einer einfachen eleganten „Fahne“, die man sich unter dem Reiter Text aussuchen kann.

Branching in TFVC

In Microsoft TFS kann man zwei Versionsverwaltungssysteme nutzen: TFVC (default&easy) und Git. In TFVC hat jeder Branch eine eigene nachbarliche Ordnerstruktur. Git basiert auf dem Resository und im Dateisystem werden nur Dateien und Ordner angezeigt, deren Branch gerade aktiv ist (immer nur einer). Es ist bei TFVC leicht mit den Branches durcheinander zu kommen, weil man immer auch Projekte des anderen Branches referenzieren kann. Bei Git geht das eben nicht.

Mindestens für TFVC gilt: don’t branch, when you don’t need it (https://app.pluralsight.com/library/courses/devops-skills-developers-visual-studio-tfs-2015/table-of-contents -> Branching risks)

Mergen

Was man gebrancht hat, will man irgendwann auch wieder mergen – außer bei einem Fork. Automerging ist nicht trivial – komplexe Algorithmen stecken da dahinter. Hier ist bei TFVC auch tatsächlich bzgl. XML-Dateien noch ein bisschen Nachholbedarf.

Im Sourcecode-Explorer auf den Quellbranch gehen, rechtsklicken -> „Branchen und Zusammenführen“ -> Branch. Dann Einchecken-Button klicken. Die meisten Diffs werden automerged. Bei einigen Diffs kann der Algorithmus jedoch nicht entscheiden, welches die richtige Version ist. Hier können sich Konflikte ergeben, die dadurch gekennzeichnet sind, dass die betreffenden Zeilen in brauner Hintergrundfarbe angezeigt werden. Diese gilt es mit dem Mergetool manuel zu mergen. Hierbei ist häufig Hirnschmalz notwendig – man muss den Code fachlich verstehen, um die richtige Version zu wählen. Ein Merge-Fallbeispiel: Großer Codeblock aus dem Main-Branch und kleiner Codesnippet von mir. Ich kann dann im Coderesultat noch individuell mein Codesnippet einfügen. Nachdem alle Konflikte behoben sind, bewirkt der Einchecken-Button tatsächlich ein Einchecken.