Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Achim Stiller Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.