• Как сделать playAgain в Python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    использовать While
    Ответ написан
    3 комментария
  • Как сделать так, чтобы питон не оставался в time.sleep навечно?

    @Nickellick
    Было бы неплохо предоставить пример кода, где и как вы используете эти функции
    Ответ написан
    1 комментарий
  • Работает ли PHP на GitHub Pages?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    GitHub Pages предоставляет только хостинг для статики, никаких серверных скриптов там не запустить. Так что да, если вам нужен PHP, то этот вариант не подойдет.
    Ответ написан
    Комментировать
  • Social network на Wordpress хорошо или плохо?

    Как обстоят дела с оптимизацией при большом количестве юнитов?

    Рано задумываться над оптимизацией. Ваш проект скорее всего не взлетит, поэтому вордпресс тут идеально подойдет.

    Болен идеей ВП.

    Надеюсь это пройдет. Есть люди которые до сих пор пишут сайты на друпале и это у них не прошло к сожалению.
    Ответ написан
    Комментировать
  • Некоторые браузеры неправильно отображают мою страницу. Почему?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Установите кодировку файла в UTF-8 без BOM, в HTML в head поставьте <meta charset="utf-8">.
    Если не поможет, то заставьте ваш сервер отдать заголовок Content-Type: text/html; charset=utf-8 любым известным способом.
    Ответ написан
    Комментировать
  • Передача данных междy двyмя компьютерами как реализовать?

    sgjurano
    @sgjurano
    Разработчик
    На одном компьютере запустите netcat в режиме сервера nc -l 4545, с другого подключитесь к нему:
    nc $remote_ip 4545, где $remote_ip - это ip-адрес сервера. Дальше можете набирать текст на любой из сторон, он будет передан на другой компьютер.

    Это обычное соединение через TCP-сокет.

    То же самое можно сделать и на питоне, используя библиотеку socket, если вам это зачем-то нужно. Вот статья, где про это подробно рассказано: https://habr.com/ru/post/149077/
    Ответ написан
    1 комментарий
  • Какова ситуация с фриланс биржами?

    1. Да, стало хуже с 2014 года.
    2. Найти хорошего заказчика всё также реально. Как и всего хорошего - этого мало и чтобы найти, необходимо приложить качественные и количественные усилия.
    3. Чем больше усилий, тем больше шанс найти заказчика.
    4. Площадок для рекламы много, необходимо изучать, тестировать, распространять себя, придумывать новые стратегии продвижения.
    Ответ написан
    Комментировать
  • Какова ситуация с фриланс биржами?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    На зарубежные не суюсь, т.к пока с инглишом туго.

    Вы сами ответили на свой вопрос.

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

    Хотите больше стабильности - прыгайте на удаленку.
    Ответ написан
    5 комментариев
  • Какова ситуация с фриланс биржами?

    @RuComMarket
    Битрикс FullStack разработчик
    фриланс затух в плане заработка, сейчас это платформа для набития руки новичкам.
    заказчики на фрилансе либо те, кто жалеет каждую копейку, либо веб студии (в качестве посредников).
    В связи с плохим качеством работ у фрилансеров и веб-студий, нормальные компании посоздавали штатные отделы разработок, так что welcome в штат, где платят значительно больше. верстальщики тоже требуются. В связи с обстановкой, думаю сейчас удаленка будет в тренде.
    Ответ написан
    7 комментариев
  • Как писать API?

    KIVagant
    @KIVagant
    Разработчик web-сервисов
    1. Жесткая типизация и контроль входных и выходных данных. Много проблем получали, когда php-сервер отдавал string вместо int, например.
    2. Предусмотреть разный формат возвращаемых данных — json, xml и т.п. — на клиентсайде может оказаться не только ios.
    3. Предусмотреть перехват всех внутренних ошибок и исключений, чтобы клиент всегда получал логичный ответ вместо неожиданных ошибок.
    4. REST моден, но совершенно необязателен. После нескольких лет существования некоторых сервисов мы только сейчас начали вводить поддержку REST. Это нам не мешает разрабатывать популярные мобильные приложения на всех видах устройств.
    5. Изучите хорошие примеры сервисов и наоборот — ужасные примеры (Facebook). Никогда и ни за что не делайте, как у FB.
    6. Предусмотрите инструменты отладки.
    7. Сразу продумайте версионность. Выпустив однажды мобильное приложение уже нельзя будет просто поменять API.
    8. Можно сразу заложить инструменты кеширования и авторизации на уровень ядра API. Например, в одном приложении мы передавали oauth-токен в заголовках. Это позволило избавиться от постоянных проверок авторизации внутри модулей API, отдав это в родительские классы и управляя доступами через конфиги.
    И т.п.
    Ответ написан
    3 комментария
  • В чем суть декораторов?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    В питоне функции и классы - это тоже объекты. У них есть особый синтаксис объявления, после объявления эти объекты доступны по имени как и любой другой объект с именем (переменная).

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

    Есть такой паттерн проектирования - декоратор. Декоратор - это функция, которой в аргументе передаётся какой-то объект, а на выходе она возвращает другой объект, каким-то образом задекорированный. В реальной жизни декорация объекта - это, скажем, раскрасить ассенизаторную машину под божью коровку или сделать заточку из ложки (есть, по-прежнему, можно, но можно и пырнуть)... Также декоратор может и вовсе подменять объект полностью, к примеру, нам даётся пластилиновая фигурка, а декоратор - это процесс заливки её её гипсом и производство формы под литьё. Пластилин из готовой формы выковыряли и выкинули, а декоратор - это процесс (функция) производства формы из пластилиновой фигурки.

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

    Итак:
    my_object_instance = MyClass()
    my_object_instance = my_decorator1(my_object_instance)
    my_object_instance2 = my_decorator2(my_object_instance)

    В этом примере дважды задекорирован объект. Здесь при первом декорировании оригинал нам, судя по коду, не нужен (или декоратор его не менял, смотря что за декоратор, может просто зарегал где-то в списке...), а при втором декорировании нам остаётся доступным и оригинал и задекорированная версия.

    Пока всё просто и не ясно причем тут собаки и чем эти декораторы отличаются от обычных функций. На второй вопрос ответ прост -- ничем особенным. Просто мы такой смысл вкладываем в эти функции. Такая абстрактная концепция.

    В Питоне есть синтаксический сахар, чтобы декорировать объявления функций и классов.

    Иногда хочется наглядно модифицировать или зарегистрировать в каком-то глобальном реестре класс или функцию, но объявление при этом сильно менять не хочется.
    Можно так:
    my_pretty_functions = {}
    
    def my_deco(decorated_function):
        '''Это декоратор, который не меняет декорируемый объект, 
        лишь регистрирует его в словаре'''
        my_pretty_functions[decorated_function.__name__] = decorated_function
        return decorated_function
    
    def my_function(x):
        return x ** 2
    
    # вот декорирование вручную, без сахара
    my_function = my_deco(my_function)
    
    # Но в питоне же есть сахар для этого, и вот альтернативный вариант декорирования:
    @my_deco
    def my_other_function(x):
        return x ** 3

    Эти два способа декорирования работают одинаково, просто "собака" - это синтаксический сахар.

    Не все декораторы такие безобидные. Декоратор может вернуть совершенно другую функцию или вообще что угодно. Тогда это что угодно окажется под оригинальным именем функции, а оригинальная функция вовсе может быть потеряна (выброшена) или засунута в новую с помощью так называемого "замыкания".

    Но замыкания - это отдельная большая история, а узнать об этом вы сможете, к примеру, на занятиях по питону на otus.ru, где я скоро, надеюсь, стану преподавать=).

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

    netpastor
    @netpastor
    Python developer
    Если совсем коротко - то декораторы позволяют тебе делать пре- и постобработку результатов выполнения функции
    Ответ написан
    Комментировать
  • Как изменить громкость?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    У нас с тобой, видимо, разный интернет, потому что вот что я нашел сразу по первой ссылке в гугле.
    Ответ написан
    Комментировать
  • Где можно провести трансляцию лекции, кроме youtube?

    profesor08
    @profesor08
    Берешь любую стриминговую программу, врубаешь стрим, студентам раздаешь ссылки. Никого не надо ждать. За срачь в комментариях раздавать незачеты.

    Можно на twitch.tv там проще чем с youtube. https://obsproject.com/

    Дополнительно можно в https://discordapp.com/ организовать голосовую связь со всеми студентами. Все легко и просто. Работает отлично.

    В принципе можно ограничиться дискордом https://support.discordapp.com/hc/ru/articles/1150...
    Ответ написан
    2 комментария
  • Как редактировать изображение без скачивания на пк?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Pillow прекрасно работает и с изображениями в памяти.
    Ответ написан
    2 комментария
  • Что нужно для того, чтобы сделать чат-бота для Telegram на Python?

    longclaps
    @longclaps
    Для того, чтобы сделать чат-бота для Telegram на Python, нужно немного мозгов.
    Проектировать лучше всего в сухом прохладном месте.
    Mind map не нужны, рисуйте схемы на бумаге.
    Ответ написан
    2 комментария
  • Есть ли сайты, на которых собраны множество "рецептов" по html/css?

    Seasle
    @Seasle Куратор тега CSS
    Ответ написан
    Комментировать
  • Python, как пинговать много хостов?

    @deliro
    Из адекватных

    Вариант 1: Создавать кучку воркеров через ThreadPoolExecutor, закидывать им очередь урлов
    Вариант 2: aiohttp, создавать кучку тасков-воркеров, закидывать им очередь (asyncio.Queue) урлов
    Вариант 3: aiohttp, запускать все 30к одновременно, с помощью asyncio.Semaphore задавать, сколько максимум может быть запросов одновременно

    Вариант №3 самый простой в реализации и оптимальный. Примерно на 15 строк кода. Но будет кушать чуть больше памяти, чем вариант 2. Вариант 1 самый тяжёлый из-за того, что каждый тред в ОС будет кушать примерно по 2мб памяти, зато синхронный.
    Ответ написан
    Комментировать
  • Как сделать так что бы брал данные из файла?

    @dimastbk
    Слишком распространенная задача, чтобы на неё не было ответа в интернете: https://stackoverflow.com/questions/9857731/python...

    Читаем файл построчно в список, идём циклом по списку, разделяем каждый элемент через str.split(":") и передаём эти данные в нужную функцию.
    Ответ написан
    Комментировать