Pesquisar aqui

sábado, 21 de novembro de 2020

Mercedes-Maybach Classe S - Entrada 3/Semana 9-15 Nov. (Realizada na Semana 16-22 Nov.) - Tecnologia no Mundo Automóvel

        Mercedes-Maybach Classe S

        A
Mercedes-Benz acaba de lançar o seu novo modelo super luxuoso, o Mercedes-Maybach Classe S.
O automóvel traz todos os apetrechos eletrónicos e de conforto que uma pessoa pode alguma vez desejar num automóvel de luxo. Como avança o jornal online, Automonitor:
    "De série, o modelo está equipado com um ecrã central OLED de 12.8 polegadas, que constitui a interface do utilizador para o controlo das inúmeras funções tecnologicamente avançadas – em opção, um ecrã do painel de instrumentos de 12.3 polegadas, com representação tridimensional dos outros utentes da via, profundidade pronunciada e efeitos de tonalidades. O visual distintivo do ecrã do painel de instrumentos, no modo Exclusive, realça o estatuto especial do Mercedes-Maybach. Os adornos dos instrumentos analógicos têm a cor da marca rosé gold."
    O veículo traz uma lista quase infinita de funcionalidades, como suspensão pneumática, sistema de direção tanto no eixo dianteiro como no eixo traseiro, reconhecimento de gestos no compartimento traseiro da cabina, etc... O motor é eletricamente assistido e há a possibilidade de a partir de 2021, estar disponível o sistema Drive Pilot, um sistema de condução autónoma parcial por parte da Mercedes.
    Sem dúvida um belo automóvel!
Imagens do novo Mercedes-Maybach Classe S

Fontes: https://www.mercedes-benz.pt/passengercars/mercedes-benz-cars/models/s-class/mercedes-maybach-x222/explore.html (Consultado a 21/11/2020)
https://automonitor.sapo.pt/2020/11/19/novidades/noticias/novo-mercedes-maybach-classe-s-a-nova-definicao-de-luxo/ (Consultado a 21/11/2020)

Filtro de Partícula - Entrada 2/Semana 9-15 Nov. (Realizada na Semana 16-22 Nov.) - Tecnologia no Mundo Automóvel

        Filtro de Partícula

    Um filtro de partículas é um componente do sistema de escape dos veículos com motor de combustão interna. É uma tecnologia aplicada e obrigatória em todos os veículos posteriores a 2009. A sua função é reter cerca de 80% dos gases nocivos ao ambiente e aos seres humanos. O seu funcionamento é conseguido a partir de uma espécie de favos que estão no seu interior; estes favos ao entrarem em contacto com os gases de escape que vêm do motor, filtram-nos.
O interior de um Filtro de Partículas

Fontes: https://www.turbo.pt/filtro-de-particulas/ (Consultado a 21/11/2020)


Medidor de Massa de Ar - Entrada 1/Semana 9-15 Nov. (Realizada na Semana 16-22 Nov.) - Tecnologia no Mundo Automóvel

        Medidor de Massa de Ar

    Um motor de combustão interna necessita de uma mistura de ar e combustível para conseguir operar normalmente. O medidor de massa de ar é um dos componentes do motor que realiza a medição da massa de ar que entra pela admissão. Esta informação é depois enviada ao computador do carro, a centralina (ECU), que a utiliza para calcular a quantidade ideal de combustível que deverá ser debitada para uma combustão perfeita, dentro da câmara de combustão. Os medidores de massa de ar atuais utilizam um filamento que aquece com o funcionamento; a quantidade de ar que passa por esse filamento vai arrefecê-lo e é essa diferença de temperatura que é utilizada para o cálculo da massa de ar que entra no motor do veículo.
Um Medidor de Massa de Ar.


Localização de um Medidor de Massa de Ar no motor de um veículo.

Fontes: https://www.turbo.pt/medidor-massa-de-ar/ (consultado a 21/11/2020)

Linguagens de Programação:Entrada 5 - Exemplos de Bibliotecas

