Задать вопрос
  • Возможна ли обработка адреса (жительства) в excel регулярным выражением?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Нет. Адрес не имеет никакой логики. Отличить название улицы от аббревиатуры регуляркой невозможно, ибо нет никаких правил по аббревиатурам и именам улиц.
    Можно просто попробовать выполнить замену текста типа ул. -> УЛ. для конкретных обозначений.
    Но просто строку - вряд ли, слишком много хаоса
    Ответ написан
    Комментировать
  • Какой ближайший хоп у России с европейской страной?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Вообще это вопрос из области географии.
    смотришь какие страны к твоему городу ближе, и думаешь, ибо во владивостоке это одно в питере другое, в краснодаре третье.
    А еще проще через traceroute подергать и посмотреть как идет трафик, на разные сервера разных стран, чтобы посмотреть как у твоего конкретного провайдера аплинки настроены
    Ответ написан
  • Что за "ключи шифрования" которые требуют у администрации Телеграм?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Каждый из пользователей создаёт две половины ключа и одну из половин отсылает собеседнику


    Это называется сквозное шифрование или user-to-user или end-to-end
    Такое шифрование в телеге применяется только для секретных приватных чатов.

    Для обычных чатов применяется шифрование от клиента к серверу ТГ, который все расшифровывает. Следовательно ключи хранятся на сервере и администрация ТГ может их выдать для расшифровки сообщений.
    С одной стороны для юзера это полезно, так как позволяет телеграмму синхронизировать сообщения между твоим клиентом на телефоне и на ПК, с другой стороны твои сообщения может читать админ телеграмма или тот, кому он выдаст ключи.
    Ответ написан
    Комментировать
  • Как написать терминал на Assembler?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Изучите прерывания биос.

    И вообще, интерпретатор это довольно простая задача, если вы уже научились работать с устройствами ввода-вывода, поэтому может быть стоит потренироваться на более простых программах, чем сразу писать свою ОС?
    Ответ написан
    Комментировать
  • Изучение создания игровых механик в жанрах RPG/RTS?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Слишком общий вопрос, на который непонятно как отвечать.

    Создание современной игры включает в себя множество аспектов, включая визуализацию и озвучивание на приемлимом уровне, который обычно не может обеспечить студент.
    Реализовать минимальную логику можно да как угодно, RPG игра это просто игра, где у персонажа могут быть разные начальные характеристики и разные варианты развития. Но это все можно упростить до каких-нить воин-вор-маг, где базовые характеристики будут расти с разным коэффициентом и все. А можно усложнить до ветвлений, ограничений на ношение предметов, изучение навыков и так далее.
    Ваш же вопрос вообще неясен.
    Игра ничем не отличается от другой обычной программы. Характеристики персонажа, его инвентарь, и игровой мир также как и все остальное хранится в числовых или строковых переменных, а те могут храниться в файликах или базах данных.

    Если же будете задавать более конкретные технические вопросы, вам помогут. А общий - ну вот примерно вот так.
    Ответ написан
    Комментировать
  • Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Руководитель дипломной работы предложил разработать "простой язык программирования для целей обучения". Я поняла его так - многие учебные задачи с использованием современных языков теряют смысл. (перевернуть массив? для этого есть готовая функция. написать сортировку - тоже есть. а если задача на динамических списках - студент сложит их в массив и радуется) только вручную проверять, правильно ли написал. А хорошо если есть язык в котором опцией выключаются массивы например или циклы. И конечно минимум готовых функций.


    А кто мешает написать свою структуру данных, и методы для работы с ней, и не "отключать массивы", а просто не пользоваться ими?

    Писать свой язык проблематично с начальными знаниями, потому что нужно хотя бы знать как примитивы работают.
    Опять же какой язык - компилируемый или интерпретируемый? Написать свой компилятор непростая задача, как минимум нужно разобраться с архитектурой ОС, разобрать форматы исполняемых файлов, это куча дополнительной работы.

    Я бы на твоем месте уточнил бы детали у препода, на каком уровне требуется это сделать.
    Ответ написан
    2 комментария
  • Кто знает приложение/сервис/движок/протокол под описанные задачи?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    В опен-сорсе обычно очень маленькое количество огромных комбайнов. У вас тут хотелки на 5-6 отдельных продуктов. А все в одном бывает в основном в крупном ентерпрайз продукте, типа комбо от atlassians, или какой-нить битрикс.

    Разбейте ваши хотелки на отдельные компоненты, тогда можно поискать какой-то бесплатный аутсорс, и то..
    Ответ написан
    Комментировать
  • Как работает 3D в современных играх?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Слишком общий вопрос.
    В общем случае, raycast, raytracing и другое - это просто различные рализации алгоритм рендеринга для 3d сцен.
    Есть готовые движки и библиотеки. Какие-то платные, какие-то бесплатные. Какие-то жрут больше ресурсов, но дают более качественную картинку (достаточную для создания CGI сцен для фильмов на большой экран), какие-то после шлифования напильником достаточны для игры в HD разрешении.

    Та же идея рейкастинга может использоваться в несколько проходов, чтобы, например кинуть лучи с определенной частотой, построить упрощенный буфер видимой области. Потом выполнить второй проход более подробный, вычислить расстояние и масштаб для текстур. Потом выполнить еще один проход и сгладить края (одна из основных проблем, как сгладить края на hi res и при этом сэкономить ресурсы). И все эти штуки - отдельные алгоритмы рендеринга, которые использут принцип рейкастинга, и могут иметь внутренние названия в движке, а в другом движке те же самые алгоритмы могут называться чуть иначе, или схоже.

    Рейкастинг и Рейтрейсинг считай две стороны одной медали, могут работать вместе, просто разные задачи. Например рейкастингом построил видимые объекты, сделал сцену, рейтрейсингом сгладил и добавил реалистичные затенения от разных источников освещения.

    Или часть простых теней, например от статичных "угловых" объектов типа здания, для оптимизации обсчитали рейкастингом, а рейтрейсингом объекты от сложных подвижных фигур главного героя.

    Таким образом оба термина не устарели и активно применяются, но это слишком общие слова, а не конкретная реализация. Под капотом там куча дополнительной терминологии.

    А для современных игроделов есть просто несколько готовых фреймворков/движков - тот же юнити, XRay, Unreal, Godot, которые используют несколько алгоритмов рендеринга, разработчик может выбрать как пользоваться рендерингом, какие алгоритмы для какой сцены/действия использовать. Конечно желательно разбираться глубже, чтобы понимать как дизайнить игру, ибо алгоритм, который хорошо работает на открытых пространствах может хуже работать в тесном помещении, где требуется множество объектов с высокой детализацией. И наоборот.

    То есть современные игроделы редко занимаются непосредственно ковыряниями с деталями реализации, скорее уже оптимизируют их микс для своего проекта
    Ответ написан
  • Почему компьютеры используют двоичные числа в мантиссе IEEE754 вместо BCD или PDP?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Потому что BDC это не представление, а уже кодирование, упаковка.
    Процессор не содержит инструкций по взаимодействию с таким представлением, поэтому вместо простой арифметической операции, тебе сперва придется декодировать числа, сохранить их где-то,затем снова закодировать.
    Во-вторых тебе стоит попробовать построить обычный арифметический сумматор, чтобы понять как в принципе процессор считает числа. Вся арифметика основана на двоичной системе, а точнее на 0/1. И чтобы написать сумматор для BDC, потребуется куча лишних операций по декодированию таких чисел.
    В результате в некотрых (не всех случаях), Ты сэкономишь чуть-чуть памяти, но количество операций для расчета увеличится в разы.
    Ответ написан
    2 комментария
  • Почему, используя Bluetooth-адаптер серьёзной фирмы, интернет раздаётся на ПК, со смешной скоростью в 1.5 мегабита/сек?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Может потому что на оф. сайте пишут что этот адаптер поддерживает только BT 5.0, а не 5.3 ?

    https://www.tp-link.com/us/home-networking/usb-ada...
    Ответ написан
    Комментировать
  • Как написать скрипт на bash для ansible чтоб автоматически разослать публичные ключи на машины?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Продебажить что происходит, добавить echo внутри цикла?
    Руками если выполнить ssh-copy-id работает?
    Какую ошибку выдает?

    ssh-copy-id достаточно тупая команда. может не учитывать текущие настройки sshd, например sshd настроен на authorized_keys2, а он пишет в authorized_keys

    В общем проверить руками результат команды, проверить что внутри цикла.
    Ответ написан
    6 комментариев
  • Как в Linux найти файлы одинакового размера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. Поискать готовые инструменты, их есть.

    2. написать скрипт, который например через find находит все файлы рекурсивно, вычисляет для каждого контрольную сумму, например md5, и скидывает в какой-то текстовый файлик хеш и путь+имя файла.
    Сортируешь по хешу, находишь одинаковые.

    3. найти все файлы, которые не отличаются друг от друга более чем на 10 Кб
    С этим сложнее. Есть софт, который может определять похожие изображения, но именно файлы, там непонятно как с критериями работать.
    Ответ написан
    Комментировать
  • Зачем нужен Kubernetes?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Кубер это оркестратор с достаточно широкими возможностями автоматизации.
    Он не имеет смысла если у вас парочка компонентов, которые вы запускаете на одном хосте.

    В первую очередь кубер это кластер, то есть предполагается отказоустойчивость если одна из нод выйдет из строя.

    Во вторую очередь это огромное количество сущностей кубера, типа секреты, конфигмапы, которые позволяют оркестрировать енвайрнменты с десятками и сотнями подов, с возможностью автоматического масштабирования в декларативном виде.

    В третью, большое количество интеграций с внешними системами при помощи раннеров, что позволяет сделать ci/cd, разграничить его по правам и так далее, объединиться с каким-нить hashicorp vault при помощи парочки аннотаций и так далее.
    Ответ написан
    Комментировать
  • Как по SSH Windows запустить скрипт на рабочем столе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Подключаешься к рабочему столу удаленного сервера по rdp и запускаешь там скрипт
    Ответ написан
    Комментировать
  • Ноутбук с разрешением 3840-2400, можно настроить на 3840-2160?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    LCD экраны в принципе не умеют менять разрешение, ибо у них пиксельность дискретная, и любое нестандартное разрешение это выбор на сколько пикселей теперь масштабировать точку. В любом случае страдает четкость, поэтому технически можно, но выглядеть будет так, что лучше не надо.

    P.S. Можно стримить область экрана нужного разрешения, или если приложение можно запустить в окне, то подогнать размер окна и стримить окно.
    Ответ написан
    3 комментария
  • Чем отличается Журнал коммитов и Топик в Kafka Apache?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Ну собственно в топике хранятся данные, которые оттуда забираешь.
    А в логе в течение некоторого retention периода хранятся метаданные данных. Можно посмотреть историю, или просто список сообщений. Вдобавок логи в целом меньше самих данных и хранятся целиком на каждом сервере, что позволяет быстрые операции со списком.

    Можно официальную документацию, раздел topics and logs
    https://kafka.apache.org/08/documentation.html#int...
    Ответ написан
    Комментировать
  • Как стартовать в аналитике "гуманитарию"?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Подскажите пожалуйста:
    1. Какие харды нужны для джуна в аналитике? (Например, для маркетингового. Но послушаю и для других направлений)
    2. Как лучше учиться? Самому, на курсах или найти ментора?
    3. Сколько в среднем занимает обучение, скажем, с нуля и до способности выйти на собес?


    1. Логика, понимание статистики, различных выборок и часто полезно уметь пользоваться софтом
    2. В среднем те, кто читают книжки понимают в разы лучше чем те, кто смотрят видяшки. Но это индивидуально. Дело не только в способе, но и в количестве потраченных усилий
    3. Полностью индивидуально. Тот кто в среднем задает подобные вопросы, могут и за 5 лет не выйти на собес. Те кто подобные общие вопросы не задает могут с нуля и за полгода выйти.
    Ответ написан
    Комментировать
  • Возможно ли отправлять команды коммутатору через Bash?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    А почему нельзя обычный ssh с ssh ключами?
    Ну ив ообще-то нет проблем однострочник на баше написать..
    Ответ написан
    Комментировать
  • Курсы и книги по Windows Server?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    https://learn.microsoft.com/uk-ua/windows-server/

    Можете подсказать, чем вас не устроили первые результаты поиска в гугле?
    Ответ написан
  • Какие книги прочитать чтобы написать свою операционную систему?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Ну для начала следует разобраться в загрузчике.
    Ставишь виртуалку и делаешь образ, который может загрузиться, что-то вывести на экран и выполнить какую-то манипуляцию (попробуй реализовать текстовое или графическое меню).

    Для этого почитай как работает современный bios и как устроены стандартные разделы дисков, чтобы сделать свой загрузчик и разместить его в первом кластере/блоке.
    Сейчас актуально и MBR и GPT.
    А вот BIOS уже потихоньку заменяется на UEFI.
    https://habr.com/ru/articles/327572/

    Уже потом начинай думать что будешь делать с файловой системой, пробовать писать драйвер под существующую, или придумывать свою. Вполне возможно что на это у тебя уйдет несколько лет и ты забьешь.
    Ответ написан
    Комментировать