All Projects → csymvoul → Information-Systems-Lab

csymvoul / Information-Systems-Lab

Licence: other
Εργαστήριο Πληροφοριακών Συστημάτων - Υλικό εργαστηρίου

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to Information-Systems-Lab

shinage-server
PHP based server side software for web based digital signage systems.
Stars: ✭ 31 (+93.75%)
Mutual labels:  webservices
playsonify
An opinionated micro-framework to help you build practical JSON APIs with Play Framework (or akka-http)
Stars: ✭ 42 (+162.5%)
Mutual labels:  webservices
pygeohydro
A part of HyRiver software stack for accessing hydrology data through web services
Stars: ✭ 47 (+193.75%)
Mutual labels:  webservices
WebTechnologies
CRAN Task View: WebTechnologies
Stars: ✭ 163 (+918.75%)
Mutual labels:  webservices
selenified
The Selenified Test Framework provides mechanisms for simply testing applications at multiple tiers while easily integrating into DevOps build environments. Selenified provides traceable reporting for both web and API testing, wraps and extends Selenium calls to more appropriately handle testing errors, and supports testing over multiple browser…
Stars: ✭ 38 (+137.5%)
Mutual labels:  webservices
rest-api-node-typescript
This is a simple REST API with node and express with typescript
Stars: ✭ 154 (+862.5%)
Mutual labels:  webservices
WSBoletoSantander
WS Boletos Santander são classes criadas para facilitar a integração entre aplicativos feitos em PHP e a geração de boletos online no banco Santander.
Stars: ✭ 43 (+168.75%)
Mutual labels:  webservices
py3dep
A part of HyRiver software stack for getting topography data within the US through 3D Elevation Program (3DEP)
Stars: ✭ 30 (+87.5%)
Mutual labels:  webservices
site
RailroadPM.org 2.x Site
Stars: ✭ 18 (+12.5%)
Mutual labels:  webservices
Awesome Serverless
☁️ A curated list of awesome services, solutions and resources for serverless / nobackend applications.
Stars: ✭ 6,654 (+41487.5%)
Mutual labels:  webservices
Servicestack
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
Stars: ✭ 4,976 (+31000%)
Mutual labels:  webservices
Guzzle
Guzzle, an extensible PHP HTTP client
Stars: ✭ 21,384 (+133550%)
Mutual labels:  webservices
xmldsigjs
XMLDSIGjs provides an implementation of XMLDSIG in Typescript/Javascript based on WebCrypto
Stars: ✭ 27 (+68.75%)
Mutual labels:  webservices
The-PHP-Workshop
A New, Interactive Approach to Learning PHP
Stars: ✭ 30 (+87.5%)
Mutual labels:  webservices
pynhd
A part of HyRiver software stack that provides access to NHD+ V2 data through NLDI and WaterData web services
Stars: ✭ 12 (-25%)
Mutual labels:  webservices
granitic
Web/micro-services and IoC framework for Golang developers
Stars: ✭ 32 (+100%)
Mutual labels:  webservices
API-Testing-Automation-Framework
It is Data-Driven and Keyword-Driven framework to test REST/SOAP webservices automatically
Stars: ✭ 24 (+50%)
Mutual labels:  webservices
Desenvolvimento-Android-do-absoluto-zero-para-iniciantes
Visite meu site e conheça todos os meus cursos 100% on-line.
Stars: ✭ 33 (+106.25%)
Mutual labels:  webservices
koa-rest-router
Most powerful, flexible and composable router for building enterprise RESTful APIs easily!
Stars: ✭ 67 (+318.75%)
Mutual labels:  webservices
eet-client
Client and library for #EET communication - http://www.etrzby.cz/ , written in Java
Stars: ✭ 49 (+206.25%)
Mutual labels:  webservices

Εργαστήριο Πληροφοριακών Συστημάτων

Το συγκεκριμένο project αφορά το εργαστήριο του μαθήματος «(ΨΣ-152) Πληροφοριακά Συστήματα» του τμήματος Ψηφιακών Συστημάτων του Πανεπιστημίου Πειραιώς.

Μπορείτε να βρείτε το κώδικα από τις διαφάνειες του μαθήματος χωρισμένο σε διαφορετικούς φακέλους.

