Python 101 Documentation Release 0.5

Total Page:16

File Type:pdf, Size:1020Kb

Python 101 Documentation Release 0.5 Python 101 Documentation Release 0.5 Centrum Edukacji Obywatelskiej Sep 08, 2017 Contents 1 Pytania do tych materiałów 3 2 Pobieranie tej dokumentacji 5 3 Przygotowanie do szkolenia 7 i ii Python 101 Documentation, Release 0.5 Niniejsze materiały to dokumentacja do szkolenia z j˛ezykaPython realizowanego w ramach projektu Koduj z Klas ˛a prowadzonego przez Fundacj˛e Centrum Edukacji Obywatelskiej. Krótki link do tej strony: bit.ly/py-101 Contents 1 Python 101 Documentation, Release 0.5 2 Contents CHAPTER 1 Pytania do tych materiałów Zach˛ecamydo dyskusji i zadawania pytan´ na naszym forum 3 Python 101 Documentation, Release 0.5 4 Chapter 1. Pytania do tych materiałów CHAPTER 2 Pobieranie tej dokumentacji Materiały mozna˙ pobrac´ do czytania w wersji offline. Za pomoc ˛aponizszych˙ polecen´ pobierzemy dokumentacj˛ei rozpakujemy do folderu ~/Pulpit/python-101-html: ~$ wget -O python-101-html.zip http://koduj-z-klasa.github.io/python101/python-101- ,!html.zip ~$ unzip python-101-html.zip -d ~/Pulpit/ Materiały mozna˙ takze˙ pobrac,´ zmodyfikowac´ i przygotowac´ według instrukcji w repozytorium 5 Python 101 Documentation, Release 0.5 6 Chapter 2. Pobieranie tej dokumentacji CHAPTER 3 Przygotowanie do szkolenia Przed szkoleniem warto przygotowac´ swój komputer. System i oprogramowanie Nasze materiały zakładaj ˛awykorzystanie systemu Linux i j˛ezyka Python w wersji 2.7.x, który jest cz˛esci´ ˛awszystkich desktopowych dystrybucji. Oprócz interpretera j˛ezykapotrzebne s ˛abiblioteki wykorzystywane w bardziej zaawan- sowanych przykładach, takich jak gry, aplikacje internetowe czy obsługa baz danych za pomoc ˛asystemów ORM. Przygotowalismy´ równiez˙ specjaln ˛awersj˛esystemu Linux Live o nazwie LxPup KzkBox przeznaczon ˛ado instalacji na kluczu USB. Zawiera ona wszystkie potrzebne narz˛edziai biblioteki, uruchamia si˛ez nap˛eduUSB na wi˛ekszosci´ komputerów i zapami˛etujewyniki naszej pracy. Note: Do realizacji scenariuszy dostosowac´ mozna˙ praktycznie kazdy˙ system, w tym MS Windows. Na koncu´ tego dokumentu znajdziesz wskazówki, jak to zrobic.´ Katalog u˙zytkownika Scenariusze zakładaj ˛arówniez,˙ ze˙ pracujemy w katalogu domowym uzytkownika.˙ W systemach Linux jest to pod- folder katalogu /home o nazwie zalogowanego uzytkownika,˙ np. /home/uczen. W poleceniach wydawanych w terminalu (zob. terminal) scie´ zk˛edo˙ tego katalogu symbolizuje znak ~. Skrócony zapis typu ~/quiz2$ oznacza, ze˙ dane polecenie nalezy˙ wykonac´ w podkatalogu quiz2 katalogu do- mowego uzytkownika.˙ Znak $ oznacza, ze˙ komendy wydajemy jako zwykły uzytkownik,˙ natomiast # – jako root, czyli administrator. Note: W przygotowanym przez nas systemie LxPup KzkBox wyj ˛atkowo pracujemy jako uzytkownik˙ root w kalogu domowym /root. Przygotowanie systemu Linux Jezeli˙ nie masz zainstalowanego systemu Linux, mozesz˙ wykorzystac´ wersj˛e Linux Live, która po nagraniu na pendra- jwa pozwoli uruchomic´ komputer. Jezeli˙ masz Linuksa lub planujesz go zainstalowac´ na dysku, czytaj dalej. 7 Python 101 Documentation, Release 0.5 Dystrybucje Najwygodniej pracowac´ w systemie Linux zainstalowanym na stałe, np. obok MS Windows. Polecamy systemy, na których przetestowalismy´ scenariusze: • Linux Mint 18 z dowolnym srodowiskiem´ graficznym. • Debian Jessie 8 – ostatnia stabilna wersja, proponujemy wersj˛eze srodowiskiem´ XFCE. Zob.: Instalacja De- biana Jessie. • Xubuntu 16.04 LTS – stabilna odmiana Ubuntu, zawiera proste i wydajne srodowisko´ graficzne XFCE. Zob. Instalacja Lubuntu (instalacja jest taka sama). Instalacja powyzszych˙ systemów jest prosta, pomocne informacje mozna˙ znale´zc´ np. na stronie Zainstalu Linuksa Narz˛edziai biblioteki W systemach linuksowych Python 2.7.x zainstalowany jest domyslnie,´ wersja 3.x równiez.˙ Potrzebne narz˛edzia/bibliotekiinstalujemy przy uzyciu˙ systemowego menedzera˙ pakietów (np. apt-get czy pacman) i/lub instalatora pakietów Pythona pip. Wymagane: • pip – instalator pakietów Pythona, podstawowe narz˛edziesłuz˙ ˛acedo zarz ˛adzaniapakietami Pythona zgromad- zonymi np. w repozytorium PyPI (Python Package Index); • virtualenv – menedzer˙ wirtualnych srodowisk´ Pythona, pozwala tworzyc´ katalogi zawieraj ˛aceizolowane srodowisko´ Pythona umozliwiaj˙ ˛aceinstalowanie wybranych wersji pakietów przez zwykłych uzytkowników;˙ • klient git – narz˛edzieumozliwiaj˙ ˛acekorzystanie z repozytoriów kodu i dokumentacji w serwisie Github • sqlite3 – konsolowa powłoka dla baz SQLite3, umozliwia˙ przegl ˛adanieschematów tabel oraz zarz ˛adzaniebaz ˛a za pomoc ˛aj˛ezykaSQL. Dodatkowe: • ipython – rozszerzona interaktywna konsola Pythona; • qtconsole – rozszerzona interaktywna konsola Pythona wykorzystuj ˛acabibliotek˛eQt, umozliwia˙ m. in. wyswi-´ etlanie wykresów utworzonych z wykorzystaniem matplotlib. Instalacja W systemach opartych na Debianie (LinuxMint, (X)Ubuntu itp.) w terminalu wydajemy nast˛epuj˛acepolecenia: ~$ sudo apt-get update ~$ sudo apt-get install python-pip python-pygame python-tk python-matplotlib git ,!sqlite3 ~$ sudo apt-get install ipython ipython-qtconsole ~$ sudo pip install virtualenv flask django peewee sqlalchemy flask-sqlalchemy W systemach opartych na Arch Linuksie (Manjaro itp.) w terminalu wydajemy nast˛epuj˛acepolecenia: ~# pacman -Syyu ~# pacman -S python2-pip python2-pygame tk python2-matplotlib git sqlite ~# pacman -S ipython2-notebook python2-pyqt5 ~# pip2 install virtualenv flask django peewee sqlalchemy flask-sqlalchemy 8 Chapter 3. Przygotowanie do szkolenia Python 101 Documentation, Release 0.5 Note: Ewentualna aktualizacja biblioteki matplotlib oraz narz˛edzi ipython i qtconsole w systemach opartych na Debianie wymaga doinstalowania srodowiska´ umozliwij˙ ˛acego kompilacj˛e: ~$ sudo apt-get install build-essential libpng12-dev zlib1g-dev libfreetype6-dev ,!python-dev ~$ sudo pip install matplotlib ipython qtconsole Note: • Nazwy pakietów w róznych˙ dystrybucjach mog ˛asi˛enieco rózni˙ c´ od podanych. • Systemy Debian i Arch Linux w domyslnej´ konfiguracji nie wykorzystuj ˛amechanizmu podnoszenia uprawnien´ sudo, dlatego polecenia instalacji nalezy˙ wydawac´ z konta uzytkownika˙ root, co oznaczamy znakami ~#. • W systemach opartych na Debianie ((X)Ubuntu, LinuxMint itp.) polecenie python domyslnie´ wywołuje Pythona 2, w systemach opartych na Arch Linuksie – Pythona 3. Aby uzy˙ c´ interpretera Pythona 2, w Archu itp. trzeba wydac´ polecenie python2. Pip Przydatne polecenia: ~$ pip -V # wersja narz˛edziapip ~$ pip list # lista zainstalowanych pakietów ~$ sudo pip install nazwa_pakietu # instalacja pakietu ~$ sudo pip install nazwa_pakietu -U # aktualizacja pakietu ~$ sudo pip uninstall # usuni˛eciepakietu Przygotowanie systemu Windows Przykłady zostały przygotowane z mysl´ ˛ao systemie Linux. Przygotowana i polecana przez nas przenosna´ wersja Linuksa LxPup zawiera wszystkie potrzebne narz˛edziai biblioteki. Mozna˙ je równiez˙ wykonywac´ w srodowisku´ Windows. Cały kod działa tak samo, jednak niektóre biblioteki w wersjach binarnych trzeba sci´ ˛agn˛ac´ i zainstalowac´ r˛ecznie. Note: Pami˛etaj,by w systemie Windows zmieniac´ znaki / (slash) na \ (backslash) w scie´ zkach˙ podawanych w scenariuszach, podobnie pozamieniaj komendy systemu Linux na odpowiedniki wiersza polecen´ Windows. Inerpreter Pythona Na stronie Python Releases for Windows klikamy link Last Python 2 Release - ... i pobieramy plik Windows x86 MSI installer dla Windowsa 32-bitowego lub Windows x86-64 MSI installer dla edycji 64-bitowej. Tip: Podczas instalacji zaznaczamy opcj˛e“Add Python.exe to Path”. 3.1. System i oprogramowanie 9 Python 101 Documentation, Release 0.5 10 Chapter 3. Przygotowanie do szkolenia Python 101 Documentation, Release 0.5 Narz˛edziai biblioteki Narz˛edziawymagane: • pip – instalator pakietów Pythona, podstawowe narz˛edziesłuz˙ ˛acedo zarz ˛adzaniapakietami Pythona zgromad- zonymi np. w repozytorium PyPI (Python Package Index); • virtualenv – menedzer˙ wirtualnych srodowisk´ Pythona, pozwala tworzyc´ katalogi zawieraj ˛aceizolowane srodowisko´ Pythona umozliwiaj˙ ˛aceinstalowanie wybranych wersji pakietów przez zwykłych uzytkowników;˙ • klient git – narz˛edzieumozliwiaj˙ ˛acekorzystanie z repozytoriów kodu i dokumentacji w serwisie Github • sqlite3 – konsolowa powłoka dla baz SQLite3, umozliwia˙ przegl ˛adanieschematów tabel oraz zarz ˛adzaniebaz ˛a za pomoc ˛aj˛ezykaSQL. Narz˛edziadodatkowe: • ipython – rozszerzona interaktywna konsola Pythona; • qtconsole – rozszerzona interaktywna konsola Pythona wykorzystuj ˛acabibliotek˛eQt, umozliwia˙ m. in. wyswi-´ etlanie wykresów utworzonych z wykorzystaniem matplotlib. Pip Narz˛edzieuruchamiamy w wierszu polecen´ (terminalu). Przydatne polecenia: pip -V # wersja narz˛edziapip pip list # lista zainstalowanych pakietów pip install nazwa_pakietu # instalacja pakietu pip install nazwa_pakietu -U # aktualizacja pakietu pip uninstall # usuni˛eciepakietu Narz˛edzia pip uzyjemy˙ do instalacji pakietów virtualenv, ipython i qtconsole: pip install virtualenv pip install ipython qtconsole Biblioteki PyQt Qtconsole wymaga bibliotek PyQt. W Windows 32-bitowym ze strony PyQt4 Download pobieramy plik PyQt4- 4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe i instalujemy. W wersji 64-bitowej Windowsa w terminalu wydajemy polecenie: pip install python-qt5 Git Git to narz˛edziedo obsługi repozytoriów hostowanych w serwisie GitHub. Podstawowego klienta w wersji 32- lub 64-bitowej pobieramy ze strony Downloading Git i instalujemy, zaznaczaj ˛acwszystkie opcje. Alternatywna metoda instalacji, jak równiez˙ zasady pracy z repozytoriami omówione zostały w osobnym dokumencie. Gor ˛acozach˛ecamydo jego przejrzenia. 3.1. System
Recommended publications
  • Performance Assessment and Translation of Physiologically
    TOXICOLOGICAL SCIENCES, 158(1), 2017, 23–35 doi: 10.1093/toxsci/kfx070 Advance Access Publication Date: April 8, 2017 Forum FORUM Performance Assessment and Translation of Physiologically Based Pharmacokinetic Models From acslX to Berkeley Madonna, MATLAB, and R Language: Oxytetracycline and Gold Nanoparticles As Case Examples Zhoumeng Lin,*,1 Majid Jaberi-Douraki,*,† Chunla He,‡ Shiqiang Jin,*,§ Raymond S. H. Yang,¶,k Jeffrey W. Fisher,kj and Jim E. Riviere* *Institute of Computational Comparative Medicine (ICCM), Department of Anatomy and Physiology, College of Veterinary Medicine, Kansas State University, Manhattan, Kansas 66506; †Department of Mathematics, College of Arts and Sciences, Kansas State University, Manhattan, Kansas 66506; ‡Department of Epidemiology and Biostatistics, College of Public Health, The University of Georgia, Athens, Georgia 30602; §Department of Statistics, College of Arts and Sciences, Kansas State University, Manhattan, Kansas 66506; ¶Department of Environmental and Radiological Health Sciences, College of Veterinary Medicine and Biomedical Sciences, Colorado State University, Fort Collins, Colorado 80523; kRay Yang Consulting LLC, Fort Collins, Colorado 80526; and kjDivision of Biochemical Toxicology, National Center for Toxicological Research, U.S. Food and Drug Administration, Jefferson, Arkansas 72079 1To whom correspondence should be addressed at Institute of Computational Comparative Medicine (ICCM), Department of Anatomy and Physiology, College of Veterinary Medicine, Kansas State University, 1800 Denison Avenue, P200 Mosier Hall, Manhattan, KS 66506. Fax: (785) 532-4953. E-mail: [email protected]. ABSTRACT Many physiologically based pharmacokinetic (PBPK) models for environmental chemicals, drugs, and nanomaterials have been developed to aid risk and safety assessments using acslX. However, acslX has been rendered sunset since November 2015. Alternative modeling tools and tutorials are needed for future PBPK applications.
    [Show full text]
  • A High-Performance Serial/Parallel Monte Carlo Simulation Library for C, C++, Fortran
    ParaMonte: A high-performance serial/parallel Monte Carlo simulation library for C, C++, Fortran Amir Shahmoradi1, 2 and Fatemeh Bagheri1 DOI: 1 Department of Physics, The University of Texas, Arlington, TX 2 Data Science Program, The University of Texas, Arlington, TX Software • Review Summary • Repository • Archive ParaMonte (standing for Parallel Monte Carlo) is a serial and MPI/Coarray-parallelized library of Monte Carlo routines for sampling mathematical objective functions of arbitrary-dimensions, in Editor: particular, the posterior distributions of Bayesian models in data science, Machine Learning, and scientific inference. The ParaMonte library has been developed with the design goal of unifying Submitted: 29 September 2020 the automation, accessibility, high-performance, scalability, and reproducibility of Monte Published: Carlo simulations. The current implementation of the library includes ParaDRAM, a Parallel License Delyaed-Rejection Adaptive Metropolis Markov Chain Monte Carlo sampler, accessible from a Authors of papers retain wide range of programming languages including C, C++, Fortran, with a unified Application copyright and release the work Programming Interface and simulation environment across all supported programming languages. under a Creative Commons The ParaMonte library is MIT-licensed and is permanently located and maintained at https: Attribution 4.0 International //github.com/cdslaborg/paramonte. License (CC BY 4.0). Statement of need Monte Carlo simulation techniques, in particular, the Markov Chain Monte Carlo (MCMC) are among the most popular methods of quantifying uncertainty in scientific inference problems. Extensive work has been done over the past decades to develop Monte Carlo simulation programming environments that aim to partially or fully automate the problem of uncertainty quantification via Markov Chain Monte Carlo simulations.
    [Show full text]
  • Latexsample-Thesis
    INTEGRAL ESTIMATION IN QUANTUM PHYSICS by Jane Doe A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Mathematics The University of Utah May 2016 Copyright c Jane Doe 2016 All Rights Reserved The University of Utah Graduate School STATEMENT OF DISSERTATION APPROVAL The dissertation of Jane Doe has been approved by the following supervisory committee members: Cornelius L´anczos , Chair(s) 17 Feb 2016 Date Approved Hans Bethe , Member 17 Feb 2016 Date Approved Niels Bohr , Member 17 Feb 2016 Date Approved Max Born , Member 17 Feb 2016 Date Approved Paul A. M. Dirac , Member 17 Feb 2016 Date Approved by Petrus Marcus Aurelius Featherstone-Hough , Chair/Dean of the Department/College/School of Mathematics and by Alice B. Toklas , Dean of The Graduate School. ABSTRACT Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.
    [Show full text]
  • Integral Estimation in Quantum Physics
    INTEGRAL ESTIMATION IN QUANTUM PHYSICS by Jane Doe A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Mathematical Physics Department of Mathematics The University of Utah May 2016 Copyright c Jane Doe 2016 All Rights Reserved The University of Utah Graduate School STATEMENT OF DISSERTATION APPROVAL The dissertation of Jane Doe has been approved by the following supervisory committee members: Cornelius L´anczos , Chair(s) 17 Feb 2016 Date Approved Hans Bethe , Member 17 Feb 2016 Date Approved Niels Bohr , Member 17 Feb 2016 Date Approved Max Born , Member 17 Feb 2016 Date Approved Paul A. M. Dirac , Member 17 Feb 2016 Date Approved by Petrus Marcus Aurelius Featherstone-Hough , Chair/Dean of the Department/College/School of Mathematics and by Alice B. Toklas , Dean of The Graduate School. ABSTRACT Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.
    [Show full text]
  • Econometrics with Octave
    Econometrics with Octave Dirk Eddelb¨uttel∗ Bank of Montreal, Toronto, Canada. [email protected] November 1999 Summary GNU Octave is an open-source implementation of a (mostly Matlab compatible) high-level language for numerical computations. This review briefly introduces Octave, discusses applications of Octave in an econometric context, and illustrates how to extend Octave with user-supplied C++ code. Several examples are provided. 1 Introduction Econometricians sweat linear algebra. Be it for linear or non-linear problems of estimation or infer- ence, matrix algebra is a natural way of expressing these problems on paper. However, when it comes to writing computer programs to either implement tried and tested econometric procedures, or to research and prototype new routines, programming languages such as C or Fortran are more of a bur- den than an aid. Having to enhance the language by supplying functions for even the most primitive operations adds extra programming effort, introduces new points of failure, and moves the level of abstraction further away from the elegant mathematical expressions. As Eddelb¨uttel(1996) argues, object-oriented programming provides `a step up' from Fortran or C by enabling the programmer to seamlessly add new data types such as matrices, along with operations on these new data types, to the language. But with Moore's Law still being validated by ever and ever faster processors, and, hence, ever increasing computational power, the prime reason for using compiled code, i.e. speed, becomes less relevant. Hence the growing popularity of interpreted programming languages, both, in general, as witnessed by the surge in popularity of the general-purpose programming languages Perl and Python and, in particular, for numerical applications with strong emphasis on matrix calculus where languages such as Gauss, Matlab, Ox, R and Splus, which were reviewed by Cribari-Neto and Jensen (1997), Cribari-Neto (1997) and Cribari-Neto and Zarkos (1999), have become popular.
    [Show full text]
  • Numerical Analysis, Modelling and Simulation
    Numerical Analysis, Modelling and Simulation Griffin Cook Numerical Analysis, Modelling and Simulation Numerical Analysis, Modelling and Simulation Edited by Griffin Cook Numerical Analysis, Modelling and Simulation Edited by Griffin Cook ISBN: 978-1-9789-1530-5 © 2018 Library Press Published by Library Press, 5 Penn Plaza, 19th Floor, New York, NY 10001, USA Cataloging-in-Publication Data Numerical analysis, modelling and simulation / edited by Griffin Cook. p. cm. Includes bibliographical references and index. ISBN 978-1-9789-1530-5 1. Numerical analysis. 2. Mathematical models. 3. Simulation methods. I. Cook, Griffin. QA297 .N86 2018 518--dc23 This book contains information obtained from authentic and highly regarded sources. All chapters are published with permission under the Creative Commons Attribution Share Alike License or equivalent. A wide variety of references are listed. Permissions and sources are indicated; for detailed attributions, please refer to the permissions page. Reasonable efforts have been made to publish reliable data and information, but the authors, editors and publisher cannot assume any responsibility for the validity of all materials or the consequences of their use. Copyright of this ebook is with Library Press, rights acquired from the original print publisher, Larsen and Keller Education. Trademark Notice: All trademarks used herein are the property of their respective owners. The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this book by such owners. The publisher’s policy is to use permanent paper from mills that operate a sustainable forestry policy.
    [Show full text]
  • Econometrics with Octave
    Econometrics with Octave Dirk Eddelb¨uttel∗ Bank of Montreal, Toronto, Canada. [email protected] November 1999 Summary GNU Octave is an open-source implementation of a (mostly Matlab compatible) high-level language for numerical computations. This review briefly introduces Octave, discusses applications of Octave in an econometric context, and illustrates how to extend Octave with user-supplied C++ code. Several examples are provided. 1 Introduction Econometricians sweat linear algebra. Be it for linear or non-linear problems of estimation or inference, matrix algebra is a natural way of expressing these problems on paper. However, when it comes to writing computer programs to either implement tried and tested econometric procedures, or to research and prototype new routines, programming languages such as C or Fortran are more of a burden than an aid. Having to enhance the language by supplying functions for even the most primitive operations such as transposing a matrix adds extra programming effort, introduces new points of failure, and moves the level of abstraction further away from the elegant mathematical expressions. As Eddelb¨uttel(1996) argues, object-oriented programming provides `a step up' from Fortran or C by enabling the programmer to seamlessly add new data types such as matrices, along with operations on these new data types, to the language. But with Moore's Law still being validated by ever and ever faster processors, and, hence, ever increasing computational power, the prime reason for using compiled code, i.e. speed, becomes less relevant. Hence the growing popularity of interpreted programming languages, both, in general, as witnessed by the surge in popularity of the general- purpose programming languages Perl and Python and, in particular, for numerical applications with strong emphasis on matrix calculus where languages such as Gauss, Matlab, Ox, R, Splus, which were reviewed by Cribari-Neto and Jensen (1997), Cribari-Neto (1997) and Cribari-Neto and Zarkos (1999), have become popular.
    [Show full text]
  • Unix Et Programmation Shell
    Unix et Programmation Shell Philippe Langevin d´epartment d'informatique UFR sciences et technique universit´edu sud Toulon Var Automne 2013 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 1 / 33 document brouillon en r´evision site du cours : http://langevin.univ-tln.fr/cours/UPS/upsh.html localisation du fichier : http://langevin.univ-tln.fr/cours/UPS/doc/intro.pdf Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 2 / 33 derni`eresmodifications intro.tex 2013-06-23 10:07:23.697660496 +0200 macros.tex 2013-06-22 23:42:16.868263946 +0200 prologue.tex 2013-06-22 22:10:45.967471216 +0200 upsh.tex 2013-06-22 11:24:27.941744751 +0200 tools.tex 2013-06-22 11:24:27.940741957 +0200 term.tex 2013-06-22 11:24:27.934741399 +0200 syntaxe.tex 2013-06-22 11:24:27.931741678 +0200 proc.tex 2013-06-22 11:24:27.927741678 +0200 piped.tex 2013-06-22 11:24:27.922741399 +0200 perm.tex 2013-06-22 11:24:27.921741678 +0200 part.tex 2013-06-22 11:24:27.918742237 +0200 man.tex 2013-06-22 11:24:27.911741957 +0200 langage.tex 2013-06-23 10:04:58.364659987 +0200 file.tex 2013-06-22 11:24:27.896741119 +0200 dup.tex 2013-06-22 11:24:27.885741678 +0200 fic.tex 2013-06-22 11:24:27.885741678 +0200 bash.tex 2013-06-22 11:24:27.881741957 +0200 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 3 / 33 shell unix 1 - shell unix origine unices GNU/linux distribution shell unix GUI vs CLI exemple Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 4 / 33 1969 Ken Thompson cr´eele syst`eme UNICS 1971 Dennis Ritchie cr´ee Le langage C utile pour le d´eveloppement d'unix.
    [Show full text]
  • Similarity in Binary Executables
    Similarity in Binary Executables Yaniv David Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 Similarity in Binary Executables Research Thesis Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Yaniv David Submitted to the Senate of the Technion — Israel Institute of Technology Hadar 5780 Haifa March 2020 Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 Technion - Computer Science Department - Ph.D. Thesis PHD-2020-04 - 2020 This research was carried out under the supervision of Prof. Eran Yahav, in the Faculty of Computer Science. Some results in this thesis have been published as articles by the author and research collaborators in conferences and journals during the course of the author’s doctoral research period, the most up-to-date versions of which being: Yaniv David, Nimrod Partush, and Eran Yahav. Statistical similarity of binaries. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’16, pages 266–280, New York, NY, USA, 2016. ACM. Yaniv David, Nimrod Partush, and Eran Yahav. Similarity of binaries through re-optimization. In Pro- ceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, pages 79–94, New York, NY, USA, 2017. ACM. Yaniv David, Nimrod Partush, and Eran Yahav. Firmup: Precise static detection of common vulnerabilities in firmware. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’18, pages 392–404, New York, NY, USA, 2018.
    [Show full text]
  • Computadoras Electronicas
    COMPUTADORAS ELECTRONICAS Prólogo En la unidad 0 se hace una introducción, definiendo algunos conceptos previos. En la unidad 1 se muestran las diversas tecnologías en las que se fueron construyendo las computadoras. Luego se hace una breve revisión de los principios de circuitos digitales secuenciales y combinacionales, para comprender luego el Hardware principal de la computadora, como ser la Unidad Lógico Aritmética y la Unidad De Memoria. También se exponen las principales tecnologías de semiconductor con las que son construidas las computadoras actuales. Y se hace una descripción funcional de todas y cada una de las partes elementales de la computadora. Finalmente se describen los dos tipos básicos de arquitectura de computadoras ejemplificando cada uno. En la unidad 2 se hace un repaso de sistemas posicionales de numeración haciendo especial énfasis en el hexadecimal y binario. Además se desarrollan los diferentes códigos binarios con los que la maquina almacena y procesa la diversa información digital. En la unidad 3 se hace una integración de las unidades anteriores en la programación de un microcontrolador específico. Haciendo uso de un entorno de desarrollo integrado para tal fin. Utilizando el lenguaje Ensamblador ya que al ser de bajo nivel se puede tener una compresión mas profunda de lo que ocurre a nivel Hardware y poder relacionarlo con el Software. En la unidad 4 finalmente se expone el lenguaje C, luego de haber pasado por el Ensamblador se busca un mayor nivel de abstracción para poder resolver problemas de mayor complejidad. Este material se realizó con fines didácticos y se encuentra en proceso de desarrollo.
    [Show full text]
  • Diversity in the GNU Project As Measured by Mailing List Activity
    Just us boys : diversity in the GNU project as measured by mailing list activity. Camille Akmut October 4, 2019 Abstract Structure and patterns of a male-dominated culture. Statistics mea- sured over a period of one year (leading up to, including September 2019). 1 1 Introduction : GNU is not... In the following we measure diversity in the GNU project by using mailing list activity, as proxy1. Specifically, we chose info-gnu, where announcements relating to the GNU project are posted. All the major figures (e.g. Richard Stallman, Werner Koch, Alexandre Oliva...) of this free software project { arguably the most important of all { make regular appearances here and release information regarding their respective areas, or software. These encompass the well-known ones : GNU itself, GPG, Linux-Libre, GCC, GDB, coreutils, etc. | GNU is not for women { such would be the conclusion of anyone going through our statistics. And, if the mostly passive attitudes adopted so far have led to such results, surely they can no longer be considered enough. | At the turn of the last century, men formed peculiar circles, still, in and around universities. The more prestigious these places, the longer it took them to admit women inside their walls { and longer still to admit them as equals.2 In the novels of Waugh and Forster, where the old, male-exclusive university system still exists, undisturbed by the advances of times, the absence of women goes largely unnoticed : unproblematic. "This is just how things are", "They've always been this way" { so went their inner lives. Lise Meitner (who ended up finding a place within academia) or Emmy Noether had no place in these novels, no more than they had in the times they depict..
    [Show full text]
  • Unix Et Programmation Shell
    Unix et Programmation Shell Philippe Langevin d´epartment d'informatique UFR sciences et technique universit´edu sud Toulon Var Automne 2013 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 1 / 50 document brouillon en r´evision site du cours : http://langevin.univ-tln.fr/cours/UPS/upsh.html localisation du fichier : http://langevin.univ-tln.fr/cours/UPS/doc/shell.pdf Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 2 / 50 derni`eresmodifications man.tex 2017−09−07 12:27:47.738251920 +0200 perm.tex 2016−09−30 09:41:54.766553521 +0200 file .tex 2016−09−30 09:19:02.810595120 +0200 bash.tex 2016−09−15 12:09:09.887948313 +0200 term.tex 2016−09−14 18:50:05.124091515 +0200 upsh.tex 2015−10−25 18:09:36.027434338 +0100 proc.tex 2015−10−20 22:09:35.450391618 +0200 shell.tex 2015−09−10 19:31:04.581529236 +0200 prologue.tex 2015−09−07 09:06:31.773157847 +0200 tools.tex 2015−07−11 09:04:38.890915266 +0200 pipe.tex 2014−10−02 19:10:22.426127326 +0200 direct.tex 2014−10−02 07:49:17.162784238 +0200 syntaxe.tex 2014−10−01 23:52:29.859357485 +0200 part.tex 2014−10−01 23:52:29.372363438 +0200 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 3 / 50 shell unix 1 - shell unix origine unices GNU/linux distribution shell unix GUI vs CLI C-production Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne 2013 4 / 50 1969 Ken Thompson cr´eele syst`eme UNICS 1971 Dennis Ritchie cr´eele langage C [PSLC] prog.
    [Show full text]