INE5421 – Linguagens Formais e Compiladores

Apostila: apostila-lfc

Uma outra apostila: UNISUL-Apostila Formais – Compiladores

Listas:

Lista 1

lfc-lex1-111

Respostas das teoricas

Lista1NovaResp

Respostas Lista1

Resposta da lista 1 2012/2 completa.

Lista2 lfc-lex2-112

respostas

Lista 3 lfc-lex3-112

respostas

Exemplos de provas anteriores:

exemplos1

exemplos2

exemplos3

exemplos4

exemplos5

Exemplo(muito bom) do trabalho de formais:

http://wwwexe.inf.ufsc.br/~well/INE5421/

Outros trabalhos:
Exemplo1

Exemplo2

Instalando Lamp Apache, MySQL, PHP

Para qualquer programador Web o eixo Apache, PHP, MySQL no Linux é essencial para  o bom desenvolvimento.

Essa instalação é focada em sistemas como Debian e Ubuntu.

Sugiro também que utilizem Netbeans com os plugins php+html para desenvolvimento.

Instalando no Debian e derivados:

Apache2:

# apt-get install apache2

PHP5 + Módulo Apache:

# apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi

MySQL5:

# apt-get install mysql-server

PhpMyAdmin:

# apt-get -y install phpmyadmin

Caso algum dia queira trocar senha do MySQL:

# mysqladmin -u root -p password UmaBoaSenha

Fontes:

http://www.vivaolinux.com.br/artigo/Apache2-PHP5-MySQL5-e-PhpMyAdmin-com-certificacao-SSL-no-Debian-Etch/?pagina=1

Linguagem de programação C

Página dedicada a linguagem de programação C:

C é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, procedural, de alto nível, padronizada pela ISO, criada em 1972, por Dennis Ritchie, no AT&T Bell Labs, para desenvolver o sistema operacional Unix (que foi originalmente escrito em Assembly).[1]

C é uma das linguagens de programação mais populares[2][3] e existem poucas arquiteturas para as quais não existem compiladores para C. C tem influenciado muitas outras linguagens de programação,[4] mais notavelmente C++, que originalmente começou como uma extensão para C.

via: wikipedia

Material:

http://www.mtm.ufsc.br/~azeredo/cursoC/

apostilaC

Dicas:

converter string em inteiro em C:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // valor inteiro em forma de string
  char valor_str[] = "10";

  // A linha abaixo causa um comportamento estranho
  //int res = 40 + valor_str;

  // temos que converter a string em um valor inteiro válido
  int res = 40 + atoi(valor_str);

  printf("O resultado e: %d", res);

  puts("n");
  system("pause");
  return 0;
}

Migrando conta de usuários

Ao reinstalar o sistema ou mudar de sistema linux, no caso de um servidor voce pode querer manter as contas de usuarios. Para isso você deve olhar os seguintes arquivos:

/etc/passwd -> onde fica as configuracoes basicas dos usuarios

/etc/shadow -> aqui fica armazenada as senhas de usuarios, criptografadas logico!

/etc/group -> este arquivo guarda os grupos e os integrantes deles

Minha recomendação é:

* Fazer backup desses arquivos e pastas dos usuários  ao reinstalar o sistema.

* Depois você pega cada linha de usuário que deseja migrar e coloca nos mesmos arquivos do novo sistema.

* Copiar com as mesmas permissões as pastas de usuários para o novo servidor.

* Tomando cuidado para não colocar nomes ou identificações já existentes.

Abraços!

INE5409 – Cálculo Numérico para computação

Estude senão você vai abraçar o diabo no inferno!

HAHA Certo? HO H-OK? VÃ-HÃ-MOS lá!

Provas disponibilizadas pelo Professor Júlio:

P1:

Prova_1_20081-ine5409

Prova_1_20082

Prova 1 2009-1

Prova 1 2009-2

Prova 1 2010-1

P2:

Prova_2_20081

Prova_2_20082

Prova 2 20092

P3:

Prova 2008 -1

prova 3c2

prova 3c1

p3 10/1

p3 10/2

Trabalhos:

cholesky

Outros em breve…

INE5411 – Organização de computadores

“O pré-requisito para Org é a própria Org…”

“Você deve estudar fora da sala no minimo a mesma quantidade de horas que faz dentro da sala…”

“Sua profissão é estudante!”

Tem algumas respostas da 4 edição ai dentro do material, mas muitas estão erradas. Quem conseguir algo melhor me avise!

Todo o material: google drive

Provas antigas: google drive

Livro texto:

Computer Organization and Design, 4th Ed, D. A. Patterson and J. L. Hennessy

Vídeos interessantes:

http://video.bilkent.edu.tr/course_videos.php?courseid=16

INE5412 – Sistemas Operacionais 1

Pagina da disciplina: http://www.inf.ufsc.br/~fernando/ine5412.htm

