Jak nainstalovat a nakonfigurovat Concourse CI na Ubuntu 16.04

Úvod

Nepřetržitá integrace je postup vývoje softwaru DevOps, který vývojářům umožňuje často slučovat upravený kód do sdíleného úložiště mnohokrát denně. Po každém sloučení se provádějí automatická sestavení a testy, aby se zjistily problémy v kódu. Umožňuje vývojářům rychle najít a vyřešit chyby, zlepšit kvalitu softwaru a zajistit nepřetržité dodávky softwaru. Přepínání z Concourse a zpět je velmi snadné, protože uchovává veškerou svou konfiguraci v deklarativních souborech, které lze zkontrolovat ve správě verzí. Poskytuje také webové uživatelské rozhraní, které interaktivně zobrazuje informace o sestavení.

Součásti haly.
  • ATC je hlavní součástí haly. Je zodpovědný za běh webového uživatelského rozhraní a API. Také se stará o veškeré plánování potrubí.
  • TSA je vlastní vytvořený SSH server. Zodpovídá za bezpečnou registraci pracovníka u ATC.
  • Workers dále provozuje dvě různé služby:
    1. Garden je běhový modul kontejneru a rozhraní pro vzdálené řízení kontejnerů na pracovníkovi.
    2. Baggageclaim je server pro správu mezipaměti a artefaktů.
  • Fly je rozhraní příkazového řádku používané k interakci s ATC ke konfiguraci Concourse Pipelines.

Předpoklady

  • Instance serveru Vultr Ubuntu 16.04.
  • Uživatel sudo .

Nezapomeňte nahradit všechny výskyty 192.0.2.1 a ci.example.com vaší skutečnou veřejnou IP adresou Vultr a skutečným názvem domény.

Aktualizujte svůj základní systém pomocí průvodce Jak aktualizovat Ubuntu 16.04 . Jakmile bude váš systém aktualizován, pokračujte v instalaci PostgreSQL.

Nainstalujte a nakonfigurujte databázi PostgreSQL

PostgreSQL je objektově relační databázový systém. Concourse ukládá svá data potrubí do databáze PostgreSQL. Přidejte úložiště PostgreSQL.

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

Nainstalujte databázový server PostgreSQL.

sudo apt -y install postgresql

Spusťte PostgreSQL server a povolte jeho automatické spouštění při bootování.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Změňte heslo pro výchozího uživatele PostgreSQL.

sudo passwd postgres

Přihlaste se jako uživatel PostgreSQL:

sudo su - postgres

Vytvořte nového uživatele PostgreSQL pro Concourse CI.

createuser concourse

Poznámka : Pro autentizaci databáze lze použít výchozího uživatele PostgreSQL, ale pro autentizaci databáze Concourse v produkčním nastavení se doporučuje použít vyhrazeného uživatele.

PostgreSQL poskytuje prostředí pro spouštění dotazů na databázi. Přepněte do prostředí PostgreSQL.

psql

Nastavte heslo pro nově vytvořeného uživatele databáze Concourse.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Důležité : Nahraďte DBPassword silným heslem. Poznamenejte si heslo, protože bude vyžadováno později v tutoriálu.

Vytvořte novou databázi pro Concourse.

CREATE DATABASE concourse OWNER concourse;

Opusťte psql shell.

\q

Přepněte na uživatele sudo z aktuálního postgresuživatele.

exit

Stáhněte a nainstalujte Concourse CI

Stáhněte si nejnovější verzi spustitelného souboru Concourse a uložte jej, abyste /usr/bin jej mohli přímo spustit. Nejnovější verzi binárních souborů Concourse a Fly lze nalézt na stránce stahování Concourse . Nové verze jsou velmi časté. Nahraďte níže uvedený odkaz novým odkazem na nejnovější verzi.

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

Podobně si stáhněte nejnovější verzi spustitelného souboru fly a uložte jej do /usr/bin.

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

Fly je rozhraní příkazového řádku používané pro připojení k ATC API Concourse CI. Fly je k dispozici pro více platforem, jako je Linux, Windows a MacOS.

Přidělte staženým concourse a fly binárním souborům oprávnění ke spuštění .

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

Zkontrolujte, zda Concourse a Fly fungují správně kontrolou jejich verze.

concourse -version
fly -version

Vygenerujte a nastavte klíče RSA

Klíčové páry RSA poskytují způsob, jak zašifrovat komunikaci mezi komponentami Concourse.

Aby Concourse fungoval, musí být vygenerovány alespoň tři páry klíčů. Pro šifrování dat relace vygenerujte soubor session_signing_key. Tento klíč bude TSA také používat k podepisování požadavků, které předá ATC. Chcete-li zabezpečit server TSA SSH, vygenerujte soubor tsa_host_key. Nakonec vygenerujte worker_key pro každého pracovníka.

Vytvořte nový adresář pro uložení klíčů a konfigurace související s Concourse CI.

sudo mkdir /opt/concourse

Vygenerujte požadované klíče.

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

