• Что лучше выучить, Java или C#?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Язык является инструментом. Важны ваши навыки, как разработчика (алгоритмы, структуры данных, понимание tcp/ip и т.д.)
    Что касается выбора языка, то ориентируйтесь на:
    - что вы собираетесь на нем делать и кем планируете работать. Если например, речь о геймдеве, то конечно же C# (Unity) или C++. И тут Java ну никак... хоть и позволяет писать игры. Если enterprise, то да, тут уже можно выбирать между Java & C#.
    - ориентируйтесь на то, где вы планируете работать. Возможно, что вы в результате вашего исследования поймете, что Java популярнее C# (или наоборот), но на деле окажется, что в вашей стране/городе она вовсе не популярна. Соответственно, посмотрите какие компании есть у вас в городе (если планируете работать офлайн) и изучите их стек.
    Ну и конечно же пробуйте. Я например, пока дошел до Java, успел попробовать PHP & JavaScript. В любом случае, когда вы станете востребованным и опытным специалистом, то уже будете владеть несоклькими языками.
    Ответ написан
    Комментировать
  • Ввожу 8 9 10 min() выбирает 9 max() 10. max - min = -1. Как так?

    @bbkmzzzz
    Потому что нужно почитать документацию на функцию max
    Если max\min передать строки - он найдет строку(!) подходящую лексиграфически, то есть в алфавитном порядке.
    Строка '10' < '9', так как 1 идет раньше 9.

    Не надо переопределять встроенные имена. Считайте их зарезервированными и недоступными для именования переменных
    max = max(s)
    min = min(s)
    Ответ написан
    Комментировать
  • Где и как искать информацию о написании текстового редактора с нуля?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Как-то пока я сидел за компьютером мне пришла мысль о создании текстового редактора с нуля на одном из языков семейства "си"

    Есть уже опыт написания программ попроще на одном из языков семейства Си?
    Или с нуля и сразу редактор?

    "С нуля" означает то, что я не хочу использовать никакие графические интерфейсы или фреймворки, только чистый язык, максимум библиотеки.

    Следует немного все-таки подучить базовые навыки работы с компьютером с точки зрения разработчика на чем-то попроще. Например отличать термин "графический интерфейс" и "фреймворк".
    Или пиши тогда редактор, который будет работать в консоли, аналог какого-нить ed или vi

    Но в интернете я не смог найти нужную информацию.

    Это тоже весьма важный навык - уметь написать в гугл правильный вопрос.
    Например мне по "исходники простого текстового редактора с++" выдало примерно девяносто тысяч результатов.

    Или направьте на конкретный ресурс. Из языков в приоритете С++.

    Документация по С++. Сперва напиши несколько программ попроще. Потом уже текстовый редактор, когда освоишь терминологию, и задавая вопрос будешь способен предсказать примерно половину ответа.
    Ответ написан
    3 комментария
  • Как разобраться с многопотоками в пайтоне?

    Vindicar
    @Vindicar
    RTFM!
    btn2=tk.Button(frame, text="start AutoClicker", bg="white", padx="50", pady="10")

    А почему тут должно что-то происходить? Я не вижу в твоем коде назначения обработчика щелчку по этой кнопке.
    Ответ написан
    5 комментариев
  • При установке модуля PyQt5 выдает ошибку, как исправить?

    @Andy_U
    PyQt6 ставится. Также как и PySide6. И кстати, теперь PySide6 как бы не стал предпочтительным. qt.io купила этот пакет у бывшего владельца какое-то время назад. Хотя там с совместимостью не все гладко. Я свою мелкую утилиту с трудом перетащил с PyQt5 на PyQt6...

    Я таки сумел скрестить PyQt5 и Python 3.10. См.мой ответ тут

    После нахождения почты майнтейнера PyQt5 га PyPi, он мне написал, что 5.15 выйдет в течение нескольких дней и дал ссылку на https://www.riverbankcomputing.com/pypi/, где эта версия, вроде как доступна.
    Ответ написан
    Комментировать
  • Я хочу чтобы на этот сайт смогли зайти люди с другим IP и WI-FI. Как это сделать?

    karabanov
    @karabanov
    Системный администратор
    Размести его там, где будет доступ с других IP и Wi-Fi.
    Ответ написан
    Комментировать
  • Как выбрать язык программирования для своего web проекта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Какой язык и технологии мне следует использовать для максимально эффективной реализации

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

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    hh.ru - разные факультеты, на любой вкус и компетентность!
    Ходят слухи, что там даже деньги платят...
    Ответ написан
    Комментировать
  • Не работает многопоточность?

    Vindicar
    @Vindicar
    RTFM!
    Thread(target=egz_checkden(), args=())

    Когда уже погромисты научатся различать результат вызова функции (со скобками) и ссылку на функцию (без скобок).
    У тебя сейчас Питон пытается выполнить egz_checkden(), чтобы получить её возвращаемое значение и использовать его в качестве target.

    И да, у тебя в egz_checkden() бесконечная рекурсия, пусть и медленная. Вылетит с переполнением стека, хотя и не сразу. Не делай так, используй нормальный цикл.
    Ответ написан
    4 комментария
  • Как интерпретировать JavaScript при запросе requests?

    Vindicar
    @Vindicar
    RTFM!
    Никак. requests не для этого предназначен. Тебе нужен полноценный браузер, и код для управления им.
    Т.е. пакет selenium.

    EDIT: AlexBoss ниже правильно заметил - если сайт не слишком старается отсеивать ботов, то можно попробовать идентифицировать запросы, через которые выполняется подгрузка интересующих частей страницы, и выполнить их самому. Это позволит обойтись силами только requests, но это не всегда легко сделать.
    Ответ написан
    Комментировать
  • Как достать полный номер телефона в объявлении на Avito?

    @galaxy
    А у них теперь номера мало того, что через AJAX загружаются по клику, так еще и приходят в виде картинок data/png
    Ответ написан
    Комментировать
  • Ценятся ли программисты-самоучки в странах Евросоюза?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.

    1) каковы будут мои шансы получить работу в подобной стране, имея при этом хороший уровень английского, непрерывный год самообразования в области IT (в идеале Python, так как к C-языкам испытываю ненависть, или что-то, связанное с дизайном и при этом прибыльное)?

    Java, C#, JavaScript, PHP, go, С, С++,

    Все это си подобные и наиболее используемые расставил по популярности.

    2) какие шаги предпринять для того, чтобы успешно устроиться на работу за рубежом без образования?

    Устроится в аутсорс компанию типа epams или dataart ну или поработать на upwork и набить себе резюме а потом через линкедит начинать связываться с hr

    3) советы новичку по плану обучения Python-разработке: какой план самообразования видите именно Вы?

    WZF RTFM
    https://www.python.org/doc/
    Ответ написан
    Комментировать
  • Как лучше поступить в данный момент?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Обьяснить довольно просто. Давите финансами.
    А насчет обучения думайте. Лучше конечно заочка и работа в оутсорс фирме. За 3-4 года поднимите свой уровень до мидла.
    В итоге через 3-4 года вы будете иметь

    * опыт работы и подтвержденные проекты
    * диплом
    * подушка по деньгам
    * какие то связи с однокашниками
    * возможно у вас в институте будут программы обмена студентами
    Ответ написан
    Комментировать
  • Что такое и зачем lpNumberOfBytesWritten в WINAPI функции WriteFile?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Дык английским же по белому написано - long pointer на переменную, в которой вернётся количество записанных байт.
    Ответ написан
    1 комментарий
  • Когда требуется использовать await при вызове async функции?

    Vindicar
    @Vindicar
    RTFM!
    Следует различать вызов асинхронной функции и её выполнение.
    В твоём случае, вызов work(p) завершится немедленно (без входа в тело функции), и вернёт объект Future.
    Этот объект описывает выполняемую асинхронную операцию (ввод-вывод, выполнение функции и т.п.).
    Затем следует запланировать выполнение этого объекта в рамках цикла реактора (loop в т ерминах asyncio).
    Для этого можно использовать два способа. Если ты находишься в синхронном коде, ты должен использовать loop.create_task() (или более старую функцию, loop.ensure_future()).
    Если ты находишься в асинхронном коде, то твоя текущая функция уже завёрнута в свой собственный Future, и уже выполняется в рамках цикла реактора. Тогда ты можешь использовать await для того, чтобы "уступить место" вызываемой функции - запланировать её выполнение в рамках того же цикла, что и вызывающая функция, а вызывающую функцию приостановить до завершения выполнения вызываемой. Либо, если тебе не требуется дожидаться результата выполнения вызываемой функции, можешь также использовать первый способ.

    Таким образом, когда ты "вызываешь асинхронную функцию через await", ты на самом деле получаешь future-объект и тут же планируешь его выполнение.
    Т.е.
    X = await foo()
    будет тем же самым что
    future_X = foo()
    #future_X можно хранить, но если он будет удалён без выполнения - это даст ошибку never awaited
    X = await future_X
    Ответ написан
    Комментировать
  • Существуют ли коммутаторы с возможностью изляции отдельных портов друг от друга?

    vabka
    @vabka
    Токсичный шарпист
    Да. Эта фича называется vlan.
    Должна быть во всех управляемых коммутаторах.
    Но как конкретно это реализовать - не подскажу.
    Ответ написан
  • Как сделать uptime, чтобы типа таймер шёл после запуска скрипта бота и показывал сколько времени работал бот discord py?

    Vindicar
    @Vindicar
    RTFM!
    Делать постоянно тикающий счётчик неэффективно и неудобно.
    Лучше просто при запуске бота сохрани текущее время в переменную.
    Когда у тебя запрашивают аптайм (т.е. в обработчике команды !uptime), вычти из текущего времени сохраненное в переменной - получишь интервал времени между ними. Это и будет аптайм. Останется только его отформатировать красиво.
    За подробностями смотри модуль datetime, типы данных datetime и timedelta.
    Ответ написан
    Комментировать
  • SyntaxError, как исправить?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Ну, во-первых в куске кода, который вы приложили, этой ошибки нет.
    Во-вторых, async - зарезервированное слово, не стоит его использовать не по назначению
    Ответ написан
    6 комментариев
  • Что происходит на рынке труда в айти?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    В программировании очень большой процент самостоятельной творческой работы и умению работать над собой, чтобы повышать свою квалификацию.
    Это требует определенных привычек, возможно склада ума. И проблема в том, что эти привычки к тому возрасту когда начинаешь работать обычно уже сформированы. Бесповоротно.
    Поэтому курсы могут дать какие-то знания, но если ты не тот человек, осилить профессию и адекватную работу будет крайне сложно. Разговоры о выгорании - 90% это когда человек не расположенный к профессии поиздевался над собой сперва на курсах, потом на какой-то работе, а потом надоело. Потому что душа к такому образу жизни не лежит. Да, конечно есть когда человек работает на износ, но опять же адекватный человек вовремя должен обратить на это внимание.

    А насчет легкости - нет, это совсем не легко. И если 10 лет назад было гораздо проще, сейчас стало в 10 раз сложнее. Требования повысились, конкуренция среди джуниоров повысилась.

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

    Vindicar
    @Vindicar
    RTFM!
    Это многопроцессность, а не многопоточность. Разница ОЧЕНЬ значительная, так как у разных процессов разные адресные пространства, и данные между ними приходится пересылать с сериализацией через pickle.

    Так что функции, которые выполняются в другом процессе, должны по возможности работать только с примитивами Питона, а также списками и словарями. Я не уверен, как оно работает с вложенными функциями...
    Ответ написан
    Комментировать