Listas:

Primeira e segunda: ListasExercicios-SO1-INE5412 (cortesia de Mario Baldini)

Terceira: Lista3SO1

Quarta: Lista4SO1

Laboratorios:

lab3-111

lab3-resposta

lab4

lab4-resposta

trab1

trab2

Todo o material da minha pasta: aqui

 

 

links pro livro texto:

http://www.4shared.com/get/DGZ4TJN3/Sistemas_Operacionais_Modernos.html

http://virtualtheft.wordpress.com

Upload de arquivos PHP

Formulário de envio de arquivos

A primeira coisa a fazer é criar um formulário HTML que, ao abrir uma janela, permitará a escolha do arquivo a enviar:

FORM method="POST" action="[seu arquivo PHP para fazer upload.php]" ENCTYPE="multipart/form-data">
          <INPUT type=hidden name=MAX_FILE_SIZE  VALUE=2048>
          <INPUT type=file name="nome do arquivo">
          <INPUT type=submit value="enviar">
</FORM>

É fundamental não esquecer a ENCTYPE=”multipart/form-data” ! Caso contrário, o formulário não terá nenhum efeito.

Além disso, o campo MAX_FILE_SIZE indica o tamanho máximo do arquivo a ser enviado pelo navegador mas, isto não é o bastante para garantir que os arquivos enviados não ultrapassarão um determinado tamanho na medida em que nem todos os navegadores levam em conta este tamanho. O valor do tamanho máximo do arquivo enviado é ajustável no disco rígido dentro a pasta de configuração “php.ini”.

Configuração do PHP para fazer upload

O arquivo de configuração « php.ini » contém diretivas que ajustam e que autorizam ou não o envio de arquivos através de um formulário:

file_uploads= On/Off autoriza ou não o envio de arquivos.
upload_tmp_dir = diretório define temporáriamente o diretório, possibilitando a recepção do arquivo enviado.
upload_max_filesize = 2M define o tamanho máximo permitido do arquivo. Se este limite for ultrapassado, o servidor enviará um alerta de erro.
post_max_size indica o tamanho máximo de dados enviados por formulário. Esta diretiva tem primazia sobre o upload_max_filesize ; assim, certifique-se que você tem post_max_size superior a upload_max_filesize

Se você não tiver acesso à configuração (no caso de um site hospedado em um servidor do provedor de acesso ou de uma hospedagem compartilhada), pode-se verificar a configuração graças à função phpinfo() :

<?
  phpinfo();
?>

Recuperação do arquivo com PHP

O arquivo e suas informações podem ser encontrados através da variável superglobal $_FILES[].
Para afixar o seu conteúdo, utilize o seguinte script:
<pre><? print_r($_FILES); ?></pre>

A saída deste código será da seguinte forma :

Array
(
    [nome_do_arquivo] => Array
        (
            [name] => MaBelleImage.jpg
            [type] => image/jpg
            [tmp_name] => chemin_complet_du_fichier_uploadé
            [error] => 0
            [size] => 1000
        )
)

No caso acima, trata-se de uma imagem JPEG pesando 1 Mo.

Os campos $_FILES[name], $_FILES[type], $_FILES|error], $_FILES[size] permitem testar o tipo de arquivo, seu tamanho , seu nome e verificar se houve erros.

Assim, você pode corrigir os erros da seguinte maneira:

<?
if ($_FILES['nome do arquivo']['error']) {
          switch ($_FILES['nome_do_arquivo']['error']){
                   caso 1: // UPLOAD_ERR_INI_SIZE
                   echo"O arquivo ultrapassa o limite autorizado pelo servidor(arquivo php.ini) !";
                   break;
                   caso 2: // UPLOAD_ERR_FORM_SIZE
                   echo " O arquivo ultrapassa o limite autorizado no formulário HTML !");
                   break;
                   caso 3: // UPLOAD_ERR_PARTIAL
                   echo "O envio do arquivo foi interrompido durante a transferência!";
                   break;
                   caso 4: // UPLOAD_ERR_NO_FILE
                   echo "O arquivo que você enviou tem um tamanho zero !");
                   break;
          }
}
else {
 // $_FILES['nome_do arquivo']['error'] vale 0 ou seja UPLOAD_ERR_OK
 // o que significa que não houve erro
}
?>

Com o move_uploaded_files() é possível transferir uma imagem do diretório temporário a um diretório de destino :

<?

if ((isset($_FILES['nom_du_fichier']['arquivo'])&&($_FILES['nome_do arquivo']['error'] == UPLOAD_ERR_OK)) {
$caminho_destino = '/var/www/arquivos/';
move_uploaded_file($_FILES['nome_do_arquivo']['tmp_name'], $caminho_destino.$_FILES['nome_do_arquivo']['name']);
}
?>

Fonte:
http://pt.kioskea.net/faq/111-php-atualizar-arquivos