Internet: PHP, CGI, stb.

fscloud - letezik-e ilyen szolgaltatas?

Adott egy mappa. Legyen ez a /home/valaki. Vagy a /Users/valaki/dev

Amit tudnia kell a szolgaltatasnak:

Fut egy daemon:

A daemon a fajlrendszer valtozasait pl. orankent (nem teljesen on-demand mint az icloud, az lassu lenne), kikapcsolaskor es bekapcsolaskor megprobalja besyncelni

Mukodik Mac Apfs-evel hfs+-aval
Es mukodik Linux ext4-evel

Fizetnek X gigaert havonta

Cserebe ahol Mac-en abbahagytam irodaban a working foldert, ott folytatodik Linuxon otthon 100-bol 99x a beavatkozasom nelkul, eleg ehhez fajlokat, foldereket csinalom es editalnom. Aztan meg forditva

Ideally: gittel nem utkozik, elfer benne par git projekt

Windows tamogatas nekem nem kell, de eselyes, hogy megoldottak azt is, macOS+apfs es Linux+ext4 a lenyeg.

Letezik ilyen cloud? Icloud drive-nak van csak Mac-re egy hasonlo feature-e, de nem az igazi es nem olvasom be Linux alol

JavaScript keydown

Sziasztok.

Van egy bonyolult formom amin rengeteg beviteli mező van, és szeretnék hotkeyeket létrehozni. Pl. ha megnyomja bárhol az "a" betűt akkor csináljon valamit pl. nyisson meg egy dialógus ablakot. Csak ugye azzal van a gond ha egy input mezőn áll, és abba begépeli az "alma" szót, akkor ott megnyomja az "a" betűt és elpattan az esemény, amely megnyitja a dialógus ablakot. Ezt le tudtam kezelni a lentebbi kódrésszel, hogy figyelem, hogy mi az aktív elem és ha az valamelyik input mező, akkor azt kihagyom. Csak akkor van gond ha bekerül újabb input mező és elfelejtjük lekezelni.