Autorizujte veřejný klíč pracovníků zkopírováním jeho obsahu do authorized_worker_keys souboru.

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

Zahájení konkursu

Concourse poskytuje dvě samostatné součásti, které je třeba spustit: web a pracovník. Spusťte web Concourse.

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

V basic-auth případě potřeby změňte uživatelské jméno a heslo . Ujistěte se, že cesta k souborům klíčů je správná a že je zadána správná hodnota pro uživatelské jméno a heslo v konfiguraci databáze PostgreSQL.

Poznámka : ATC bude naslouchat výchozímu portu 8080 a TSA bude naslouchat portu 2222. Pokud ověření není požadováno, předejte --no-really-i-dont-want-any-authmožnost po odebrání základních možností ověření.

Po spuštění webového serveru se zobrazí následující výstup.

{"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"}}

Prozatím zastavte server, protože je třeba nastavit ještě několik věcí.

Spusťte 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

Výše uvedený příkaz předpokládá, že TSA běží na localhost a naslouchá výchozímu portu 2222.

Přestože lze web Concourse a pracovníka snadno spustit pomocí výše uvedených příkazů, ke správě serveru se doporučuje použít Systemd.

Nakonfigurujte prostředí a službu Systemd

Použití služby Systemd pro správu aplikace zajišťuje automatické spuštění aplikace při selhání a při bootování. Server Concourse nepřebírá data z žádného konfiguračního souboru, ale může k datům přistupovat z proměnných prostředí. Namísto nastavování globálních proměnných prostředí vytvořte nový soubor pro uložení proměnných prostředí a poté předejte proměnné do CI Concourse pomocí služby Systemd.

Vytvořte nový soubor prostředí pro web Concourse.

sudo nano /opt/concourse/web.env

Vyplňte soubor.

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

Výše uvedený příkaz se používá pro počáteční přihlášení k serveru. -t se používá k zadání názvu cíle. nahradit my-ci libovolným požadovaným názvem cíle. Výše uvedený příkaz se přihlásí k výchozímu týmu main. Vyžádá si uživatelské jméno a heslo uvedené v souboru prostředí.

Výstup bude vypadat následovně.

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

username: admin
password:

target saved

Cílové přihlášení bude uloženo na jeden den. Poté vyprší.

Pro okamžité odhlášení.

fly -t my-ci logout

Fly lze použít k přihlášení k serveru mimo síť, ale pouze v případě, že server má veřejnou IP adresu a je přístupný zvenčí sítě. Binární soubor Windows nebo MacOS lze stáhnout z webu pro stahování nebo z webového uživatelského rozhraní serveru.

Nastavení reverzního proxy Nginx

Přihlášení a další informace zasílané prostřednictvím webového uživatelského rozhraní na server Concourse nejsou zabezpečené. Spojení není šifrováno. Reverzní proxy Nginx lze nastavit pomocí bezplatného SSL Let's Encrypt.

Nainstalujte Nginx.

sudo apt -y install nginx

Spusťte Nginx a povolte jeho automatické spouštění při spouštění.

sudo systemctl start nginx
sudo systemctl enable nginx

Přidejte úložiště Certbot.

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

Nainstalujte Certbot, což je klientská aplikace pro Let's Encrypt CA.

sudo apt -y install certbot

Poznámka : Chcete-li získat certifikáty od Let's Encrypt CA, doména, pro kterou mají být certifikáty vygenerovány, musí být nasměrována na server. Pokud ne, proveďte potřebné změny v záznamech DNS domény a počkejte, až se DNS rozšíří, než znovu požádáte o certifikát. Certbot před poskytnutím certifikátů zkontroluje autoritu domény.

Vygenerujte certifikáty SSL.

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

Vygenerované certifikáty budou pravděpodobně uloženy v /etc/letsencrypt/live/ci.example.com/ adresáři. SSL certifikát bude uložen jako fullchain.pem a soukromý klíč bude uložen jako privkey.pem.

Platnost certifikátů Let's Encrypt vyprší za 90 dní, proto se doporučuje nastavit automatické obnovování certifikátů pomocí cronjobů. Cron je systémová služba, která se používá ke spouštění pravidelných úloh.

Otevřete soubor úlohy cron.

sudo crontab -e

Přidejte následující řádek na konec souboru.

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

Výše uvedená úloha cron bude probíhat každý den v 5:30. Pokud má platnost certifikátu vypršet, bude automaticky obnoven.

Vytvořte nového virtuálního hostitele.

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

Vyplňte soubor.

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;
    }
  }

Poznámka : Nahraďte ci.example.com skutečnou doménou.

Aktivujte konfigurační soubor.

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

Upravte soubor prostředí vytvořený pro web veřejného prostoru.

sudo nano /opt/concourse/web.env

Změňte hodnotu CONCOURSE_EXTERNAL_URL a také přidejte další dva řádky na konec souboru.

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

Uložte soubor a restartujte Concourse Web, Worker a Nginx.

sudo systemctl restart concourse-worker concourse-web nginx

Všechna data odesílaná do a z prohlížeče jsou nyní zabezpečena šifrováním SSL.


