Concourse CI:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

Johdanto

Jatkuva integrointi on DevOps-ohjelmistokehityskäytäntö, jonka avulla kehittäjät voivat usein yhdistää muokatun koodin jaettuun arkistoon useita kertoja päivässä. Jokaisen yhdistämisen jälkeen suoritetaan automaattiset koontiversiot ja testit koodin ongelmien havaitsemiseksi. Sen avulla kehittäjät voivat löytää ja ratkaista virheet nopeasti parantaakseen ohjelmiston laatua ja tarjotakseen ohjelmiston jatkuvan toimituksen. Concoursen vaihtaminen edestakaisin on erittäin helppoa, koska se säilyttää kaikki kokoonpanonsa deklaratiivisissa tiedostoissa, jotka voidaan tarkistaa versionhallintaan. Se tarjoaa myös verkkokäyttöliittymän, joka näyttää koontitiedot interaktiivisesti.

Kokouskomponentit.
  • ATC on kokouksen pääkomponentti. Se vastaa verkkokäyttöliittymän ja API:n käyttämisestä. Se huolehtii myös kaikista putkien aikatauluista.
  • TSA on räätälöity SSH-palvelin. Se on vastuussa työntekijän turvallisesta rekisteröinnistä ATC:hen.
  • Workersilla on lisäksi kaksi erilaista palvelua:
    1. Garden on konttiajoaika ja käyttöliittymä konttien etäohjausta varten työntekijällä.
    2. Baggageclaim on välimuistin ja esineiden hallintapalvelin.
  • Fly on komentorivikäyttöliittymä, jota käytetään vuorovaikutuksessa ATC:n kanssa Concourse Pipelinesin määrittämiseksi.

Edellytykset

Muista korvata kaikki esiintymät 192.0.2.1 ja ci.example.com varsinaisella Vultr julkisen IP-osoitteen ja varsinainen verkkotunnus.

Päivitä perusjärjestelmäsi Ubuntu 16.04:n päivittäminen -oppaan avulla . Kun järjestelmäsi on päivitetty, jatka PostgreSQL:n asentamista.

Asenna ja määritä PostgreSQL-tietokanta

PostgreSQL on objektirelaatiotietokantajärjestelmä. Concourse tallentaa putkistotietonsa PostgreSQL-tietokantaan. Lisää PostgreSQL-arkisto.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Asenna PostgreSQL-tietokantapalvelin.

sudo apt -y install postgresql

Käynnistä PostgreSQL-palvelin ja ota se käyttöön automaattisesti käynnistyksen yhteydessä.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Vaihda PostgreSQL-oletuskäyttäjän salasana.

sudo passwd postgres

Kirjaudu sisään PostgreSQL-käyttäjänä:

sudo su - postgres

Luo uusi PostgreSQL-käyttäjä Concourse CI:lle.

createuser concourse

Huomautus : PostgreSQL-oletuskäyttäjää voidaan käyttää tietokannan todentamiseen, mutta on suositeltavaa käyttää erityistä käyttäjää Concourse-tietokannan todentamiseen tuotantoasetuksissa.

PostgreSQL tarjoaa komentotulkin kyselyjen suorittamiseen tietokannassa. Vaihda PostgreSQL-kuoreen.

psql

Aseta salasana äskettäin luodulle Concourse-tietokannan käyttäjälle.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Tärkeää : Korvaa DBPassword vahvalla salasanalla. Kirjoita salasana muistiin, koska sitä tarvitaan myöhemmin opetusohjelmassa.

Luo uusi tietokanta Concourselle.

CREATE DATABASE concourse OWNER concourse;

Poistu psql kuoresta.

\q

Vaihda nykyisestä postgreskäyttäjästä sudo- käyttäjään.

exit

Lataa ja asenna Concourse CI

Lataa Concourse-suoritettavan tiedoston uusin versio ja tallenna se, /usr/bin jotta se voidaan suorittaa suoraan. Concourse- ja Fly-binäärien uusin versio löytyy Concoursen lataussivulta . Uusia julkaisuja tulee hyvin usein. Korvaa alla oleva linkki uusimman version uudella linkillä.

sudo wget https://github.com/concourse/concourse/releases/download/v3.10.0/concourse_linux_amd64 -O /usr/bin/concourse

Lataa vastaavasti viimeisin versio fly-suoritustiedostosta ja tallenna se /usr/bin.

