Si të konfiguroni një server Tekkit Classic në Ubuntu 16.10
Përdorimi i një sistemi të ndryshëm? Çfarë është Tekkit Classic? Tekkit Classic është një modpack për lojën që të gjithë e njohin dhe e duan; Minecraft. Ai përmban disa nga ver
Qëllimi i këtij tutoriali është të heqë qafe lidhjet publike SSH dhe RDP publike. Duke e vendosur të gjithë këtë pas një klienti shumë të përshtatshëm HTML5, ne mund të shtojmë një shtresë sigurie për të hyrë në renë tonë.
Guacamole gjithashtu regjistron çdo akses në distancë, kështu që aksesi i paautorizuar bëhet shumë më i gjurmueshëm.
Shënim: Për Let's encrypt (opsioni B) na duhet një emër domain. Nëse ju nuk keni një të tillë, ju mund të kaloni këtë hap dhe vetëm ekzekutuar opsion A .
Filloni duke rrotulluar një VPS në zonën tuaj të dëshiruar Vultr. Një 1024 MB
VPS do të jetë e mjaftueshme, pasi Guacamole nuk është aq kërkues.
Filloni duke aktivizuar rrjetin privat në VPS. Kjo është e dokumentuar mirë këtu
Së pari, le ta forcojmë pak imazhin. Dhe le të kontrollojmë nëse imazhi që është dhënë është ufw
aktivizuar.
root@vultr:~# ufw status
Status: inactive
Si parazgjedhje është i çaktivizuar, kështu që do të na duhet të shtojmë disa rregulla.
Le të fillojmë me konfigurimin e këtyre porteve.
ufw allow 22/tcp
ufw allow 8080/tcp
Më pas aktivizoni murin e zjarrit.
ufw enable
Mos u shqetësoni nëse merrni një paralajmërim. Nëse keni shtuar portin 22
, nuk do të përballeni me asnjë problem.
root@vultr:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Pasi të aktivizohet, kërkoni statusin e murit të zjarrit dhe ne do të shohim konfigurimin e portit tonë.
ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
8080/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
8080/tcp (v6) ALLOW Anywhere (v6)
Para se të fillojmë instalimin, duhet të përditësojmë dhe përmirësojmë depon. Me paketa të tilla si Tomcat
, e cila është e bazuar në Java, ekziston një rrjedhë e vazhdueshme e gabimeve të zbuluara dhe korrigjimeve të tyre të lidhura me të metat. Zakonisht është një ide e mirë ta bëni këtë fillimisht në vend që të nxitoni direkt në instalimin tonë.
apt-get update
apt-get -y upgrade
Tjetra janë të gjitha varësitë. Guacamole ka mjaft prej tyre. (Një listë e plotë e varësive dhe funksioni i tyre mund të gjendet këtu ). Le të vazhdojmë duke i instaluar të gjitha.
apt-get -y install build-essential tomcat8 freerdp libcairo2-dev libjpeg-turbo8-dev libpng12-dev libossp-uuid-dev libavcodec-dev libavutil-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvorbis-dev libwebp-dev mysql-server mysql-client mysql-common mysql-utilities libswscale-dev libvncserver-dev libpulse-dev libssl-dev
Kur instaluesi kërkon një fjalëkalim rrënjësor MySQL, jepni një dhe sigurohuni që ta mbani shënim. Ne do ta përdorim këtë fjalëkalim më vonë për të krijuar bazën e të dhënave Guacamole.
Tani që kemi të gjitha varësitë tona, mund të vazhdojmë me shkarkimin e Guacamole. Vetë Guacamole vjen kryesisht në një formë burimi, dhe jo një binare. Fillimisht do të kalojmë në /tmp
dosje për të shmangur rrëmujën e pjesëve të tjera të diskut. Pastaj shkarkoni të gjithë kodin burimor.
Ekzistojnë katër skedarë burimi/binarë për t'u shkarkuar:
guacamole-0.9.13-incubating.war
: Ky është aplikacioni në internet. Një WAR
skedar është një paketë në internet e mbyllur që ofron një uebsajt të vetëm të vendosur në një uebsajt të Tomcatguacamole-server-0.9.13-incubating.tar.gz
: Ky skedar do të sigurojë guacd
aplikacionin mbështetës . Kjo krijon transmetimet përmes RDP dhe SSH.guacamole-auth-jdbc-0.9.13-incubating.tar.gz
: Ne do të përdorim një bazë të dhënash lokale MySQL, kështu që na duhet JDBC
lidhësi përkatës.mysql-connector-java-5.1.43.tar.gz
: Pa një drejtues të bazës së të dhënave, lidhësi JDBC nuk bën asgjë. Ky skedar ofrohet nga vetë ekipi i MySQL.Shënim: shkarkimet u zgjidhën në serverin më të afërt .
cd /tmp
wget http://apache.belnet.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-0.9.13-incubating.war
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/source/guacamole-server-0.9.13-incubating.tar.gz
wget http://apache.cu.be/incubator/guacamole/0.9.13-incubating/binary/guacamole-auth-jdbc-0.9.13-incubating.tar.gz
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.43.tar.gz
Pasi të kemi shkarkuar të gjithë këta skedarë, nxirrni tar.gz
's.
tar -xzvf guacamole-server-0.9.13-incubating.tar.gz
tar -xzvf guacamole-auth-jdbc-0.9.13-incubating.tar.gz
tar -xzvf mysql-connector-java-5.1.43.tar.gz
Tani që kemi nxjerrë të gjithë kodin burimor, le të bëjmë disa guacamole
dosje, këto do të përdoren nga aplikacioni guacamole dhe varësitë e tij.
mkdir -p /etc/guacamole/lib
mkdir -p /etc/guacamole/extensions
Gjithçka është gati për binarët tanë të rinj Guacamole. Tani mund të fillojmë procesin e përpilimit dhe instalimit. Kaloni te dosja e nxjerrë Server Guacamole.
cd /tmp/guacamole-server-0.9.13-incubating
Konfiguro aplikacionin që të krijojë gjithashtu një init.d
skedar për ekzekutimin e tij si shërbim më vonë.
./configure --with-init-dir=/etc/init.d
Komanda duhet të përfundojë me një 'po' në të gjitha bibliotekat dhe protokollet. Nëse jo, kthehuni dhe kontrolloni komandën apt-get për t'u siguruar që nuk keni humbur asnjë paketë.
------------------------------------------------
guacamole-server version 0.9.13-incubating
------------------------------------------------
Library status:
freerdp ............. yes
pango ............... yes
libavcodec .......... yes
libavutil ........... yes
libssh2 ............. yes
libssl .............. yes
libswscale .......... yes
libtelnet ........... yes
libVNCServer ........ yes
libvorbis ........... yes
libpulse ............ yes
libwebp ............. yes
Protocol support:
RDP ....... yes
SSH ....... yes
Telnet .... yes
VNC ....... yes
Services / tools:
guacd ...... yes
guacenc .... yes
Init scripts: /etc/init.d
Type "make" to compile guacamole-server.
Më pas përpiloni dhe instaloni serverin Gucamole.
make && make install
Pasi të keni përfunduar të gjitha, drejtojeni ldconfig
për të rindërtuar shtegun e kërkimit për bibliotekat që janë shtuar.
ldconfig
Vazhdoni duke përdorur systemctl
për të konfiguruar guacd
(Guacamole Daemon) për të filluar në nisje.
systemctl enable guacd
Binarët Guacamole tani janë instaluar. Tani do ta bëjmë gati aplikacionin ueb për Tomcat.
Filloni duke e zhvendosur war
skedarin në guacamole
dosjen që sapo krijuam, pasi kjo të kryhet, krijoni një lidhje logjike në drejtorinë tomcat për të treguar war
skedarin tonë .
cd /tmp
mv guacamole-0.9.13-incubating.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
Atëherë na duhet lidhësi mysql dhe JDBC. Drejtuesi JDBC nevojitet në extensions
dosje, lidhësi në lib
dosje.
cp mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar /etc/guacamole/lib/
cp guacamole-auth-jdbc-0.9.13-incubating/mysql/guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions/
Once the connector and JDBC are in place, we need to edit the tocamt8
file. This file contains a lot of tomcat8
settings, and in our case we need to add the GUACAMOLE_HOME
variable at the end of the file.
nano /etc/default/tomcat8
Append with the following.
GUACAMOLE_HOME=/etc/guacamole
Next up is creating the database. Guacamole stores its connection configuration in a database, not inside a file.
Login with the root password
you used during the installation.
mysql -u root -p
The first step is to create a database called 'guacamole_db'.
create database guacamole_db;
Then run the create user
command. This will create a user with a password mysupersecretpassword
, this user will only be able to connect from localhost
.
create user 'guacamole_user'@'localhost' identified by "mysupersecretpassword";
Grant CRUD
operations to this user for the database guacamole_db
.
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
Flush privileges and exit the shell.
flush privileges;
exit
Finish up by adding the Guacamole schema to our newly created database.
cat /tmp/guacamole-auth-jdbc-0.9.13-incubating/mysql/schema/*.sql | mysql -u root -p guacamole_db
Once this is done, we need to edit the guacamole.properties
file. This file contains our recently created MySQL server configuration.
nano /etc/guacamole/guacamole.properties
Append the MySQL connection details and credentials.
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: mysupersecretpassword
Finish up by creating a symbolic link to the tomcat share folder, as this is where the WAR
file will search these properties.
ln -s /etc/guacamole /usr/share/tomcat8/.guacamole
End by restarting the tomcat8
server and start the guacd
server daemon.
service tomcat8 restart
service guacd start
You can verify by using the status command.
service tomcat8 status
service guacd status
Now you can browse to your VPS on port 8080
http://<yourpublicip>:8080/guacamole/
Use the username guacadmin
and the same password guacadmin
. This will grant you access to an empty Guacamole server.
Click in the top right corner on your username guacadmin
and select Settings
. Once you are in the settings page go to the Users
tab and select the user guacadmin
.
Now change your password to something else or create a new admin user and delete the default guacadmin
one.
These are the final steps: cleaning up after you are done.
Delete the downloaded source code and binaries from the /tmp
folder.
rm -rf /tmp/guacamole-*
rm -rf /tmp/mysql-connector-java-*
Also, make the Guacamole web application the default one. In the tomcat ecosystem the application that gets the ROOT
folder is the one that is started by default when you access the website.
Delete the old ROOT
placeholder.
rm -rf /var/lib/tomcat8/webapps/ROOT
And make a symbolic link for the guacamole server to be the ROOT
one.
ln -s /var/lib/tomcat8/webapps/guacamole /var/lib/tomcat8/webapps/ROOT
This requires a tomcat restart.
service tomcat8 restart
Edit the tomcat8/server.xml
file and change the connector port.
nano /etc/tomcat8/server.xml
Search for the Connector port
.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
And replace 8080
with 80
.
By default, tomcat doesn't allow the binding of ports below 1024
. To enable this we need to tell tomcat8 to create authenticated binds.
Edit the default
file of tomcat8 and uncomment the AUTHBIND
line and use the option yes
nano /etc/default/tomcat8
AUTHBIND=yes
Once this is done, intall authbind
.
apt-get install authbind
Configure it so that port 80
can be claimed by tomcat8.
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80
Allow port 80
through the firewall and delete the rule for 8080
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Restart tomcat.
service tomcat8 restart
That's it, now Guacamole should be running on port 80
.
Tomcat really isn't one of the best and most robust applications to use with certbot
. Luckily Nginx is. We will just to proxy tomcat to Nginx. It uses the out-of-the-box functionality of certbot at the cost of sacrificing a little bit of RAM.
apt-get install nginx
Once installed, edit the default configuration.
nano /etc/nginx/sites-available/default
Delete all example configurations and add the following configuration.
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
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-Host $server_name;
}
}
This will create a proxy for the website running at 8080
. Restart Nginx, and enable it at boot.
systemctl restart nginx
systemctl enable nginx
Check if everything is working.
systemctl status nginx
Disable the testing port 8080
and allow traffic on port 80
.
ufw allow 80/tcp
ufw delete allow 8080/tcp
Before we can use certbot
, we need to add the correct ppa
to the system containing our certbot packages.
add-apt-repository ppa:certbot/certbot
Press "ENTER
" to accept the configuration change.
Update apt
to gather the new packages.
apt-get update
Finally, install the Nginx module for assigning the certificates.
apt-get -y install python-certbot-nginx
Configure the firewall to allow HTTPS
.
ufw allow 443/tcp
Before we can request new certificates, we need a DNS name.
nano /etc/nginx/sites-available/default
Add the following server_name
setting.
server_name rdp.example.com;
Change the configuration to reflect this new setting.
server {
server_name rdp.example.com;
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
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-Host $server_name;
}
}
Check if all is working and restart Nginx.
nginx -t
service nginx restart
Now request a certificate with certbot.
certbot --nginx -d rdp.example.com
Jepni emailin tuaj dhe pranoni pyetjet e bëra nga instaluesi. (Mund të zgjidhni me siguri " No
" për të ndarë emailin tuaj.) Certbot automatikisht do të pyesë se çfarë duhet të bëjë me HTTPS
. Ne do të përdorim opsionin 2: redirect to HTTPS
.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Gjëja e fundit që do të bëjmë është përditësimi i DH
parametrave. Këto janë, si parazgjedhje, paksa të dobëta për standardet e 2017-ës.
Krijo disa të reja.
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Më pas, shtoni ato në sitin e paracaktuar në Nginx.
nano /etc/nginx/sites-available/default
Shtojini ato në konfigurimin e serverit.
server {
server_name rdp.example.com;
listen 0.0.0.0:80;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
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-Host $server_name;
}
}
Kontrolloni për gabime.
nginx -t
Aplikoni ndryshimet duke rifilluar serverin.
service nginx restart
Pastroni 8080
rregullin e vjetër
ufw delete allow 8080/tcp
Shënim: nëse duhet të merrni një "502 Bad Gateway", do t'ju duhet rinisni tomcat8 .
service tomcat8 restart
Le të Enkriptojmë certifikatat kërkojnë rinovim. Ne mund të krijojmë një punë të mirë për këtë. Filloni duke redaktuar crontab
.
crontab -e
Shtoni rreshtin e mëposhtëm.
00 2 * * * /usr/bin/certbot renew --quiet
Kjo do të kontrollojë në orën 2:00 të mëngjesit nëse ndonjë certifikatë kërkon rinovim dhe do t'i rinovojë ato nëse e bëjnë këtë.
Shkoni te serveri juaj Guacamole (ose http://<ip>/
ose https://rdp.example.com)
).
Për këtë test, do t'ju duhen edhe dy shembuj të tjerë: një Linux VM dhe një tjetër Windows Server 2012 R2 me një IP private të aktivizuar në të dyja.
Klikoni " username
" në këndin e sipërm djathtas dhe shkoni te " Settings
". Më pas shkoni te " Connections
" dhe zgjidhni " New Connection
".
Plotësoni cilësimet e mëposhtme (mund t'i lini të tjerët si parazgjedhje).
Name: Windows Server 2012 R2
Location: ROOT
Protocol: RDP
Maximum number of connections: 1
Maximum number of connections per user: 1
Parameters > Hostname: 10.99.0.12
Parameters > Port: 3389
Username: Administrator
Password: <password> (provided by Vultr)
Security mode: Any
Ignore server certificate: <checked>
Shtypni " save
" dhe kthehuni në ekranin bazë. Tani mund të klikoni në Windows Server 2012 R2
lidhjen " " dhe ajo do të RDP në këtë makinë.
Shtypni " Ctrl+Shift+Alt
". Kjo do të dalë nga menyja në anën. Këtu mund të shkëputeni ose të kryeni detyra të tjera administrative për Guacamole.
Klikoni username
në krye në menu dhe shkoni te " Settings
". Më pas shkoni te Connections
skeda " " dhe zgjidhni " New Connection
".
Plotësoni cilësimet e mëposhtme (mund t'i lini të tjerët si parazgjedhje).
Name: Linux
Location: ROOT
Protocol: SSH
Maximum number of connections: 5
Maximum number of connections per user: 2
Parameters > Hostname: 10.99.0.11
Parameters > Port: 22
Username: root
Password: <password> (provided by Vultr)
Shtypni " save
" dhe kthehuni në ekranin bazë. Tani mund të klikoni këtë lidhje të krijuar rishtazi dhe të lidheni me serverin tuaj Linux nëpërmjet SSH.
Tani keni një portë RDP/SSH HTML5 në internet. Tani ju mund të izoloni aksesin publik RDP dhe SSH të platformës suaj dhe të përdorni mjedisin tuaj nga çdo shfletues modern. Për më shumë informacion mbi atë që mund të ofrojë Guacamole, ekziston një video e mrekullueshme që tregon të gjitha mundësitë e platformës këtu .
Përdorimi i një sistemi të ndryshëm? Çfarë është Tekkit Classic? Tekkit Classic është një modpack për lojën që të gjithë e njohin dhe e duan; Minecraft. Ai përmban disa nga ver
Përdorimi i një sistemi të ndryshëm? Jekyll është një alternativë e shkëlqyeshme për WordPress për blogimin ose ndarjen e përmbajtjes. Nuk kërkon ndonjë bazë të dhënash dhe është shumë e lehtë i
Përdorimi i një sistemi të ndryshëm? Nëse blini një server Debian, atëherë duhet të keni gjithmonë arnimet dhe përditësimet më të fundit të sigurisë, pavarësisht nëse jeni në gjumë apo jo
Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer
Përdorimi i një sistemi të ndryshëm? Red5 është një server mediash me burim të hapur i implementuar në Java që ju lejon të ekzekutoni aplikacione Flash me shumë përdorues si transmetimi i drejtpërdrejtë
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Forumi Vanilla është një aplikacion forumi me burim të hapur i shkruar në PHP. Është plotësisht i personalizueshëm, i lehtë për t'u përdorur dhe mbështet jashtëm
Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar
Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar
Hyrje Lynis është një mjet falas, me burim të hapur të auditimit të sistemit, që përdoret nga shumë administratorë të sistemit për të verifikuar integritetin dhe për të forcuar sistemet e tyre. Unë
Përdorimi i një sistemi të ndryshëm? Thelia është një mjet me burim të hapur për krijimin e faqeve të internetit të e-biznesit dhe menaxhimin e përmbajtjes në internet të shkruar në PHP. Kodi burimor Thelia i
Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.
Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth
Përdorimi i një sistemi të ndryshëm? DotCMS është një sistem menaxhimi i përmbajtjes me burim të hapur, të nivelit të ndërmarrjes, i shkruar në Java. Ai përmban pothuajse çdo veçori të kërkuar
Përdorimi i një sistemi të ndryshëm? BigTree CMS 4.2 është një sistem i shpejtë dhe i lehtë, pa pagesë dhe me burim të hapur, sistem i menaxhimit të përmbajtjes së nivelit të ndërmarrjes (CMS) me një
Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata
Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj
Adminer është një alternativë e lehtë për phpMyAdmin. Në krahasim, madhësia totale e paketës së saj është 400 KB, kundrejt 4.2 MB të phpMyAdmin. Ndryshe nga phpMyAdmin, e cila
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë