 |
Programe
para Linux em C++ mantendo ao máximo possível
a compatibilidade com Windows 95/98/NT.
Este curso inclui bancos de dados client/server,
TCP/IP, aplicações para a Internet,
threads, compartilhamento de memória entre
aplicações, bibliotecas de ligação
dinâmica e Interface Gráfica.
|
 |
PERFIL |
| |
Objetivo:
Capacitar o aluno como programador para o sistema
operacional Linux na Linguagem de programação
C++.
Pré-requisitos: Conhecimento de
algum sistema operacional (na primeira aula serão
fornecidos alguns conceitos indispensáveis
sobre o Linux, caso você ainda não
conheça esse sistema); conhecimento da
linguagem de programação C++.
OBS: caso você não conheça
a Linguagem C++,
ou não tenha um bom domínio de herança,
polimorfismo(em especial funções
virtuais) e templates, deve cursar primeiro o
nosso curso Linguagem
C++, para preencher este pré-requisito.
E se você se inscrever para o curso "Linguagem
C++" e também para o curso "C++
para Linux", terá direito a desconto
de 20%.
Carga Horária: 80 horas.
Instrutor: desenvolvedores C++, com longa
experiência em programação.
|
 |
PRINCIPAIS
TÓPICOS |
 |
Conceitos
básicos sobre o Linux:
|
| |
(apenas os conceitos
indispensáveis para permitir a edição
de fontes e desenvolvimento de programas; este
será o assunto da primeira aula).
obtendo acesso ao Linux;
como executar comandos sobre o Linux;
variáveis de ambiente;
consoles virtuais;
escolhendo um editor de textos para escrever
os fontes;
comandos básicos do Linux: ls, mkdir,
cd, rmdir, rm, pwd;
processos: o que são; como verificar
processos em execução; como enviar
sinais para os processos.
|
 |
O
ambiente de desenvolvimento: |
| |
como usar
o compilador gcc no Linux;
criando arquivos make;
como utilizar os recursos de debug;
regras básicas para criar aplicativos
que rodem tanto no Linux como no Windows;
|
 |
Explorando
os recursos básicos do sistema operacional: |
| |
lendo
os parâmetros curtos e longos passados pela
linha de comando;
utilizando pipes;
descritores de arquivo; criando e mantendo
arquivos no Linux;
as bibliotecas padrão para suporte a operações
de IO.
utilizando a entrada e a saída padrão
(stdin, stdout);
construindo aplicações CGI
(Common Gateway Interface) para a Internet;
|
 |
Melhorando
a utilização da memória: |
| |
criando
bibliotecas de ligação dinâmica
( shared objects);
como compartilhar memória entre
diversas aplicações;
utilizando semáforos;
|
 |
Processos
e threads: |
| |
sinais
e tratamento de sinais;
bifurcação de processamento:
como criar processos-filhos no Linux;
utilizando threads no Linux; threads, sincronização
e proteção da memória global;
entendendo as diferenças entre processos
e threads nos ambientes Linux e Windows;
|
 |
TCP/IP
e aplicações para a Internet: |
| |
criando
serviços com o protocolo TCP/IP; como utilizar
sockets no LINUX;
criando clientes e servidores TCP e UDP.
|
 |
Bancos
de dados: |
| |
apresentação
dos sistemas de bancos de dados gratuitos e de
código fonte aberto disponíveis
para Linux e para Windows.
construindo uma aplicação
com banco de dados client/server para a Internet
e a Intranet;
construindo o front-end para acesso à
aplicação servidora de dados;
|
 |
Interface
Gráfica: |
| |
entendendo
o servidor X;
entendendo os gerenciadores gráficos;
criando uma aplicação com
interface gráfica;
como usar e criar widgets;
exemplos com Qt e gtkmm.
|