• Как правильно, сначала создать git repo или сначала сгенерировать файлы и потом пушить в git?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Как угодно
    Ответ написан
    Комментировать
  • Что за ... вместо тела функции?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    .pyi - stab-файлы, которые нужны только для тайпчекинга и не используются в рантайме.
    https://www.python.org/dev/peps/pep-0484/#id44
    Ответ написан
    Комментировать
  • Что за ... вместо тела функции?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Вы бы хоть погуглили что за файл вы там пытаетесь глянуть:

    .pyi файлы - это стабы (stubs), их назначение и формат описаны в PEP 484. Эти файлы вообще никак не используются интерпретатором, их назначение - предоставлять информацию о типизации кода. К примеру, у тебя есть сторонний модуль без типизации, который не твой, редактировать его ты не можешь, а прописать типы хотелось бы:

    # fizz.py
    
    def greet(who):
        return f'Hello {who}'


    Выход находится с помощью стаба: создаешь файл fizz.pyi, который содержит типизированную сигнатуру greet без имплементации:

    # fizz.pyi
    
    def greet(who: str) -> str:
        ...

    В этих файлах имплементация кода НЕ ПРЕДУСМОТРЕНА.
    Ответ написан
    Комментировать
  • Как реализовать потоки выполнения сопрограм бота?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Во-первых, в принципе не стоит смешивать асинхронность с многопоточностью. Во-вторых, вам этого и не нужно, aiogram для того асинхронным и разработан, чтобы его могли использовать несколько юзеров одновременно. Для этого достаточно код правильно написать.
    Ответ написан
    Комментировать
  • Как создать кастомную прошивку?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Андроид в целом открыт, можно начать с изучения https://source.android.com/

    Но всё это настолько сложно будет повторить самому без обширных знаний и большого опыта, что я рекомендую даже не начинать.
    Ответ написан
    7 комментариев
  • Как начать понимать UML-схемы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    А может быть их и не нужно понимать, т.к. их редко используют?

    Именно так.
    Если часто будешь использовать, научишься понимать.
    Если редко - будешь разбираться, а потом забывать.

    Но UML это всего лишь один из вариантов, как фиксировать контракты. Может быть и достаточно удобный и стандартизированный, но не все им пользуются, ибо нарисовать UML это тоже время и задача.
    Ответ написан
    Комментировать
  • Нужно ли 40-летнему джуну уметь максимально много?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Мне 40 лет, нацелился на профессию Android-разработчика. И думаю примерно так: "Я уже не молодой энергичный студент (но смышлёный). Зачем работодателю брать джуном меня, если есть студенты? Значит, мне нужно очень много знать-уметь, чтобы превзойти этих студентов. Тогда я стану для работодателей более привлекательным в качестве джуна".


    От 40-летнего человека ожидают взрослого поведения, а именно.

    1. Жизненный опыт и кругозор, который позволяет не разжевывать детали и бегать на случай что молодой студент будет бояться неудачи и скрывать что у него нифига не выходит пока не наступит дедлайн, а потом выяснится что из-за него весь релиз сорвался, хотя если бы он об этом сказал вовремя, ему бы помогли.
    2. 40-летний человек умеет искать информацию и имеет достаточно наработанное критическое мышление, чтобы отличать истину от подделки. Не будет вестись на рекламу модно-молодежно, а будет брать реально рабочее решение.
    3. 40-летний человек, имеющий как минимум 15 лет опыта работы, за это время должен был повидать начальников и в принципе варианты организации работы, и должен просто знать что конкретно начальство хочет видеть и как выглядеть лучше, чем молодые джуны.

    А знания и технологии - их нужно не знать все-все, а знать то, что нужно на текущую позицию, чтобы выполнять заданные задачи.

    Но у вас первых трех пунктов как-то не особо наблюдается.. странно.
    Ответ написан
    Комментировать
  • Как сделать эффект рисования?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    3 комментария
  • Как создать несколько публичных ключей ssh?

    karabanov
    @karabanov
    Системный администратор
    Мне же нужно как-то перетащить тот публичный ключ с сервера себе на ноутбук, но ведь ключи работают в связке приватный и публичный.

    Не нужно. Публичный ключ помещается на машину к которой ты собираешься подключаться.

    Удобно копировать публичные ключи с компьютера на сервер с помощью ssh-copy-id.
    ssh-copy-id user@ip_address и публичный ключ с домашнего компьютера скопируется на сервер.

    Всегда делай отдельную пару ключей для каждой машины (домашний компьютер, рабочий компьютер, ноутбук, телефон, планшет - у каждого устройства должны быть отдельные ключи).

    Приватный ключ никогда не должен покидать машину на которой был с генерирован, а так же должен быть защищён паролем (чтобы не вводить пароль от ключа каждый раз используй ssh-agent).

    PS
    Рекомендую вместо RSA использовать ED25519, пару ключей можно сгенерировать так ssh-keygen -t ed25519. Такие ключи нисколько не устумают в криптостойкости RSA, но шифрование происходит быстрее и, они короче (оценишь, когда надо будет скопировать публичный ключ руками).
    Ответ написан
    9 комментариев
  • Почему скорость разных языков разная?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Допустим нам нужно сложить два числа - 2 и 3

    На ассемблере:
    Кладем 2 в регистр ax, 3 - в регистр bx, выполняем команду сложения регистров - в результате у нас в ax ответ.
    Грубо говоря - у нас выполнились всего 3 команды на уровне процессора.

    На С:
    Сохранили значения регистров, сделали инициализации, выполнили 3 предыдущих команды сложения - восстановили значения регистров. Потратили уже как минимум на несколько команд больше на регистры/инициализацию.

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

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Ну вообще-то в сообщении об ошибке всё сказано. C bindParam можно использовать только переменные. Потому что биндинг идёт по ссылке (by reference). А на строку, вписанную прямо в коде, ссылку не поставишь. В этом случае надо использовать другой метод
    $b=$pdo->prepare(" INSERT INTO `main` SET tel=:tel");
    $b->bindValue(":tel", '79998887766');

    или вообще передавать данные сразу в execute():
    $pdo->prepare(" INSERT INTO `main` SET tel=:tel")->execute(["tel" => '79998887766']);

    и всё будет работать
    Ответ написан
    3 комментария
  • Реально ли работать в одном IT-проекте (продуктовом) больше 5-ти лет и не деградировать профессионально?

    В одном проекте можно, в другом нельзя; одному программисту можно, другому нельзя. Если человек хочет развиваться, вы его не остановите. Если не хочет - не заставите. Проект может помогать или мешать, но сам по себе определяющим фактором почти не является. Собственно, вы сами это подтверждаете своим bio:
    Несмотря на долгий срок работы в проекте, нахожу новые интересные задачи, которые не позволяют заскучать.


    В целом - скорее реально, чем нет, если есть хоть какое-то желание это делать.
    Конкретных аргументов тут никаких дать невозможно, потому что проекты все разные, люди все разные. Но это не помешает сейчас тут пяти-десяти людям написать абсолютно противоположные по смыслу ответы, которые будут сводиться к тому, что я написал выше.
    Ответ написан
    2 комментария
  • Какая аудио карта (цап) подойдет для audio-technica ath-m50x?

    Therapyx
    @Therapyx
    Data Science
    Аудио техника (не фирма) коварная штука.
    Ты можешь купить карточку за 10 евро и кричать, что тебя все устраивает. А можешь за 1000 и находить недочеты.
    Поэтому все зависит от твоего кошелька. А для этого есть специализированные ютуб каналы или сайты, где как минимум люди дают свое мнение по поводу своего субьективного восприятия к музыке.
    У меня интерфейс RME babyface pro fs. Поможет ли это тебе в выборе? Вряд ли...)) Точно так же как и любой ответ.
    Ответ написан
    3 комментария
  • Почему Number(012) в js, возвращает 10?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Потому что 12 в восьмеричной системе - это 10
    В javascript числа в восьмеричной системе имеют префикс "0"
    Ответ написан
    2 комментария
  • Как разместить сайт не по корневой ссылке?

    SagePtr
    @SagePtr
    Еда - это святое
    Тупо создаётся папка forum и туда кладётся содержимое форума
    Ответ написан
    Комментировать
  • Как разместить сайт не по корневой ссылке?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Запрос обрабатывает веб-сервер, он и принимает решение что делать дальше — передать «в React» или «в WordPress». React, разумеется, запросы на /blog перехватывать не должен.
    Ответ написан
    2 комментария
  • Что происходит на рынке труда в айти?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Если честно, то на рынке ИТ все сейчас очень сложно. Причин несколько, а анализ легко растянется на полноценную статью, даже была мысль написать наХабр и Линкедин по этой теме. Постараюсь коротко пройтись по основным трендам.
    1. Доступность удаленной работы, соответственно регионы и Индия с низкими зарплатами ворвались на рынок.
    2. Миф о высокой зарплате. Когда то так было, сейчас курьер Яндекс-еды зарабатывает больше, чем средний программист. Про продажников даже не хочу говорить, знаю людей, легко имеющих и по миллиону в месяц.
    3. Мифы о легком старте. На самом деле точка входа в профессию достаточно высока, так как мало освоить навыки кодера, нужно еще иметь логическое мышление, знать математику, анализ, разбираться в предмете (физика для игр, экономика для 1С, производство для автоматизации и многое другое). И, возвращаясь к пунктам 1 и 2, за хорошую зарплату придется после пары месяцев курсов конкурировать с индусами, которые имеют по 10 лет опыта, с регионами, где есть специалисты с 20-летним опытом, готовые работать за зарплату джуна в Москве.
    4. Отдельно выделю сильно усложнившиеся программы, сложность разработки, несмотря на множество облегчающих жизнь инструментов, за последние годы выросла достаточно сильно.

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

    Надеюсь, ответил достаточно понятно)
    Ответ написан
    4 комментария
  • Как узнать сумму всех элементов массива без функций?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Алгоритм называется "используй циклы"
    https://www.php.net/manual/ru/language.control-str...

    while
    do-​while
    for
    foreach

    $sum = 0;
    $arr = [1, 2, 3, 4, 5];
    
    foreach($arr as $val) {
        $sum += $val;
    }
    
    var_dump($sum);
    Ответ написан
    1 комментарий
  • Метод Array.sort() - что такое a и b?

    По тому что это коллбэк для сравнения пар элементов.
    Не нужно завязываться на порядок их появления.
    Нужно вернуть:
    • -1 если a<b
    • +1 если a>b
    • 0 если a==b
    Ответ написан
    Комментировать
  • Что важней видюха или проц, для разработки в C#?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Начать разрабатывать на том, что есть и уже в процессе разработки понять что является узким местом.
    Ответ написан
    Комментировать