Съюзът на математици и информатици от област Добрич обяви, че скоро ще стартира своя официален уебсайт.
Сайта ще бъде достъпен на адрес: https://smbdobrich.bg
All posts by amri
Monit мониторинг на incus container
cat /etc/monit/monitrc
CHECK PROGRAM apache2_dobromir_status WITH PATH "/root/monit/check_apache_run.sh dobromir"
IF CONTENT = "apache2 not work" THEN EXEC "/usr/bin/incus exec dobromir --- systemctl start apache2"
CHECK PROGRAM mysql_dobromir_status WITH PATH "/root/monit/check_mysql_run.sh dobromir"
IF CONTENT = "mysql not work" THEN EXEC "/usr/bin/incus exec dobromir --- systemctl start mysql"
CHECK PROGRAM apache2_max_process_dobromir_status WITH PATH "/root/monit/check_apache_max_process.sh dobromir 30"
IF CONTENT = "apache2 max process" THEN EXEC "/usr/bin/incus exec dobromir --- systemctl restart apache2"
root@#:~/monit# cat check_apache_max_process.sh
#!/bin/bash
CONTAINER_NAME=$1
MAX_PROCESS=$2
process_count=$(/usr/bin/incus exec "$CONTAINER_NAME" --- pgrep -c apache2)
# Проверка на броя на процесите
if [ "$process_count" -gt $MAX_PROCESS ]; then
printf "apache2 max process"
exit 1
else
printf "apache2 no max process"
exit 0
fi
root@#:~/monit# cat check_apache_run.sh
#!/bin/bash
CONTAINER_NAME=$1
apache_status=$(/usr/bin/incus exec "$CONTAINER_NAME" --- systemctl is-active apache2)
if [ "$apache_status" != "active" ]; then
printf "apache2 not work"
exit 1
else
printf "apache2 work"
exit 0
fi
root@#:~/monit# cat check_mysql_run.sh
#!/bin/bash
CONTAINER_NAME=$1
apache_status=$(/usr/bin/incus exec "$CONTAINER_NAME" --- systemctl is-active mysql)
if [ "$apache_status" != "active" ]; then
printf "mysql not work"
exit 1
else
printf "mysql work"
exit 0
fi
Ремонт на стоп/габарит на Nissan Qashqai J10 (Valeo B003339B Led module REV12 R)
Ремонт на стоп/габарит на Nissan Qashqai J10
Явно всеки втори Qashqai J10 има проблем с вода в стоповете, което води до окисляване и изгаряне на платката с елементи, респективно спират да работят стопът и габаритът. Идеята на този пост е да бъде в помощ.
Необходими елементи:
Светодиоди: SMD CLEAR RED 3528 PLCC2 /червен; 660nm; 1.9V; 400mcd; 120/
Кондензатори: SMD C0603 1nF/50V X7R
Резистори: SMD R1206 100R 5%
С няколко думи, необходимо е да се заменят повредените елементи. В конкретния случай това бяха светодиодите, кондензаторите и резисторите. След като ги замених, всичко заработи отлично. Има две положения – при едното светват габаритите с по-слаба сила, а при другото същите LED-ове светят с по-голяма сила.
За запояването на SMD компонентите използвах тинол паста, както и обикновен поялник с тънък тинол. Тъй като в момента нямах налична станция за горещ въздух, импровизирах такава за случая, като използвах пистолет за горещ въздух с прецизно регулиране на температурата и една фуния от алуминиева плака :) Разбира се, не е същото като станцията, но се представи достатъчно добре, за да успея да премахна старите елементи и да запоя новите.
Хубаво е, преди да се монтира работещата платка, да се изолира компрометираният стоп, за да се избегне ново проникване на влага.
Успех!
P.S.: Специални благодарности на Минчо и Христина от Антекс – с тяхната професионална измервателна апаратура успяхме да измерим малкото останали работещи елементи, за да знаем с какво да бъдат заменени изгорелите.
php8
Първата в света хранилка с изкуствен интелект
Искам да споделя един проект на ученици от СУ "Л. Каравелов", гр. Добрич.
Hfeeder- Първата в света автономна хранилка и поилка за животни с изкуствен интелект
Хранилката работи със собствен обучен модел и разпознава субекти като куче, котка и др. Пиша това, защото е първата такава хранилка в света. Друга няма и е разработена от България!
Това е първата хранилка с изкуствен интелект в света
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;
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
Ето ги и резултатите:
#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
Проблем с 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
При интервал в 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]
Показване на 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