mit L A TEX, Git und Github Zentralschweizer OpenSource Verein L u X e r i a 2. Februar 2013
Wer bin ich? Personalien, Ausbildung & Hobby Perlen (LU), Bihać (BiH) Student ET, HSLU-T&A Elektroniker - R&D Schindler Aufzüge AG, FU-HW-Entwicklung Präsident des
Was soll erreicht werden? Nach dieser Präsentation können Sie WYSIWYG von TEX & L A TEX unterscheiden Git und seine Eigenschaften nennen Funktionen und Philisophie von Github nennen Einsatz von L A TEX, Git und Github abschätzen selbstständig weitere Informationen finden
An wen richtet sich diese Präsentation? An jene die Texte aller Art zusammen erstellen/bearbeiten wollen Texte mit Projektmanagement verwalten möchten L A TEX, Git und Github nicht kennen/gewohnt sind eine Alternative zu kollaborativem Texten suchen Nicht an jene die Git und Github bereits kollaborativ benutzen auf MS-Office-Formate nicht verzichten können
Programmübersicht
WYSIWYG What You See Is (More Or Less) What You Get! WYSI(MOL)WYG Was du siehst ist das, was du bekommst! Interagiert mit Systemdaten (Druckertreiber etc.) unvorhersagbar undurchsichtig Bsp. MS-Office TEX & L A TEX Was du bekommst ist das, wonach du gefragt hast! System- und Plattformunabhängig vorhersagbar (Programm) Frei (free speech & free beer) professioneller Satz
WYSIWYG Warum ist WYSIWYG problematisch? Eigenschaften vieler WYSIWYG-Programme isoliert Autoren Austausch ist erschwert/behindert viele Abhängigkeiten (SW-Versionen, HW, System...) (hohe Kosten) unerklärliches Verhalten erzeugt überladene Dateien ( Crash)
L A TEX Aufbau von TEX-Dokumenten Dokument Präambel Layout, Definitionen, Bedingungen usw. Dokumenteninhalt Reiner Inhalt externe Inhalte Verzeichnisse, Bilder usw. Beispiel \documentclass{beamer}... \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel}... \begin{document} \tableofcontents \section{einleitung} \input{einleitung} \end{document}
L A TEX Immer & überall das selbe Ergebnis! L A TEX Code Einige Vorteile von \LaTeX:\\ % Hier folgt % eine Aufzaehlung \begin{itemize} \item Freie Software \item $\sum\frac{n}{1-n^2}$ \item Professioneller Satz \item Plattformunabhängig \item Logisch/strukturiert \item Einheitlich \item Einfache Verwaltung \end{itemize} Ausgabe Einige Vorteile von L A TEX: Freie Software n 1 n 2 Professioneller Satz Plattformunabhängig Logisch/Strukturiert Einheitlich Einfache Verwaltung
L A TEX Environments Mathematik Inline & abgesetzt Mathematik im Satz... dann ist $ \text{nev} \pi \frac{d^2}{4} $ die Ladungsmenge, die pro... Mathematik abgesetzt... berechnet sich nach Gauss: \[ \oint E \cdot da = \frac{1}{\epsilon_0} \int \rho dv \] Mathematik im Satz...dann ist nevπ d2 4 die Ladungsmenge, die pro... Mathematik abgesetzt... berechnet sich nach Gauss: E da = 1 ρ dv ɛ 0
L A TEX Environments TikZ TikZ ist kein Zeichenprogramm Pie-Chart Code \begin{figure} \begin{tikzpicture} \pie[radius=1.75]{ 15/ HSLU, 35/ ETH, 10/ UZH, 25/ MIT, 15/ k.a} \end{tikzpicture} \caption{ein pie -Chart} \end{figure} UZH ETH 10% MIT 35% 15% HSLU 15% 25% k.a Abbildung: Ein pie -Chart
L A TEX Environments TikZ TikZ ist kein Zeichenprogramm Bar-Chart Code \begin{figure} \begin{bchart}[step=20, max=60, scale=0.65] \bcbar[text=hslu]{15} \bcbar[text=eth]{35} \bcbar[text=uzh]{10} \bcbar[text=mit]{25} \bcbar[text=k.a]{15} \end{bchart} \caption{ein bar -Chart} \end{figure} HSLU 15 ETH UZH 10 MIT 25 k.a 15 35 0 10 20 30 40 Abbildung: Ein bar -Chart
L A TEX Environments Circuitikz Analogtechnik Zweipol-Schaltung \ctikzset{bipoles/length=1cm} \begin{circuitikz}[scale=0.9]\draw (0,0) node[anchor=east]{b} to[short, o-*](1,0) to[r=$r_1$, *-*](1,2) to[r=$r_2$, *-*](3,2)--(4,2) to[v=$u_q$](4,0)--(3,0) to[r=$r_3$, *-*](3,2) (3,0)--(1,0) (1,2) to[short,-o] (0,2) node[anchor=east]{a} ;\end{circuitikz} A B R 1 R 2 R 3 U q
L A TEX Environments Circuitikz Digitaltechnik DNF-Schaltung \begin{circuitikz}\draw (0,2) node[and port] (and1) {} (0,0) node[and port] (and2) {} (2,1) node[xnor port] (xnor1) {} (and1.out)- (xnor1.in 1) (and2.out)- (xnor1.in 2) % Beschriftung (and1.in 1) node[anchor=east] {a} (and1.in 2) node[anchor=east] {b}... ;\end{circuitikz} a b c d & & = 1 y
Git Dummkopf Was ist Git? Abbildung: neues Git-Logo git[git] - a bastard or fool I m an egoistical bastard, and I name all my projects after myself. First Linux, now git. Überblick Verwaltungssystem nicht linear dezentral sicher & stabil OpenSource Plattformunabhängig Linus Torvalds
Git nicht linear? Arbeiten mit Forks und Branches fork master branch Abbildung: Projetkbaum Fork, Master & Branch Arbeiten am Skript Version HS12 Korrekturen im HS12 Studenten übernehmen Kopie und erweitern Das Beste kommt zusammen für FS13
Git dezentral Offline? Interessiert mich nicht! entferntes Repository pull fetch checkout HEAD push lokales Repository commit Index add Arbeitsbereich Abbildung: Git einfach erklärt Dezentral? Wie geht das? Jeder hat das Gesamte Projekt bei sich Jede Änderung erzeugt neue eine Version Jede Version hat einen Hash als Nummer Lokal oder entfernt spielt keine Rolle!
Git sicher & stabil Wieso ist es sicher & stabil? Sicher weil Versionen sind Teil des Ganzen Nicht manipulierbar (Hash-Tree) Versionen GPG signiert Stabil weil Abgegrenzt (git - the stupid content tracker) Schlank und sauber Arbeitet mit Referenzen
Git Open & Plattformunabhängig Warum ist dies so wichtig? OpenSource Freiheit Sicherheit Support Kosten Plattformunabhängig Freiheit Symbiose Flexibilität Stabilität
Github Social Coding Was soll das sein? Abbildung: Github Logo Abbildung: Soziales Netzwerk Was ist Github? Host für Repositories Private & Enterprise Nr. 2 unter Hosts Was ist speziell? User im Zentrum Projektverwaltung Git-Anbindung Simpel & stabil
Github Überblick Einige Daten Berühmte Repos Erlang Linux Mint jquery Perl PHP Ruby (Iron, Rails...) Python Twitter Nutzung und Service +3 000 000 User +4 000 000 Repos Most Popular Host offene API Webhosting (static) Support & Training
Github User Über User und ihre Repos Abbildung: Soziales Netzwerk User in Github haben eine Profilseite haben eigene Repos verfolgen User & Repos Chatten über Code beobachten Projekt-Analysen führen Repo Wikis setzten Webpages auf
Github Issues Über Repos und Angelegenheiten Abbildung: Issue erstellen
Github Meilenstein Projektmanagement ist auch beim Code wichtig! Abbildung: Meilenstein
Github Graphs Contributor Graph Wer ist dabei und wer macht wieviel? Abbildung: Teinnehmer
Github Graphs Commits Wie aktiv wird am Projekt entwickelt? Abbildung: Commits
Github Graphs Punchcard Der Wochenspiegel Abbildung: Punchcard
Github Graphs Network Behalte den Flow im Auge! Abbildung: Network
Github Mobile Github auf Android und ios Abbildung: Github Unterwegs Facebookst du noch oder Githubst du schon? Gists - tausche snippets Issue Dashboard Repositories Followers Following Newsfeed check Commits
Demo Crashkurs ganz ohne Crash! Was werden wir machen? 1 Account einrichten* 2 Repo eröffnen mit Readme und Wiki 3 Meilenstein definieren 4 Issue erstellen mit assigns 5 Push von verschiedenen Usern/Rechnern 6 Issue schliessen
Diskussion Fragen? Anregungen? Kommentare? Fragen, Anregungen oder Kommentare? Jetzt im Plenum diskutieren! oder nino.ninux@gmail.com ervin.mazlagic@stud.hslu.ch