Задать вопрос
  • Что именно дают миллиарды транзисторов в процессоре для работы программы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    В современных процессорах есть значимые отличия от простых архитектур прошлого века.

    Для начала - процессоры сейчас мультиядерные. Это быстрее чем несколько CPU.

    Во-вторых в процессоры встроено огромная куча готовых блоков для ускорения различных расчетов. Если первые ко-процессоры для расчетов появились еще во времена 386 и 486, то в начале двухтысячных в процессоры уже встраивали хардварные декодеры видео и звука, сейчас есть блоки для дешифровки и так далее.

    Есть модули ветвления/предсказания, которые по сути просто выполняют несколько вероятных потоков, из которых один продолжает работать, остальные считай проработали в холостую, но транзисторы для них задействованы.

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

    Вот сюда и уходит.

    Дальше вопрос расстояния и энергопотребления, где главные движущиеся силы - миниатюризация.
    Ответ написан
    Комментировать
  • Как устроиться в начинающую компанию?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Никак. В таких компаниях нет необходимости в сотрудниках или в MVP.
    Таким компаниям нафиг не нужен сайт (может быть пригодится группа в ФБ/телеграме).
    В таких компаниях нет денег на третьего сотрудника и вообще не выделен и не создан бюджет на айти.
    Зачем туда устраиваться?

    Вдобавок, не путайте начинающую ИТ компанию и стартап - разные вещи.

    В такую компанию нужен не сотрудник, а инвестор.
    Ответ написан
    3 комментария
  • Какие требования у 3x-ui?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Или сколько юзеров могут спокойно пользоваться одновременно на одном vps?


    Имитируешь парочку юзеров, считаешь нагрузку.
    Никто не знает чем занимаются твои юзеры - сидят в браузере, сидят в маткаде или сидят в Cyberpank. Нагрузки могут быть очень разные.
    Ответ написан
    Комментировать
  • Какой RAID использовать для системы хранения?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    для эффективного использования пространства дисков

    я так понимаю, что мне нужно сделать два виртуальных диска?

    Это неправильная цель.
    Если цель сделать два виртуальных диска - делайте два диска.
    Если цель - отказоустойчивость или скорость - выбирайте подходящийрейд.
    То есть прежде всего определитесь что именно вы хотите получить от рейда. Тогда будет понятно какой вам нужен
    Ответ написан
  • Как взламывают БД (MongoDB)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Не факт, что взламывают именно базу напрямую. Возможно скомпроментирован сервер, и в нем уже висит какой-то бекдор, через который ходят и вашу базу от имени локального mongo юзера коцают.
    Ответ написан
    Комментировать
  • Как настроить LEMP Linux Fedora через docker?

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

    Или ты хочешь, чтобы тебе прям инструкцию дали? Так если не можешь выполнить сам, значит работа тебе не подойдет, там же твою квалификацию спрашивают а не нашу
    Ответ написан
    3 комментария
  • Почему мог поменяться отпечаток ключа SSH в Ubuntu?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    Так отпечаток не поменялся, ты просто к другому серверу коннектишься (другой айпи).
    Оно же тебе не говорит что слепок не совпадает, оно сказало что вы первый раз подключаетесь к неизвестному серверу, давайте сохраним его отпечаток.
    Ответ написан
  • Нужен ли клиенту private key?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Вы бы уточнили вопрос, что именно вы хотите сделать.

    Клиентский сертификат вообще не обязателен для ssl, шифрование и так будет работать.

    Но он может использоваться для авторизации или для mutual-tls
    В этом случае понятно, что у каждого должна быть свой сертификат и приватный ключ, а для подключения, нужно чтобы сервер и клиент друг другу доверяли, для чего нужно чтобы или они были выданы CA которому оба доверяют.

    Но мне кажется, что вы не совсем понимаете как и что у вас вообще работает, потому что формулирование вопроса туманно
    Ответ написан
    8 комментариев
  • Куда класть soho/стартап бэкапы?

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    ^((?!-)[A-Za-z0-9-]{1, 63}(?<!-)\\.)+[A-Za-z]{2, 6}$

    Но это не проверка на доменное имя, а проверка что данная строка похожа на доменное имя.

    Можно выполнить проверку на регулярку а потом просто выполнить резолв домена через какой-нить nslookup
    Ответ написан
    Комментировать
  • Есть ли сервисы для автоматизации рекламы в Telegram-ботах?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Телеграм бот это не средство и инструмент для рекламы.

    Он для этого не приспособлен, в смысле ни API ни принцип работы ботов.

    Его неудобно добавлять пользователям, основная масса шаряших платежеспособных клиентов сразу заблочат, ибо им нафиг не нужен спам.

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

    Поэтому таких сервисов собственно и нет и не будет.
    В телеграме есть штатные способы рекламы. Например создание своего публичного канала с интересным контентом, где будете периодически кидать рекламу. Свой канал как раз через бота и автоматизируется.
    Реклама в других публичных каналах за деньги.
    Платная реклама в самом телеграме, но не уверен что она работает в рф.
    Ответ написан
  • Возможна ли обработка адреса (жительства) в 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 комментария