Задать вопрос
  • Как принято шарить *.proto файлы между командами?

    @Akela_wolf
    Extreme Programmer
    В дополнение к ответу Василий Банников
    Сложить файлы *.proto в отдельный репозиторий и настроить CI чтобы он по этим файлам генерил артефакты для Go и nodejs (и складывал их в репозиторий артефактов, для npm и что там у го в качестве менеджера пакетов). А в проектах добавить зависимости от этих артефактов и, таким образом, избавиться от необходимости иметь сами *.proto файлы в проектах.
    Ответ написан
    4 комментария
  • Как создать контейнер приложения, которое развернуто?

    @rPman
    в общем случае это невозможно
    docker файл это список команд, которые необходимо выполнить на 'нулевой системе' чтобы приложение заработало

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

    в некоторых случаях, пакетный менеджер linux предлагает вполне законченное описание того что нужно для того чтобы приложение заработало, к сожалению в реальности не все так просто, не все приложения корректно описаны, а для некоторых требуется ручная первоначальная настройка
    Ответ написан
    2 комментария
  • Языки, похожие на F# и Rust?

    Haskell, Ocaml, ML, Swift, Crystal, Idris
    ML из них самый старый, и языки, которые имеют схожие моменты с ним, называются ML-подобными.
    Ответ написан
    Комментировать
  • Почему 0.2f + 0.3f == 0.5f?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    0.2 = 1.100110011001100110011012 * 2-3
    0.3 = 1.001100110011001100110102 * 2-2
    Приводим к старшей степени, сохраняя количество двоичных разрядов.
    0.2 = 0.110011001100110011001102 * 2-2
    Складываем, получаем
    0.110011001100110011001102 * 2-2
    +
    1.001100110011001100110102 * 2-2
    =
    10.00000000000000000000002 * 2-2
    = 1.0000000000000000000002 * 2-1 = 0.5
    Ответ написан
    Комментировать
  • Как сделать свой сервер для своего сайта у себя дома?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Установить на ПК любой web-сервер, настроить его на раздачу нужных вам файлов, купить белый IP-адрес у провайдера, настроить проброс 80-го порта на домашнем маршрутизаторе, купить доменное имя у любого регистратора и прописать в A-запись доменной зоны ваш белый IP.
    Ответ написан
    Комментировать
  • Как испольовать npm link?

    bingo347
    @bingo347
    Crazy on performance...
    https://docs.npmjs.com/cli/v7/commands/npm-link#sy...
    Пример в самом начале.
    Суть в том, что npm link нужно использовать 2 раза, сначала в папке линкуемого пакета без параметров, потом в папке куда линкуем с именем линкуемого пакета из его package.json

    Но вообще это инструмент для отладки, а для Ваших целей лучше просто отдать webpack абсолютный путь до файла с лоадером, который проще всего получить через require.resolve
    Ответ написан
    1 комментарий
  • Работа с огромным количеством файлов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    bash отлично справится

    find . -name "file.ext" | xargs -n 10 -P 10 "phraze"
    Ответ написан
    Комментировать
  • Верно ли это утверждение?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Добавлю к пессимизму.
    Верно ли это утверждение? 59 минут назад
    Сломался WordPress Кто поможет? 14 окт.
    Почему так произошло Опенкарт? 06 июл.
    Стоит ли учить Python по книгам? более года назад
    Как двигаться в гейм дев? более года назад
    Как начать путь в сферу game дизайна? более года назад
    Не получается верстать самостоятельно. Как преодолеть это? более года назад


    Этот список говорит нам открытым текстом, что увлекаетесь вы не программированием, а "вайти".
    Ой, геймдев! Ой нет, Питон! А, нет - вёрстка! Ну и понятное дело что всё кончилось вордпрессом.

    Люди, которые действительно увлекаются программированием, не задают вопросов, "стоит ли учиться по книгам". и "как войти вайти". Они учатся. И входят.

    Есть очень большая вероятность, что программирование - это не ваше призвание. А интересуетесь вы им только из-за хайпа. В этом нет ничего плохого. Надо просто найти дело, к которому действительно лежит душа.
    Ответ написан
    2 комментария
  • Многократное использование len() или кеширование в переменную?

    С помощью этой штуки можно посмотреть, во что это компилируется: https://github.com/badamczewski/PowerUp

    Но вообще len должен просто возвращать длину слайса, которая записана в поле, по тому большой разницы не будет.
    Если у тебя действительно, внутри цикла не может измениться слайс - можно закэшировать.
    Если может измениться - кэшировать не следует.
    Ответ написан
    3 комментария
  • Обьясните правда ли эти 2 процессоры очень разные по мощности?

    xez
    @xez
    TL Junior Roo
    Процессор - слишком сложная штука для того чтобы делать вывод о его производительности только по количеству ядер и его частоте.
    До пентиума 4, включительно, все было довольно просто: чем больше мегагерц (а потом гигагерц) - тем процессор быстрее. С тех пор прошло уже 20 лет, кстати.
    У Pentium 4EE частота была уже 3.8Ghz и стало как-то понятно, что дальнейшее ее повышение не дает такого сильного прироста к производительности, как и раньше, да и "стоит" значительно дороже. Поэтому производители начали наращивать количество ядер, увеличивать объем кеш-памяти, и, самое главное, улучшать микроархитектуру (микроархитектуру, вобщем-то, они и так всегда улучшали).

    Вот скриншот из AIDA64:
    61c039d0a31d3774198992.png

    Можно заметить, что частоты у процессоров не слишком то коррелируют с их производительностью.

    Поэтому и существуют многочисленные тесты и бенчмарки, по которым можно понять реальную производительность конкретного процессора в конкретной задаче.
    И да, видимо, i5-2500K быстрее чем Athlon II X4 650
    Ответ написан
    Комментировать
  • Как добавить определённое количество пустых строк в бд?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никакие "пустые строки" в БД не добавляют. Это не тетрадка в клеточку.
    Она работает по-другому.
    Строки добавляют сразу заполненные, когда нужно.
    Ответ написан
    Комментировать
  • Есть ли в c++ стандартная функция для обхода директорий под винду?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    filesystem
    Важно!

    в выпуске Visual Studio 2017 заголовок еще не является стандартом C++. C++ в Visual Studio 2017 RTW реализует окончательный черновой стандарт, который находится в стандарте ISO/IEC JTC 1/SC 22/WG 21 N4100.
    Ответ написан
    Комментировать
  • Сохранится ли активация если переустановить Windows?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Проверьте, есть ли у вас цифровая лицензия для Windows. Она появляется как результат активации через интернет и её наличие должно быть указано в Параметрах на странице Активация.
    Цифровая лицензия привязывается к параметрам железа компьютера (кроме периферии и дисков). При переустановке она подхватывается при первом же обращении в интернет и таким образом возобновляется, активировать заново не требуется (конечно, только если серьёзных изменений в железе не произошло, т.е. если компьютер реально тот же самый).
    О том, что этот механизм нормально работает, я не раз убеждался на практике.
    Ответ написан
    2 комментария
  • Какие обязанности в команде у джуна .Net?

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


    Ну это ваши личные проблемы. Работа это не школа не институт и не курсы. На работе заказчик платит за то, что хочет заказчик, а не за то, что хочет разработчик.

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

    Этот вопрос совершенно не нужен в интернет. Спрашивай своего тимлида. Не во всех проектах есть "нормальные задачи", как ты их считаешь. Где-то ведь продукт уже написан, им пользуются люди, и в нем не нужно ничего дорабатывать. Просто обслуживать - решать проблемы эксплуатации, возможно подправлять баги, возможно обновлять что-то, чтобы продукт запускался на более новой версии java или оборудовании.
    И это НОРМАЛЬНО. С точки зрения пользователя, тебе было бы интересно купить машину, а потом платить каждый месяц еще 10% ее стоимости за то, что в ней каждый месяц то форма дверей меняется то диаметр колес то еще что-то? Думаю нет, ты бы хотел купить машину один раз и не лазить под капот несколько лет.

    При этот мой же куратор объяснил, что большая часть задач подобного рода, но его опыт и его задачи говорят о том, что всё же есть и много нормальных задач как и с использованием ASP.NET, реализацией API, структурой самой веб-системы и прочего.

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

    Ну а в целом - да, есть проекты, где больше разработки с нуля, есть проекты, где много миграций и рефакторинга, есть где больше просто поддержки. И специалисты везде нужны.
    Ответ написан
    3 комментария
  • Как передать массив в функцию С++ ( пишет no matching function to call)?

    Adamos
    @Adamos
    Используя Кресты, стоит использовать и их удобства.
    std::vector< std::vector< int > > a(rowCount, std::vector< int >(colCount, 0));
    void average (std::vector< std::vector< int > > &a){

    Так вы не нарветесь на промахи в индексах массива, например. Если умеючи.

    А в вашем коде int[][], конечно, не может самопроизвольно превратиться в int*
    Ответ написан
    2 комментария
  • Что означает "!!~"?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Сокращалка, удобная для indexOf(), который возвращает -1 если не найдено, или индекс от 0 и больше.

    Для логики приложения часто бывает нужно узнать только, найдено или нет: т.е. -1 или иное значение. Можно просто сравнивать if (a.indexOf(b) > -1) { /* найдено! */ } но иногда хочется короче.

    Битовый оператор НЕ ~ хорош тем, что выделяет -1: только -1 с этим оператором даст 0. Прочие числа дадут какое-то ненулевое значение.

    ~(-1) === 0

    Остаётся привести значение из численного в булево. Для этого два воскл. знака — два логических НЕ.
    • для варианта «найдено» из числа от 0 и больше получилось тоже ненулевое число, и !! даст true
    • для варианта «не найдено» из -1 получится уникальный 0, и !!0 вернёт false
    Ответ написан
    4 комментария
  • Почему программа постоянно выводит 0? Как исправить?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Вы делите два int-а, там где формулу считаете. В языке C++ в этом случае происходит деление нацело. Поскольку числитель меньше знаменателя - всегда получается 0. Или static_cast-ом приводите к double, или тип где-то на double поменяйте (функции или переменной). Или, на худой конец, прибавляйте 0.0 к числителю или знаменателю.
    Ответ написан
    1 комментарий
  • Стоит ли учить Boost в 2021 году?

    @res2001
    Developer, ex-admin
    Вполне востребованная библиотека.
    Но учить не стоит. Стоит знать, какие возможности она предоставляет и как ее исопльзовать в своем проекте. Сделать пример с какими-нибудь достаточно сложными компонентами буста, например asio.
    Ответ написан
    Комментировать
  • Как написать свой скриптовый язык?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Статей для этой задачи будет мало. Тут нужен как минимум SICP, а ещё лучше книга дракона.
    Ответ написан
    9 комментариев
  • Как процессы используют мьютекс?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Для этого надо научиться делать две вещи:
    1) Делать осмысленные заголовки своим вопросом, чтобы не было как здесь - заголовок нерелевантен телу вопроса.
    2) Помещать созданные мьютексы в память, расшаренную между процессами - тогда процессы смогут по ним синхронизироваться.
    Ответ написан
    Комментировать