Drno, нет, не в песочнице. Приложению доступны все файлы, которые доступны запустившему его пользователю. Ну и если вирус является частью ботнета, то глубоко неважно, запущен он в песочнице или нет.
europeexpress, вирусы под Linux встречаются крайне редко, и функционировать им там крайне сложно в силу особенностей системы, многообразия версий ядра, софта, дистрибутивов итд итп. И, конечно, в силу практики устанавливать софт из репозиториев вкупе с более высоким средним уровнем пользователей. Ну и в отличие от винды нет этой дурной практики работать под админом с выключенным UAC. До кучи, сама сфера примененения Linux рядовыми пользователями настолько узка, что вкладывать усилия намного эффективнее в более распространённую операционную систему.
Чаще всего Linux ломают через сетевые уязвимости в торчащих наружу сервисах или слишком слабые/утекшие пароли. Если это случается, то в первую очередь в системе завидится майнер или спамбот. Ну и утаскиваются профили браузера и иного популярного софта, могут даже ssh-ключи стянуть (если они не защищены пассфразой, то это может иметь дополнительные грустные последствия). В наше время это чаще случается с серверами, а не с домашними системами с Linux, потому что они не так уж и часто имеют внешний IP.
Но элементарные нормы безопасности никто не отменял: не следует качать какой попало софт из сомнительных источников, запускать непонятные скрипты и выполнять странные команды. Лучше максимально понимать, что делаешь.
Если данные предполагаются свои собственные, то на чём угодно (например, делается API, выдающий список объектов с нужными условиями в пределах bbox, а на фронте это рисуется объектами поверх карты хоть гуглом, хоть мапбоксом, хоть openlayers, хоть leaflet, да чем угодно вообще), если чужие, то смотреть в сторону API этих чужих сервисов - отдают ли они POI с координатами и метаданными.
freeExec, реализации веб-почты бывают разные, но нормальные реализации вырежут все скрипты и до кучи ещё и запроксируют все включённые в письмо по ссылкам картинки, чтобы не раскрыть IP пользователя.
freeExec, речь больше не о том, что он скачивается, а о том, что почтовые клиенты особым образом о безопасности пользователя, существенно ограничивая функционал по сравнению с браузером.
Дядя Богдан, результатом работы классического компилятора является код для текущей аппаратной платформы, оформленный в виде объектного файла определённой структуры с именованными ссылками на функции и другие символы. Соответственно, если знать имя функции и её аргументы, то её можно вызвать из любого языка.
Конечно, и тут есть много нюансов. Например, С и C++ по-разному формируют имена символов (из-за того, что в C++ одна функция за счёт перегрузки может иметь много вариантов). Поэтому если нужно линковать код C и C++, то приходится использовать extern "C", в этом случае C++ правильно понимает, как ссылаться на функцию из C-кода или как экспортировать у себя функцию, которую будут использовать другие языки (необязательно C).
После компиляции идёт линковка - все файлы собираются в один программный код. Линковка бывает статической - когда объектный файл включается в программу (в UNIX-системах это .o-файлы или архив .o-файлов с расширением .a, в DOS/Windows - .obj) - и динамическая - когда файл включается в программу в процессе запуска или уже после запуска из программного кода с помощью специальных методов (.so-файлы, dll-файлы).
Теперь перейдём к интерпретируемым языкам и языкам с байткодом. В них есть два направления использования: из скрипта вызвать низкоуровневый код и наоборот. Для первой задачи в этих языках есть методы, которые позволяют вызывать функции, но к этим функциям могут предъявляться требования по именованию, типам аргументов итд итп. Если очень надо вызвать что-то более сложное, то можно написать функцию-обёртку. Для второй задачи обычно есть библиотека lib[название_языка], которая позволяет выполнять кусок кода, переданный строкой либо загружаемый из файла. Тут для передачи параметров их тоже надо правильно оформлять. Всё потому, что на низком уровне функция - это просто адрес вызова и определённый блок данных в стеке процессора с аргументами функции, вызывающий код должен правильно угадать, что именно положить в стек, чтобы программа повела себя адекватно, ведь в объектном файле этой информации нет.
Если там Linux и управляемые свитчи, то ставим на все компы lldpd и на свитче видим, какие компы активны :) Возможно, есть аналог lldpd и для Windows...
Сколько ни автоматизируй, а косяков в таблицах будет дофига. У меня был опыт работы с распознанными таблицами (сотни таблиц с координатами), так вот, там было немало косяков. То десятичная запятая не туда встанет, то их в числе две, то вместо 9 получается 8, а вместо 6 - Б. Любой мусор на листе сразу же добавлял проблем. И это при том, что мне достались таблицы уже после просматривания их человеком (исходные документы были постановлениями регионального правительства самого разного формата и качества).
Лучше покрутить контрастность снимков и пошаманить в FineReader с ручной разметкой областей. 150 снимков - не так уж и много. Самые клинические случаи можно вообще перебить вручную.
Владимир Овчинников, нормально в Bot API это сделать нельзя, так как соотнести два сообшения в разных чатах невозможно. Можно пытаться клиентским API (в том числе часть функций можно делать ботом, а часть - клиентским API), но по-моему сама задача дурацкая, проще в телеграме закреплять, ну или пусть юзер цитирует сообщение с упоминанием бота, а бот сразу закрепляет сообщение и удаляет то самое цитирование.
Потому что 0.0.0.0 - это не настоящий адрес, а IN_ADDR_ANY - адрес всех интерфейсов текущей системы. На нём можно запустить сервис, но к нему нельзя открыть соединение.
Mellonges, не должно быть никаких проблем. Я с умершего ноута достал диск в корзинку для внешнего харда и теперь у меня кроме переносного носителя для данных есть также и готовая запускаемая с него система. Загружается безо всяких вопросов.
Если в решении будут все характерные ключевые слова, связаные с проблемой (что происходило, сообщения об ошибках, названия затронутых приложений или аппаратных устройств), то оно будет проиндексировано поисковиком и есть шанс что будет находиться.
Не бывает сферикал деплоймент ин вакуум. Очень сильно зависит от языка/платформы, разнообразия сервисов, сложности и объёмов. Можно деплоить хоть самописными скриптами или ансиблом, и это даже в отдельных случаях может быть оправдано.
Дисконтные карты могут быть реализованы очень по-разному. В частности, это может быть просто кусок пластика с выдавленным на нём номером, а реальные данные хранятся в базе данных выдавшего его магазина. Такие дисконтные карты можно заменить просто фотографией карточки в телефоне, и некоторые магазины даже такое принимают.
Для начала закрыть терминал (в шторке у сессии есть exit) и запустить заново. У меня иногда сходит с ума клавиатура в нём, упорно пытаясь ввод на русском и не даёт на английский переключиться. Или в цифровую клаву (без букв) вылетает. Перезапуск обычно помогает сразу.