Како инсталирати и конфигурисати Цонцоурсе ЦИ на Убунту 16.04

Увод

Континуирана интеграција је ДевОпс пракса развоја софтвера која омогућава програмерима да често спајају модификовани код у заједничко складиште много пута дневно. Након сваког спајања, изводе се аутоматске израде и тестови да би се открили проблеми у коду. Омогућава програмерима да брзо пронађу и отклоне грешке како би побољшали квалитет софтвера и обезбедили континуирану испоруку софтвера. Пребацивање са Цонцоурсе-а на и назад је веома једноставно јер сву своју конфигурацију чува у декларативним датотекама које се могу проверити у контроли верзија. Такође обезбеђује веб кориснички интерфејс који интерактивно приказује информације о изградњи.

Цонцоурсе Цомпонентс.
  • АТЦ је главна компонента Цонцоурса. Одговоран је за покретање веб корисничког интерфејса и АПИ-ја. Такође се брине о целокупном распореду цевовода.
  • ТСА је прилагођени ССХ сервер. Одговоран је за безбедну регистрацију радника у АТЦ-у.
  • Радници даље воде две различите услуге:
    1. Гарден је време извођења контејнера и интерфејс за даљинско оркестрирање контејнера на раднику.
    2. Баггагецлаим је сервер за управљање кешом и артефактима.
  • Фли је интерфејс командне линије који се користи за интеракцију са АТЦ-ом за конфигурисање Цонцоурсе Пипелинеа.

Предуслови

Обавезно замените сва појављивања 192.0.2.1 и ci.example.com са својом стварном Вултр јавном ИП адресом и стварним именом домена.

Ажурирајте свој основни систем користећи водич Како ажурирати Убунту 16.04 . Када је ваш систем ажуриран, наставите да инсталирате ПостгреСКЛ.

Инсталирајте и конфигуришите ПостгреСКЛ базу података

ПостгреСКЛ је објектно релациони систем базе података. Цонцоурсе складишти своје податке цевовода у ПостгреСКЛ базу података. Додајте ПостгреСКЛ спремиште.

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

Инсталирајте ПостгреСКЛ сервер базе података.

sudo apt -y install postgresql

Покрените ПостгреСКЛ сервер и омогућите му да се аутоматски покреће при покретању.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Промените лозинку за подразумеваног корисника ПостгреСКЛ.

sudo passwd postgres

Пријавите се као корисник ПостгреСКЛ:

sudo su - postgres

Креирајте новог ПостгреСКЛ корисника за Цонцоурсе ЦИ.

createuser concourse

Напомена : Подразумевани ПостгреСКЛ корисник се може користити за аутентификацију базе података, али се препоручује коришћење наменског корисника за аутентификацију Цонцоурсе базе података у производном подешавању.

ПостгреСКЛ обезбеђује љуску за покретање упита у бази података. Пређите на ПостгреСКЛ шкољку.

psql

Поставите лозинку за новокреираног корисника базе података Цонцоурсе.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Важно : Замените DBPassword јаком лозинком. Забележите лозинку јер ће бити потребна касније у водичу.

Креирајте нову базу података за Цонцоурсе.

CREATE DATABASE concourse OWNER concourse;

Изађите из psql љуске.

\q

Пребаците се на судо корисника са тренутног postgresкорисника.

exit

Преузмите и инсталирајте Цонцоурсе ЦИ

Преузмите најновију верзију извршног програма Цонцоурсе и сачувајте га /usr/bin тако да се може директно извршити. Најновија верзија бинарних датотека Цонцоурсе и Фли се може наћи на страници за преузимање Цонцоурсе . Нова издања су веома честа. Замените везу испод новом везом за најновију верзију.

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

Слично томе, преузмите најновију верзију извршне датотеке за летење и сачувајте је у /usr/bin.

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

Фли је интерфејс командне линије који се користи за повезивање са АТЦ АПИ-јем Цонцоурсе ЦИ. Фли је доступан за више платформи као што су Линук, Виндовс и МацОС.

Доделите дозволу за извршавање преузетим concourse и fly бинарним датотекама.

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

Проверите да ли Цонцоурсе и Фли раде исправно тако што ћете проверити њихову верзију.

concourse -version
fly -version

Генеришите и подесите РСА кључеве

РСА парови кључева обезбеђују начин за шифровање комуникације између компоненти Цонцоурсе-а.

Да би Цонцоурсе радио, морају се генерисати најмање три пара кључева. За шифровање података сесије, генеришите session_signing_key. Овај кључ ће такође користити ТСА за потписивање захтева које упути АТЦ-у. Да бисте обезбедили ТСА ССХ сервер, генеришите tsa_host_key. На крају, генеришите worker_key за сваког радника.

Креирајте нови директоријум ��а чување кључева и конфигурације у вези са Цонцоурсе ЦИ.

