• Хочу работать программистом Python бесплатно. Это возможно?

    @EllirGwadu
    Попробуйте зайти на devman.org, там есть некоторые практические задания, от простого к сложному
    Ответ написан
    Комментировать
  • Как воспроизвести видео загруженное на собственный сервер?

    Bastax13
    @Bastax13
    Автозапуска при загрузке страницы, Циклическое воспроизведение

    Для этого есть атрибуты autoplay и loop - <video src="my_video.mp4" autoplay loop></video>

    Масштабируемость

    Можно задать ширину видео, для этого есть атрибут width -
    <video src="my_video.mp4" autoplay loop width="400"></video>
    В этом случае ширина видео будет 400px.

    Нет лагов при загрузке видео-файла

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

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    https://arm1.ru/blog/html5-video-kak-fon-stranitsy
    PS: 250 метров для сайта? Не завидую я вашим пользователям.
    Ответ написан
    3 комментария
  • Как добавить кавычки только к первому элементу в списке?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Конкретно такой кейс легко решается так:
    firstElement = list[0].split(',')[0]

    Но, там похоже изначально задача как-то не совсем корректно решена если получился такой промежуточный результат. Т.е. лучше копать то место откуда такой список получен.
    Ответ написан
    6 комментариев
  • Системное администрирование Linux, с чего начать?

    @yeszhanov
    найди в сети "Udemy - CentOS and Red Hat Linux to Certified System Administrator!" (рутрекер) очень советую.
    Ответ написан
    Комментировать
  • Как сочетаются flex-basis flex-grow и flex-shrink?

    bugo_aneo
    @bugo_aneo
    Верстальщик по жизни, буддист, кофеман
    СВОЙСТВА!!! flex-basis flex-grow и flex-shrink
    flex-basis - это та ширина, будем называть так, которая неотъемлима у элемента. Не хотите ее юзать - используйте min-width.
    flex-grow - это "жадность" того или иного элемента. Т.е. сколько свободного пространства он съест, по сравнению с соседом (Спека: Определяет, сколько пространства может занимать флекс внутри контейнера. По дефолту = 0). Вспоминаем ФБоксовский способ прижатия футера к низу:
    .wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    }
    .content {
    flex: 1 0 auto;
    }
    .footer {
    flex: 0 0 auto;
    }

    и flex-shrink - это то, как будут сжиматься элементы, если места хватать не будет. Антагонист flex-grow. По дефолту = 1, в отличие от flex-grow = 1 (Это ТОЛСТЫЙ намек)
    Спека: Устанавливает коэффициент сжатия флексов в контейнере и задаёт, насколько элемент будет уменьшаться по отношению к другим флексам, чтобы разместить все элементы в одну строку

    Базис задавать НАДО! если желаете адаптивности, при заданном flex-wrap: wrap;
    Спека: Свойство flex-basis определяет основу флекса, которая является начальным размером элемента.
    ВОПРОСЫ?!
    https://webref.ru/css/flex-basis
    https://webref.ru/css/flex-grow
    https://webref.ru/css/flex-shrink

    Нужны ответы? Берете простеньки макетик, а-ля Бутстрап и верстаете весь!!! на флексах. После 5-й верстки наступит Дзен! ИМХО!
    Ответ написан
    Комментировать
  • Какие вопросы на собеседовании ожидать по JS?

    @Nufeen
    Мы на собеседованях задаем вопросы на кругозор, вот тут например есть список тем, о которых должен иметь представление разработчик, он абсолютно справедлив и примерно совпадает с нашим: https://www.smashingmagazine.com/2016/11/not-an-im...
    От джуниора, конечно, не ожидаем, чтобы он шарил во всем, но джуниоров, как и остальных, жестко гоняем по css (у многих, даже с большим опытом работы, там огромный пробел).
    Но мы зовем разговаривать только после того, как посмотрели на код и нам уже более-менее понравилось, как человек пишет.
    Ответ написан
    Комментировать
  • Практический путь от базового JavaScript к фреймворкам?

    @alidzen
    junior front-end developer
    Если у тебя неплохо с английским, то я бы порекомендовал начать с туториалов, таких как здесь: https://egghead.io/courses/angular-2-fundamentals.
    Но нужно не только смотреть, но и повторять за автором. Косяков будет всплывать не мало, а пока ты их будешь чинить, сам не заметишь, как лучше стал понимать материал.

    Потом берешь более конкретные темы и проходишь их таким же образом.

    Есть еще pluralsight.com, но он по подписке. Это пока лучшие уроки которые я проходил по темам: angular 1, 2, webpack, typescript.

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

    P.s.: Если твоя цель изучить, чтобы устроиться на работу, то выбери какой-то один фреймворк и пили его.
    Ответ написан
    Комментировать
  • Какие вопросы на собеседовании ожидать по JS?

    mudrenokanton
    @mudrenokanton
    frontend dev
    Я по-приколу в закладочки кидаю всякие вопросы по js:
    https://habrahabr.ru/post/231071/
    https://medium.com/@sapy/7-interview-questions-and...
    https://habrahabr.ru/post/239065/
    https://github.com/h5bp/Front-end-Developer-Interv...
    perfectionkills.com/javascript-quiz
    Но, без хорошего знания языка, на многие вопросы очень сложно давать адекватные ответы.
    Есть еще отдельный файл в котором я храню вопросы, которые лично мне задавали на собесах и я их не знал. Советую вам завести такой же. В будущем пригодится)
    Ответ написан
    9 комментариев
  • Как правильно учить библиотеки в Python?

    @fdrwitch
    "Магические" числа для Питона (верс.3.5) -- это 33, 13, 68, 37, 44, 2, 11(два раза), 17. Это есть -- 33 ключ. слова
    языка, 13 встроенных типов, 68 билт-иновских функций, 37 разделов в лайбрари референс (написано --держать под подушкой) , 44 - методов эстээр (без спецметодов), 2 метода у тюплов, по 11 у списков и словарей и 17 у множеств. В Пит3.7 чуть поменяется но не важно пока. Такой подход (через выучивание этих внутренностей) хорош для тех, кто уже что-то знает и Питон идет как второй язык (есть с чем сравнивать).
    Постепенно делаете приоритетность в 37 разделах, (какие группы модулей за какими номерами стоЯт) понятно, опираясь на модель данных и дальше уже по ним.
    Для примера, например, сначала получите эти числа программно, (типа как у keyword.kwlist)
    Ответ написан
    Комментировать
  • Как правильно учить библиотеки в Python?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Библиотеки создаются изначально не для того, что бы их изучать, а для того, что бы решать вполне конкретные задачи. И соотв. библиотека подбирается под задачу, а не задача под библиотеку. У Вас есть реальная задача? Можно/пора подбирать для её решения какую-то библиотеку.

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

    Возможно есть какой-то резон, ознакомиться с представленным в библиотеке функционалом, в общих чертах, что бы на будущее иметь в виду, что для решения задачи N библиотека уже есть, но слово "учить" тут явно не очень подходит. Единственный случай, который отчасти можно отнести к исключениям, который представился мне за всё время моей практики - это изучение стандартных библиотек С/С++, в виду особенностей самого языка... но, как я уже говорил ранее - это скорее исключение из правил.
    Ответ написан
    Комментировать
  • Как запускать скрипт с параметрами через консоль?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import argparse
    
    def parse_args():
        parser = argparse.ArgumentParser(add_help=True, version='1.0.0')
        parser.add_argument("-c", "--country", dest='country', nargs='+', required=True, help="Help string")
        return parser.parse_args()
    
    arguments = parse_args()
    args = arguments.__dict__
    
    print(args)

    $ python3 myscript.py --country Moscow Russia
    Ответ написан
    Комментировать
  • Существует ли онлайн тест на знание английского языка с открытым типом вопроса и пояснением грамматических ошибок?

    SEOBot
    @SEOBot
    SEO Noob
    Тут вопрос в том какую цель вы преследуете.
    1) Если Вам нужен тест который поможет правильно оценить Вашу грамматику и дать подсказки, то я использую на Android English Grammar Test
    2) Если Вам нужны проверки текста в процессе работы/написания, то есть отличное расширение для Chrome (+расширение для WORD, etc) Grammarly (FYI, для того чтобы попробовать PREMIUM на месяц, нужно рашарить Grammarly по рефке кому-то из друзей)
    Вот примеры разъяснений к вашему примеру (я пользую проплаченный PREMIUM)
    82ae470ca0d94489a0b1facf2cc1b64d.png0f443642e6c14bc78bf26608f062779b.png
    3) Вот хороший сервис, где Вас могут "пруфридить нативы". Вы пишите текста, выкладываете. Пользователи их вычитывают, правят, дают рекомендации Lang8
    Ответ написан
    Комментировать
  • Как разобрать такую строку? Регулярные выражения?

    @abcd0x00
    >>> import re
    >>> 
    >>> s = 'Some random string , Round A 1 day - Trip'
    >>> 
    >>> match = re.search(r'^(.+) , (\S+ \S+) (.+) - (.+)$', s)
    >>> match.groups()
    ('Some random string', 'Round A', '1 day', 'Trip')
    >>>
    Ответ написан
    1 комментарий
  • Как разобрать такую строку? Регулярные выражения?

    @NaName
    input_string = 'Some short random string , Round CA 1 day - Trip'
    some_random_string = input_string.split(',')[0]
    input_string = input_string.split(',')[1]
    trip_string = input_string.spit('-')[1]
    input_string = input_string.spit('-')[0]
    day_string = input_string.split(' ')[2] + ' ' + input_string.split(' ')[3]
    round_string = input_string.split(' ')[0] + ' ' + input_string.split(' ')[1]


    первое что пришло в голову. попахивает, но работает.
    Ответ написан
    1 комментарий
  • Как ускорить парсинг данных с Python/Selenium?

    alekciy
    @alekciy
    Вёбных дел мастер
    На 100к ссылок, особенно если требуется их обходить достаточно часто (или на сервере ресурсов мало), есть уже смысл задумать о более кастомных (читай, напилить руками низкоуровневый механизм), но более быстрых механизмах. Как-то запросы на получение AJAX данных через curl. Или если данные получаться в рамтайме на клиенте через замудренный JS, то применить SpiderMonkey, V8 либо другие серверных движки.

    В общем чтобы пропарсить наверное миллион таких строк у меня уйдет месяц непрерывной работы селениума

    Делал на кластере из PhantomJS парсер который должен был за 15 минут обходит чуть больше 1к страниц и парсить из них разные хитрые таблички. Требовалось что-то около десяти инстансов PhantomJS, 20 Гб ОЗУ и 16 ядер ЦПУ. На таком кластере 100к за сутки переварит реально.
    Когда требование по времени ужесточилось до 5 минут, напилил на SpiderMonkey.

    element is not found

    Нужно использовать wait(). Тогда дальше код будет выполняться когда на странице появиться нужный элемент.

    где нет кучи попапов, которые все надо прокликать

    Наличие/отсутствие попапов не играет роли. Все, что появляется в DOM, все можно отработать. Регулярно тягаю данные с яндекс ворстата. Много там разных хитрых обработчиков. Но все силами PhantomJS-а через webdriver решается рано или поздно.

    Это действительно так?

    Возможно. Но так ли это в вашем контексте ни кто кроме эксперимента не скажет. Т.е. берем данное утверждение и проверяем в своей задаче парсинга.
    Ответ написан
    3 комментария
  • Как ускорить парсинг данных с Python/Selenium?

    Вместо chromedriver вы можете использовать phantomjs, это ускорит переход по страницам.
    Но я практически на сто процентов уверен, что вам не нужен интерпретатор javascript, чтобы спарсить необходимые данные.
    Если открывается popup без подгрузки данных (без ajax), значит данные находятся где-то в html и их можно спарить.
    Если с подгрузкой, тогда нужно делать запрос напрямую (на тот url откуда загружаются данные).
    Ответ написан
  • Как пройтись по субдиректориям и в каждой создать нужный файл?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    import sys, os
    root = r"C:\py\results\csv" # внутри другие папки с csv-файлами
    for path, subdirs, files in os.walk(root):
         with open(os.path.join(path, "output.cvs"), 'w') as f:
            for name in files:
              if not name.endswith(".cvs"): continue
              csvfile = os.path.join(path, name)
              with open(csvfile, 'r') as file:
                  for url in file:
                       f.write(url + "\n")
    # Функция для записи строк в один файл для каждой папки
    #def writecsv(url, filename):
    #     with open(filename + '.csv', 'a') as f:
    #         f.write(url + "\n")
    Ответ написан
    4 комментария
  • Как узнать номер строки при чтении файла?

    @GeneD88
    QA
    with open('myfile.csv', 'r') as file:
            for num, url in enumerate(file):
                    my_function(url)
    Ответ написан
    1 комментарий