• Разворот последовательности в обратном порядке (рекурсия)?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Если хотите и 0 печатать, то вынесите print за рамки if.

    def rec():
        n = int(input())
        if n != 0:
            rec()
        print(n)
    rec()
    Ответ написан
    Комментировать
  • Windows 10 кавычки вводятся только парами?

    phactor
    @phactor
    Это раскладка клавиатуры. Наверняка стоит США - Международная. Нужна просто США.
    Ответ написан
    5 комментариев
  • Как использовать sep= в Pyton?

    nika_lime
    @nika_lime
    Все дело в том, что в команде print параметр sep по умолчанию равен пробелу sep = ' ', а параметр end по умолчанию равен переносу строки end = '\n'

    В цикле вы вызываете команду print несколько раз, и каждый раз срабатывают оба параметра по умолчанию.
    То есть вот этот код:

    spisok = [1, 2, '3']
    for x in spisok:
        print(x)


    Равносилен вот этому:

    spisok = [1, 2, '3']
    for x in spisok:
        print(x, sep = ' ', end = '\n')


    Если не указывается параметр команды print и значение этого параметра, то он назначается по умолчанию.

    То, что вы пытаетесь заставить сделать параметр sep на самом деле управляется параметром end. Так как параметр sep работает когда в команде print несколько аргументов, а у нас всего один. Циклом повторяется не аргумент внутри print, а весь print целиком. То есть каждый print вам будет переносить строку. Поэтому и вылезает перенос строки в выводе вот тут, а sep не срабатывает:

    print(x, sep=", ")  
    output:
    1
    2
    3


    Вот тут значение параметра end перестало быть переносом строки, поэтому аргумент выведен в одну строку x раз, но так как аргумент всего один, sep не срабатывает, он просто не нужен, команде print нечего перечислять.

    print(x, end=" ", sep=", ")
    output:
    1 2 3


    В итоге несложно догадаться, что значение ', ' надо передавать в параметр end (правда последний аргумент тоже выведется с запятой, т.к. end будет для него тоже срабатывать):

    print(x,  end=",  ")
    output:
    1, 2, 3,
    Ответ написан
    8 комментариев
  • Как правильно деплоить проект?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    Если не брать в рассчет современные подходы на основе докера, то самый универсальный способ - использовать ansible и его модуль docs.ansible.com/ansible/latest/deploy_helper_modu...

    Если погуглить 'laravel deploy ansible', то вы найдете множество статей и репозиториев на гитхабе, из которых можно почерпнуть всю необходимую информацию.

    p.s. И никогда не используйте баш скрипты для подобных задач.
    Ответ написан
    2 комментария
  • Как деплоить сайт на хостинг правильно, быстро и удобно?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    > Но такой способ мне не очень удобный показался. Как делать хот-фиксы тогда? Изменение одной буквы в коде — целый процесс.

    В хорошем процессе это не проблема. Если изменение критичное вы просто деплоите старую версию (не откат, а именно деплой старой). Хот фиксы это уход от проблемы, а нее решение.

    > В сети прочитал, что нужно использовать CI/CD, который будет скачивать последнюю версию из гита, устанавливать зависимости, тесты, перекачивать на сервер, разархивировать в отдельную папку, тесты, и в конце концов переключить симлинк вебрута на эту папку

    У наиболее продвинутых ребят вся эта история уже делается (и довольно давно) используя docker. Вы можете хотя бы немного познакомиться с ним здесь guides.hexlet.io/docker/. Если докер для вас пока рано, то можно реализовать процесс используя Ansible и его специальный модуль docs.ansible.com/ansible/latest/deploy_helper_modu...

    Там вы заодно увидите ответ на вопрос "что делать с состоянием".

    > Что делать с БД? Что делать с загруженными файлами от пользователей? Копировать из предыдущей версии?

    Состояние никак не связано с деплоем, оно должно быть шареное. Если у вас есть файлы от пользователей, то возможно вы захотите использовать aws s3. Как минимум про него надо знать.

    Рекомендую заодно посмотреть вебинар про stateless vs statefull чтобы немного понимать эту тему: https://www.youtube.com/watch?v=WPCz_U7D8PI
    Ответ написан
    2 комментария
  • Какое самое наилучшее приложение для чтения книг на android?

    nurfinn
    @nurfinn
    Самый лучший это - ReadEra. Просто попробуйте!
    Ответ написан
    Комментировать
  • Какое самое наилучшее приложение для чтения книг на android?

    Сейчас со многих перечисленных читалок перешел на ReadEra, очень уж удобный.
    Ответ написан
    Комментировать
  • Легко ли перебраться верстальщику в Чехию?

    lukoie
    @lukoie
    А как Вы думаете, легко ли Вам, фронтендеру, будет перебраться в Киев, или Кишенев или даже Выборг? Ответите себе на этот вопрос, хорошо подумав, сможете прикинуть и о Чехии.
    Ответ написан
    Комментировать
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    qlkvg
    @qlkvg
    python backend developer
    Был в похожей ситуации года 3 назад, только без обрубания концов и релокации. Совсем не тянул, спрашивал мелочи у коллег и стыдился, ничего не понимал. Хотелось все бросить и вернуться на прошлое место работы, где можно было спать до обеда. В итоге через 3 месяца ада, ощущения собственной ничтожности и штудирования книг в любой удобный момент, что-то начало получаться. В итоге дорос до человека, у которого джуны спрашивают мелочи.
    Сейчас понимаю, что первые несколько месяцев нужно было просто пережить. Это нормально для зеленого новичка в индустрии. Если вы не устроились на позицию сеньер фул-стека, адекватный работодатель не будет от вас требовать мгновенного результата. Если переживаете, честно поговорите с непосредственным начальником, что не вывозите, нужно время на раскрутиться
    Ответ написан
    4 комментария
  • Что делать если youtube занимает слишком много времени?

    Kadzi
    @Kadzi
    Ом
    Тут речь о мягких навыках, в частности про управление собой и концентрацию.

    Как вариант, использовать эту привычку во благо. Посещать ютуб стало привычкой, теперь нужно культивировать просмотр нужного контента.

    Начать стоит с коротких полезных видео по тематике профессии или что-нибудь про софт-скилы. Уверен, что никаких резких изменений не последует, но, культ полезного контента даст плоды.

    Вот например, чтобы изучить что-то основательно, нужно курить 3-4 часовые видео + практика, но в реалиях такого энтузиазма мало у кого есть, поэтому, как вариант начать с 5-15 минутных видео. Просто начать.

    У меня была точно такая же история, только вместо ютуба я читал тостер)))) Понимая, что не могу с собой ничего поделать, я начал просматривать по 300-400 советов из разных тематик ежедневно в том числе рубрики в которых я полный ноль. А позже я культивировал полезный поиск + сбор полезных материалов, в том числе из комментариев.

    Я купил ежедневник, где что-то зарисовываю или записываю о том, что я смотрю и читаю, подстегивая себя к новым знаниям. Это своеобразная медитация. Скептически всегда относился к ежедневникам, но оказалось забавно, как такая штука может якорить и напоминать: не останавливайся, чувак!

    В один момент, я понял, что хочу углубляться по вопросам и перескочил с тостера на видео, книги и практику. Начинал так же, с банальных вещей, которые культивировал. Например, что такое цвет? И по 15-20 мин ежедневно что-то читал, смотрел изучал, пока не захотелось это делать по 30 мин в день. некоторые вещи я хочу делать теперь по 3-4 часа в день.

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

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

    Мягкие навыки 1
    мягкие навыки 2
    40 правил философии ответственности обрати внимание на 2 правило
    теория психики
    рекомендую его заметки

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

    0. Никаких резких перемен не будет.
    1. Почитать про софт скилы и что формирует их.
    2. Продолжить смотреть ютуб, разбавив ежедневной рубрикой "полезные 15 минут"
    3. Окружить себя инфополем текущего уровня, пока не захочется на следующий. А захочется, так как эти 15 минут превратятся рано или поздно в 20, а потом в 30. Культивация полезного действия.
    4. Попав на новый уровень, проделать тоже самое.

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

    Почитай книгу «Грокаем алгоритмы. Иллюстрированное пособие для
    программистов и любопытствующих». В нем примеры приводятся на
    Python и объясняются приведенные Вами термины.

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

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    ИМХО, судя по комментариям и вашим ответам, вы как-то странно выбираете - пассионарно, но зашорено (вот например, ваша нелюбовь к PHP, при том что вы его даже не знаете).

    Если хотите быть успешным коммерчески и рубить бабло налево-направо именно в веб - JS, PHP, Ruby, Go как замена Node.js.

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

    А если хотите качественно развиваться как разработчик - перестаньте ограничивать себя устаревшими мемчиками типа "пых-говно", изучайте разные языки. Начните с академической Java, поковыряйте С/С++/С#, попробуйте Go, полистайте доку по Swift или Rust, посмотрите особенности Haskell. Гляньте ассемблер, чтобы почувствовать истоки. Perl и Shell/Bash не забудьте. Ну и, конечно же - PHP, Ruby, Python.
    Ответ написан
    Комментировать
  • Куда можно устроиться junior удаленно с таким стеком технологий?

    PlugIN
    @PlugIN
    A Little Programmer
    Доброго дня!

    Никакой критики, я только поддерживаю вас. И ниже три совета.

    1) Респект вам за решимость постигать программирование и фронтэнд в частности.
    2) Не слушайте тех, кто говорит о критичности работы в офисе для скорейшего проф. развития. Да, это основной вариант, если у человека плохо с самообучением, т.е. он просто не может собраться и сам изучать дисциплины, гуглить, яндексить, задавать вопросы на спец. ресурсах. Это явно не ваш случай. Поэтому, если брать во внимание отсутствие тяги к высокой массовой доли беспредметных разговоров в офисах, и желание оставаться собой, т.е. интровертом, все хорошо. В будущем, если захотите, и коммьюнити найдете и поспорить о технологиях сможете, и даже вещать, будучи каким-нибудь евангелистом ))
    3) Предлагаю такой роадмэп на ваше рассмотрение: у вас сейчас только один лэндинг, поэтому сделайте еще один-два хороших проекта для себя, создайте хороший сайт-портфолио, найдите в своем городе еще пару-тройку заказов на лэндинги/сайты-каталоги. Положите и их в портфолио. Тогда можно будет обновить резюме везде, в том числе и на hh.ru и на МоемКруге, в поле "О себе", кроме указания на высокую мотивированность, хорошо бы, если есть, упомянуть про свои смежные компетенции (дизайн интерфейса, психология, бэкэнд, математика и пр.). Кстати, на том же hh.ru вполне можно найти работу в удаленном формате для Junior. Есть довольно много небольших и неизбалованных контор, на которых "продвинутые ребята" не обращают внимания. И они просматривают отклики таких специалистов, как вы (т.е. как вы после вышеописанного). И этот путь недолгий, т.к. у вас уже есть, как понимаю, довольно много навыков.

    Удач! *___*
    Ответ написан
    12 комментариев
  • Выбор между Java и JS?

    1. Как говорит мне мой отец вот уже несколько лет: лезть нужно туда, чем хотелось бы заниматься и где есть место для роста, а не гнаться за бабками. В вашем случае вы пытаетесь гнаться за бабками.

    2. Программировать, это не значит тупо зад****ть язык программирования и на нем писать. Это опыт, стиль мышления, способ решения сложных задач и все остальное. Это то, чего у вас не отнять, даже если вы поменяете язык 10 раз. Поэтому стоит нацелиться на получение профессиональных навыков.

    3. Я считаю что никто. никогда не сидит на одном языке, ровно как и не решает одни и те же задачи постоянно. В этом нет никакого роста (то самое, что очень нужно). Java и Javascript не настолько кардинально разные языки, чтобы возникла сложность пересесть с одного языка на другой. Вот на решение другой категории задач, возможно, переключиться будет труднее. Но тем интереснее (если задачи вас заинтересуют).

    4. За свои 3 неполных года одиночной работы мне приходилось решать много задач, которые, как правило, были выше моего уровня навыков, тем самым, набираясь опыта в решении смежных задач у меня появилось некоторое представление о том, чем же все-таки мне стоит заниматься. В начале возникали такие же вопросы как и у вас.

    5. Ваш товарищ привирает, говоря о 1.5к баксов в месяц, получая знания на одних лишь курсах. Курсы ничто, если нет никакой практики, и тут два варианта, либо он целенаправленно тратил много времени на разбор материала, днями и ночами учил, практиковался и повторял все это изо дня в день, либо вы друг друга не правильно поняли. Однако, см п. 2, имея огромный опыт в решении поставленных задач (особенно актуальных на данный момент), можно быть конкурентноспособным и без идеального знания какого-либо языка.

    P.S Мое мнение не претендует на истинно верное, но возможно ТС сможет что-то почерпнуть для себя.
    Ответ написан
    2 комментария
  • Способности к программированию, как определить?

    @leremin
    atypical programmer
    Программирование - это нечто большее, чем кодописание. Я учился на специальности, где множество лаб/курсовых было в виде программ. И было множество людей в потоке, которые там случайно оказались, на их примере я для себя понял, что является критерием способности к программированию: этим критерием является понимание свойств алгоритма (ну всякая фигня вроде массовости, результативности, дискретности...). Как бы странно это не казалось, но большинство потока этого не понимало.

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

    А уж реализовать алгоритм на любом языке программирования - это уже кодописание.
    Ответ написан
    Комментировать
  • Способности к программированию, как определить?

    aRegius
    @aRegius
    Python Enthusiast
    Привет.

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

    А что касается "тесты", "товарищи", "гороскопы" и прочий дзен-буддизм то, в общем и целом, следуйте совету умных людей )
    Ответ написан
    Комментировать
  • Область применения C, C++, C#?

    @jackroll
    Сверхразум
    Ты сейчас делаешь следующее: "сейчас я хорошенько поузнаю, что мне нужно учить, а учить буду потом". Когда этот этап пройдёт, ты будешь думать "так сейчас надо найти самые лучшие книжки и курсы, а потом буду их читать и учить". Когда найдёшь - "так, нужно почитать программач ещё разок, чтобы быть в курсе, не изменилось ли чего". Потом "ага, надо ещё работы посмотреть на данный момент и сделать проекцию в будущее, чтобы предположить свой заработок". И после ещё десятка таких типа-как-небесполезных откладываний ты либо найдёшь какую-то другую великую цель для себя, либо попробуешь начать изучать то, что подготовил, но не протянешь дольше недели.

    Это я к тому, что из этого паттерна прокрастинации и фантазий нужно выбираться прямо сейчас, а не потом. Если ещё более прямо надо - бери любой язык и учи его месяц, не тратя время на всякую чушь. Иначе гроб.
    Ответ написан
    1 комментарий
  • Какую книгу по информатике посоветуете почитать начинающему программисту?

    Astrohas
    @Astrohas
    Python/Django Developer
    Код - тайный язык информатики
    Ответ написан
    Комментировать
  • Где ошибка в коде HTML, CSS?

    Rema1ns
    @Rema1ns
    и так сойдет
    потому что width: auto стоит
    Ответ написан
    Комментировать
  • Чем построить схему/архитектуру/структуру сайта?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    https://www.draw.io/ - бесплатно, есть все инструменты, есть экспорт в pdf, googleDocs и т.д.
    Ответ написан
    1 комментарий