Alguns exemplos de bibliotecas em Python são:
  •     Matplotlib O Matplotlib é uma biblioteca Python que usa o Python Script para escrever gráficos e plotagens bidimensionais. Frequentemente, aplicações matemáticas ou científicas exigem mais do que eixos únicos em uma representação. Essa biblioteca nos ajuda a criar várias ao mesmo tempo. No entanto, você pode usar o Matplotlib para manipular diferentes características das imagens.)
    •  O Matplotlib pode criar números de qualidade realmente bons para publicação. Os números criados com o Matplotlib estão disponíveis em formatos impressos em diferentes plataformas interativas.

    • Você pode usar o MatPlotlib com kits de ferramentas diferentes, como scripts em Python, IPython Shells, Jupyter Notebook e muitas outras interfaces gráficas do usuário.

    •  Várias bibliotecas de terceiros podem ser integradas aos aplicativos Matplotlib. Como seaborn, ggplot e outros kits de ferramentas de projeção e mapeamento, como o basemap.

    • Uma comunidade ativa de desenvolvedores se dedica a ajudá-lo com qualquer uma de suas perguntas com o Matplotlib. Sua contribuição para o Matplotlib é altamente louvável.

    • O bom é que você pode rastrear bugs, novos patches e solicitações de recursos na página do rastreador de issues do Github. É uma página oficial para apresentar diferentes questões relacionadas ao Matplotlib

  •     Numpy(pacote popular de processamento de array do Python. Ele oferece um bom suporte para diferentes objetos de matriz multidimensional. O Numpy não se limita apenas a fornecer matrizes, mas também fornecem uma variedade de ferramentas para gerenciar essas matrizes. É rápido, eficiente e muito bom para gerenciar matrizes e matrizes.)

    • Arrays de Numpy oferecem implementações matemáticas modernas em grande quantidade de dados. O Numpy torna a execução desses projetos muito mais fácil e sem complicações.

    • O Numpy fornece matrizes mascaradas junto com objetos gerais da matriz. Ele também vem com funcionalidades como manipulação de formas lógicas, Fórmula de Fourier, álgebra linear geral e muito mais.

    • Enquanto você altera a forma de qualquer matriz N-dimensional, o Numpy cria novas matrizes para isso e exclui as antigas.

    • Este pacote Python fornece ferramentas úteis para integração. Você pode integrar facilmente o Numpy a linguagens de programação como C, C++ e Fortran.

    • O Numpy fornece essas funcionalidades comparáveis ao MATLAB. Ambos permitem que os usuários acelerem as operações.

OpenCV(OpenCV, também conhecido como Open Source Computer Vision, é um pacote para processamento de imagens. Ele monitora funções gerais focadas na visão instantânea do computador. Embora o OpenCV não possua documentação adequada, de acordo com muitos desenvolvedores, é uma das bibliotecas mais difíceis de aprender. No entanto, ele fornece muitas funções embutidas através das quais você aprende a visão computacional facilmente.)  



SciPy(Scipy é uma biblioteca Python de código aberto usada para computação científica e técnica. É uma biblioteca Python gratuita. E muito adequado para aprendizado de máquina. No entanto, o cálculo não é a única tarefa que torna o scipy especial. Também é muito popular para manipulação de imagens.)


Pandas(Pandas é uma biblioteca Python que fornece estruturas de dados de alto nível e uma grande variedade de ferramentas para análise. A grande característica deste pacote é a capacidade de traduzir operações bastante complexas com dados em um ou dois comandos. O Pandas contêm muitos métodos internos para agrupar, filtrar e combinar dados, bem como a funcionalidade de séries temporais. Tudo isso é seguido por indicadores de velocidade impressionantes.)


 Scikit-learn(Este módulo Python baseado no NumPy e SciPy é uma das melhores bibliotecas para trabalhar com dados. Ele fornece algoritmos para muitas tarefas padrão de machine learning e mineiração de dados, como clustering, regressões, classificação, etc..)


Existem inúmeras bibliotecas que podem ser estudadas e trabalhadas ao prmenor, apenas listei algumas com que já trabalhei e que avhei que foram uteis :)





UPTIME

No mercado de idiomas, a UPTIME é a primeira escola de inglês do mundo a oferecer aprendizagem através da realidade virtual.
Com lançamento programado para maio de 2017, a equipa de pesquisa e desenvolvimento deste grupo está a preparar um material didático especial através da realidade virtual. Com visão a proporcionar uma melhor experiência dos alunos, neste material didático serão abordados diversos temas do cotidiano de um aluno em intercâmbio na América.
Logotipo da UPTIME

O android e o Linux

O sistema Android consiste em um Kernel baseado no Kernel Linux, especificamente do ramo, suporte a longo tempo. Em janeiro de 2014 a maior parte das versões do Android eram moldadas em cima da versão do Kernel linux 3.4 ou superior,mas a versão específica do kernel depende do dispositivo Android e do processador utilizado por ele. O Android utilizou vários Kernels desde o primeiro, o 2.6.25.

