• Научиться парсингу - с чего начать?

    kawabanga
    @kawabanga
    1) Нужно иметь представление, как загружаются и работают сайты. Тут необходимо иметь представление и о том, что полезный контент может появится на сайте и после загрузки через определенное время.

    2) Нужно иметь представление, как работает самый обычный способ получения контента - Curl. Попробуйте скопировать что то, поработать, представить в xml документ и тд. Тут вы определитесь с принципом работы парсера.
    - парсер получает вводую информацию -> с учетом программы и вводных данных, парсер запрашивает определенные данные -> парсер обрабатывает данные для пользователя -> при необходимости, парсер повторяет запрос (инициированный пользователем или рекурсий) -> конец

    3) Далее вы дойдете до механизмов защиты от парсинга:
    - ограничение запросов на 1 ip, на один клиент и тд
    - подгузка информации после загрузки контента
    - дополнительный запрос на подгрузку контента с CSRF и другими способами
    - блокирование ip
    Это откроет вам парсеры типа PhantomJs, Научит пользоваться прокси, мимикрировать под популярные браузеры и тд.
    Так же вы дойдете до многопоточности работы парсера, и подумаете о переходе на C и подобный язык программирования. Общаясь с сайтом уже посредством api.

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

    @idap
    интересуюсь python, latex, linux, ML, AI
    Я делал так:
    class A(object):
        def __init__(self, **kwargs):
            for name, value in kwargs.items():
                setattr(self, name, value)
    
    a = A(x=4, y=5)
    Ответ написан
    Комментировать
  • Действительно ли важно правильное питание для мозга программиста (с точки зрения науки)?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    The truth is out there.

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

    1) Диета. Классная штука, с ней чувствуешь себя по настоящему другим человеком. Важно, критически важно понимать, что диета - синоним рациона, иначе - обоснованные правила приёма пищи, включая собственно рацион, то есть состав, разнообразие продуктов. И здесь всё очень просто - есть надо, надо много и разнообразно. 20% утром, 50% на обед и 25% - ужин, можно откусить по 5% от каждого и сделать полдник. Наедатся на ночь плохая идея - прямая дорога к ожирению (ибо во время сна выделяются интересные гормоны стимулирующие жировые отложения), так и проблем с сердечно-сосудистой системой. Ну и веганы идут лесом - собирать жёлуди.

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

    3) Допинг. Кофеин - плохая идея, не чаще раза в неделю. Полностью нарушает энергетический баланс за счёт того, что у кофеина схожая структура с АТФ, таким образом организм обанывается о настоящих запасах энергии, полностью высвобождая запасы энергии на внешние возбудители; результат - угробленный энергетический обмен, который восстанавливается очень медленно. Никотин - забавный ноотроп, который в общем-то яд, однако оказывает угнетаетающие воздействие на ЦНС помогая концетрироваться. Амфетамины - классная штука, по настоящему работает, однако оказывает деструктивное воздействие. Другими словами - конкретно сейчас думаешь быстрее и конкретнее, однако послезавтра не думаешь совсем. Ноотропы спорны, могут помочь, могут нет, немного комулятивны, читай выпил курс, а через месяц понял матан, однако исследования показали улучшения в пределах погрешности.

    В целом, да. Питание важно. Но стоит понимать про такую вещь, как пределы возможностей. То есть много поедать апельсинов - плохая идея, гипервитоминоз аскорбиновой кислоты угробит мочевой тракт.
    Ответ написан
    17 комментариев
  • Как убрать отступ между ответом и фразой(x=_1.0)?

    @abcd0x00
    >>> x, y1, y2 = 1.0, -0.99, 0.48
    >>> 
    >>> print('x={} y1={:.2f} y2={:.2f}'.format(x, y1, y2))
    x=1.0 y1=-0.99 y2=0.48
    >>>
    Ответ написан
    Комментировать
  • Ресурс по изучению JS?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    Ответ написан
    Комментировать
  • Как ускорить работу программисту?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Количество задач не показатель. Они могут быть разными.
    От "хочу, чтобы месяц и число здесь местами поменялись" до "добавить функционал магазина, написанный с нуля".

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

    Вопрос слишком общий.
    Ответ написан
    Комментировать
  • Python клиент-сервер на сокетах. Почему не корректно работает общение в режиме чата?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    #!/usr/bin/env python3
    import socket
    import time
    
    host = "192.168.43.38"
    port = 8080
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    print(s.recv(1024).decode('utf8'))
    
    while True:
        buf = input()
        s.send(buf.encode('utf8'))
        result = s.recv(1024)
        print('Ответ сервера: ', result.decode('utf8'))
        if buf == "exit":
            break
    s.close()
    
    time.sleep(10)
    Ответ написан
    Комментировать
  • Сидячий образ жизни кодера на самом деле ухудшает здоровье?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    5 лет за компьютером занимаюсь кодингом + до этого 7,5 лет занимался за компьютером схемотехникой.

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

    В какой-то момент, когда вес перевалил через психологическую границу - понял, что пора что-то делать. Стал бегать по утрам и ограничил себя в еде. Минус мучное, минус явные жиры, минус сладкое, минус соки-газировки. После 20.00 не ел. Ел по пять раз в день по немногу.
    Итого за 3 месяца минус 13 кг. В организме легкость. Но заболели колени. Ударная нагрузка на колени при беге из-за избыточного веса, неправильной техники бега и, как потом выяснилось, плоскостопия. Перестал бегать, перешел на спортивный шаг.
    После год физкультурой не занимался и не особо следил за едой. Опять набрал 5...7 кг.
    Пошел в фитнес-клуб, где и занимаюсь до сих пор. Сейчас вес приблизительно такой же, как был до всех похудений, но, по ощущениям, набрал где-то 50 на 50 мышцы/жир. Живот ощутимый есть, но осанка хорошая. Отдышка не мучает. Сердечно-сосудистая система работает. Становая - 100кг, Присед - 100 кг, жим лежа - 80кг. Это не на раз, это рабочие. Последняя тренировка с гирей 16кг по наручному кардиомонитору: 1ч20м, ср.ЧСС 150, махЧСС190, ккал1200.

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

    В общем и целом, нужна физнагрузка, мы хоть в современном мире много чего достигли: много еды в магазине, медицина, автомобили. Эволюционно мы все еще не готовы к этому. Нам бы надо двигаться: бегать за оленями, валить мамонтов, а мы сидим в своих пещерах и толстеем. Надо этот дисбаланс между научно-техническим прогрессом и своей эволюцией нивелировать. Это жизненная необходимость. Но можно, конечно, и в 50 кони двинуть от сердечного приступа: тут вопрос выбора.
    Ответ написан
    5 комментариев
  • Для чего используются сессии в Django?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    что бы хранить состояние между запросами на сервере.
    Ответ написан
    2 комментария
  • Зачем нужны кортежи?

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

    Например, можно хранить содержимое некоторых координат массива
    d = {(0, 1): 'X', (2, 3): 'O'}

    Теперь легко обойти все содержимое:
    for x, y in d:
        print(x, y, d[x, y])
    Ответ написан
    Комментировать
  • Кто то встречал шаблонизаторы наподобие ReactJS с virtual DOM, но без всего лишнего?

    RubaXa
    @RubaXa
    Выбирайте: vdom-benchmark.github.io/vdom-benchmark

    Большинство представленных библиотек, это инструменты для работы с vdom, компонентов там нет, если что, но зато они компактнее и быстрей React, в некоторых случаях на порядок.

    Но если говорить именно про шаблонизацию, то есть t7: https://github.com/trueadm/t7

    Сам использую citojs, быстрый, компактный, хорошо написан, работает под IE8 (на самом деле может и ниже).

    Ещё приглядываюсь к Inferno, но пока сыровато.
    Ответ написан
    1 комментарий
  • Как достать данные из такого словаря?

    angru
    @angru
    Python 3. но это костыль конечно же.

    from functools import reduce
    
    
    class CustomDict(dict):
        def __getitem__(self, key):
            return reduce(lambda acc, x: acc.__getitem__(x), key.split('.'), super())
    
    
    data = CustomDict({'a': {'b': {'c': 1}}})
    
    print(data['a.b.c'])
    Ответ написан
    6 комментариев
  • Как отфильтровать обьекты в таблиц по полю Цена, валюта разная, но цена должна быть больше 50 долларов?

    @vista1x
    1) Должна быть табличка с валютами со следующими полями: Ид, название, курс (по отношению к базовой валюте - доллар, например)
    2) Делаете запрос, в котором переводите все валюты в одну (доллар) и делаете условие по этому полю
    Ответ написан
    2 комментария
  • Не могу обратиться к элементу списка?

    xSkyFoXx
    @xSkyFoXx
    Если вы хотите создать матрицу с предустановленными значениями, лучше воспользуйтесь следующим генератором списков:
    [[0 for y in range(5)] for x in range(5)]

    А проблема в вашем коде в том, что ['0' * 5] = ['00000'], а не ['0', '0', '0', '0', '0'], по этому вы не можете обратить к 1-му элементу.
    Ответ написан