Задать вопрос
  • Почему НЕ vim? Vim для серьезной разработки?


    но теперь говорят, что для нормальных проектов нужна толькоx нормальная IDE
    Пожалуйста, дайте как можно более развернутый ответ, почему именно так, а не иначе

    Бремя доказательства лежит на том, кто это заявление сделал.

    В целом я видел много обратных примеров, когда в более чем серьёзном проекте некоторые разработчики осознанно пользуются вимом как основным редактором.

    Применимость в большей степени зависит от самого разработчика. В целом всё то что можно делать в "настоящих" IDE, можно делать и виме, обвешанном плагинами (может иногда и с некоторой ручной работой)


    не способен делать сложные вещи, как могут различные IDE...

    Эти сложные вещи нужны не всегда.
    Ответ написан
    3 комментария
  • Может ли быть вложенным Foreign Key?

    Lastor
    @Lastor
    В чем сила, брат? В ньютонах.
    Может, но это бессмысленно.
    Ваш преподаватель, я думаю, учит вас бесполезному.
    Попробуйте так:
    649603d70c033571227365.png
    Это избавит вас от потенциальных проблем с целостностью данных и позволит поручить контроль над задачей нескольким руководителям.
    Ответ написан
    Комментировать
  • Как вырезать кусок из видео в ffmpeg по кадрам?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Справку почитать, там же есть возможность указания именно фрейма (кадра)
    ffmpeg -i input.mp4 -vf "trim=start_frame=100:end_frame=200" output.mp4
    Ответ написан
    3 комментария
  • Домен покупают или арендуют?

    hint000
    @hint000
    у админа три руки
    получается в реестре доменных имен уже сгенерированы вообще все доменные имена и мы арендуем ранее сгенерированное имя?
    Это нужно выяснять у древнегреческого философа Платона, существует ли каждая идея в мире идей ещё до того, как она пришла кому-то в голову (или была сгенерирована). В нашем материальном мире невозможно сгенерировать счётное множество имён, потому что для этого потребовалось бы бесконечно много времени и бесконечно много памяти.

    Домен покупают или арендуют?
    Ни то, ни другое. Его регистрируют. Регистрация домена - это услуга, а не товар.
    Ответ написан
    1 комментарий
  • Как отправлять проект заказчику?

    opium
    @opium
    Просто люблю качественно работать
    Не тупить написывая глупые вопросы на тостер а спросить заказчика как он хочет забрать результат
    Почти всегда если заказчик не знает можно с него взять дополнительные деньги за разворачивание проекта на его сервере или хостинге
    Ответ написан
    Комментировать
  • Что такое крейт?

    vabka
    @vabka Куратор тега Rust
    Читайте Cargo book
    Крейт == пакет.
    Да, написаны они всегда на rust, но могут являться обёртками над сишными библиотеками, например.
    Деления на официальные и неофициальные нет - все они ставятся с crates.io или с другого репозитория.
    Чтобы установить, надо просто указать его в зависимостях.
    Всё это описано в rustbook
    Ответ написан
    7 комментариев
  • Обобщения. Как возвести в квадрат элементы в векторе?

    ozkriff
    @ozkriff
    Rust э̶н̶т̶у̶з̶и̶а̶с̶т сектант, хобби игродел
    Если ты хочешь изменять внешний массив, то его надо принимать по `&mut` ссылке. `mut input:Vec` аргумент будет передан просто перемещением, `mut` сделает его изменяемым только внутри функции (аналогично с обычными `let mut` объявлениями).

    Если ты хочешь присвоить результат обобщенного умножения переменной типа T, то надо явно потребовать у типажа умножения Output соответвующего типа: `Mul`.

    Так же, если ты хочешь использоват разыменования (`*`), надо потребовать типаж `Copy`.

    use std::ops::Mul;
    
    fn square_elements<T: Mul<Output=T> + Copy>(data: &mut [T]) {
        for i in data.iter_mut() {
            *i = *i * *i;
        }
    }
    
    fn main() {
        let mut v: Vec<f64> = vec![0.10, 20.60, 17.7];
        println!("before: {:?}", v);
        square_elements(&mut v);
        println!("after: {:?}", v);
    }


    playground
    Ответ написан
    Комментировать
  • Что такое mod в Rust?

    bingo347
    @bingo347
    Crazy on performance...
    mod - это объявление дочернего модуля/пространства имен
    Есть 2 способа объявления - через блок и через отдельный файл:
    // через блок
    mod some_module {
      // тут изолированное пространство имен
      pub fn hello() {
        println!("Hello world");
      }
    }
    fn main() {
      some_module::hello(); // Hello world
    }
    
    // подключаем модуль из файла ./some_other_module/mod.rs или ./some_other_module.rs
    mod some_other_module;

    так же через оператор pub можно делать реэкспорт модуля целиком, делая тем самым структуру пространств имен Вашего крэйта
    Ответ написан
    Комментировать
  • Стоит ли начинать заниматься программированием в 30+ если до этого не программировал?

    @amambaru
    Если вы в 30 лет не можете самостоятельно решать такие вопросы - то нет, не стоит.
    Ответ написан
    Комментировать
  • Стоит ли начинать заниматься программированием в 30+ если до этого не программировал?

    opium
    @opium
    Просто люблю качественно работать
    Вы так говорите как будто в 30 лет у вас нет рук и ног и вывалился глаз.
    Берите и делайте и меньше задавайте глупых вопросов на тостере.
    Ответ написан
    5 комментариев
  • Стоит ли начинать заниматься программированием в 30+ если до этого не программировал?

    @AlexLIn
    Мой дед начал изучать программирование в ~75 лет.
    Теперь программирует себе самолетики да квадрокоптеры на ATxmega в atmel studio. "Полет нормальный".
    Ответ написан
    2 комментария
  • Как делить куб пополам?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище Корень

    Я вместо ответа дам тебе несколько советов.

    Первое. Тема Ферма является толстым троллингом для всех кто знает математику. И эксперты qna мне кажется ощущают от тебя усталость. Ты достаточно много продуцируешь потока сознания и это не идет на пользу. Лучше напиши 1 вопрос в неделю но обдумай. Второе Есть разница между операцией деления "/" в Python и в языках C++/Scala. Результат разный. Можно получить 5/2 = 2.5 или можно получить целое 2. Это очень важно для тех кто читает код. И это кардинально меняет взгляд на твою формулу которую ты пишешь в самом начале. Поэтому всегда обозначай язык разработки. Это поможет читающим понять формулу. Иначе будут обиды и непонимания. И если ты тегируешь топик Математикой то не стоит писать всякие исходники с inserts. Это раздражает. Раздели свои проблемы на части. Так будет лучше. Третье. Если ты выступаешь медиатором между Microsoft Bing и прочими чатами то - обозначь это. Пускай это будет джентльменское соглашение. Я всегда пишу если мой ответ был получен с GPT. Тоесть я разделяю за что я лично отвечаю и за что всякие AI.
    Ответ написан
    5 комментариев
  • Где найти неплохое пособие по абсолютно всей математике(если такое есть) и квантовой физике(пособие для новичка, где есть вся база)?

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

    Нет и в принципе быть не может.
    Ответ написан
    Комментировать
  • Что такое бизнес логика и как их разделять с логикой приложения?

    xez
    @xez
    TL Junior Roo
    Бизнес-логика - это то ради чего создается приложение.
    На примере калькулятора, это все, что связано с расчетами: сложение, вычитание, деление и т.д.
    Бизнес логику всегда можно описать в формате "юзер-стори".

    В приложении есть еще другие компоненты не связанные напрямую с бизнес-логикой: это все интеграции, рендеринг фронта (если такой присутствует), все, что связанно с жизненым циклом приложения и т.д. Можно это назвать, наверное, "логикой приложения", но я лично, что-то такого определения не встречал.

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

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Во-первых, лучшее решение тут - это использовать структуру данных "бор", а не запускать бинарный поиск по сортированным строкам. Да, в конце-концов, какой-нибудь встроенный ассоциативный массив или словарь в вашем языке программирования может быть эффективнее вашего ручного бинарного поиска.

    Но если вам по заданию надо бинпоиск использовать, то у вас там следующие ошибки в реализации:
    - постоянное преобразование к toLowerCase - это ОЧЕНЬ неэффективно. Один раз все приведите к lowerCase и работайте только с этим. Можно эти ключи схоранить в новых полях.
    - когда вы нашли совпадение, можно делать из цикла break.

    Вы не сможете бинпоиском найти все объекты. Он может найти только один. Самый левый, самый правый, или как повезет - зависит от реализации.
    Вам надо запустить два бинпоиска последовательно. Один будет искать минимальный элемент, больше равный искомому (lower_bound), а второй бинпоиск будет искать максимальный элемент строго больший искомому (upper_bound). Пусть ваши бинпоиски возвращают индекс в массиве list. Эти две функции будут отличаться только в одном месте - там будет < и <= соответсственно.
    Ответ к задаче будет в массиве list по индексам от lower_bound (включительно) до upper_bound (не включительно). Может быть и так, что lower_bound == upper_bound, если искомого элемента в массиве нет и ответ будет пустым.
    Ответ написан
    2 комментария
  • Какими наводящими вопросами деликатно определить, процветает ли в компании микроменеджмент либо нет?

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

    i229194964
    @i229194964
    Веб разработчик
    #!/bin/bash
    
    # Определение массива ID пользователей из файла
    mapfile -t chat_ids < users.txt
    
    # Перебор ID пользователей
    for chat_id in "${chat_ids[@]}"; do
        # Выполнение команды curl с использованием текущего ID чата
        curl -X POST -H "Content-Type: application/json" -d '{"chat_id": "'"${chat_id}"'", "text": "Ваше сообщение"}' https://api.telegram.org/bot<YOUR_BOT_TOKEN>/sendMessage
    done
    Ответ написан
    Комментировать
  • Как попасть в IT школьнику?

    @res2001
    Developer, ex-admin
    Если в твоем городе есть нормальный ВУЗ, то иди учись. Если нет, то стоит поискать куда ты можешь поехать учиться. У тебя сейчас единственная возможность в жизни получить бесплатное образование. Скорее всего такого подарка судьбы больше не будет никогда. Бывают, конечно, исключения.
    Обучение это не столько "новые технологии" программирования. Это еще и математика и прочие предметы, которые хорошо ставят мозги на место. Это то же нужно, если и не для программирования, то для собственного развития.
    Но самое главное, чему ты должен научиться в ВУЗе - учиться самостоятельно. Впрочем, похоже, это у тебя не плохо получается. Значит будешь оттачивать навык :-)
    Желаю удачи!
    Ответ написан
    5 комментариев
  • Как попасть в IT школьнику?

    xez
    @xez
    TL Junior Roo
    1. До 18ти лет, скорее всего, никуда не возьмут.
    2. В вашем возрасте обучение максимально быстрое и эффективное.

    Отсюда план:
    1. Учитесь, читайте книги, набивайте руку на пет-проектах. Читать и учиться придется на протяжении всей карьеры (спойлер, т.к. пенсии у вас не будет - всей жизни).
    2. Заканчивайте 11й класс.
    3. Постарайтесь поступить в ВУЗ (опционально).
    4. После первой сессии начинайте искать работу. К этому времени у вас должно скопиться небольшое портфолио проектов и опыт достаточный для трудоустройства на младшие позиции.
    5. Спокойно доучивайтесь в ВУЗ-е (опционально), паралельно работая.
    Ответ написан
    7 комментариев
  • Как исправит эту ошибку кода на питоне?

    @Zzzz9
    Вопрос имеет не один ответ, например так ошибки нет:
    from math import factorial
    # def f(n):
    #     if n>=5000:
    #         return factorial (n)
    #     else:
    #         return 2*f(n+1)/(n+1)
    
    print(factorial(7))
    
    5040
    Ответ написан
    Комментировать