Mašīnu pieaugums: AI reālās pasaules lietojumi
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Firefox Sync ir pārlūkprogrammas sinhronizācijas līdzeklis, kas ļauj koplietot datus un preferences (piemēram, grāmatzīmes, vēsturi, paroles, atvērtās cilnes un instalētos papildinājumus) visās jūsu ierīcēs. Mozilla piedāvā arī "sinhronizācijas servera" lietojumprogrammu lietošanai kopā ar Firefox Sync lietotājiem un uzņēmumiem, kuri izvēlas mitināt savus sinhronizācijas datus. Šajā rakstā ir parādīts, kā iestatīt Mozilla Sync Server.
Atjauniniet sistēmu:
sudo yum check-update
Lai izveidotu un palaistu sinhronizācijas serveri, jums būs jāinstalē šīs pakotnes:
Mecurialsqlite3gitPython 2.6.6Python 2.6.6 virtualenvPython 2.6.6 SetupToolsPython 2.6.6 Developer ToolsInstalējiet jaunāko Mercurial versiju:
sudo yum install mercurial
Instalējiet nepieciešamos izstrādes rīkus un bibliotēkas:
yum groupinstall 'Development Tools' 'Development Libraries'
yum install tk-devel libjpeg-devel mysql-devel python-devel httpd-devel zlib-devel bzip2-devel
Instalējiet SQLite3:
sudo yum install sqlite
Instalējiet un izveidojiet 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
Mēs klonēsim sinhronizācijas servera Git repozitoriju un pēc tam ievadīsim mapi:
git clone https://github.com/mozilla-services/syncserver
cd syncserver
Palaidiet būvēšanas komandu, kas lejupielādēs atkarības un apkopos kodu:
make build
Palaidiet sinhronizācijas serveri un pārbaudiet, vai tas darbojas pareizi:
bin/paster serve development.ini
Jūs redzēsit kaut ko līdzīgu šim:
Starting server in PID 5952.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
Sinhronizācijas servera konfigurācija ir ļoti vienkārša, konfigurācijas failā ( ./syncserver.ini) ir jāmaina tikai daži parametri .
Atveriet konfigurācijas failu ar savu iecienītāko teksta redaktoru (piemēram, 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
Jūsu servera adrese ir jānorāda, izmantojot parametru public_url:
public_url = http://fsync.example.com
Piezīme : noklusējuma vērtība public_url, http://localhost:5000/, darbosies testēšanas nolūkos uz jūsu vietējo mašīna.
Mēs atcelsim sqluriopciju un norādīsim atrašanās vietu vai URI, kas ļaus serverim izveidot savienojumu ar datu bāzi un saglabāt tās informāciju:
sqluri = sqlite:////path/to/database/file.db
Ja vēlaties izmantot cita veida DB:
sqluri = pymysql://username:password@db.example.com/sync
Par secretparametru, mums nāksies radīt slepenā atslēga autentifikācijas marķieriem:
head -c 20 /dev/urandom | sha1sum
Atņemiet komentāru no slepenā parametra rindiņas un pēc tam kopējiet/ielīmējiet atgriezto virkni slepenajā parametrā:
secret = db8a203aed5fe3e4594d4b75990acb76242efd35
Piezīme : ja neko neievietojat šajā parametrā, serveris to ģenerēs, taču tas būs atšķirīgs katru reizi, kad serveris tiek restartēts.
Atceliet allow\_new\_usersparametra komentāru un iestatiet to tā, truelai ļautu mūsu kontam pirmo reizi izveidot savienojumu ar mūsu serveri:
allow_new_users = true
Pēc tam mēs atcelsim audiencesparametra komentārus un ievietosim to pašu, ko public_uriparametrs:
audiences = http://fsync.example.com
Visbeidzot, faila beigās vienkārši pievienojiet šādu rindiņu:
forwarded_allow_ips = *
Šī rindiņa palīdzēs izvairīties no kļūdu ziņojumiem un autorizācijas problēmām.
Lai palaistu sinhronizācijas serveri, varat izmantot kādu no šīm komandām:
./path/to/syncserver/local/bin/gunicorn --threads 4 --paste /path/to/syncserver/syncserver.ini &
Tas ļauj izvēlēties konfigurācijas faila atrašanās vietu; kā arī ielieciet argumentu --threads 4, kas ļauj sinhronizācijas serverim piešķirt lielāku jaudu.
Lai palaistu serveri katru reizi, kad instancē tiek palaists, varat pievienot šādu rindiņu crontab, ierakstot crontab -ekomandu:
@reboot ./path/to/syncserver/local/bin/gunicorn --paste /path/to/syncserver/syncserver.ini &
Varat izmantot dažādus tīmekļa serverus, kas ir saderīgi ar WSGIprotokolu. Piemēram:
Nginx ar uWSGI.Apache apvienojumā ar mod_wsgi.Lai izmantotu Nginx, jums ir jāizmanto Nginx iebūvētais starpniekserveris, kā parādīts tālāk:
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 lietotāji var izmantot tikai WSGI ligzdu.
Instalējiet, uWSGIizmantojot Pip:
pip install uwsgi
Instalējiet uWSGI, lejupielādējot avota tarbolu:
wget https://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make
Piezīme : pēc izveides uwsgipašreizējā direktorijā būs binārs.
Pēc instalēšanas sāciet to ar šādām opcijām:
uwsgi --plugins python27 --manage-script-name \
--mount /<location>=/path/to/syncserver/syncserver.wsgi \
--socket /path/to/uwsgi.sock
Pēc tam izmantojiet šādu Nginx konfigurāciju:
location /<location>/ {
include uwsgi_params;
uwsgi_pass unix:/path/to/uwsgi.sock;
}
Instalēt mod_wsgi:
apt-get install libapache2-mod-wsgi
Pēc tam izmantojiet šādu vhost:
<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>
Kad serveris ir instalēts un konfigurēts, varat konfigurēt darbvirsmas Firefox klientu, lai tas sazinātos ar jauno sinhronizācijas serveri. Ja pirms darba sākšanas jau esat izveidojis savienojumu ar Firefox sinhronizācijas serveriem, jums ir jāatsakās. Pretējā gadījumā savienojums ar jauno serveri var nedarboties.
Vispirms atveriet jaunu cilni un ievadiet šādu adresi:
about:config
Meklēšanas joslā ievadiet identity.sync.tokenserver.uriun mainiet tā vērtību uz sava servera URL ar ceļu token/1.0/sync/1.5:
http://sync.example.com/token/1.0/sync/1.5
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.
Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.
Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…
Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.
Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.
Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk