• Что такое COM объект, как происходит его разработка, какие особенности реализации COM Microsoft?

    gbg
    @gbg
    Любые ответы на любые вопросы
    1) Еще одна безумная инкарнация попытки микрософта по встраиванию одной программы в другую. До этого были DDE, OLE, ActiveX и прочий зоопарк. Про это даже легенды слагают.

    Сначала были Windows API и DLL Hell. Революцией N1 было DDE - помните, как ссылки позволили нам создавать статусные строки, отражающие текущую цену акций Microsoft? Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL Hell. Но другая группа в Microsoft нашла в DDE фатальный недостаток - его писали не они!

    2) Долго, мучительно и с кучей копания в дебаггере. Спецификация COM - огромный многостраничный документ, которых вы боитесь.
    3) Они были популярны в 1998 году и около того времени. Тогда даже рабочий стол форточки сделали таковым объектом. За 10 лет популярность пошла на спад, так как оказалось что кроме встраивания экселя в ворд, это все нафиг никому не надо (особенно в ТАКОМ виде), а программы могут общаться между собой не при помощи монструозного бинарного интерфейса с маршалингом, и даже не при помощи километров XML в SOAP, а гораздо более легковесными посылками и обращениями к REST API. Сейчас это чудо можно встретить разве что при работе с DirectX.
    Ответ написан
    6 комментариев
  • 'Хвосты' удалённых программ в реестре Windows 10?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Установка программы предполагает занесение данных о ней в реестр.

    Не обязательно.
    Может заносить, может не заносить.
    Может заносить только данные об установщике и деинсталляторе, может заносить конфигурацию. Может ничего не заносить.

    После повторной установки прежде удалённой программы данные о ней в реестре дублируются или просто перезаписываются?

    Каждый программист своей программы придумывает что и зачем хранить в реестре, а также что делать с реестром в новой версии.

    И как с этим вопросом обстоит дело у portable установок?

    Основная идея портабл установок - не зависеть от реестра, все хранить только в одной папке с программой.
    Максимум - запись о том, что программа установлена, чтобы можно было вызвать деинсталлятор
    Ответ написан
    1 комментарий
  • Возможно ли найти неоплачиваемую стажировку?

    plustilino
    @plustilino
    https://younglinux.info
    Я в шоке, что комментаторы тут предлагают за стажировку доплачивать тому, кто будет стажировать, а не тому, кто будет стажироваться. Прям все шаблоны порвали.
    Вроде как стажировщикам тоже платят. А тут человек готов даже бесплатно.

    Удивляет и то, что за столько лет обучения человек так и не попробовал нигде подзаработать. Можно было сделать какой-то сайт, приложение для мобильных устройств и выложить в магазин приложений.
    Ответ написан
    52 комментария
  • Существуют ли бесплатные программы для удаленного управления пк?

    @9999_dk
    AnyDesk - лучшая. Ставим на командировачные ноуты и удаленщикам не один год.
    Для некоммерческого использования бесплатна )))
    Ответ написан
    3 комментария
  • Как подключиться к Wifi на C++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе работать с Wifi на С++ нужно будет только в одном случае - когда ты разработчик драйвера Wifi устройства.

    В остальных случаях - ты пишешь обычные приложения на С++ которые используют сокеты TCP/UDP, которые (сокеты) в свою очередь работают через стек технологий ОС для кидания пакетов в Wifi интерфейсы в соотвествии с правилами таблиц маршрутов.
    Ответ написан
    2 комментария
  • Можно ли работать с PythonAnywhere через свою консоль?

    В бесплатной версии нельзя.
    В платной версии можно подключиться по ssh.
    Также в платной версии есть поддержка Jupyter Notebooks
    Ответ написан
    1 комментарий
  • Как обойти блокировки сайтов?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вы столкнулись с типичным конфликтом интересов. Видимо стиму не выгодна ваша деятельность и они хотят её осложнить для вас, сделать её для вас дороже.
    Это как борьба с читерством.
    Никто вам не скажет правил, по которым вас блокируют, иначе вы тут же начнёте их обходить. Более того, чтобы правила не обходили, их рандомизируют, динамически меняют, разносят во времени момент принятия решения о недобросовестности клиента и момент его блокировки, чтобы нельзя было по своим действиям и реакции системы блокирования понять и вычислить правила блокировки. Лаг между этими моментами всячески варьируют, рандомизируют, дают разное число попыток, чтобы осложнить подбор и вычисление граничных критериев системы защиты.

    Не факт, конечно, что там именно такая параноидальная и замороченная система, но такое определённо имеет смысл, если надо предотвратить долбёжку и не целевое использование АПИ.

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

    Ещё вы рандомизируете юзер-агент, но возможно имеет смысл притвориться браузером и не скакать по юзер-агентам так уж часто, тем более по рандомным.
    Сопоставить запросы между собой можно и при разных адресах, а выходные адреса тора, как вам уже сказали в комментарии к вопросу, немногочисленны и всем известны.
    Ответ написан
  • Можно ревью супергрязного(наверное) кода на с#?

    @OwDafuq
    Вы промазали, это не фриланс, где можно заказать ревью кода.
    Но я сегодня добрый:
    0) ВинФормы не актуальны, извините, переходите в Web или WPF.
    1) Именования: что за Form1, Form2, Form...? Какую смысловую нагрузку они несут?
    2) Classes.cs где нет ничего похожего на названия файла? Имхо, но лучше уж MixtureController сделать отдельным файлом, Mixture так же, отдельным файлом и желательно куда-то в папочки это спрятать (первый статик класс, например, в Services, а второй, например, в Models).
    3) static - зло, тем более если у вас оно используется в форме для контроллов, поддерживать это будет очень больно и сломать будет очень просто. Не используйте static без надобности вообще.
    4) не используйте "+" для конкатенации строк, уже давно есть string.Format, интерполяция, StringBuilder и пр.
    5)
    mixture.cylinderNumber
    в C# принято называть публичные свойства в CamelCase, а не lowerCamelCase.

    За остальной код кто-то другой дополнит
    Ответ написан
    1 комментарий
  • Можно ревью супергрязного(наверное) кода на с#?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Найди .gitignore для шарповых проектов, чтобы не тащить мусор в виде временных и исполняемых файлов на гит
    Ответ написан
    Комментировать
  • Существует ли способ принять и автоматически подставить знак операции с числами в C++?

    GavriKos
    @GavriKos
    В плюсах такого нет напрямую.
    Но есть обходные пути. Самый простой - делаешь функции сложения, вычитания, деления, умножения и т.д. Дальше делаешь словарь (что там вместо него в плюсах? map вроде), ключ - ну пусть будет символ, значение - указатель на функцию.
    И в своей функции ты по символу достаешь указатель на функцию и вызываешь ее с нужными аргументами.

    Результат - свич-кейса нет.
    Ответ написан
    Комментировать
  • Локальный и удаленный пользователь одновременно?

    @Drno
    Один пользователь - никак.
    А если разных создать - поможет например RDP Wrapper, уберет ограничение на количество подключений одновременных

    Только как Вы играть по удаленке собрались, я хз) потому что по удаленке обычно работают)
    Ответ написан
    3 комментария
  • С чего начать системному администратору в школе?

    @Drno
    1. - беги оттуда... работы дохера, денег нифига
    А по теме -

    надо создать "карту" сети, где будут ПК которым нужен доступ, спланировать прокладку сети.
    далее можно поделить участки на "квадраты", чтобы приводить туда 1 кабель и ставить свитч, а не вести кучу проводов до каждого ПК
    после этих подсчетов возвращайтесь - будем подбирать оборудование
    Ответ написан
    10 комментариев
  • Как в юнити строку перевести в число?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    mega_number.ToString()
    Ответ написан
    Комментировать
  • Unity Hub или Unity?

    Griboks
    @Griboks Куратор тега Unity
    Unity Hub - это лончер, в котором можно устанавливать, обновлять, содержать несколько версий Unity. Кажется, ещё проектами и пакетами управлять можно.
    Ответ написан
    1 комментарий
  • Как раскидать элементы массива по другому массиву?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    const words = ['я', 'буду', 'сопровождать', 'свои', 'вопросы', 'на', 'Тостере', 'примерами', 'кода', ',', 'обещаю', '!', ];
    
    const columns = [[], [], [], [],];
    
    words.forEach((word, i) => columns[i % columns.length].push(word));
    // [["я","вопросы","кода"], ["буду","на",","], ["сопровождать","Тостере","обещаю"], ["свои","примерами","!"]]
    Ответ написан
    5 комментариев