Задать вопрос
  • Как игнорировать .gitignore?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    в .gitignore перечислены шаблоны имён файлов, которые гит будет игнорировать и не будет предлагать добавить в репозиторий, однако если файл уже есть в репозитрии и при этом также его имя соответствует одной из строчек файла .gitignore, то гит будет с ним работать как и со всеми прочими.

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

    Так что независимо от того, что у вас написано в gitignore при клонировании вы получите абсолютно все файлы, что ииеются в репозитории, а тех, что там не имеются, вы, очевидно, не получите.
    Ответ написан
  • Как вычислить мат.выражение представленное в виде дерева?

    @dima20155
    you don't choose c++. It chooses you
    Можно пройтись поиском в глубину (DFS) до последнего узла и дальше двигаясь в обратном направлении выполнить вычисления.
    1. вначале мы находим самую нижнюю ноду, а она точно цифра (в противном случае смысла нет)
    2. делаем шаг назад и выполняем вычисление
    3. редактируем имеющуюся структуру "укорачивая" дерево (то есть вместо знака действия у нас теперь цифра)
    4. делаем так пока не получим дерево состоящее только из корня, которое и будет решением.

    Попробовал написать решение твоей задачки, код по ссылке
    https://godbolt.org/z/PzWjYjvfz
    Ответ написан
    3 комментария
  • Как создать свой домен?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ICANN периодически проводит рассмотрение заявок на регистрацию доменов верхнего уровня. Стоимость такого домена порядка $200000 плюс отчисления от продаж поддоменов. Кроме этого вы должны создать и поддерживать инфраструктуру для обслуживания домена.
    Ответ написан
    3 комментария
  • Какую среду/язык выбрать для написания управляющей программы, работающей под Windows и Linux?

    Ну в общем-то Delphi нормально умеет компилироваться под линукс. Hemul GM подтвердит
    На счёт малинок не уверен.

    Можно ещё C# + Avalonia попробовать. Работа с USB-COM там вполне стабильная и интерфейсы красивые.
    Под малинку нормально собирается и работает, но порог вхождения не нулевой
    Ответ написан
  • Где провести опросы общественного мнения и спросить личное мнение по IT-тематике?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Напиши на Хабр годную статью и прилепи опрос в конце
    Ответ написан
    6 комментариев
  • Не проверяет тип при object spread?

    Alexandroppolus
    @Alexandroppolus
    кодир
    EntityReturn - более общий тип относительно Entity, поэтому в EntityReturn можно передавать объекты Entity.

    Ошибку про лишнее поле будет показывать, если ты передаешь в EntityReturn литерал с лишними полями:

    const entitie: EntityReturn = {
        id: "1",
        filename: ""
    };
    Ответ написан
    Комментировать
  • Почему значение переменной width выводит какие то неправильные числа?

    Переменные надо инициализировать. Без инициализации в них лежит мусор.
    Ответ написан
    Комментировать
  • Что использовать для отрисовки 3d графики на Rust?

    vabka
    @vabka Куратор тега Rust
    Самое модное и молодёжное - wgpu
    Умеет работать с Vulkan, Metal, OpenGL, DirectX, WebGL. На главной странице есть и примеры приложений

    Ещё, возможно, тебя заинтересует naga, как дополнение к wgpu - это либа для трансляции шейдеров.

    Ещё, возможно, тебя заинтересует bevy
    - это ECS-фреймворк для разработки игр и не только. В него встроена поддержка wgpu
    Ответ написан
    2 комментария
  • Какие лучшие практики запуска postgresql в продакшн?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Лучшие практики, это что наружу смотрит API которое и обрабатывает поступающие запросы. Никто в здравом уме не выставляет базу на мороз.
    Ответ написан
    Комментировать
  • Зачем нужна рекурсия в реальных случаях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Рекурсия нужна при обработке иерархических данных. Например - обойти файлы и каталоги
    в файловой системе и выполнить какое-то действие. Или действие с условием. Например если
    в текущем фолдере есть фолдер .git - то выполнить какой-то git script.

    Рекурсия может понадобиться при работе с документами XML/JSon (шаблон composer). И хотя
    в некоторых API рекурсия может быть частично скрыта за языками XPath/JSonPath тем не меннее
    ее рекурсивная природа остается налицо. Кроме того если вам достался узкий API типа DomDocument
    без поисковых диалектов - то обойти его можно на любом ЯП с рекурсивной функцией.

    Рекурсия нужна при парсинге сайтов. Это вобщем просто более расширенная трактовка работы с файловой
    системой. Если Url-s это как-бы файлы в web пространстве и они имеют ссылки друг на друга - то вы
    можете рекурсией это все обходить.

    Рекурсия почти всегда нужна при работе с графами. Берите любой алгорим на теорию графов и я готов
    спорить что 99% он будет содержать рекурсию.

    Все настольные игры (шахматы-шашки) в основе своего алгоритма альфа-бета поиска с отсечениями и
    BWF базируются на рекурсии.
    Ответ написан
  • Сколько запросов в секунду выдержить PostgreSQL?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Сам запрос:

    Узнайте про PostGIS
    Как вообще тестируют нагрузку на БД?

    Устраивают DDOS атаку
    Ответ написан
    Комментировать
  • Почему на GitHub не работает протокол git?

    Lynn
    @Lynn
    nginx, js, css
    Потому что GitHub его выпилил уже полгода как.

    Permanently disabled the unencrypted Git protocol
    Ответ написан
    2 комментария
  • Как для поля добавить ограничение на вводимые данные?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Не нужно пизать в БД лишнюю логику и лишние ограничения.
    У вас с БД работает какой-то софт, например бэкенд. Там и делайте валидаторы данных. В случае пола раньше можно было 1 и 0 удобно хранить и всё было абсолютно интуитивно и понятно, а русскую букву в качестве индекса держать неудобно и неправильно. Во-первых, она в UTF-8, наверняка, что уже как-то изврат для бинарного поля.
    Во-вторых, при локализации проблемы могут быть в логах надо юникодовую экранировку читать, если что... в общем либо международное F\M, либо кодами и 1\0 для мнемонического запоминания очень удобно. Вот угадайте что есть что и почему.=)

    Но по нынешним временам за такую бинарность могут и засудить=) Не иначе нужна целая таблица гендеров небинарных с названиями, описаниями и локализацией. Да ещё и меняться она будет со временем, а потом при импортах мапить надо одну таблицу полов на другую=).
    Шутки шутками, а 0\1 и тут хорошо лягут. Просто идентификаторы такие будут синтетические.

    Да, а ограничения делать не надо. Вы могли бы сделать триггер, который при изменении и вставке будет проверять значения полей, но лишняя логика амедляет БД и порой без реальной причины. Если система спроектирована верно, то ничего некорректного в БД попасть не должно.
    Многие часто даже от внешних ключей отказываются для ускорения бд, ведь за консистентностью вполне может следить бэкенд, а в каких то случаях лишний процент производительности не помешает.

    Ответ: на надо валидировать значения такого рода полей на уровне БД. Делайте так, чтобы нельзя было ввести неверно на уровне ввода данных от пользователя, и дополнительно валидируйте в бэкенде.
    Ответ написан
    7 комментариев
  • С чего начать изучение программирования?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    С изучения информатики и устройства вычислительной техники. Ну а далее уже можно выбирать что-то из современных ЯП: https://roadmap.sh/computer-science
    В целом же, написание кода - лишь одна из частей процесса разработки ПО. Так же рекомендую поставить какую-нибудь игру с редактором карт и освоить его. Например классику: WarCraft 3, StarCraft, HoMM 3.5/4 - легендарные игры, популярность которых обусловлена именно игровыми редакторами и которые смогли пройти сквозь целые эпохи. Возможность самому что-то сделать и поиграть - очень неплохо мотивирует к освоению редакторов и желанию разобраться как оно все работает )
    Ответ написан
    1 комментарий
  • Как начать заниматься "серьезной" разработкой?

    @StopFox
    Лао-цзы: «путь в тысячу ли начинается с первого шага»
    Брюс Ли: "Я не боюсь того, кто изучает 10,000 различных ударов. Я боюсь того, кто изучает один удар 10,000 раз"
    Повторение результата из раза в раз с сохранением того же качества это удел профессионалов. Поэтому много мелких однотипных проектов это даже хорошо, с минимальными усилиями вы нарабатываете будущую клиентскую базу людей которым вы помогаете сейчас и которые будут знать к кому обратиться в будущем. Через 10 лет ваши друзья разбегутся кто куда, станут семейными и откроют бизнес, а в нашей стране очень ценят работу "специалиста по знакомству", но помните любая работа должна быть оплачена и не стоит делать её бесплатно или со скидкой просто потому что знакомые, людей которые захотят вас использовать будет много. Просто примите это как правило.
    И еще, все великие начинали с того что брали за основу чьи то наработки и использовали их в своей работе. Поэтому не бойтесь использовать сторонние инструменты, я не говорю вам воровать, но на первых этапах направления которое вы выберете использовать чужое - ок.
    Деньги, второстепенное оно приходит с опытом само, не стоит сильно акцентировать внимание на том чтобы заработать миллионы, поверьте это не то что вы хотите на самом деле.
    Пока вы молодой, ищите себя в разных направлениях, не бойтесь рисковать и менять работу чтобы к 30 годам уже точно определиться с направлением которое вам близко к душе а не потому что "там больше платят".

    И вот еще видео для мотивации.
    https://youtu.be/w0Mc2CFxFyE
    Ответ написан
    3 комментария
  • Как начать заниматься "серьезной" разработкой?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    В силу некоторых обстоятельств не могу идти работать full-time

    Тогда никак. Серьëзная разработка = командная разработка. Да и рост без команды очень медленный и ограниченный.
    Ответ написан
    1 комментарий
  • Зачем мне универсальный класс, если в методе я могу указать родительский класс?

    1. Не всегда можно указать родительский класс
    2. Иногда переход к родительскому классу/интерфейсу не оптимален. Например если ты используешь структуры - будет происходить боксинг.
    3. В некоторых случаях потребителю бы хотелось работать с конкретным типом, а не с базовым. Попробуй реализовать List без женериков.

    PS: нет такого понятия, как "универсальный класс"
    Ответ написан
    Комментировать
  • Почему запрос по имени работает медленнее если заменить фамилию на %?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Так устроен индекс. Он строится в первую очередь по первым символам и в последнюю по последним.
    Если вы подменяете % начало, то индекс просто не будет работать.
    Разделите ФИО на отдельные компоненты и сделайте отдельный индекс для имени, тогжа ваш кейс будет быстрее работать.
    У вас же фактически происходит полный перебор базы без индекса.

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

    ozkriff
    @ozkriff
    Rust э̶н̶т̶у̶з̶и̶а̶с̶т сектант, хобби игродел
    lib.rs:
    mod module;
    
    use crate::module::a;


    module/mod.rs:
    pub mod a;

    module/a.rs:
    pub struct a {
        pub count: usize,
    }
    Ответ написан
    6 комментариев
  • Выбрать Rust или C++?

    vabka
    @vabka Куратор тега Rust
    Rust достаточно стабильный и популярный, чтобы начать с ним работать.
    По геймдеву - в принципе все нужные низкоуровневые библиотеки для работы с графикой там уже есть. Да и движки свои понемногу да появляются.
    Пример из тех, что сейчас активно развиваются - bevy, на нём уже можно делать не очень сложные игры, да и просто как образец он тоже интересный: во главе угла стоит модульность и ECS.
    Ответ написан
    Комментировать