O Kernel Linux do Android possui alterações profundas na arquitetura que foram implementadas pelo Google, fora do típico círculo de desenvolvimento Kernel do Linux, como a inclusão de componentes como binder, ashmem, pmem, logger, wakelocks e uma diferente saída de memória—out-of-mem
ory (OOM).

O Android é uma distribuição Linux de acordo com a Linux Foundation, com a chefe do projeto open-source do Google, Chris DiBona, e outros diversos jornalistas. Outros, porém, como o engenheiro do Google Patrick Brady, afirmam que o Android não é Linux no tradicional estilo Unix, já que o Android não inclui a biblioteca GNU C e outros componentes tipicamente encontrados nas distribuições Linux.

Os easter eggs do android(android 5.0 e 4.4)

Como acessar o ovo de Páscoa do Android 5.0 Lollipop:

Navegue até Configurações>  Sobre o telefone e toque várias vezes na caixa Versão do Android até que o logotipo do Lollipop apareça. Toque e mantenha pressionado o cabeçalho do logotipo do Lollipop até que o jogo estilo Flappy Bird apareça.

Como acessar o ovo de Páscoa do Android 4.4 KitKat:

Navegue até Configurações>  Sobre o telefone e toque várias vezes na caixa Versão do Android até que o ovo de Páscoa apareça. Para chegar à segunda parte, toque e mantenha o logotipo K várias vezes no topo até que a tela vermelha do logotipo do Android apareça. Por fim, toque e mantenha pressionado a tela vermelha várias vezes até que apareça uma tela com vários blocos.


Os easter eggs do android(android 11)

Como ativar o easter egg do Android 11

Navegue até  Configurações> Sobre o telefone . A partir daí, toque onde diz  Android 11 e, em seguida, toque repetidamente onde diz  Android 11 novamente até que o dial apareça. Mova o dial de desligado para “11” até que 11 apareça e o emoji de gato apareça.

Para ativar os controles Cat, faça o seguinte. Pressione longamente o botão de energia para acessar o novo menu de energia. Se os controles ainda não aparecerem, toque no  botão de menu de 3 pontos no lado direito da tela próximo ao meio do telefone e toque na  opção Adicionar controles . Toque na  opção Ver outros aplicativos no canto inferior esquerdo e toque na  opção Cat Controls para adicionar o minijogo do gato ao seu menu de energia.