Jak nainstalovat Jenkins na CentOS 7

Jak nainstalovat Jenkins na CentOS 7

Jenkins je populární open source nástroj CI (Continuous Integration), který se široce používá pro vývoj, nasazení a automatizaci projektů. Tento článek bude

Jak nainstalovat a nakonfigurovat Concourse CI na Ubuntu 16.04

Jak nainstalovat a nakonfigurovat Concourse CI na Ubuntu 16.04

Používáte jiný systém? Úvod Kontinuální integrace je postup vývoje softwaru DevOps, který umožňuje vývojářům často spojovat th

Jak nainstalovat a nakonfigurovat Ansible na Debian 9 pro použití s ​​Windows Serverem

Jak nainstalovat a nakonfigurovat Ansible na Debian 9 pro použití s ​​Windows Serverem

Používáte jiný systém? Ansible je open source nástroj pro automatizaci úloh. Spravuje konfiguraci vašich serverů Linux a Windows. funguje to

Jak nainstalovat a nakonfigurovat GoCD na CentOS 7

Jak nainstalovat a nakonfigurovat GoCD na CentOS 7

Používáte jiný systém? GoCD je open source systém pro nepřetržité doručování a automatizaci. Umožňuje vám modelovat složité pracovní postupy pomocí jeho paralelních an

Použití SaltStack With Pillars na Ubuntu 17.04

Použití SaltStack With Pillars na Ubuntu 17.04

Zatímco SaltStack je skvělý nástroj pro spouštění operací na mnoha serverech současně, podporuje také předvolby konfigurace definované pro jednotlivé hostitele uložené v

Jak nainstalovat a nakonfigurovat Ansible na CentOS 7 pro použití s ​​Windows Server

Jak nainstalovat a nakonfigurovat Ansible na CentOS 7 pro použití s ​​Windows Server

Používáte jiný systém? Ansible je open source nástroj pro automatizaci úloh. Spravuje konfiguraci vašich serverů Linux a Windows. funguje to

Jak nainstalovat Drone CI na Ubuntu 18.04

Jak nainstalovat Drone CI na Ubuntu 18.04

Úvod Drone je automatizovaná, kontinuální testovací a doručovací platforma, která běží na vaší vlastní infrastruktuře. Drone podporuje jakýkoli jazyk, službu o

Vultr Load Balancery

Vultr Load Balancery

Co je to Load Balancer Load Balancer sedí před vaší aplikací a rozděluje příchozí provoz mezi více instancí vaší aplikace. Fo

How to Install Foreman on CentOS 7

How to Install Foreman on CentOS 7

Using a Different System? Foreman is a free and open source tool which helps you with configuration and management of physical and virtual servers. Forema

Jak nainstalovat SaltStack na CentOS 7

Jak nainstalovat SaltStack na CentOS 7

SaltStack, neboli Salt, je oblíbené open source řešení pro správu konfigurace, které lze použít k implementaci vzdáleného spouštění, správy konfigurace, cod

Jak nainstalovat Strider CD na Ubuntu 18.04

Jak nainstalovat Strider CD na Ubuntu 18.04

Úvod Strider CD je open source platforma pro nepřetržité nasazení. Aplikace je napsána v Node.js a používá MongoDB jako backend úložiště. Krok

Použití Chocolatey Package Manager v systému Windows

Použití Chocolatey Package Manager v systému Windows

Úvod Chocolatey přináší správu balíčků, která usnadňuje správu softwaru a závislostí na Linuxu, do Windows. Můžete rychle a snadno

Vytváření snímků pomocí Packeru

Vytváření snímků pomocí Packeru

Co je Packer? Packer je serverový zobrazovací nástroj vyvinutý společností HashiCorp. Serverové zobrazování; nebo alternativně neměnná infrastruktura; je oblíbenou alternativou

Jak nainstalovat a nakonfigurovat Concourse CI na CentOS 7

Jak nainstalovat a nakonfigurovat Concourse CI na CentOS 7

Používáte jiný systém? Úvod Kontinuální integrace je postup vývoje softwaru DevOps, který umožňuje vývojářům často spojovat th

Použití Chef-solo ke konfiguraci aplikace Django na Ubuntu

Použití Chef-solo ke konfiguraci aplikace Django na Ubuntu

Existuje mnoho způsobů, jak automatizovat proces nastavení a konfigurace boxu. Z jakéhokoli důvodu, pokud se celý náš systém v tomto bodě skládá ze spravedlivých

Jak nainstalovat Foremana na Ubuntu 16.04 LTS

Jak nainstalovat Foremana na Ubuntu 16.04 LTS

Používáte jiný systém? Foreman je bezplatný a open source nástroj, který vám pomůže s konfigurací a správou fyzických a virtuálních serverů. Forema

Začínáme se SaltStack na Ubuntu 17.04

Začínáme se SaltStack na Ubuntu 17.04

SaltStack je program pro správu konfigurace založený na pythonu, který je optimalizován pro automatizaci konfiguračních souborů, nasazení a čehokoli jiného.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více