sudo mkdir /opt/concourse

Генеришите потребне кључеве.

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

Овластите јавни кључ радника копирањем његовог садржаја у authorized_worker_keys датотеку.

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

Стартинг Цонцоурс

Цонцоурсе пружа две одвојене компоненте које треба покренути: веб и радник. Покрените веб Цонцоурсе.

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

Промените корисничко име и лозинку basic-auth ако желите. Уверите се да је путања до датотека са кључевима исправна и да ли је наведена тачна вредност за корисничко име и лозинку у конфигурацији ПостгреСКЛ базе података.

Напомена : АТЦ ће слушати подразумевани порт, 8080 а ТСА ће слушати порт 2222. Ако аутентификација није пожељна, проследите --no-really-i-dont-want-any-authопцију након што уклоните основне опције аутентификације .

Када се веб сервер покрене, биће приказан следећи излаз.

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

Зауставите сервер за сада, јер још неколико ствари мора да се подеси.

Покрените Цонцоурсе ЦИ Воркер.

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

Горња команда ће претпоставити да ТСА ради на локалном хосту и да слуша подразумевани порт 2222.

Иако се Цонцоурсе веб и воркер могу лако покренути помоћу горњих команди, препоручује се да користите Системд за управљање сервером.

Конфигуришите окружење и Системд услугу

Коришћење Системд услуге за управљање апликацијом осигурава да се апликација аутоматски покреће у случају кварова и приликом покретања. Цонцоурсе сервер не узима податке из било које конфигурационе датотеке, али може приступити подацима из променљивих окружења. Уместо постављања глобалних променљивих окружења, креирајте нову датотеку за складиштење променљивих окружења, а затим проследите варијабле Цонцоурсе ЦИ користећи Системд услугу.

Направите нову датотеку окружења за Цонцоурсе веб.

sudo nano /opt/concourse/web.env

Попуните датотеку.

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

Пријаве и друге информације које се шаљу преко веб корисничког интерфејса на Цонцоурсе сервер нису заштићене. Веза није шифрована. Нгинк реверзни прокси може се подесити са бесплатним ССЛ-ом Лет'с Енцрипт.

Инсталирајте Нгинк.

sudo apt -y install nginx

Покрените Нгинк и омогућите му да се аутоматски покреће при покретању.

sudo systemctl start nginx
sudo systemctl enable nginx

Додајте Цертбот спремиште.

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

Инсталирајте Цертбот, који је клијентска апликација за Лет'с Енцрипт ЦА.

sudo apt -y install certbot

Напомена : Да бисте добили сертификате од Лет'с Енцрипт ЦА, домен за који ће се сертификати генерисати мора бити усмерен ка серверу. Ако није, извршите неопходне промене у ДНС записима домена и сачекајте да се ДНС пропагира пре него што поново поднесете захтев за сертификат. Цертбот проверава ауторитет домена пре пружања сертификата.

Генеришите ССЛ сертификате.

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

Генерисани сертификати ће вероватно бити ускладиштени у /etc/letsencrypt/live/ci.example.com/ директоријуму. ССЛ сертификат ће бити сачуван као, fullchain.pem а приватни кључ ће бити сачуван као privkey.pem.

Лет'с Енцрипт сертификати истичу за 90 дана, па се препоручује да се аутоматско обнављање сертификата подеси помоћу цроњобс-а. Црон је системска услуга која се користи за извршавање периодичних задатака.

Отворите црон датотеку посла.

sudo crontab -e

Додајте следећи ред на крај датотеке.

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

Горњи црон посао ће се изводити сваког дана у 5:30 ујутро. Ако сертификат истекне, аутоматски ће се обновити.

Креирајте нови виртуелни хост.

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

Попуните датотеку.

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

Напомена : Замените ci.example.com стварним доменом.

Активирајте конфигурациону датотеку.

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

Уредите датотеку окружења креирану за веб скуп.

sudo nano /opt/concourse/web.env

Промените вредност CONCOURSE_EXTERNAL_URL и такође додајте још два реда на крају датотеке.

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

Сачувајте датотеку и поново покрените Цонцоурсе Веб, Воркер и Нгинк.

sudo systemctl restart concourse-worker concourse-web nginx

Сви подаци који се шаљу у и из претраживача су сада заштићени ССЛ енкрипцијом.


Како инсталирати Јенкинс на ЦентОС 7

Како инсталирати Јенкинс на ЦентОС 7

Јенкинс је популарна ЦИ (континуирана интеграција) алатка отвореног кода која се широко користи за развој пројеката, примену и аутоматизацију. Овај чланак ће

Како инсталирати и конфигурисати Цонцоурсе ЦИ на Убунту 16.04

Како инсталирати и конфигурисати Цонцоурсе ЦИ на Убунту 16.04

