Это копия, сохраненная 28 апреля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Коммуна: https://sites.google.com/view/pypry/
Основные книги: https://yadi.sk/d/HQhhsBsq3TVRUq
F.A.Q: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Интерактив шел: https://repl.it/languages/python3
Книги которые ты никогда не прочтёшь: https://yadi.sk/d/tArKKuQu3Kejuq
Еще больше книг от уважаемого олда питон-треда:https://yadi.sk/d/H-00n-UG3RSQem всегда доступно по шортлинку йей.рф/книги
#python #питон #пайтон
прошлый тред: >>1332788 (OP)
И тут возник вопрос, как они получают такое значение? Мой ответ можно считать валидным?
Ну и с нулем, питон считает что флоат нуль равен интовому нулю этакий каламбур, если в 4 тесте мой код вернет 0.0 считать ли это валидным ответом?
А 0.0 должен быть не равен 0?
Если так, то есть пара стульев:
1. проверяй тип перед сравнением
2. Юзай `is`
Насчёт ответа `0,8(9)......` - это норма в питоне, я уже даже и забыл чому это, но гуглится просто. Не зацикливайся на этом.
ну вот не понятно как у авторов получаются ровные числа после знака. Ну да дално, я полсчитал что мое решение рабочее.
С нулем посчитал так же, про is буду занть.
Спасибо.
Хм, спасибо большое. Надо почитать внимательнее про math, думал оно оставит 0.899
Ну, число Пи состоит из бесконечной последовательности цифр.
Я хочу перебирать его пока не найдётся конструкция "42", например, или "424242".
А когда находится, надо чтобы поиск останавливался.
И ещё, я же должен знать где это находится, поэтому мне ещё нужен "адрес" - порядковый номер первой цифры конструкци.
Или можно не останавливать, но чтобы скрипт записывал в файл все найденные места кострукций в числе пи.
>Еще больше книг от уважаемого олда питон-треда:https://yadi.sk/d/H-00n-UG3RSQem
Скачивал с довольным шипением
https://ru.wikipedia.org/wiki/Формула_Бэйли_—_Боруэйна_—_Плаффа
Формула Бэйли-Боруэйна-Плаффа (ББП-формула, Формула ББП, BBP-формула) для вычисления n-го знака числа пи в шестнадцатеричной системе счисления. Формула позволяет найти любую цифру числа пи без необходимости вычисления предыдущих.
Можешь поискать десятичный вариант формулы
Мне нужно искать конструкцию от начала и до бесконечности, а не узнать, какая цифра будет там, куда я рандомно тыкну пальцем.
Вроде должна быть функция в дополнительном математическом пакете, которая может бесконечно вычислять число пи, т.е. и формулы не нужны.
https://ideone.com/j30VeJ
Тут можешь взять 4кк знаков числа пи https://sanstv.ru/pi
Из минусов, считает точку в том числе. Выводит диапазон индексов найденного слова. Сильно ногами не бейте, учи пистон 2й день.
так оно и не рандомно, оно от начала строки идет и ищет.
Как бесконечно генерить пи, я к сожалению не знаю. Да и не думаю что твоя пека много нагенерит.
и да, я забыл прибавить единицу к индексу.
та формула из Вики, нужна чтобы, узнать, какая цифра будет на некотором по счёту месте.
Ну и зачем мне это?
двухдневный нуб
Так и не понял использовать для хавинга.
Например мне нужно вставить условия HAVING COUNT(field_name)<3 мне использовать filter или annotate?
А куда вставлять поля которые должны быть в SELECT? НИПАНЯТНА.
Все еще усложняется тем что как я понял просто операторы больше меньше он не принимает, нужно приписывать через двойное подчеркивание.
Пиздец блядь.
> Например мне нужно вставить условия HAVING COUNT(field_name)<3
Твоя проблема в том, что ты думаешь в терминах SQL, а думать при разработке на джанге нужно в терминах бизнес-логики и стоящей перед тобой задачи. https://docs.djangoproject.com/en/2.1/ref/models/expressions/#aggregate-expressions
> А куда вставлять поля которые должны быть в SELECT?
only/defer, по умолчанию селектится всё. Вообще поставь django-debug-toolbar, он умеет отображать сделанные при выполнении вьюшки запросы. Но ещё раз, тебе нужно думать в терминах объектов моделей, а не в терминах сырого SQL.
Окей. Спасибо за совет и наводку.
Почему питухон считает так:
8//2.1 = 3
-8//2.1 = -4
а не так:
8//2.1 = 3
-8//2.1 = -3
Как правильнее?
help(floor)
ты дебил?
>С нулем посчитал так же,
там есть нормальный заеб на эту тему,
Про то как словари хешируют ключи.
чему равно {1:"a", True: "b", 1.0:"c"} ?
Вот откуда вы лезете, блять.
В бэке алгоритмы не надо, но спрашивать будут, шанс этого 90%.
Но вангую если та затащишь всё остальное(вопросы по подкапотному пайтону, по БД и прочему), то на незнание алгоритмов забьют хуй.
В ожидании вопроса а нада учить мне ЖыэС?!??
И нет блять, не обязательно быть фулл стэком.
а что за подкапотный питон? типа чем отличаются списки от кортежей? насколько в БД надо шарить? и прочее - это что? по гиту или еще какой подобной ебени?
а в чем проблема находить в цикле числа по формуле, запоминать последние найденные по формуле x цифр, где х равно длине искомой конструкции, и сравнивать их с искомой конструкцией?
False, вроде потому что они находятся в разных местах в памяти. Я прошел собеседование?
Мало того что это нихуя не задачка - оно уже нихуя так не работает
Лучше бы не выебывался и просто сказал ему почитать про интернализацию
А что из актуального можно почитать, ну кроме документации?
От мозиллы был годный курс, где реальный проект пилили (цмс что ли) но он вроде уже старый
> оно уже нихуя так не работает
А вот это уже новость. О чем речь? Оно ведет себя как задумано в 3.7.2. А задачка, очевидно, в предсказании поведения кода в CPython, не запуская его.
Да сходи на собес и проверь, ну ёмаё. Везде спрашивают разное, потому что люди разные.
Пару тредов назад вываливал список вопросов с последнего собеса своего, если будут желающие и нуждающиеся - найду и напишу ещё раз.
> а что за подкапотный питон? типа чем отличаются списки от кортежей?
Тебе уже вполне себе интересные примеры для начала показали.
> насколько в БД надо шарить?
Надо знать виды БД и их отличая. К примеру скорее всего спросят про разницу между sqlite и postgres/mysql.
Надо знать парочку ОРМ. Надо уметь писать запросы к БД ручками. Надо владеть инструментами для просмотра содержимого таблиц БД и анализа работы. Надо уметь запроектировать БД с N-таблиц с разной связанностью и пояснить чому тут так, а там эдак.
> и прочее - это что? по гиту или еще какой подобной ебени?
Гит надо знать базово. Но гораздо важнее уметь писать коммиты грамотно и юзать ветки и прочее. Что бы не делать пикрил. Всякие джиры/хуиры не так критичны и научиться ими пользоваться можно только на работе и это быстрое дело.
Ну и кроме этого надо знать celery, rabbitmq, redis, memcached.
Кроме джанги ещё хорошо бы шарить в flask/aiohttp.
А ещё классно иметь опыт юзания стороннего АПИ(да, есть и такие пункты) и руки для поднятия своего, с понятной документацией и логикой.
Какие же вы блять ленивые суки, пиздец.
1. Документация для джанги - одна из лучших документаций по веб-фреймворку на пистоне, которую видел. Поиск по ней и умения понимать её форматирование и в нем ориентироваться тебе понадобится.
2. Пикрил
Окей, я в смятении, у меня есть три разных машины на двух из которых вывод True, False и на одной True, True.
Более того, насколько помню, на всех машинах на работе результат к этой параше был True, True и кто-то мне втирал что они расширили диапазон загружаемых в память интов.
В любом случае это ебанутый частный случай интернализации, и лучше сразу человеку сказать смотреть этот термин, а то потом на собесах таких даунов спрашиваешь про "почему None/True/False делают проверку по `is`, а не `==`?" и они не могут связать это в общий кейс. Собственно прыгая по таким терминам попадет и на ебливые синглтоны и на само понятие паттернов проектирования.
>От мозиллы был годный курс, где реальный проект пилили (цмс что ли)
Сейчас там проект "локальная библиотека"
>Не изучай синтаксис, изучай псевдокод и программирование!
имо это больше для руби девиз чем для питона
Цель - телеграмбот, который будет отсылать фотки, которые приходят по фтп с камеры.
Может у кого завалялся исходник? или толковый шит на telegram api?
>С нулем посчитал так же, про is буду занть.
Лучше забудь. is - это сравнивание является ли операнды одним и тем же объектом и по стандарту разные переменные содержащие 0.0 не обязаны на один и тот же объект ссылаться насколько я помню. (но на деле в cpython объекты для 0.0 и вообще небольших чисел будут создаваться только один раз).
>>67584
>Насчёт ответа `0,8(9)......` - это норма в питоне
>норма в питоне
Это норма практически в любом языке погромирования.
> это норма в питоне
> норма практически в любом языке погромирования
Я разве написал обратное? Или указал на исключительность питона в этом вопросе? Вроде как нет, но тогда к чему это выделение моих слов о питоне и фраза про другие ЯП?
1165x720, 5:05
Pipenv норм, широко используется?
А то чёт у Питона пекедж-менеджмент какое-то говно, в котором нет казалось бы очевидных вещей. Особенно после удобного Cargo у rust'а.
Pipenv это вроде бы исправляет, но чёт я о нём почти ничего не слышал и наткнулся случайно. Не уверен станет ли Pipfile рекомендуемым стандартом.
Чего тебе не хватает в том что есть и что ты хочешь сделать? Давай с этого начнем.
Есть одна (на самом деле много) удаленных машин, на которых выполняется программа на питоне. Иногда эту программу надо обновлять. Машины перезапускаются раз в сутки по расписанию. Я хочу обновлять программу в любой момент и хочу, чтобы в после следующего ребута (или даже сразу) выполнялась уже обновлённая. Могу ли я каким-либо сторонним средством (или даже просто scp) подменять .py-файл прямо во время его выполнения? Интерпретатор держит всю программу в памяти? Или мне надо сначала её обязательно завершать?
> Интерпретатор держит всю программу в памяти?
Yep
Через что работают проги? Что поддерживает их работу в режиме демона
К примеру:
Если прога запущена через supervisor, то что бы обновить код запущенный, нужно написать `supervisorctl restart all/название демона` и всё ок. То есть в данном случае можно добавить эту команду для запуска после старта сервера и всё ок будет
иными словами нужна возможность писать код типа:
programText = """some fast code with myfunc(int x, int y)""".
compiledCode = compile(programText)
compiledCode.run("myfunc", 23, 42)
Мне не хватает нормального пекэдж-менеджера для питона, назовём его pypoop (pizdec oche ohuenny pakety) и стандарта нормального, хай-лвл описания прожекта Pypoop.toml (желательно именно ".toml", т.к. это самый нормальный стандарт для конфиг-файлов).
В Pypoop.toml перечисляются зависимости (используя semver-синтаксис версий). Конечно же, перечисляются только непосредственные зависимости проекта, зависимости зависимостей должны ресолвиться пекэдж-менеджером.
"$ pypoop install" собственно устанавливает все нужные зависимости.
И дальше питон должен пользоваться только локальными зависимостями проекта.
Т.к. такой "локальный режим" не заложен непосредственно в Питон, то наверное pypoop'у придётся запиливать виртуальное окружение аналогично venv'у и понадобиться команда "$ pypoop veryvirtualmuchenv" которая это окружение активирует.
По-моему это крайне очевидный функционал который должен быть в любом пекэдж-менеджере.
Но почему-то из всех пекедж менеджеров с которыми я знаком - всем моим совершенно нормальным запросам удовлетворяет только Cargo. (Перечисленное выше в npm есть, но к нему ряд других претензий.)
Почитай внимательно про pip и venv, там всё это есть, кроме формата файла toml, но это твоё личное мнение(о его охуенности), поэтому всем поебать и юзается то что юзается.
Но если тебе хочется чего-то другого - юзай, никто не запрещает.
Можешь юзать pipenv один хуй, проект твой и ты его будешь юзать, если тебе удобно - всё ок, если проект для людей то опиши что надо делать для установки всей хуни.
Ещё есть Poetry, тоже хорошая штука.
Удачи.
997x720, 6:52
>Почитай внимательно про pip и venv, там всё это есть
Есть, только не в том удобном хай-лвл виде (И не только мне удобном, большинство пекедж менеджеры к этому виду пришли или с трудом идут под тяжестью легаси).
Собственно pipenv - это обёртка над pip и venv.
>кроме формата файла toml, но это твоё личное мнение(о его охуенности)
Не только моё личное, те же pipenv и Poetry внезапно как раз его используют.
Уж точно это лучше чем велосипедить очередной собственный ini-подобный формат как раньше часто делали дизайня пекедж менеджеры.
> Есть
Вот и хорошо, а ты говорил не хватает.
> Собственно pipenv - это обёртка над pip и venv.
А как же, нужна надстройка над надстройкой и что б надстройкой погоняла.
> pipenv и Poetry внезапно как раз его используют.
Ну а pip - нет. Это ни о чём не говорит, тебе удобно - и хорошо, юзай.
Сейчас они работают очень тупо через запуск sh-вотчдога, который стоит в автостарте. Я понимаю, что это убогое решение. Я пробовал сделать запуск через systemd, наткнулся на проьлему с переменными среды, связанными с х-сервером (программе нужен вывод на дисплей). Я не настолько хороший линуксоид, чтобы её разрешить
Что за супервизор? Где почитать?
1. Как доставляются обновления на машины? Вручную?
2. Так прямо и пиши в гугле - supervisor linux
К чему собственно первый вопрос:
Если машин реально дохуя и ты это делаешь вручную, то может подумай о докере и кубернетосах. Да, придётся пару новых вещей выучить(полезных офк), но это в перспективе облегчит тебе всё, начиная от доставки обновлений продолжая развёртыванием(зависимости и прочее) и заканчивая отказоустойчивостью кода(если что вдруг упало от неверный действий юзера, к примеру, оно само переподнимется а ты потом логи только разгребёшь и исправишь проблему забьёшь хуй ведь всё дальше работает и ок).
Ладно, это я так, мыслю вслух, на самом деле с докером тем ещё заебёшься ковыряться и вангую что пошлёшь меня нахуй. И будешь прав.
Обновления кладутся на сервер и перед запуском клиент с помощью SFTP забирает себе нужные файлы. Мне советовали Ansible для доставки обновления, сегодня буду курить что это такое и поможет ли оно мне.
Про супервизор почитаю, спасибо. После своего предыдущего поста снова загуглил свою проблему с системд и похоже нашел решение.
Докер и кубернетис может и норм, меня смущает только то, что машины это очень слабые одноплатники на арм, хз чё там с поддержкой этого всего у докера.
> Докер и кубернетис может и норм, меня смущает только то, что машины это очень слабые одноплатники на арм, хз чё там с поддержкой этого всего у докера.
Всё ок с этим будет точно.
> Ansible
Не юзал, но вроде как популярная штука.
Ну епта, я же, не зная джанги, не могу оценить пиздатый тот курс или говно!
не очевидно что ты хочешь - используя питон компилить код других языков или другие языки в питон?
ftu в стдлиб есть compile, не знаю полезна ли она тебе вообще
кажется дошло, с помощью питона компилить и запускать код других языков? Интересная задача, а что за юзкейс? Пишешь сервис для онлайн шелов/реплов и тп?
> этом задании нужен скрипт работающий на python 3 под Linux, и еще один скрипт который создаёт виртуальное окружение с установкой всех нужных модулей.
Расскажите подразумевается setup.py, или какие то другие способы создания пакета?
Или просто написать это все на баше?
. Какова должна быть длина шнурка для этих ботинок?
Программа получает на вход четыре натуральных числа a
, b, l и N - именно в таком порядке - и должна вывести одно число - искомую длину шнурка.
Нагуглил решение, но не смог понять логику. Поясните.
Эксперементальным путем узнал, что не могу рассчитывать на глобальные переменные. Счётчик который увеличивался при загрузке страницы, сбросился со временем. Бля де бы про это подробнее узнать, чё вообще происходит на этом сервере ебанам (Гугл Клауд)
Да, отключился, но не только это помешает использовать глобальные переменные, если я правильно понял написанное ниже
>App Engine runs multiple instances of your application, and each instance has its own web server for handling requests. Any request can be routed to any instance, so consecutive requests from the same user are not necessarily sent to the same instance.
Книга Марка Лутца изучаем питон 4 издание еще актуальна?
Как никак автор сам пишет что через десять лет уже все изменится, а книга была выпущена в 2к11.
Я книгу не прочитал, но судя по длине, она актуальна, тока если ты решил плотно схватиться за питона. Я мне лично понравилось byte of puthon а потом dive into python, но я нуб который ничего не умеет, не слушай меня
Я уже половину Москвы обошёл, всем нужен мидл. Скоро будет почти год как вкатываюсь.
тут есть рядом тред где чел вкатывался три года и не вкатился
У меня год опыта работы в украинской мухосрани, получал копейки.
Какая сейчас рыночная стоимость бекенд девелопера с годом работы?
Короче есть 3 докер контейнера, nginx, aiohttp-gunicorn и монга.
Вроде все работает, сервер отдает страницу и всю статику, но в браузере стили и js не работают, хотя путь к ним строиться правильный и я могу открыть их по ссылке. Не совсем понятно где я обосрался.
Пришлось поебаться с nginx'ом, отдавал неправильный тип документа.
Возьми более подходящий язык. А так, ctypes, winapi, EnumWindows, GetWindowText и все такое.
Походу я "одаренный" лол. Помню на хх один работодатель прислал приглашение, а потом сходу дал отказ, типо нам не нужен человек который резко решил сменить сферу деятельности.
key1=value
key2 = value
и т.д.
Есть текстовый файл в виде:
kqtktpqejptjpkey1'aks'kfkey2df;sdf;skey1
fgjdf;gk;;sgs
key1
и т.д.
Нужно короче заменить все key в текстовом файле, сколько бы их там не было, на их value.
Как считать построчно, например:
Считывает конфиг, находит key
ищет этот Key в файле
Заменяет на его value из конфига.
возвращается на цикл выше, считывает вторую строку, вторую опцию, и опять ищет это значение в файле, заменяет и т.д.
Я знаю, что я могу считать сам value. Но как key считать?
И замену я думаю делать через fileinput.
Для каждой строчки в конфиг-файле выполнить .split('=') и добавить получившийся список в список списков, а затем для каждого l из списка списков выполнить замену в текстовом файле l[0] на l[1].
Почему вы не пишете на Расте?
Да, я ебусь в жопу и пишу на расте
640x360, 0:35
Dive into python, можешь ещё cs50 навернуть. Я ещё начинал читать thinking in python, там задачи прикольные по крайней мере в самом начале
Там везде нужны фуллстек или как минимум мидлы
Ты ебанутый?
Что значит топ фреймворк?
1. Топ по чему? Заездам на гите? Популярности? Качеству кода и решений?
2. Фреймворк или библиотека?
3. Веб фреймворк или какой ещё фреймворк?
4. Нахуй тебе нужно знать именно топ? У тебя в ТЗ к задаче написано "решение требует использования ТОП фреймворка"?
Что блять за тупой дроч на рейтинги?
Говори задачу и анон подскажет инструменты для решения.
Наверн он хочет наиболее перспективный и востребованный на данный момент на рынке труда хуй знает я с обезьяньего не оч перевожу, но наверн все было так
Может быть так и было, но потом это было закодировано вы непонятный высер. Жду-с пояснения и верю в лучшее.
>>69537
> датасаентист
> фуллстек
Ну-ка, поподробней.
Я хуй знает как у вас, но у моих знакомых их "фуллстэк" заканчивается на: TF/PyTorch/cv2/numpy/matplotlib/IPython. Если это он, то окай.
Ну работу искать, как и другим погромистам - linkedin/hh.
>>69089
А ты в резюме указал не релевантный опыт что ли? В "мы вам перезвоним" треде поспрашивай как резюме составлять, как грамотно пробелы в опыте перекрывать и прочие вопросы. Думаю всё будет ок.
Вроде выполняется достаточно быстро на глаз. Да и считается хэш только при аутентификации.
Я только начал вкатываться в это ваше погромирование, прошёл только один курс на степике и 7 лекций Хирьянова послушал. Получается, что питон каждый раз создает объект "300" при присваивании?
О, нашёл ответ на свой вопрос...
Да, он создает два разных объекта.
https://stackoverflow.com/questions/15171695/whats-with-the-integer-cache-inside-python
ссыкотно. Писал на сях гавно 4 года, теперь хочу в веб и питон. по примеру по ходу придется сорцы питона смотреть для разбирания подобной хери. С бд вообще не работал, прочитал общие принципы, прошел пару курсов, без употребления забыл. Если скинешь вопросы, буду благодарен
Имею 3 года опыта и опыт работы с хайлоадом, каковы шансы выиграть битву за работу против индуса?
Достаточно высокие, мне кажется, особенно в восточной Европе, где не очень жалуют чёрных
Я уже в восточной европе, я дальше хочу поехать, даже в цивилизованную азию типа корея/япония/китай готов
> Писал на сях гавно 4 года, теперь хочу в веб и питон.
Это круто, рили, если есть любовь к математике то попробуй датасаенс или ресёрч, и зп побольше и знания Си будут огромным плюсом.
> по примеру по ходу придется сорцы питона смотреть для разбирания подобной хери.
Не обязательно, все фишки расписаны в книгах, и не самых нудных, так что почитать придётся.
> С бд вообще не работал, прочитал общие принципы, прошел пару курсов, без употребления забыл
Да на базовом уровне там нехуй учить, со временем опыт построения таблиц придёт. Я вообще БД по документации постгреса постигал(в универе БД ещё не было тогда) и норм.
> Если скинешь вопросы, буду благодарен
Чекай, чуть ниже будут
Посоветуйте курс/туториал/лекции по тестированию вообще и unit'у в частности.
Хочу быть лапушкой и писать тестируемый код, а годноты понятной найти что-то не в силах.
Вот и тот пост:
Для начала вопросы общие(с чем работал, что знаешь, как дела с C/C++). Стандартные типы данных и их свойства. Словари(хешируемость, какие типы данных могут быть ключами? а если два списка в кортеж засунуть, сработает?). Область видимости. Рекурсия(почему задан на её лимит? почему лучше не использовать его массово?). Что происходит при вызове функции, чому они тормозят работу? List comprehension(какие типы данных можно оттуда получить). Декораторы(пара примеров стандартных + примеры из работы, то есть Flask тот же + напиши свой). Генератор/Итератор(как for i in a под капотом работает? а как к своему объекту прикрутить итерирование кастомное? напиши генератор. когда отработает print если вставить его в генераторе после yield). OOP в питоне(наследование. super. множественное наследование. как вызвать метод одного из нескольких родителей, если этот метод есть у всех родителей(вызов из вне методов класса и тот же вопрос но уже вызов в методе дочернего класса)? Метод есть у обоих родителей, вызываем его без указания конкретного родителя, метод какого родителя вызовется?). Многопточность(как ресурсы распределяются? как настроить связь между потоками? GIL). Многопроцессорность(как ресурсы распределяются? как настроить связь между процессами? как убить конкретный процесс в линупсе?). Асинхронность(как в синхронный код встроить асинхронную функцию/библиотеку? зачем она нужна? как отрабатывает под капотом? когда юзал её и для чего?). Celery/RabbitMQ/Redis(где юзал? какие задачи хорошо выполнять? что под капотом(потоки/процессы)?). REST(методы? что это такое?). Longpoll(для чего, зачем и как?). Callback(для чего, зачем и как?). Сокеты(работал ли? что использовал для этого?). На чём API небольшое поднял бы и чому?. SQL(типы связей? типы данных?). NoSQL(работал?). Докер(работал? плюсы? минусы? слои?).
Вроде как всё.
Это собес был на бэкэндера для системы видеоаналитики(поэтому вопрос про Си был).
пока что из имхо относительно серьезных прочитал Изучаем, сейчас читаю Программируем Лутца. Если есть что-то еще, что необходимо прочитать и особенно зашло, советуй, буду благодарен)
>>69816
До многопоточки в принципе обо всем смогу рассказать. Многопоточку юзал в сях, могу про нее рассказать, с сокетами тоже в сях работал. Имхо, мне кажется, моих знаний не хватает( хотя вроде как советуют собеседоваться, пиздеть и разбираться по ходу
> Если есть что-то еще, что необходимо прочитать и особенно зашло
Там вот в шапке ссылка на гит и в общем и целом там всё ок.
Мне зашёл Саммерфилд, укус питона, а сейчас читаю статьи из рассылки/твиттера.
>>69818
Многопоточка в питоне думаю работает немного иначе, но не факт.
Правильно советуют, надо ходить на собесы и разговаривать.
Эти вопросы лишь с одного адекватного собеса, раньше была ещё куча, адекватных и не очень, так что мой список — не показатель.
Только запомни главное:
если дают тестовое больше чем на 15-20 минут — шли нахуй дегенератов.
грац) укус читал, параллельно почитываю тележные питон, бегиннерсы питона, джанга пока в закладках. Саммерфилда начал, но потом сказали, что Лутц глубже, поэтому сразу на него перешел. из шапки тоже закинул, буду осваивать
>>68609
>>68654
>>68749
Хочу запилить окружение для "лайвкодинга".
на подобие https://extemporelang.github.io/ , но не на лиспе, а на питоняше.
нужно в реальном времени (в процессе написания кода) уметь делать быстрые оптимизированные куски, которые к тому же будут исполняться в других потоках без питоновских ограничений.
а поддержка сишеньки нужна для того что бы эти куски могли выполняться внутри некого вызывающего кода на си.
Тащемта да, погуглил, именно для питона такого нету к сожалению, есть либы для оптимизации питоновского кода, есть для предварительной компиляции, а вот так что бы на лету - нету.
> А ты в резюме указал не релевантный опыт что ли? В "мы вам перезвоним" треде поспрашивай как резюме составлять, как грамотно пробелы в опыте перекрывать и прочие вопросы. Думаю всё будет ок.
А толку то, все вскроется на собеседовании. Вот кстати завтра будет в одной около государственной конторе собес, откликался на вакансию мидла. На другом месте хуярил прямо на рабочем месте тестовое, после которого мне не перезвонили, даже отказ не прислали по почте тоже вакансия мидла была.
Я хз но на джуниора вообще не зовут, вот сегодня нашел вакансию джуна, требования минимальные, просмотрели и все, хотя хз кого они найдут в мухосранске 100к жителей.
> А толку то, все вскроется на собеседовании.
В этом деле главное до собеса дойти, а конкретно до технической его части. Если ты на ней покажешь себя молодцом - всем похуй будет, что ты до этого свиньям хвосты крутил в деревне.
Я в свое время указывал ССО + фриланс + учебу в ВУЗе, но когда на собесе спрашивали автобиографию и т.п. то рассказывал, что фрилансил параллельно с работой два года(работа очень косвенно связана с погромированием была, но никто не отменяет возможности слегка приукрасить свои реальные обязанности).
Просто когда ХРюша открывает резюме, а ты там в опыте указал "мастер по забою скота" + грамоты и благодарности с места работы, то собственно первый вопрос - хули ты забыл тут если тыкаешь нам прошлыми "регалиями".
Можешь скинуть скрин своего резюме и, думаю, анон не откажется помочь тебе с грамотным его составлением.
P.s. на линкедине зарегался хоть?
На хх нельзя не указывать свое прошлое место работы, если только не откровенно наврать. Иначе мое резюме шло в бан. Поэтому пришлось без особых украс описать текущее место работы. Работу пока ищу на хх, если вакансии закончатся, то попробую другое место.
Зачем врать? Можно просто слегка приукрасить реальность.
Оранжевое - дата начала создания небольших поделий и выполнения мини-заказов.
Зелёное - первый крупный заказ.
Нигде не видишь моего опыта не по профилю? А он есть и его 2 ебаных года.
Резюме реальное, не трогал его с момента последнего обновления места работы. Ну и никогда не указывал не релевантный опыт. В самом начале слегка завысил границы своего опыта(там где оранжевое) что бы попадать в диапазон "от 1 до 3 лет".
Но это твоё резюме, тебе его заполнять и с ним ходить, я не навязываю ничего, удачи на собесах.
Ну вообще-то стандартный способ запуска - попен, а подпроцессы нужны для параллельного запуска.
Если ты имеешь в виду os.popen, то он deprecated уже давно:
Deprecated since version 2.6: This function is obsolete. Use the subprocess module. Check especially the Replacing Older Functions with the subprocess Module section.
В subprocess есть свой Popen, но как бы странно говорить, что нужно использовать попен, а не сабпроцесс.
А если например нужно вести одновременно 2 лога определенной хуйни (то есть просто 2 цикла, которые никак друг от друга не зависят), то тоже нужно использовать subprocess, или есть более легкий способ? Помимо костыля с созданием 2 разных файлов и их запуском по отдельности, а то он уже используется
не, явно не то что надо. но за ссылку спасибо.
Тебе запустить параллельно и ждать? Тогда from multiprocessing import dummy и там уже with dummy.Pool и хоть 100 потоков.
Постоянно на собеседованиях заставляют писать код на листочке + в решении нельзя использовать встроенные функции. Постоянно на этой хуйне обсираюсь, привык если что не помню загуглить, а тут хуй тебе.
>Смекалочку
Еще во время первой чеченской один сержант по имени Анатолий Куликов был схвачен отрядом боевиков, после того, как весь его взвод попал в засаду и был перебит.
У горного народа вставал вопрос, что же делать с пленным, так как они были горячим вольнолюбивым народцем, то вставал у них не только вопрос. На том они и порешили, что наш Толя должен будет отсосать всему отряду и, возможно, его даже отпустят. Кавказцы выстроились в очередь, и Толя принялся за дело, но стоит помнить, что в первую очередь он был именно русским, а потом уже солдатом, отцом и коммунистом, поэтому у него быстро созрел план: он сказал кавказцам подходить к нему во второй очереди, и он свободной рукой им подрочит. Все кавказцы с хвоста конечно ж подбежали, чтоб поскорее получить свою порцию, и образовалось две очереди. Те душманы, кому он отдрочил, потеряли эрекцию и не стали подходить за отсосом, получается, вот такой нехитрой манипуляцией наш солдат уменьшил вдвоем кол-во членов, которое ему нужно было пересосать! Воистину, заслуживает похвалы! За этот хитрый трюк ему даже по возвращению дали «старшего сержанта».
import asyncio
from collections import deque
async def sosat_hui(kaukasec):
await asyncio.sleep(10)
print(f'End otsos{kaukasec}')
return kaukasec
async def drochit_hui(kaukasec):
await asyncio.sleep(5)
print(f'Podrocheno{kaukasec}')
return kaukasec
async def main(array_kaukascev):
ochered_kaukascev = deque(iterable=array_kaukascev)
while ochered_kaukascev:
try:
droch_end = await drochit_hui(ochered_kaukascev.pop())
soso_end = await sosat_hui(ochered_kaukascev.pop())
except IndexError:
print('I am champion!')
if __name__ == '__main__':
array_kaukascev = range(1, 10)
loop = asyncio.get_event_loop()
loop.run_until_complete(main(array_kaukascev))
loop.close()
import asyncio
from collections import deque
async def sosat_hui(kaukasec):
await asyncio.sleep(10)
print(f'End otsos{kaukasec}')
return kaukasec
async def drochit_hui(kaukasec):
await asyncio.sleep(5)
print(f'Podrocheno{kaukasec}')
return kaukasec
async def main(array_kaukascev):
ochered_kaukascev = deque(iterable=array_kaukascev)
while ochered_kaukascev:
try:
droch_end = await drochit_hui(ochered_kaukascev.pop())
soso_end = await sosat_hui(ochered_kaukascev.pop())
except IndexError:
print('I am champion!')
if __name__ == '__main__':
array_kaukascev = range(1, 10)
loop = asyncio.get_event_loop()
loop.run_until_complete(main(array_kaukascev))
loop.close()
курс на степике, вышкинский курс на курсере и в ютубе - алгоритмы на pyhton3, курс от МИФИ
> ждать
Если ты имеешь ввиду ожидание ответа от сервера, то не совсем. Один говнокод отправляет запрос, после чего:
а: прошло 30 секунд, но нужное событие на сервере не произошло - серв сбрасывает соединение, говнокод начинает цикл заново
б: нужное событие произошло - сервер отвечает, говнокод дергает из ответа что нужно и добавляет в лог, начинает цикл заново
Второй говнокод делает то, для чего в апи нет удобной функции с ожиданием, поэтому будет дрочить серв каждую секунду. Говнокод_2 отправляет запрос, сразу же получает ответ, сравнивает с предыдущим, после чего:
а: нужного отличия от предыдущего нет - говнокод_2 начинает цикл заново
б: нужное отличие есть - говнокод_2 добавляет отличающееся значение в лог и начинает цикл заново
> dummy
Насколько я понял из документации, это не разбитие на отдельные процессы, а обертка над threading, то есть по факту выполнение все равно будет поочередно, а не одновременно. Нашел еще Process (в том же multiprocessing), который вроде именно на процессы разбивает. В чем его подводные, почему его не посоветовал?
Что-то не хочется мне в твоём ТЗ с говнокодами разбираться, да я и сам начинающий, но
>по факту выполнение все равно будет поочередно
нифига не так
It supports asynchronous results with timeouts and callbacks and has a parallel map implementation
и у меня оно так и работает: я запускаю через map нужный мне метод класса и оно работает в стольких потоках, сколько я поставил + возвращает инфу обратно в класс, чего с каким-нибудь попеном не добиться никак вроде
Их все нужно пройти, или двух курсов на степике будет достаточно?
Какие дальнейшие шаги? Сам я, несмотря на выполнение большей части заданий из книги Доусона, нихуя не могу, разве что переделать уже готовый код.
Что дальше читать, чем дальше заниматься? А то я прочитал и уже второй день сижу как долбаёб и не знаю, что дальше делать.
Еще проблема в том, что мне просто интересно учить Пайтон, то есть, у меня не было и нет конкретной идеи работать в какой-либо отрасли, от чего я тоже не могу определить с тем, что мне начинать учить.
У тебя два пути, или в машоб или в веб, за первым в соответствующий тред, за вторым ищи инфу по django, sql, aiohttp, http и т.д.
Попробуй попилить утилиты какие для себя, автоматизируй процессы нужные(и не очень) для себя.
> нихуя не могу, разве что переделать уже готовый код
Поверь, этого ты точно не можешь) Ибо в 90% это пиздец а не код, офк если не брать примеры из книги.
В Питонухе жи широкие возможности для работы с модулями. Конфликта имен из разных модулей в принципе не может быть (офк если долбоебы не юзают import __all__)
Судя по запятой после книги писали на отъебись и корректору не давали, очевидное говно.
А ты пробовал разобраться в коде где есть куча глобальных переменных? Думаю что нет, тебе таки повезло.
Их не любят по вполне конкретным причинам и это заслужено.
Да какие процессы, мне нихуя не нужно, автоскроллер двача что ли писать?
У меня нет прикладных задач, которые надо решить.
>>70823
Наверное всё-таки придётся в веб вкатываться, у меня как раз хватает литературы по JS, HTML, PHP и SQL, заодно по DJango что-нибудь прикуплю, буду фулл-стек технологий нарабатывать.
>мне нихуя не нужно
>У меня нет прикладных задач, которые надо решить
Кого ты пытаешься наебать? Сам же писал:
>>70810
>мне просто интересно учить Пайтон
Вот и сделай себе прогу, которая будет учить питону, лучше даже в игровой форме. Мне бы блять твои проблемы, а то задач дохуя, но реализовать их из-за слишком ебанутой структуры (даже в голове с трудом представляю, как это будет выглядеть, не то что закодить) вкупе с околонулевым опытом не могу. Ты ведь срешь? Вот и сделай анализатор времени и продолжительности сранья, как раз с бд поработаешь. И мобильное приложение, чтобы заносить данные прям не вставая с толчка. Чем не задача? Тут и бд, и сервер (пусть даже локальный), и разработка под мобилки, и даже говно. Незабываемый опыт. Можно конечно сделать чисто на мобилке без синхронизации с сервером и занесения в бд, но это ведь уже не так интересно
На самом деле как вводная книга написана весьма интересно, не сложным языком для дцп как я пойдёт
ВСкод конечно же
VS Code
Окей, спасибо, буду пытаться всякое говно написать. А где брать информацию по тем аспектам, которые мне непонятны и/или неизвестны, есть какой-нибудь проверенный сайт?
И вообще, правда, что сказал анон выше, что Питон - это только машоб или веб?
Я бы сказал это только машоб, и то потому что я не знаю что такое машоб, в вебе с пхп найти работу намного проще
Вот во фласке есть формы (Модуль WTF) и в джанге есть формы.
Вопрос, а их вообще обязательно использовать? Я же могу в файлах шаблонов все поля ввода указать инпутами, пусть даже бустраповскими? Указать метод и роут всеравно притаранит мне данные с вебморды клиента.
Или это какая то говнокодерская практика?
А то пока в формах вижу смысл если у тебя пиздатый интернет магазин и надо список товаров в блоках через for шабланизатора указывать. А простые примеры уровня Фласк квистарт - просто избыточны, можно же сразу в документе хтмла все прописать и отдавать его как блок контет.
Помогите разобраться
В принципе так всё и есть:
1. Если формачка простая, без валидации и изъёбов - проще на бутстрапе её накидать и всё.
2. Если форма сложная(много полей, валидация и т.п.), то лучшая практика - сделать всё через формы встроенные(wtf/django forms).
3. Если не просто валидация а ещё и привязка к БД, то тожесамое - юзать формы и передавать потом на фронт.
Понял спасибо.
>вопрос, а их вообще обязательно использовать?
Нет, просто удобно написать валидацию данных, конечно же это все можно сделать на js.
Не слущай этого товарища, насчёт "только машоб, а в вебе и пхп есть" >>71326
Прекрасно пишется и то и то, и там и там работа есть и её хватает. Ближе бэк - хуярь бэк + немного бутстрапа для фронта. Нравится десктопная хуйня - хуйярь её. Нравится машинное обучени - милости прошу к TF/PyTorch шалашу.
Так это хорошо, что разнообразие есть, только вот для меня так и не ясно до сих пор, как дальше хоть в какую-то сторону развиваться, где брать информацию, на что ориентироваться. Пытался гуглить, но максимум нагуглил рекомендацию задрачивать олимпиадные задачи для развития навыков владения языком.
Наверное придется действительно вебом заниматься, у меня по нему книг куча, все толстенные, хватит надолго.
https://pythonprogramming.net/
Начни с этого, к примеру. Есть много интересных уроков и живых примеров работы. Только Джангу от него не смотри, ибо, лично для меня, он немного хуйово делает, по джанге лучше книгу прочесть. То же самое с играми - это чисто развлекалочка, на деле этим никто не занимается серьёзно.
https://pythonworld.ru/
И вот это ещё норм почитать, сразу с примерами идёт.
при чем тут глобальные переменные и работа с модулями?
Глобальные переменные могут успешно устраивать хаос и в
в рамках одного модуля
Спасибо, буду пробовать
а вот вопрос почему большинство долбаебов используют всратый нейминг вместо контекстного все ещё остаётся открытым
Как пример:
views.py/
class ZalupaView
actual_code.py/
from views import ZalupaView
huemoe(ZalupaView)
Вместо:
views.py/
class Zalupa
actual_code.py/
import views
huemoe(views.Zalupa)
Так после еще позвонили и сказали что нужно еще повертеть деревья лол. И это я джуном веб макакой устраиваюсь.
Взял бы тестовое - уже бы работал, нет надо выебываться, и время тратить свое и чужое.
Так я тестовое и делаю сейчас, работы примерно на 1-2 недели, смотрел похожие проекты, там там человек 10 писало и у репы 500 звезд. Видимо меня решили потроллить.
И да отправлял решение, а мне сказали что использовать стандартную библиотеку нельзя, а то слишком просто. хотя
даже с ней там кода на 1к+ строк
> работы примерно на 1-2 недели
Нас ебут, а мы крепчаем, да? Нахуй вы на такое соглашаетесь...
Кинь хоть ТЗ почитать, чем там нынче ебут узнаем.
Вот есть у меня теги, есть название, есть описание, есть дата итд, а как мне в базу запихнуть ссылку на главы? Я вижу как-то так: тысячи папок с названием манги, но не заебусь ли я их создавать, даже если через парсер
manga/naruto/chapter1.zip - как-то так
обоссыте меня, что думаете?
Да здесь примерное похожее скидывали, нужно было написать свой парсер кода на питоне, запрещено было использовать встроенные библиотеки, некоторые встроенные функции, покрыть все тестами, запилить интерфейс и сетап. Я тогда нашел у кого то этот проект на гитхабе, так там кода было я ебу и это не вьюхи на джанге клепать, там каждая строчка это ебанутая сортировка данных.
Ооооо, епам-лаба, здрасти.
Шли.их.нахуй.
Есть готовое решение от еблана который просидел N-дней и вроде как оно работает. Так что если что .... нутыпонел
Там похожее задание, в принципе я уже примерно нашел решение, но конкретно на реализацию может уйти много времени. При том что я подсмотрел его в похожем проекте.
Не короче - длина та же, если не меньше. Не наглядней - наоборот, такой подход позволяет тебе больше говнить где не надо, а класть хуй на архитектуру проекта. Если твой файл называется views.py, то и клади в него вьюхи, и смысла в таком случае нет повторно приписывать каждой хуйне "ХВью", но нееет, будем использовать всратый нейминг и позволять себе кидать все в один файл в одну сраную кучу, и сериалайзеры, и миксины, и все на свете.
Нахуй спрашивается нам вообще модули нужны? Погнали все делать в одном файле.
Но как скажешь.
> Не наглядней - наоборот
Твоё мнение, не более.
Мне гораздо проще импортнуть из файла views->XyuView, из файла forms->XyuForm и юзать потом это всё.
Приём тут скидывание в один файл не ясно. Такой импорт и нейминг не влечёт за собой того говна, что ты описал.
Тебе пригорело от чьего-то кода, вот иди и тому человеку говори про архитектуру его приложения. Не более. Если автор даун - как ты файлы не называй всё равно пизда может быть.
Что ты не можешь сообразить? Как использование глобальных переменных сокращает динамичность кода привязывая его к конкретным глобальным данным?
Ладно, вот тебе пример в тупую:
Я не знаю работал ли ты с базами данных, потому вместо базы в примере будет словарь. Именовать все буду как будто наш словарь это база данных.
Есть функция которая получает пользователя из базы данных:
db = {
...."users": {},
}
def get_user(id):
....global db
....return db["users"][id]
Вот у нас замечательная функция которая полагаясь на глобальную переменную возвращает из базы пользователя.
Прошло под года, у нас пол приложения работает основываясь на этой функции.
Ой! У нас вдруг возникли новые требования! У нас может быть множество баз данных и в зависимости от того с какого континента в наше приложение пришел запрос данные пользователей нужно брать с какой-то конкретной из них, но все другие со старой основной! И мы определенно точно не можем переписывать пол года разработки нашего приложения под новые требования потому как показ уже завтра. Что же делать?
Мы берём и делаем так чтобы везде перед запуском конкретно функции get_user переменная db ссылалась на нужную версию базы данных, а после окончания опять становилась как было. Например декоратором:
def db_switcher(func):
....def wrapper(a, kwa):
........global request
........global db
........prev_db = db
........temp_db = get_db_by_request(request)
........switch_db(temp_db)
........result = func(a, kwa)
........switch_db(prev_db)
........return result
....return wrapper
Фух, чтож, конечно костыль, но ведь легко и будет работать? Ой! А что это у нас в асинхронные параллельно выполняющихся таски начали странно работать? О нет! Они тоже используют глобальную переменную db! Из-за того что мы это забыли данные иногда записывались не в основную базу, как должны были, а в случайную континентно-зависимую! Упс, кажется мы просрали немножко пользовательских данных, чтож, бывает.
Что теперь будем делать? Нужно чтобы при смене базы приостанавливались все асинхронные таски. Что же, давайте вешать на неё лок. Конечно костыль и до пизды ебени замедлит наше приложение, но ведь быстро делается и будет работать!
И так далее.
Что ты не можешь сообразить? Как использование глобальных переменных сокращает динамичность кода привязывая его к конкретным глобальным данным?
Ладно, вот тебе пример в тупую:
Я не знаю работал ли ты с базами данных, потому вместо базы в примере будет словарь. Именовать все буду как будто наш словарь это база данных.
Есть функция которая получает пользователя из базы данных:
db = {
...."users": {},
}
def get_user(id):
....global db
....return db["users"][id]
Вот у нас замечательная функция которая полагаясь на глобальную переменную возвращает из базы пользователя.
Прошло под года, у нас пол приложения работает основываясь на этой функции.
Ой! У нас вдруг возникли новые требования! У нас может быть множество баз данных и в зависимости от того с какого континента в наше приложение пришел запрос данные пользователей нужно брать с какой-то конкретной из них, но все другие со старой основной! И мы определенно точно не можем переписывать пол года разработки нашего приложения под новые требования потому как показ уже завтра. Что же делать?
Мы берём и делаем так чтобы везде перед запуском конкретно функции get_user переменная db ссылалась на нужную версию базы данных, а после окончания опять становилась как было. Например декоратором:
def db_switcher(func):
....def wrapper(a, kwa):
........global request
........global db
........prev_db = db
........temp_db = get_db_by_request(request)
........switch_db(temp_db)
........result = func(a, kwa)
........switch_db(prev_db)
........return result
....return wrapper
Фух, чтож, конечно костыль, но ведь легко и будет работать? Ой! А что это у нас в асинхронные параллельно выполняющихся таски начали странно работать? О нет! Они тоже используют глобальную переменную db! Из-за того что мы это забыли данные иногда записывались не в основную базу, как должны были, а в случайную континентно-зависимую! Упс, кажется мы просрали немножко пользовательских данных, чтож, бывает.
Что теперь будем делать? Нужно чтобы при смене базы приостанавливались все асинхронные таски. Что же, давайте вешать на неё лок. Конечно костыль и до пизды ебени замедлит наше приложение, но ведь быстро делается и будет работать!
И так далее.
Это не мнение, а утверждение простой логики. Организация вида:
import views
views.Thing
Имеет незначительные организационные преимущества, по сравнению со вторым вариантом в которых их попросту нет:
- на уровне семантики заставляет тебя класть в views только view, и если хочешь объявить сущность другого вида - будь добр создать отдельный модуль
- делает импорты чище, у тебя никогда не будет говна вида
from zalupa import (
....a, b, c, d, eeeeeeeeeeeeee,
....f, g, h)
- делает нейминг в рамках одного модуля короче/чище
Про второй вариант я в принципе не могу сказать никаких логических "за".
И вообще каким хуем использование нейминга ThingView вместо views.Thing "наглядней и проще"?
> И вообще каким хуем использование нейминга ThingView вместо views.Thing "наглядней и проще"?
Очень просто, я импортирую из view конкретную функцию/класс и всё, не трогая и не имея никакого доступа к остальному.
Но как я уже и писал, ни тот ни другой способ импорта не спасает от говнокода и говноархитектуры. Если всё ок, то в любом случае всё ок. А все эти " на уровне семантики заставляет"/"делает нейминг в рамках одного модуля короче/чище" - хуйня и провокация и твои ощущения, не более. Тебе так кажется, ты так считаешь. Но это ни коим образом нельзя подтвердить практически, я имею ввиду, что этот способ НЕ СПАСЁТ от проблем архитектурных, не ускорит разработку или выполнение программы, так что всё это высокие материи.
Не вижу проблем в импорте такого вида, как ты привёл:
from zalupa import (
aaaaaaaaaaaa,
bbbb,
cccccccc,
dddddddddddddd,
eeeeeeeeeeeeee,
)
А если у тебя тут слишком толстый импорт - проблемы у модуля из которого ты импортишь и проблемы файла куда ты импортишь. Перевожу - у тебя слишком жирные модули, пора худеть.
>Мы берём и делаем так чтобы везде перед запуском конкретно функции get_user переменная db
Как всё сложно. А как тебе такое, Илон Маск:
def get_user(id, op_db:str=None):
....global db
....if op_db is None:
........return db["users"][id]
....else:
........return op_db["users"][id]
Поехавший? Тогда уж так:
> def get_user(id, op_db:str=db):
> ........return op_db["users"][id]
Весь смысл примера в том что функция get_user использована миллиард раз, и потому расширение ее сигнатуры означало бы прохождение по миллиону точек использования и встраивания указания дб.
На самом деле это даже не относится к проблеме глобальных переменных, а является типичным случаем противоречивых требований от заказчика - код следует сразу писать более гибким и расширяемым, чему глобальных переменные противоречат.
да, внатуре, подумаешь у нас в разных местах кода одного огромного проекта одна и та же глобальная переменная может ссылаться на совершенно разные объекты в зависимости от того в каком порядке код был вызван! Просто ахуенно я бы сказал.
>жирные модули
>объявлено два класса длина названий которых в сумме больше 79 символов, и половина названия которых повторяют имя модуля
>на уровне семантики заставляет класть что куда надо
>неа
Про семантику я конкретно утверждаю что это, очевидно, не ебаные прекомит хуки линтера которые не позволят тебе закомитить говнокод, а однозначная логика склоняющая тебя думать нормальной организацией.
Может ты ещё при проходе в магазин в списке продуктов каждому продукту подписываешь "продукт" на конце чтобы очевидней было?
>расширение ее сигнатуры означало бы прохождение по миллиону точек использования и встраивания указания дб
Поехавший? Использование опциональных аргументов не требует этого. Давай пример получше.
бамп вопросу
> объявлено два класса длина названий которых в сумме больше 79 символов, и половина названия которых повторяют имя модуля
Всё с тобой ясно, ок.
> склоняющая
> думать
> нормальной
Я тебе ещё раз, последний, говорю никакое подобие "логики" как ты её назвал, не склонит дауна писать нормальный код. Всё.
А то что ты писал выше - твоё личное мнение и вкусовщина, это ни разу не аксиома.
> Может ты ещё при проходе в магазин в списке продуктов каждому продукту подписываешь "продукт" на конце чтобы очевидней было?
А ты пишешь продукт.Хлеб? Глупый пример.
Удачи
Норм. Портгрескель+фтп и должно быть норм
>функция get_user использована миллиард раз
Что у тебя за код, что get_user миллиард раз используется? К тому моменту уже давно бы переписали код с нуля несколько раз и сделали иначе.
>>71682
> в зависимости от того в каком порядке код был вызван
Не вижу там такой зависимости, он же подчищает после себя в декораторе. Декоратор вешается на get_user и только в get_user будет другая db.
>>71692
Предполагается, что обязательно нужно менять каждый get_user, нельзя сделать так, чтобы только в некоторых местах юзер зависел от региона. Опциональность тут не работает.
> > в зависимости от того в каком порядке код был вызван
> Не вижу там такой зависимости, он же подчищает после себя в декораторе. Декоратор вешается на get_user и только в get_user будет другая db.
Надумать такое можно, скажем по каким-то причинам некоторые гетюзер задекорированы чем то ещё до свитчдб.
Короче говоря, есть у тебя есть достаточно автотестов - используй что хочешь. Говнокодить можно и с глобалками и без, а проблемы следует решать по их поступлению.
ищу человека в команду из двух человек, чистое хобби, никакого заработка
Используем гит, функционал на данный момент средний, есть бд
Тг - @vechnoe
В области веб разработки.
Хуйня же, он всё рано будет ждать, пока отсосёт, прежде чем начать дрочить другому.
Вот и поясните, я ж просто качаю рандом иде типа pycharmа, а потом тот же керас подрубаю и никаких подводных нет?
Что за фигня такая python и почему там везде какие-то пип
Это чё линукс? Я не понимаю прикола. Объясните зачем эти команды, куда их писать, зачем они нужны, и где про них прочитать. Что это такое вообще этот питон и зачем надо что-то устанавливать через какую-то строку вместо обычной скачки и установки или графического интерфейса и почему это делается именно через пифон.
70-100 гривен?
Вы больные какие-то. Типичные двачеры с какой-то наркоманией в голове. Так ответ на вопрос будет, семен?
Тысяч рублей
Смотрел курсы по сишарпу (лектор лысый), понравилось, подача хорошая.
Ты вопрос не смог сформулировать нормально. Ты спрашиваешь "это чё Линукс?", ведя речь о питоне. Если ты путаешь язык программирования и ос, а так же боишься консоли, то ты, скорее всего, пиздишь о том, что ты программист.
Лол, данинг-крюгер в треде. Это каким надо быть ебнутым, чтобы подумать, что кто-то может спутать ОС и язык.
Типикал скриптеры.
Ты уже второго анона пытаешься обосрать, так и не сформулировав вопрос. Видит Бог, будь все си++ программисты такими, как ты, мы бы дальше юникс-подобных систем не продвинулись.
https://python-socketio.readthedocs.io/en/latest/server.html#defining-event-handlers
Бумага реквесту.
Вот аноны, я с вас хуею, почти в каждом трэде есть люди у которых нет опыта/не знают что писать/хотят в гите что иметь/поработать командно и т.д. и т.п. но как есть такая возможность - хуй кто пишет. Пиздец.
Если кого смущает "бот для ВК", то поясню немного:
1. Есть ядро бота, пишем для него плагины, неспеша.
2. Ботом пользуются(хоть и не всеми плагинами, но тем не менее).
3. Пайтон 3.6., sqlalchemy, postgres, flask, nginx, aiohttp, linux, апи сторонних сервисов - вот это все что юзается. Хочешь что-то из этого изучить/попробовать - добро пожаловать.
4. Ну и конечно же гитхаб и почти весь его возможный функционал для работы в команде. CI на подходе.
5. Есть идеи по созданию плагинов - будем обсуждать и думать как реализовать вместе.
6. Дохуя опыта сверхтребований к анону нет, главное что бы было желание читать доки, развиваться.
Нет так нет, как говорится.
> будет плодится куча тредов при большом количестве соединений
Все правильно, все по заветам хрома. 4 вкладки - 53 процесса. А в фф у меня 43 вкладки, но при этом он нихуя не жрет и не порождает мемов про охуевшее потребление озу, поэтому-то такой непопулярный
На год бесплатно же, а все равно, как мне потом это выводить оттуда, не будет задержек?
Оно и потом бесплатно с твоими объемами.
>как мне потом это выводить оттуда, не будет задержек
Каждый файл автоматически получит уникальный УРЛ.
Причем можно эти урлы делать подписанными, т.е. с ограниченым доступом
>не будет задержек
А ну да. Производительность этой хуиты - чтото запредельное. Никакие самодельные решения рядом не валялись.
А причем тут пример с браузерами?
Прочел лутца, безумие или отвага?
Это NoSQL база данных с которой не нужно ебаться, все уже готово. Просто пиздец крутой продукт. Вот просто блять пиздец, дрочу на него когда бурятки уже не вставляют.
А я говорил об S3 (Simple Storage Service), это хранилище файлов.
Полезная фича это уникальные урл на файлы.Интересный побочный эффект этого - возможность хостить статические сайты бесплатно и с бесконечной производительностью. Просто заливаешь индекс.хтмл и пиздец. Не сильно ошибусь предположив что половина всего что вы видите в интернете лежит как раз там.
Эти две хуйни часто используют в связке, кстате.
Вообще не пойму почему в СНГ про амазон сервисы так мало знают и вцелом их презирают. В сшашке это самых востребованый скил, в той или иной степени их используют все компании, многие компании двинули на амазон вообще всю свою инфраструктуру. Инженеров буквально упрашивают стать девопсами и ебаться с облаками, хайп уже который год все растет, есть буткемпы которые платят ТЕБЕ пока ты учишь облачную хуйню если потом обещаешь работать у них.
А на двачах похоже и не слыхал про это никто. Хотя для фриланса явно самое то.
>>72208
>Анончек, ты бог, спасибо :3
Я? я унылая 8/8 авс сертифайд макака ((( вот и все
Чет у меня ваш вс коде вызывает немножко шипение потому что я слишком тупой, захотел я написать свой первый хеллоу ворлд, все вроде создал файл, сохранил его как питоновский все дела, пишу print 'hello world' нажимаю показать в консоли а он плюется в меня ошибкой
"Не удалось запустить команду процесса терминала "C:\WINDOWS\System32\bash.exe" (код выхода: 2)"
Че делать? от имени администратора уже запускал
Ладно я сделяль сам
Но теперь я столкнулся с другой проблемой, оказывается то как я писал хеллоу ворлд как это описывается в книжке "введение в программирование", теперь неправильно , теперь надо писать print('hello world')
зачем кстати так усложнили, без скобок же пизжее было
Ля когда то задумывался кстати над этим, но почему то все таки начал питона "учить" а в ковычках потому что прочитать первые пару страниц книги это нельзя назвать изучением
питон полезнее руби. на нем можно не только сайты делать (а рельсы в отличие от самого руби это кучка кала, я особенно сасс и кофескрипт не люблю, сасс с его форсед индентэйшн то что я не люблю в питоне хуле мне его в рожу пихают, есть сксс же, а кофескрипт просто не нужен), он еще хорош для веб скрейпинга, мэшин лернинг и т.п.
я питон ненавижу и то приходится немного учить т.к. по тензорфлоу.джс мало учебного материала
Девопсы с кошкомальчиками
хотя не совсем понятно, почему для elif надо писать условие а для else не надо
Else это ВСЕ случаи, которые не удовлетворяют вышестоящему if.
Elif это те, которые не удовлетворяют вышестоящему if, и при этом удовлетворяют условию из elif.
Сравни:
Если машина красная
Ехать
Иначе
Стоять
Если машина красная
Ехать
Иначе если синяя
Помыть
Иначе
ехать
> хотя не совсем понятно, почему для elif надо писать условие а для else не надо
if = если х, то...
Остальные elif, это, по сути, те же if. Просто дополнительные ветвления.
else = иначе...
На самом деле в пистоне else имеет другой смысл, else есть и у лупов (for, while). В них он срабатывает тогда, когда луп закрывается "нормально", без обходных выходов из него типа break/return
И я очень благодарен таким анонам которым не лень
Делать детям нехуй, скиллов нет, а так самооценку себе поднимают хоть как-то. В си/сипп треде вообще приходят идиоты, которые не в состоянии массив пройти циклом, и им 10 решений на онлайн комплияторах скидывают в течение часа, а как о чем-то нормальном поговорить — треды мертвы.
Какая то необоснованная агрессия, чего ты этим добиваешься?!?!?!?!?
>куда
Туда же, где был до этого. Рассказывать на доске как не можешь 3 года вкатиться стажером, а в соседнем треде рассказывать как писать на сипп — зашквар и вышка нинужна, а вы чем-то ещё тут занимаетесь? Даже шейдеротред утопили. Не отвечай мне, кстати.
Но ведь я вкатился лет семь назад через эмбед в разработку тулчейнов на с++, ты о чем?
И правда. Мерси, скачал пдф.
нет никаких хороших книг. Но есть хорошие видео на ютьбе, в первую голову https://www.youtube.com/watch?v=CZ3wIuvmHeM
Потом посмотри чтонибудь с re:Invent
Потом наверни немного видео по serverless.
И охуей от эндлес посибилитис.
Сейчас набегут маньки с аутсорс галер и пояснят что деды монолиты лепили и неча тебе и начинать.
>>72549
А анон с вопросом про с3 предпринял какието шаги к исправлению этого? Может видео какое посмотрел и имеет конкретные вопросы?
"не удалось запустить команду процесса терминала"
Перезагрузил вскод, все заработало
бля, а ведь именно поэтому в школе отрицательные числа в скобках писали. я думал это чисто декорация
сука ржу с себя долбаеба
И собственно встаёт вопрос, а могут ли вышеописанные пайтовские фреймворки (PyQt, PyGTK, Kivy, wxpython, Tkinter) соперничать с джаваскриптом в плане гибкости, удобства использования, и разнообразия ui-компонентов? Если объяснить проще, то мне хотелось бы взять какой-нибудь пайтоноский фреймворк и тут же накидать готовых менюшек, инпутов, таблиц, графиков и проч. И что бы всё выглядело современно и респонзитивно?
Из перечисленного только PyQt пробовал когда-то давно, мне не понравилось, по большей части документацией, приходилось догадываться самому как в PyQt сделать то, что я делал в C++/Qt.
Cейчас я бы сделал rest api для мл проекта и вместо электрона обычный веб-интерфейс.
киви - сырое говно с 3 девелоперами
вэикс - полумёртвое говно
ткинтер - мёртвое говно
про состояние пайгтк не знаю, но наверное см. вэикс
а вот куте даст на клыка любому электрону. только вкатываться в него достаточно долго, не получится выучить под проект
за электрон жс не скажу, но по-моему он переоценён
может, тебе вообще jupyter + bokeh/matplotlib подойдёт
вообще, почитал тамошние доки, достаточно норм. бери электрон. я бы сам на куте делал, но новичку для норм результата посоветовать не могу
Я не понимаю где я проебался
возможно предположение что тип функция не закрыта, но как ее закрыть тогда?
>Cейчас я бы сделал rest api для мл проекта
Посыл понял. Но проблема в том, что не нужен интерфейс для обучения нейросетки. Если это обучение вывалить на удаленный сервер, то он скорее всего просто умрёт, поэтому бек должен работать локально. Поэтому особого смысла в веб-интерфейсе нет. Точнее электрон и есть тот самый веб интервейс, который просто аккуратней выглядит.
>>72657
>киви - сырое говно с 3 девелоперами
Спасибо, а то мне он показался самым перспективным и я уже начал по нему маны курить. Но если он действительно сырой, то сразу нахер его.
>а вот куте даст на клыка любому электрону.
Да, это факт. Но как я понял готовых красивых юаек под него нет? И с дизайном придется самому заморачиватся или будет выглядеть как говно, я прав?
Я все таки совсем совсем только вкатываюсь, разжуй более понятно пожалуйста
>вызовы say находятся в функции say.
Разве так и не должно быть ?
> пик
Какой ужас. Твой учебник косячит, вызовы say должны быть том же уровне, что и def, а не на уровне print.
Я бы предложил выкинуть этот учебник, но подозреваю, что на русском не так много выбора.
Так это укус питона из шапки, я вообще начал с пикрила, но там можно сказать с самого хеллоу ворда все не так и дропнул его я там выше уже отписывал потом мб когда нибудь прочту когда на работе нехуй делать будет
Это не учебник косячит, а охуенные русские переводчики.
посмотрел, заливать вроде можно картинки, но ссылка на них дается как, например, на imgbb. Как мне их оттуда брать и выводить в виде domain/naruto/chapter1/1pikcha?
Wxwidgets не лезь, оно тебя сожрёт. Очень неудобные утилиты, мышкой толком не поклепаешь.
Кроме этого я юзал кутэ, но на с++, а на питоне не юзал. Было норм.
Первое число будет initial
если это число не задано, по умолчанию оно будет 5
передаешь в функцию 10, 1, 2, 3
10 станет initial, а 1,2,3 перейдут туплем в numbers
блядь я тупой, я беру эту картинку через api и просто вывожу ее ://
А пользоваться api бесплатно на этом вашем s3?
А можешь рассказать поподробнее? Стоит их прям сейчас, с нуля учить? Или все-таки нужно знание мускуля в том числе? Он же в принципе еще дохуя где используется.
Кст, решил спиздить дизайн сайта, как это лучше всего сделать?
Сайт у себя ничего не хранит, просто по rpc какому-нибудь отправляет тебе эти пикчи по запросу. Никогда не видел, как работает хранение пикч в инстаграме?
https://instagram.fhel5-1.fna.fbcdn.net/vp/28889e2ebd0cd83e03f5aac76bdd94d2/5D3CCBB7/t51.2885-15/e35/37683339_272159170182717_6372433901809303552_n.jpg?_nc_ht=instagram.fhel5-1.fna.fbcdn.net
Фейсбучный сдн, инста те ток пикчи подгружает оттуда.
не сижу там, но смысл понял, на вк похоже. Объясни тупому, где мне хранить главы от манг? или где хранят видосы сайты для просмотра сериалов, фильмов итд
Че вообще почитать, как все это собрать вместе
> MySQL уже устарел в качестве СУБД?
Нет.
> Что сейчас актуально на рынке?
Если ты погромист-пистонист, а не спец по БД, то зная на базовом уровне синтаксис любой из 3 БД(майскл, постгрес, склайт) ты знаешь их всех.
В новых проектах зачастую нет требований к конкретной БД, в готовых проектах БД может быть любой, хоть оракл, хоть firebird.
Но:
1. Учить специально склайт - глупо ибо она чисто для тестов тебе погонять. В проде её нет(по крайней мере ни разу не встречал).
2. После того как постигнешь азы реляционных БД - начинай учить ОРМы и вникать в них - полезней.
>где мне хранить главы от манг
В смысле? Не понял, что ты хочешь сделать вообще.
> где хранят видосы сайты для просмотра сериалов, фильмов итд
У тебя есть представление, как работает content delivery network?
Грубо говоря, юзер зырит сайт, заходит на страничку с пикчей/видео, сервер грит - у меня кароч нет файла sosihui.mp4, но он есть у на сдн-массиве, пацаны, скиньте ему файл.
Пацаны (сдн-массив), смотрят, кто к тебе ближе - ага, ты в Европе, ну ща к тебе eurocdn-228 подскочит кабанчиком. Твой запрос перенаправляется к eurocdn-228, а он тебе отсылает файлик.
То ли я тупой, то ли ты не знаешь чего хочешь.
В чём проблема в хранении файлов?
Сохраняешь файл в ФС, путь к файлу кладёшь в БД и обращаешься по нему. В той же БД запили таблицу ГЛАВА, к ней ONE-TO-MANY таблицу с записями в которых хранятся сами файлы из глав и всё.
А сами файлы храни или на том же серваке(прикупи сервак с ССД и оперативы побольше). Всё.
Нахаляву хочешь хранить? Не стоит заниматься такой хернёй, ибо заплатил и спишь спокойно.
Хранение и прочее можешь на локалке оттестировать.
>В проде её нет
В каком таком проде, назначение её не понимаешь? Для десктопных приложений хранить данные в нём это считай стандарт. Твой браузер использует её.
хочу сделать сайт типа readmanga
>У тебя есть представление, как работает content delivery network?
это же дорохо наверн?
и разве тогда нельзя достать любые файлы, с любого другого сайта,м?
блядь, именно так и было в голове, спасибо анонче!
> В каком таком проде, назначение её не понимаешь?
Для меня она всегда была для того что бы тестировать приложение локально.
> десктопных приложений
тогда уже надо вспомнить и про
> мобильных приложений
Антош, дело в том, что тут питоно-тренд и как бы последнее о чём я вспоминаю при слове питон - десктоп приложения или мобильная разработка.
При разработке бэк-энда я не встречал SQLite нигде, вот и всё.
Питон 2.7.
и убери эти ретурны, не нужны они
File "C:/Users/Peka-PC/PycharmProjects/untitled2/venv/fsdsd.py", line 7
print 'da'
^
IndentationError: unindent does not match any outer indentation level
Походу я неправильно отступ выбрал. Но почему? Как правильно?
лажа в отступах
1. Почему пайтон 2?
2. Почитай про функции и эксепты: как с ними работать и как применять ибо ты ерунду полную написал.
А тебе не похуй какой урл увидит твой пользователь? Ничего зашкварного с с3 раздавать нет, скорее наоборот.
Можно прописать алиас в амазон днс и тогда оно будет выглядеть какбудто оно на твоем домене.
Дергать файлы по айпиай своим немощным говносервером ненужно и вредно, хотя это и бесплатно.
>Нахаляву хочешь хранить? Не стоит заниматься такой хернёй, ибо заплатил и спишь спокойно.
Блять.... раз уж ты пишешь из 2014 года, то могу дать советов каких акций взять.
Blockbuster бери. У знакомых, у мамки, у всех займи и на все возьми блокбастера. Нетфликс в 2015 году развалится, они эти... как их.. ну микрасервисы в облаках делали ну и обосрались. Блокбастер то все на бумаге записывал, ну акции понятно туземун.
> Blockbuster
> in 2010, the company filed for bankruptcy protection
> In November 2013, the last 300 company-owned stores were closed.
В моем 2014 уже нет никакого блокбастера.
да? ну тогда Амазон продавай. Они там хуйню какуюто удумали, типо все будет в тучках бесплатно. Ебанулись.
На вырученные деньги приобретай ССД, они в будущем в цене. Все паттерны вокруг них будут вращаться.
>last 300 company-owned stores were closed.
Альзо это пиздешь https://www.nbcnews.com/news/us-news/oregon-city-will-have-last-blockbuster-store-world-n980401
И к чему тут 2014?
Я говорю о том, что юзать бесплатные тестовые периоды и прочую халяву - еботня и ограничения.
Если у человека серьезные намерения то лучшим прикупить себе сервак и всё этом. И похуй какой, хоть в облаке хоть хоть вас, хоть выделенный. На Амазоне свет клином не сошёлся.
А если ему поиграться просто, то нахуй вообще сервак, на локалке запустил и всё.
Потому что urlopen бросает исключение, а не возвращает код ошибки?
Django позволяет создать простые сайты (сайт-визитка) без использования фронтент-фреймворков. У него есть встроенная возможность генерации статических html-страниц. Но при усложнении сайта неизбежно возникнет необходимость в ajax-подгрузке данных, не покидая страницу, в обновлении элементов на странице без обновления всей страницы. И уже силами одного лишь Django это сделать не получится - придётся подключать JavaScript-фреймворк. И чтобы не подключать устаревшее говно, вроде jQuery, можно сразу создавать фронтенд в формате js. При этом, всю логику отображения, взаимодействия элементов берёт на себя JavaScript, который в итоге подключается к пустой статической странице в виде js bundle-файла. В этом случае бэкенд-фреймворку остаётся отвечать только за отсылку данных на фронтенд - данные из БД через API.
Можно ли подключить реакт?
Можно ли подключить реакт к фласку?
Можно липодключить реакт к фласку(рест апи на фласке), без node.js?
Можно ли найти работу на одном бекенде?
>это новый индустриальный стандарт
В СНГ параше в вебстудиях других зарплат и не было никогда.
Только в интерпрайзах типа Газпрома, или банков хорошие деньги.
>>73085
Поэтому вам навопрос какой язык учить говорят учи английский.
Потому что держатели таких вебстудий это вчерашние вкатывальщики которые английский знают.
Они берут заказы у белого человека на несметные тыщи, а маминым вкатывальщикам который английский не нужен платят 30К рублей.
Древняя тема.
Гу3гля гайды, а там пишут скочайте мол node.js. Но зачем мне ноде жс если я хочу на фласке.
А еще редукс, Редууууукс.
Ну окей буду гуглить.
Если я пилю сайт типа readmanga на джанго, то какой фронтэнд фрейм мне нужен? И за что он будет отвечать на этой читалке
да, я пока что тупой
sl/ac/k-2/ch/pr.her/oku/ap/p.com/
(убери "/")
да какой хочешь епт, что за вопросы
блин как ты что-то пилишь если не понимаешь что делает джаваскрипт в браузере, а что серверный язык
джаваскрипт изменяет страницу без перезагрузки
при желании можно написать читалку что там на серверной стороне тебе в основном база данных нужна будет и вся читалка будет одна динамическая меняющаяся страница (реакт как раз для чего-то такого и нужен, ты спрашивал зачем нужны крутые фронт-энд фреймвоки?), писать придется естественно не на питоне. а можно написать что джаваскрипт только какие-нибудь всплывающие окошечки делает как на твоем ридманга, сворачивающиеся менюшки и все-такое, а серверный язык обеспечивает генерацию страниц
Ну крч на джанго это бд и роутинг, а на каком-нибудь реакте/вию я пилю всякие эффекты и читалку:?
>Хочешь поговорить о вкате, работе, программирование?
Все конфы вкатывальщиков убогое дно, с самоутверждающимися школьниками
Как и большинство тредов в програмаче
Во-первых тестовый период на год. Это дольше чем проживет его проект.
Во-вторых оно бесплатно и после тестового периода.
В-третьих "покупка сервака" а не аренда посекундно это даже не 2014, а хорошо если 2009.
В-четвертых это более логичных подход, решение будет надежнее и готово раньше.
В-пятых возможность выучить технологию которая всяк востребование Джанго изучение которого вероятно есть цель проекта
Ну и да - на Амазоне +gcp+azure но в основном всетаки амазоне свет клином именно сошелся. Нихуя не могу понять почему в СНГшке, судя по двачу, про это еще не сообщили.
Да, без проблем. React + Flask прекрасно работают в дуэте. Node.js + npm понадобятся в любом случае. Эта ебатория пригодится для установки пакетов и запуска скриптов.
>>13731222
Можно использовать любой фронтенд-фреймворк, советую react или vue.
>>13732074
В babel втыкать нет необходимости. Сегодня все реакт-проекты используют create-react-app, он значительно упрощает первочальную конфигурацию до двух команд.
Джунам - ребята, читайте свежие туториалы на английском.
В контексте фронтенда да.
Антоны, начал учить джангу по созданию библиотеки от файрфокс (https://developer.mozilla.org/ru/docs/Learn/)
Но возник вопрос - там в самом начале устанавливается джанга версии 1.1
Это же пиздец старье, там половина функций перелопатили в 2+, нет?
И после установки джанги я не смог сделать как в мануале django-admin startproject mytestsite ибо -bash: django-admin: command not found. Из-за новой версии?
Зачем учить язык по орфографическому словарю, когда есть учебник с решением практических задач?
>гайды
Куда лучше следить за созданием единого проекта с нуля, чем читать гайды от случая к случаю
Лучше для начала напиши сам себе тз, например борду свою, какой функционал должен быть. Ну и начинай реализовывать.
У джанги охуенная дока, лучше по ней изучать. В этом мозиловском гайде не многим больше
Что за вздор! У джанги есть хороший встроенный шаблонизатор. И на клиентской части можно отрисовать все что душе угодно. Конечно, придется работать и с js, чтобы "оживить" картинку. Может даже вынести какую-то логику на клинет. С шаблонизатором джанги можно сделать все что угодно(ведь на выходе у тебя простой набор html, css, js файлов). Просто это будет не SPA(Single Page Application)
try нужен чтобы обрабатывать ошибки, ненормальное поведение программы. Которые ты не можешь обработать if'ом, или которых вообще не ожидаешь
Очень сильно устарел. На официальном сайте джанги есть пошаговое руководство по созданию, если мне не изменяет память. Если совсем тупой - читай DjangoGirl одним глазом и вторым параллельно на официальный сайт - смотреть разницу в версиях. Если тебе так не хочется и надо сразу всё заебись - иди нахуй, программирование - не для тебя.
Написал за 4 дня, принцип такой же как и в калькуляторе, правда было овердохуя рекурсии. Сказали норм, берем.
> все что угодно
Разве что кроме объявления переменных. Ну и передачи аргументов в параметры функции. А, ну и обращение к андерскор методам. О, да, ещё переносить строку внутри объявления тегов, мое любимое. Ну ещё теги у них не очень, нельзя даже получить verbose_name поля модели, не объявляя свой кастомный тег, но это не страшно. Ну и вообще на каждый не тривиальный кейс они предлагают создавать свой кастомный тег, почему бы и нет?
А так - да, шаблонизатор Джанго прекрасен (:
Прошу помогите ньюфажке.
Нужно сохранить реализацию функции, как это сделать? Pickle знаем но он сохраняет только переменные и где можно найти класс.
Смотри есть функция, мне надо сделать возможность из кода сохранить ее как строку в базу данных, и пусть другой скрипт ее подтягивает из базы данных и имеет возможность ее вызвать, проблема в том что хранить код функции в базе данных в чистом виде не хочется. Как это можно сделать?
import ast
import pickle
func = '''
def func(a, b):
print(a+b)
a = 2
b = 3
func(a, b)
'''
tree = ast.parse(func)
with open('data.pickle', 'wb') as f:
pickle.dump(tree, f)
with open('data.pickle', 'rb') as f:
load_func = pickle.load(f)
exec(compile(load_func, filename="<ast>", mode="exec"))
Не знал как сформировать запрос. Спасибо, уже нашел то что подходит.
>Разработка личных проектов
Мам, у меня тут проекты личные, да не, мультики китайские и оранжевый форум это другое.
Это все равно что написать в анкете знакомств: это не я живу с родителями, а родители живут со мной.
И тут ты нам такой пилишь историю успеха, как стал программистом, не задрачивая код, не роясь в исходниках и не читая мануалы. А на все твои задачи добрые дяди на русскоязычных сайтах давным давно выложили пошаговые инструкции и каждый день смотрят, не обновились ли версии используемого ПО, чтобы тут же переписать статью.
херню говоришь. код вообще выучить не проблема. я говорю про архитектуру.
>Что сказать то хотел?
Да то что если ты называешь себя разработчиком, то по умолчанию ты пилишь дома что-то для себя. Крайне редки случаи когда разраб на работе кодит, а дома не прикоснется к IDE. Такую хуйню только аутисты могут указать.
https://habr.com/ru/post/120194/
>Чтобы натренировать классификатор возьмем размеченный список мужских и женских имен и воспользуемся этим кодом:
def get_features(sample): return (sample[-1],) # get last letter
samples = (line.decode('utf-8').split() for line in open('names.txt'))
features = [(get_features(feat), label) for feat, label in samples]
classifier = train(features)
print 'gender: ', classify(classifier, get_features(u'Аглафья'))
Меня интересуют две строки
samples = (line.decode('utf-8').split() for line in open('names.txt'))
features = [(get_features(feat), label) for feat, label in samples]
Что такое feat и label в цикле for? В первой строке читается строка из файла и делится на слова. Получается двумерный массив. Во второй строке что происходит?
короче это их жаргон, у них там своя атмосфера
Нет нет, меня интересует техническая часть
Что обозначает for a, b in c? Вложенный цикл? Получается c должен быть двумерным массивом?
a = (l.split() for l in ["aa bb cc", "dd ee ff", "gg hh ii"])
d = [(b, c) for b, c in a]
Но пишет
>ValueError: too many values to unpack
https://www.onlinegdb.com/online_python_compiler
лейблы это на аутпут, это то, каким аутпут должен быть. Аутпут может называться prediction или еще как
a = (l.split() for l in ["aa bb", "dd ee"])
d = [(b, c) for b, c in a]
Ога, теперь понятно
Интуитивно труднопонимаемый, поскольку большинство привыкло кодить на языках с си подобным синтаксисом, я думаю
зато руби тяжелее читать-тк одну вещь можно написать многими способами
> Такую хуйню только аутисты могут указать.
Ты скозал.
А ХР как должна догадаться что ты ещё и сам что-то пилишь, а не сидишь на жопе ровно? По слову "разработчик"?
К тому же, этим пунктом я указал начало реальных заказов и работы на фрилансе. Не вижу никаких проблем, а тем более раз схема рабочая и ни у кого не вызывала вопросы(только заинтересованность и просьбу рассказать что жы я там такое делал, а это плюс).
> list comprehensions, unpacking
>@
>насколько же уродливый язык питон
Дебилу дали сахарок - нет, трудно, трудно, нихуя не понятно. Ебануться.
Ну, перепиши это в виде цикла, должно остудить твое траханье.
Анончики че значит эта проблема? Вскод не знает sys? я что то не скачал чтобы он знал sys?
спойлер просто вбить
import sys
dir(sys)
не помогает
Все разобрался, извините за беспокойство
Или я кривожоп что то сделал не так, но так или иначе перезапустив все заработало
>Крайне редки случаи когда разраб на работе кодит, а дома не прикоснется к IDE.
Да нихера. Много знакомых, которые дома отдыхают и для которых кодинг - это работа.
говнохарок
показательно что люди аж спрашивают на дваче что этот "сахарок" делает
сравни одно и то же в трех языках, почему-то вопросы что эта хрень делает возникают только с питоном
блин такая жалость что руби проиграло питону
arr=[[1,2],[3,4]]
print([i + j for i, j in arr])
пистон
arr, res=[[1,2],[3,4]], []
arr.each {|i| res += [i[0] + i[1]]}
p res
руби
let arr = [[1,2],[3,4]], res = [];
for (let i in arr) {res.push(arr[0] + arr[1]);}
console.log(res);
джаваскрипт
бзз
там res.push(arr[и][0] + arr[и][1]);
епта
Если тебя страшат две переменные, можешь писать так:
[sum(pair) for pair in arr]
или даже вообще без переменных:
map(sum, arr)
Кому что привычней, то и понятней.
ну, я вообще нихуя не понял в руби и джс.
>почему-то вопросы что эта хрень делает возникают только с питоном
@
>Python 3.7.2 /python/ Аноним # OP 20/03/19 Срд 14:28:03 №1367495
ну хуй знает
До этого почти две недели решал математические задачки по структурам и функциям, регексы-хуегексы и гип-хуип, а эта херня по ООП тупо неинтересной показалась.
Для работы столяром лучше взять ножовку или циркулярную пилу?
Ну да, тебе не стать программистом, если ты дропаешь задачи.
Зачем если тоже самое можно писать за деньги, ты бы хоть идею описал, мб кто то такое хочет и тогда имеет смысл, а так какая то хуйня
> тоже самое можно писать за деньги
Ну это ко всему попенсорсу относится, всегда охуевал с людей, которые стремятся бесплатно поработать.
Мимодругойанон
Почему Python называют языком с сильной типизацией, когда там возможно такое:
a = True + 1
b = int() + float()
if []: pass
else: print("weak")
Это же явные признаки слабой.
Можно было бы сказать, что это перегрузка __bool__(), но тогда не понятно почему:
class Foo: pass
bool(Foo()) -> True
foo().__bool__() -> AttributeError
Вытащи хуй изо рта и задай нормальный вопрос, если тебе что-то не понятно.
Потому что у любого значения любой переменной в любой момент времени есть конкретный тип,и конкретное множество операций, которые можно с этим значением делать. Если хочешь узнать тип переменной x, пишешь type(x). Если попробуешь сложить число 1 и строку "3" ты получишь только ошибку, а не "13" и не 4.
>a = True + 1
>b = int() + float()
Это просто неявное привидение типа, вот и все.
Пустые коллекции возвращают ложь, потому что это удобно, как это мешает им быть строгими типами? Это логично, когда числа преобразуют к булевым значениям, тебя же не удивляет, что все кроме нуля это правда, а ноль - ложь? Так пустые коллекции это "нули" для своих типов.
Функция bool возвращает правду если аргумент правда и ложь, если аргумент ложь, экземпляр созданного тобой класса это все-таки что-то, а не None, не 0 и не пустая коллекция.
>неявное привидение типа
Понятно, спасибо. Значит типизация всё-таки чуть слабее, чем честная сильная.
Я хотел разобраться, думал, что имеет место что-то другое: перегрузка, али сахарок какой.
>что имеет место что-то другое: перегрузка, али сахарок какой.
Я как-то не думал, как это в глубине устроено. Может, там у стандартных типов просто в методах для операторов, всяких там __add__, __mul__, __sub__ и прочих, прописано, что мол, если другой объект не того типа, то попробовать привести типы, если не получается, то кинуть ошибку.
Была задача, и я ее пилю один единственный уже 3 месяца. Первый месяц на утверждение, полтора на базовую реализацию, и вот уже две недели правлю баги.
В общей сумме 4к строк кода питоновского + фронт (работаю фуллстэк) и это за ебаных два месяца. Я с ума схожу от того что такой медлительный. Появляются мысли уровня что я просто физически тупой, либо "программирование это не моё".
Мб есть способы упражнения как можно себя развить?
Антоны, работаю на авиационном заводе. Уже полгода пилю самолет, но он получается какойто легкий, только 4000кг. Полгода работаю и только 4000кг!!!
Может нужно поработать над собой и он станет 16 тон?
Б.Гейтс благословил этот пост
лол, не в тот тред
https://successfulsoftware.net/2017/02/10/how-much-code-can-a-coder-code/
> McConnell measured productivity of 20 to 125 LOC per day for small projects (10,000 LOC) through 1.5 to 25 LOC per day for large projects (10,000,000 LOC)
У тебя выходит примерно 70 в день при 5 дневной рабочей недели, что как раз соответствует мелкому проекту.
Не могу понять архитектуру.
Вот у меня скажем приложение где люди обмениваются постами на своих стенках.
Есть апп юзер, отвечающий за хранение моделей юзеров, регистрацию, логин итд.
Есть апп пост с текстами постов, лайками и прочей атрибутикой.
Пост содержит в себе ссылку на юзера.
Но как их связывать в архитектуре всего проекта?
Просто писать в моделях поста from app.user.models import User?
Тогда они получаются сильно связанными, и такое типа как в описании джанге вытащи любую приложуху и полож, взаимозаменяемость там уже трудна для реализации?
переходи на сторону рельс и будет тебе счастье
1N2HY4C9 4JVNFYL8 4NCYTI84 12345678 QWERTYUI ASDFGHJK ZXCVBNMH QAZXSWED
PPOIUYTR 09876543 THNMJUIK MNBVCXZA 12345678 WDFGTYHJ TGBNHYTR QWERDDE3
Вопрос: каким образом мне из выпилить. Я так понимаю циклом for пройтись по строчкам и записять в файл то что не принадлежит правилу по, которым эти строчки можно описать. Но я опять-таки не могу придумать такое правило. Выручайте.
Они не получаются сильно связанными, путаешь мягкое с горячим. Хочешь избежать таких импортов, делаешь api для каждого приложения, и связываешь через api. Но это уже совсем другая методика.
Конфиг файл сетевой железки циско и не только. Я знаю про планировщик, но там где я хочу использовать этот код его нет. Возможно еще, как вариант, попробовать удалить эти строчки заранее зная начало и конец Пример
строка после которой начинаются символы, которые необходимо удалить
1N2HY4C9 4JVNFYL8 4NCYTI84 12345678 QWERTYUI ASDFGHJK ZXCVBNMH QAZXSWED
PPOIUYTR 09876543 THNMJUIK MNBVCXZA 12345678 WDFGTYHJ TGBNHYTR QWERDDE3
строка, после которой (включая ее саму) символы удалять не нужно
но как это реализовать я опять-таки не знаю.
>>75949
Очень остроумно, молодой человек. К чему этот ответ. Я понимаю если задают элементарный вопрос, который гуглится легко или он звучит типа я нихуя не разбирался и не написал, но хочу чтобы мне здесь все сделали. Но блин я ведь задал вполне конкретный вопрос. И да я читал книги, текста и посты. И там я не нашел ответ конкретно на этот вопрос. Даже преподы, когда посылают студентов указывают автора и название книжки (а иные еще параграф и страницу).
Вот как я понял. У него есть строка:
1N2HY4C9 4JVNFYL8 4NCYTI84 12345678 QWERTYUI ASDFGHJK ZXCVBNMH QAZXSWED
> после которой начинаются символы, которые необходимо удалить
Есть другая строка:
PPOIUYTR 09876543 THNMJUIK MNBVCXZA 12345678 WDFGTYHJ TGBNHYTR QWERDDE3
> после которой (включая ее саму) символы удалять не нужно
Это то, что код в >>76014, делает.
Дай свое понимание.
Да хоспади, регекс тебе уже дали.
Если файл в память влезает, там на экран возни: читаем файл через readline, если соответствует регэкспу, то прибавляем к временной строке.
В конце записываем временную строку в новый файл или в этот же.
Да я уже понял (как мне кажется) куда копать. Спасибо всем.
То есть ты под хуевыми понимаешь те, что подходят под выражение, а у меня это те, что между ними.
Для твоего варианта хватит grep’a.
тупо определи ненужные строки по количеству слов, длине одного слова, буквенному составу и регистру слов
string.split()
string.isalnum()
string.isupper()
len()
all()
как альтернатива регулярке. я бы сам регуляркой сделал, но я в них могу, а ты наверное нет
о, это последняя из питонтьютора первого блока задача вроде.
там же и рисунок понятный.
чтобы понять, попробуй представить, сколько длины а и б будет уходить на каждый т.н. "пролёт"(расстояние по _вертикали_ между дырочками), далее, т.к. дырочек у нас ЭН, то зависимость количества пролетов от количества дырочек. Впринципе понятно уже тут, что на каждый пролёт будет уходить (а + б)2 длины, начиная с первой горизонтали, но не считая её. Дырочек у нас получается ЭН2 всего(но пролетов ЭН), и важно понять то, что самые нижние - отправная точка для такого подсчета. то есть пролетов с (а+б)2 будет ЭН-1, а самые нижние дырочки соединяются только одной длиной а. ну и остаток шнурка эль умножается на 2 тоже, тут очевидно.
мимо-дрочу-курс-на-степике
в свое время затупил над этой задачей, потомучто пиздоглазое мудило и вместо горизонтали считал там диагональ, юзал пифагора и охуевал с тестов. мб ты так же?
тот же
Либы по мере необходимости изучаю, стул выбрал.
>почему не RETR_EXTERNAL?
С ним все еще хуже расползается и вылезают странные "обобщения" ячеек в качестве отдельных ячеек, тут уже совсем не понимаю, что делать.
>почему не enumerate?
Потому что все валидные (повышающие idx) ячейки внутри строки нужно в итоге пронумеровать без пропусков, а между каждыми двумя такими ячейками может быть около десятка невалидных (например, какое-нибудь слово побуквенно распозналось).
Ячейки одного размера и ровные? Если да, то может проще найти размер одной ячейки и начала координат, а потом вычислить остальные?
Нет, система должна автоматически распознавать ячейки входных документов, а они довольно разнообразные. Вариант с хардкодом координат я уже пробовал раньше, и его следы до сих пор поганят код, решение было очень неустойчивым.
чому не RPyC?
У меня вот тут вопрос по сокетам возник.
Нашел я реализацию одного простенького TCP-сервера, и мое внимание привлекло то, что если обычно для возможности подключить нового пользователя надо было переинициализировать сокет (sock = socket.socket()), в сервере сокет инициализировался 1 раз, а далее новые клиенты подключались благодаря циклу с sock.accept()
В кач-ве опций указывались (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1).
При попытке запустить на виндусе, возникала ошибка
"OSError: [WinError 10044] Поддержка указанного типа сокетов в этом семействе адресов отсутствует"
Но потом я собсна смекнул, и таки заставил сокет заработать с данными опциями, которые по рассказам бывалых программистов-пиздаболов должны были открыть возможность работы такого кода, но новому клиенту через accept подключиться не удалось.
"[WinError 10022] Получен недопустимый аргумент"
Так расскажи-ка мне /pr/ как правильно и питонично будет создать TCP-сервер с возможностью подключения нескольких юзеров сразу.
Бамп
Pyopengl требует dll-ки для glut-а (причём не понятно куда их засовывать - я не смог найти способа куда ему впихивать работающую глутовскую dll), и вообще 99% инструкции для него под вторую версию; pygame мусорка какая-то, где для отрисовки во времени в примере написана невероятная дичь уровня sleep(10) в конце функции отрисовки - может быть я пример плохой нашёл, но хотелось бы обойти без этого; pyglet вроде как выглядит хорошо и даже запускается, но я не вижу никакой адекватной документации (вместо списка имеющихся функций и возможных аргументов, как это сделано в документации к условному matplotlib-у там какие-то единичные примеры) - например on_draw рисует картинку только один раз при старте (и ещё когда сворачиваешь - разворачиваешь окно) и не совсем ясно как это фиксить, тому что найти список возможных параметров для создания окна я не смог, и никакого on_paint улавливающего событие перерисовки экрана или on_erase тоже не нашёл.
Долбануться, высокоуровневый язык, хотел на коленке бурду нарисовать за 15 минут - на си даже без крестов уже четыре раза бы всё сделал в лучшем виде с обработкой всех возможных событий на сыром winapi.
"программист на джаваскрипте пробует питон"
input("Значение: ")
и если в течении N секунд от пользователя не поступает ответа, то запускаем функцию1, иначе функция2?
Есть вопрос к опытным прогерам.
В общем я у мамы программист, никогда не учился, как то стало интересно и решил попробовать, писал на Делфи (и да, я натурал).
Но настал тот час когда решил перейти на нормальные ЯП, в глаза бросился Питон(Пайтон). Втянулся в синтаксис порешал задачки. Ооочень приятный синтаксис, на питоне приятно писать(ох уж эти Begin..end).Но я столкнулся с делимой. На делфи(RAD studio вроде) можно было делать мелкие приложения/базы которые приятно облегчали какие нибудь задачи, но в питоне gui сделано максимально не удобно и не приветливо к новичкам, что ткинтер, что PyQt5...
Так вот, собственно вопрос...- Правильно ли я двигаюсь, стоит ли постигать Питон? Какого его рамки? У меня сложилось впечатление, что это язык web и боты.... Или же стоит вернуться в свою помойку(делфи) или же попробовать другой язык? (с++ не предлогать, как то у меня с ним не сложилось, хотя в будущем планирую поработать с ардуинкой, а там вроде си подобный синтаксис(но это не точно))..
для клепания гуевых утилит - продолжай превозмогать pyqt5. путь, конечно, тернистый, зато потом - охуенно
а зачем тебе гуи? если тебе так нравятся гуи ты лучше погляди в сторону фронт-энда на джс это и есть постоянное написание гуев, сейчас куча приложений в облаке - ко облачным приложухам на джс фреймворках гуи и пишутся. на декстоп тебе придется в какую-нибудь джаву втыкать если с++ не канает
А какой сейчас язык топчик для win приложений, чтобы хуяк-хуяк - окошко с кнопочками и логикой?
мимо-другой-анон
КАКУЮ КНИГУ ИЗ ФАКА ЧИТАТЬ ПЕРВОЙ?!?!?
Qt
4 издание ЛУТЦА или же навернуть СЕВЕРЕНСА Введение в питон??????
сука
>windows
Хе-хе. Помню, когда то тоже были проблемы. И поверь мне, это только начало. Хочешь писать код - mac/linux, иначе не еби мозги, не себе, не нам.
он обновлен, это из-за pycharm
заебался, час возился, верхнюю исправил, теперь pandas не ставится. Норм будет, если вторую ос поставлю на пк, убунту?
лучше ставь анаконду. там уже с коробки всё настроено. джва года пользуюсь. подводный камень только с pyinstaller, который вроде и пропускает ненужные пакеты, но с анаконды его билды всё равно тяжелее, чем с чистой питонки
на анаконду-то? кондой или просто обычным пипом из-под админа. кондой вроде как кошернее, потому что тянется с их репозитория, но я ни разу не имел с пипом проблем
кроме того, основные крупные пакеты и так в анаконде, а еще там уже настроен божественный жупайтер
Нихуя не работает. Я только засрал свой ссдшник лишними 5гб всякого зависимого дерьма. Поставил через pip последнюю версию пакетов и все установилось, они не хотят старые версии устанавливать, т.к. их нужно компилить, тут то и вылетают ошибки. Пиздец.
Тебе уже подсказали решение - ставь линпус второй системой и не еби голову людям.
Есть новый.
Браузер не видит половины html который я ему отправляю сокетом.
Отправляется пик 1, браузер видит пик 2.
Почему так происходит ?
>Допустим ввел я в консольку текст и еще не нажал ентер. Как мне прочитать то что я ввел?
ты же только что ввел это! ты что не помнишь что ты там печатал?
DeepPavlov либа для обучения ботов. Я даунич, надо было поставить python 3.5 и все компилится без танцев с бубном. сУка, полдня проебал
Может у тебя какой-то кривой символ в код попадает и браузер его обрезает? Может кавычка левая ограничивает длину. В файл не пробовал вывести?
Бемп
MultiIndex в pandas организует псевдомногомерную структуру для Series/DataFrame. Правильно ли я понимаю, что если рассматривать (пусть будет df и MI) с точки зрения многомерного массива, то методы unstack/stack аналогичны swapaxes в NumPy?
640x360, 2:18
>нужен бабель
Ох, чёт меня перемкнуло с этих двух слов.
Я их где-то слышал, совсем вне контекста погромирования.
Кажется в какой-то песне. Чё-то такое иронично-задорно, вроде видеорелейтеда.
Может знает кто? Или у меня шиза?
import sys
sys.path.append('C:\\Program Files (x86)\\GnuWin32\\bin')
таким образом в PYTHONPATH появилась директория зипа, но питон его один хуй не видит. Почему? Если положить экзешники в папку проекта - то питон его видит, а если в питонпатч добавить рабочую папку зипа - не видит! Что я делаю не так?
ну я уже понял что неправильно зип добавил в переменные среды, как бы проще отредактировать Path, но в данном случае меня интересует каким образом можно добавить директорию поиска инициализируемого приложения непосредственно в код программы? Зачем мне вабще этот зип обоссаный в системный path ложить?
> Зачем мне вабще этот зип обоссаный в системный path ложить?
Полуграмотный, а чем тебя просто вариант с переменной до нужного экзешника не устраивает? Лезть в path своей говнопрогой это моветон.
>Лезть в path своей говнопрогой это моветон.
Ну так это же одноразовое, почему нет?
>Полуграмотный, а чем тебя просто вариант с переменной до нужного экзешника не устраивает?
Ну а как это сделать в данном конкретном примере?
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
Вот эту zip в кавычках же нельзя просто заменить на переменную с присвоенным адресом, не выходит
Пытаясь разобраться, пробую реализовать get_dummies вручную:
как получить такой массив, не прибегая к вызову этого метода?
df = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'b'],
'data1': range(6)})
asd = pd.DataFrame(np.arange(18).reshape(6, 3), columns = list(set(df['key'])) )
Вот, допустим так.
Как обращаться в булевой индексации к имени столбца, в который записываешь?
То есть, вот
asd[df == 'a'] = 1
запишет 1 во всю строчку, где было 'a', а надо только в столбец 'a'
zip заменяешь на "B:\heap\zip.exe" или что там у тебя за путь. Кавычки и слеши экранируешь (или используешь что-то вида R'"B:\heap\zip.exe" -qr ...'). Обычная же команда для батника.
Вот на первой картинке это одинаковые команды, просто в первом случае система ищет исполняемый файл ffmpeg по всем путям в path, а во втором без поиска и переменных среды прямо использует нужный файл.
У тебя точно должен стоять пробел между кавычек перед join? Ты уверен в этом?
Сделал как на пике. Как сделать без for?
Спасибо анон. Пробел перед join был не нужен, но работало и с ним и без него - результат на диске одинаковый, пробел отображался только в принте в самой программе.
И да, такая запись прямая запись на экзешник не работает
>И да, такая запись прямая запись на экзешник не работает
Не понял фразу, заработало или нет в итоге без переменной среды?
По правде говоря попробовал, и с os.system тоже какая-то эбола. Батник работает, через win+R работает, а через питон похожая красная ошибка.
Поставил subprocess.call вместо os.system и всё заработало. Поставь лучше его, его я использовал десятки раз и он точно работает. os.system никогда не использовал, думал он работает эквивалентно вводу команды в окошко по win+r или в cmd-консоль.
Зачем городить свой Celery?
Тем более что он не работает так просто и функционал там огроменный.
Но всё равно по-итогу это просто тулза для того, чтобы выполнить что-то в отдельном потоке? Просто со всякими реализованными плюшками типа таймаутов и т.д?
В таком случае всё проще, чем я ожидал
Понял анон, спасибо. Это ещё немного не мой уровень, и наверное всё это должно поясняться дальше по книге, с предложением поконкретнее разобраться в модулях, но я люблю во всё лезть наперёд, лол.
> Но всё равно по-итогу это просто тулза для того, чтобы выполнить что-то в отдельном потоке?
Если утрировать, то да. Ну а так - запускаешь ты брокер Селери, он слушает определенную очередь в рэбите/рэдисе и когда там появляется что - берет на выполнение, а затем выдает отчёт о выполнении(или же нет, смотря как настроить).
> Просто со всякими реализованными плюшками типа таймаутов и т.д?
Типа очереди задач(и тут сразу несколько вариантов настройки), типа отчётов о выполнении(тут, в принципе, тоже), типа запуска по расписанию(абсолютно любым ебанутым способом), типа средств мониторинга(flower, да, это не само Селери, но туда для него).
> В таком случае всё проще, чем я ожидал
В освоении нет ничего сложного, в принципе, только нужно внимательно читать годный мануал.
>Если попробуешь сложить число 1 и строку "3" ты получишь только ошибку, а не "13" и не 4
зато умножить можно
In [2]: "asdf" * 3
Out[2]: 'asdfasdfasdf'
мимо охуевающий с этих ваших нестрогих типизаций
АНОНАСЫ, РЕШИЛ ВКАТИТЬСЯ В ПИТУНЬЮ!!!
Т.к. мне проще впитывать инфу, когда мне в видосе объясняют, решил сначала просто ознакомиться по гайдам с ютуба, сейчас смотрю 14й из 20 роликов.
После просмотра хочу пройтись по слитому курсу ГИКБРЕЙНС
есть ли смысл это делать? или сразу на нормальные книжки перекатываться??? У меня просто проблемка есть, мой английский не так хорош, чтобы свободно читать книги в оригинале.
Ну блядь, я не стал замазывать, чтобы понятно было что я вообще сейчас смотрю.
Видосы у него ТАК СЕБЕ, ибо многое не объясняет.
Ты мне лучше подскажи с гикбрейнсом как быть.
Очень тебя прошу. Пожалуйста
С тебя не убудет, если просмотришь их курс. Только ни в коем случае денег им не давай.
Только в любой лохо-курсотне всё будет очень поверхностно даваться, в отличии от книжек или просто документации.
А вот английский точно не помешает подтянуть.
>А вот английский точно не помешает подтянуть.
Это само собой. Но этим я планирую заниматься параллельно.
В день 1.5-2 часа на английский и 6-8 часов на питунью, если дно-РАБоту не найду.
А что из книжек переведенных на русский можно навернуть новичку?
Но чтоб питунья была на 3.х
Так вроде классика типа укуса или лутца вся на 3.х змее, хоть и версии старенькие.
Какую из этого первой выбрать?
Я одной из телеграм конфочек спрашивал уже этот вопрос. Один сказал ЧИТАЙ УКУС НА АНГЛИЙСКОМ, а второй сказал забей хуй и проходи гикбрейнс
Ты шизойд, тебе сказаши там 3.х.х
Как можно обратиться к ключу словаря, если это объект ?
import zipfile
У меня есть регистрация и аутентификация.
При аутентификации я получаю JWT.
Мне надо сделать круд где пользователь конкретный может оставлять посты.
Вопрос. Можно ли как то по токену отсортировать юзеров из базы или просто с токеном передавать эмайил/айди/Эюзернейм?
Брать орэмом конкретного юзера, Потом вставлять в форгейн кей айди и не ебать голову?
Помогите.
Лутца, потом fluent python. Лул, я вообще принципиальной разницы пока не вижу на каком языке читать. У меня выбор пал в пользу английского только из-за того, что на нём можно найти книги в формате epub и читать с ебука, а на русском только pdf, который неудобно читать на ебуке и телефоне. Алсо, не понимаю, почему говорят, что с ебука невозможно читать книги по разработке, мол, там кода дохуя и неудобно. 10-15 строк и без подсветки синтаксиса нормально читаются.
на джанго есть фриланс?
Написал скрипт, который будет запускаться при включении компа
Но мне нахер не нужна консоль на рабочем столе
Как сделать из скрипта процесс, который будет активен даже при выключении консоли
Сижу на винде
С виндой хорошо только Стим дружит.
Джанго норм с виндой работает, но, ты же будешь батарейки ставить, а вот они не факт что все заработают как надо.
а что с самыми популярными батарейкамии и те которые идут в комплекте,как они себя ведут?
> а что с самыми популярными батарейкамии
Популярность - понятие растяжимое ибо все зависит от области.
Но хули ты, бери ставь и пробуй, это же не проблема, так?
Если обосрешься - дуалбут делай и всё ок.
> и те которые идут в комплекте
С этим всё ок, вроде как.
джанго хорошо, все остальное плохо. Базы данных, сокеты (не напрямую же в приложение ты будешь обращаться), мемкеш и прочие необходимые вещи. Хочешь веб на винде - велком ту фронтенд. Бекенд на винде это тревожный звоночек.
Благодарю, понял в какую сторону копать. Но как взаимодействовать с системой? Узнать текущий заряд батареи, эмулировать клик мышью, узнать цвет пикселя на координатах 638, 719?
.pyw
Учи GUI если хочешь делать программы с графическим интерфейсом, причем в ютубе много всяких видео на тему скриптов. Просто пишешь python scriptname tutorial.
Пишу курсовик на тему "Распознавание неба на фотографии"
Речь идет о синем небе если облака и могут быть то немного. Хуярю на плюсах и библиотекой opencv. Нейросети и прочее не предлагать так как время поджимает. Сначала расписал тупо алгоритмы сегментации но препод такую хуйню не принял и поставил парашу в полугодии. Сейчас уже горит конкретно не знаю за что хвататься. Кто готов помочь отпишитесь расскажу поподробнее. Может закину копеечку какую на пиццу с пивасом хватит. Застрял на ситуации с пика. Посчитал градиент и видно что то что темное это небо. А че дальше делать и как это писать не представляю
django.db.utils.ProgrammingError: column "product_id" does not exist
Знаю, что это тупо на таком вот застревать, но я просто не понимаю, что я не так делаю. Одна и та же ошибка выходит, просто с разными номерами.
Объясните как это происходит.
Я пытаюсь открыть локальный html файл в iexplore.exe.
Когда я делаю открыть с помощью>Internet Explorer, файл правильно запускается в интернет експлорере, когда же я пытаюсь запустить тоже самое в командной строке, то есть передавая путь до файла (пик 1) как аргумент получается пикрелейтед 2.
Почему так и как фиксить ?
Вангую, что обосрался с input
Код ошибки где? При помощи телепатии узнать что ли.
У меня есть:
soup = <h1><br/></h1>
Нужно:
soup = <h1>TEXT</h1>
Это копия, сохраненная 28 апреля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.