php8

Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in file.php:206 Stack trace: #0 {main} thrown in file.php on line 206

преди
$num_results=count($r);
след
$num_results=count((array)$r);

--------------------------

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Първата в света хранилка с изкуствен интелект

Искам да споделя един проект на ученици от СУ "Л. Каравелов", гр. Добрич.
Hfeeder- Първата в света автономна хранилка и поилка за животни с изкуствен интелект
Хранилката работи със собствен обучен модел и разпознава субекти като куче, котка и др. Пиша това, защото е първата такава хранилка в света. Друга няма и е разработена от България!

Това е първата хранилка с изкуствен интелект в света

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

dhc: Бъг на модула с менюто (menu fix / меню бъг)

MariaDB [d_dar6hd3]> insert into menu_bg (group_id) values ('3');
ERROR 167 (22003): Out of range value for column 'id' at row 1

MariaDB [d_dar6hd3]> describe menu_bg;
+-----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+----------------+
| id | tinyint(3) unsigned | NO | PRI | NULL | auto_increment |
| parent_id | tinyint(3) unsigned | NO | | 0 | |
| title | varchar(255) | NO | | | |
| url | varchar(255) | NO | | | |
| class | varchar(255) | NO | | | |
| position | tinyint(3) unsigned | NO | | 0 | |
| group_id | tinyint(3) unsigned | NO | | 1 | |
| sub_exist | enum('1','0') | YES | | 0 | |
+-----------+---------------------+------+-----+---------+----------------+
8 rows in set (0,001 sec)

MariaDB [d_dar6hd3]> insert into menu_bg (group_id) values ('3');
ERROR 167 (22003): Out of range value for column 'id' at row 1

FIX

alter table menu_bg modify id SMALLINT(3) unsigned NOT NULL AUTO_INCREMENT;

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Laravel vs Core PHP vs Core PHP +Smarty

Core PHP + Smarty -- the Winner

Направихме един малък тест за бързодействие на
Laravel vs (Core PHP + Smarty) vs Core PHP

Очакван резултат, но все пак извод:
CorePHP е топ за супер натоварени сайтове където се гони абсолютен оптимум, а не просто да работи и да се купуват железа безкрай.
+ и -- на Laravel са ясни. Идеята тук е бързодействие, а със Smarty се получава и разделение на front, back.
Всеки проект и ситуация определя какво да се ползва: Laravel, друг framework, Core PHP или друго…
PS0: За тестовете бяха направени три контейнера с абсолютно еднакви параметри на дистро,пакети/apache+nginx proxy+mariadb/,страниците извършиха един и същи брой заявки към db и т.н.
Всичко се изпълни локално в конкретните контейнери/ясно е защо/
Ползван беше apache bench tool: ab -n 10000 -c 200 https://example.com

Ето ги и резултатите:

laravel_vs_core_php_vs_smarty

#Core PHP # > ab -n 10000 -c 100 https://example.com

Server Software: nginx/1.18.0
Document Length: 35030 bytes

