DIY. Personal Fabrica1on. Dokumenta1on. Juergen Eckert Informa1k 7

Ähnliche Dokumente
Git - Fast Version Control System

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Versionierung für OpenSourcler

Von SVN zu Git. Daniel Willmann cbna

Arbeiten mit dem Versionsverwaltungssystem. Jannik Kramer Proseminar Werkzeuge für das wissenschaftliche Arbeiten

Software Engineering

Gitting started. Christian Neukirchen. 14dec2011

Git-Grundlagen für Entwickler. Thomas Claudius

Vorlesung Unix-Praktikum

Verteile Revisionskontrolle mit GIT

Versionierung und Bugtracking mit Git(Hub)

Einführung in git. Johannes Gilger & Matthias Lederhofer. Rechen- und Kommunikationszentrum der RWTH Aachen Network Operation Center. 14.

Mitmachen bei Git(Hub)-Projekten!

Source Code Verwaltung mit Git

Git - Grundlagen und Anwendungen

Praktikum Ingenieurinformatik (PI)

Änderungen verwalten mit git

Versionsverwaltung mit Mercurial für Einsteiger

L A TEX- Allgemeine Einführung

LATEX ein Schriftsatzsystem. Torsten Finke

Einführung in L A TEX

Einführung in Git. Dirk Deimeke. 19. August My own IT. ddeimeke (My own IT) Einführung in Git 19. August / 23

logo.jpg Einführung in LaTeX FH Frankfurt B.Adoualy

Dr. R. Guderlei exxcellent solutions gmbh Tim Felgentreff HPI. Versionsmanagement. Zentral oder Verteilt?

Semesterprojekt Entwicklung einer Suchmaschine für Alternativmethoden zu Tierversuchen. Versionierung und Bugtracking mit GitHub

Einführung in Git. master. Initial commit

Medieninformatik Praktikum. Jens Rademacher

Computergrundlagen Textsatz mit L A T E X

Versionsverwaltung mit Git. Eine Einführung ins Source Code Management

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

Revisionskontrollsystem GIT

WOZU VERSIONSKONTROLLE?

L A TEX-Crash. Dr. D. Steuer Tel. 2819, H1 R April 2015

Enes Kurnaz, Oliver Nagel Institut für Mathematik und Informatik. Versionsverwaltung mit Git

Apache Subversion (SVN)

git Alexander Bernauer Rico Schiekel

Überblick. Middleware Cloud Computing Übung. Übungsaufgaben. Termine und Ansprechpartner. Organisatorisches

Middleware Cloud Computing Übung

Vorlesung Unix-Praktikum

LaTeX und BibTeX 0 / 20

DNUG FN TOBIAS ALLWEIER

DIY Individual Prototyping and Systems Engineering

Einführung in L A TEX

Linux Cafe Referent: Bernd Strößenreuther

Having fun with GIT. Chris Wewerka. Software Development Specialist

Wissenschaftliche Dokumente erstellen mit LAT E X. Dipl.-Ing. Klaus Knopper <tex@knopper.net>

Eine Einführung in L A TEX

Softwareprojekt - Einführung

Versionsverwaltung mit git

Einstieg in Git. Lukáš Kubánek

Vorlesung Unix-Praktikum

Git-Workflows im Alltag

git Änderungen verwalten mit git

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Versionkontrolle mit git

Kollaborative Textverarbeitung

Verteilte Versionskontrolle mit GIT Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Versionskontrollsysteme

2.2 Einführung in LaTeX. Darstellungen basieren auf:

Versionskontrolle mit Apache Subversion

Versionsverwaltung mit GIT

Tutorium 1: Wissenschaftliche Arbeiten und Präsentationen mit L A TEX erstellen

git Datamining und Sequenzanalyse Markus Fleischauer, Kai Dührkop

Git-Workshop, Teil I

L A TEX. Ina Arends. 05. Mai Centrum für Informations- und Sprachverarbeitung Ludwig-Maximilian-Universität München 1 / 18

Gitting started. Christian Neukirchen. 05nov2010

Ausgewählte Kapitel der Systemsoftware (AKSS)

Programmieren 1 11 Versionsverwaltung mit Git - Grundlagen -

Mapra: C++ Teil 3. Felix Gruber, Michael Rom. IGPM, RWTH Aachen. 10. Mai 2016

Eine Beispiel Präsentation erstellt mit L A TEX (und der Klasse Beamer )

Donald E. Knuth Stanford Buchreihe: The Art of Computer Programming Computerbasiertes Schriftsatzsystem Entwicklung Version 3.

Verlässliche Echtzeitsysteme

Wissenschaftliches Arbeiten Verwendung von LaTeX

Einführung Wissenschaftliches Rechnen. Latex. René Lamour. Sommersemester 2015

Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Versionierung und Bugtracking mit GitHub

Mapra: C++ Teil 5. Felix Gruber, Sven Groß. 16. Mai IGPM, RWTH Aachen. Felix Gruber, Sven Groß (IGPM) Mapra: C++ Teil 5 16.

Revisionskontrolle mit GIT

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

L A T E X- Kurs. Teil 1 - Grundlagen und Textformatierung. Fachschaft Physik Uni Konstanz WS 2015/16

Programmieren 2 05 Versionsverwaltung mit Git

Apache Subversion (SVN)

