Задать вопрос
  • Как из Lua вызвать функцию C++?

    Google: "lua ffi"
    Ответ написан
    Комментировать
  • Как правильно решить конфликт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это не про GIT/Gitlab. Это про программирование.

    Процесс ресольва конфликтов - это абсолютно ручной процесс. Его нельзя автоматизировать. Просто береться
    2 разработчика которые создали конфликт. Садятся рядышком и вместе обсуждает чьи изменения нужно
    затянуть.

    Что там сотворил GitLab - непонятно. Я не готов ничего сказать. Надо смотреть консоль команд которая форсируется самим приложением GitLab. Возможно они были неправильные. Или вы не так описываете
    ситуацию.
    Ответ написан
    2 комментария
  • Какие виды функций есть в C++, и как их различать?

    Функция cout из стандартной библиотеки C++ использует указатель для доступа к объекту ostream, который представляет поток вывода. Указатель используется для работы с методами и свойствами этого объекта, такими как << оператор для вывода данных.

    Обманул тебя ChatGPT.
    cout - это не функция, а объект.
    И конкретно в твоём коде указатели напрямую нигде не используются.
    Ответ написан
    Комментировать
  • Как происходит работа с Git в крупных проектах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я ни разу не работал с git в команде и в крупных проектах, поэтому не знаю, что нужно делать.

    Тебе и не нужно это знать. И мы не сможем перечислить все роли и задачи участников на проекте и все их возможные комбинации поэтому заранее рассказывать об этом бесполезно.

    Git - это просто инструмент. Но как делается review или кто его делает. Или голосуют. Или мержат или ребейзят.
    Или создают теги или бранчи. Или сколько делают осей разработки master/trunk, dev/stg/prod - это все частные договоренности. GitFlow, GitLabFlow. Интеграция Atlassian. С Gerrit. Это все-все частные случаи управления версиями кода на частных проектах. Нету общих рекомендаций.

    Узнать их можно на проекте. Пришел. Прочитал Developers process guide. И начал работать.

    А управление процессами разработки с помощью Git это большая и частная тема.

    Поэтому оставь в покое крупные проекты. И лучше задай просто про git. Про команды git например.
    Ответ написан
    Комментировать
  • Что эффективней, чтение из файла или массив?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос не глупый а вполне себе хороший.

    Его плавное развитие приводит к концепции баз данных. Самое главное что можно сказать тезисно это
    1) Пока памяти хватает (массив) - используй смело память
    2) Диск - больше и дешевле памяти
    3) С памятью работать легко. С диском - очень неудобно и надо обрабатывать IOExceptions почти всегда.
    Диски внезапно полны сюрпризов. Могут быть сетевыми дисками.
    4) Разные диски имеют скорость на порядки разную.
    5) Диски ведут себя очень плохо на random access. От этого даже метрика IOPS появилась.
    Ее очень любят обсуждать админы баз данных.
    6) Существуют структуры данных которые спецом создавались только для дисков (B+Tree)
    7) Диск - переживает выключение питания.
    8) Самые разумные решения - сочетают в себе и диск и память в тех частях кода где это нужно.
    9) Есть интерфейсы программирования которые виртуализирут диск как память. Этим пользуется
    SQLite например.
    10) Диск может достигать очень высокой последовательной скорости чтения или записи в файл
    при условии отсутствия конкурирующих записей в данный момент. Этим пользуются в БД
    для журналирования событий.

    В принципе если современный программист просто будет использовать только оперативную память
    то никто ему не сможет ударить по рукам или подойти с какой-то метрикой и чего-то там измерив
    сказать что он неправ. Тут уж только падения по OOM и потери информации и performance issues
    могут быть каким-то значимым аргументом.
    Ответ написан
    3 комментария
  • Что такое Docker простыми словами?

    DollyPapper
    @DollyPapper
    Грубо говоря докер это изолированный от системы некий процесс. Можно считать это некий chroot для процесса.
    Представьте себе операционную систему в которой есть некоторое пространство из ресурсов. Память, диск, системное время, сеть, сетевые интерфейсы. И в этом пространстве находятся процессы которые используют эти ресурсы. А теперь представьте что в этой большой системе мы откусили кусок ресурсов и некоторый процесс, например БД изолировали от всей остальной системы. Докер это своеобразная матрица (всмысле как в фильме матрица) для процесса некоторого.
    Ответ написан
    Комментировать
  • Как реализовать взаимодействие нескольких библиотек между собой на c++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Надо системное апи использовать. Вы, похоже, под виндой, так что LoadLibraryEx, GetModuleHandleEx, GetProcessAddress вам помогут. Первой вы открываете библиотеку. Второй можно потом пользоваться чтобы получить доступ к уже открытой библиотеке, если вы HANDLE не сохранили куда-то. Третья позволит вам получить указатель на функцию из библиотеки.

    Можно гуглить "имя функции example" и тогда вы найдете в интеренете готовый код, работающий с этими функциями.
    Ответ написан
    Комментировать
  • Где можно прочитать про всю суть ЯПов под капотом?

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

    Что вы вообще спрашиваете? Какой смысл?
    у вас надерганы термины из разных источников, и видимо из источников описывающих разные языки программирования, отсюда и каша.
    Выберите конкретный язык и прочитайте про его терминологию. Потом про другой.
    Прошло уже 100+ лет с начала программирования, появились новые сущности, которые не подпадают под старую классификацию.
    Ответ написан
    Комментировать
  • Где можно прочитать про всю суть ЯПов под капотом?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    5d66774c767f2234030678.png
    Ответ написан
    Комментировать
  • Что за значки под ярлыками на рабочем столе Windows?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Иконки они что то обозначают.
    В вашем случае это группа людей, логично предположить что вы расшарили свой десктоп по сети.
    Впрочем это может быть и какой то улучшатель из сборки от васяна
    Ответ написан
    2 комментария
  • В чëм сейчас пишут документацию?

    Я бы посмотрел в сторону latex, если формул прям много и нужна на выходе адекватная пдфка.

    Схемы - уже зависит от характера схем. Если это какие-то архитектурные диаграммы и блок-схемы с описанием алгоритмов, то я бы взял plantuml и mermaid.

    А про wysiwig бы забыл как страшный сон.
    Ответ написан
    9 комментариев
  • Почему выражение (-1ll) в ассемблерном коде MSVC равно ff ff ff ff?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Уловка в системе процессорных комманд: 48 c7 45 08 - позволяет загрузить в 64-битную ячейку памяти 32 битное число, автоматически расширяя его до 64 бит.

    Смотрите список кодов x64:
    0x48 - означает, что следующая комманда работает с 64-битами.
    0xC7 - mov immediate (данные в команде)
    Дальше идут флаги, указывающие как интерпретировать аргументы, что куда адресовывать и т.д.

    Но важно, что команда C7 работает с r/m16/32/64 данными, а аргумент у нее может быть только imm16/32 (третий столбец). Т.е. она принимает или 2 или 4 байта, в зависимости от обвеса, а записывать может до 64 бит. Сравните это с коммандой 0xB8 в той же таблице, она уже может принимать 64 бита.

    Если аргумент меньше ячейки памяти, то он расширяется (sign extended) до нужного размера (бит знака копируется влево до упора). Это позволяет записать числено равное значение в более битную ячейку. ведь 32-битное число 0xFFFFFFFF - это -1 в дополнительном бинарном коде, а 0xFFFFFFFFFFFFFFFF - это тоже -1 в дополнительном 64-битном коде.

    Компилятор использует вот эту команду, а не 0xB8, потому что сама команда короче, а исполняется так же быстро. Меньше кода, больше всего помещается в кеш и все работает быстрее, да и exe-шник меньше получается.
    Ответ написан
    2 комментария
  • Понимание аспектов JavaScript?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Строковый примитив преобразуется в объект только при выполнении методов объекта, причём при преобразовании используется копия значения примитива, сама переменная не меняется.
    x = 'foo'
    x // "foo"
    x.length // 3
    x === 'foo' // true
    
    x = new String('foo')
    x // String { "foo" }
    x.length // 3
    x === 'foo' // false

    При этом методы, как правило, возвращают не объекты, а примитивы.
    x = new String('foo')
    x === 'foo' // false
    x.substring(0, 3) // 'foo'
    x.substring(0, 3) === 'foo' // true
    Ответ написан
    Комментировать
  • Как следить за версионностью в клиент-серверном приложении, в выпускаемых фичах продукта?

    Вы пытаетесь решить несуществующую проблему.
    1. Нет никакой проблемы в том что два разных приложения (клиент и сервер) имеют разную нумерацию.
    2. semver нужен только если у тебя есть какой-то контракт, который тебе нужно соблюдать. Если контракта нет - можно использовать просто номера релизов.
    Ответ написан
    3 комментария
  • Почему boolean использует больше памяти чем byte?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    boolean вообще принципиально может использовать 1 бит.
    Но архитектура PC сделана таким образом, что минимальный размер, который мы можем адресовать, это байт.
    Поэтому в языках программирования boolean может иметь разный размер, и скорее всего как минимум 1 байт.

    Можно сделать кастомную реализацию с побитовыми операциями, тогда можно будет засунуть восемь boolean переменных в один байт, но вряд ли есть хоть один язык программирование, где такое будет сделано штатно, ибо это неудобно.
    Читайте доку про ваш язык программирования
    Ответ написан
    2 комментария
  • Почему Linux постоянно обращается к внешнему диску во время простоя?

    ValdikSS
    @ValdikSS
    Если вы недавно создали файловую систему на диске, и особенно если раздел большой (многотерабайтный), то на нём еще могут создаваться inode'ы.
    https://fedetft.wordpress.com/2022/01/23/on-ext4-a...

    Если к диску обращаются программы, обнаружить конкретный процесс или файл поможет эта статья:
    https://habr.com/ru/articles/476414/
    Ответ написан
    1 комментарий
  • Bitbucket фсе, блокирует российские IP?

    ValdikSS
    @ValdikSS
    Заблокировали на ТСПУ у части провайдеров.
    Ответ написан
    1 комментарий
  • Какой аналог метода help Python в c#?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Функция help не делает листинг кода. Она просто выводит докстринг. Я уже миллион лет не писал на C#, но там тоже есть документирующие комментарии. Разница только в том, что документация по ним генерируется отдельной утилитой, а не выводится в REPL функцией.
    Ответ написан
    Комментировать
  • Как пройти путь от эникейщика до DevOps?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Сперва стать сисадмином.
    Настрой мониторинг, подучи парочку скриптовых языков, автоматизируй задачи.
    Разберись с основными продуктами - базы данных, билд системы, гит+код ревью.
    Начни изучать контейнеры и облачные сервисы.
    Для начала хватит.
    Ответ написан
    Комментировать
  • Как пройти путь от эникейщика до DevOps?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Начинать этот путь стоит с автоматизации своей деятельности.
    Ответ написан
    Комментировать