Αναπτύσσοντας developer tools στην Αpple. Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ

Σχετικά έγγραφα
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Ανάπτυξη εφαρμογής Android και IOS σε περιβάλλον Flash. ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ

Digital Academy. Εισαγωγή στην ανάπτυξη Android Εφαρμογών

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Λειτουργικά Συστήματα. Εισαγωγή

05β Η ιδεατή μηχανή της Java

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Application... 4 Java Development Kit... 4 Android SDK... 5 Android Studio... 6 Genymotion... 8 ια ο Web Panel... 10

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

N300. Οδηγίες χρήσης. 8820nt01320gr Rev. A00

Writing kernels for fun and profit

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΠΑΡΑΡΤΗΜΑ Β. Verification

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Διάλεξη 17: Έλεγχος Λογισμικού

Εισαγωγικό Φροντιστήριο

ΠΛΗΡΟΦΟΡΙΚΉ. Μάθημα 6

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Introduction to Java. Getting started, Java Basics. Prepared by Costantinos Costa for EPL 233. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1

Python και Android. Νίκος Νοδαράκης. 17 Μαΐου 2010

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Προγραμματισμός Συστημάτων

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

Εισαγωγή στη Χρήση της Εφαρµογής Compaq Visual Fortran & του Microsoft Developer Studio

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

Συσκευή προβολής P502HL/P502WL. Εγχειρίδιο χρήσης. Model No. NP-P502HL, NP-P502WL

Εισαγωγή στον Προγραμματισμό

Επιμέλεια: Μαργαρίτα Ρουγγέρη Επιβλέπων: Γεώργιος Στυλιαράς Πληροφορική Πολυμέσα ΓΤΠ61 4 η Εργασία 2011

Εισαγωγή ΕΙΣΑΓΩΓΗ. Γεώργιος Παπαϊωάννου ( )

Μετάφραση ενός Προγράμματος Εξαιρέσεις

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android

Δημιουργώντας κώδικα για ολιστική επεξεργασία επερωτήσεων

Δομημένος Προγραμματισμός

SocialSkip Service v2.0

Εισαγωγή στον Προγραµµατισµό. Χειµερινό Εξάµηνο 2014

MacBook Pro. Οδηγός σημαντικών πληροφοριών για το προϊόν

ΔΗΜΙΟΥΡΓΙΑ & ΧΡΗΣΗ ΒΙΒΛΙΟΘΗΚΩΝ

Εισαγωγή στην πληροφορική -4

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Tο περιβάλλον Code::Blocks

Οδηγίες εγκατάστασης και χρήσης του Quartus

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

(Ψηφιακοί)Υπολογιστές ENIAC Πληροφορική και Υπολογιστές. ΕΠΛ 031: Εισαγωγή στον (FORTRAN) Γιώργος Χρυσάνθου. Ποτε? ~1940 ΕΝΙΑC. Γιατι?

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Υλοποίηση εφαρμογής information aggregator για πληροφορίες σχετικές με το τμήμα ΤΠΤ σε πλατφόρμα Apple ios.

Λογισµικό (Software SW) Γλώσσες

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

SocialSkip Service v1.0

Οδηγίες Εγκατάστασης και χρήσης προγραμμάτων για την γλώσσα C

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 5: Λογισμικό - Software

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

1. Πώς να καταχωρίσετε την Κάμερα στο λογαριασμό Hubble

TaxiCounter Android App. Περδίκης Ανδρέας ME10069

Επιτεύγµατα των Λ.Σ.

ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ

Εγκατεστημένα Προγράμματα στο pleiades/zafora.icte.uowm.gr

Δομημένος Προγραμματισμός

ΕΙΣΑΓΩΓΗ. Στόχοι του μαθήματος

Περιγραφή Μαθήματος ΠΕΡΙΓΡΑΦΗ ΜΑΘΗΜΑΤΟΣ. Γεώργιος Παπαϊωάννου ( )

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στο Flex. Μεταγλωττιστές, Χειμερινό εξάμηνο

Προηγμένοι Μικροεπεξεργαστές. Παρουσίαση Projects

Εισαγωγή Βασικές εντολές Εκτέλεση βήµα-βήµα Εξέταση/Ανάθεση GDB-101. Νίκος Ντάρµος Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Οδηγός γρήγορης έναρξης

Εφαρµογές WebGIS Open Source

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Οντοκεντρικός Προγραμματισμός

