Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DIY Personal Fabrication Dokumentation Juergen Eckert – Informatik 7.

Ähnliche Präsentationen


Präsentation zum Thema: "DIY Personal Fabrication Dokumentation Juergen Eckert – Informatik 7."—  Präsentation transkript:

1 DIY Personal Fabrication Dokumentation Juergen Eckert – Informatik 7

2 How to Get Started? (again) 1.Projekt überlegen – kann man es bereits kaufen? → kein Projekt 2.Related work – Verwandte Arbeiten als Grundlage nutzen 3.Durch Probleme/Herausforderungen lernen 4.Das Ziel nie aus den Augen verlieren 5.Dokumentieren!!!

3 Dokumentation

4 Online Dokumentation Instructables (Anleitungen) Thingiverse (3D Objekte) Github (Source Code) Privater Webspace – Blog – *wiki Etc...

5 Lizenzen, Patente und Rechte Zugänglichkeit zu Schnittstellen, Software und Hardware Creative Commons GNU (L)GPL MIT-Lizenz

6 Klassische Dokumentation Textverarbeitungsprogramm: WYSIWYG (Word, LibreOffice, etc) Textsatzsystem (LaTeX) Ziel: Setzen von Texten und mathematischen Formeln

7 Geschichte TeX von Donald E. Knuth (Standford, 1978) – altgriechisch τέχνη (téchne): Fähigkeit, Kunstfertigkeit, Handwerk – 300 fest Befehle (primitives) – Definition eigener Makros (komplex) LaTeX von Leslie Lamport (1986) – TeX-Macros – Lamport TeX – LaTeX 2 ε seit 1989

8 Publikations-Workflow 1.Autor verfasst Manuskript 2.Buch-Designer ent- scheidet über Layout 3.Setzer erhält Anweisungen 1.Autor verfasst Manuskript 2.LaTeX: Fachwissen -> log. Struktur (Befehle) 3.TeX TraditionellAutomatisiert

9 Vor- und Nachteile Wenige, leicht verständliche Befehle Mathematische Formeln besonders einfach Strukturen (z.B. Literaturverzeichnisse) wenig Aufwand Aktualisieren von Querverweisen automatisch Lange, komplizierte Dokumente zuverlässig  Workflow stark unterschiedlich zu WYSIWYG

10 Quelle Tutoriell teilweise nach – Marco Daniel et al.: LATEX 2ε-Kurzbeschreibung (V3.0 1.7.12) – Tobias Oetiker et al.: The Not So Short Introduction to LATEX2ε (V5.03 25.4.14)

11 Los geht‘s 1.doku.tex erstellen 2.> pdflatex doku.tex oder > latexmk –pvc –pdf doku.tex (Autogenerierung) Automatische Preview im Texteditor möglich z.B. Texmaker

12 doku.tex 1/3 Textdatei Unsichtbare Zeichen (Space ( ␠ ), \t, \n) werden einheitlich als Space behandelt Mehrere ␠ -> ein ␠ Leerzeile zwischen Textzeilen -> Ende Absatz Mehrere Leerzeilen -> eine Leerzeile

13 doku.tex 2/3 Kommentare von „%“ bis „\n“ Befehle starten mit „\“ (oder Sonderzeichen) Space nach befehlen „{} ␠ “ oder „\ ␠ “ Case sensitiv Parameter – „{parameter1, parameter2}“ – „[optional1, optional2]“ Index: z.B. http://www.weinelt.de/latex/

14 doku.tex 3/3 \documentclass[11pt,a4paper,ngerman]{article} \usepackage[utf8]{inputenc} %UTF8 input file \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} %Umlaute,Silbentrennung \date{\today} \author{J.~Eckert} \title{DIY: Sample TeX File} \begin{document} \maketitle \tableofcontents \section{Start} Hier beginnt mein schönes Werk... \section{Ende}... und hier endet es. \end{document} Preamble Body

15 Dokumentklassen \documentclass[ ]{ } Vereinbarungen über das Layout exakt ein Parameter Vordefinierte aus der Distribution oder.cls File im Dokumenten Root → DIY Project Doku mit IEEEtran

16 Eingabezeichen Erlaubt: a...z A...Z 0...9. : ;, ? ! ‘ ’( ) [ ] - / * @ + = Spezialbedeutung: (teilw. in Mathe Umgebung erlaubt) $ & % # _ { } ~ ^ \ “ | Escapebar: \$ \& \% \# \_ \{ \} \~{} \^{} \textbackslash …

