https://github.com/eduardosbcabral/desafio-tecnico-mp
Desafio - Gerador de arquivos em C# utilizando Web Crawler e Buffers para a escrita do arquivo em disco.
https://github.com/eduardosbcabral/desafio-tecnico-mp
crawler csharp dotnet
Last synced: 2 months ago
JSON representation
Desafio - Gerador de arquivos em C# utilizando Web Crawler e Buffers para a escrita do arquivo em disco.
- Host: GitHub
- URL: https://github.com/eduardosbcabral/desafio-tecnico-mp
- Owner: eduardosbcabral
- Created: 2020-11-21T19:24:28.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2020-12-10T19:56:46.000Z (over 4 years ago)
- Last Synced: 2025-01-13T10:30:17.170Z (4 months ago)
- Topics: crawler, csharp, dotnet
- Language: C#
- Homepage:
- Size: 89.8 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: .github/README.md
Awesome Lists containing this project
README
# Desafio Técnico - MP
Sobre o projeto •
Instalação •
Pacotes utilizados no projeto •
Build e Execução •
Autor
![]()
## Sobre o projeto
O objetivo geral do desafio é implementar uma aplicação console gerador de arquivos. Para cumprir o objetivo, o algoritmo utiliza um crawler para recuperar o texto base para logo após utilizar buffers de tamanho pré-definido pelo usuário para realizar a escrita contínua e repetida em um arquivo de tamanho também pré-definido e no final gerar um relatório impresso no console que mostra informações como: nome do arquivo, quantidade de iterações, tempo total gasto na escrita, etc.### Passos de download e instalação:
Como o projeto foi desenvolvido em .NET Core 3.1, será necessário baixá-lo para a execução:
* **[.NET Core 3.1](https://dotnet.microsoft.com/download/dotnet-core/3.1)**
#### Clone do projeto
Realize a instalação do GIT para conseguir executar as próximas etapas de instalação:
* **[GIT](https://git-scm.com/downloads)**
Será necessário realizar o clone do repositório para a execução em sua máquina local. Digite o comando abaixo em seu terminal:
```
git clone https://github.com/eduardosbcabral/desafio-tecnico-mp.git
```## Pacotes utilizados no projeto
- Selenium.WebDriver (3.141.0)
Para buildar e executar o projeto, entre no diretório ```src/``` e execute o seguinte comando:
```
dotnet run -- -f 5 -b 1 -p "DIRETÓRIO NA SUA MÁQUINA (EX: D:\dev)"
```#### Argumentos
A aplicação faz o uso de alguns argumentos de execução para seu funcionamento, que são os seguintes:
- **-f**: Define o tamanho do arquivo a ser escrito. Deve ser um número inteiro positivo.
- **-b**: Define o comprimento do buffer que será utilizado para a escrita do arquivo. Deve ser um número inteiro positivo.
- **-p**: (OBRIGATÓRIO) Define o caminho que será escrito o arquivo.### Arquivo executável
Se achar necessário, é possível gerar um arquivo executável executando o comando abaixo dentro do diretório ```src/```:
Obs: o comando publish irá gerar por padrão um executável ```.exe```, ou seja, Windows.```
// Executável Windows implícito
dotnet publish -c Release// Executável Windows explícito
dotnet publish -c Release -r win10-x64// Executável Linux
dotnet publish -c Release -r ubuntu.16.10-x64
```Para executar o arquivo, entre na pasta ```src/bin/Release/netcoreapp3.1/{win10-x64|ubuntu.16.10-x64}/publish/``` e insira o comando abaixo:
```
// Executável Windows
DesafioTecnicoMP.exe -f 5 -b 1 -p "DIRETÓRIO NA SUA MÁQUINA (EX: D:\dev)"
// Executável Linux
DesafioTecnicoMP -f 5 -b 1 -p "DIRETÓRIO NA SUA MÁQUINA (EX: D:\dev)"
```
## Autor