Διπλωματική Εργασία. Μουσικές Εφαρμογές σε Περιβάλλον Κινητών Συσκευών Android με Χαρακτηριστικά Εξατομίκευσης

Κεφάλαιο : Εισαγωγή στην C: (Διαλέξεις 3-4)

Lab 2 Manual - Introduction to Xilinx

Οδηγός Χρήσης Microsoft Office365 & OneDrive for Business Πανεπιστημίου Κύπρου

ΠΑΡΑΡΤΗΜΑ ΓΡΕΒΕΝΩΝ ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

03 Τεχνική διαχείριση έργων λογισμικού

Τεχνολογία Λογισμικού

HTML HTML5...CSS

Διάλεξη 1: Αντικειμενοστρεφής Προγραμματισμός -Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Journal of the Graduate School of the Chinese Academy of Sciences. Application Dependent Software. Standard Application Components.

ΔΗΜΙΟΥΡΓΙΑMOBILE ΕΦΑΡΜΟΓΩΝ ΓΙΑ ANDROID ΣΥΣΚΕΥΕΣ ΜΕ APPINVENTOR

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Πληροφορική και Υπολογιστές

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη)

Transcript:

Αναπτύσσοντας developer tools στην Αpple Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ

Apple Inc.

Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες

Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Hardware

Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Hardware imac, Macbook

Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Hardware imac, Macbook ipod, ipod touch

Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Hardware imac, Macbook ipod, ipod touch iphone

Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Hardware imac, Macbook ipod, ipod touch iphone ipad

Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Hardware imac, Macbook ipod, ipod touch iphone ipad 1,000,000 σε 28 μέρες

Apple Inc.

Apple Inc. Aνοιχτό Λογισµικό

Apple Inc. Aνοιχτό Λογισµικό Darwin kernel (Mac OS X)

Apple Inc. Aνοιχτό Λογισµικό Darwin kernel (Mac OS X) MacRuby

Apple Inc. Aνοιχτό Λογισµικό Darwin kernel (Mac OS X) MacRuby Webkit

Apple Inc. Aνοιχτό Λογισµικό Darwin kernel (Mac OS X) MacRuby Webkit Safari, Chrome

Apple Inc. Aνοιχτό Λογισµικό Darwin kernel (Mac OS X) MacRuby Webkit Safari, Chrome iphone, Android, Blackberry

Apple Inc. Aνοιχτό Λογισµικό Darwin kernel (Mac OS X) MacRuby Webkit Safari, Chrome iphone, Android, Blackberry LLVM

Low Level Virtual Machine (LLVM)

Low Level Virtual Machine (LLVM)

Low Level Virtual Machine (LLVM) Compiler framework

Low Level Virtual Machine (LLVM) Compiler framework Optimization προγραµµάτων compile-time link-time run-time

Low Level Virtual Machine (LLVM)

Low Level Virtual Machine (LLVM) University of Illinois at Urbana-Champaign