$(document).ready(function () {
    $(window).keydown(function (e) {
        if (document.activeElement.id != 'input1' && document.activeElement.id != 'input2') { ...} ...

Van erre valami jó módszer amivel ezt elegánsan meg lehet oldani?

Korszerű fórum, saját vason?

Kissé lemaradtam az utóbbi időben: mi most a korszerű és ésszerű választás, ha saját gépről szeretnék fórumot üzemeltetni?

A legjobb valami pluginezhető megoldás volna, ami alapkiszerelésben a lehető legkevesebbet tudja (autentikálás helyben intézve, témák csoportba rendezése, bizonyos témákat csak adott felhasználói csoport tagjai láthatnak/írhatnak), és szabadon egészíthető ki általam választott/fejlesztett extrákkal.

Fontos, hogy mobilról is könnyen használható legyen az eredmény és az adminfelület, de nem kell semmiféle push notification, single sign-on vagy efféle hókuszpókusz.

Angular frontend, ??? backend

Sziasztok!

Nálam tapasztaltabbak segítségét, tanácsát, véleményét szeretném kérni.

Egy nagyobb projekt elején járok, van némi előéletem a webprogramozásban, viszont ez meglehetősen régi, és évekkel ezelőtt is csak autodidakta módon sajátítottam el, amire szükségem volt. (html, css, php, mysql)

A mostani feladat egy olyan weboldal lenne, ami kezdetben kb. 500 felhasználót szolgálna ki (később ez a szám több 10 ezerre is nőhet). A fő feladatok statisztikák tárolása és néhány kimutatás készítése, mellett egy olyan rendszer lenne, ami sportbajnokságok és kupák sorsolásának generálásával, lebonyolításával és nyomonkövetésével foglalkozna. Játékosok, csapatok és a korábban említett események menedzselése mellett. Nem akartalak titeket sok felesleges infóval traktálni, de hátha hasznos lesz az előzőekből néhány.

A technológia választásnál úgy voltam vele, ha már lúd legyen kövér, ezért esett a választásom az Angularra, viszont nem tudom bemerjek-e vállalni egy másik számomra teljesen új technológiát szerver oldalról is. Ti mit tanácsoltok, vágjak bele nodejs-el, vagy a már korábbról ismert php+mysql vonalat is előszedhetem? (Bármilyen pro és kontra érv érdekel, nyitott vagyok gyakorlatilag bármire.) Olvastam a MEAN-ről, de az már lehet túl nagy falat lenne hiszen mindegyik elemében újoncnak számítok.

Üdv,
Hirannad

PHP-FPM chroot

Szeretnék olyan php chroot-ot létrehozni, ahol a kód csak saját területét látja.
Ezt php-fpm segítségével majdnem meg is tudtam csinálni.
A pool konfigurációjában beállítottam a chroot értékét a user mappájára, valamint az apache-ból a


ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/run/php/php7.0-fpm.sock|fcgi://localhost/public"

kóddal irányítottam át. (A SetHandler továbbítja a valódi document root értékét a kérelemben is.)
Szinte tökéletes, de a DOCUMENT_ROOT és CONTEXT_DOCUMENT_ROOT változók még így is a user mappájának eredeti, teljes útvonalát tartalmazzák. Akkor is, ha a pool konfigurációjában más értéket adok nekik.
El tudom valahogy teljesen rejteni a user elől a valódi mappáját?

python cgi

Sziasztok,

termux alatt próbálok beüzemelni apache2-t, és alatta python-t meg bash-t cgi-vel, mert legyen cgi.
Ha a python nem tartalmaz import-ot, akkor minden ok, de importokkal 500-as hiba jelenik meg a browserben.
Terminalból futattva nem jelenik meg semmilyen hiba.

Biztos a httpd.conf a hibás (gondolom), ötlet?

Üdv,
Róbert

httpd.conf

ServerRoot "/data/data/com.termux/files/usr"
Listen 8080
LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so
LoadModule authn_file_module libexec/apache2/mod_authn_file.so
LoadModule authn_core_module libexec/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache2/mod_authz_user.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule access_compat_module libexec/apache2/mod_access_compat.so
LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so
LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule filter_module libexec/apache2/mod_filter.so
LoadModule mime_module libexec/apache2/mod_mime.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule headers_module libexec/apache2/mod_headers.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule version_module libexec/apache2/mod_version.so
LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so
LoadModule unixd_module libexec/apache2/mod_unixd.so
LoadModule status_module libexec/apache2/mod_status.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule php7_module /data/data/com.termux/files/usr/libexec/apache2/libphp7.so

SetHandler application/x-httpd-php

DirectoryIndex index.php

ServerAdmin info@dady.hu
ServerName localhost:8080

AllowOverride none
Require all denied

DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"

Options Indexes FollowSymLinks
AllowOverride None
Require all granted
AddHandler cgi-script py
Order allow,deny
Allow from all

Options Indexes FollowSymLinks
AllowOverride None
Options +ExecCGI
Order allow,deny
AddHandler cgi-script .py
Allow from all

Options Indexes FollowSymLinks
AllowOverride None
Options +ExecCGI
Order allow,deny
AddHandler cgi-script .py .cgi
Allow from all

DirectoryIndex index.py index.html

Require all denied

ErrorLog "var/log/apache2/error_log"
LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

CustomLog "var/log/apache2/access_log" common

ScriptAlias /cgi-bin/ "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs/cgi-bin/"

RequestHeader unset Proxy early

TypesConfig etc/apache2/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

Include etc/apache2/extra/proxy-html.conf

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin

JavaScript "ökoszisztéma". Mit? Miért? Hogy?

Sziasztok!

A címből tudom nem sok derül ki és igen láma kérdésem lenne ezért előre is bocsánat.

A JavaScript-et már hosszú idők óta nem szerettem, mert akárhány kódot láttam, olyan szinten átláthatatlan, spagetti kód volt, hogy hamar elvette a kedvem az egésztől, viszont mivel oktatásban tanítom az alap JavaScript-et, így meg kellett vele barátkoznom. Így egy kliens oldali script nyelvként megállja a helyét, meg már elismerem, hogy jó dolgokat lehet vele csinálni ha tényleg dinamikus oldalakat akar vele létrehozni az ember.

Viszont amiket nem értek:

Rengeteg oldalon azzal találkozom, hogy első programozási nyelvnek ezt ajánlják, meg szerver oldalra, Node.js és társai.

Mivel ad nekem több pluszt az, hogy Node.js-t használok szerver oldalon, mondjuk egy PHP vagy Python-al szemben?

Kliens oldalra miért jobb a React.js, mint hogy natívan JavaScript+HTML+CSS-el csinálom?

Tudom sokan azzal jönnek, hogy ezekkel le lehet egyszerűsíteni a fejlesztést, viszont több programozót is ismerek, aki megtanult használni egy ilyen eszközt, viszont mellette semmit nem ért a natív JavaScript-hez, sőt egy-kettő, még a HTML+CSS-hez sem igazán ért.

A válaszokat előre is köszönöm!

REST API HTTP kódok

Üdv,

ma voltam egy konferencián, ahol egy a közeljövőben bevezetésre kerülő publikus API volt a téma.

Az előadók közül az egyik bemutatta az API-t: egy HTTPS-re épülő REST API, amely csak POST metódusokat fogad.

Hangsúlyozta, hogy minden választ státusszal együtt le kell kezelni.

A kérdések szekcióban megkérdeztem, hogy mi a teendő 5XX-es válaszkód esetén, mivel az szerver oldali hibára utal.

Egy érintett fejlesztő vette át a mikrofont, aki közölte, hogy minden hiba 500-as lesz, mivel REST API-ról van szó, nem küldhet 4XX-as kódot. Példának hozta az authentikációt, hogy hibás jelszó esetén nem küldhet vissza 401/403-as választ.

Én nem igazán értem ezt, valaki kegyelmezzen meg, és mondja el, miért nem lehet ilyenkor 4XX-as kódot visszaküldeni. Keresgéltem a neten, de ilyet sehol nem találtam.