Parallel and Asynchronous Programming - ITProDevConnections 2012 (English)Panagiotis Kanavos
This document discusses parallel and asynchronous programming. It begins by explaining how processors are getting smaller while networks are getting worse, requiring more efficient parallel programming approaches. It then covers different parallel programming models in .NET like data parallelism using PLINQ, task parallelism using TPL, asynchronous programming with async/await, and concurrent collections. It also discusses challenges like cancellation, progress reporting, and synchronization, and how modern .NET addresses these.
The document is a notice for an after school program at East Hills Village for the 2011-2012 school year. It thanks the students for a great school year and reminds them that the program will resume on June 11th. The students are called "rockstars" and it appears a teacher named Mr. Buddy is complimented on his appearance.
Pisanie wnioskow unijnych w 10-ciu krokachKonrad Habit
Zanim zabierzesz się za pisanie swojego wniosku o dotacje upewnij się, że znasz odpowiedzi na poniższe zagadnienia.
To pozwoli Ci znacznie skrócić czas przygotowania wniosku oraz zagwarantuje sukces Twojej inwestycji. Więcej informacji znajdziesz na http://fedis.pl/pisanie-wnioskow-unijnych-w-10-krokach/
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)Panagiotis Kanavos
This document discusses parallel and asynchronous programming using the Task Parallel Library (TPL) in .NET. It covers how processors are getting smaller so parallelism is important. It provides examples of using TPL for data parallelism by partitioning work over collections and task parallelism by breaking work into steps. It also discusses asynchronous programming with async/await and how TPL handles cancellation, progress reporting, and synchronization contexts.
Pithos is an object storage service similar to Amazon S3 that is written in Python. It has clients for various platforms that communicate with its REST API based on the OpenStack Object Storage API. The Pithos client is a .NET application that synchronizes local folders to Pithos accounts. It handles file events asynchronously using multiple agents to avoid hanging, while efficiently hashing and uploading/downloading large files over unstable networks.
Parallel and Asynchronous Programming - ITProDevConnections 2012 (English)Panagiotis Kanavos
This document discusses parallel and asynchronous programming. It begins by explaining how processors are getting smaller while networks are getting worse, requiring more efficient parallel programming approaches. It then covers different parallel programming models in .NET like data parallelism using PLINQ, task parallelism using TPL, asynchronous programming with async/await, and concurrent collections. It also discusses challenges like cancellation, progress reporting, and synchronization, and how modern .NET addresses these.
The document is a notice for an after school program at East Hills Village for the 2011-2012 school year. It thanks the students for a great school year and reminds them that the program will resume on June 11th. The students are called "rockstars" and it appears a teacher named Mr. Buddy is complimented on his appearance.
Pisanie wnioskow unijnych w 10-ciu krokachKonrad Habit
Zanim zabierzesz się za pisanie swojego wniosku o dotacje upewnij się, że znasz odpowiedzi na poniższe zagadnienia.
To pozwoli Ci znacznie skrócić czas przygotowania wniosku oraz zagwarantuje sukces Twojej inwestycji. Więcej informacji znajdziesz na http://fedis.pl/pisanie-wnioskow-unijnych-w-10-krokach/
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)Panagiotis Kanavos
This document discusses parallel and asynchronous programming using the Task Parallel Library (TPL) in .NET. It covers how processors are getting smaller so parallelism is important. It provides examples of using TPL for data parallelism by partitioning work over collections and task parallelism by breaking work into steps. It also discusses asynchronous programming with async/await and how TPL handles cancellation, progress reporting, and synchronization contexts.
Pithos is an object storage service similar to Amazon S3 that is written in Python. It has clients for various platforms that communicate with its REST API based on the OpenStack Object Storage API. The Pithos client is a .NET application that synchronizes local folders to Pithos accounts. It handles file events asynchronously using multiple agents to avoid hanging, while efficiently hashing and uploading/downloading large files over unstable networks.
59ο DotNetZone event - Το Azure δεν είναι χορτοφάγο.
Το Azure είναι κατάλληλο:
- Για φτηνό Hosting
- Μόνο για startups
- Για περιστασιακή χρήση
- Να σηκώσει ολόκληρη την παραγωγή οποιασδήποτε επιχείρησης
Μόνο μία απάντηση είναι σωστή. Κι όμως, οι περισσότερες εισαγωγικές παρουσιάσεις για Azure δίνουν την αντίθετη εντύπωση, ακόμα και ότι για σοβαρές εγκαταστάσεις καλύτερες είναι ... Antagonistikes Υπηρεσίες.
Ξεκινώντας από ένα όχι και τόσο υποθετικό παράδειγμα, ενός online travel agency του ευρωπαϊκού Top ten, θα δούμε:
- Ποιες είναι οι ανάγκες μιας επιχείρησης
- Πως καλύπτονται από τις υπηρεσίες που παρέχει το Azure
- Πως συγκρίνεται το Azure με Antagonistikes Υπηρεσίες.
This is a very short presentation in Greek, dealing with Document Management Systems based on J2EE technology. Presented to Greek Free / Open Source Software Society(GFOSS) Open Days for developers.
Φανταστείτε αν αντί να κοιτάτε τα logs ενός ecommerce site το βράδυ για να δείτε ότι κάποιος "τα σήκωσε", μπορούσατε να δείτε σε πραγματικό χρόνο τι συμβαίνει. Και με πιτάκια. Γιατί τα events δεν είναι μόνο για IoT
Pantelidou Eirini: Design and development of a system for incremental static ...Manos Tsardoulias
Nowadays software technology has made great progress. A detailed Internet research revealed that, there are open source software repositories (GitHub), which contain a plethora of software projects and most of them have a high level of complexity. As we refer to open source software products, we realize that these are projects, which are continuously changing in real-time, both in the number and content of their source code files. Therefore, the scheduled quality control of the entire project from the beginning, once a day or week is not enough, because delays the feedback of the developers. Generally, static analysis aims to detect and report to the developer code errors, bugs, security vulnerabilities and violations of programming rules. But every developer needs to know, how every change of a file affects the total quality of the software project. This purpose is served by static analysis with the production of quality metrics. The need for timely knowledge of the quality change of the software project, led to the realization of this diploma thesis, which aims to calculate the static analysis metrics only of changing code files and not the entire software project from the beginning. Thus, a system was designed, which directly isolates the changing and affected files from all files in the repository and then using a static analysis mechanism, extracts the new values of quality metrics exclusively for changing files. The results of the use of this system show that, it contributes dynamically to the continuous quality control of software projects, as it provides immediate and targeted information about the changes. Also, enables to time and resource savings and helps in the quality optimization of the products, as it prevents the developer from the wasteful building of software project on non-quality code parts.
The Server-SIde Story: Παράλληλος και ασύγχρονος προγραμματισμός στο .NET - I...Panagiotis Kanavos
Πως διαφέρει ο παράλληλος και ασύγχρονος προγραμματισμός στο Server και ποιές τεχνολογίες του .NET μας επιτρέπουν να πετύχουμε μεγάλο throughput και να αποφύγουμε meltdowns?
1st StudentGuru Live Meeting | Imagine Cup 2011 | IT Challenge SupportAlexandros Sigaras
Presentation Slides from the 1st StudentGuru Live Meeting focused on the Imagine Cup 2011 IT Challenge competition
Video: https://vimeo.com/16566834
Presenters: Alexandros Sigaras, Iraklis Psaroudakis
Language: Greek
Μιχάλης Σφακάκης (Εθνικό Κέντρο Τεκμηρίωσης): "Συλλογικοί Κατάλογοι & Διαδίκτυο"
Στο πλαίσιο της υλοποίησης του έργου "Συλλογικός Κατάλογος Δημοσίων Βιβλιοθηκών" πραγματοποιήθηκε η ημερίδα με θέμα:
¨Συνεργασίες λαϊκών βιβλιοθηκών
Εργαλεία, πρότυπα και συλλογικοί κατάλογοι"
Λιβαδειά, Συνεδριακό Κέντρο Κρύας - 24 Νοεμβρίου 2006
Εισήγηση κατά την Ημερίδα του ΚΕΠΛΗΝΕΤ Φθιώτιδας στις 13/3/2013 στη Λαμία από τον Χρήστο Θεοδώρου, Τεχνικό Υπεύθυνο του ΚΕΠΛΗΝΕΤ με θέμα "Εργαστήριο σε <Κρίση>"
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
Το διευρυµένο τοπίο του λογισµικού ανοιχτού κώδικα OSS αποδεικνύει την αυξανόµενη παραγωγική δραστηριότητα των µηχανικών λογισµικού που συνεισφέρουν σε πολλαπλές πλατφόρµες και διάφορα έργα λογισµικού. Η συµµετοχή τους σε αυτά τα έργα αναδεικνύει το ευρύ ϕάσµα των δεξιοτήτων τους, από τη συγγραφή κώδικα έως τη συνεργασία τους µε άλλους µηχανικούς λογισµικού. Καθώς στο οικοσύστηµα του λογισµικού ανοιχτού κώδικα υπάρχει µια διαρκής και συνεχώς αυξανόµενη δραστηριότητα, είναι πολύ σηµαντική µια πιο ολοκληρωµένη κατανόηση των συνεισφορών και των δεξιοτήτων των µηχανικών λογισµικού. Σκοπός της παρούσας διπλωµατικής είναι να αξιοποιήσει δεδοµένα από την υποδοµή World of Code (WoC) που περιέχει συγκεντρωµένα δεδοµένα από τα περισσότερα δη µόσια συστήµατα ελέγχου εκδόσεων για να παρέχει µια πιο ολοκληρωµένη εικόνα του προφίλ ενός µηχανικού λογισµικού. Εξάγοντας, αναλύοντας και οπτικοποιώντας αυτά τα δεδοµένα, αναπτύχθηκε µια εφαρµογή που παρουσιάζει µια περιεκτική επισκόπηση των δραστηριοτήτων ενός µηχανικού στα έργα λογισµικού ανοικτού κώδικα. Η οπτική αναπαράσταση των δεδοµένων, µετατρέπει πολύπλοκα σύνολα δεδοµένων σε εύκολα κατανοητές γραφικές µορφές. Η αξιολόγηση της εφαρµογής σε ένα σύνολο µηχανικών λογισµικού δείχνει ότι πετυχαίνει τους στόχους της. Προσφέρει µια εικόνα της δραστηριότητας, του ϱόλου και των τεχνικών δεξιοτήτων ενός µηχανικού, ενισχύοντας τη διαφάνεια και την κατανόηση της συνεισφοράς του στο οικοσύστηµα του OSS.
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetupIoannis Konstantinou
Μια σύντομη εισαγωγή στο προγραμματιστικό μοντέλο mapreduce, με παραδείγματα, στην αρχιτεκτονική του hadoop, της υποδομής πάνω από την οποία εκτελείται το hadoop και του προγράμματος Mahout, μιας βιβλιοθήκης από machine learning αλγορίθμους (clustering, classification, collaborative filtering, κλπ) υλοποιημένης πάνω από hadoop
Εμπλουτισμένη εισήγηση κατά την Ημερίδα του ΚΕΠΛΗΝΕΤ Φθιώτιδας στις 13/3/2013 στη Λαμία από τον Χρήστο Θεοδώρου, Τεχνικό Υπεύθυνο του ΚΕΠΛΗΝΕΤ με θέμα "Εργαστήριο σε <Κρίση>"
59ο DotNetZone event - Το Azure δεν είναι χορτοφάγο.
Το Azure είναι κατάλληλο:
- Για φτηνό Hosting
- Μόνο για startups
- Για περιστασιακή χρήση
- Να σηκώσει ολόκληρη την παραγωγή οποιασδήποτε επιχείρησης
Μόνο μία απάντηση είναι σωστή. Κι όμως, οι περισσότερες εισαγωγικές παρουσιάσεις για Azure δίνουν την αντίθετη εντύπωση, ακόμα και ότι για σοβαρές εγκαταστάσεις καλύτερες είναι ... Antagonistikes Υπηρεσίες.
Ξεκινώντας από ένα όχι και τόσο υποθετικό παράδειγμα, ενός online travel agency του ευρωπαϊκού Top ten, θα δούμε:
- Ποιες είναι οι ανάγκες μιας επιχείρησης
- Πως καλύπτονται από τις υπηρεσίες που παρέχει το Azure
- Πως συγκρίνεται το Azure με Antagonistikes Υπηρεσίες.
This is a very short presentation in Greek, dealing with Document Management Systems based on J2EE technology. Presented to Greek Free / Open Source Software Society(GFOSS) Open Days for developers.
Φανταστείτε αν αντί να κοιτάτε τα logs ενός ecommerce site το βράδυ για να δείτε ότι κάποιος "τα σήκωσε", μπορούσατε να δείτε σε πραγματικό χρόνο τι συμβαίνει. Και με πιτάκια. Γιατί τα events δεν είναι μόνο για IoT
Pantelidou Eirini: Design and development of a system for incremental static ...Manos Tsardoulias
Nowadays software technology has made great progress. A detailed Internet research revealed that, there are open source software repositories (GitHub), which contain a plethora of software projects and most of them have a high level of complexity. As we refer to open source software products, we realize that these are projects, which are continuously changing in real-time, both in the number and content of their source code files. Therefore, the scheduled quality control of the entire project from the beginning, once a day or week is not enough, because delays the feedback of the developers. Generally, static analysis aims to detect and report to the developer code errors, bugs, security vulnerabilities and violations of programming rules. But every developer needs to know, how every change of a file affects the total quality of the software project. This purpose is served by static analysis with the production of quality metrics. The need for timely knowledge of the quality change of the software project, led to the realization of this diploma thesis, which aims to calculate the static analysis metrics only of changing code files and not the entire software project from the beginning. Thus, a system was designed, which directly isolates the changing and affected files from all files in the repository and then using a static analysis mechanism, extracts the new values of quality metrics exclusively for changing files. The results of the use of this system show that, it contributes dynamically to the continuous quality control of software projects, as it provides immediate and targeted information about the changes. Also, enables to time and resource savings and helps in the quality optimization of the products, as it prevents the developer from the wasteful building of software project on non-quality code parts.
The Server-SIde Story: Παράλληλος και ασύγχρονος προγραμματισμός στο .NET - I...Panagiotis Kanavos
Πως διαφέρει ο παράλληλος και ασύγχρονος προγραμματισμός στο Server και ποιές τεχνολογίες του .NET μας επιτρέπουν να πετύχουμε μεγάλο throughput και να αποφύγουμε meltdowns?
1st StudentGuru Live Meeting | Imagine Cup 2011 | IT Challenge SupportAlexandros Sigaras
Presentation Slides from the 1st StudentGuru Live Meeting focused on the Imagine Cup 2011 IT Challenge competition
Video: https://vimeo.com/16566834
Presenters: Alexandros Sigaras, Iraklis Psaroudakis
Language: Greek
Μιχάλης Σφακάκης (Εθνικό Κέντρο Τεκμηρίωσης): "Συλλογικοί Κατάλογοι & Διαδίκτυο"
Στο πλαίσιο της υλοποίησης του έργου "Συλλογικός Κατάλογος Δημοσίων Βιβλιοθηκών" πραγματοποιήθηκε η ημερίδα με θέμα:
¨Συνεργασίες λαϊκών βιβλιοθηκών
Εργαλεία, πρότυπα και συλλογικοί κατάλογοι"
Λιβαδειά, Συνεδριακό Κέντρο Κρύας - 24 Νοεμβρίου 2006
Εισήγηση κατά την Ημερίδα του ΚΕΠΛΗΝΕΤ Φθιώτιδας στις 13/3/2013 στη Λαμία από τον Χρήστο Θεοδώρου, Τεχνικό Υπεύθυνο του ΚΕΠΛΗΝΕΤ με θέμα "Εργαστήριο σε <Κρίση>"
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
Το διευρυµένο τοπίο του λογισµικού ανοιχτού κώδικα OSS αποδεικνύει την αυξανόµενη παραγωγική δραστηριότητα των µηχανικών λογισµικού που συνεισφέρουν σε πολλαπλές πλατφόρµες και διάφορα έργα λογισµικού. Η συµµετοχή τους σε αυτά τα έργα αναδεικνύει το ευρύ ϕάσµα των δεξιοτήτων τους, από τη συγγραφή κώδικα έως τη συνεργασία τους µε άλλους µηχανικούς λογισµικού. Καθώς στο οικοσύστηµα του λογισµικού ανοιχτού κώδικα υπάρχει µια διαρκής και συνεχώς αυξανόµενη δραστηριότητα, είναι πολύ σηµαντική µια πιο ολοκληρωµένη κατανόηση των συνεισφορών και των δεξιοτήτων των µηχανικών λογισµικού. Σκοπός της παρούσας διπλωµατικής είναι να αξιοποιήσει δεδοµένα από την υποδοµή World of Code (WoC) που περιέχει συγκεντρωµένα δεδοµένα από τα περισσότερα δη µόσια συστήµατα ελέγχου εκδόσεων για να παρέχει µια πιο ολοκληρωµένη εικόνα του προφίλ ενός µηχανικού λογισµικού. Εξάγοντας, αναλύοντας και οπτικοποιώντας αυτά τα δεδοµένα, αναπτύχθηκε µια εφαρµογή που παρουσιάζει µια περιεκτική επισκόπηση των δραστηριοτήτων ενός µηχανικού στα έργα λογισµικού ανοικτού κώδικα. Η οπτική αναπαράσταση των δεδοµένων, µετατρέπει πολύπλοκα σύνολα δεδοµένων σε εύκολα κατανοητές γραφικές µορφές. Η αξιολόγηση της εφαρµογής σε ένα σύνολο µηχανικών λογισµικού δείχνει ότι πετυχαίνει τους στόχους της. Προσφέρει µια εικόνα της δραστηριότητας, του ϱόλου και των τεχνικών δεξιοτήτων ενός µηχανικού, ενισχύοντας τη διαφάνεια και την κατανόηση της συνεισφοράς του στο οικοσύστηµα του OSS.
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetupIoannis Konstantinou
Μια σύντομη εισαγωγή στο προγραμματιστικό μοντέλο mapreduce, με παραδείγματα, στην αρχιτεκτονική του hadoop, της υποδομής πάνω από την οποία εκτελείται το hadoop και του προγράμματος Mahout, μιας βιβλιοθήκης από machine learning αλγορίθμους (clustering, classification, collaborative filtering, κλπ) υλοποιημένης πάνω από hadoop
Εμπλουτισμένη εισήγηση κατά την Ημερίδα του ΚΕΠΛΗΝΕΤ Φθιώτιδας στις 13/3/2013 στη Λαμία από τον Χρήστο Θεοδώρου, Τεχνικό Υπεύθυνο του ΚΕΠΛΗΝΕΤ με θέμα "Εργαστήριο σε <Κρίση>"
4. Client API
REST βαςιςμϋνο ςτο OpenStack Object
Storage API
Accounts, Containers χωρύσ Folders
GET για data, object info
PUT, POST για upload και update data
7. Χαρακτηριςτικά API
Δεν υπϊρχουν folders
Placeholder directory object για metadata
Block updates ΜΟΝΟ
Merkle hashing για εντοπιςμό αλλαγμϋνων
block
Χρόςη SHA256
8. Merkle Hashing
Top Hash
Hash of #1- Hash of #2-
2 Hashes 3 Hashes
Block #1 Block #2 Block #3 Block #4
Hash Hash Hash Hash
9. Διαδικαςία Download
Get Hashmap Calculate local Find different
from server hashmap blocks
Download Patch local file
blocks with blocks
10. Διαδικαςία Upload
Server responds
Calculate local
PUT to server with missing
hashmap
block hashes
PUT missing
Server responds
blocks at Repeat from #2
201
container level
11. Pithos Client
Πολλαπλϊ accounts ανϊ μηχϊνημα
υγχρονιςμόσ τοπικού folder με account
ςτον Πύθο
Εντοπιςμόσ τοπικών αλλαγών και upload
Εντοπιςμόσ αλλαγών ςτο server και
download
Τπολογιςμόσ Merkle Hash για κϊθε αρχεύο
12. Η αρχιτεκτονική
UI Core Networking Storage
WPF File Agent
CloudFiles SQLite
Poll Agent
MVVM
Network
Agent
SQL Server
Caliburn HttpClient
Compact
Micro Status Agent
13. Τεχνολογίεσ
.ΝΕΣ 4, εξαιτύασ των Windows XP
Visual Studio 2012 + Async Targeting Pack
UI - Caliburn.Micro
Concurrency - TPL, Parallel, Dataflow
Network – HttpClient
Hashing - OpenSSL - Σαχύτερο του native
provider για hashing
Storage - NHibernate, SQLite/SQL Server
Compact
Logging - log4net
14. Οι προκλήςεισ
Χειριςμόσ πιθανόσ εκατοντϊδων file events
Hashing πολλών/μεγϊλων αρχεύων
Πολλαπλϋσ αργϋσ κλόςεισ ςτο server
Αςταθϋσ δύκτυο
Παρόλαυτα να μην κολλϊει
Minimal UI με επαρκεύσ πληροφορύεσ
15. Χειριςμόσ Events
Poll Agent Uploader/Downloader
• Listen • Queue requests
• Wait for Idle • Get Server • Process each file • Network ops for
hashes files
• Compare hashes
• Identify changes
File Agent Network Agent
16. Χειριςμόσ Events (2)
Χρόςη producer/consumer
Αποθόκευςη των events ςε
ConcurrentQueue
Επεξεργαςύα ΜΟΝΟ μετϊ από timeout
18. Memory Leaks ςε Managed
Environment!
4ΜΒ Blocks? Large Memory αλλϊ …
Γρόγορο διϊβαςμα 2GB ανϊ 64ΚΒ
Κατϋβαςμα 600ΜΒ ανϊ x KBs
Σρελόσ αριθμόσ αντικειμϋνων που περιμϋνει
collection κατϊ τη διϊρκεια CPU/IO intensive
processing
Που να προλϊβει ο Garbage Collector!
19. Hashing 100% CPU?
Καλό το multicore αλλϊ
Μπλοκϊρει το ςύςτημα για μεγϊλα αρχεύα!
Επιλογό για περιοριςμό των παρϊλληλων
block hash ops
Βελτιώςεισ:
Περιοριςμόσ για «μεγϊλα» αρχεύα
«Throttling» του File Read
20. Πολλαπλέσ αργέσ κλήςεισ
Κϊθε κλόςη ϋνα Task
Σαυτόχρονα REST calls ανϊ account και
shares
Task.WhenAll για να επεξεργαςτούμε όλα τα
αποτελϋςματα
21. Αςταθέσ Δίκτυο
Χρόςη System.Net.Http.HttpClient
Αποθόκευςη των blocks ςε cache
Έλεγχοσ για orphans
Αςύγχρονο Retry των κλόςεων
22. Αντοχή ςε ςκαςίματα
Χρόςη Transactional NTFS αν εύναι
διαθϋςιμο
Thanks MS for killing it!
Σροποπούηςη αντιγρϊφων και File.Replace
διαφορετικϊ
23. Να μην κολλάει
Χρόςη ανεξϊρτητων agents
Asynchronous operations όπου εύναι δυνατόν
Χρόςη async/await για πιο κατανοητό
κώδικα
Απαραύτητο το .ConfigureAwait(false)!
ΠΡΟΟΧΗ ςτο async void
24. Minimal UI
Χρόςη WPF, MVVM
Χρόςη Progress για την ενημϋρωςη του UI
Ενςωματωμϋνο ςτο .NET 4.5, αντιγραφό ςτο 4
To Shell εύναι το Icon!
Έλλειψη WPF Notification Icon
Προβληματικό Data Binding ςε menu
25. SQLite ή Compact CE?
Αρχικϊ SQLite -> Προβλόματα ςυγχρονιςμού
(DUH !)
Write Ahead logging, ςημαύνει ότι φαύνονται
παλιότερα δεδομϋνα
Αλλαγό ςε SQL Compact λόγω προβλημϊτων
ςυγχρονιςμού (duh ?)
Μόπωσ ϋπρεπε να ϋχουμε κϊποιο καλύτερο
caching?
Akavache?
Μύα Document DB θα όταν προτιμότερη
26. Επόμενα Βήματα
Δημιουργύα File Manager
Γενικό Καθϊριςμα (DUH!)
Επαναφορϊ των Unit Tests (Duh ?)
Mock Server
WebAPI? scriptcs? Yumm!
Δημιουργύα ανεξϊρτητου Pithos library
Windows RT, Windows Phone clients
ΜΕΣΑ το καθϊριςμα
27. Links για Πίθο
Pithos trial
http://pithos.okeanos.io
Synnefo Documentation
http://www.synnefo.org/docs/synnefo/latest/ind
ex.html
Pithos API Documentation
http://www.synnefo.org/docs/pithos/latest/index
.html
Pithos Windows Client
https://code.grnet.gr/projects/pithos-ms-client
28. Χρήςιμα Links
Parallel FX Team blog
http://blogs.msdn.com/b/pfxteam
Caliburn.Micro
http://caliburnmicro.codeplex.com/
Ayende’s BufferPool
http://ayende.com/blog/4827/answer-
stopping-the-leaks
29. Χρήςιμα Βιβλία
C# 5 in a Nutshell, O’Riley
Parallel Programming with .NET, Microsoft
• Pro Parallel Programming with C#, Wiley
• Concurrent Programming on
Windows, Pearson
• The Art of Concurrency, O’Reilly