Concurrency Level: 100
Time taken for tests: 23.690 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 354230000 bytes
HTML transferred: 350300000 bytes
Requests per second: 389.26 [#/sec] (mean)
Time per request: 256.898 [ms] (mean)
Time per request: 2.569 [ms] (mean, across all concurrent requests)
Transfer rate: 13465.55 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 5 94 43.1 85 373
Processing: 10 161 58.1 154 439
Waiting: 7 79 55.1 67 337
Total: 14 255 73.1 247 581

#######################################################################
#Core PHP + Smarty# >

Concurrency Level: 100
Time taken for tests: 2.585 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 29295000 bytes
HTML transferred: 28902000 bytes
Requests per second: 386.82 [#/sec] (mean)
Time per request: 258.516 [ms] (mean)
Time per request: 2.585 [ms] (mean, across all concurrent requests)
Transfer rate: 11066.38 [Kbytes/sec] received

#######################################################################
#Laravel

Concurrency Level: 100
Time taken for tests: 3.483 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 39052000 bytes
HTML transferred: 37818000 bytes
Requests per second: 287.10 [#/sec] (mean)
Time per request: 348.309 [ms] (mean)
Time per request: 3.483 [ms] (mean, across all concurrent requests)
Transfer rate: 10949.12 [Kbytes/sec] received

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Проблем с apache: Set the 'ServerName' directive globally to suppress this message

# apache2ctl -t
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

/etc/apache2/apache2.conf

ServerName 127.0.0.1

#/etc/init.d/apache2 restart
[ ok ] Restarting apache2 (via systemctl): apache2.service.

# apache2ctl -t
Syntax OK

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

При интервал в url-то на Apache се връща грешка 403 -- Forbidden

От версия 2.4.56 на Apache има фикс "Apache HTTP Server: HTTP request splitting with mod_rewrite and mod_proxy" (CVE-2023-25690)" където всички интервали в урл-тата ще връщат 403

За да се фиксне се доабвят флаговете BCTLS или B към текущите флагове,
т.е.

Пример:
RewriteRule ^primer$ /h_primeren_file.php [QSA,L]

Пренаписва се така:

RewriteRule ^primer$ /h_primeren_file.php [BCTL,QSA,L]

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Показване на wifi паролите на Windows 10

netsh

netsh>wlan show profile

Profiles on interface Wi-Fi:

Group policy profiles (read only)
---------------------------------

User profiles
-------------
All User Profile : wifi_network

netsh>wlan show profile "amri" key=clear

Profile amri on interface Wi-Fi:
=======================================================================

Applied: All User Profile

Profile information
-------------------
Version : 1
Type : Wireless LAN
Name : wifi_network
Control options :
Connection mode : Connect automatically
Network broadcast : Connect only if this network is broadcasting
AutoSwitch : Do not switch to other networks
MAC Randomization : Disabled

Connectivity settings
---------------------
Number of SSIDs : 1
SSID name : "wifi_network"
Network type : Infrastructure
Radio type : [ Any Radio Type ]
Vendor extension : Not present

Security settings
-----------------
Authentication : WPA2-Personal
Cipher : CCMP
Authentication : WPA2-Personal
Cipher : GCMP
Security key : Present
Key Content : super_wifi_pass

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Конвертиране от proxmox lxc към lxd

cd /tmp
pct list

vzdump 103 -compress gzip -dumpdir /tmp
echo architecture: `pct config 103 | grep arch: | awk '{print $2}' ` > metadata.yaml
echo creation_date: `date +%s` >> metadata.yaml
echo description: 'Imported from Proxmox/amri' >> metadata.yaml
tar -czvf metadata.tar.gz metadata.yaml

scp vzdump-lxc-103-2024_01_23-19_06_30.tar.gz metadata.tar.gz [email protected]:/home/amri/

lxc launch fromproxmox Test -c boot.autostart=true

lxc image import --alias=fromproxmox metadata.tar.gz vzdump-lxc-103-2024_01_23-19_06_30.tar.gz

lxc image list

Източник: https://discussion.scottibyte.com/t/replace-proxmox-lxc-containers-with-lxd-containers/247

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Промяна alias lxd

$ lxc image list
+---------------+--------------+--------+-------------+--------+------------------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCH | UPLOAD DATE |
+---------------+--------------+--------+-------------+--------+------------------------------+
| ubuntu-trusty | 04aac4257341 | no | | x86_64 | Jul 4, 2015 at 8:29am (CST) |
| centos6 | afae698680fc | no | | x86_64 | Jul 4, 2015 at 10:28am (CST) |
+---------------+--------------+--------+-------------+--------+------------------------------+
$ lxc image alias create trusty 04aac4257341
$ lxc image list
+-----------------+--------------+--------+-------------+--------+------------------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCH | UPLOAD DATE |
+-----------------+--------------+--------+-------------+--------+------------------------------+
| trusty (1 more) | 04aac4257341 | no | | x86_64 | Jul 4, 2015 at 8:29am (CST) |
| centos6 | afae698680fc | no | | x86_64 | Jul 4, 2015 at 10:28am (CST) |
+-----------------+--------------+--------+-------------+--------+------------------------------+
$ lxc image alias delete ubuntu-trusty
$ lxc image list
+---------+--------------+--------+-------------+--------+------------------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCH | UPLOAD DATE |
+---------+--------------+--------+-------------+--------+------------------------------+
| trusty | 04aac4257341 | no | | x86_64 | Jul 4, 2015 at 8:29am (CST) |
| centos6 | afae698680fc | no | | x86_64 | Jul 4, 2015 at 10:28am (CST) |
+---------+--------------+--------+-------------+--------+------------------------------+

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Scopri il Casino Online Dolly Italia

Sei un appassionato di giochi d'azzardo alla ricerca di un'esperienza di casinò online di alto livello in Italia? Allora sei nel posto giusto! In questo post, andremo alla scoperta di Dolly Casino, il casinò online più caldo d'Italia, e ti sveleremo i segreti per massimizzare le tue vincite.

Dolly Casino https://dolly-casino.webflow.io/ non è solo un luogo per giocare, ma un'esperienza immersiva che offre accesso esclusivo a eventi VIP, strategie vincenti e versioni mobili aggiornate per giocare ovunque ti trovi. Continua a leggere per scoprire tutto quello che c'è da sapere su questo straordinario casinò online.

Come Evitare Gli Errori Comuni nel Gioco d'Azzardo: Segreti di Abilità

Giocare d'azzardo può essere divertente, ma è importante conoscere i segreti per evitare gli errori comuni che possono compromettere la tua esperienza di gioco. Prima di tutto, è fondamentale stabilire un budget e attenersi ad esso. Non sforare mai il tuo budget, indipendentemente da quanto tu possa essere tentato.

Un altro segreto è conoscere a fondo i giochi a cui stai giocando. Leggi le regole, prendi nota delle strategie e pratica il più possibile. La pratica rende perfetti, e più conosci il gioco, maggiori saranno le tue possibilità di vincere. Infine, ricordati di giocare in modo responsabile. Il gioco d'azzardo dovrebbe essere visto come un passatempo divertente e non come un modo per fare soldi rapidamente. Gioca sempre per divertimento e sii consapevole dei rischi associati al gioco d'azzardo.

dolly casino

Scopri i Segreti per Vincere: Strategie Esclusive dai Professionisti

Vuoi sapere come i professionisti riescono a vincere costantemente? Noi abbiamo scoperto alcune delle loro strategie più efficaci che possono aiutarti a migliorare il tuo gioco. La prima strategia è quella di sfruttare i bonus e le promozioni offerti da Dolly Casino. Questi possono aumentare significativamente le tue probabilità di vincita.

Un'altra strategia è quella di diversificare le tue scommesse. Non puntare tutto su un solo gioco o su una singola scommessa. Prova diversi giochi e approcci per trovare quello che funziona meglio per te. La diversificazione può minimizzare i rischi e aumentare le tue possibilità di vincita.

Dolly Casino: Accesso Esclusivo a Eventi VIP Solo per Pochi Selezionati

Se stai cercando un'esperienza davvero esclusiva, Dolly Casino offre accesso a eventi VIP riservati solo ai suoi giocatori più fedeli. Immagina di partecipare a tornei esclusivi con premi incredibili, serate a tema lussuose e incontri con celebrità.

Abbiamo esplorato le offerte di Dolly Casino e possiamo confermare che diventare un VIP non è mai stato così gratificante. I membri VIP ricevono inviti personalizzati a eventi speciali, bonus esclusivi e servizio clienti prioritario. Questa attenzione ai dettagli rende ogni giocatore VIP un ospite di riguardo.

Un altro vantaggio degli eventi VIP è la possibilità di incontrare altri appassionati di giochi d'azzardo, creando una comunità di giocatori con cui condividere strategie e storie di successo. Diventare un membro VIP di Dolly Casino è un'opportunità unica per vivere il gioco d'azzardo online al massimo livello.

Dolly Casino: Versione Mobile Aggiornata

Dolly Casino offre una versione mobile aggiornata che ti permette di giocare ovunque ti trovi. Abbiamo esplorato la versione mobile e possiamo confermare che offre un'esperienza di gioco fluida e coinvolgente, paragonabile a quella desktop.

La versione mobile di Dolly Casino è compatibile con una vasta gamma di dispositivi, inclusi smartphone e tablet Android e iOS. Questo significa che puoi goderti i tuoi giochi preferiti in qualsiasi momento, sia che tu sia a casa, al lavoro o in viaggio.

Inoltre, la versione mobile offre tutte le funzionalità della piattaforma desktop, inclusi i bonus, le promozioni e l'accesso agli eventi VIP. Non perderai nessuna opportunità di vincita, indipendentemente da dove ti trovi.

Dolly Casino Avviso: Come Non Perdere Tutto in un Momento

Il gioco d'azzardo può essere eccitante, ma è importante essere consapevoli dei rischi e sapere come evitare di perdere tutto in un momento. Ecco alcuni consigli per giocare in modo responsabile e proteggere le tue finanze.

Prima di tutto, stabilisci dei limiti di perdita. Decidi in anticipo quanto sei disposto a perdere e non sforare mai quella cifra. Giocare oltre i tuoi limiti può portare a perdite significative e mettere a rischio la tua stabilità finanziaria.

Un altro consiglio è quello di fare pause regolari. Giocare per lunghi periodi senza pause può portare a scelte impulsive e a perdite maggiori. Fare una pausa ti permette di rinfrescare la mente e di tornare al gioco con una prospettiva più chiara.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Личен Блог на Мартин Петров