Користите другачији систем? Увод Континуирана интеграција је ДевОпс пракса развоја софтвера која омогућава програмерима да често спајају

Како инсталирати и конфигурисати Ансибле на Дебиан 9 за коришћење са Виндовс сервером

Како инсталирати и конфигурисати Ансибле на Дебиан 9 за коришћење са Виндовс сервером

Користите другачији систем? Ансибле је алатка отвореног кода за аутоматизацију задатака. Он управља конфигурацијом ваших Линук и Виндовс сервера. Је рад

Како инсталирати и конфигурисати ГоЦД на ЦентОС 7

Како инсталирати и конфигурисати ГоЦД на ЦентОС 7

Користите другачији систем? ГоЦД је систем за континуирану испоруку и аутоматизацију отвореног кода. Омогућава вам да моделујете сложене токове рада користећи свој паралелни ан

Коришћење СалтСтацк-а са стубовима на Убунту 17.04

Коришћење СалтСтацк-а са стубовима на Убунту 17.04

Иако је СалтСтацк одличан алат за истовремено покретање операција на многим серверима, он такође подржава унапред дефинисана подешавања конфигурације по хосту ускладиштена у

Како инсталирати и конфигурисати Ансибле на ЦентОС 7 за коришћење са Виндовс сервером

Како инсталирати и конфигурисати Ансибле на ЦентОС 7 за коришћење са Виндовс сервером

Користите другачији систем? Ансибле је алатка отвореног кода за аутоматизацију задатака. Он управља конфигурацијом ваших Линук и Виндовс сервера. Је рад

Како инсталирати Дроне ЦИ на Убунту 18.04

Како инсталирати Дроне ЦИ на Убунту 18.04

Увод Дроне је аутоматизована, континуирана платформа за тестирање и испоруку која ради на вашој сопственој инфраструктури. Дрон подржава било који језик, услугу о

Вултр балансери оптерећења

Вултр балансери оптерећења

Шта је балансатор оптерећења Балансери оптерећења седе испред ваше апликације и дистрибуирају долазни саобраћај на више инстанци ваше апликације. Фо

Како инсталирати Форемана на ЦентОС 7

Како инсталирати Форемана на ЦентОС 7

Користите другачији систем? Фореман је бесплатан алат отвореног кода који вам помаже у конфигурацији и управљању физичким и виртуелним серверима. Форема

Како инсталирати СалтСтацк на ЦентОС 7

Како инсталирати СалтСтацк на ЦентОС 7

СалтСтацк, или Салт, је популарно решење за управљање конфигурацијом отвореног кода које се може користити за имплементацију даљинског извршавања, управљања конфигурацијом, код

Како инсталирати Стридер ЦД на Убунту 18.04

Како инсталирати Стридер ЦД на Убунту 18.04

Увод Стридер ЦД је платформа за континуирано примену отвореног кода. Апликација је написана у Ноде.јс и користи МонгоДБ као позадину за складиштење. Стриде

Коришћење Цхоцолатеи Пацкаге Манагер-а на Виндовс-у

Коришћење Цхоцолатеи Пацкаге Манагер-а на Виндовс-у

Увод Цхоцолатеи доноси управљање пакетима које олакшава администрацију софтвера и зависности на Линук-у у Виндовс. Можете брзо и лако

Прављење снимака помоћу Пацкер-а

Прављење снимака помоћу Пацкер-а

Шта је Пацкер? Пацкер је алатка за обраду слика сервера коју је развио ХасхиЦорп. Сервер имагинг; или алтернативно, непроменљива инфраструктура; је популарна алтернатива

Како инсталирати и конфигурисати Цонцоурсе ЦИ на ЦентОС 7

Како инсталирати и конфигурисати Цонцоурсе ЦИ на ЦентОС 7

Користите другачији систем? Увод Континуирана интеграција је ДевОпс пракса развоја софтвера која омогућава програмерима да често спајају

Коришћење Цхеф-соло за конфигурисање Дјанго апликације на Убунту-у

Коришћење Цхеф-соло за конфигурисање Дјанго апликације на Убунту-у

Постоји много начина да се аутоматизује процес подешавања и конфигурисања кутије. Из било ког разлога, ако се цео наш систем у овом тренутку састоји од праведних

Како инсталирати Форемана на Убунту 16.04 ЛТС

Како инсталирати Форемана на Убунту 16.04 ЛТС

Користите другачији систем? Фореман је бесплатан алат отвореног кода који вам помаже у конфигурацији и управљању физичким и виртуелним серверима. Форема

Почетак рада са СалтСтацк-ом на Убунту 17.04

Почетак рада са СалтСтацк-ом на Убунту 17.04

СалтСтацк је програм за управљање конфигурацијом заснован на питхон-у који је оптимизован за аутоматизацију конфигурационих датотека, имплементације и било чега другог.

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више