Asenna Plesk CentOS 7:ään
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
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.
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 CentOS 7:n päivittäminen -oppaan avulla . Kun järjestelmäsi on päivitetty, jatka PostgreSQL:n asentamista.
PostgreSQL on objektirelaatiotietokantajärjestelmä. Concourse tallentaa putkistotietonsa PostgreSQL-tietokantaan. Lisää PostgreSQL-arkisto.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Asenna PostgreSQL-tietokantapalvelin.
sudo yum -y install postgresql96-server postgresql96-contrib
Alusta tietokanta.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
initdb
luo uuden PostgreSQL-tietokantaklusterin, joka on kokoelma tietokantoja, joita hallitsee yksi palvelinilmentymä. Muokkaa pg_hba.conf
tiedostoa ottaaksesi MD5-pohjaisen todennuksen käyttöön.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Etsi seuraavat rivit ja muuttaa arvoja peer
ja ident
että METHOD
sarakkeen trust
ja md5
vastaavasti.
# 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
Päivityksen jälkeen kokoonpanon pitäisi näyttää tältä.
# 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
Käynnistä PostgreSQL-palvelin ja ota se käyttöön automaattisesti käynnistyksen yhteydessä.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
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 suorittamalla:
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ä postgres-käyttäjästä sudo-käyttäjään.
exit
Lataa Concourse-ohjelman 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.4.1/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.4.1/fly_linux_amd64 -O /usr/bin/fly
Fly on komentoriviliittymä, jolla voit muodostaa yhteyden 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
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
. Lopuksi, luo worker_key
varten kullekin 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
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-auth
vaihtoehto sen jälkeen, kun olet poistanut perustodennusvaihtoehdot.
Once the web server is started, the following output should be displayed.
{"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"}}
Stop the server for now, as a few more things still must be setup.
Start the 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
The above command will assume that the TSA is running on localhost and listening to the default port 2222
.
Though the Concourse web and worker can be started easily using the commands above, it is recommended to use Systemd to manage the server.
Using Systemd service for managing the application ensures that the application is automatically started on failures and at boot time. The Concourse server does not take data from any configuration file, but it can access the data from environment variables. Instead of setting global environment variables, create a new file to store the environment variables and then pass the variables to the Concourse CI using the Systemd service.
Create a new environment file for Concourse web.
sudo nano /opt/concourse/web.env
Populate the file.
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 username 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 adduser --system 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
After=postgresql-9.6.service
[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
After=concourse-web.service
[Service]
Type=simple
User=root
Group=root
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 by running:
sudo systemctl start concourse-web concourse-worker
To enable the worker and web process to automatically start at boot time, run:
sudo systemctl enable concourse-worker concourse-web
To check the status of services, run:
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 should be simil.
[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.
Adjust your firewall to allow port 8080, on which ATS is running and port 2222, on which TSA is running.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
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:
fly -t my-ci login -c http://192.0.2.1:8080
The above command is used for 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.
Logins, and other information sent through the web UI to the Concourse server is not secured. The connection is not encrypted. An Nginx reverse proxy can be set up with a Let's Encrypt free SSL.
Install the Nginx web server and Certbot, which is the client application for the Let's Encrypt CA.
sudo yum -y install certbot-nginx nginx
Start and enable Nginx to automatically start at boot time:
sudo systemctl start nginx
sudo systemctl enable nginx
Ennen kuin varmenteita voidaan pyytää, portit 80 ja 443 tai standardi HTTP- ja HTTPS-palvelut on otettava käyttöön palomuurin kautta. Certbot tarkistaa verkkotunnuksen viranomaisen ennen varmenteiden myöntämistä.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Porttia 8080 ei enää tarvitse päästää palomuurin läpi, koska Concourse ajetaan nyt tavallisella HTTPS-portilla. Poista palomuurin merkintä salliaksesi portin 8080.
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload
Merkintä
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.
Luo SSL-varmenteet.
sudo certbot certonly --webroot -w /usr/share/nginx/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 * * 1 /usr/bin/certbot renew --quiet
Yllä oleva cron-työ suoritetaan joka maanantai klo 5.30. Jos varmenteen voimassaolo päättyy, se uusitaan automaattisesti.
Luo uusi virtuaalinen isäntä.
sudo nano /etc/nginx/conf.d/concourse-ssl.conf
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.
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-verkkopalvelin uudelleen:
sudo systemctl restart concourse-worker concourse-web nginx
Kaikki selaimeen ja selaimelta lähetettävät tiedot on nyt suojattu SSL-salauksin.
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut
Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna
VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä
Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas
Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.
Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle
Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin
Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin
Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti
Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi
Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.
Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto
Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset
YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia
Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on
Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot
Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n
Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou
Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
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.
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…
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 säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
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.
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