Plugin de Kits

  Fazer os kits através de um ficheiro de configuração dá imenso trabalho e pode ser cansativo usando o Essentials (https://aebenficaonline.blogspot.com/2020/11/plugin-essencial.html). Por esse motivo existe um plugin chamado KitAdder que facilita muito essa função.



  Através do KitAdder é possível criar kits dentro do próprio Minecraft. Graças às funções deste plugin é possível criar um novo kit, apagar um kit existente, adicionar um item novo ao kit ou até mesmo adicionar um delay para se recolher o kit, facilmente através de um comando.



Spigot-API: https://helpch.at/docs/1.8.8 (Consultado a 21/11/2020)
Dependência do minecraft da versão 1.8.8: https://getbukkit.org/get/hNiHm0tuqAg1Xg7w7zudk63uHr0xo48D (Consultado a 21/11/2020)
Página do KitAdderhttps://dev.bukkit.org/projects/kitadder (Consultado a 21/11/2020)

Imagens: 

Plugin de Permissões e Grupos

  Nunca haveria organização se não existissem cargos administrativos e permissões. Até nos servidores de Minecraft são precisas algumas destas funções. Para recriar este sistema há muitos plugins bons e gratuitos disponíveis na internet. No entanto, o que sempre me chamou à atenção desde o ínicio foi o PermissionsEx.




  Este plugin é muito completo, pois para além de ser um plugin de cargos e permissões como todos os outros permite ainda adicionar prefixos e ajustar as permissões dos cargos de uma forma muito organizada através de um sistema de herança de permissões em que os cargos superiores podem ter as permissões dos anteriores.




Spigot-API: https://helpch.at/docs/1.8.8 (Consultado a 21/11/2020)
Dependência do minecraft da versão 1.8.8: https://getbukkit.org/get/hNiHm0tuqAg1Xg7w7zudk63uHr0xo48D (Consultado a 21/11/2020)
Página do PermissionsExhttps://dev.bukkit.org/projects/permissionsex (Consultado a 21/11/2020)

Imagens: 





Plugin de Punições

  As regras existem em todo o lado e com as regras também existem pessoas para as quebrar. Para punir pessoas assim em servidores de Minecraft é preciso usar plugins com sistemas de punições. O que eu conheço melhor e acho mais completo chama-se MaxBans.




  O MaxBans oferece vários tipos de punições. É possível expulsar, banir ou até proibir um jogador de escrever no chat. Com este plugin é muito fácil tratar de quem quebra as regras, mas não só. Também é possível saber certas informações sobre cada jogador. Por exemplo o ip, o número de contas registadas e a localização.




Spigot-API: https://helpch.at/docs/1.8.8 (Consultado a 21/11/2020)
Dependência do minecraft da versão 1.8.8: https://getbukkit.org/get/hNiHm0tuqAg1Xg7w7zudk63uHr0xo48D (Consultado a 21/11/2020)
Página do MaxBanshttps://dev.bukkit.org/projects/maxbans (Consultado a 21/11/2020)

Imagens:

Pixar lança versão gratuita do RenderMan

A Pixar cumpriu uma promessa feita há quase um ano: nesta terça-feira (24), a companhia tornou o RenderMan gratuito para uso não comercial. Para quem desconhece, estamos falando do software que foi usado na criação de animações como Toy Story, Wall-E e Procurando Nemo.

O RenderMan é tão importante para a indústria cinematográfica que chegou a ser premiado com um Oscar especial por conta das contribuições que trouxe para o segmento de animações gráficas. O tempo de mercado também denuncia o seu prestígio: a primeira versão do RenderMan surgiu há quase 27 anos.

Além de filmes de animação gráfica, o RenderMan também já foi (e é) usado na criação de cenários e outros elementos de grandes produções, entre elas, Titanic, os episódios mais recentes de Star Wars e a trilogia Senhor dos Anéis.

Não é que a Pixar tenha participado diretamente da produção de todos esses filmes. Há anos, qualquer outro estúdio ou profissional da área pode utilizar o RenderMan mediante o pagamento de licença.



Por que então a Pixar apareceu agora com a modalidade gratuita? Para tornar o RenderMan ainda mais conhecido entre os profissionais da área. A própria companhia argumenta que “as limitações no acesso ao software são um freio no desenvolvimento da indústria [cinematográfica]”.

Todo mundo pode usar o RenderMan para qualquer finalidade não comercial, como já informado. A versão gratuita é completamente funcional, ou seja, não conta com recursos desativados ou exibição de marcas d’água obrigatórias, por exemplo.

Aqueles que precisarem explorar comercialmente algum trabalho feito no RenderMan não irão judiar muito do bolso: a licença do software custa US$ 495 com uma taxa anual de renovação que sai por US$ 200. São valores razoáveis para um produto da categoria.

Mas há uma ressalva importante aqui: o RenderMan, por si só, é um motor de renderização. Para usá-lo, é necessário integrá-lo a um software de modelagem e animação 3D. Maya e Katana são, atualmente, as únicas opções compatíveis oficialmente.

Também é possível utilizá-lo com o Blender (software de modelagem de código-fonte aberto), por exemplo, embora uma ou outra configuração específica possa ser necessária.



Tipos de ataque de phishing

Apesar das suas inúmeras variedades, o denominador comum a todos os ataques de phishing é o recurso a uma pretensão fraudulenta para adquirir elementos de valor. Entre as principais categorias, incluem-se:
  • Spear phishing;
  • Clone phishing;
  • Esquemas nigerianos/419;
  • Phone phishing.
Nos próximos posts vou falar de cada um deles e explicar o que cada um deles é.

link : https://pt.malwarebytes.com/phishing/ (21/11/2020)

sexta-feira, 20 de novembro de 2020

Alexa, uma assistente pessoal

A Alexa como muitos sabem é o nome da assistente virtual da Amazon, e é capaz de executar pedidos e funções básicas como acender luzes, programar alarmes, termostatos e até controlar fechaduras.

A Alexa é uma ferramenta simples e que á primeira vista parecer inútil, mas que com criatividade e tempo de uso torna-se ao seu usuário oque realmente é uma assistente. Podes pedir-lhe para encomendar comida de certas redes de restaurantes,.

A forma como a Alexa funciona é a seguinte, Dizemos em vós alta "Alexa" seguido do nosso pedido ele se perceber vai enviar a informação para os servidores da Amazon, aonde o pedido é processado e reenviado para o usuário, isto muito rapidamente.

Isto mostra que a Alexa é uma ferramenta útil e prática, mas que se o usuário não o quiser também não fica a perder muito.

Python - 3

Por que Python?

  • Python funciona em diferentes plataformas (Windows, Mac, Linux, Raspberry Pi, etc).
  • Python tem uma sintaxe simples semelhante à do idioma inglês.
  • Python tem sintaxe que permite escrever desenvolvedores de programas com menos linhas do que algumas outras linguagens de programação.
  • Python é executado em um sistema interpretador, o que significa que o código pode ser executado assim que é escrito. Isso significa que a prototipagem pode ser muito rápida.
  • Python pode ser tratado de forma procedural, orientada a objetos ou funcional.

Python - 2

O que o Python pode fazer?

  • Python pode ser usado em um servidor para criar aplicativos da web.
  • Python pode ser usado junto com software para criar fluxos de trabalho.
  • Python pode se conectar a sistemas de banco de dados. Ele também pode ler e modificar arquivos.
  • Python pode ser usado para lidar com big data e executar matemática complexa.
  • Python pode ser usado para prototipagem rápida ou para desenvolvimento de software pronto para produção.

Python - 1

O que é Python?

Python é uma linguagem de programação popular. Foi criado por Guido van Rossum e lançado em 1991.

É usado para:

  • desenvolvimento web (lado do servidor),
  • desenvolvimento de software,
  • matemática,
  • script do sistema.

quarta-feira, 18 de novembro de 2020

Como a automação se envolveu na nossa vida

Esta semana auto propus-me a analisar o meu ambiente á minha volta e procurar alguma forma interessante de automação e os resultados foram inacreditáveis, não só me apercebi que a automação é um conceito que se esconde na realidade moderna, mas como ela está presente na maioria dos objetos usados no dia a dia.

Podem estar a pensar que sim que é um pouco óbvio, mas o fato é que está presente desde torradeiras e maquinas de tirar café, até a um simples despertador ,um alarme de incendio, um corretor automático nos telemóveis e até, dou como exemplo em minha casa, uma caldeira eletrónica que aquece a água até uma temperatura pré programada de cerca de 80º Celcius.

Alguns podem pensar que estes não são exemplos de automação, mas eu provo o contrário dizendo que á alguns séculos a traz aquecer água fazer torradas e café eram coisas que se faziam á mão, é como eu disse este conceito tornou-se tão embutido no nosso quotidiano que é indistinguível de outra máquina mais simples, por uma vista desatenta.

terça-feira, 17 de novembro de 2020

[IDS] Jenkins: O que é?

    Jenkins é um servidor de automação gratuito e de código aberto . Ele ajuda a automatizar as partes do desenvolvimento de software relacionadas à construção , teste e implantação , facilitando a integração e entrega contínuas . É um sistema baseado em servidor que é executado em contêineres de servlet como o Apache Tomcat . Ele suporta ferramentas de controle de versão , incluindo AccuRev , CVS , Subversion , Git , Mercurial , Perforce , ClearCasee RTC , e pode executar projetos baseados em Apache Ant , Apache Maven e sbt , bem como scripts de shell arbitrários e comandos em lote do Windows .


O projeto Jenkins foi originalmente chamado de Hudson e foi renomeado após uma disputa com a Oracle , que havia bifurcado o projeto e reivindicado os direitos sobre o nome do projeto. O fork da Oracle, Hudson , continuou a ser desenvolvido por um tempo antes de ser doado à Eclipse Foundation . O Hudson da Oracle não é mais mantido e foi anunciado como obsoleto em fevereiro de 2017. 

Por volta de 2007, o Hudson tornou-se conhecido como a melhor alternativa ao Cruise Control e outros servidores de compilação de código aberto. Na conferência JavaOne em maio de 2008, o software ganhou o Duke's Choice Award na categoria Developer Solutions. 

Em novembro de 2010, após a aquisição da Sun Microsystems pela Oracle , surgiu um problema na comunidade Hudson com relação à infraestrutura usada, que passou a abranger questões sobre a administração e controle da Oracle. As negociações entre os principais contribuintes do projeto e a Oracle ocorreram e, embora houvesse muitas áreas de acordo, um ponto chave foi a marca registrada "Hudson", depois que a Oracle reivindicou o direito ao nome e solicitou uma marca registrada em dezembro de 2010 Como resultado, em 11 de janeiro de 2011, uma chamada para votos foi feita para alterar o nome do projeto de "Hudson" para "Jenkins". A proposta foi aprovada por esmagadora maioria por votação da comunidade em 29 de janeiro de 2011, criando o projeto Jenkins.

Em 1º de fevereiro de 2011, a Oracle disse que pretendia continuar o desenvolvimento do Hudson e considerou o Jenkins um fork em vez de uma renomeação. Jenkins e Hudson, portanto, continuaram como dois projetos independentes,  cada um afirmando que o outro é a bifurcação. Em junho de 2019, a organização Jenkins no GitHub tinha 667 membros do projeto e cerca de 2.200 repositórios públicos, em comparação com os 28 membros do projeto de Hudson e 20 repositórios públicos com a última atualização em 2016. 

Em 2011, o criador Kohsuke Kawaguchi recebeu o prêmio O'Reilly Open Source por seu trabalho no projeto Hudson / Jenkins. 

Em 20 de abril de 2016, a versão 2 foi lançada com o plug-in Pipeline habilitado por padrão. O plugin permite escrever instruções de construção usando uma linguagem específica de domínio baseada no Apache Groovy .

Jenkins substituiu Hudson desde 8 de fevereiro de 2017 no Eclipse. 

Em março de 2018, o projeto de software Jenkins X para Kubernetes foi apresentado publicamente,  com suporte para diferentes provedores de nuvem, incluindo AWS EKS, entre outros. 

segunda-feira, 16 de novembro de 2020

Ramsonware

Ransomware é qualquer software malicioso que impede a vítima de aceder ao seu próprio computador, ou bloqueia o acesso a certos ficheiros guardados no disco rígido. A única maneira de a vítima conseguir aceder novamente aos seus ficheiros é através do pagamento de algumas centenas de dólares em dinheiro de resgate, de acordo com instruções específicas do hacker. Para impedir a vítima de reportar o incidente à polícia, o hacker tentará convencê-la que as próprias autoridades estão envolvidas no crime, e para isto usa logótipos e outras imagens na nota de resgate.

Desde 2013, vários tipos de ransomware infetaram milhões de computadores e redes por todo o mundo, custando aos negócios e instituições financeiras milhares de milhões de dólares. Para evitarem ser apanhados, os hackers começaram a pedir resgates sob a forma de criptomoedas.


link: https://softwarelab.org/pt/cibercrime/

[IDS] Docker: Dockerfile, imagem, distribuição, container e registry

Dockerfile reference

Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.

USAGE

The docker build command builds an image from a Dockerfile and a context. The build’s context is the set of files at a specified location PATH or URL. The PATH is a directory on your local filesystem. The URL is a Git repository location.

A context is processed recursively. So, a PATH includes any subdirectories and the URL includes the repository and its submodules. This example shows a build command that uses the current directory as context:

docker build --tag nomedaimagem:tag .

No directório com o trabalho apresentado em "[IDS] Estrutura do ambiente de desenvolvimento: rplotter", é criado o Dockerfile com o editor VIM:

vim Dockerfile

FROM alpine:3.7
MAINTAINER Guilherme Marcello
LABEL description="Imagem com os exemplos dos artigos do Blogger"
WORKDIR aib/
WORKDIR blogger/
COPY . . 

Para gravar o ficheiro :x

home@marcello:~$ ls
development Dockerfile

Fazemos a build da imagem com o nome aib2021marcello/blogger e a tag rplotter:

home@marcello:~$ docker build --tag aib2021marcello/blogger:rplotter .
...
...
Successfully built 80d3e5712bee
Successfully tagged aib2021marcello/blogger:rplotter

Perfeito! A nossa imagem foi criada e tem o id 80d3e5712bee! Para verificar as imagens que existem localmente usamos o seguinte comando:
 
home@marcello:~$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
aib2021marcello/blogger   rplotter            80d3e5712bee        0 minutes ago      4.21MB
alpine                    3.7                 6d1ef012b567        20 months ago       4.21MB

Sim, criamos uma "distribuição" do alpine linux personalizada com um tamanho de 4.21MB para os projectos no blogger de AIB!
Para corrermos a "distribuição" em container com o nome primeirocontainer e de forma interativa (iniciamos uma sessão em shell do container) usamos o comando:
 
home@marcello:~$ docker run --name primeirocontainer -it aib2021marcello/blogger:rplotter
/aib/blogger$ ls
Dockerfile   development
/aib/blogger$ exit
home@marcello:~$

 O que isso significa? QUALQUER pessoa com a imagem que fizemos vai ter o mesmo sistema a correr!
 E então...? QUALQUER pessoa com a imagem vai ter o mesmo ambiente, com as mesmas definições!
 Sim...e? QUALQUER pessoa com a imagem vai correr os projectos da MESMA forma!

 Problemas do tipo "preciso da versão X do java para compilar e fazer a build do projecto da empresa YYY...que chatice!" deixam de existir e assim temos maior agilidade no desenvolvimento, debug e deploy! 

 Mas tenho a minha imagem gravada localmente, como alguém pode descarregar a minha imagem e correr um container? Fazemos um push para um registry no Docker Hub, por exemplo. No Docker Hub criei uma conta com o username aib2021marcello e criei um repositório público (qualquer pessoa com docker pode fazer pull da minha imagem) com o nome blogger (sim, o mesmo nome da imagem que fizemos, aib2021marcello/blogger). Assim, podemos fazer o push da nossa imagem para o Docker Hub! 
    1. Primeiro é preciso fazer o login (autenticação) com a nossa conta do Docker Hub (com as mesmas credenciais):

home@marcello:~$ docker login
...
...
Login Succeeded

    2. Depois fazemos o push da nossa imagem:

home@marcello:~$ docker push aib2021marcello/blogger:rplotter

    3. Verificar se a imagem está no Docker Hub:

    4. Fazer pull da imagem no registry (poderia ser feito em qualquer computador com docker, sem precisar da autenticação, uma vez que o repositório é público):

home@marcello:~$ docker pull aib2021marcello/blogger:rplotter

    5. Começar a dockerizar o que quiser!

Linguagens de Programação: Entrada 4 - Bibliotecas

O que são Bibliotecas?

Enquanto A Referência da Linguagem Python descreve a sintaxe e a semântica exatas da linguagem Python, este manual de referência de bibliotecas descreve a biblioteca padrão que é distribuída com o Python. Ele também descreve alguns dos componentes opcionais que são comumente incluídos nas distribuições do Python.

A biblioteca padrão do Python é muito extensa, oferecendo uma ampla gama de recursos. A biblioteca contém módulos embutidos que fornecem acesso à funcionalidade do sistema, como E/S de arquivos que de outra forma seriam inacessíveis para programadores Python, bem como módulos escritos em Python que fornecem soluções padronizadas para muitos problemas que ocorrem em programação cotidiana. Alguns desses módulos são explicitamente projetados para incentivar e aprimorar a portabilidade de programas em Python, abstraindo os detalhes da plataforma em APIs neutras em plataforma.

Os instaladores do Python para a plataforma Windows geralmente incluem toda a biblioteca padrão e muitas vezes também incluem muitos componentes adicionais. Para sistemas operacionais semelhantes a Unix, o Python é normalmente fornecido como uma coleção de pacotes, portanto, pode ser necessário usar as ferramentas de empacotamento fornecidas com o sistema operacional para obter alguns ou todos os componentes opcionais.

Para além da biblioteca padrãoexistem muitas outras que podem ser importadas, como por exemplo: matplotlib.

com o codigo: import matplotlib.pyplot as plt




domingo, 15 de novembro de 2020

Bebras - Castor Informático: O que é?



"Bebras - Castor Informático" é uma iniciativa internacional destinada a promover a Informática (Ciência de Computadores) e o pensamento computacional. Foi desenhado para motivar alunos de todo o mundo e de todas as idades mesmo que não tenham experiência prévia.





O que é o Pensamento Computacional?

O pensamento computacional é um conjunto de técnicas de resolução de problemas que envolve a maneira de expressar um problema e a sua solução de maneira a que um agente de informação (por exemplo um computador) a possa executar. É muito mais do que simplesmente saber programar e envolve vários níveis de abstração e as capacidades mentais que são necessárias para não só desenhar programas e aplicações, mas também saber explicar e interpretar um mundo como um sistema complexo de processos de informação.

Finalização da PT02!

Por fim, termino a PT02!



Bebras - Castor Informático: O que é?

    O Bebras - Castor informático é conhecido como um Desafio Internacional de Pensamento Computacional. 
    Uma iniciativa de aplicar informática a problemas matemáticos em 2004 na Lituânia originou, em 2004, o Bebras, mas que no entanto foi alastrando para mais de outros 50 países. Com esta iniciativa, alunos de todas as idades podem participar neste desafio (sendo que o ano passado participaram mais de 2,5 milhões de estudantes!) e são assim, de certa forma, motivados para esta temática, promovendo o pensamento computacional, "a nova literacia do século XXI".


    


    Na minha opinião, acho este desafio algo único e inovador, ainda por cima sendo que engloba uma enorme faixa etária (desde o 1ºciclo de escolaridade até ao ensino secundário). 
    A "capacidade de partir um problema complexo em problemas mais simples, o desenho de algoritmos, o reconhecimento de padrões ou a capacidade de generalizar e abstrair" são várias habilidades que devem ser desenvolvidas por cada um, desde pequeno, e o Bebras faz exatamente isso!


Terminei a minha PT02!






Bem, Terminei a minha PT02!

Plugin de Construção

  Na maioria das construções feitas em minecraft há partes que podiam ser feitas por um computador. É sempre melhor ter o trabalho feito por computador do que pelo esforço de uma pessoa. A pensar nisto foi criado o plugin WorldEdit.




  Este plugin é usado principalmente para construções. É possível fazer muitas construções facilmente, desde figuras regulares apenas com um comando até o preenchimento de grandes áreas num piscar de olhos.




Spigot-API: https://helpch.at/docs/1.8.8 (Consultado a 15/11/2020)
Dependência do minecraft da versão 1.8.8: https://getbukkit.org/get/hNiHm0tuqAg1Xg7w7zudk63uHr0xo48D (Consultado a 15/11/2020)
Página do WorldEdithttps://dev.bukkit.org/projects/worldedit (Consultado a 15/11/2020)

Imagens:

PT02

Acabei

Plugin Essencial

  A maioria dos plugins servem para desempenhar funções específicas. No entanto, existem plugins que desempenham funções gerais e essenciais para qualquer servidor. O mais famoso chama-se Essentials e é o que eu sempre usei.



  Concede várias opções que permitem um servidor funcionar. Uma delas é a criação de homes e warps que são ambos sistemas úteis para teletransporte. Também permite deixar os jogadores mais rápidos ao andar e ao voar e ainda possui um sistema de pedidos de teletransporte.


Spigot-API: https://helpch.at/docs/1.8.8 (Consultado a 15/11/2020)
Dependência do minecraft da versão 1.8.8: https://getbukkit.org/get/hNiHm0tuqAg1Xg7w7zudk63uHr0xo48D (Consultado a 15/11/2020)
Página do Essentialshttps://dev.bukkit.org/projects/essentials (Consultado a 15/11/2020)

Imagens:

IPhone 7

    O IPhone 7 mais uma vez anunciado pela empresa Apple, quanto aos seus antecessores, o IPhone 7 tinha uma mais cores, resistência à água entrada de fones 3.5mm  e mudanças quanto ao hardware e software.
    Caraterísticas :
  • Sistema Operativo: iOS 13
  • Dimensões: 138.3 x 67.1 x 7.1 mm
  • Peso: 138 gramas
  • Cartão SIM: Nano
  • Quad Band (850/900/1800/1900)
  • Processador: Quad-core
  • Memória RAM: 2 GB
  • Armazenamento: 256 GB
  • Resolução da tela: 750 x 1334 pixel
  • FPS: 60 Hz
  • Cores: 16 milhões
  • Megapixéis da câmara: 12 Mp
  • Resolução da câmara: 4608 x 2592 pixel
  • Megapixéis da câmara frontal: 7 Mp
  • Resolução da gravação: 4K (2160p)
  • FPS da gravação: 30 fps
  • 240 fps
  • Vídeo da câmara frontal:  Full HD, 30fps
  • Wi-fi: 802.11 a/b/g/n/ac
  • Bluetooth:  4.2 com A2DP/LE
  • GPS: A-GPS/GLONASS
  • Utilização da bateria 840 minutos e 240 horas em standby com 1960 mAh.


Opinião sobre o Bebras

  Na segunda feira dia 15 de novembro de 2020, fizemos o desafio do Bebras. Este desafio consiste na realização de um teste com diversas perguntas de diferentes dificuldades.




  Gostei muito deste desafio, pois o pensamento computacional chama-me à atenção e considero um tema interessante. É sempre divertido testar as nossas capacidades mentais, especialmente se houver uma relação com a dos computadores. No entanto, senti que havia pouco tempo para acabar a prova.

Site do Bebras: http://bebras.dcc.fc.up.pt/about.html (Consultado a 15/11/2020)

Imagens:

Acabei a Proposta de Trabalho 02


C++

Bjarne Stroustrup desenvolveu o C++ (originalmente com o nome C with Classes, que significa C com classes em português) em 1983 no Bell Labs como um adicional à linguagem C. Novas características foram adicionadas com o tempo, como funções virtuais, sobrecarga de operadores, herança multipla, gabaritos e tratamento de exceções. Após a padronização ISO realizada em 1998 e a posterior revisão realizada em 2003, uma nova versão da especificação da linguagem foi lançada em dezembro de 2014, conhecida informalmente como C++