Δομή του εργαστηρίου

  1. Εργαστήριο 1 - Εισαγωγή Εισαγωγή στην Υπηρεσιοστρεφή Αρχιτεκτονική και τη Python
    • Εισαγωγή με την Υπηρεσιοστρεφή Αρχιτεκτονική (SOA) και τα Web Services
      • SOA
      • REST & Restful APIs
    • Γνωριμία με τη Python 3
      • Γενικές έννοιες
      • Anaconda distribution
    • Git
      • GitΗub account
      • Δημιουργία νέου repository
      • Βασικές εντολές
  2. Εργαστήριο 2 - Εισαγωγή στο Docker
    • Docker - Βασικές έννοιες
    • Πλεονεκτήματα και Μειονεκτήματα
    • Εγκατάσταση Docker
    • Εκτέλεση εφαρμογών
    • Docker containers networking
    • Docker Hub
  3. Εργαστήριο 3 - MongoDB και Flask 1/2
  4. Εργαστήριο 4 - MongoDB και Flask 2/2
  5. Εργαστήριο 5 - Containerization
  6. Extra Εργαστήριο - Scaling στο Docker

Python 3

Προτείνεται η χρήση της διανομής Anaconda. Παρακάτω μπορείτε να βρείτε και τα link για να κατεβάσετε τη Python:

Εγκατάσταση Anaconda:

Για χρήστες Windows: Κατά την εγκατάσταση προτείνεται η επιλογή της εισαγωγής της Anaconda στο system PATH. Εναλλακτικά θα πρέπει να την εισάγεται χειροκίνητα όπως παρακάτω:

  1. Ανοίγουμε το CMD με δικαιώματα Διαχειριστή
  2. Βρίσκουμε που έχει εγκατασταθεί η Python με την εντολή: where python
  3. Κάνουμε copy το path και εκτελούμε την εντολή: set PATH=python_path;%PATH%
    • Όπου python_path είναι το path της εγκατάστασης της Python που βρήκαμε στο βήμα 2

Γενικές έννοιες:

  • Τα αρχεία Python πρέπει να έχουν πάντα τη κατάληξη .py: file_name.py
Python Virtual Environments

Ένα Python Virtual Environment είναι εργαλείο που βοηθάει στη διατήρηση των dependencies που απαιτούνται από διαφορετικές εφαρμογές.

virtualenv

  • Πρέπει πρώτα να γίνει εγκατάσταση του virtualenv: pip install virtualenv
  • Δημιουργία Virtual Environment: virtualenv venv_name
  • Ενεργοποίηση περιβάλλοντος: source path/to/venv_name activate
  • Απενεργοποίηση περιβάλλοντος: deactivate

conda environment

  • Δημιουργία Conda περιβάλλοντος: conda create --name conda_env
  • Ενεργοποίηση περιβάλλοντος: conda activate conda_env
  • Απενεργοποίηση περιβάλλοντος: conda deactivate
Εγκατάσταση βιβλιοθηκών και πακέτων

Πρέπει να έχετε εγκαταστήσει το pip.

  • Mπορείτε να εγκαταστήσετε και να χρησιμοποιήσετε βιβλιοθήκες απλά εκτελώντας την εντολή:
    • pip install packagename
    • Μόνο για χρήστες Anaconda:
      • conda install packagename
      • Σημείωση: Δεν είναι όλα τα packages διαθέσιμα στο conda!
      • Αν θέλουμε να κάνουμε εγκατάσταση κάτι μέσω pip Anacona Virtual Environment μας πρώτα κάνουμε εγκατάσταση το pip στο environment και μετά κατεβάζουμε τα packages που θέλουμε:
        1. conda install pip
        2. pip install packagename

Όταν τις κάνουμε εγκατάσταση σε κάποιο περιβάλλον, μπορούμε να τις εισάγουμε σε κάποιο πρόγραμμά μας έτσι: import package_name

Αν θέλουμε να κάνουμε εγκατάσταση ένα package σε ένα virtual environment πρέπει πρώτα να το ενεργοποιήσουμε!