sudo wget https://github.com/concourse/concourse/releases/download/v3.10.0/fly_linux_amd64 -O /usr/bin/fly

Fly on komentoriviliittymä, jota käytetään yhteyden muodostamiseen Concourse CI:n ATC API:hen. Fly on saatavilla useille alustoille, kuten Linux, Windows ja MacOS.

Määritä suorituslupa ladatuille concourse ja fly binääritiedostoille.

sudo chmod +x /usr/bin/concourse /usr/bin/fly

Tarkista, toimivatko Concourse ja Fly oikein tarkistamalla niiden versio.

concourse -version
fly -version

Luo ja määritä RSA-avaimia

RSA-avainparit tarjoavat tavan salata Concoursen komponenttien välinen viestintä.

Jotta Concourse toimisi, on luotava vähintään kolme paria avaimia. Istuntotietojen salaamiseksi luo session_signing_key. TSA käyttää tätä avainta myös ATC:lle tekemiensä pyyntöjen allekirjoittamiseen. Suojaa TSA SSH -palvelin luomalla tsa_host_key. Luo lopuksi worker_key jokaiselle työntekijälle.

Luo uusi hakemisto Concourse CI:hen liittyvien avainten ja asetusten tallentamiseksi.

sudo mkdir /opt/concourse

Luo tarvittavat avaimet.

sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/session_signing_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/worker_key

Valtuuta työntekijöiden julkinen avain kopioimalla sen sisältö authorized_worker_keys tiedostoon.

sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys

Kokous alkaa

Concourse tarjoaa kaksi erillistä komponenttia, jotka on aloitettava: web ja worker. Käynnistä Concourse-verkko.

sudo concourse web \
  --basic-auth-username admin \
  --basic-auth-password StrongPass \
  --session-signing-key /opt/concourse/session_signing_key \
  --tsa-host-key /opt/concourse/tsa_host_key \
  --tsa-authorized-keys /opt/concourse/authorized_worker_keys \
  --postgres-user=concourse \
  --postgres-password=DBPassword \
  --postgres-database=concourse \
  --external-url http://192.0.2.1:8080

Vaihda käyttäjänimi ja salasana basic-auth halutessasi. Varmista, että avaintiedostojen polku on oikea, ja varmista, että PostgreSQL-tietokannan kokoonpanon käyttäjätunnukselle ja salasanalle on annettu oikea arvo.

Huomautus : ATC kuuntelee oletusporttia 8080 ja TSA kuuntelee porttia 2222. Jos todennusta ei haluta, ohita --no-really-i-dont-want-any-authvaihtoehto sen jälkeen, kun olet poistanut perustodennusvaihtoehdot.

Kun verkkopalvelin on käynnistetty, seuraava tulos näytetään.

{"timestamp":"1503657859.661247969","source":"tsa","message":"tsa.listening","log_level":1,"data":{}}
{"timestamp":"1503657859.666907549","source":"atc","message":"atc.listening","log_level":1,"data":{"debug":"127.0.0.1:8079","http":"0.0.0.0:8080"}}

Pysäytä palvelin toistaiseksi, sillä muutamia asioita on vielä määritettävä.

Käynnistä Concourse CI Worker.

sudo concourse worker \
  --work-dir /opt/concourse/worker \
  --tsa-host 127.0.0.1 \
  --tsa-public-key /opt/concourse/tsa_host_key.pub \
  --tsa-worker-private-key /opt/concourse/worker_key

Yllä oleva komento olettaa, että TSA on käynnissä localhostissa ja kuuntelee oletusporttia 2222.

Vaikka Concourse web ja worker voidaan käynnistää helposti yllä olevilla komennoilla, on suositeltavaa käyttää Systemdiä palvelimen hallintaan.

Määritä ympäristö ja järjestelmäpalvelu

Systemd-palvelun käyttäminen sovelluksen hallintaan varmistaa, että sovellus käynnistyy automaattisesti vikatilanteissa ja käynnistyksen yhteydessä. Concourse-palvelin ei ota tietoja mistään asetustiedostosta, mutta sillä on pääsy tietoihin ympäristömuuttujista. Globaalien ympäristömuuttujien asettamisen sijaan luo uusi tiedosto ympäristömuuttujien tallentamiseksi ja välitä sitten muuttujat Concourse CI:lle Systemd-palvelun avulla.

Luo uusi ympäristötiedosto Concourse webille.

sudo nano /opt/concourse/web.env

Täytä tiedosto.

