Инсталирајте Плеск на ЦентОС 7
Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података
Матрик је отворени стандардни комуникациони протокол за децентрализовану комуникацију у реалном времену. Матрик је имплементиран као кућни сервери који се дистрибуирају преко интернета; стога не постоји јединствена тачка контроле или неуспеха. Матрик обезбеђује РЕСТфул ХТТП АПИ за креирање и управљање дистрибуираним серверима за ћаскање који укључује слање и примање порука, позивање и управљање члановима собе за ћаскање, одржавање корисничких налога и пружање напредних функција ћаскања као што су ВоИП и видео позиви, итд. Матрик такође успоставља безбедна синхронизација између кућних сервера који су дистрибуирани широм света.
Синапсе је имплементација Матрик кућног сервера коју је написао Матрик тим. Матрик екосистем се састоји од мреже многих федералних кућних сервера распоређених широм света. Корисник Матрик-а користи клијент за ћаскање да се повеже са кућним сервером, који се заузврат повезује на Матрик мрежу. Хомесервер чува историју ћаскања и податке за пријаву тог одређеног корисника.
У овом водичу ћемо користити matrix.example.com
као име домена које се користи за Матрик Синапсе. Замените сва појављивања matrix.example.com
са својим стварним именом домена које желите да користите за свој Синапсе кућни сервер.
Ажурирајте свој основни систем помоћу водича Како да ажурирате ЦентОС 7 . Када се ваш систем ажурира, наставите да инсталирате Питхон.
Матрик Синапсе-у је потребан Питхон 2.7 да би радио. Питхон 2.7 долази унапред инсталиран у свим инстанцама ЦентОС сервера. Можете проверити инсталирану верзију Питхон-а.
python -V
Требало би да добијете сличан излаз.
[user@vultr ~]$ python -V
Python 2.7.5
Промена подразумеване верзије Питхон-а може да поквари ИУМ менаџер спремишта. Међутим, ако желите најновију верзију Питхона, можете извршити алтернативну инсталацију, без замене подразумеваног Питхон-а.
Инсталирајте пакете у Development tools
групи који су потребни за компајлирање инсталационих датотека.
sudo yum groupinstall -y "Development tools"
Инсталирајте још неколико потребних зависности.
sudo yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel
Инсталирајте Питхон пип. Пип је менаџер зависности за Питхон пакете.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Креирајте виртуелно окружење за своју Синапсе апликацију. Питхон виртуелно окружење се користи за креирање изолованог виртуелног окружења за Питхон пројекат. Виртуелно окружење садржи сопствене директоријуме за инсталацију и не дели библиотеке са глобалним и другим виртуелним окружењима.
sudo virtualenv -p python2.7 /opt/synapse
Обезбедите власништво над директоријумом тренутном кориснику.
sudo chown -R $USER:$USER /opt/synapse/
Сада активирајте виртуелно окружење.
source /opt/synapse/bin/activate
Уверите се да имате најновију верзију pip
и setuptools
.
pip install --upgrade pip
pip install --upgrade setuptools
Инсталирајте најновију верзију Синапсе-а користећи пип.
pip install https://github.com/matrix-org/synapse/tarball/master
Горњој команди ће бити потребно неко време да се изврши док повлачи и инсталира најновију верзију Синапсе-а и све зависности из Гитхуб репозиторија.
Синапсе користи СКЛите као подразумевану базу података. СКЛите чува податке у бази података која се чува као равна датотека на диску. Коришћење СКЛите-а је веома једноставно, али се не препоручује за производњу јер је веома споро у поређењу са ПостгреСКЛ-ом.
ПостгреСКЛ је објектно релациони систем базе података. Мораћете да додате ПостгреСКЛ спремиште у свој систем, пошто апликација није доступна у подразумеваном ИУМ спремишту.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Инсталирајте ПостгреСКЛ сервер базе података.
sudo yum -y install postgresql96-server postgresql96-contrib
Иницијализујте базу података.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Уредите да /var/lib/pgsql/9.6/data/pg_hba.conf
бисте омогућили аутентификацију засновану на МД5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Пронађите следеће редове и промените peer
у trust
и idnet
у md5
.
# 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 idnet
# IPv6 local connections:
host all all ::1/128 idnet
Након ажурирања, конфигурација би требало да изгледа овако.
# 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
Покрените ПостгреСКЛ сервер и омогућите му да се аутоматски покреће при покретању.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Промените лозинку за подразумеваног корисника ПостгреСКЛ.
sudo passwd postgres
Пријавите се.
sudo su - postgres
Креирајте новог ПостгреСКЛ корисника за Синапсе.
createuser synapse
ПостгреСКЛ обезбеђује psql
љуску за покретање упита у бази података. Пребаците се на ПостгреСКЛ љуску покретањем.
psql
Поставите лозинку за новокреираног корисника за Синапсе базу података.
ALTER USER synapse WITH ENCRYPTED password 'DBPassword';
Замените DBPassword
јаком лозинком и забележите је јер ћемо је касније користити. Креирајте нову базу података за ПостгреСКЛ базу података.
CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;
Изађите из psql
љуске.
\q
Пребаците се на sudo
корисника са тренутног postgres
корисника.
exit
Такође ћете морати да инсталирате пакете потребне да Синапсе комуницира са ПостгреСКЛ сервером базе података.
sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2
Синапсе захтева конфигурациону датотеку пре него што се може покренути. Конфигурациони фајл чува подешавања сервера. Пребаците се на виртуелно окружење и генеришете конфигурацију за Синапсе.
source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
Replace matrix.example.com
with your actual domain name and make sure that the server name is resolvable to the IP address of your Vultr instance. Provide --report-stats=yes
if you want the servers to generate the reports, provide --report-stats=no
to disable the generation of reports and statistics.
You should see a similar output.
(synapse)[user@vultr synapse]$ python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
A config file has been generated in 'homeserver.yaml' for server name 'matrix.example.com' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs.
If this server name is incorrect, you will need to regenerate the SSL certificates
By default, the homeserver.yaml
is configured to use a SQLite database. We need to modify it to use the PostgreSQL database we have created earlier.
Edit the newly created homeserver.yaml
.
nano homeserver.yaml
Find the existing database configuration which uses SQLite3. Comment out the lines as shown below. Also, add the new database configuration for PostgreSQL. Make sure that you use the correct database credentials.
# Database configuration
#database:
# The database engine name
#name: "sqlite3"
# Arguments to pass to the engine
#args:
# Path to the database
#database: "/opt/synapse/homeserver.db"
database:
name: psycopg2
args:
user: synapse
password: DBPassword
database: synapse
host: localhost
cp_min: 5
cp_max: 10
Registration of a new user from a web interface is disabled by default. To enable registration, you can set enable_registration
to True
. You can also set a secret registration key, which allows anyone to register who has the secret key, even if registration is disabled.
enable_registration: False
registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"
Save the file and exit from the editor. Now you will need to register your first user. Before you can register a new user, though, you will need to start the application first.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl start
You should see the following lines.
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - SynapseSite starting on 8008
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - Starting factory <synapse.http.site.SynapseSite instance at 0x44bbc68>
2017-09-05 11:10:41,921 - synapse.app.homeserver - 201 - INFO - - Synapse now listening on port 8008
2017-09-05 11:10:41,922 - synapse.app.homeserver - 442 - INFO - - Scheduling stats reporting for 3 hour intervals
started synapse.app.homeserver('homeserver.yaml')
Register a new Matrix user.
register_new_matrix_user -c homeserver.yaml https://localhost:8448
You should see the following.
(synapse)[user@vultr synapse]$ register_new_matrix_user -c homeserver.yaml https://localhost:8448
New user localpart [user]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success.
Finally, before you can use the Homeserver, you will need to allow port 8448 through the Firewall. Port 8448
is used as the secured federation port. Homeservers use this port to communicate with each other securely. You can also use the built-in Matrix web chat client through this port.
sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload
You can now log in to the Matrix web chat client by going to https://matrix.example.com:8448
through your favorite browser. You will see a warning about the SSL certificate as the certificates used are self-signed. We will not use this web chat client as it is outdated and not maintained anymore. Just try to check if you can log in using the user account you just created.
Instead of using a self-signed certificate for securing federation port, we can use Let's Encrypt free SSL. Let's Encrypt free SSL can be obtained through the official Let's Encrypt client called Certbot.
Install Certbot.
sudo yum -y install certbot
Adjust your firewall setting to allow the standard HTTP
and HTTPS
ports through the firewall. Certbot needs to make an HTTP
connection to verify the domain authority.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
To obtain certificates from Let's Encrypt CA, you must ensure that the domain for which you wish to generate the certificates is pointed towards the server. If it is not, then make the necessary changes to the DNS records of your domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Now use the built-in web server in Certbot to generate the certificates for your domain.
sudo certbot certonly --standalone -d matrix.example.com
The generated certificates are likely to be stored in /etc/letsencrypt/live/matrix.example.com/
. The SSL certificate will be stored as fullchain.pem
and the private key will be stored as privkey.pem
.
Copy the certificates.
sudo cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
sudo cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem
You will need to change the path to the certificates and keys from the homeserver.yaml
file. Edit the configuration.
nano /opt/synapse/homeserver.yaml
Find the following lines and modify the path.
tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"
# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"
Save the file and exit from the editor. Restart the Synapse server so that the changes can take effect.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart
Let's Encrypt certificates are due to expire in 90 days, so it is recommended that you setup auto renewal for the certificates using cron jobs. Cron is a system service which is used to run periodic tasks.
Create a new script to renew certificates and copy the renewed certificates to the Synapse directory.
sudo nano /opt/renew-letsencypt.sh
Populate the file.
#!/bin/sh
/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem
Provide the execution permission.
sudo chmod +x /opt/renew-letsencypt.sh
Open the cron job file.
sudo crontab -e
Add the following line at the end of the file.
30 5 * * 1 /opt/renew-letsencypt.sh
The above cron job will run every Monday at 5:30 AM. If the certificate is due to expire, it will automatically renew them.
Now you can visit https://matrix.example.com:8448
. You will see that there is no SSL warning before connection.
Apart from the secured federation port 8448
, Synapse also listens to the unsecured client port 8008
. We will now configure Nginx as a reverse proxy to the Synapse application.
sudo yum -y install nginx
Create a new configuration file.
sudo nano /etc/nginx/conf.d/synapse.conf
Populate the file with the following content.
server {
listen 80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name matrix.example.com;
ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.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/synapse.access.log;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Restart and enable Nginx to automatically start at boot time.
sudo systemctl restart nginx
sudo systemctl enable nginx
Finally, you can verify if Synapse can be accessed through the reverse proxy.
curl https://matrix.example.com/_matrix/key/v2/server/auto
You should get similar output.
[user@vultr ~]$ curl https://matrix.example.com/_matrix/key/v2/server/auto
{"old_verify_keys":{},"server_name":"matrix.example.com","signatures":{"matrix.example.com":{"ed25519:a_ffMf":"T/Uq/UN5vyc4w7v0azALjPIJeZx1vQ+HC6ohUGkTSqiFI4WI/ojGpb2763arwSSQLr/tP/2diCi1KLU2DEnOCQ"}},"tls_fingerprints":[{"sha256":"eorhQj/kubI2PEQZyBZvGV7K1x3EcQ7j/AO2MtZMplw"}],"valid_until_ts":1504876080512,"verify_keys":{"ed25519:a_ffMf":{"key":"Gc1hxkpPmQv71Cvjyk+uzR5UtrpmgV/UwlsLtosawEs"}}}
It is recommended to use the Systemd service to manage the Synapse server process. Using Systemd will ensure that the server is automatically started on system startup and failures.
Create a new Systemd service file.
sudo nano /etc/systemd/system/matrix-synapse.service
Populate the file.
[Unit]
Description=Matrix Synapse service
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/synapse/
ExecStart=/opt/synapse/bin/synctl start
ExecStop=/opt/synapse/bin/synctl stop
ExecReload=/opt/synapse/bin/synctl restart
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=synapse
[Install]
WantedBy=multi-user.target
Now you can quickly start the Synapse server.
sudo systemctl start matrix-synapse
To stop or restart the server using following commands.
sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse
You can check the status of service.
sudo systemctl status matrix-synapse
Matrix Synapse server is now installed and configured on your server. As the built-in web client for Matrix is outdated, you can choose from the variety of the client applications available for chat. Riot is the most popular chat client, which is available on almost all platforms. You can use the hosted version of Riot's web chat client, or you can also host a copy of it on your own server. Apart from this, you can also use Riot's desktop and mobile chat clients, which are available for Windows, Mac, Linux, IOS and Android.
Ако желите да угостите сопствену копију Риот веб клијента, можете даље да прочитате упутства за инсталирање Риот-а на ваш сервер. За хостоване, десктоп и мобилне клијенте, можете користити своје корисничко име и лозинку за пријаву директно на кућни сервер. Само изаберите my Matrix ID
из падајућег менија Sign In
опције и унесите корисничко име и лозинку које сте креирали током регистрације новог корисника. Кликните на Custom server
и користите име домена ваше Синапсе инстанце. Пошто смо већ конфигурисали Нгинк, можемо само да користимо https://matrix.example.com
као кућни сервер и https://matrix.org
као УРЛ сервера идентитета.
Риот је такође отвореног кода и бесплатан за хостовање на вашем серверу. Не захтева никакву базу података или зависности. Пошто већ имамо покренут Нгинк сервер, можемо га хостовати на истом серверу.
The domain or subdomain you are using for Synapse and Riot must be different to avoid cross-site scripting. However, you can use two subdomains of the same domain. In this tutorial, we will be using
riot.example.com
as the domain for the Riot application. Replace all occurrence ofriot.example.com
with your actual domain or subdomain for the Riot application.
Преузмите Риот на свој сервер.
cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz
Увек можете пронаћи везу до најновије верзије на Риот-овом Гитхубу .
Извуците архиву.
sudo tar -xzf riot-v*.tar.gz
Преименујте директоријум ради лакшег руковања.
sudo mv riot-v*/ riot/
Пошто смо већ инсталирали Цертбот, можемо директно да генеришемо сертификате. Уверите се да је домен или поддомен који користите усмерен ка серверу.
sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com
Генерисани сертификати ће вероватно бити ускладиштени у /etc/letsencrypt/live/riot.example.com/
директоријуму.
Направите виртуелни хост за апликацију Риот.
sudo nano /etc/nginx/conf.d/riot.conf
Попуните датотеку.
server {
listen 80;
server_name riot.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name riot.example.com;
ssl_certificate /etc/letsencrypt/live/riot.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/riot.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;
root /opt/riot;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/riot.access.log;
}
Копирајте узорак конфигурационе датотеке.
sudo cp /opt/riot/config.sample.json /opt/riot/config.json
Сада уредите конфигурациону датотеку да бисте направили неколико промена.
sudo nano /opt/riot/config.json
Пронађите следеће редове.
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
Замените вредност подразумеване УРЛ адресе кућног сервера УРЛ-ом вашег Матрик сервера. За УРЛ сервера идентитета можете користити подразумевану опцију или такође можете да дате његову вредност Матрик серверу идентитета, а то је https://matrix.org
.
"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",
Сачувајте датотеку и изађите. Обезбедите власништво над датотекама Нгинк кориснику.
sudo chown -R nginx:nginx /opt/riot/
Поново покрените Нгинк.
sudo systemctl restart nginx
Можете приступити Риоту на https://riot.example.com
. Сада се можете пријавити користећи корисничко име и лозинку које сте раније креирали. Можете се повезати помоћу подразумеваног сервера јер смо већ променили подразумевани Матрик сервер за нашу апликацију.
Сада имате Матрик Синапсе кућни сервер који ради. Такође имате хостовану копију Риот-а, коју можете користити да пошаљете поруку другим људима користећи њихов Матрик ИД, е-маил или број мобилног телефона. Почните тако што ћете креирати собу за ћаскање на свом серверу и позвати своје пријатеље на Матрик-у да се придруже соби за ћаскање коју сте креирали.
Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података
Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене
Увод Лигхттпд је форк Апацхе-а који има за циљ да буде много мање интензиван према ресурсима. Лаган је, отуда и његово име, и прилично је једноставан за употребу. Инсталлин
ВУЛТР је недавно направио измене на њиховој страни, и сада би све требало да ради добро из кутије са омогућеним НетворкМанагер-ом. Ако желите да онемогућите
Ицинга2 је моћан систем за праћење, и када се користи у моделу мастер-цлиент, може да замени потребу за провером праћења заснованом на НРПЕ. Главни клијент
Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу
Користите другачији систем? Мицровебер је ЦМС и онлајн продавница отвореног кода. Мицровебер изворни код се налази на ГитХуб-у. Овај водич ће вам показати
Користите другачији систем? Маттермост је опен соурце алтернатива Слацк СААС сервису за размену порука. Другим речима, са Маттермостом, ца
Шта вам треба Вултр ВПС са најмање 1 ГБ РАМ-а. ССХ приступ (са роот/административним привилегијама). Корак 1: Инсталирање БунгееЦорд-а Прво прво
Плеск контролна табла има веома лепу интеграцију за Летс Енцрипт. Летс Енцрипт је један од јединих ССЛ провајдера који у потпуности издају сертификате
Летс Енцрипт је ауторитет за сертификацију посвећен бесплатном пружању ССЛ сертификата. цПанел је направио уредну интеграцију тако да ви и ваш клијент
Користите другачији систем? Цонцрете5 је ЦМС отвореног кода који нуди многе карактеристичне и корисне функције које помажу уредницима да лако производе садржај и
Користите другачији систем? Ревиев Боард је бесплатан алат отвореног кода за преглед изворног кода, документације, слика и још много тога. То је софтвер заснован на вебу
У овом водичу ћете научити како да подесите ХТТП аутентификацију за Нгинк веб сервер који ради на ЦентОС 7. Захтеви Да бисте започели, требаће вам
ИОУРЛС (Иоур Овн УРЛ Схортенер) је апликација за скраћивање УРЛ-ова отвореног кода и аналитику података. У овом чланку ћемо покрити процес инсталације
Користите другачији систем? Увод АрангоДБ је НоСКЛ база података отвореног кода са флексибилним моделом података за документе, графиконе и кључ-вредности. То је
Увод Директоријум /етц/ игра кључну улогу у начину на који Линук систем функционише. Разлог за то је што је скоро свака конфигурација система
Многи системски администратори управљају великим количинама сервера. Када датотекама треба приступити на различитим серверима, пријављивање на сваки појединачно ца
Овај водич ће покрити процес инсталирања Халф Лифе 2 сервера за игре на ЦентОС 6 систем. Корак 1: Инсталирање предуслова Да бисте подесили оу
Ларавел ГитСцрум или ГитСцрум је алатка за продуктивност отвореног кода дизајнирана да помогне развојним тимовима да имплементирају Сцрум методологију на сличан начин т
Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.
Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.
Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.
Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.
Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…
Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.
Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.
Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.
У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.
Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више