Low Level Virtual Machine (LLVM) University of Illinois at Urbana-Champaign Open source (http://llvm.org)

Low Level Virtual Machine (LLVM) University of Illinois at Urbana-Champaign Open source (http://llvm.org) BSD-style άδεια χρήσης

Low Level Virtual Machine (LLVM) University of Illinois at Urbana-Champaign Open source (http://llvm.org) BSD-style άδεια χρήσης Χρήση από εταιρίες

Low Level Virtual Machine (LLVM) University of Illinois at Urbana-Champaign Open source (http://llvm.org) BSD-style άδεια χρήσης Χρήση από εταιρίες Αpple, από 2005

Low Level Virtual Machine (LLVM) University of Illinois at Urbana-Champaign Open source (http://llvm.org) BSD-style άδεια χρήσης Χρήση από εταιρίες Αpple, από 2005 Adobe, Nvidia, Cray Inc.,...

Low Level Virtual Machine (LLVM)

Low Level Virtual Machine (LLVM) C/C++ Java Fortran Haskell

Low Level Virtual Machine (LLVM) C/C++ Java Fortran Haskell LLVM IR Optimizations

Low Level Virtual Machine (LLVM) C/C++ Java Fortran Haskell LLVM IR Optimizations Κώδικας µηχανής JIT Interpreter X86 ARM

LLVM IR

LLVM IR Σχεδιασµένο για optimizations

LLVM IR Σχεδιασµένο για optimizations Virtual machine χαµηλού επιπέδου

LLVM IR Σχεδιασµένο για optimizations Virtual machine χαµηλού επιπέδου Άπειροι registers

LLVM IR Σχεδιασµένο για optimizations Virtual machine χαµηλού επιπέδου Άπειροι registers SSA (Static Single Assignment)

LLVM IR

LLVM IR int fn(int x, int y) { return x+y; }

LLVM IR int fn(int x, int y) { return x+y; } define i32 @fn(i32 %x, i32 %y) nounwind { entry: %retval = alloca i32, align 4 ; <i32*> [#uses=2] %x.addr = alloca i32, align 4 ; <i32*> [#uses=2] %y.addr = alloca i32, align 4 ; <i32*> [#uses=2] store i32 %x, i32* %x.addr store i32 %y, i32* %y.addr %tmp = load i32* %x.addr ; <i32> [#uses=1] %tmp1 = load i32* %y.addr ; <i32> [#uses=1] %add = add nsw i32 %tmp, %tmp1 ; <i32> [#uses=1] store i32 %add, i32* %retval %0 = load i32* %retval ; <i32> [#uses=1] ret i32 %0 }

LLVM IR int fn(int x, int y) { return x+y; } define i32 @fn(i32 %x, i32 %y) nounwind readnone { entry: %add = add nsw i32 %y, %x ; <i32> [#uses=1] ret i32 %add }

Clang

Clang C/C++, Objective C/C++, front-end για LLVM

Clang C/C++, Objective C/C++, front-end για LLVM Ξεκίνησε από την Αpple

Clang C/C++, Objective C/C++, front-end για LLVM Ξεκίνησε από την Αpple Open source (http://clang.llvm.org)

Clang C/C++, Objective C/C++, front-end για LLVM Ξεκίνησε από την Αpple Open source (http://clang.llvm.org) Aρχιτεκτονική βασισµένη σε βιβλιοθήκες (libraries)

Στόχοι Clang

Στόχοι Clang C Language Family

Στόχοι Clang C Language Family Parser + AST βιβλιοθήκες

Στόχοι Clang C Language Family Parser + AST βιβλιοθήκες Κώδικα µηχανής µέσω LLVM

Στόχοι Clang C Language Family Parser + AST βιβλιοθήκες Κώδικα µηχανής µέσω LLVM Yποδοµή για source-code εργαλεία (tools)

Στόχοι Clang C Language Family Parser + AST βιβλιοθήκες Κώδικα µηχανής µέσω LLVM Yποδοµή για source-code εργαλεία (tools) Ενσωµάτωση σε IDE (Integrated Development Environment)

Στόχοι Clang C Language Family Parser + AST βιβλιοθήκες Κώδικα µηχανής µέσω LLVM Yποδοµή για source-code εργαλεία (tools) Ενσωµάτωση σε IDE (Integrated Development Environment) Εργαλεία

Στόχοι Clang C Language Family Parser + AST βιβλιοθήκες Κώδικα µηχανής µέσω LLVM Yποδοµή για source-code εργαλεία (tools) Ενσωµάτωση σε IDE (Integrated Development Environment) Εργαλεία GCC συµβατός compiler

Στόχοι Clang C Language Family Parser + AST βιβλιοθήκες Κώδικα µηχανής µέσω LLVM Yποδοµή για source-code εργαλεία (tools) Ενσωµάτωση σε IDE (Integrated Development Environment) Εργαλεία GCC συµβατός compiler Static analyzer

Εφαρμογές Clang

OpenCL

OpenCL Γλώσσα και framework για γενική προγραµµατιστική χρήση GPUs και CPUs

OpenCL Γλώσσα και framework για γενική προγραµµατιστική χρήση GPUs και CPUs Χρήση Clang & LLVM για JIT compilation C κώδικα

OpenCL Γλώσσα και framework για γενική προγραµµατιστική χρήση GPUs και CPUs Χρήση Clang & LLVM για JIT compilation C κώδικα

Clang Static Analyzer

Clang Static Analyzer Eργαλείο για να βρίσκει bugs µετά από ανάλυση του source code

Clang Static Analyzer Eργαλείο για να βρίσκει bugs µετά από ανάλυση του source code Bugs που δεν φαίνονται στα compiler warnings

Clang Static Analyzer Eργαλείο για να βρίσκει bugs µετά από ανάλυση του source code Bugs που δεν φαίνονται στα compiler warnings Memory leaks, logic errors, API violations,...

Clang Static Analyzer

Διαδροµή προς Αpple

Google Summer of Code

Google Summer of Code

Google Summer of Code Καλοκαιρινή εργασία επί πληρωµή

Google Summer of Code Καλοκαιρινή εργασία επί πληρωµή Εργασία από το Internet

Google Summer of Code Καλοκαιρινή εργασία επί πληρωµή Εργασία από το Internet 1000 φοιτητές

Google Summer of Code Καλοκαιρινή εργασία επί πληρωµή Εργασία από το Internet 1000 φοιτητές Προ/µετά-πτυχιακοί

Google Summer of Code Καλοκαιρινή εργασία επί πληρωµή Εργασία από το Internet 1000 φοιτητές Προ/µετά-πτυχιακοί Διδακτορικοί

Google Summer of Code Καλοκαιρινή εργασία επί πληρωµή Εργασία από το Internet 1000 φοιτητές Προ/µετά-πτυχιακοί Διδακτορικοί 150 open source projects

Apple Internship

Clang Indexing Library

Clang Indexing Library Τί είναι Indexing ;

Clang Indexing Library

Clang Indexing Library

Clang Indexing Library

Clang Indexing Library

Clang Indexing Library

Clang Indexing Library

Clang Indexing Library

Clang Libraries Basic Lex Parse Analysis Rewrite Codegen AST Sema

Clang Libraries Basic Lex Parse AST Analysis Rewrite Codegen Index Sema

libindex: Πως δουλεύει

libindex: Πως δουλεύει t.c

libindex: Πως δουλεύει t.c Clang

libindex: Πως δουλεύει t.c Clang AST

libindex: Πως δουλεύει t.c Clang AST Μνήµη

libindex: Πως δουλεύει t.c Clang AST AST αρχείο Μνήµη

libindex: Πως δουλεύει t.c Abstract Syntax Tree Function declaration Foo Variable declaration x Function definition calc Function definition bar Return statement BinaryOperator = Reference expression (variable x ) Reference expression (variable x ) Call expression Reference expression (function foo )

libindex: Πως δουλεύει t.c Abstract Syntax Tree Function declaration Foo Variable declaration x Function definition calc Function definition bar Return statement BinaryOperator = Reference expression (variable x ) Reference expression (variable x ) Call expression Reference expression (function foo )

libindex: Πως δουλεύει t.c Abstract Syntax Tree Function declaration Foo Variable declaration x Function definition calc Function definition bar Return statement file: t.c line: 5 column:8 Reference expression (variable x ) BinaryOperator = Call expression Reference expression (variable x ) Reference expression (function foo )

libindex: Πως δουλεύει t.c Abstract Syntax Tree Function declaration Foo Variable declaration x Function definition calc Function definition bar Return statement file: t.c line: 5 column:8 Reference expression (variable x ) BinaryOperator = Call expression Reference expression (variable x ) Reference expression (function foo )

libindex: Crossing source files

libindex: Crossing source files t1.c t2.c t3.m

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer Function foo

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer Function foo

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer Function foo

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer

libindex: Crossing source files t1.c t2.c t3.m Clang Clang Clang t1 AST t2 AST t3 AST Indexer

libindex: Χαρακτηριστικά

libindex: Χαρακτηριστικά Κατανόηση σηµείου σε κώδικα

libindex: Χαρακτηριστικά Κατανόηση σηµείου σε κώδικα Βρίσκει Declarations Definitions References

libindex: Χαρακτηριστικά Κατανόηση σηµείου σε κώδικα Βρίσκει Declarations Definitions References Across project files

Εµπειρία σαν Apple Intern

Apple Intern

Apple Intern Άνετο & φιλικό περιβάλλον εργασίας

Apple Intern Άνετο & φιλικό περιβάλλον εργασίας Παρουσιάσεις από executives

Apple Intern Άνετο & φιλικό περιβάλλον εργασίας Παρουσιάσεις από executives Project

Apple Intern Άνετο & φιλικό περιβάλλον εργασίας Παρουσιάσεις από executives Project Παρουσίαση project στο manager του division

Apple Intern Άνετο & φιλικό περιβάλλον εργασίας Παρουσιάσεις από executives Project Παρουσίαση project στο manager του division Παρουσίαση στο VP of software engineering (Bertrand Serlet)

Απορίες ;