CONCOURSE_SESSION_SIGNING_KEY=/opt/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/opt/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/opt/concourse/authorized_worker_keys

CONCOURSE_POSTGRES_USER=concourse
CONCOURSE_POSTGRES_PASSWORD=DBPassword
CONCOURSE_POSTGRES_DATABASE=concourse

CONCOURSE_BASIC_AUTH_USERNAME=admin
CONCOURSE_BASIC_AUTH_PASSWORD=StrongPass
CONCOURSE_EXTERNAL_URL=http://192.0.2.1:8080

Change the username and password of the BASIC_AUTH if desired. Make sure that the path to the key files are correct and make sure that the correct value for username and password in the PostgreSQL database configuration is provided.

Similarly, create an environment file for the worker.

sudo nano /opt/concourse/worker.env

Populate the file.

CONCOURSE_WORK_DIR=/opt/concourse/worker
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/opt/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/opt/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1

As the environment files contain usernames and passwords, change its permissions so that it cannot be accessed by other users.

sudo chmod 600 /opt/concourse/*.env

Now create a new user for Concourse to run the web environment. This will ensure that the web server is running in an isolated environment.

sudo useradd concourse

Give the concourse user ownership over Concourse CI file's directory.

sudo chown -R concourse:concourse /opt/concourse

Create a new systemd service file for the Concourse web service.

sudo nano /etc/systemd/system/concourse-web.service

Populate the file.

[Unit]
Description=Concourse CI web server

[Service]
Type=simple
User=concourse
Group=concourse
Restart=on-failure
EnvironmentFile=/opt/concourse/web.env
ExecStart=/usr/bin/concourse web
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_web

[Install]
WantedBy=multi-user.target

Save and close the file. Create a new service file for the Concourse worker service.

sudo nano /etc/systemd/system/concourse-worker.service

Populate the file.

[Unit]
Description=Concourse CI worker process

[Service]
Type=simple
Restart=on-failure
EnvironmentFile=/opt/concourse/worker.env
ExecStart=/usr/bin/concourse worker
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_worker

[Install]
WantedBy=multi-user.target

The web and worker service can now be started directly.

sudo systemctl start concourse-web concourse-worker

To enable the worker and web process to automatically start at boot time, run the following.

sudo systemctl enable concourse-worker concourse-web

To check the status of services, run the following.

sudo systemctl status concourse-worker concourse-web

If the service is not started, or in the FAILED state, remove the cache from the /tmp directory.

sudo rm -rf /tmp/*

Restart the services.

sudo systemctl restart concourse-worker concourse-web

Notice that this time the services have started correctly. The output upon verifying the status of the services will be similar to the following.

[user@vultr ~]$ sudo systemctl status concourse-worker concourse-web
● concourse-worker.service - Concourse CI worker process
   Loaded: loaded (/etc/systemd/system/concourse-worker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3037 (concourse)
   CGroup: /system.slice/concourse-worker.service
           └─3037 /usr/bin/concourse worker

Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.934722900","source":"tsa","message":"t...""}}
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.941227913","source":"guardian","messag...0"}}

...

● concourse-web.service - Concourse CI web server
   Loaded: loaded (/etc/systemd/system/concourse-web.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3036 (concourse)
   CGroup: /system.slice/concourse-web.service
           └─3036 /usr/bin/concourse web

Aug 26 07:27:57 vultr.guest concourse_web[3036]: {"timestamp":"1503732477.925554752","source":"tsa","message":"tsa...ve"}}
Aug 26 07:28:02 vultr.guest concourse_web[3036]: {"timestamp":"1503732482.925430775","source":"tsa","message":"tsa...ve"}}
...
Hint: Some lines were ellipsized, use -l to show in full.

Connecting to the Server

Once the server is started, the web interface of the Concourse CI can be accessed by going to http://192.0.2.1:8080 in any browser. Log in using the username and password provided in the environment file.

To connect to the server using Fly, run the following.

fly -t my-ci login -c http://192.0.2.1:8080

The above command is used for the initial login to the server. -t is used to provide a target name. replace my-ci with any desired target name. The above command will log in to the default team main. It will ask for the username and password provided in the environment file.

The output will look like the following.

[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'

username: admin
password:

target saved

The target login will be saved for a day. After that, it will expire.

To log out immediately.

fly -t my-ci logout

Fly can be used to login to the server outside of the network, but only if the server has a public IP address and it is accessible from outside the network. The Windows or MacOS binary can be downloaded from the download site or from the web UI of the server.

Setting Up Nginx Reverse Proxy

Kirjautumiset ja muut verkkokäyttöliittymän kautta Concourse-palvelimelle lähetettävät tiedot eivät ole suojattuja. Yhteyttä ei ole salattu. Nginx-käänteinen välityspalvelin voidaan määrittää Let's Encrypt ilmaisella SSL:llä.

Asenna Nginx.

sudo apt -y install nginx

Käynnistä Nginx ja ota se käyttöön automaattisesti käynnistyksen yhteydessä.

sudo systemctl start nginx
sudo systemctl enable nginx

Lisää Certbot-arkisto.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Asenna Certbot, joka on Let's Encrypt CA:n asiakassovellus.

sudo apt -y install certbot

Huomautus : Jotta Let's Encrypt CA:lta saadaan varmenteita, toimialue, jolle sertifikaatit luodaan, on osoitettava palvelimeen. Jos ei, tee tarvittavat muutokset toimialueen DNS-tietueisiin ja odota DNS:n leviämistä ennen kuin teet varmennepyynnön uudelleen. Certbot tarkistaa toimialueen viranomaisen ennen varmenteiden toimittamista.

Luo SSL-varmenteet.

sudo certbot certonly --webroot -w /var/www/html -d ci.example.com

Luodut varmenteet tallennetaan todennäköisesti /etc/letsencrypt/live/ci.example.com/ hakemistoon. SSL-varmenne tallennetaan nimellä fullchain.pem ja yksityinen avain muodossa privkey.pem.

Let's Encrypt -varmenteet vanhenevat 90 päivässä, joten on suositeltavaa, että varmenteet uusitaan automaattisesti käyttämällä cronjobsia. Cron on järjestelmäpalvelu, jota käytetään säännöllisten tehtävien suorittamiseen.

Avaa cron-työtiedosto.

sudo crontab -e

Lisää seuraava rivi tiedoston loppuun.

30 5 * * * /usr/bin/certbot renew --quiet

Yllä oleva cron-työ suoritetaan joka päivä klo 5.30. Jos varmenteen voimassaolo päättyy, se uusitaan automaattisesti.

Luo uusi virtuaalinen isäntä.

sudo nano /etc/nginx/sites-available/concourse

Täytä tiedosto.

server {
    listen 80;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name ci.example.com;

    ssl_certificate           /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/ci.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /var/log/nginx/concourse.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://ci.example.com;
    }
  }

Huomautus : Korvaa ci.example.com varsinaisella verkkotunnuksella.

Aktivoi asetustiedosto.

sudo ln -s /etc/nginx/sites-available/concourse /etc/nginx/sites-enabled/concourse

Muokkaa kokousverkkoa varten luotua ympäristötiedostoa.

sudo nano /opt/concourse/web.env

Muuta arvoa CONCOURSE_EXTERNAL_URL ja lisää myös kaksi riviä tiedoston loppuun.

CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080

Tallenna tiedosto ja käynnistä Concourse Web, Worker ja Nginx uudelleen.

sudo systemctl restart concourse-worker concourse-web nginx

Kaikki selaimeen ja selaimelta lähetettävät tiedot on nyt suojattu SSL-salauksin.


Jenkinsin asentaminen CentOS 7:ään

Jenkinsin asentaminen CentOS 7:ään

Jenkins on suosittu avoimen lähdekoodin CI (Continuous Integration) -työkalu, jota käytetään laajasti projektien kehittämiseen, käyttöönottoon ja automatisointiin. Tämä artikkeli tulee

Concourse CI:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

Concourse CI:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

Käytätkö erilaista järjestelmää? Johdanto Continuous Integration on DevOps-ohjelmistokehityskäytäntö, jonka avulla kehittäjät voivat usein yhdistää

Ansiblen asentaminen ja määrittäminen Debian 9:ssä käytettäväksi Windows Serverin kanssa

Ansiblen asentaminen ja määrittäminen Debian 9:ssä käytettäväksi Windows Serverin kanssa

Käytätkö erilaista järjestelmää? Ansible on avoimen lähdekoodin työkalu tehtävien automatisointiin. Se hallitsee Linux- ja Windows-palvelimiesi kokoonpanoa. Se toimi

Kuinka asentaa ja määrittää GoCD CentOS 7: ssä

Kuinka asentaa ja määrittää GoCD CentOS 7: ssä

Käytätkö erilaista järjestelmää? GoCD on avoimen lähdekoodin jatkuva toimitus- ja automaatiojärjestelmä. Sen avulla voit mallintaa monimutkaisia ​​työnkulkuja käyttämällä sen rinnakkaista an

SaltStack with Pillars käyttö Ubuntussa 17.04

SaltStack with Pillars käyttö Ubuntussa 17.04

Vaikka SaltStack on loistava työkalu toimintojen suorittamiseen useilla palvelimilla samanaikaisesti, se tukee myös isäntäkohtaisesti määritettyjä kokoonpanon esiasetuksia, jotka on tallennettu

Ansiblen asentaminen ja määrittäminen CentOS 7:ään käytettäväksi Windows Serverin kanssa

Ansiblen asentaminen ja määrittäminen CentOS 7:ään käytettäväksi Windows Serverin kanssa

Käytätkö erilaista järjestelmää? Ansible on avoimen lähdekoodin työkalu tehtävien automatisointiin. Se hallitsee Linux- ja Windows-palvelimiesi kokoonpanoa. Se toimi

Drone CI:n asentaminen Ubuntuun 18.04

Drone CI:n asentaminen Ubuntuun 18.04

Johdanto Drone on automatisoitu, jatkuva testaus- ja toimitusalusta, joka toimii omassa infrastruktuurissasi. Drone tukee mitä tahansa kieltä, palvelua o

Kuinka asentaa Foreman CentOS 7:ään

Kuinka asentaa Foreman CentOS 7:ään

Käytätkö erilaista järjestelmää? Foreman on ilmainen ja avoimen lähdekoodin työkalu, joka auttaa sinua määrittämään ja hallitsemaan fyysisiä ja virtuaalisia palvelimia. Forema

Kuinka asentaa SaltStack CentOS 7:ään

Kuinka asentaa SaltStack CentOS 7:ään

SaltStack tai Salt on suosittu avoimen lähdekoodin kokoonpanonhallintaratkaisu, jota voidaan käyttää etäsuorituksen, kokoonpanonhallinnan, koodin toteuttamiseen.

Strider-CD:n asentaminen Ubuntuun 18.04

Strider-CD:n asentaminen Ubuntuun 18.04

Johdanto Strider CD on avoimen lähdekoodin jatkuvan käyttöönoton alusta. Sovellus on kirjoitettu Node.js:ssä ja käyttää MongoDB:tä tallennustaustana. Askel

Chocolatey Package Managerin käyttäminen Windowsissa

Chocolatey Package Managerin käyttäminen Windowsissa

Johdanto Chocolatey tuo Windowsiin pakettien hallinnan, joka tekee ohjelmistojen ja riippuvuuksien hallinnasta helppoa Linuxissa. Voit nopeasti ja helposti

Tilannekuvien luominen Packerilla

Tilannekuvien luominen Packerilla

Mikä on Packer? Packer on HashiCorpin kehittämä palvelimen kuvantamistyökalu. Palvelimen kuvantaminen; tai vaihtoehtoisesti muuttumaton infrastruktuuri; on suosittu vaihtoehto

Concourse CI:n asentaminen ja määrittäminen CentOS 7:ssä

Concourse CI:n asentaminen ja määrittäminen CentOS 7:ssä

Käytätkö erilaista järjestelmää? Johdanto Continuous Integration on DevOps-ohjelmistokehityskäytäntö, jonka avulla kehittäjät voivat usein yhdistää

Chef-solon käyttäminen Django-sovelluksen määrittämiseen Ubuntussa

Chef-solon käyttäminen Django-sovelluksen määrittämiseen Ubuntussa

On monia tapoja automatisoida laatikon asennus- ja konfigurointiprosessi. Mistä tahansa syystä, jos koko järjestelmämme tässä vaiheessa koostuu vain

Kuinka asentaa Foreman Ubuntu 16.04 LTS:ään

Kuinka asentaa Foreman Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Foreman on ilmainen ja avoimen lähdekoodin työkalu, joka auttaa sinua määrittämään ja hallitsemaan fyysisiä ja virtuaalisia palvelimia. Forema

SaltStackin käytön aloittaminen Ubuntussa 17.04

SaltStackin käytön aloittaminen Ubuntussa 17.04

SaltStack on python-pohjainen kokoonpanonhallintaohjelma, joka on optimoitu määritystiedostojen, käyttöönottojen ja kaiken muun automatisointiin.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja