A IA pode lutar contra o aumento do número de ataques de ransomware
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
Taiga é um aplicativo gratuito e de código aberto para gerenciamento de projetos. Ao contrário de outras ferramentas de gerenciamento de projetos, o Taiga usa uma abordagem ágil incremental para gerenciar o desenvolvimento do projeto. Taiga é uma aplicação muito poderosa e totalmente personalizável. O backend do Taiga é escrito em Python usando a estrutura do Django. O frontend é escrito em JavaScript usando as estruturas CoffeeScript e AngularJS. O Taiga inclui recursos como colaboração em projetos, quadro Kanban, rastreamento de bugs, relatórios, rastreamento de tempo, registros em atraso, wiki e muito mais.
Neste tutorial, usaremos taiga.example.com
como o nome de domínio apontado para o servidor. Substitua todas as ocorrências de taiga.example.com
pelo seu nome de domínio real.
Atualize seu sistema base usando o guia Como atualizar o Ubuntu 16.04 . Depois que seu sistema for atualizado, continue com a instalação do PostgreSQL.
O PostgreSQL é um sistema de banco de dados objeto-relacional e conhecido por sua estabilidade e velocidade. O Taiga usa o PostgreSQL para armazenar seu banco de dados. Adicione o repositório PostgreSQL ao sistema.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
Importe a chave de assinatura GPG e atualize as listas de pacotes.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Instale o servidor de banco de dados PostgreSQL.
sudo apt -y install postgresql
Inicie o servidor PostgreSQL e ative-o automaticamente no momento da inicialização.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Mude a senha do usuário padrão do PostgreSQL.
sudo passwd postgres
Efetue login como usuário do PostgreSQL.
sudo su - postgres
Crie um novo usuário do PostgreSQL para o Taiga.
createuser taiga
O PostgreSQL fornece o psql
shell para executar consultas no banco de dados. Mude para o shell do PostgreSQL.
psql
Defina uma senha para o usuário recém-criado para o banco de dados Taiga.
ALTER USER taiga WITH ENCRYPTED password 'DBPassword';
Substitua DBPassword
por uma senha segura. Crie um novo banco de dados para a instalação do Taiga.
CREATE DATABASE taiga OWNER taiga;
Saia do psql
shell.
\q
Mude para o sudo
usuário.
exit
O Taiga requer o Python versão 3.4 ou posterior e o Python 3.5 vem pré-instalado na distribuição Ubuntu 16.04. Instale mais alguns pacotes necessários.
sudo apt -y install python3 python3-pip python3-dev python3-dev virtualenvwrapper
O ambiente virtual Python é usado para criar um ambiente virtual isolado para um projeto Python. Um ambiente virtual contém seus próprios diretórios de instalação e não compartilha bibliotecas com ambientes globais e outros ambientes virtuais. Depois que o Python 3 tiver sido instalado com sucesso, você poderá verificar sua versão.
python3 -V
Você verá o seguinte.
user@vultr:~$ python3 -V
Python 3.5.2
Upgrade pip
, que é um aplicativo de gerenciador de dependências.
sudo pip3 install --upgrade setuptools pip
Além disso, instale algumas ferramentas de construção que serão necessárias posteriormente para compilar as dependências.
sudo apt -y install build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool libffi-dev curl git tmux gettext
Taiga usa RabbitMQ para processar a fila de mensagens. O RabbitMQ requer que as bibliotecas do Erlang funcionem. Instale o Erlang.
sudo apt -y install erlang
Adicione o repositório RabbitMQ.
echo 'deb http://www.rabbitmq.com/debian/ stable main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
Importe a chave de assinatura RabbitMQ GPG.
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
Atualize as informações do repositório.
sudo apt update
Instale o RabbitMQ.
sudo apt -y install rabbitmq-server
Inicie e ative o servidor RabbitMQ.
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
Adicione um usuário e vhost RabbitMQ. Além disso, forneça permissão ao usuário sobre o host.
sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Certifique-se de substituir StrongMQPassword
por uma senha segura.
O Node.js. versão 7 ou posterior é necessário para compilar o frontend do Taiga. Adicione o repositório do Node.js. versão 8.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Instale o Node.js e o pwgen
utilitário.
sudo apt install -y nodejs pwgen npm
pwgen
será usado posteriormente para gerar uma forte cadeia secreta. Instale o CoffeeScript, pois ele será usado para compilar arquivos Taiga escritos na estrutura do CoffeeScript.
sudo npm install -g coffee-script gulp
Adicione um novo usuário do sistema ao Taiga para garantir que os processos do Taiga estejam em execução como um usuário não privilegiado.
sudo adduser taiga
sudo su - taiga
Nota : A partir de agora, todos os comandos precisam ser executados como usuário não privilegiado taiga
até que você seja solicitado a voltar ao sudo
usuário.
Crie um novo diretório para armazenar os arquivos de log.
mkdir -p ~/logs
Clone o repositório de back-end do Taiga no GitHub e faça check-out da última ramificação estável.
git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable
Agora crie um novo ambiente virtual para o Taiga usando o Python 3.
mkvirtualenv -p /usr/bin/python3 taiga
pip3 install --upgrade setuptools
Instale as dependências necessárias do Python usando pip
.
pip3 install -r requirements.txt
Preencha o banco de dados com os dados iniciais necessários.
python3 manage.py migrate --noinput
python3 manage.py loaddata initial_user
python3 manage.py loaddata initial_project_templates
python3 manage.py compilemessages
python3 manage.py collectstatic --noinput
Os comandos acima gravam dados no banco de dados PostgreSQL. O Taiga também envia alguns dados de demonstração ou amostra que podem ser úteis para avaliar o produto. Se você deseja instalar os dados de amostra, execute o seguinte.
python3 manage.py sample_data
Nota : A instalação de dados de amostra é opcional e destina-se apenas à avaliação do produto.
Antes de continuarmos a criar o arquivo de configuração para o back-end do Taiga, precisamos gerar uma sequência secreta. Essa sequência será usada para criptografar os dados da sessão.
Gere uma sequência aleatória de 64 caracteres.
pwgen -s -1 64
Você deve ver a saída como uma sequência aleatória.
(taiga) taiga@vultr:~/taiga-back$ pwgen -s -1 64
fhDfyYVJ4EH3tvAyUzmfWSeCXuf5sy5EEWrMQPaf9t3JSFrpiL6yvUEOWsFOTscP
Crie um novo arquivo de configuração para o Taiga Backend.
nano ~/taiga-back/settings/local.py
Preencha o arquivo com o seguinte código.
from .common import *
MEDIA_URL = "https://taiga.example.com/media/"
STATIC_URL = "https://taiga.example.com/static/"
SITES["front"]["scheme"] = "https"
SITES["front"]["domain"] = "taiga.example.com"
SECRET_KEY = "Generated_Secret_Key"
DEBUG = False
PUBLIC_REGISTER_ENABLED = True
DEFAULT_FROM_EMAIL = "[email protected]"
SERVER_EMAIL = DEFAULT_FROM_EMAIL
#CELERY_ENABLED = True
EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga"}
# Uncomment and populate with proper connection parameters
# for enable email sending. EMAIL_HOST_USER should end by @domain.tld
#EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
#EMAIL_USE_TLS = False
#EMAIL_HOST = "mail.example.com"
#EMAIL_HOST_USER = "[email protected]"
#EMAIL_HOST_PASSWORD = "SMTPPassword"
#EMAIL_PORT = 25
# Uncomment and populate with proper connection parameters
# for enable github login/singin.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"
Certifique-se de substituir o example domain name
atual pelo código acima. Além disso, substitua Generated_Secret_Key
pela chave secreta real e StrongMQPassword
pela senha real do usuário da fila de mensagens do Taiga. Se você possui um servidor SMTP pronto e deseja usar os recursos de envio de email imediatamente, remova o comentário das opções de email e defina o valor apropriado. Se você não tiver um servidor de correio pronto, poderá pular a configuração do recurso de email por enquanto e configurá-lo posteriormente neste arquivo de configuração.
Se você deseja habilitar o login no GitHub, crie um aplicativo no GitHub e forneça o ID do cliente da API e o segredo do cliente.
Para verificar imediatamente se o backend do Taiga pode ser iniciado, execute o servidor Django embutido.
workon taiga
python manage.py runserver
Você verá a seguinte saída se o servidor foi iniciado com êxito.
(taiga) taiga@vultr:~/taiga-back$ workon taiga
(taiga) taiga@vultr:~/taiga-back$ python manage.py runserver
Trying import local.py settings...
Trying import local.py settings...
Performing system checks...
System check identified no issues (0 silenced).
October 28, 2017 - 10:29:38
Django version 1.10.6, using settings 'settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Para verificar se a API pode ser acessada, abra outra sessão do terminal e execute o seguinte.
curl http://127.0.0.1:8000/api/v1/
Você verá resultados semelhantes retornados pela chamada da API.
user@vultr:~$ curl http://127.0.0.1:8000/api/v1/
{"webhooks": "http://127.0.0.1:8000/api/v1/webhooks", "invitations": "http://127.0.0.1:8000/api/v1/invitations", "severities": "http://127.0.0.1:8000/api/v1/severities", "memberships": "http://127.0.0.1:8000/api/v1/memberships", "user-storage": "http://127.0.0.1:8000/api/v1/user-storage", "epics/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/epics/(?P<resource_id>\\d+)/voters", "wiki": "http://127.0.0.1:8000/api/v1/wiki", "priorities": "http://127.0.0.1:8000/api/v1/priorities", "userstories/attachments": "http://127.0.0.1:8000/api/v1/userstories/attachments", "epics/(?P<epic>[^/.]+)/related_userstories": "http://127.0.0.1:8000/api/v1/epics/(?P<epic>[^/.]+)/related_userstories", "timeline/user": "http://127.0.0.1:8000/api/v1/timeline/user", "userstories/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/userstories/(?P<resource_id>\\d+)/voters", "wiki-links": "http://127.0.0.1:8000/api/v1/wiki-links", "epics/attachments": "http://127.0.0.1:8000/api/v1/epics/attachments", "issues/custom-attributes-values": "http://127.0.0.1:8000/api/v1/issues/custom-attributes-values
Pare o servidor de back-end do Taiga pressionando " ctrl + C
" e desative o ambiente virtual.
deactivate
O front end do Taiga é o componente do Taiga que serve a interface do usuário da Web. Clone o repositório front-end do Taiga no Github e faça check-out da última ramificação estável.
cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist
git checkout stable
Crie um novo arquivo de configuração para o front end do Taiga.
nano ~/taiga-front-dist/dist/conf.json
Preencher o arquivo.
{
"api": "https://taiga.example.com/api/v1/",
"eventsUrl": "wss://taiga.example.com/events",
"eventsMaxMissedHeartbeats": 5,
"eventsHeartbeatIntervalTime": 60000,
"eventsReconnectTryInterval": 10000,
"debug": true,
"debugInfo": false,
"defaultLanguage": "en",
"themes": ["taiga"],
"defaultTheme": "taiga",
"publicRegisterEnabled": true,
"feedbackEnabled": true,
"privacyPolicyUrl": null,
"termsOfServiceUrl": null,
"maxUploadFileSize": null,
"contribPlugins": [],
"tribeHost": null,
"importers": [],
"gravatar": true
}
Certifique-se de substituir o example domain
pelo domínio real. Você também pode alterar o idioma padrão e outros parâmetros na configuração acima.
Além do front-end e back-end, também precisamos instalar os eventos do Taiga. O Taiga events é um servidor de soquete da Web e permite que o frontend do Taiga mostre alterações em tempo real em módulos como backlog, Kanban e mais. Ele também usa o servidor RabbitMQ para processamento de mensagens.
Clone o repositório de eventos Taiga no Github.
cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
Instale as dependências do Node.js. usando npm
.
npm install
Crie um novo arquivo de configuração para eventos do Taiga.
nano ~/taiga-events/config.json
Preencher o arquivo.
{
"url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
"secret": "Generated_Secret_Key",
"webSocketServer": {
"port": 8888
}
}
Substitua Generated_Secret_Key
pela chave secreta real de 64 caracteres que você gerou anteriormente. A chave secreta deve ser exatamente a mesma que você forneceu no arquivo de configuração de back-end do Taiga. Além disso, atualize StrongMQPassword
com a senha real para o usuário da fila de mensagens do Taiga.
Circus é um gerenciador de processos para aplicativos Python. Usaremos o Circus para executar o backend e os eventos da Taiga.
Volte para o sudo
usuário.
exit
Nota : A partir de agora você precisará executar os comandos usando o sudo
usuário.
sudo apt -y install circus
Crie um novo arquivo de configuração do Circus para executar o back-end do Taiga.
sudo nano /etc/circus/conf.d/taiga.ini
Preencher o arquivo.
[watcher:taiga]
working_dir = /home/taiga/taiga-back
cmd = gunicorn
args = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/gunicorn.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 4
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/gunicorn.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 4
[env:taiga]
PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH
TERM=rxvt-256color
SHELL=/bin/bash
USER=taiga
LANG=en_US.UTF-8
HOME=/home/taiga
PYTHONPATH=/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages
Crie uma nova configuração do Circus para executar o Taiga Events.
sudo nano /etc/circus/conf.d/taiga-events.ini
Preencher o arquivo.
[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/local/bin/coffee
args = index.coffee
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/taigaevents.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 12
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/taigaevents.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 12
Reinicie o Circus e permita iniciar automaticamente no momento da inicialização.
sudo systemctl restart circusd
sudo systemctl enable circusd
Verifique o status do Circus.
circusctl status
Se o Circus iniciou todos os processos do Taiga corretamente, você verá a seguinte saída.
user@vultr:~$ circusctl status
circusd-stats: active
plugin:flapping: active
taiga: active
taiga-events: active
Se você vir algum processo inativo, execute sudo chmod -R 777 /home/taiga/logs
e reinicie o Circus. Verifique o status dos processos do Circus novamente, desta vez você definitivamente encontrará o serviço em execução.
Agora, temos o Taiga instalado e funcionando com sucesso. Antes de podermos usá-lo, precisamos expor a instalação usando qualquer servidor Web de produção.
Usaremos o Nginx como um proxy reverso para servir o aplicativo aos usuários. Também obteremos e instalaremos certificados SSL no Let's Encrypt.
Certbot é o cliente oficial de emissão de certificados para Let's Encrypt CA. Adicione o repositório Certbot PPA ao sistema.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Instale o Nginx e o Certbot.
sudo apt -y install nginx certbot
Nota : Para obter certificados da Let's Encrypt CA, você deve garantir que o domínio para o qual você deseja gerar os certificados esteja apontado para o servidor. Caso contrário, faça as alterações necessárias nos registros DNS do seu domínio e aguarde a propagação do DNS antes de fazer a solicitação de certificado novamente. O Certbot verifica a autoridade do domínio antes de fornecer os certificados.
Agora use o servidor da Web incorporado no Certbot para gerar os certificados para o seu domínio.
sudo certbot certonly --standalone -d taiga.example.com
Os certificados gerados provavelmente serão armazenados no /etc/letsencrypt/live/taiga.example.com/
diretório O certificado SSL será retido como fullchain.pem
e a chave privada será salva como privkey.pem
.
Os certificados Let's Encrypt expiram em 90 dias, portanto, é recomendável configurar a renovação automática para os certificados usando trabalhos Cron. Cron é um serviço do sistema usado para executar tarefas periódicas.
Abra o arquivo de tarefa cron.
sudo crontab -e
Adicione a seguinte linha.
0 0 * * * /usr/bin/certbot renew --quiet
O trabalho cron acima será executado diariamente à meia-noite. Se o certificado estiver vencido, ele renovará automaticamente os certificados.
Gere um forte parâmetro Diffie-Hellman. Ele fornece uma camada extra de segurança para troca de dados entre host e servidor.
sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048
Crie um novo bloco de servidor Nginx para atender ao frontend do Taiga.
sudo nano /etc/nginx/sites-available/taiga
Preencha o arquivo com o seguinte.
server {
listen 80;
server_name taiga.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name taiga.example.com;
access_log /home/taiga/logs/nginx.access.log;
error_log /home/taiga/logs/nginx.error.log;
large_client_header_buffers 4 32k;
client_max_body_size 50M;
charset utf-8;
index index.html;
# Frontend
location / {
root /home/taiga/taiga-front-dist/dist/;
try_files $uri $uri/ /index.html;
}
# Backend
location /api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8001/api;
proxy_redirect off;
}
location /admin {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8001$request_uri;
proxy_redirect off;
}
# Static files
location /static {
alias /home/taiga/taiga-back/static;
}
# Media files
location /media {
alias /home/taiga/taiga-back/media;
}
location /events {
proxy_pass http://127.0.0.1:8888/events;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
}
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header Public-Key-Pins 'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; max-age=2592000; includeSubDomains';
ssl on;
ssl_certificate /etc/letsencrypt/live/taiga.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/taiga.example.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
ssl_session_cache shared:SSL:10m;
ssl_dhparam /etc/ssl/dhparam.pem;
ssl_stapling on;
ssl_stapling_verify on;
}
Certifique-se de alterar domain name
oe o path to the SSL certificates
. Habilite o host virtual.
sudo ln -s /etc/nginx/sites-available/taiga /etc/nginx/sites-enabled/taiga
Agora você pode reiniciar o servidor da web Nginx e permitir que ele inicie automaticamente na inicialização.
sudo systemctl restart nginx
sudo systemctl status nginx
Por fim, corrija a propriedade e a permissão nos arquivos Taiga.
sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/
Agora você pode acessar a instalação do Taiga acessando https://taiga.example.com
. Faça login usando a conta de administrador inicial com nome de usuário " admin
" e senha " 123123
". Sua instalação está pronta para uso em produção. Comece criando um novo projeto ou avaliando o produto. Se você já estiver gerenciando um projeto no Github, Jira ou Trello, poderá importar facilmente os projetos para o Taiga usando os importadores .
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.