17 Schriften 1/2 Manuelle Silbentrennung: \hyphenation{} Fett \textbf{...} Kursiv \textit{...} \par = neuer Absatz ≙ Leerzeile

18 Schriften 2/2

19 Listen Umgebung \begin{itemize} \item... \begin{itemize} \item... \end{itemize} \item... \end{itemize} Numeriering: enumerate Eigene Beschreibung: description \item[marker]

20 Tabellen Umgebung % \usepackage{booktabs} \begin{tabular}[t]{rl} \toprule Wert & Zahlensystem \\ \midrule 7C0 & hexadezimal \\ 3700 & oktal \\ 11111000000 & binär \\ 1984 & dezimal \\ \bottomrule \end{tabular}

21 Mathematische Formlen equation Umgebung oder $... $ \[... \]

22 Bilder / Label / Verweise %\usepackage{cleveref} %\usepackage{graphicx} \begin{figure} \centering \includegraphics[width=.3\textwidth]{logo} \caption{FabLab Logo} \label{fig:fl} \end{figure} \Cref{fig:fl} zeigt...

23 Literaturangaben Besser: Nutzung einer Datenbank (.bib File) Verabeitung mittels BibTEX oder biber

24 Presentation mit LaTeX \documentclass{beamer} \begin{document} \begin{frame} This is my first slide. \end{frame} \begin{frame} This is my second (and last) slide. \end{frame} \end{document}

25 PGF/TikZ %\usepackage{tikz} \begin{tikzpicture} \node[draw,circle](a) {A}; \node[draw,circle,right of=a, node distance=2cm](b) {B}; \draw[->] (a) to[out=45,in=135] node[above]{nach} (b); \end{tikzpicture}...AND MUCH MORE...

26 GIT Tutoriell nach: Christoph Sommer, Uni Paderborn Model Management with Git

27 Motivation So nicht… – cp src/models/network/ipv4.c src/models/network/ipv4.bak – cp src/models/transport/tcp.c src/models/network/tcpip.westwood Besser, aber immer noch schlecht… – cp -ax src src.bak – cp –ax src src.bak.old Fast richtig… – cp -ax project project.2009-12-15 – cp -ax project project.2009-12-16 – cp -ax project project.2009-12-17 – diff -Naur../project.2009-12-{16,15} | patch Ideal – Dateisystem das (zuverlässig) die Historie speichert – Optimiert zum sichern/wiederherstellen von versionierten Text Dateien – Git, svn, hg (Mercurial),...

28 Einleitung Historie – Entwickler: Linus Torvalds – Maintainer: Junio Hamano (Stand 10/2014) – Free and Open Source Software – Projekte: Linux Kernel, Git, Android, Eclipse, Debian, Perl, Ruby on Rails, PostgreSQL, Gnome, KDE, Qt, X.org,... What is git? – 3-Buchstaben Wort das noch nicht unter Linux verwendet wird – Git = „Blödmann“ (britische Umgangssprache) – Dateisystem das (zuverlässig) die Historie speichert + loses, geschichtete Sammlung an kleinen Skripten = Verteiltes Versionskontrollsystem

29 Workflow Local Stage / IndexWorking Copy fetch push addcommit Repository checkout / reset

30 README index “fix docs” index “fix docs” Reise in das git Repository (…und zurück) blob Hello Earth blob Hello Earth blob Hello World blob Hello World blob.PNG..IHDR.. blob.PNG..IHDR.. blob #!/bin/sh blob #!/bin/sh blob.PHONY: all blob.PHONY: all tree commit “fix docs” commit “fix docs” commit “remove doc” commit “remove doc” commit “combine” commit “combine” commit “add docs” commit “add docs” commit “tweak logo” commit “tweak logo” tree refs/remotes/origin/master refs/heads/greatdocs refs/heads/master refs/tags/v1.0 tag “first rls” tag “first rls” HEAD src doc configure.sh Makefile README logo.png doc doc/README tweak logo

31 Reise in das git Repository (…und zurück) commit “fix docs” commit “fix docs” commit “combine” commit “combine” commit “add docs” commit “add docs” commit “tweak logo” commit “tweak logo” refs/remotes/origin/master refs/heads/greatdocs refs/tags/v1.0 tag “first rls” tag “first rls” HEAD doc logo.png a a d d c c e e b b greatdocs origin/master master v1.0 fix docs remove doc combine tweak logo add docs

32 Try it http://try.github.io/ http://pcottle.github.io/learnGitBranching/ http://git-scm.com/book http://git-scm.com/documentation

33 Common git commands % git add README a a d d c c e e b b origin/master v1.0 d’ e’ master Working Copy PDF? See backup slides

34 f f Common git commands % git commit a a d d c c e e b b origin/master v1.0 d’ e’ master Working Copy PDF? See backup slides

35 Common git commands % git commit --amend a a d d c c e e b b origin/master v1.0 d’ e’ master e’ Working Copy PDF? See backup slides

36 f f Common git commands % git reset --hard e a a d d c c e e b b origin/master v1.0 d’ e’ master Working Copy PDF? See backup slides

37 f f Common git commands % git branch greatdocs e a a d d c c e e b b origin/master v1.0 d’ e’ master Working Copy greatdocs PDF? See backup slides

38 f f Common git commands % git checkout greatdocs a a d d c c e e b b origin/master v1.0 d’ e’ master Working Copy greatdocs master greatdocs PDF? See backup slides

39 Common git commands % git remote add origin /some/path/proj.git a a d d c c b b v1.0 master a a d d c c e e b b v1.0 master e e local“origin” Working Copy PDF? See backup slides

40 e e e e Common git commands % git fetch origin master a a d d c c b b v1.0 master a a d d c c b b origin/master v1.0 master local“origin” Working Copy PDF? See backup slides

41 e e e e Common git commands % git push origin master:master a a d d c c b b v1.0 master a a d d c c b b origin/master v1.0 master “origin”local Working Copy PDF? See backup slides

42 Common git commands % git merge origin/master a a d d c c e e b b origin/master v1.0 d’ e’ m m master Working Copy PDF? See backup slides

43 % git rebase origin/master d’’ e’’ d d e e Common git commands a a c c b b origin/master v1.0 d’ e’ master Working Copy NEVER REBASE A PUBLIC BRANCH PDF? See backup slides

44 Bestimmen einer Revision Vollständiger SHA1 Hashwert dae86e1950b1277e545cee180551750029cfe735 Eindeutiger Präfix eines SHA1 Hashwerts dae86e Symbolischer Referenzname master (Suche in.git/master, refs/master, refs/(tags|heads|remotes)/master, refs/remotes/master/HEAD) git log --grep KEYWORD Viele mehr... RTFM

45 Interfaces

46 git gui

47 Bewährtes Vorgehen Zu aller erst: git konfigurieren – git config --global user.name ”Mein Name” – git config --global user.email my.name@example.com – advice.detachedHead, rerere.enabled, … Richtlinien wie und was zu committen ist: – Möglichst oft Fehler schnell zu revidieren Nicht warten bis der Code „fertig“ ist! – Jeder Commit änder exakt eine Sache (keine “this changes everything”) – Der Code im Repository kompiliert – Jeder Branch/Tag hat einen Zweck und einen Besitzer Feature/Release/Version – Jede Datei im Repository wird benötigt um das Projekt zu bauen keine Objekt- oder Temp.-Dateien, etc... – Jeder Commit hat eine klare, präzise Betreffzeile

48 Houston, we have a problem... Ungewollte Commits rückgängig machen: – HEAD auf früheren Commit setzen git reset --soft master^ – Alles aus dem Index entfernen; HEAD auf früheren Commit setzen git reset master^ – Alles aus dem Index entfernen; HEAD auf früheren Commit setzen; Working-tree identisch zu neuen HEAD machen git clean -fdx git reset --hard master^ – Zu weit! Zurück in die Zukunft... git clean -fdx git reset --hard master@{19:45} – Verdammt, der ganze Branch ist weg! Wühle durch den Müll... git reflog | awk ’{print $1}’ | xargs gitk

49 Übung 1.Git Repository anlegen 2.LaTeX Präsentation für Projektvorlschlag darin erstellen Präsentation: max 5 min max 5 Folien

50 Nächstes mal... Mechanik – Schneideverfahren (Lasercutter) – 2.5 D Workflow, STL, GCODE, STEP, etc später...

51 Backup Slides

52 Git branch (bugfix) % git init % git add FILE % git commit a a master Working Copy

53 Git branch (bugfix) % git commit % git tag –a v1.0 % git branch bugFix a a b b v1.0 master Working Copy bugFix

54 Git branch (bugfix) % git checkout bugFix % git commit a a d d b b v1.0 master Working Copy bugFix

55 Git branch (bugfix) % git checkout master % git commit a a d d b b v1.0 d’ bugFix Working Copy master

56 Git branch (bugfix) % git checkout master % git merge bugFix % git commit a a d d e e b b v1.0 d’ master Working Copy bugFix


Herunterladen ppt "DIY Personal Fabrication Dokumentation Juergen Eckert – Informatik 7."

Ähnliche Präsentationen


Google-Anzeigen