Instalirajte Plesk na CentOS 7
Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka
Buildbot je alat za kontinuiranu integraciju otvorenog koda, temeljen na Pythonu, za automatizaciju izrade, testiranja i implementacije softvera. Buildbot se sastoji od jednog ili više Buildbot majstora i određenog broja radnika. Buildbot master ili Buildmaster ima središnju komandu nad sustavom. Odgovorno je za upravljanje okolinom za izgradnju, radnicima i donosi sve odluke o slanju poslova radnicima. Buildmaster otkriva promjene u repozitoriju koda i šalje naredbe ili poslove radnicima da ih izvrše. Radnici izvršavaju poslove i vraćaju rezultat Buildmasteru. Buildmaster zatim obavještava programere putem više podržanih kanala. U ovom vodiču instalirat ćemo Buildbot master i worker na CentOS 7. Također ćemo konfigurirati autentifikaciju i Nginx kao zaštićeni obrnuti proxy.
Za ovaj vodič koristit ćemo 192.168.1.1
kao javnu IP adresu i ci.example.com
kao ime domene usmjereno na Vultr instancu. Svakako zamijenite sva pojavljivanja primjera naziva domene i IP adrese stvarnim.
Ažurirajte svoj osnovni sustav pomoću vodiča Kako ažurirati CentOS 7 . Nakon što je vaš sustav ažuriran, nastavite s instalacijom PostgreSQL-a.
Instalirajte Pip, koji je upravitelj paketa za Python.
sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip
Buildbot podržava više vrsta poslužitelja baza podataka kao što su MySQL, PostgreSQL i SQLite. U ovom vodiču koristit ćemo PostgreSQL za hostiranje poslužitelja baze podataka Buildbot.
PostgreSQL je objektno-relacijski sustav baze podataka, poznat po svojoj stabilnosti i brzini. Zadano yum
spremište sadrži staru verziju PostgreSQL-a, stoga dodajte PostgreSQL spremište.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Instalirajte PostgreSQL poslužitelj baze podataka.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inicijalizirajte bazu podataka.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Pokrenite PostgreSQL poslužitelj i omogućite mu automatsko pokretanje prilikom pokretanja.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Promijenite lozinku za zadanog korisnika PostgreSQL.
sudo passwd postgres
Prijavite se kao korisnik PostgreSQL-a.
sudo su - postgres
Stvorite novog PostgreSQL korisnika za Buildbot.
createuser bb_user
Možete koristiti bilo koje korisničko ime umjesto bb_user
, ako želite. PostgreSQL pruža psql
ljusku za pokretanje upita u bazi podataka. Prijeđite na ljusku PostgreSQL.
psql
Postavite lozinku za novostvorenog korisnika.
ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';
Zamijenite DBPassword
sigurnom lozinkom.
Napravite novu bazu podataka za instalaciju Buildbota.
CREATE DATABASE buildbot OWNER bb_user;
Izađite iz psql
ljuske.
\q
Prebacite se na sudo
korisnika.
exit
Uredite pg_hba.conf
datoteku kako biste omogućili MD5 provjeru autentičnosti.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Pronađite sljedeće retke i promijenite vrijednosti peer
i ident
, u METHOD
stupcu, u trust
i md5
, respektivno.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Nakon ažuriranja, konfiguracija će izgledati kao sljedeći tekst.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Spremite datoteku i izađite iz uređivača. Instalirajte PostgreSQL adapter baze podataka za Python.
sudo pip install psycopg2
Ponovno pokrenite PostgreSQL kako bi promjene mogle stupiti na snagu.
sudo systemctl restart postgresql-10
Instalirajte Buildbot koristeći Pip.
sudo pip install 'buildbot[bundle]' pyopenssl service_identity
Gornja naredba će instalirati Buildbot zajedno s buildbot-www
, buildbot-worker
, i nekoliko web dodataka kao što su buildbot-waterfall-view
.
Kako biste bili sigurni da je Buildbot uspješno instaliran, možete provjeriti verziju Buildbota.
buildbot --version
Rezultat bi trebao nalikovati sljedećem tekstu.
[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0
Izmijenite pravila vatrozida kako biste dopustili port 8010
. Buildbot koristi ovaj port za slušanje web zahtjeva.
sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload
Stvorite novog neprivilegiranog korisnika za pokretanje glavnih i radnih procesa Buildbota. Ne preporučuje se pokretanje Buildbot master usluga kao root
korisnik.
sudo adduser buildbot
sudo passwd buildbot
Prijavite se kao novostvoreni buildbot
korisnik.
sudo su - buildbot
Postavite Buildbot master u /home/buildbot/master
direktoriju. Ovaj direktorij će sadržavati konfiguracijske, statusne i log datoteke svake gradnje.
buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
Obavezno zamijenite vjerodajnice korisnika baze podataka u gornjoj naredbi.
Napomena: Ako želite koristiti SQLite bazu podataka umjesto PostgreSQL, jednostavno izostavite --db 'postgresql://bb_user:DBpassword@localhost/buildbot'
opciju. SQLite baza podataka bit će kreirana u istom direktoriju.
Gornja naredba će stvoriti ~/master
direktorij za pohranu Buildmaster datoteka. Također će zapisati podatke u PostgreSQL bazu podataka. Dobit ćete sljedeći izlaz.
[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master
Kopirajte uzorak konfiguracijske datoteke u živu konfiguracijsku datoteku.
cp ~/master/master.cfg.sample ~/master/master.cfg
Uredite konfiguracijsku datoteku.
nano ~/master/master.cfg
Pronađite sljedeće retke.
c['workers'] = [worker.Worker("example-worker", "pass")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["example-worker"],
factory=factory))
...
c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...
c['buildbotURL'] = "http://localhost:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
Gornja konfiguracija ima unos za primjer radnika. Izmijenit ćemo unos uzorka za radnika na kojem ćemo raditi localhost
. Promijenite u example-worker
bilo koje prikladno ime za localhost
radnika i promijenite u pass
neku drugu lozinku. Zabilježite ime i lozinku radnika jer ćemo to zahtijevati kasnije u vodiču. Promijenite ime radnika na popisu graditelja. Promijenite naziv aplikacije i URL projekta prema svojim potrebama.
Change the Buildbot URL from localhost
to your actual domain name or public IP address. Also, verify that the database information in the configuration file matches your actual database credentials.
At the end of the file, add c['buildbotNetUsageData'] = None
. This parameter will disable sending the software version information and plugin usage details to the developers. However, to enable sending the uses information, change the option to Full
.
The configuration should look like the following text.
c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["localhost-worker"],
factory=factory))
...
c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...
c['buildbotURL'] = "http://192.168.1.1:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...
c['buildbotNetUsageData'] = None
Save the file and exit the editor. Check the configuration file for errors.
buildbot checkconfig ~/master
If the configuration file has no errors, you will see following output.
[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!
Now that everything is configured correctly, you can start the Buildbot master.
buildbot start ~/master
You will see the following output.
[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.
Now that the Buildbot master has started correctly, the web user interface is accessible at http://192.168.1.1:8010
. You should see the following Buildbot interface.
Since we have already modified the worker configuration in ~/master/master.cfg
, we can proceed to create a new worker.
buildbot-worker create-worker ~/worker localhost localhost-worker Password123
Make sure that you use the exact same worker name and password as mentioned in ~/master/master.cfg
file. If there's a mismatch in worker name or password, the worker will not be able to connect to the Buildbot master. You will see the following output upon successful execution.
[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker
Information about the worker is stored in the /info
directory. Edit the administrative information about the developer.
nano ~/worker/info/admin
Replace the example name with your actual name and email.
Your Name <[email protected]>
Now, open the file containing information about the host.
nano ~/worker/info/host
Replace the example instruction with the actual information about the host system.
Localhost, CentOS 7
The worker admin and host information is only used to tell the users about the system. You can also add additional information about the system such as Buildbot version and Twisted version.
Start the worker.
buildbot-worker start ~/worker
The output will look like the following text.
[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.
To check if the worker is registered, head to the web interface of Buildbot and navigate to Builds >> Workers
from the left navigation. You should see that the worker is up and ready to build.
To run a sample build, to check if the Buildbot worker is running successfully, navigate to Builds >> Builders
. Click on the runtests
builder name to open the builder interface and click on the Force
button to force a build. Provide your name and click on the Start Build
button to start the build. Since it is a sample build test to check the Buildbot environment, it will finish in a couple of seconds. You will get a success message and the build result.
Although the Buildbot master and worker can be easily started using the commands above, it is recommended to use Systemd units to run and manage the Buildbot services. This will ensure that they are automatically started on system restart and failures.
Note: Switch to the sudo
user again by running either exit
or su <username>
. From now on all the commands need to be executed by the sudo
user.
Stop the running Buildbot worker and master service.
sudo su buildbot -c "buildbot stop /home/buildbot/master"
sudo su buildbot -c "buildbot-worker stop ~/worker"
Create a new Systemd unit file for the Buildbot master.
sudo nano /etc/systemd/system/buildbot.service
Populate the file.
[Unit]
Description=BuildBot master service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/master
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart
[Install]
WantedBy=multi-user.target
Start the Buildbot master and enable it to automatically start at boot time.
sudo systemctl start buildbot
sudo systemctl enable buildbot
Create a new Systemd unit file for the Buildbot worker.
sudo nano /etc/systemd/system/buildbot-worker.service
Populate the file.
[Unit]
Description=BuildBot worker service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart
[Install]
WantedBy=multi-user.target
Start the Buildbot worker and enable it to automatically start at boot time.
sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker
You can check the status of the services.
sudo systemctl status buildbot buildbot-worker
If the services are running smoothly, you will see that in the output.
[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.
● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.
By default, authentication is not enabled in the Buildbot web interface. For internet facing sites, it is strongly recommended to setup authentication so that only the authorized users can have the ability to perform administrative tasks. To set up authentication, reopen the Buildbot master configuration file.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Add the following lines to the end of the file.
c['www']['authz'] = util.Authz(
allowRules = [
util.AnyEndpointMatcher(role="admins")
],
roleMatchers = [
util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})
Replace both occurrences of admin_user
with the actual username you want to use and AdminPassword
with a strong password.
Check for errors in the configuration file.
sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"
Restart Buildbot master service so that the changes can take effect.
sudo systemctl restart buildbot
Browse the web interface again to see that the anonymous users can only view the basic details about the build server. Now, log in using the credentials set in the master.cfg
file and you will see that all other administrative functions are only available to the logged in admin user.
By default, Buildbot listens to the port 8010
on unsecured connections. Securing the web interface with HTTPS
is recommended to ensure that the data is safe during transportation from the browser to the server. In this section of the tutorial, we will install and secure Nginx with Let's Encrypt free SSL certificates. The Nginx web server will work as a reverse proxy to forward the incoming requests to Buildbot's HTTP endpoint.
Install Nginx.
sudo yum -y install nginx
Start Nginx and enable it to automatically start at boot time.
sudo systemctl start nginx
sudo systemctl enable nginx
Install Certbot, which is the client application for Let's Encrypt CA.
sudo yum -y install certbot
Before you can request the certificates, you will need to allow ports 80
and 443
or standard HTTP
and HTTPS
services through the firewall. Also, remove port 8010
, which listens to the unsecured connections.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload
Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Generate the SSL certificates.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com
Generirani certifikati će vjerojatno biti pohranjeni u /etc/letsencrypt/live/ci.example.com/
imeniku. SSL certifikat će biti pohranjen kao, fullchain.pem
a privatni ključ će biti pohranjen kao privkey.pem
.
Let's Encrypt certifikati istječu za 90 dana, stoga je preporučljivo postaviti automatsku obnovu certifikata pomoću Cron poslova.
Otvorite datoteku cron posla za root
korisnika.
sudo crontab -e
Dodajte sljedeći redak na kraj datoteke.
30 5 * * * /usr/bin/certbot renew --quiet
Gornji cron posao će se izvoditi svaki dan u 5:30 ujutro. Ako potvrda istekne, automatski će se obnoviti.
Sada promijenite zadanu konfiguracijsku datoteku Nginxa da uklonite default_server
liniju.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Izradite novu konfiguracijsku datoteku za Buildbot web sučelje.
sudo nano /etc/nginx/conf.d/buildbot.conf
Popunite datoteku.
upstream buildbot {
server 127.0.0.1:8010;
}
server {
listen 80 default_server;
server_name ci.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2 default_server;
server_name ci.example.com;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/letsencrypt/live/ci.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ci.example.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1440m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
access_log /var/log/nginx/buildbot.access.log;
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_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $host;
location / {
proxy_pass http://buildbot;
}
location /sse/ {
proxy_buffering off;
proxy_pass http://buildbot/sse/;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://buildbot/ws;
proxy_read_timeout 6000s;
}
}
Provjerite ima li pogrešaka u novoj konfiguracijskoj datoteci.
sudo nginx -t
Ako vidite sljedeći izlaz, konfiguracija je bez grešaka.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ako ste primili neku vrstu pogreške, provjerite još jednom put do SSL certifikata. Ponovno pokrenite Nginx web poslužitelj kako biste implementirali promjenu konfiguracije.
sudo systemctl restart nginx
Otvorite konfiguracijsku datoteku Buildmaster.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Pronađite sljedeći redak.
c['buildbotURL'] = "http://192.168.1.1:8010/"
Promijenite URL prema imenu domene koju koristite.
c['buildbotURL'] = "https://ci.example.com/"
Ponovno pokrenite glavnu uslugu Buildbot.
sudo systemctl restart buildbot
Sada možete pristupiti Buildbot nadzornoj ploči na https://ci.example.com
. Vidjet ćete da su veze s Buildbotom sada zaštićene SSL-om.
Prijavite se koristeći administratorske vjerodajnice i dodajte svoj prvi cjevovod za početak izrade aplikacije.
Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka
Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene
Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj
VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti
Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent
Korištenje drugog sustava? Apache Cassandra je besplatni i otvorenog koda NoSQL sustav upravljanja bazom podataka koji je osmišljen kako bi osigurao skalabilnost, visoku
Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati
Korištenje drugog sustava? Mattermost je open source alternativa Slack SAAS servisu za razmjenu poruka. Drugim riječima, s Mattermostom možete ca
Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije
Upravljačka ploča Plesk ima vrlo lijepu integraciju za Lets Encrypt. Lets Encrypt je jedan od jedinih SSL pružatelja usluga koji u potpunosti izdaju certifikate
Lets Encrypt je tijelo za izdavanje certifikata posvećeno besplatnom pružanju SSL certifikata. cPanel je izgradio urednu integraciju tako da vi i vaš klijent
Korištenje drugog sustava? Concrete5 je CMS otvorenog koda koji nudi mnoge osebujne i korisne značajke koje pomažu urednicima u jednostavnoj proizvodnji sadržaja i
Korištenje drugog sustava? Review Board je besplatan alat otvorenog koda za pregled izvornog koda, dokumentacije, slika i još mnogo toga. To je web-bazirani softver
U ovom vodiču naučit ćete kako postaviti HTTP autentifikaciju za Nginx web poslužitelj koji radi na CentOS 7. Zahtjevi Da biste započeli, trebat će vam
YOURLS (Your Own URL Shortener) je aplikacija za skraćivanje URL-ova otvorenog koda i analizu podataka. U ovom članku ćemo pokriti proces instalacije
Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je
Uvod Direktorij /etc/ igra ključnu ulogu u načinu na koji Linux sustav funkcionira. Razlog tome je što je gotovo svaka konfiguracija sustava
Mnogi administratori sustava upravljaju velikim količinama poslužitelja. Kada se datotekama treba pristupiti na različitim poslužiteljima, prijava na svaki pojedinačno ca
Ovaj vodič će pokriti proces instaliranja poslužitelja za igre Half Life 2 na sustavu CentOS 6. Korak 1: Instaliranje preduvjeta Kako biste postavili ou
Laravel GitScrum ili GitScrum je alat za produktivnost otvorenog koda dizajniran da pomogne razvojnim timovima da implementiraju Scrum metodologiju na sličan način.
Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.
Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.
Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.
Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.
Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…
Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.
Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.
Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.
U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.
Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više