Projekttagebuch Addressbook – Prototyping

Entwickler-Bullshit-Bingo! Ja, schon irgendwie. Prototyping hab ich offen gestanden auch nicht bewusst angewendet. Zwar hab ich in irgend einem Entwicklerpodcast mal davon gehört und hinter dem Begriff verbirgt sich letztendlich auch genau das, was er vermuten lässt: Einen Prototypen der geplanten Software, Teilprogrammes oder was auch immer bauen. Da mein Adressbuch in der Einleitung als Desktopanwendung mit grafischer Benutzeroberfläche von mir angepriesen wurde, habe ich, quasi ohne es zu wissen, einen Prototypen erstellt: Ich habe eine Konsolenanwendung erstellt. Das habe ich getan, um zu schauen, mit welchen Mitteln ich überhaupt meine Vorstellungen implementieren kann. Technisch musste ich mich schließlich von einem Ast zum Nächsten hangeln. Hier eine Methode einer Klasse aus dem .NET Framework, dort lernen, was die Syntax

class TimePeriod
{
     private double _seconds;

     public double Seconds
     {
         get { return _seconds; }
         set { _seconds = value; }
     }
}

zu bedeuten hat (Auflösung und Quelle: Microsoft | set (C# Referenz)). Wäre ich nach Lehrbuch vorgegangen, hätte ich das möglicherweise auch ohne zu googeln erschließen können. Da ich in meinem Projekt voran kommen wollte, habe ich einfach immer mit dem existierenden Wissen begonnen und mir für meine Hindernisse Lösungen ergoogelt. Hinreichende Kenntnisse über die Funktionen einer Hochsprache habe ich noch aus der Zeit der Umschulung von Java.

Weiterlesen

C# Projekt Adressbuch – Einleitung

Wo fange ich an? In C# möchte ich mich einarbeiten. Ein richtiges Projekt soll es werden. Eine typische Windowsanwendung soll es sein, wenn es fertig ist. Was taugt hier als Einstieg, sich mit C# und Hochsprache im Allgemeinen vertraut zu werden, Erfahrungen zu sammeln und nachher eine Anwendung zu bekommen, die vielleicht nicht nur mir hilft? Gerne was sinnvolles. Nun ja, die Überschrift hat es verraten: Ein Adressbuch soll her. Ja, da gibt es bestimmt reichlich freie Lösungen und auch weniger freie in bestehenden Anwendungen. Nicht zuletzt das Windows-eigene Adressbuch aka Kontakte. Ich möchte nur nicht so eine funky fancy Windows-App, ich möchte das, was man noch Programm oder Anwendung nennt. Scheiße aussehen soll und muss sie natürlich deshalb nicht.

Wie beginnt man also? Ich für meinen Teil habe mir zuerst einmal Gedanken gemacht, was mein Programm denn können soll, abgesehen davon, einen Mehrwert zu liefern. Also habe ich mich hingesetzt, und vor geraumer Zeit bereits mit einem Anforderungskatalog begonnen. Hierzu habe ich mich der klassischen User Story bedient. Ich habe einfach alles in ein Worddokument getippt, was meine Anwendung später mal können soll. Bewusst so, als hätte ich keine Ahnung. Was anfangs nicht schwer war, weil ich bis auf ein bisschen Webentwicklung seit meiner Umschulung zum Fachinformatiker nichts an Berufserfahrung sammeln konnte. Warum denn also keine Webanwendung? Nun, weil mir das mit Hinblick auf späteren Nutzen nicht zielführend erscheint. Wenn andere Menschen meine Anwendung nutzen sollen, möchte ich das für jeden – unabhängig von der IT-Affinität – ermöglichen. Und da scheint mir eine typische Windowsanwendung am sinnvollsten.

Weiterlesen

Erfahrungsbericht Pixel 4a – adb, fastboot, root und boot.img flashen

Seit meinem ersten Smartphone, einem Galaxy S I9000, bin ich bei Android geblieben. Und mit diesem ersten Smartphone kam auch das Interesse daran, mehr als nur Facebook zu nutzen. Zwar war das rooten bei Samsung damals noch verhältnismäßig einfach im Vergleich zu späteren Modellen. Mich zog es nach dem Galaxy dann direkt zu Google. So legte ich mir ein Nexus 4 zu. Seit dem bin ich bei den Google-Geräten geblieben. Die haben einfach den unschlagbaren Vorteil, dass man ohne große Verlustängste bezüglich Garantie den Bootloader freischalten und Custom-Kram installieren kann, bis der Arzt kommt. Das alles setzt natürlich voraus, sich in die Materie einzuarbeiten.

Weiterlesen

C# – string auf Inhalt prüfen

kisspng-c-programming-language-computer-icons-computer-pr-programming-5acadc62277db6.6978009015232441301618In den verschiedenen Sprachen stehen verschiedene Möglichkeiten zur Verfügung, einen String auf Inhalt zu prüfen. Gar nicht so sehr auf explizite Ausdrücke, sondern einfach, ob er Inhalt enthält, oder leer – je nachdem, wie in der jeweiligen Programmiersprache leer definiert wird – ist. Darauf gekommen bin ich, weil ich bei einer testhalber erstellten Konsolenanwendung einen leeren String nicht mit ausgeben wollte. In C# werden leere Strings als null oder “” initiiert.

Nun kann man natürlich auf beides prüfen, sei es mit Equals() oder einer if-clause. Noch einfacher geht es allerdings mit einem simplen Trick. Nämlich einfach die Länge des Strings gegen 0 prüfen. Nicht gegen null oder “” sondern schlicht gegen 0. Das hat den Vorteil, dass kein Objekt dafür angelegt werden muss und sorgt für eine schnelle Prüfung. Wie groß der Geschwindigkeitsvorteil ist oder sein kann, weiß ich nicht. Sicherlich mag das auch nicht für alle Situationen die richtige Wahl sein.

if (person[i].Length != 0)
{
     Console.WriteLine(person[i]);
}

DBMS DBeaver mit SQL Server Express nutzen

sql-server-dbeaverDBeaver als Datenbankmanagementsystem – kurz DBMS – stellte ich bereits in der Community Version hier im Blog vor. Neben einer PostgreSQL und mySQL Datenbank hatte ich beruflich auch das Vergnügen, mit einer SQL Server Express Datenbank arbeiten zu können. Zwar kann man sich Microsofts SQL Server Management Studio (SSMS) kostenlos herunterladen und verwenden – ist meiner Ansicht nach auch ein sehr geil umfangreiches, wenngleich daher auch komplexes Tool – aber wozu sollte ich für die paar Handgriffe über ein DBMS ein zweites DBMS installieren?

Bei meinen ersten Versuchen schlug die Verbindung mit DBeaver und SQL Server Express auch fehl. Letztlich lag das an der fehlenden Information, welchen Port die SQL Server Express-Variante verwendet. Die Express-Variante hat nämlich keinen festen Port, sondern sucht sich zufällig einen Port aus. Welchen, erfährt man auch nicht einfach so bei der Installation. Weiterlesen

Java – Programmieren mit oder ohne IDE?

IDE. Was ist das eigentlich? Programmierer wissen es, angehende vielleicht auch und ich erkläre es trotzdem kurz. IDE steht für englisch Integrated Development Environment und heißt auf deutsch: integrierte Entwicklungsumgebung. Schlicht handelt es sich dabei um eine Software, mit der man eben andere Software programmieren kann. Im Falle von Java gibt es ein paar zur Auswahl. Einige sind kostenlos, andere in form von eingeschränkten Communityversionen erhältlich, andere sind kostenpflichtig. Allen gemein ist jedoch, dass man sie zum Programmieren von Java-Programmen gar nicht unbedingt braucht.

Ok. Und was brauche ich zum Programmieren?

Nicht so schnell. Vielleicht sollte ich kurz erwähnen, dass Java eine objektorientierte Programmiersprache ist. Man kann an tausend Stellen lesen, was das bedeutet. Anstelle der üblichen Erklärungen will ich das mal mit JavaScript vergleichen. Wird gerade von Laien meist für ein und das Selbe gehalten. Was es definitiv nicht ist!

Weiterlesen

Microsoft SQL Server Express in PHP verwenden

sql-server-php-logoWer PHP hört, denkt meist auch gleich an MySQL, was daran liegen mag, dass PHP für die interessierten Einsteiger meist auf dem Wege einer XAMPP-Installation seinen Weg auf die Festplatte findet. Und da gehört MySQL ebenfalls zum Lieferumfang. Vielleicht liegt auch darin der Irrglaube begründet, dass man PHP nicht ohne MySQL verwenden bzw. ausführen könnte. Fakt ist natürlich, dass man einen Webserver benötigt, der PHP ausführen kann. Ohne den geht es nicht – und ist im Fall von XAMPP Apache.

Und wer PHP nun auch zusammen mit SQL verwenden möchte, greift da natürlich – sofern er sich nicht die Mühe macht, alles selbst aufzusetzen – zu XAMPP und bekommt damit phpMyAdmin an die Hand gegeben. Abgesehen davon, dass ich diese Weboberfläche trotz des Funktionsumfangs für so ziemlich das unhandlichste DBMS halte, kann PHP natürlich auch mit anderen SQL-Datenbanksystemen zusammen arbeiten. Dafür wird dann selbstredend ein anderes DMBS benötigt.

Weiterlesen

Adobe Reader – Digitale ID exportieren

Es ist und bleibt wohl eine Hassliebe zwischen mir und dem Adobe Reader. 2018 Ende Februar schrieb ich, wie sich im Adobe PDF Reader eine digitale ID – bei mir als pfx Datei vorliegen und seinerzeit auch im Reader erstellt – importieren lässt. Zu dem Zeitpunkt war mein Zertifikat bereits etwa vier Jahre alt.

Nun kam ich kürzlich erst wieder in die Verlegenheit, ein PDF digital zu signieren. Ging alles prima. Nun war es Ende September 2019 erneut von Nöten, ein PDF zu signieren. Der Speicher wies mir allerdings lediglich das Zertifikat meiner Frau als Verfügbar aus. Im Zertifikatespeicher von Windows wurde ich überhaupt nicht fündig und auch der Import der damals erstellten pfx Datei brachte nicht. Oder doch? Ich importierte es erst für den angemeldeten Benutzer. Fehlanzeige. Dann ein Import für den Computer. Ah! Unter den eigenen Zertifikaten wurde es gelistet. Und da viel mir auch auf, warum möglicherweise die ID im Adobe Reader nicht zur Verfügung stand.

Weiterlesen

Windows – Miniaturansicht von PDFs aktivieren

icancompute-scrnsht-pdf-icon-winodwsOhne PDF kommt man gewöhnlich nicht aus. Erst recht nicht, wenn man vom Papier weg hin zu digitalen Unterlagen möchte. Sicher, man kann – oder sollte – nicht auf alle Originale verzichten, der Berg an Papier, der in Aktenordnern abgeheftet auch irgendwo gelagert werden muss, kann damit effektiv begrenzt werden. Wer sich dann noch entsprechender Hard- und/oder Software bedient, hat sogar durchsuchbare PDFs. Unter Windows kann man auf diesem Wege dann mittels Windows-Taste und einfach einem Suchbegriff durchaus schon das gesuchte Dokument im Archiv finden. Wer eine einfache Ordnerstruktur nutzt, ruft den obersten Ordner auf und tippt in die Ordnersuchleiste den gesuchten Begriff ein. Neben Dokumenten, die den Begriff im Namen haben, findet Windows diesen auch, wenn er von der OCR Engine im Dokument erkannt und gespeichert wurde. Mach das mal mit einem Aktenordner. Zeitnahe Pflege der Dokumente setzt das natürlich voraus.

Weiterlesen

Windows 10 – Remotedesktop kann keine Verbindung mit dem Remotecomputer herstellen

Windows 10 Remotedesktop VerbindungMan kennt das. Funktionen, die man vielleicht oft nutzt, die aber zuverlässig ihren Dienst verrichten, wenn man sie braucht. Und dann funktionieren sie das eine Mal nicht und man ist aufgeschmissen, weil die Fehlermeldung nicht ergiebig ist. So ging es mir kürzlich, als ich im heimischen Netzwerk per Remotezugriff auf meinen Laptop springen wollte.

Weiterlesen