Задать вопрос
  • Как заставить провайдера предоставлять стабильное интернет соединение?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Заставить провайдера сделать что-то, если это не устранение явного нарушения договора об оказании услуг - невозможно в принципе. Поэтому оставляем влажные мечты и думаем на тему "как мне уговорить провайдера помочь в том-то и том-то" или просто его сменить.
    Ответ написан
    Комментировать
  • Почему в Rust использую Tokio?

    @D3lphi
    Потому что она реализует то, чего нет в стандартной библиотеке - асинхронный рантайм. Если писать сетевое приложение без токио, то придется плодить по отдельному потоку на каждый сетевой коннекшен. (на самом деле, речь идет про любой i/o, к которому чтение/запись файлов тоже относится) Каждый из этих потоков большую часть времени будет заблокирован в ожидании завершения сететвого вызова (передачи или приема данных). Однако, операционная система при разблокировке этих тредов будет постоянно переключать контекст для каждого потока и тратить процессорное время.
    Асинхронный подход позволяет обойтись лишь сравнительно небольшим пулом потоков, на которые токио рантайм будет распределять таски (грин треды) и, таким образом, экономить процессорное время.
    Ответ написан
    9 комментариев
  • Как поменять for i in range на while?

    Vindicar
    @Vindicar
    RTFM!
    Изменяй. Разрешаю.

    Если серьёзно, то учебные задачи надо решать самостоятельно, иначе какой смысл браться?
    Но тут достаточно понимать, что делает for i in range(x): ...
    Это близкий эквивалент такого кода:
    i = 0
    while i < x:
        ...  # тут тело цикла for
        i += 1

    Ответ написан
    Комментировать
  • Составить карту для парсинга и автоматизации ставок?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Планирую сделать парсер букмекерской конторы

    подскажите какие темы нужно поучить

    Selenium
    selenium-stealth (это букмекеры, Вы у них не первый, а значит броня прокачена).
    есть начальные знания питона, остановился на списках, кортежах и тп

    Это не начальные знания, начальные знания - это весь python (от корки до корки), с малым количеством написанного кода.
    Ответ написан
    3 комментария
  • Что стоит использовать для защиты PHP-кода на текущий момент?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Сообщество считает, что всё это бессмысленные ужимки, которые в 99% случаев используются только для того, чтобы прикрыть крайнее убожество кода. Серьёзные продукты никто не шифрует. Чем, в частности, объясняется заброшенность всех этих, на первый взгляд многочисленных, проектов, которые не выходят из стадии "мы тут с одноклассниками придумали крутую штуку". потом одноклассники либо умнеют и перестают теребить ерунду, либо находят занятие более интересное, чем пхпе.

    Сам по себе код мёртв. Он устарел ещё до релиза. В работе софта важна не дискетка с исходниками, а поддержка. Вот поддержку и надо продавать. И не дрожать над каждым вором. Потому что защита от одного вора отпугивает 10 честных покупателей.

    Плюс всегда есть SAAS.
    Ответ написан
    4 комментария
  • Можно ли всем строковым полям задавать тип TEXT и повлияет ли это сильно на производительность?

    Melkij
    @Melkij
    PostgreSQL DBA
    text и varchar - это одно и то же на уровне реализации postgresql.

    varchar с каким-то разумным ограничением (не бессмысленный взятый с потолка 255 везде, а разумный для этого конкретного поля) тем не менее смысл имеет: куда проще найти ошибку в месте записи данных, чем потом искать, откуда в поле обычно содержащем до 30 символов взялось 10 мегабайт текста (история из практики, да)

    Про char ограничусь цитатой письма Tom Lane
    Type character(N) is a hangover from the days of punched cards. Don't use it.

    Просто забудьте про такой тип данных. Он не только бесполезен, но и вреден.
    Ответ написан
    5 комментариев
  • Возможно ли влиять на продуктивность программиста извне?

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

    Ну и продуктивность понятие растяжимое... Вам надо количество строк, или качество?

    Надеюсь эти синьёры имеют за плечами хотя бы !!! 10 лет разработки ?
    Ответ написан
    Комментировать
  • Возможно ли влиять на продуктивность программиста извне?

    Maksim_64
    @Maksim_64
    Data Analyst
    В целом работодатель должен стремится к долгосрочному сотрудничеству. Что бы его сотрудники однажды реализовали свой потенциал. А поиск супер продуктивных гениев, так про между прочим и то для тех кто может это себе позволить.

    На испытательном сроке странно быть недовольным продуктивностью. Нужно смотреть что умеет что не умеет, какая степень контроля требуется над работником. Одна из целей (работодателя) оценить потенциал. Но не как не производительность.

    Испытательный срок он обоюден. Когда у сотрудника есть мысли на заднем плане (а подходит ли мне вакансия, а оставят ли меня и т.д.) это серьезно снижает его продуктивность, как и другие факторы. На испытательном сроке оценивают потенциал, а не производительность.
    Ответ написан
    1 комментарий
  • Почему цикл for блокирует асинхронное выполнение программы?

    @Everything_is_bad
    хотя в функции pool_user нет ничего, что могло бы блокировать асинхронный цикл.
    в этом цикле нет блокирования eventloop, просто с await ты ждешь результат выполнения pool_user каждого account (запускаешь по одному), а create_task запускает выполнения pool_user без этого ожидания (запускаешь сразу для всех)

    то всё выполняется параллельно
    не совсем, всё таки параллельно и асинхронно это разные вещи

    accounts = db.account.get_all_accounts()
    зато тут скорее всего есть, из-за синхронной работы с базой.
    Ответ написан
    Комментировать
  • Какие знаниями java нужно обладать чтобы переходить на kotlin?

    xez
    @xez
    TL Junior Roo
    Разрешаю изучать Котлин с любым уровнем знания джавы, в том числе и без знания джавы.
    Ответ написан
    Комментировать
  • Как подставить значение в запрос sqlite?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Коробочное решение этой задачи называется SQL-Builder.

    Вот пример такого https://pypika.readthedocs.io/en/latest/2_tutorial...

    Использовать string interpolation здесь технически возможно, но не выдерживает критики
    по инфо-безопасности. Атака на инжекцию - это Top 10 уязвимостей софта в 21 веке.

    Вот об этом коллеги тоже пишут в ответах.
    Ответ написан
    Комментировать
  • Основная работа и другие проекты. Как к этом относится ваше начальство?

    @Everything_is_bad
    Если ты это делаешь не в рабочее время, то "начальнику" должно быть пофиг, точнее, каким он должен быть тут боком.
    Ответ написан
    7 комментариев
  • Контринтуитивный синтаксис объявления нескольких переменных одного типа?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    можно подумать, что при объявлении указателя, символ * относится к имени(не как часть, а как что-то зависящее от него), а не к типу.

    Если взять стандарт языка (например C99) и почитать главы Declarations, Type Specifiers и Declarators, то можно увидеть, что он разделяет declaration-specifiers, в который входят только слова и declarators, в который входят скобочки и звёздочки. Т.е. твой вывод по сути верный.

    Там же можно увидеть, что часть называемую declarator всегда можно обернуть в скобки, из чего можно извлечь следующий вывод: часть объявления вокруг которой можно поставить скобки самым широким образом относится к конкретному идентификатору, оставшаяся часть -- ко всему списку. Т.е. const char *a, b; можно превратить в const char (*a), b, но нельзя превратить в const (char *a), b или в char (const *a), b.

    Ну и напоследок стоит добавить, что такая интерпретация объявления не следует ни из чего с необходимостью, это просто решение которое было принято разработчиками языка. Они могли принять это решение по-другому и тогда уже другие конструкции вызывали бы наше удивление.
    Ответ написан
    2 комментария
  • Где стоит получать образование computer science?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Какая-то странная привычка у детей искать "секретный прием", который сделает из них мастера.
    Нет такого секретного приема. Сделай 10.000 раз обычный прием и будешь мастером.

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

    ОБразование - любое, относящееся к IT, там все равно будет кусочек базы.
    Если есть вариант за границей - наверное вполне имеет смысл чисто по причине того, что это заграница.
    Ответ написан
    Комментировать
  • Джун QA - это про потенциал и обучаемость, или - когда нужен Мидл с низким окладом?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Вы должны понимать, что дело сейчас не в джуниор/мидл первая работа.
    Это вообще вход в профессию. Ваши вопросы по большей степени вообще не относятся к работе, а к какой-то виртуальной реальности.

    Есть множество совершенно разных компаний, в которых используются разные инструменты.
    Требуются навыки работы с определенным инструментарием, чтобы тебе сказали "вот тест кейсы, вот, например, селениум, возьми и пройди все. Если что-то не так, разберись ошибка в тесте или в софте, сделай багрепорт или исправь тест кейс".

    Насколько быстро найти первую работу - СУГУБО индивидуально. Кто-то с первого раза, кто-то за 2 года не может. Нет никаких сроков, есть рекомендации что учить и как готовиться.

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

    Оформляют на работу по разному, что оф. оформление, что самозанятость - дело не в этом, а в том, что за компания, и преференции у них могут быть разные
    Пенсия вас реально интересует прямо сейчас? Или вы считаете что от того, что вас сейчас оформят официально, у вас как-то изменится пенсия?
    Стаж у ИП также само идет, вы работаете на себя, платите пенсионный. За свою жизнь еще успеете поработать в разных вариантах, с разной зарплатой. Это вообще неважный вопрос.

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

    Менторство это не обучение, а кураторство, чтобы было у кого спросить куда копать.
    Недостаток по теории это не незнание теории а недостаток в конкретной области.
    Думающие - это знающие ребята, у которых уже поставлена "база", и думающему подсказать гораздо проще, чем неумехе, который еще и не знает ничего.

    хотят кадр, который может и вэб, тестировать, и мобилки и бэкенд полностью постманом покрыть, и в SQL базами ворочать, и расскажет за топологию сетей и где и куда DNS кэшируется (хотя возможно там работа в вакансии совсем не про это) ну итд...

    Простите, но вы перечислили настолько базовые вещи...
    SQL базовый это маст хев
    топология сетей - ну это же блин база
    DNS кешируется - ну просто все
    веб и бэкенд мало чем отличается в 90% современных приложениях

    Ну то есть как-то ощущение, что вы хотите не на джуна, а в первый класс.

    Джун - это сотрудник, который знает как и умеет работать. Да, мало опыта, да, возможно не хватает знаний в отдельных областях, но это не тот, кого на работе будут учить. Но минимальные знания для работы это довольно большой пласт знаний, и если говорят что QA это самый низкий порог входа, так это потому что IT в целом высокий порог входа, требующая квалификацию.

    Вы бы пошли делать простую хирургическую операцию, типа удаление аппендикса к такому специалисту, как вы в ИТ? Если нет, то думайте.
    Разница между хирургом и ИТ в первую очередь заключается в том, что практика и знания ИТ реально получить дома, сидя у монитора, без общения с реальными пациентами и наработки практики в моргах. Но сами знания все равно должны быть.
    Ответ написан
    Комментировать
  • Sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 7 supplied. Как решить?

    @Everything_is_bad
    между (id) и (id, ) есть разница.
    Ответ написан
    Комментировать
  • От чего зависит количество единоверменных запросов, которые может обрабатывать БД?

    fzfx
    @fzfx
    18,5 дм
    это в общем случае определяется параметром max_connections.
    в случае, если количество подключений к серверу достигло данного максимума, то в новых подключениях будет отказано, пока не освободится одно из занятых подключений.
    если подключение установлено, то по нему может быть передан на выполнение запрос. он начнёт выполняться и, в зависимости от настроек таймаутов, от того, какие блокировки и на какие объекты имеются в СУБД и какой уровень изоляции используется, запрос либо выполнится; либо выполнится частично и встанет в ожидание освобождения какой-то из блокировок, и после освобождения продолжит выполняться; либо подождёт освобождения блокировки и прервётся по таймауту (результат такого частичного выполнения откатится); либо выполнится частично и прервётся по нарушению сериализации (результат такого частичного выполнения откатится).
    вроде ничего не забыл.
    Ответ написан
    3 комментария
  • Можно ли обмануть программиста с проектной работой?

    Maksim_64
    @Maksim_64
    Data Analyst
    Взаимная заинтересованность, лучшая гарантия исполнения всех обязательств.
    Ответ написан
    Комментировать
  • Можно ли обмануть программиста с проектной работой?

    Обмануть могут.
    Для защиты от этого можно применять разные способы:
    1. Обязательно нужно оформлять договор, где все подробно расписано (кто, что, кому, когда, за что. Кто что кому обязан и не обязан)
    Туда как раз нужно включить и то что заказчик обязан предоставить все необходимые доступы.

    2. Трашневая/поэтапная оплата за отдельные этапы работы.

    3. И ещё раз подтверждаем всё документами: акты выполненных работ, акты принятых работ.

    Опять же есть куча всяких сервисов для проверки контрагентов - можно там проверять, в каком состоянии находится компания перед тем, как заключать договор
    Ответ написан
    Комментировать