Εγκατάσταση και Export requirement
  • Τα requirement είναι οι βιβλιοθήκες που είναι αναγκαίες για να λειτουργήσει το python project μας.
  • Για να τα κάνουμε export σε ένα αρχείο χρησιμοποιούμε την εντολή:
    • pip freeze > requirements.txt
    • Μόνο για χρήστες Anaconda: conda list --export > requirements.txt
  • Για νά κάνουμε εγκατάσταση τα requirement από ένα αρχείο χρησιμοποιούμε την εντολή:
    • pip install -r requirements.txt
    • Μόνο για χρήστες Anaconda: conda install --file requirements.txt

Docker

Εγκατάσταση Docker

Απαιτήσεις συστήματος:

Hardware:

  • 64-bit processor με Second Level Address Translation (SLAT)
  • 4GB system RAM
  • BIOS-level hardware virtualization support πρέπει να είναι ενεργοποιημένο στις ρυθμίσεις του BIOS (συνήθως είναι ήδη activated)

Εγκατάσταση στα Windows:

  • Πρέπει να έχετε Windows 10 Pro, Windows 10 Student edition - Σε Windows Home δεν θα μπορέσει να γίνει εγκατάσταση σωστά
  • Πρέπει επίσης να είναι ενεργοποιημένα τα:
    • Hyper-V
    • Containers Windows Features
  • Κατεβάζετε το εκτελέσιμο αρχείο από εδώ: https://hub.docker.com/editions/community/docker-ce-desktop-wind ows

Εγκατάσταση στα Linux (Ubuntu):

  • Αρκεί να εκτελέσετε τις παρακάτω εντολές στο terminal:
    • sudo apt-get update
    • sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    • curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    • sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    • sudo apt-get update
    • sudo apt install docker-ce

Βασικές εντολές Docker

  • Προβολή λίστας με όλα τα images που έχουμε τοπικά στον υπολογιστή μας: docker images
  • Εμφάνιση λίστας με όλα τα container που έχουμε στον υπολογιστή μας: docker ps -a
  • Δημιουργία και εκτέλεση container (Αν δεν υπάρχει ήδη τοπικά στον υπολογιστή, θα γίνει και κατέβασμα): docker run image_name --name friendly_name -p HOST_PORT:DOCKER_PORT
  • Εκτέλεση εντολών μέσα σε ένα container: docker exec friendly_name
  • Παύση ενός container: docker stop friendly_name
  • Αφαίρεση ενός σταματημένου container: docker rm friendly_name
  • Διαγραφή ενός image από τον υπολογιστή (αφού πρώτα έχει διαγραφεί το container που το χρησιμοποιεί): docker rmi image_name
  • Εμφάνιση low-level πληροφοριών για ένα container: docker inspect friendly_name
  • Εμφάνιση log για ένα container: docker log friendly_name
  • Build από Dockerfile: docker build -t image_name .
    • . στο τέλος βάζουμε αν το Dockerfile είναι στο ίδιο μέρος με το path που έχουμε στο terminal.
    • Ενναλακτικά, αντικαθιστούμε το . με το path για το Dockerfile

Δημιουργία Dockerfile

Προσοχή: Το Dockerfile δεν έχει κάποιο extension!

Linux:

  • Για να το δημιουργήσουμε πρέπει να εκτελέσουμε τη παρακάτω εντολή στο terminal: touch Dockerfile

Windows:

  • Δημιουργούμε ένα κενό txt αρχείο (πχ στο Notepad) και το αποθηκεύουμε χωρίς extension:
    • File / Save as / File name: Dockerfile
    • Και επιλέγουμε Save as type: All Files (*.*)

Βασικές εντολές που θα χρησιμοποιήσουμε σε ένα Dockerfile:

  • Ποια είναι η base image που χρησιμοποιείται (πρέπει πάντα να υπάρχει σε ένα Dockerfile και το βάζουμε στη πρώτη γραμμή): FROM ubuntu:16.04
  • Όνομα και email του maintainer του image: MAINTAINER name <[email protected]>
  • Αντιγραφή αρχείων από τον host στο container: COPY filename /dir/to/docker/container
  • Προεπιλογές για την εκτέλεση ενός container: CMD command
  • Εκτέλεση εντολών μέσα στο container: RUN command
  • Ποιες port κάνει expose το container: EXPOSE 80/tcp
  • Κάνουμε set τον χρήστη: USER username
  • Τρέχει όταν ξεκινήσει το container: ENTRYPOINT [“executable”,”param1”,”param2”]

Στοιχεία επικοινωνίας

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].