L A T E X für Anfänger

WIE ERSTELLE ICH EINE PRÄSENTATION MIT LATEX

Versionsverwaltung mit git. Christoph Knabe FB VI

Apache Subversion (SVN)

Überblick. Einstieg Rechtschreibprüfung Grafiken Zitate mit BibTeX Latex und Versionskontrolle Silbentrennung und Satz Verschiedenes

Kurzeinführung in Beamer Präsentationen mit LaTeX

Versionsverwaltung mit SVN

Das Textsatzsystem LATEX

Tutorium SS17 EINFÜHRUNG + BREAKOUT

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

Konfigurationsdateien mit Git verwalten

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

9 Das Textsatzsystem LaTeX

Prof. Dr. Marko Boger. Prof. Dr. Christian Johner. Versionsmanagement

Grundkurs C++ Buildsysteme Versionsverwaltung mit git

git verteilte Versionskontrolle

Apache Subversion (SVN)

Transkript:

DIY Personal Fabrica1on Dokumenta1on Juergen Eckert Informa1k 7

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. Dokumen1eren!!!

Dokumenta1on

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

Lizenzen, Patente und Rechte Zugänglichkeit zu Schni`stellen, Soaware und Hardware Crea1ve Commons GNU (L)GPL MIT- Lizenz

Klassische Dokumenta1on Textverarbeitungsprogramm: WYSIWYG (Word, LibreOffice, etc) Textsatzsystem (LaTeX) Ziel: Setzen von Texten und mathema1schen Formeln

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

Publika1ons- Workflow Tradi1onell 1. Autor verfasst Manuskript 2. Buch- Designer ent- scheidet über Layout 3. Setzer erhält Anweisungen Automa%siert 1. Autor verfasst Manuskript 2. LaTeX: Fachwissen - > log. Struktur (Befehle) 3. TeX

Vor- und Nachteile ü Wenige, leicht verständliche Befehle ü Mathema1sche Formeln besonders einfach ü Strukturen (z.b. Literaturverzeichnisse) wenig Aufwand ü Aktualisieren von Querverweisen automa1sch ü Lange, komplizierte Dokumente zuverlässig Workflow stark unterschiedlich zu WYSIWYG

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

Los geht s 1. doku.tex erstellen 2. > pdflatex doku.tex oder > latexmk pvc pdf doku.tex (Autogenerierung) Automa1sche Preview im Texteditor möglich z.b. Texmaker

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

doku.tex 2/3 Kommentare von % bis \n Befehle starten mit \ (oder Sonderzeichen) Space nach befehlen {} oder \ Case sensi1v Parameter {parameter1, parameter2} [op1onal1, op1onal2] Index: z.b. h`p://www.weinelt.de/latex/

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

Dokumentklassen \documentclass[<op1onen>]{<klasse>} Vereinbarungen über das Layout <klasse> exakt ein Parameter Vordefinierte aus der Distribu1on oder.cls File im Dokumenten Root DIY Project Doku mit IEEEtran

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

Schriaen 1/2 Manuelle Silbentrennung: \hyphenation{} Fe` \textbf{...} Kursiv \textit{...} \par = neuer Absatz Leerzeile

Schriaen 2/2

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

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

Mathema1sche Formlen equation Umgebung oder $... $ \[... \]

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...

Literaturangaben Besser: Nutzung einer Datenbank (.bib File) Verabeitung mi`els BibTEX oder biber

Presenta1on 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}

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...

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

Mo1va1on 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 rich1g 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 Op1miert zum sichern/wiederherstellen von versionierten Text Dateien Git, svn, hg (Mercurial),...

Einleitung Historie Entwickler: Linus Torvalds Maintainer: Junio Hamano (Stand 10/2014) Free and Open Source Soaware 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 (bri1sche Umgangssprache) Dateisystem das (zuverlässig) die Historie speichert + loses, geschichtete Sammlung an kleinen Skripten = Verteiltes Versionskontrollsystem

Workflow Repository Local Working Copy Stage / Index Repository add commit checkout / reset Repository

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

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

Try it h`p://try.github.io/ h`p://pco`le.github.io/learngitbranching/ h`p://git- scm.com/book h`p://git- scm.com/documenta1on

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

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

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

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

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

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

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

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

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

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

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

Bes1mmen einer Revision Vollständiger SHA1 Hashwert dae86e1950b1277e545cee180551750029cfe735 Eindeu1ger 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

Interfaces

git gui

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 commi8en ist: Möglichst oa Fehler schnell zu revidieren Nicht warten bis der Code fer1g 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ö1gt um das Projekt zu bauen keine Objekt- oder Temp.- Dateien, etc... Jeder Commit hat eine klare, präzise Betreffzeile

Houston, we have a problem... Ungewollte Commits rückgängig machen: HEAD auf früheren Commit setzen git reset - - soa master^ Alles aus dem Index enternen; HEAD auf früheren Commit setzen git reset master^ Alles aus dem Index enternen; HEAD auf früheren Commit setzen; Working- tree iden1sch zu neuen HEAD machen git clean - fdx git reset - - hard master^ Zu weit! Zurück in die Zukuna... 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

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

Nächstes mal... Mechanik Schneideverfahren (Lasercu`er) 2.5 D Workflow, STL, GCODE, STEP, etc später...

Backup Slides

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

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

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

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

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