Programmatore iOS - corso 57.780 rubli. da GeekBrains, formazione 6 mesi, data: 10 giugno 2023.
Miscellanea / / December 05, 2023
Nozioni di base sulla programmazione
Nozioni di base sulla programmazione
Il corso è rivolto a persone senza esperienza di programmazione. Per iniziare l'apprendimento, è sufficiente possedere competenze informatiche al livello dell'utente più comune. Tutta la formazione si svolgerà nel browser e non sarà necessario installare software aggiuntivo. Imparerai cos'è un programma, come viene eseguito e familiarizzerai con le operazioni di base della programmazione. Parleremo di tipi di dati di base, array, ramificazioni, cicli e funzioni in un linguaggio accessibile. Acquisirai esperienza nella risoluzione di problemi semplici ma interessanti, che ti forniranno le basi per imparare a risolvere problemi molto più seri.
Lezione 1. Programma, variabili e tipi di dati
Dopo la lezione avrai un'idea di cosa sia un programma, di cosa sia costituito da istruzioni e dati, imparerai tipi di dati scalari in JS, puoi scrivere un programma che moltiplichi due numeri immessi dall'utente e li stampi risultato.
Lezione 2. Diagrammi di flusso e rami
Dopo la lezione avrai un'idea di come visualizzare gli algoritmi utilizzando i diagrammi di flusso, comprendere il lavoro degli operatori di confronto, capire come utilizzare la ramificazione e quali problemi risolve
Lezione 3. Cicli
Dopo questa lezione, avrai una comprensione di come visualizzare algoritmi ciclici utilizzando i diagrammi di flusso, come utilizzare i loop e quali problemi risolvono.
Lezione 4. Funzioni
Dopo la lezione avrai un'idea di quali problemi si risolvono inserendo il codice nelle funzioni e sarai in grado di creare funzioni, comprese quelle che accettano argomenti.
Lezione 5. Array
Dopo la lezione, avrai un'idea di quali problemi risolvono gli array, sarai in grado di creare array, aggiungere e ricevere i suoi elementi.
Nozioni di base sul linguaggio Swift. 1 mese.
Moderne tecnologie di programmazione per Apple su Swift 5.2, Xcode 11
Swift è un nuovo linguaggio di Apple apparso a metà del 2014. Nonostante la sua novità, si sta sviluppando rapidamente e include tutti i migliori costrutti di programmazione presi in prestito da molti linguaggi moderni. Attualmente sul mercato sono pochi gli specialisti che conoscono Swift. Questo corso ti aiuterà ad apprendere i fondamenti della sintassi di Swift e ad acquisire una buona esperienza di programmazione nel linguaggio.
Lezione 1. Introduzione alla programmazione
Lezione introduttiva. Conoscere la lingua. Tipi di dati di base. Xcode, parco giochi. Variabili, costanti e raccolte di dati. Debug.
Lezione 2. Sintassi Swift e operatori di base
Studio continuo delle strutture sintattiche del linguaggio e degli operatori di base
Lezione 3. Tipi di dati complessi
Introduzione ai dati complessi. Strutture. Trasferimenti. Proprietà e metodi. Costruttore.
Lezione 4. Introduzione all'OOP - Programmazione orientata agli oggetti
Come descrivere oggetti del mondo reale e crearli secondo la descrizione. Classi e oggetti. Eredità. ARC e un'introduzione alla gestione della memoria.
Lezione 5. OOP: requisiti di classe, protocolli, estensioni, polimorfismo, composizione
Descriviamo i requisiti per le lezioni. Protocolli. Estensioni. Polimorfismo. Composizione.
Lezione 6. Visualizzazione orientata agli oggetti avanzata
Tecniche da veri guru. Generici. Chiusure Abbonamento. Funzioni di ordine superiore.
Lezione 7. Gestione degli errori dell'applicazione
Impariamo a cercare gli errori e a prevederne il verificarsi. Prova/cattura le eccezioni. Errore.
Lezione 8. Consultazione con un insegnante
Idiota. Corso base
Nozioni di base su Git
13 video ti insegneranno le basi per lavorare con il sistema di controllo della versione Git. Imparerai perché è importante nello sviluppo moderno. Impara i concetti di base: repository, commit, rami e tag. Operazioni con chiave principale: creazione e clonazione di un repository, unione di rami, query sulla cronologia delle modifiche e molto altro. Dopo la formazione, sarai pronto per utilizzare Git per preparare i compiti a casa per i corsi di programmazione in qualsiasi lingua. Inoltre, ti avvicinerai all'intervista, dove diverse domande di solito si concentrano sul controllo della versione.
Lezione 1. Introduzione a Git
Lezione 2. Installazione e configurazione di Git
Lezione 3. Comandi base del terminale
Lezione 4. Lavorare con i repository in Git
Lezione 5. Gestione dei file dell'archivio
Lezione 6. Storia dei cambiamenti
Lezione 7. Lavorare con i rami del repository
Lezione 8. Pubblicazione di un repository
Lezione 9. La filiale si unisce
Lezione 10. Gestione delle versioni
Lezione 11. Creazione di una richiesta pull
Lezione 12. Operazioni complesse
Lezione 13. Lavorare con i repository Fork
Nozioni di base sui database. 20 lezioni.
Progettazione di database e query SQL
I database (DB) sono sistemi di archiviazione ed elaborazione dei dati a cui si accede utilizzando il linguaggio SQL (Structured Query Language). Qualsiasi sito Web, gioco o applicazione desktop moderna necessita di archiviazione dei dati. Al momento esistono molti sistemi di gestione di database (DBMS) diversi, il più popolare è MySQL. "Nozioni di base sul database" è costituito da 20 lezioni video intensive (10 minuti ciascuna), in cui esamineremo tutte le fasi della progettazione di un database utilizzando l'esempio di un negozio online che utilizza il linguaggio di query SQL. Dopo questo corso sarai in grado di utilizzare vari database, come MS SQL e Postgre Sql, poiché la loro sintassi SQL è praticamente la stessa.
Lezione 1. Database relazionali
Qual è la differenza tra un database e un DBMS; quali database sono chiamati relazionali; panoramica dei moderni DBMS.
Lezione 2. Installazione del DBMS
Installazione del DBMS MySql e dell'applicazione grafica Mysql Workbench.
Lezione 3. Progettazione di database, forme normali
Progettazione dei dati in Excel; forme normali; chiave primaria.
Lezione 4. Comando SQL CREARE
Creazione di tabelle nella GUI MySql Workbench; comando CREA; tipi di dati; lavorare nella console.
Lezione 5. Comando SQLINSERT
Compilazione di tabelle con dati utilizzando un'interfaccia grafica; comando INSERISCI; INCREMENTO AUTOMATICO.
Lezione 6. Comandi SQL SELECT e WHERE
Ricezione e filtraggio dei dati utilizzando i comandi SQL SELECT e WHERE; controllo per NULL; filtraggio dei dati in base a diverse condizioni.
Lezione 7. Comandi SQL DISTINCT, ORDER BY, LIMIT
Ricevere e filtrare i dati utilizzando i comandi SQL DISTINCT e LIMIT; ordinamento utilizzando il comando ORDER BY.
Lezione 8. Comandi SQL DELETE e UPDATE
Aggiornamento ed eliminazione dei dati utilizzando i comandi SQL DELETE e UPDATE; filtrare i dati utilizzando WHERE IN.
Lezione 9. Coerenza dei dati
Il concetto di consistenza o consistenza dei dati.
Lezione 10. Chiave esterna
Il concetto di chiave esterna e restrizioni sui valori delle colonne; VINCOLI CHIAVE ESTERI.
Lezione 11. Creazione di tabelle con una relazione molti-a-molti
Aggiunta di un carrello al database del negozio online.
Lezione 12. Chiave primaria composita
Utilizzo di una chiave primaria composita durante la progettazione di una tabella con una relazione molti-a-molti.
Lezione 13. Unione di dati da più tabelle
Recupero di dati da diverse tabelle correlate; incoerenza dell'approccio che utilizza diversi SELECT.
Lezione 14. Operatore INNER JOIN
Unione di dati da più tabelle utilizzando l'operatore INNER JOIN.
Lezione 15. Operatori LEFT JOIN, RIGHT JOIN
Unione di dati da più tabelle utilizzando gli operatori LEFT JOIN e RIGHT JOIN.
Lezione 16. operatore UNIONE
Combinazione dei risultati di più query SQL utilizzando l'operatore UNION.
Lezione 17. Funzioni di aggregazione
Funzioni di aggregazione COUNT, SUM, MIN, MAX.
Lezione 18. Operatore GRUPPO PER
Raggruppare un insieme selezionato di righe utilizzando la clausola GROUP BY.
Lezione 19. Indici
Filtrare in GRUPPO BY utilizzando HAVING; aumentare la velocità di esecuzione delle query utilizzando gli indici.
Lezione 20. Transazioni
Concetto di transazione; Dichiarazione di TRANSAZIONE; Requisiti ACID per il sistema di transazione.
Interfaccia utente delle applicazioni iOS. 1 mese.
Swift 5.2 Xcode 12
Quali sono le caratteristiche principali delle applicazioni mobili più moderne? Interazione con il servizio. Visualizza e modifica i dati su un server esterno! Non esistono applicazioni senza interfaccia utente. Questo è il volto del tuo progetto. Può essere utilizzato per attrarre e fidelizzare gli utenti. Implementando una connessione con il servizio, puoi organizzare l'interazione degli utenti tra loro o con la tua azienda.
Lezione 1. Progettazione dell'interfaccia, parte 1. Analisi delle capacità di base della rete e loro applicazione nella pratica
Analisi delle principali capacità della rete e loro applicazione pratica.
Lezione 2. Progettazione dell'interfaccia, parte 2. Aggiunta di schermate. Transizioni tra le schermate. UINavigationController. Segue
Aggiunta di schermate. Transizioni tra le schermate. UInavigationController. Segue.
Lezione 3. Progettazione dell'interfaccia, parte 3. Mostriamo i dati sotto forma di tabella. UITableViewController, UITableViewCell, UICollectionViewController, UICollectionViewCell
Mostriamo i dati sotto forma di tabella. UITableViewController, UITableViewCell, UICollectionViewController.
Lezione 4. Creazione di componenti dell'interfaccia utente personalizzati
Disegnare con CoreGraphics. @IBDesignable e @IBInspectable. CAlayer: ombre, bordi, maschera, gradiente. Trasformazione. Elaborazione dei gesti dell'utente. Controllo UI. UIAppearance.
Lezione 5. Consultazione con l'insegnante 1
Lezione 6. Personalizzazione delle collezioni
Creazione di celle di tabella personalizzate, visualizzazioni di intestazione e piè di pagina. Creazione di celle di raccolta personalizzate, viste supplementari. Utilizzo di UICollectionViewFlowLayout. Creazione di un layout di visualizzazione della raccolta personalizzato.
Lezione 7. Animazioni, parte 1. Semplici animazioni UIView. Animare le transizioni tra UIView. Animazioni a livelli. Animazioni primaverili
Semplici animazioni UIView. Animare le transizioni tra UIView. Animazioni a livelli. Animazioni primaverili.
Lezione 8. Animazioni, parte 2. Gruppi di animazione. Curve di Bezier e loro animazione. animazioni 3D. UIViewPropertyAnimator
Animazioni di fotogrammi chiave. Gruppi di animazione. Curve di Bezier e loro animazione. animazioni 3D. UIViewPropertyAnimator.
Lezione 9. Animazione delle transizioni tra gli schermi
Animare le transizioni tra UIViewController. Transizioni interattive tra i controller di visualizzazione. Creare il proprio seguito.
Lezione 10. Consultazione con l'insegnante 2
Applicazioni iOS client-server. 1 mese.
Swift 5.2, Xcode 12
Potrai padroneggiare le tecniche per lo sviluppo di applicazioni ad alto carico. Lavorerai con file e archivi. Impara a gestire i processi in background, ottimizza l'applicazione per il caricamento di grandi quantità di dati. Imparerai anche metodi per sviluppare applicazioni con un'interfaccia universale. Ottieni esperienza con il popolare servizio Firebase Backend di Google. Parteciperai anche al processo di pubblicazione dell'applicazione nell'AppStore.
Lezione 1. Utilizzo dei modelli Observer, Singleton e Delegate
Studiamo l'implementazione dei pattern più diffusi in iOS. Facciamo conoscenza con NotificationCenter.
Lezione 2. Rete
Imparare a lavorare con le richieste di rete. Anatomia delle richieste HTTP. Panoramica degli strumenti e delle librerie per lavorare con le richieste di rete. Invio di richieste utilizzando URLSession.
Lezione 3. Mappatura json
Convertiamo la risposta json del server in oggetti dell'applicazione. Anatomia del formato json. JSONSerializzazione.
Lezione 4. Archivio dati
Una panoramica di strumenti e librerie per l'archiviazione persistente dei dati in un'applicazione. Impostazioni predefinite utente, File. CoreData. SQLite, Regno, Portachiavi.
Lezione 5. Consultazione con l'insegnante 1
Lezione 6. Realm: sistema di gestione del database di oggetti
Recensione dettagliata di Realm. Salvataggio, recupero, eliminazione, filtraggio dei dati
Lezione 7. Notifiche in Realm
Monitoraggio dei cambiamenti nel Regno. Aggiornamento automatico dell'interfaccia utente.
Lezione 8. Back-end Firebase
Utilizziamo un server esterno per archiviare i dati dell'applicazione. Padroneggiare il framework Firebase. Colleghiamo i meccanismi di “Registrazione” e “Autorizzazione Utente”.
Lezione 9. Meccanica dell'App Store
Pubblichiamo l'applicazione nell'App Store. Stiamo esplorando le possibilità di monetizzare le applicazioni mobili.
Lezione 10. Consultazione con l'insegnante 2
Prestazioni delle applicazioni iOS. 1 mese.
Swift 5.2 Xcode 12
Il corso tratterà i concetti e le tecnologie di multithreading, caching e risoluzione dei problemi relativi alle prestazioni dell'interfaccia utente.
Lezione 1. Programmazione parallela. Filo.
Introduzione ai concetti di codice multi-thread e asincrono. Gestione dei flussi. RunLoop. Filo.
Lezione 2. Programmazione parallela. GCD
Studiamo la libreria Grand Central Dispatch e semplifichiamo la gestione dei flussi.
Lezione 3. Programmazione parallela. NSOperazione
Introduzione alla libreria NSOperation per l'organizzazione del codice multi-thread e l'esecuzione parallela delle attività.
Lezione 4. Consultazione
Lezione 5. Codice asincrono. Concetti di futuri e promesse
Introduzione Concetto Promessa/Futuro Un po' di teoria Pratica
Lezione 6. Esercitazioni sull'utilizzo di UITableView e UICollectionView
Cerchiamo problemi nel funzionamento di tabelle e raccolte. Abbandoniamo AutoLayout a favore del layout su frame. Elaboriamo i dati in un thread parallelo e memorizziamo nella cache le immagini.
Lezione 7. Modelli di feed di notizie
Modello pull-to-refresh. Modello di scorrimento infinito. Calcola la dimensione della cella per le immagini caricate in futuro.
Lezione 8. Consultazione
Algoritmi e strutture dati. Corso base.. 1 mese.
Soluzioni efficienti ai problemi informatici
Il corso fondamentale “potenzia” le conoscenze di base dell'informatica. Fornisce una comprensione di come funziona il linguaggio di programmazione e dei comandi e delle soluzioni utilizzati nel codice. Usando il linguaggio C come esempio, gli studenti saranno in grado di “sentire” i meccanismi che stanno alla base dei framework moderni. Il corso fornisce le conoscenze che distinguono un programmatore da un “utente” che scrive codice.
Lezione 1. Algoritmi semplici
Introduzione a c. Strutture. Algoritmi.
Lezione 2. Complessità asintotica dell'algoritmo. Ricorsione
Complessità asintotica dell'algoritmo. Ricerca ricorsiva. Torre di Hanoi.
Lezione 3. Cerca in un array. Tipi semplici
Cerca in un array unidimensionale. Ricerca per interpolazione. Ordinamento di un array.
Lezione 4. Programmazione dinamica. Cerca per ritorno
Sottosequenza comune più grande. Programmazione dinamica. Ricerca a ritroso. Problema delle otto regine.
Lezione 5. Strutture dati dinamiche
Impilare, fare la fila. Creazione di uno stack utilizzando un array. Strutture dati dinamiche.
Lezione 6. Alberi
Alberi di ricerca binaria. Funzione hash. MD5. Tabelle hash.
Lezione 7. Grafici. Algoritmi sui grafici.
Grafici, attraversamento del grafico in larghezza e profondità. Algoritmo delle onde. "Algoritmi golosi".
Lezione 8. Tipi complessi
Ordinamento Hoare (ordinamento rapido). Ordinamento heap e ordinamento unione. ConteggioOrdinamento. Algoritmo con una lista (ordinamento in casella). Ordinamento a blocchi.
Stage presso GeekBrains. Due mesi.
In formato webinar
Durante lo stage, gli studenti dovranno lavorare da remoto su un progetto o una startup Open Source. Agli studenti verrà chiesto di scegliere tra una serie di progetti disponibili per lo sviluppo. Gli studenti impareranno a lavorare in gruppo, a comunicare con altri sviluppatori, prodotti e project manager, progettisti studieranno metodologie flessibili, il framework SCRUM e ne padroneggeranno i principi lavoro a distanza. Il risultato dello stage è la capacità di lavorare in gruppo, l'aggiunta di un portfolio e l'opportunità di indicare il lavoro su un progetto come esperienza lavorativa principale nel proprio curriculum. Il tirocinio si svolge nella modalità di lavoro a distanza part-time, incontri settimanali di stato con il docente in formato webinar.
Lezione 1. Conoscersi, scegliere un progetto
Quali ruoli ci sono nello sviluppo? Product Manager, Project Manager, sviluppatore, designer. Cos'è l'MVP. Architettura del servizio moderno. Come gli sviluppatori interagiscono tra loro. API REST, socket Web. Backend, Frontend, applicazioni mobili. Architettura dei microservizi. Nozioni di base sul lavoro a distanza. Iscriviti per le squadre.
Lezione 2. Metodologie di sviluppo
Revisione delle metodologie. Cascade (cascata), manifesto Agile, Kanban, Scrum. Dove e per cosa vengono utilizzati. Metodologie miste.
Lezione 3. Metodologia SCRUM
Lavora utilizzando SCRUM. Pianificazione dello sprint. Eliminazione degli arretrati. Obiettivo sprint. Incremento. Metodologia flessibile in condizioni di lavoro remoto. Tracciatori di attività (Trello, Favro)/
Lezione 4. Mappatura delle storie degli utenti
Tipi di compiti. Scomposizione dei compiti. Mappatura delle storie degli utenti. Lavorare sulle storie degli utenti. Lavorare con specifiche tecniche utilizzando metodologie a cascata e flessibili.
Lezione 5. Responsabilità, motivazione, crescita personale
Cosa e come motivarsi. Quali sono i livelli di motivazione? Come non bruciarsi sul lavoro. E come non dimenticare il lavoro.
Lezione 6. Scrivere un curriculum
Come scrivere un curriculum in modo che le risorse umane non lo rifiutino. Come interessare un datore di lavoro. Come dimostrare le competenze acquisite nei tuoi studi se non hai ancora esperienze lavorative rilevanti.
Lezione 7. Riassunto preliminare, preparazione per la difesa del progetto
Analisi dei curriculum degli studenti. Sintesi preliminare. Un po' di startup, monetizzazione, investitori.
Lezione 8. Riassumendo, dimostrazione del progetto finale
Dimostrazione di un prototipo funzionante da parte degli studenti. Discussione dei risultati ottenuti. Feedback dell'insegnante. Parole d'addio.