Koneiden nousu: tekoälyn todelliset sovellukset
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Firefox Sync on selaimen synkronointiominaisuus, jonka avulla voit jakaa tietosi ja asetuksesi (kuten kirjanmerkkisi, historiasi, salasanasi, avoimet välilehdet ja asennetut lisäosat) kaikilla laitteillasi. Mozilla tarjoaa myös "synkronointipalvelin" -sovelluksen käytettäväksi Firefox Sync -sovelluksen kanssa käyttäjille ja yrityksille, jotka haluavat isännöidä omia synkronointitietojaan. Tässä artikkelissa kerrotaan, kuinka Mozilla Sync Server otetaan käyttöön.
Päivitä järjestelmä:
sudo yum check-update
Synkronointipalvelimen rakentamiseksi ja käyttämiseksi sinun on asennettava seuraavat paketit:
Mecurialsqlite3gitPython 2.6.6Python 2.6.6 virtualenvPython 2.6.6 SetupToolsPython 2.6.6 Developer ToolsAsenna Mercurialin uusin versio:
sudo yum install mercurial
Asenna tarvittavat kehitystyökalut ja kirjastot:
yum groupinstall 'Development Tools' 'Development Libraries'
yum install tk-devel libjpeg-devel mysql-devel python-devel httpd-devel zlib-devel bzip2-devel
Asenna SQLite3:
sudo yum install sqlite
Asenna ja rakenna Python 2.6.6:
cd $home
sudo wget http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz
sudo tar xzvf Python-2.6.6.tgz
cd $home/Python-2.6.6
sudo ./configure --prefix=/opt/python2.6 --enable-thread --enable-shared --enable-unicode=ucs4
sudo make
sudo make install
Kloonamme synkronointipalvelimen Git-arkiston ja kirjoitamme sitten kansioon:
git clone https://github.com/mozilla-services/syncserver
cd syncserver
Suorita build-komento, joka lataa riippuvuudet ja kokoaa koodin:
make build
Käynnistä synkronointipalvelin ja varmista, että se toimii oikein:
bin/paster serve development.ini
Näet jotain tällaista:
Starting server in PID 5952.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
Synkronointipalvelimen konfigurointi on hyvin yksinkertaista, asetustiedostossa ( ./syncserver.ini) on vain muutama muutettava parametri .
Avaa asetustiedosto suosikkitekstieditorillasi (esimerkiksi nano ./syncserver.ini).
[server:main]
use = egg:gunicorn
host = 0.0.0.0
port = 5000
workers = 1
timeout = 30
[app:main]
use = egg:syncserver
[syncserver]
# This must be edited to point to the public URL of your server,
# i.e. the URL as seen by Firefox.
public_url = http://localhost:5000/
# This defines the database in which to store all server data.
#sqluri = sqlite:////tmp/syncserver.db
# This is a secret key used for signing authentication tokens.
# It should be long and randomly-generated.
# The following command will give a suitable value on *nix systems:
#
# head -c 20 /dev/urandom | sha1sum
#
# If not specified then the server will generate a temporary one at startup.
#secret = INSERT_SECRET_KEY_HERE
# Set this to "false" to disable new-user signups on the server.
# Only request by existing accounts will be honoured.
# allow_new_users = false
# Set this to "true" to work around a mismatch between public_url and
# the application URL as seen by python, which can happen in certain reverse-
# proxy hosting setups. It will overwrite the WSGI environ dict with the
# details from public_url. This could have security implications if e.g.
# you tell the app that it's on HTTPS but it's really on HTTP, so it should
# only be used as a last resort and after careful checking of server config.
force_wsgi_environ = false
[browserid]
# Uncomment and edit the following to use a local BrowserID verifier
# rather than posting assertions to the mozilla-hosted verifier.
# Audiences should be set to your public_url without a trailing slash.
#backend = tokenserver.verifiers.LocalVerifier
#audiences = https://localhost:5000
# By default, syncserver will accept identity assertions issues by
# any server. You can restrict this by setting the below to a list
# of allowed issuer domains.
#allowed_issuers = www.mysite.com myfriendsdomain.org
Palvelimesi osoite on määritettävä parametrilla public_url:
public_url = http://fsync.example.com
Huomautus : oletusarvo public_url, http://localhost:5000/, toimii testaustarkoituksiin paikallisella koneellasi.
Poistamme sqlurivaihtoehdon kommentin ja laitamme sijainnin tai URI, jonka avulla palvelin voi yhdistää tietokantaan ja tallentaa sen tiedot:
sqluri = sqlite:////path/to/database/file.db
Jos haluat käyttää muun tyyppistä DB:tä:
sqluri = pymysql://username:password@db.example.com/sync
Sillä secretparametri, meidän täytyy luoda salaisena avaimena autentikointitunnisteita:
head -c 20 /dev/urandom | sha1sum
Poista salaisen parametrin rivin kommentit ja kopioi/liitä palautettu merkkijono salaiseen parametriin:
secret = db8a203aed5fe3e4594d4b75990acb76242efd35
Huomautus : Jos et laita mitään tähän parametriin, palvelin luo sellaisen, mutta se on erilainen aina, kun palvelin käynnistetään uudelleen.
Poista allow\_new\_usersparametrin kommentti ja aseta se sellaiseksi true, että tilimme voi muodostaa yhteyden palvelimeemme ensimmäistä kertaa:
allow_new_users = true
Poistamme sitten audiencesparametrin kommentin ja laitamme saman asian kuin public_uriparametri:
audiences = http://fsync.example.com
Lisää lopuksi vain seuraava rivi tiedoston loppuun:
forwarded_allow_ips = *
Tämä rivi auttaa sinua välttämään virheilmoituksia ja valtuutusongelmia.
Synkronointipalvelimen käynnistämiseksi voit käyttää jompaakumpaa seuraavista komennoista:
./path/to/syncserver/local/bin/gunicorn --threads 4 --paste /path/to/syncserver/syncserver.ini &
Tämän avulla voit valita asetustiedoston sijainnin; sekä laita argumentti --threads 4, jonka avulla synkronointipalvelimelle voidaan antaa enemmän tehoa.
Jos haluat käynnistää palvelimen joka kerta, kun ilmentymäsi käynnistyy, voit lisätä seuraavan rivin crontabiin kirjoittamalla crontab -ekomennon:
@reboot ./path/to/syncserver/local/bin/gunicorn --paste /path/to/syncserver/syncserver.ini &
Voit käyttää erilaisia web-palvelimia, jotka ovat yhteensopivia WSGIprotokollan kanssa. Esimerkiksi:
Nginx uWSGI:n kanssa.Apache yhdistettynä mod_wsgi:n kanssa.Nginxille sinun on käytettävä Nginxin sisäänrakennettua välityspalvelinta alla olevan kuvan mukaisesti:
server {
listen 80;
server_name fsync.example.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_read_timeout 120;
proxy_connect_timeout 10;
proxy_pass http://127.0.0.1:5000/;
}
}
Nginx-käyttäjät voivat käyttää vain WSGI-liitäntää.
Asenna uWSGIPipin kautta:
pip install uwsgi
Asenna uWSGIlataamalla lähdetarball:
wget https://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make
Huomautus : Rakennuksen jälkeen sinulla on uwsgibinaari nykyisessä hakemistossa.
Kun se on asennettu, käynnistä se seuraavilla vaihtoehdoilla:
uwsgi --plugins python27 --manage-script-name \
--mount /<location>=/path/to/syncserver/syncserver.wsgi \
--socket /path/to/uwsgi.sock
Käytä sitten seuraavaa Nginx-kokoonpanoa:
location /<location>/ {
include uwsgi_params;
uwsgi_pass unix:/path/to/uwsgi.sock;
}
Asenna mod_wsgi:
apt-get install libapache2-mod-wsgi
Käytä sitten seuraavaa vhostia:
<VirtualHost *:80>
ServerName sync.example.com
DocumentRoot /path/to/syncserver
WSGIProcessGroup sync
WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/path/to/syncserver/local/lib/python2.7/site-packages/
WSGIPassAuthorization On
WSGIScriptAlias / /path/to/syncserver/syncserver.wsgi
CustomLog /var/log/apache2/sync.example.com-access.log combined
ErrorLog /var/log/apache2/sync.example.com-error.log
</VirtualHost>
Kun palvelin on asennettu ja määritetty, voit määrittää työpöydän Firefox-asiakkaan puhumaan uuden synkronointipalvelimesi kanssa. Ennen kuin aloitat, sinun on kirjauduttava ulos, jos olet jo yhteydessä Firefoxin synkronointipalvelimiin. Muuten yhteys uuteen palvelimeen ei välttämättä toimi.
Avaa ensin uusi välilehti ja kirjoita seuraava osoite:
about:config
Kirjoita hakupalkkiin identity.sync.tokenserver.urija muuta sen arvo palvelimesi URL-osoitteeksi, jonka polku on token/1.0/sync/1.5:
http://sync.example.com/token/1.0/sync/1.5
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.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
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