Mag sein, dass das ein bisschen übermütig ist und ich mich um die letzte Freizeit bringe, aber ich will’s mal versuchen, ob das auch in Deutschland klappt. Ich teile Skills. Live bzw. per Webinar, für alle, die mitmachen wollen. Wir starten bei Null und lernen gemeinsam, was man braucht, um Dinge zu programmieren. „Developer-Kickstart für richtige (und nicht richtige) Anfänger“ weiterlesen
Weg von Word – Vorschlag 1: Markdown
Ich habe vor ein paar Wochen angefangen, ein bisschen vorzustellen, wie man als totaler Anfänger und Nicht-Nerd sinnvolle Dinge mit Git anstellen kann. Dazu kam dann die Empfehlung, einfach nicht mehr mit so etwas wie Word zu schreiben. Was sonst? Hier eine erste Idee: MultiMarkdown. „Weg von Word – Vorschlag 1: Markdown“ weiterlesen
Vertiefung – der Controller
Nachdem der letzte Beitrag das Model eines Objekts der Winzen-Datenbank vorgestellt hat, soll es heute um den zweiten und zentralen Bestandteil der Trias Model-View-Controller gehen. Und das ist der Controller, nicht der View. In der Reihung MVC spricht es sich besser, aber trotzdem gehört der Controller in die Mitte.
„Hello world“ – es wird Zeit zu programmieren
In der Datenbank liegen die Winzen-Daten jetzt schon einmal recht gut. Aber wir wollen ja auch noch Dinge damit tun. Dafür ist eine Datenbank nur rudimentär geeignet. Es gibt zwar einige Möglichkeiten, Logik auch direkt in die Datenbank zur verlagern, und Daten anzeigen gehört nicht zu ihren Funktionen. Wir müssen also kleine Programme schreiben, die eine Abfrage ausführen, das Ergebnis holen und ausgeben. Und das ist gar nicht so schwierig, wie es klingt. Na gut: Es ist natürlich ein Unterschied zwischen professionellen Programmen und Scripts, die „mal eben“ etwas erledigen. Eins nach dem Anderen – wir wollen ja erstmal anfangen. „„Hello world“ – es wird Zeit zu programmieren“ weiterlesen
Textverarbeitungs-Evolution I – Versionskontrolle statt USB-Sticks
Nennen wir es mal beim Namen: Jeder schreibt mit Word (OpenOffice, Pages, was auch immer), und jeder weiß irgendwie auch: Große Dokumente mit Word zu schreiben, das ist nicht schön. In Word entstehen in der Wissenschaft Forschungsförderanträge und Qualifikationsarbeiten, und Stunden, Minuten, vielleicht auch einen Tag passiert es quasi immer: Textverarbeitung schmiert ab, kaputtes Dokument, was auch immer – und dann herrscht die nackte Existenzangst.
Ein bisschen was über Datensicherheit bei der Abschlussarbeit wollte ich schon länger schreiben, und daran soll hängen wie man Word am besten los wird. „Textverarbeitungs-Evolution I – Versionskontrolle statt USB-Sticks“ weiterlesen
Winzen reloaded: Normalisiert – und jetzt?
In den vorangegangenen Schritten hatte ich anhand der Daten zur Winzengruppe, die @derguenther bereitgestellt hat, knapp und blumig erklärt, wie man eine Datenbank darauf entwickeln kann, die zumindest grundlegend (also nicht im orthodoxen, sondern forschungsdienlichen Sinn) normalisiert ist.
Jetzt stellt sich die Frage: Was mache ich jetzt damit?
Der Sinn einer normalisierten (relationalen) Datenbank wird nicht automatisch klar, wenn man bislang Excel gewohnt war. Eine relationale Datenbank wie mySQL ist immer dann stark, wenn Datensätze mit einander in Beziehung stehen. Bei historischen Personendaten ist das immer ganz besonders interessant, wenn man Beziehungen, Zeitverläufe etc. erfassen will. Wer kennt wen? Wer hielt sich wann wo auf? „Winzen reloaded: Normalisiert – und jetzt?“ weiterlesen
Ist JSON schreiben programmieren?
JSON (gesprochen wie Jason) ist ein guter Bekannter von allen, die etwas hinter die Kulissen des Web und von Datenschnittstellen schauen. JSON ist kein so besonders beliebter Typ, weil er sehr flexibel und verbiegbar ist. Aber viele lieben ihr auch genau deswegen. Neulich wurde ich mal gefragt, ob JSON bearbeiten programmieren ist. Ist es nicht. Aber warum?
JSON steht für Javascript Object Notation – Javascript Objekt-Schreibweise. Und damit ist eigentlich die Antwort gegeben, warum JSON eben Schema und nicht Logik ist: JSON ist ein Weg, zu beschreiben, wie ein Objekt aussieht. Ja, JSON sieht aus wie eine Programmiersprache. Weil es in der Syntax von Javascript funktioniert. Aber das ist genau das gleiche wie „in Deutsch schreiben“ mit „ein Gedicht“ gleichzusetzen.
Also – was ist JSON dann? „Ist JSON schreiben programmieren?“ weiterlesen
Drei Pfund Gehacktes vom Winzen (Daten-Skelettierung Pt. III)
Ein paar Werktage Pause muss auch mal sein, aber jetzt geht’s weiter mit der Sektion des Winzen-Projekt von @derguenther. Die Diskussionen dazu sind ziemlich spannend und interessanterweise ist dadurch meine Webseite so häufig besucht wie nie in ihren 10 Jahren Bestehen. Es scheint also so eine Art Interesse zu geben.
Damit wir jetzt ein bisschen voran kommen, habe ich einmal eine komplette Liste aller Felder auf dem Stammdatenblatt gezogen und transponiert (um 90° gedreht, für alle, „die-wo-nicht-Statistiker-sein-tun“). „Drei Pfund Gehacktes vom Winzen (Daten-Skelettierung Pt. III)“ weiterlesen
Vivisektion II – Noch mehr Winzenfledderei
Der Tag war bös anstrengend und kopflastig, daher wird die Geschwindigkeit erstmal etwas geringer…
Zwei Themen hatte ich im letzten „Winzen-Beitrag“ nicht genauer beschrieben, und ich sollte sie noch nachholen: Polyvalenz und Null-Werte. „Vivisektion II – Noch mehr Winzenfledderei“ weiterlesen
SELECT * FROM `Disadvantages`LIMIT 1
Es gibt einen entscheidenden Nachteil, wenn man sich entscheidet, mit einem Datenbankserver zu arbeiten: Es gibt erstmal kein (oder kein richtiges) Frontend. Alles, was man sehen will, muss man entweder durch ein Web-Tool wie PHPMyAdmin abfragen, oder man muss ein Desktop-Tool einsetzen (ich mag auf dem Mac SequelPro ausgesprochen gerne, aber es gibt auch die offizielle mySQL-Workbench, aber die ist schon ziemlich sperrig). Für Windows hieß das beste Desktop-Tool mal HeidiSQL, das kann ich aber nicht mehr beurteilen. Man kann mittels eines ODBC oder JDBC-Treibers einen mySQL-Server als Datenquelle in MS-Office oder Open-/Libre-Office nutzen – das ist schon etwas mehr „advanced“. Und keine Lösung davon bietet Euch, was Access von Haus aus kann – für jede Tabelle direkt eine Ein- und Ausgabemaske jenseits der „excel-ähnlichen“ Ansicht oder einer zeilenweisen Darstellung zu haben. Das ist natürlich gerade für Tabellenbezüge ein wenig… unschön.
Es gibt wahrscheinlich 1000 Wege, sich schnell ein Frontend für mySQL in der Sprache seiner Wahl zu bauen. Manches davon ist sogar schnell schön. Man muss es eben auch noch zusammenbauen, wenn man mit der Datenstruktur fertig ist. Muss man in seine Vorüberlegungen und Zeitplanungen mit einbeziehen, auch wenn es nur ein paar Stunden oder in der Summe vielleicht auch Tage sind.