Новости - Категории 'iT'
Воскресенье 08 Январь 2023 - 17:03:00 | Admin
Актуальный код на 2023 для получения текущей погоды, для определённого населённого пункта с сервиса openweathermap.org
$lat="55.56758"; //**** МО, г.Раменское
$lon="38.225004"; //**** МО, г.Раменское
$appid="xxxxxxxxxxxxxxxx"; //***** Ваш ключ API
//**** https://openweathermap.org/current
$url="https://api.openweathermap.org/data/2.5/weather?lat=$lat&lon=$lon&lang=ru&appid=$appid";
// делаем запрос к API
$data = @file_get_contents($url);
// декодируем полученные данные
$dataJson = json_decode($data);
$temp = $dataJson->main->temp; //Температура
$gorod = $dataJson->name;
$des1 = $dataJson->weather[0]->description; //Погода
$des2 = $dataJson->weather[1]->description; //Погода
$pressure1 = $dataJson->main->pressure; //Давление hPa
$humidity = $dataJson->main->humidity; //Влажность %
$wind = $dataJson->wind->speed; //Скорость ветра м/с
$tempK = '273,15'; //**** по Кельвину
$tempC = $temp - $tempK;
$pressure2 = "0.75"; //***** 1 гектопаскаль [гПа] = 0,750063755419211 миллиметр ртутного столба (0°C) [мм рт.ст.]
$pressure = $pressure1 * $pressure2;
$date_time = date('d.m.Y H:i'); // 30.12.2022 17:22
if ($des2 != '') {$des = "$des1 ($des2)";} else {$des = "$des1";}
$description = "$gorod, Погода: $des, Температура: $tempC, Давление: $pressure мм рт.ст., Влажность: $humidity %, Скорость ветра: $wind м/с, Дата: $date_time";
echo "$description";
Вторник 24 Декабрь 2019 - 08:47:55 | Admin
Не все знают, что в дополнение к службе удаленных рабочих столов, в Windows Server 2008 R2 есть очень удобная служба удаленных приложений RemoteApp. Суть RemoteApp в том, что к любым приложениям, установленным на данном сервере, можно получить удаленный доступ с любого компьютера подключенного к сети. В этом случае, выполняться программа будет на сервере, но её окно будет прорисовываться так, если бы пользователь запустил программу с локального компьютера. Возможно сворачивать и разворачивать окно программы запущенной через RemoteApp, изменять его размеры и запускать сразу несколько программ вместе со своими локальными приложениями. Это очень удобный механизм, который может существенно облегчить администрирование некоторых программ и сократить расходы на их покупку. Ниже я расскажу как настроить Удаленные приложения RemoteApp в Windows Server 2008 R2 на примере программы 1с:Предприятие 7.7. 0. Оглавление
[ read more ]
- Что понадобится
- Создание RDP-файла или установщика для удаленной программы
- Настройка пользователей
- Компьютер с Windows Server 2008 R2
- Запущенный сервер терминалов на данном компьютере
- Также, на этом компьютере должно быть установлено и настроено приложение, которое мы будем добавлять в RemoteApp, в моем случае это 1С:Предприятие 7.7 (об особенностях установки 1С:Предприятие 7.7 к примеру)
Вторник 19 Февраль 2019 - 11:20:47 | Admin
Очередная проблема в работе сайта принесла тему для нового поста – ошибка “Fatal error: Allowed memory size of“.
Суть такова: в консоли административной панели появляется ошибка:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 1966080 bytes) in /home/username/public_html/wp-includes/class-simplepie.php on line 5410. |
Цифры и путь ошибки могут и будут различаться. Более того, Ваш сайт может не загружаться, а браузер будет писать текст всё той же ошибки и при попытке входа в админку будет все тот же Fatal error.Причина ошибки одна — CMS употребляет больше оперативной памяти, чем предоставляет хостинг. Чем это вызвано, тоже понятно: однозначно, плагины (изредка проблема возникает после обновления версии движка, но как правило в процессе активации, деактивированных перед обновлением WordPress плагинов).
Как исправить ошибку
А вот путей решения несколько. И один из них точно принесет результат. Также я расскажу как не допустить этой ошибки в будущем. Приступим.
Первый способ самый простой, но длительный по времени: написать в техподдержку компании, предоставляющей хостинг. Специалисты все исправят и вы вновь у руля. Однако, может случиться, что это поможет на 3-5 дней (как было у меня) и снова та же ошибка памяти. После 3-х писем в техподдержку мне посоветовали сменить CMS. Но я гордый и начал копать дальше.
Второй способ
Внести в файл .htaccess вашего сайта строку:
php_value memory_limit'64M' |
Если файла .htaccess у вашего сайта нет, то сделайте его: берем пустой txt файл (файл блокнота) и вносим туда вышеуказанную строку. Затем переносим это дело с помощью FTP клиента на сервер и там переименовываем в .htaccess. Устанавливаем атрибуты 777, проверяем сработало или нет. Опять же зависит всё от хостинга. Если и это не помогло, то…
Третий способ
Похож на второй, только работаем в другими файлами. Открываете index.php в корне вашего сайта и добавляете в него следующий код:
define(‘WP_MEMORY_LIMIT’,’64M’); |
Разрешенный объем оперативки для сайта вырастет до 64 мегабайт. Для WordPress сайта этот же код вставьте в файл конфигурации wp-config.php. Если хостинг провайдер не выключил в настройках сервера поддержку ini_set, то проблема должна решиться.
Четвертый способ – лучший
Гарантировано избавит вас от ошибки, так как решает саму причину ошибки. Но, возможно, придется пожертвовать плагином. Заходим в админку вкладка «плагины» и начинаем по очереди их деактивировать, проверяя при этом, после каждой деактивации наличие ошибки. Плагин-проказник обязательно найдется, после этого активируйте все плагины, которые не вызывают ошибку.Если сайт полностью лежит и нет возможности делать манипуляции с админкой, то зайдите на хостинг. Откройте папку wp-content/plugins, скопируйте все плагины к себе на компьютер и поочередно удаляйте один за другим, проверяя – заработал ли сайт.Кстати, такое решение лечит и другие ошибки.Если плагин очень нужный и полезный, то следует поиграть версиями: попробовать более свежий или наоборот, более старый. Или найдите аналог. В любом случае нужно придти к консенсусу.
Профилактика ошибок памяти
Что для этого нужно? Ответ прост: постоянно видеть сколько памяти потребляет WordPress. Для этого придется покопаться в коде шаблона. Можно это сделать прямо из админки, раздел “Внешний вид” – “Редактор” – выбрать файл functions.php или через файловый менеджер по адресу …/wp-content/themes/ваша тема/functions.php (открыть с помощью Notepad++ или подобной программой). Перед закрывающим тегом ?> вставляем в файл код:
functionusage(){printf(('%d / %s'),get_num_queries(),timer_stop(0,3)); if(function_exists('memory_get_usage'))echo' / '.round(memory_get_usage()/1024/1024,2).'mb ';} add_action('admin_footer_text','usage'); |
Данная функция будет выводить в футере администраторской панели WordPress информацию об объеме потребляемой сайтом памяти. В качестве бонуса вы увидите скорость загрузки страниц и количество запросов к базе данных.Теперь Вы наглядно контролируйте изменение потребляемой памяти при активации того или иного плагина и сразу увидите, если что-то пойдет не так.
Вторник 28 Август 2018 - 12:32:55 | Admin
В ходе работы появлялись задачи по переносу информацию из одной БД в другую. Программная среда работает под управлением MS FoxPro и означает, что данные находятся в файлах DBF. Для этого приходилось писать различные запросы для изымания информации из БД и размещении её в файле XLS. Решил поделиться данными записями, возможно кому-то понадобиться.
1)
SELECT C.LIC ;
,C.LICERC ;
,C.AID ;
,A.IDSA ;
,A.KODST ;
,A.VIDST ;
,A.STATUS ;
,A.TIP ;
,A.MODEL_PU ;
,A.MARKA_PU ;
,A.ZNOM ;
,DTOC(A.Dat_akt ) Dat_akt ;
,DTOC(A.Dat_p1 ) Dat_p1 ;
,DTOC(A.Dat_p2 ) Dat_p2 ;
from dat_s_a A LEFT JOIN dataa C ON A.aid = C.aid ;
WHERE A.STATUS = 'Проверка' ;
ORDER BY A.STATUS
,C.LICERC ;
,C.AID ;
,A.IDSA ;
,A.KODST ;
,A.VIDST ;
,A.STATUS ;
,A.TIP ;
,A.MODEL_PU ;
,A.MARKA_PU ;
,A.ZNOM ;
,DTOC(A.Dat_akt ) Dat_akt ;
,DTOC(A.Dat_p1 ) Dat_p1 ;
,DTOC(A.Dat_p2 ) Dat_p2 ;
from dat_s_a A LEFT JOIN dataa C ON A.aid = C.aid ;
WHERE A.STATUS = 'Проверка' ;
ORDER BY A.STATUS
2)
SELECT A.Street, A.HOME ,A.FLAT ;
, COUNT(*) AS KKK ;
FROM dataa A ;
GROUP BY A.Street, A.HOME ,A.FLAT HAVING COUNT(*) > 1 ;
order by A.HOME ;
INTO CURSOR CUR1
SELECT * FROM dataa A INTO CURSOR CUR2
SELECT CUR2.LIC, CUR2.LICERC,CUR1.Street, CUR1.HOME, CUR1.FLAT , CUR1.KKK FROM CUR1 LEFT JOIN CUR2 ON CUR1.Street = CUR2.Street AND CUR1.HOME = CUR2.HOME AND CUR1.FLAT = CUR2.FLAT ;
WHERE CUR1.KKK
, COUNT(*) AS KKK ;
FROM dataa A ;
GROUP BY A.Street, A.HOME ,A.FLAT HAVING COUNT(*) > 1 ;
order by A.HOME ;
INTO CURSOR CUR1
SELECT * FROM dataa A INTO CURSOR CUR2
SELECT CUR2.LIC, CUR2.LICERC,CUR1.Street, CUR1.HOME, CUR1.FLAT , CUR1.KKK FROM CUR1 LEFT JOIN CUR2 ON CUR1.Street = CUR2.Street AND CUR1.HOME = CUR2.HOME AND CUR1.FLAT = CUR2.FLAT ;
WHERE CUR1.KKK
3)
select A.AID, A.LIC, A.LICERC,B.KAT P1 , "Подогрев воды" AS P2, B.TNPL93 AS P3 FROM datab B LEFT JOIN dataa A ON A.KAT= B.KAT WHERE B.TNPL93 <> 0 ;
UNION ALL ;
select A.AID, A.LIC, A.LICERC,B.KAT P1 , "Холодное водоснабжение ФВ" AS P2, B.OPLS51 AS P3 FROM datab B LEFT JOIN dataa A ON A.KAT= B.KAT WHERE B.OPLS51 <> 0;
UNION ALL ;
select A.AID, A.LIC, A.LICERC,B.KAT P1 , "Водоотведение по холодной воде" AS P2, B.OPLS52 AS P3 FROM datab B LEFT JOIN dataa A ON A.KAT= B.KAT WHERE B.OPLS52 <> 0;
ORDER BY 2
UNION ALL ;
select A.AID, A.LIC, A.LICERC,B.KAT P1 , "Холодное водоснабжение ФВ" AS P2, B.OPLS51 AS P3 FROM datab B LEFT JOIN dataa A ON A.KAT= B.KAT WHERE B.OPLS51 <> 0;
UNION ALL ;
select A.AID, A.LIC, A.LICERC,B.KAT P1 , "Водоотведение по холодной воде" AS P2, B.OPLS52 AS P3 FROM datab B LEFT JOIN dataa A ON A.KAT= B.KAT WHERE B.OPLS52 <> 0;
ORDER BY 2
4)
select A.AID, A.LIC, A.LICERC, A.Street , A.Home , A.Flat , D.KAT P1 , "ТО ВКГО" AS P2, LPLSTR P3 , IIF ( A.OPLKV = A.OPL AND A.OPL <> 0, 0 , (LPLSTR / A.OPLKV * A.OPL)) AS P4, A.OPLKV OPL_KV , A.OPL OPL_ , LPLSTR TARIFF FROM datad D LEFT JOIN dataa A ON A.LGOTA= D.KAT WHERE LPLSTR <> 0 ;
ORDER BY 2
ORDER BY 2
5)
select LS_DGH P1 , "UST_ODPU" AS P2 , UST_ODPU AS P3 FROM PER WHERE VAL(UST_ODPU) <> 0 ;
UNION ALL ;
select LS_DGH P1 , "DOP_USL" AS P2 , DOP_USL AS P3 FROM PER WHERE VAL(DOP_USL ) <> 0 ;
UNION ALL ;
select LS_DGH P1 , "DOMOFON" AS P2 , DOMOFON AS P3 FROM PER WHERE VAL(DOMOFON ) <> 0 ;
UNION ALL ;
select LS_DGH P1 , "TO_VKGO" AS P2 , TO_VKGO AS P3 FROM PER WHERE VAL(TO_VKGO ) <> 0 ;
Order by LS_DGH
Пятница 15 Июнь 2018 - 00:10:27 | Admin
http://obnovlenie-nod32.work/kody-aktivacii-eav-9/
Для NOD 32 IS_11.
Username: EAV-0227557206
Password: 7prh3a79x9
License Key: HH29-XUKT-2D8K-TG78-9MNW
Expiration: 03/08/2018
Username: EAV-0227598662
Password: n3bk7v2s6s
License Key: ARNP-XUJR-NWNA-VST5-E6MV
Expiration: 04/08/2018
Username: EAV-0227602387
Password: bsh4jd5b4j
License Key: 467T-XMX6-RAXV-X3TJ-NJ3E
Expiration: 04/08/2018
Username: EAV-0227615108
Password: e8sxjap42p
License Key: 9S7M-XD7N-4V6B-VP44-3XUR
Expiration: 04/08/2018
Username: EAV-0227615111
Password: 6jmdcn9xp4
License Key: 8FN7-XU65-CAA7-GHSR-MAMG
Expiration: 04/08/2018
Username: EAV-0227719637
Password: 935m6a2pmx
License Key: BFM5-XHMC-2JH4-CVX6-DA9W
Expiration: 06/08/2018
Username: EAV-0227719644
Password: vecpjk9dvj
License Key: 2R8S-XSG2-EVMU-TMX8-PP6R
Expiration: 06/08/2018
Username: EAV-0227719673
Password: nxa3pa53ur
License Key: GXKA-XPW9-9RFJ-56NN-B67U
Expiration: 06/08/2018
Username: EAV-0227719678
Password: t5ppexenpd
License Key: RTKN-XD6H-2X9N-U8D7-RMX9
Expiration: 06/08/2018
Для NOD 32 IS_11.
Username: EAV-0227557206
Password: 7prh3a79x9
License Key: HH29-XUKT-2D8K-TG78-9MNW
Expiration: 03/08/2018
Username: EAV-0227598662
Password: n3bk7v2s6s
License Key: ARNP-XUJR-NWNA-VST5-E6MV
Expiration: 04/08/2018
Username: EAV-0227602387
Password: bsh4jd5b4j
License Key: 467T-XMX6-RAXV-X3TJ-NJ3E
Expiration: 04/08/2018
Username: EAV-0227615108
Password: e8sxjap42p
License Key: 9S7M-XD7N-4V6B-VP44-3XUR
Expiration: 04/08/2018
Username: EAV-0227615111
Password: 6jmdcn9xp4
License Key: 8FN7-XU65-CAA7-GHSR-MAMG
Expiration: 04/08/2018
Username: EAV-0227719637
Password: 935m6a2pmx
License Key: BFM5-XHMC-2JH4-CVX6-DA9W
Expiration: 06/08/2018
Username: EAV-0227719644
Password: vecpjk9dvj
License Key: 2R8S-XSG2-EVMU-TMX8-PP6R
Expiration: 06/08/2018
Username: EAV-0227719673
Password: nxa3pa53ur
License Key: GXKA-XPW9-9RFJ-56NN-B67U
Expiration: 06/08/2018
Username: EAV-0227719678
Password: t5ppexenpd
License Key: RTKN-XD6H-2X9N-U8D7-RMX9
Expiration: 06/08/2018
Среда 06 Июнь 2018 - 16:49:26 | Admin
На днях в очередной раз столкнулся со следующей проблемой: перестал работать буфер обмена в терминальной сессии с Windows Server 2008 R2. При активном использовании RDP сессий с различными серверами такая проблема у меня возникала уже не раз(обычно помимо 3-4 rdp подключений стандартным клиентом у меня одновременно активно с десяток терминальных соединений через утилиту Remote Desktop Connection Manager). Проблема выглядит это следующим образом: неожиданно перестает работать copy/paste через буфер обмена в/из rdp подключение с конкретным сервером (в остальных терминальных сессиях в это же самое время проблема не наблюдается). В таких случаях приходилось принудительно завершать rdp сессию (логоф) и перезаходить на сервер снова. После переподключения проблемы с буфером обмена обычно пропадают.
Главный недостаток такого метода заключался в том, что приходилось закрывать все приложения, запущенные на удаленном рабочем столе, а затем открывать все заново, что при большом их (приложений) количестве очень напрягает. К счастью мне удалось найти альтернативу логофу.
За работу буфера обмена между рабочим местом и rdp сессией с удаленным компьютером отвечает приложение rdpclip.exe. И при инициации подключению по Remote Desktop для каждого пользователя стартует собственный процесс rdpclip.exe. Поэтому для восстановления работоспособности буфера обмена необходимо из Task Manager-а кильнуть процесс rdpclip.exe и запустить его вручную. [ read more ]
Главный недостаток такого метода заключался в том, что приходилось закрывать все приложения, запущенные на удаленном рабочем столе, а затем открывать все заново, что при большом их (приложений) количестве очень напрягает. К счастью мне удалось найти альтернативу логофу.
За работу буфера обмена между рабочим местом и rdp сессией с удаленным компьютером отвечает приложение rdpclip.exe. И при инициации подключению по Remote Desktop для каждого пользователя стартует собственный процесс rdpclip.exe. Поэтому для восстановления работоспособности буфера обмена необходимо из Task Manager-а кильнуть процесс rdpclip.exe и запустить его вручную. [ read more ]
Вторник 05 Июнь 2018 - 22:46:01 | Admin
Продолжаю тему настройки терминальных серверов. И сегодня расскажу о том, как получить и активировать терминальный сервер и лицензии на подключение абсолютно бесплатно. Статья дается исключительно в целях ознакомления. Способ работает уже не первый год, и раз в Microsoft до сих пор его не прикрыли, то мы с чистой совестью будем им пользоваться. Актуально для Windows Server 2003, 2008 и 2008 R2 (на WinServer 2012 не проверял). Конечно, на рабочих серверах, я призываю использовать исключительно честно купленные лицензии. Итак, приступим...
[ read more ]
Пятница 06 Январь 2017 - 18:09:41 | Admin
IP-телефон Nortel 1140E – это новое поколение настольных IP-терминалов, которое открывает перед пользователями широчайший спектр возможностей, связанных с быстрым доступом к современным приложениям. IP телефон Nortel 1120E утверждает новый стандарт функциональности IP-телефона, как эффективного средства связи, способствуя резкому росту производительности, как отдельных работников, так и целых предприятий.
http://mr-welk.livejournal.com/30641.html Ещё страница про настройку
Как прошить, проапгрейдить IP телефон Nortel Avaya 1120E 1140E
Делается все очень просто. Расскажу на примере модели 1120е, с 1140е все также, только переименовать соответствующие файлы и их содержимое.
1. Необходимо в папку, где запущен TFTP сервер положить следующие 5 файлов и обязательно с такими именами и расширениями:
1140e.cfg 1140eSIP.cfg users.dat Russian.lng SIP1140e04_04_10_00.bin
[ read more ]
http://mr-welk.livejournal.com/30641.html Ещё страница про настройку
Как прошить, проапгрейдить IP телефон Nortel Avaya 1120E 1140E
Делается все очень просто. Расскажу на примере модели 1120е, с 1140е все также, только переименовать соответствующие файлы и их содержимое.
1. Необходимо в папку, где запущен TFTP сервер положить следующие 5 файлов и обязательно с такими именами и расширениями:
1140e.cfg 1140eSIP.cfg users.dat Russian.lng SIP1140e04_04_10_00.bin