Это копия, сохраненная 24 августа 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий: >>1656865 (OP)
Литература:
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Кто может, залейте её на ЯД к остальным.
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года
Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io
— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником. шапка: https://dumpz.org/cAaW2nPySYyy
киньте плз сурс на интервью с Гвидо
Сойдут и боты с самым базовым функционалом.
Алсо, что лучше использовать из виртуального окружения - virtual env или pip env? Последний не понял как настраивать в PyCharm, в консольке вроде настраивается, pip файлы создаёт.
>моча потерла посты про kivymd
Молодец, теперь выпили остальное it-быдло и будет совсем хорошо
https://ideone.com/TOue0E
Любой Python тип
Борщехлебном
если средствами стандартной библиотеки, то да try: x = int(input()) except ValueError и тд
если модные хуйни хочешь, то глянь https://typer.tiangolo.com
https://stackoverflow.com/questions/17551380/use-different-serializers-for-input-and-output-from-a-service
но вообще лучше так не делать
тысяче лет назад был Pillow сейчас хз в каком он статусе
Я 5 минут как знаком с питоном и вообще не программист, но разве проверка введённой строки через type(ebanina) не решает твою задачу?
Если type(ebanina) == type(str()) то это строка
Если type(ebanina) == type(int()) то это число
Результат input это всегда строка.
Тут решение это или валидировать и конвертировать типы ручками, или прогонять через какой-то eval. Я не смотрел ещё, как второе в питоне сделано.
Тогда не проще сделать int(input()) если тебе определенный тип от пользователя нужен?
Не могу представить задачи, при которой в одном запросе от пользователя может потребоваться ввод ответа в таком диапазоне значений. Что блядь твой код вообще должен делать?
> это упражнение или практическая программа?
> Реализация АВЛ-дерева
> ввод данных через консоль
ты совсем дурак?
Такое автоматическое определение типов - всегда дурной тон и грязь. Откуда ты знаешь, может там пользователь хотел строку "[]" ввести, а не пустой список?
Как ты будешь обрабатывать списки вида
[aaa, 'bbb', 123, 123aaa, [], "[]"]
будешь реализовывать рекурсивный парсер?
Умеренно приемлемый вариант:
смотрим первый символ введённой строки, предварительно сделав strip()
если это цифра, пытаемся интерпретировать как цифру, в противном случае выдаём ошибку
если это '[' или '{', пытаемся интерпретировать как корректно сформированные списки-словари, упакованные по стандарту JSON, и парсим через json.loads()
Если это кавычки или любой другой символ, интерпретируем как строку. Но в случае, если кавычки, эти кавычки обрезаем.
Такой умеренно строгий ввод, user-friendly. Иначе надо парсер делать. Не очень сложно, но не нужно.
Я просто не представляю что можно сделать с кодом, если переменные все с динамическими именами и от них НЕобфускации зависит результат работы программы.
Кроме того, я пару лет назад пытался понять как сделан один коммерческий зашифрованный продукт серверный продукт, чето запустил, открыл и был удивлен, что там вполне читаемо все.
>Не спрашивай нахуя мне это, по учебе просто надо реализовать
тогда ясно.
хуйня, конечно и конечно никто не получит удовлетворения помогая тебе.
Когда вызываю файл напрямую: manage.py test restapi.tests.test_models все работает
Почему я сразу не могу запустить все тесты? Почему он их не видит?
>Смысл в обобщенности, что один класс, реализующий структуру данных, может принимать разные типы данных
Строка — самый обобщённый тип данных, который может ввести пользователь. Любые данные можно предствить как строку и делать с ними
>Хранить, удалять, искать.
следовательно твои данные должны храниться в виде строки. Не вижу тут никакой загадки.
Строки, числа и прочее сравниваются все по-разному, так что и дерево будет выглядеть по-разному.
Так если ты собираешься строить дерево из смешанных данных, то тебе придётся строки с числами сравнивать, что ещё хуже.
Можно поставлять софт без исходников, в pyc-файлах, но из них как раз специальными утилитами всё хорошо восстанавливается, так что защита не работает, но создаёт массу проблем.
Обфусицировать можно в каких-то пределах, как можно рефакторить код в IDE, вот на уровне имён внутренних и глобальных переменных, имён функций и классов, в некоторых случаях имён методов (здесь, очевидно, уже легко споткнуться). Очень умеренная защита, сработает, только если какой-то очень сложный код, который в принципе необходимо хорошо документировать, чтобы в него въехать.
Если проблема актуальна и постоянна, наверное надо другие платформы выбирать, вроде Go.
Но сама бизнес-модель защищённого софта со спрятанным кодом немного устаревшая. Эти методы защиты плохо работают. Защита работает или на административном уровне (читай можно заяву накатать), или когда софт сильно от сервера зависит, и ты сервис предоставляешь, а не просто софт.
Обычный закрытый софт тоже распространяли направо и налево. А сейчас это только проще, благодаря разным технологиям виртуализации.
Не, я уже обработал, что нельзя в одну структуру данных класть данные разных типов.
Так-то можно нахуевертить с байткодом и добавлять в поставку бинарный модуль, который будет расшифровывать на ходу.
Так сделно в всяких похапешных ионкубе и вроде последние версии довольно успешны в своей работе.
apt
Есть модель movie, у нее есть поля тайтл, юрл итд.
Я вывожу на индексе.хтмл все татлы модели и приделываю ссылки для перехода на сам тайтл. При переходе по ссылке ошибки 405, метод не разрешен. Что делать, куда блядть копать?
Ну ты и сверхразум конечно, даже код модели и код вьюхи не скинул
Скорее всего ты намутил херни внутри метода get_absolute_url или типо того
не делал через абсолют урл гет
This response code (405) can come from any number of issues, but it generally ends up that either you are using the wrong URL (as in this case), or you are using the wrong request method. Sometimes it's both!
Quite often I see people getting this issue when they are trying to update an individual resource (/api/res/1), but they are using the list url (/api/res) which doesn't allow the request to be made. This can also happen in the reverse, where someone is trying to create a new instance, but they are sending a POST request to the individual object.
In some cases, the wrong url is being used, so users are requesting a standard non-API view and thinking it is an API view (/res instead of /api/res). So make sure to always check your urls!
дебагай
это и я читал, но по моему коду такой хуеты нигде нет.
У тебя вьюхи как-то по-крестьянски оформлены
Перепиши их функциями либо примени более высокий уровень абстракции чем наследование от простого View. Если перепишешь вьюху, а ошибка исчезнет, будет повод задуматься
(и че это бля за метод manga_web?)
def posts_details(request, slug):
post = Post.objects.get(slug__iexact=slug)
return render(request, 'main_app/post_detail.html', context={'post': post})
Попробуй get типо такого написать
result = a['ni']['hu']['ya'] if a['ni']['hu']['ya'] else ''
а, ну да, у тебя там есть такой ключ. мой код вообще не так работает
исходный вариант имхо самый понятный
Обычно достаточно досыпать пару заголовков, но бывают и всякие токены. Надо смотреть и повторять, каких ты советов ещё хотел?
Да у меня уже жопа сгорела с этого. Подумал, может что-то совсем очевидное и лёгкое упускаю, кто-нибудь поумней подскажет.
Ну вроде ничего сложного, грузится жсон с https://api.papajohns.ru/catalog/goods?lang=ru&platform=web&city_id=1
без всяких ухищрений. Потом разжсониваешь его и кушоешь готовые данные без ебли с супом.
Да, json я брал, у меня для этого отдельный скрипт написан. Я просто хочу написать одну прогу с json, а другую с помощью selenium. Мне bs4 во втором случае нужен был для того, чтобы у меня селектор не состоял тупо из хардкода до нужной кнопки "в корзину", а как-то более независимо от названий классов.
Там есть условия, чтобы ждать появления элементов.
https://selenium-python.readthedocs.io/waits.html
Т.е. в инспекторе смотришь, что тебе там надо, и засылаешь урлы и условия, чтобы всё прогрузилось, а потом забираешь готовый исходник.
Я вроде пробовал и что-то не помогло. МОжет ещё раз стоит попробовать. Там ещё дело в том, что даже если самому полный код страницы смотреть, то меню там не будет, хотя очевидно, что всё прогрузилось.
Господи, я понял в чём ошибка была. Я искал по старому классу, они 46 на 47 поменяли за день. Пиздец, моя жопа. Спасибо за помощь, анон.
Знаю, тем же json всё гораздо проще, но я просто хотел потренироваться с селениумом и ксс-селекторами + супом нужное вычленять. Надо будет подумать как сделать так, чтобы вообще ни один этот ебучий класс в проге не прописывать, только оставить всякие теги типа ul или h3.
Могут же диды.
Ладно, я искал __init_subclass__
Критикуешь — предлагай.
Это какое-то PDO? Если по смыслу, то id автоинкрементное, оно само где-то как-то в каких-то геттерах генерируется. А если по тексту, то первоначально id и nickname это статические свойства класса. Их можно читать в методах экземпляров как self.id и self.nickname, но когда ты в методе или конструкторе пишешь self.nickname = ... , ты маскируешь статическое свойство.
Кратко: есть вьюха, наследующаяся от View, там происходит обработка формы. Я хочу, чтобы когда юзер ввел неправильные данные в форме (проверяется моим кастомным валидатором custom_validator), ему выбрасывалось сообщение по типу "Лох! Пидр!" и он оставался на той же странице, вместо этого какого-то хрена форма срабатывает и сохраняет введенные данные. На втором скрине виден результат могучего дебага с помощью print. После вызова метода form_invalid и вызова get вьюха продолжает снова свою работу на следующей строчке после вызова form_invalid(self.form). С хрена ли? Почему она не останавливается?
Ведь строчка render(request, 'sh/index.html', context) в методе get должна вернуть отрендеренный темплейт и на этом все нахуй, конец фильма. Почему он блин продолжает выполнение метода post после всего этого?.. это максимально у меня не вяжется в голове
sqlalchemy
Я знаю какой я глупенький, плохой, не хороший, но почему когда я ввожу команду:
from colorama import init
from colorama import Fore, Back, Style
init()
print(Back.BLACK) допустим, IDLE мне выдает:
[40m
Вполне, nickname чем угодно может быть, динамическая типизация же. А PDO кто как хочет, так и ворочает. По идее удобно при удалении объекта посмотреть, какие у него свойства не являются линками переменных с такими же именами у его класса (или суперкласса), и в базу их заэскьюэлить.
>>67682
>[40m
Это разметка в терминале линупса вроде. Жирненькое там, мигающее, зелененькое, красненькое.
Это эскейп-коды. http://ascii-table.com/ansi-escape-sequences.php
Нужен нормальный эмулятор терминала.
Скрин тестов в студию, или же просто класса
Нужно насыпать побольше, если надо, или лучше обходиться, если можно?
Вполне распространено. Лучше пользоваться такими встроенными инструментами, которые тебе даёт язык из коробки, чем городить свои велосипеды.
Главное как и везде, соблюдать баланс, не городить их там, где этого не требуется.
Не знаю, мне кажется всё очень специфично и индивидуально. Иногда лучше самому написать, иногда из модулей взять.
Нужно думать и о читаемости-стройности кода, и об эффективности.
Лишние строчки своего кода принуждают его читать, внимание на него обращать, отвлекают. Но если ты из заменяешь на строчку из модуля, и надо лезть в доки, чтобы смотреть, что этот метод делает - то это не лучший вариант, имхо, читаемость только страдает.
Здесь такой подход может быть, что если у тебя какой-то паттерн используется много раз, то лучше подключить модуль и брать оттуда метод. Это значит, что это тебе актуально. Если один раз, то спорно, проще прочитать две-три строчки кода, чем лезть в доки, что там чего делает.
Но случаи разные.
Вот, например, паттерн:
i = 0
while True:
____i += 1
____if something:
________break
его можно и скорее всего почти всегда нужно заменять на код
for i in itertools.count():
____if something:
________break
Так обычно повышается читаемость довольно сильно. Кроме того, count работает быстрее. Хотя может ради одного раза и не всегда оправдано.
Есть в стандартных либах решения, которые очень спорные. Например, DefaultDict или как-то так.
Вместо того, чтобы прописать значение по-умолчанию, но ради этого использовать левую структуру данных с оверхедом и лепить менее очевидный код, проще и нагляднее пользоваться традиционным
val = some_dict.get('val', default)
У тебя так получается самодокументированный код. Но, когда как. Если у тебя совершенно штатная ситуация, когда в словаре элемента нет, а его получить надо, то можно и DefaultDict использовать, чтобы код компактнее был.
Конструкции с генераторами списком, одномерные, мне кажутся более читаемыми, чем многие модульные функции.
Мне кажется, что нужно просто хорошо знать, что вот такие модули есть, и что вот там такие функции есть. А уж использовать их, или нет - по своему личному решению и усмотрению. Плохо, когда ты городишь свой код, просто не зная, что за тебя это уже написано.
Не знаю, мне кажется всё очень специфично и индивидуально. Иногда лучше самому написать, иногда из модулей взять.
Нужно думать и о читаемости-стройности кода, и об эффективности.
Лишние строчки своего кода принуждают его читать, внимание на него обращать, отвлекают. Но если ты из заменяешь на строчку из модуля, и надо лезть в доки, чтобы смотреть, что этот метод делает - то это не лучший вариант, имхо, читаемость только страдает.
Здесь такой подход может быть, что если у тебя какой-то паттерн используется много раз, то лучше подключить модуль и брать оттуда метод. Это значит, что это тебе актуально. Если один раз, то спорно, проще прочитать две-три строчки кода, чем лезть в доки, что там чего делает.
Но случаи разные.
Вот, например, паттерн:
i = 0
while True:
____i += 1
____if something:
________break
его можно и скорее всего почти всегда нужно заменять на код
for i in itertools.count():
____if something:
________break
Так обычно повышается читаемость довольно сильно. Кроме того, count работает быстрее. Хотя может ради одного раза и не всегда оправдано.
Есть в стандартных либах решения, которые очень спорные. Например, DefaultDict или как-то так.
Вместо того, чтобы прописать значение по-умолчанию, но ради этого использовать левую структуру данных с оверхедом и лепить менее очевидный код, проще и нагляднее пользоваться традиционным
val = some_dict.get('val', default)
У тебя так получается самодокументированный код. Но, когда как. Если у тебя совершенно штатная ситуация, когда в словаре элемента нет, а его получить надо, то можно и DefaultDict использовать, чтобы код компактнее был.
Конструкции с генераторами списком, одномерные, мне кажутся более читаемыми, чем многие модульные функции.
Мне кажется, что нужно просто хорошо знать, что вот такие модули есть, и что вот там такие функции есть. А уж использовать их, или нет - по своему личному решению и усмотрению. Плохо, когда ты городишь свой код, просто не зная, что за тебя это уже написано.
Продолжу, бывает, что применять надо, но часто практика такая, что не применяют.
Вот в asyncio, если мы делаем что-то библиотечного уровня, то в соответствующие функции там часто надо подавать класс-фабрику.
class MyProtocol():
____def __init__(self, value):
________pass
loop.create_server(protocol_factory, .....)
Эти фабрики должны работать без параметров, но чаще они нужны.
Документация по asyncio настоятельно рекомендует использовать
functools.partial для этого, но реально очень часто это игнорируют и передают параметры через лямбды, так удобнее и понятнее
loop.create_server(lambda: MyProtocol(some_value), ....)
Это реально более читаемо. И так в большинстве серьёзного кода делают. Но когда количество параметров больше, чем один-два-три, то уже другая история. Правда я сам с этим не сталкивался. Вот мне кажется, что использовать partial для передачи одного параметра - просто дурной стиль.
Двач в чём проблема? В sublime text 3 решил поставить по дефолту замену табов на пробелы и ограничение до 80 символов в строке. Сохраняю и получаю ошибку
Анон, что почитать, где попрактиковаться именно с классами? Материалы желательно для чайников.
Спасибо.
Хотелось бы не готовое решение "подключил и работает", а чтобы нужно было немного самому поковыряться.
А что тут крутить? Таблица с комментариями ссылается сама на себя
>левую структуру данных с оверхедом
>val = some_dict.get('val', default)
Хеттингер считает, что дефолтдикт быстрее.
Но ты пидр.
Глянул доки, defaultdict всё-таки для другого, не только чтобы значение по-умолчанию получить, если элемента нет, то и чтобы при этом добавить элемент в словарь, причём вызвав для этого фабрику, что указывается при создании объекта.
d = defaultdict(func)
value = d[key]
эквивалентно
d = {}
if key not in d:
____d[key] = func(key)
value = d[key]
и не эквивалентно
value = d.get(key, func(key))
и даже не
value = d.setdefault(key, func(key))
своя область применения, неудачная иллюстрация
> в чем проблема?
В саблайме, вообще удивлен, что кто-то сидит на этом проприетарном унылом блокноте в 2020
Что посоветуешь? Только начал изучать, поставил sublime и PyCharm CE, но последний, как мне кажется, избыточен для новичков.
Я другой анон, но посоветую visualcode, ток там юниттесты лично у меня хуево работают, и я спецом пайчарм запускаю для этого
Я другой анон, но посоветую нахуй пойти vs, если человек только-только решил вкатиться. Слишком уж он плохо действует на неокрепшие умы юных кодерастов. Пусть для начала в саблайме посидит
>но последний, как мне кажется, избыточен для новичков
По-моему лучше сразу начать пользоваться IDE. Это умение не менее важное, чем знание языка, и использование IDE сильно облегчит процесс обучения. Тебе не нужно сразу учить все функции - поначалу можешь пользоваться как обычным текстовым редактором.
Ссылка на вопрос https://ru.stackoverflow.com/questions/1116274/Как-узнать-на-какой-именно-график-нажал-пользователь
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?
Вот это вылезло в консоли при команде python manage.py runserver. А на скрине моя попытка входа в БД через pgAdmin, ввожу пароль, но он меня посылает нах, буквально 2 дня назад же все работало, че с ним не так? В инете толком инфы нет
Посоветуйте IDE для Python на Mac.
Его можно как-то подрубить к Xcode?
Сейчас тащемто пишу код в vim, не хватает подсветки синтаксиса.
Куда бы здесь вообще можно было засунуть асинк, если бы очень захотелось?
поставь vs code и не еби мозги. Он прекрасно устанавливается на маке, а xcode там для другого предназначен.
Если только начинаешь с питоном, то не забивай пока мозги асинком. Он местами довольно нетривиальный и могут быть проблемы с пониманием того, как это работает. Для начала попрактикуйся на синхронном коде чтобы руку набить.
Постгрес поддерживает триллиарды способов коннекта к своей базе. Скорее всего, дело в его конфиге, а не в джанге.
>>68548
>Имеет ли смысл лезть в асинхронщину
Асинхронщина - для большого количества одновременных коннектов. Если твой говносервер собирается их все принимать - велкам, если твой говнобот собирается их создавать - тоже велкам.
> Если твой говносервер собирается их все принимать - велкам
Кстати, разве работа со множеством соединений не обеспечивается непосредственно Django?
Если лежит у меня на сервере, грубо говоря, main.py и к серверу приходят два коннекта, то джанго этот main.py будет запускать для каждого из коннектов отдельно, нет (в рамках каких-то пределов, конечно)? Или будет его последовательно для каждого коннекта выполнять?
Если у тебя прокси-сервер, то все упирается в коннекты, async. Если у тебя сервер приложений, то одно приложение по ресурсам весит намного больше, чем поток OS. Если клиент может приостановить приложение где-то в середине - опять async.
Что тут понимать, асинки - очень противоречивая штука, и это не к одному питону относится.
Если только начал изучать, то без разницы, бери всё что угодно, хоть блокнот. PyCharm действительно на этапе хелловордов избыточен и даже вреден: многие без кнопки run даже скрипт на питоне не смогут запустить. Но вообще PyCharm мастхев для серьёзной разработки, VSCode и другие редакторы не предоставляют таких возможностей работы с гитом, рефакторингом, статистический анализ и автокомлит а идшках от IDE тоже лучший на рынке. Если небольшой скриптик нужно написать - то VSCode. А если нужно что-нибудь поправить на удаленном серваке, то vim мастхев
Расскажи как он плохо действует, интересно
Нет не имеет смысла. Обычно наоборт - скрапинг замедляют с помощью time.sleep'ов, чтобы твой ip не забанили за дудосинг
Не обеспечивается, джанга обрабатывает запросы последовательно. Эта проблема решается WSGI-серверами (gunicorn и uwsgi например), которые в свою очередь поднимают несколько процессов джанго-приложения (можешь представить себе насколько это "оптимально") и складывают все входящие запросы в очередь, которую процессы джанги читают
Удивительно, но вскод не так уж и прост, как может показаться на первый взгляд
Чтобы его адекватно настроить под разработку чего-то сложнее, чем laba1.py, нужно обмазаться кучей плагинов и уметь в настройки этого всего, да и терминалом придется постоянно пользоваться а там и линупсом обмажешься
Ну сублим понятно простой быстрый блокнотик, хорошо заходит, когда нужно просто открыть и посмотреть какой-то чужой листинг
А пичарм хоть и считается тяжеловесным, но это все же лучший выбор прям для совсем новичка-аутиста, т.к многие вещи делает сразу же из коробки
И проект правильно скомпонует, и виртуал очку сам накатит, удобный дебаггер, гит, автопеп8, редактор бд многое другое
checkio, codewars.
Но там юзеры шлют свои решения, что не идеально, хотя дает пищу для размышлений.
А где специально задачи под конкретные фичи и вылизанные авторские решения я бы и сам посмотрел.
>Можно ли на питоне делать мобильные приложения?
>Да, смотри на фреймворк Kivy
Почему эта хуйня до сих пор в шапке? Очевидно же, что это нерабочая хуйня и наебалово. Хочешь пилить мобилки, учи другие языки, не питон.
Ваш питон нужен датаебам и маняматикам
ну и еще всяким биологам по мелочи, вкатывальщиков основам погромача учить.
Джанга хуянга тормознутое говно и не нужно, одумайтесь
Чет пригорел с вашей шапки мимокрок
Саси
Хуй знает. Как по мне лучше развернутый код, чем тот который в одну строчку вхуярили.
> жаваскриптовая параша
> открывает проект на жсе
> запускается на полсекунды дольше
Лол, плюс полсекнды на запуск редактора это ничтожные затраты по сравнению с преимуществами VSCode, хотя фронтенд-петуху, наверное, не понять, у вас ведь действительно скорость разработки ограничивается лишь запуском редактора и скоростью печати.
Обычно редактор запускают один раз в начале рабочего дня и дальше он остается открытым, если ты, конечно, не на калькуляторе с 256 МБ оперативы программируешь, где для того чтобы запустить другую программу нужно выгрузить из памяти все запущенные.
>Джанга хуянга тормознутое говно и не нужно, одумайтесь
ооо, пхпшника порвало
ну что, аноны, не следил особо последние пару тредов и вот к вам вопрос: по вашим ощущением увеличилось количество вкатышей или так же? просто после видоса у дудя думаю щас будет резкий бум и хайп на войти в айти. а что у нас щас самое модное и хайповое сейчас? конечно же нейроночки и машоб. а на чем их пишут? конечно же на питончике. поэтому собсно и спрашиваю тут
Их ловят ещё на подходах, лол.
да канешн. поди расшифруй этот ебучий Си из прошивки! поебись с этим асмом. у них то автоматически считай защищено все.
если я собрался делать конкурирующие продукты на raspberry pi, что же мне делать?
>Так-то можно нахуевертить с байткодом и добавлять в поставку бинарный модуль, который будет расшифровывать на ходу.
слишком теоретично
что конкретно надо делать?
да тут еще норм. почитай js тред. вот там реальный пиздец.
я многие матные слова и оскорбления впервые раз в жизни там увидел,лол
А их невозможно прочувствовать, если ты не в большом проекте.
Представь что каждый класс пишешь не ты, а какой-то пидор параллельно и ты его лично ненавидишь за то, что с ним невозможно договориться.
Тогда, инкапсуляция естественным образом позволяет тебе поменьше общаться с этими пидорами и их кривые руки не способны сломать твой код.
Мне кажется, просто нет хороших книг об этой концепции ООП-ненависти.
> последовательный проход по всем чарам и инкрементирование счетчика в случае, если чар == " "
Ты же так просто число пробелов посчитаешь.
> а также замена всех пробелов на пустые строки (в этом случае придется копировать весь текст) и после - подсчет символов
Этот способ вообще ебанутый.
Хули тебе не нравится способ :
count =0
for i in range(len(string)):
temp = string
If temp != " ":
count = count +1
И все блядь!
Ебучее форматирование [и] сожрало, но думаю суть понятна
Он нихуя не то же самое написал, он хотел увеличивать счётчик если символ == пробелу. Хуй знает зачем.
Кому это мой способ уебищный?
Суть та же, итерирование по стоке и проверка каждого символа. Ошибся в формулировке, очевидно.
Теперь почему твой вариант уёбищный:
for i in range(len(string)):
temp = string-i
Нахуй не нужно, заменяется for temp in string, потому что строку можно прямо итерировать.
count нахуй не нужно, заменяется sum в том варианте.
Java-senior: - не хотите ли рассмотреть предложение о работе в нашей компании, на каких условиях согласны работать?
Java-junior: - кто, как это? Пожалуйста, не спамьте нашу компанию вашими резюме. И раньше чем через 5 лет не пишите.
Как сделать это?
Первый кадр беру так,
container = av.open(video_filename)
frame = next(container.decode(video=0))
А как быстро получить кадр с середины генератора? Чтоб юзер не сидел по 10 минут и не ждал.
Естественно не пустых.
> Джанга хуянга тормознутое говно и не нужно, одумайтесь
Чел сейчас пишут микросервисы на каком нибудь fastapi + обвязка на С или Cython.
Так, братва, новости по вчерашней проблеме: сегодня после введение команды python manage.py runserver всё просто взяло и запустилось. Я не фиксил нихуя, поэтому о причинах проблемы по-прежнему в душе не ебу
ты не дерево-тян, чтобы я тебе свой говнокод на питоне показывал
Может ffmpeg с параметрами просто запускать? Эта твоя либо ласты склеит и скрипт упадет. Там же Си?
Может просто забыл базу запустить?
Либо другие приложения могли как-то мешать, вариантов куча.
На винде как правило не надо ничего запускать. Там Джанго сам коннектится к базе, юзая параметры из settings.py (кстати я не в курсах, работает ли daemon для Postgres или обходятся без него? может в этом дело)
Си. Там есть количество кадров в параметре можно глянуть, но все равно, сидеть и ждать, пока генератор пробежит несколько десятков тысяч кадров даже в холостом режиме - муть какая-то. Попробую ffmpeg запустить, должно быстро отработать, надеюсь.
>>69503
На генерацию превьюх, а точнее, на выбор кадра и тратится все время. Если юзер загрузит 2 видюхи, то не хочется заставлять его ждать столько же, сколько он ждет как в вк пока там высрет все варианты пересжатого видео.
даже так будет тратиться много времени на 1 превьюху?
получить_колво_кадров_видео/2
https://stackoverflow.com/questions/43838101/opencv-capture-arbitrary-frame-from-video-file
Начал изучать - больше года назад. Быдоскрипты писал для упрощения работы на говнозаводе и решения лаб в универе, решил попробовать вкатиться в бэк месяца 2 назад и начал с Фласка лол вовремя забив на него хуй
https://youtu.be/AL0QrLUWSE4
Не верю, что пиздюку понравится возиться с бэкендом
Они во фронт чаще пиздуют либо (в запущенных случаях) в геймдев, где их жарко любят лиды во все щели
как заставить ms vs code в терминале не выходить в консоль после удачного или не удачного завершения скрипта, а аналогично стандартному python IDLE остаться в REPL ? и оставить весь результат выполнения
Python 3.8.2 ms vs code 1.44.2, вообщем имено то что хотят здесь:
https://stackoverflow.com/questions/54609806/how-to-prevent-vscode-from-exiting-python-environment-after-running-code
но там ответа так и нет, разницы от запуска через F5 или F5+Ctrl нет
Бывают увлечённые пиздюки, в моём детстве такие были, кто с ZX-spectrum возился, на бейсике и асме кодил. У меня правда позже комп появился.
По нему видно, что он просто там по книжке набирает, смутно понимая, что делает. Но я кстати верю, что научится, из таких потом к 30 годам настоящие сеньёры и вырастают.
Чего?
Там не репл, а запуск скрипта, аналогично python main.py
Что ты ожидаешь после того, как цикл событий отработает? Потыкать переменные если хочешь, то ставь точки и вперед дебаггером.
ну в IDLE как завершился скриптик, IDLE не спешит закрыться, все результаты остались пока Restart Shell на Ctrl+F6 не сделаешь и можно и дальше вручную потыкать переменные, функции, ну вот это вот всё
Ага. И?
Atom
> Серым будет, пока ты не использовал его в коде.
Понятно, ни разу ещё ничего не импортировал.
> И как так не импортируется?
Ну я думал раз серым стало, то не импортировались.
но сервис postgres должен быть запущен. может быть винда его запускает, а может не стала.
тормозная хуйня
Я уже полтора года работаю фуллстэк обезъяной Django + Vue.
Решил вкатиться в go, и очень быстро понял, что без знания SQL дальше я пройти не смогу. Я решил задать вопрос ИТТ потому что вам вероятно знакома моя проблема и вы как питорасты сможете мне подсказать.
Я пользовался только Django ORM и мне не приходилось писать SQL код вручную, не приходилось поддерживать консистентность БД вне системы автоматических миграций джанги, и когда я пришел в другой язык, начал решать другие задачи немного охуел от того, что я тупа тупо ничего не знаю.
Вопрос. Есть ли классический/правильный/хороший подход к организации SQL кода в проекте? Куда ложить файлики, как организовывать и реализовывать схему в БД, как её поддерживать без системы вроде миграций Django? Очень надеюсь на подсказку, хотя бы какую-нибудь ссылку или тэг как искать, куда копать. Спасибо.
>Есть ли классический/правильный/хороший подход к организации SQL кода в проекте?
https://ru.m.wikipedia.org/wiki/Нормальная_форма
Да вроде нет особых подходов.
sql файл с create запросом = схема, а потом хуяришь prepared statements по необходимости.
Я предполагал такое, но после автомиграций джанги для меня это немного дико. Типа, джанга как-то делает изменение схемы БД каким-то формальным, задокументированным, что ли, а тут получается просто SQL файлы с созданием БД. От этого немного легче, уже можно формулировать новые вопросы.
>>69885
Это наверное немного не то. Я больше спрашивал об организации кода в проекте и возможно об архитектурных паттернах. Типа, "как обычно строят бэкенд приложения без Django ORM".
>Есть ли классический/правильный/хороший подход к организации SQL кода в проекте? Куда ложить файлики, как организовывать и реализовывать схему в БД, как её поддерживать без системы вроде миграций Django?
Есть, пиздуешь на девопс и бьешь DBAшнику челом оземь.
Двачую этого. Начал вкатываться где-то года два назад, и так как я до этого был членуксоидом продолжительное время, за каким-то хуем решил осваивать вим. Мало того, что я потратил на это кучу времени, так ви байнды для меня теперь как проклятие, я не могу без них ни в одном редакторе.
Ну хуй с ним с вимом, как только я пришел на новую работу я вим сразу нахуй послал, потому что нормальная IDE за тебя делает очень большой пласт работ. Минус конечно в том, что из-за ide ты не всегда будешь понимать что происходит под капотом, но а всегда ли тебе это надо?
Я короче как посидел на Jetbrains IDE теперь считаю что после первых шагов, как только они дошли до фреймворков и прошли задачи helloworld1, echo2, сразу учиться пользоваться IDE. Все эти ваши редакторы кода полная хуйня по возможностям. Да, бесплатный и свободный, и это весомые аргументы которыми можно руководствоваться при выборе инструмента, но сравнивать функционал редактора и полноценной IDE и говорить о том, что редактор может заменить вторую это притворство.
У меня наоборот - долгое время писал скрипты в минимальном редакторе и заебись, а с освонием бидона решил заодно погонять пичарм.
Пока очень бесит, что он везде лезет со своей хуйней и советами, лол и вообще слишком всё переусложнено на ровном месте. И это я ещё не пишу живой код, а балуюсь во время изучения.
Интересно, через сколько это пройдет.
Как только первый проект начнешь. Баловаться со скриптами лучше действительно в обычном редакторе.
Над многими большими проектами работают в виме, это совершенно нормально. Наверное всё сильно зависит от особенностей проекта, языка кода.
Если ты работаешь над кусками сложного кода и понимаешь проект, то там нафиг не нужны все эти сложные IDE. Возможностей вима как IDE вполне достаточно. Он тоже подсвечивает синтаксис, поиск умеет делать, diff-ы и много чего ещё. При желании можно и сложнее настроить.
Когда логика кода размазана по десяткам файлов, как это в Java принято, с их диким использованием наследования, то там уже тяжелее в виме и чаще идёт в сторону IDE.
если у тебя монолит = бекенд + бд, то обычно миграции хранят вместе с проектом (аналогично django orm) и используют что-то вроде alembic или flyway или liquibase
если бд одна на несколько проектов, тот тут либо делают отдельный сервис для нее, который работает как бы как адаптер json-sql и аналогично тому что сверху, либо держат отдельную репу с миграциями
еще есть вариант когда в компании есть отдел эксплуатации хранилищ и там им просто кидается заявочка и они сами ебутся как-то
смешно
Не очень хочется развязывать срач, так что я на этом сообщении остановлюсь. Вот что мне не нравится в vim, emacs и отчасти в тех же самых новомодных и удобных vscode:
- хуже автокомплит: неважно какой у тебя редактор, language server'a у всех одинаковые. В идее автокомплит работает в разы лучше
- искаробочное решение, которое работает сразу: помимо освоения вима и имакса их надо люто пердолить, даже если учитывать что ты возьмешь какой-нибудь популярный конфиг, допиливать его придётся до вменяемого ide-like environment. В vscode всё встаёт само;
- отсутствие вменяемых инструментов рефакторинга по всему проекту;
- интегрированные и очень удобные инструменты гита, мержи, история, и всё это наглядно и очень удобно. Наверняка в остальных редакторах есть инструменты для гита, но я уверен на 99% что они и близко не стоят по удобству с инструментами Jetbrains IDE, и для мержей скорее всего придется ставить стороннюю утилиту;
- интегрированные возможности управления деплоем, докер, возможность настройки пресетов конфигураций для них, UI для управления/подключения к контейнерам. Минус в том, что как я и сказал, не знаю как это работает под капотом. Но вопрос в том надо ли это мне? (нет). Скорее всего для решения этих задач также потребовалась бы какая-нибудь утилита
- охуительнейший дебаггер
Собственно одна IDE заменяет кучу инструментов, без пердолинга, искаробки. Но вот как раз минус в том, что код писать удобнее именно в редакторе, но программирование это лишь хз, для меня, где-то 15-20% написание кода, остальное время проработка задачи, дебаг и прочее говно
Срач какой-то особо безсмысленен, зависит от задачи.
На англоязычных сайтах не видел чтобы срались из-за инструментов каких-то так фанатично) Есть инструмент, со своими плюсами/минусами, каждый выбирает что нравится.
Так себе развлечение.
> На англоязычных сайтах не видел чтобы срались из-за инструментов каких-то так фанатично
Ага, именно поэтому вим вс эмакс это один из самых легендарных срачей эвер.
Спасибо большое, дружище.
С отделом я конечно пока повременю, просто для начала хочу hello world в виде бота написать на go, но бд там и логика относительно объемные получаются, будет над чем поработать.
Спасибо!
Так:
for i in range(1-x):
...
Или:
While x < y:
...
x+=1
Если заранее известно сколько, то лучше for.
Хто map, я map? А может быть ты?
Погугли
я сру только на работе
Какого хуя?
Так бесплатные ж говно ебаное. Нахуя какие-то копейки на божественную жидбрейновскую IDE жалеть?
Или ты из яндекс.такси вкатываешься?
Да, кодю на смарте когда скучно и делать нехуй.
Так моя проблема исключительно в пидроиде? Так то я вроде все правильно делаю?
Первый умер
Colab app? Так это онлайн интерпретатор, мне не подходит, у меня днём инет в глубокой жопе, даже на двач не хватает. Но спасибо, уебок
Ты бы хоть показал код.
Вангую, что импортировать импортировал, но без неймспейса используешь.
rutracker
Если вкатываешься на первое время вполне хватит Укус Питона. Для первого проекта достаточно.
не читай эту хуйню, там слишком много воды и пустых рассуждений ни о чем (по сравнению с нормальными книгами).
да я уже 7ой месяц ебусь со змеюкой. просто решил прочитать вдруг что полезное найду. Спасибо за наводку. Твоя мать порядочная женщина, а отец благородный мужчина.
Ну да воды много но что то полезное нахожу один хуй. На английском тяжело читать, хотя первую книгу на инглище я прочитал про питон.
посоветуй чего-нибудь, пабрацки, а? интересно про классы почитать, и про то как эффективно ими пользоваться. Ебошу парсеры буккмекерских контор с блекджеком и шлюхами. было бы круто если бы было как то чтиво в эту сторону повернуто.
проиграл
Офф доки, посмотреть практические примеры использования.
Книжки по 500 страниц прочитаешь, все равно забудется.
Если 7й месяц то полезнее всего думаю будет прочитать Fluent Python. На русском вроде "Python к вершинам мастерства". Ультрагоднота.
Смотря что купишь. Ultimate всё умеет. Не знаю насколько всё, но очень многое.
Записал. Благодарчик.
я сейчас на 500й первого тома. Тяжело читать, и он часто повторяется. Годнота конечно в том что у него основательный подход но блять какой слог ебанутый. Может проблема в переводе
что дальше можно после Седер почитать?
Пробовал Лутца для закрепления, но там много воды и мало практики.
пару хелловордов, синтаксис подучить, задачи на алгоритмы, туториал на джанге, и все, боец готов) остальное на ходу осваиваешь, так даже лучше запоминается когда на практике что-то применяешь сразу.
Уже упомянутое intermediate-python.epub как концентрацию питонического.
Ну а дальше я ничего не читал уже. Чистый питон по сути заканчивается.
Книги формата "Сборник Рецептов" держу и листаю для решения моих практических задач.
Мучос грасиас.
я даже до нулевой страницы не дочитал. просто знаю, что есть какая-то там книжка, и что какой-то мудак умудрился скучным и сухим языком разосраться на сотни страниц про язык, который легко объяснять и легко подавать на полезных живых примерах и учебных проектах
в общем, не читал, но хуйня ваш лутц!
Спасибо!
> туториал на джанге
А какой конкретно? Официальный что-ли? К слову прикольно, что некоторые книги по фреймворку порой растягиваются на 500 страниц. Вот уж действительно проще некуда.
И написан он получше некоторых книг
Функция это та же переменная, просто переопределится.
Вот есть объекты, которые могут итерировать сами себя, т.е. имеют __iter__, возвращающий себя, и реализованный __next__.
В коде с примером счетчики итератора инициализируются в конструкторе, т.е. его можно будет проитерировать только один раз для объекта (как тот же файл, например).
Это какой-то принципиальный момент, или при желании можно счетчики сбрасывать в __iter__ для многоразового использования?
Охуенно конечно говорить о каком-то коде из примера, но при этом сам код не выкладывать.
>при желании можно счетчики сбрасывать в __iter__ для многоразового использования?
Да, можно.
А вообще лучше сразу на yeild и генераторы переходи.
Ну я же объяснил, что он делает.
Хотя ещё как-то сомнительно, надо будет посмотреть в других источниках.
> А вообще лучше сразу на yeild и генераторы переходи.
Что значит лучше? Это всего лишь сахар, который тот же механизм использует.
При сбросе счетчиков объект изменяется и предыдущие исчерпанные итераторы тоже оживут, чего не должно быть.
В норме итерируемый объект должен не себя возвращать, а создавать новый объект-итератор.
То есть в своём MyObject ты при __iter__ создаёшь некий другой объект, MyObjectIter, в нём хранишь переменные, с которыми работаешь, ссылку на MyObject при необходимости.
А вот в MyObjectIter итератор уже self возвращает.
Ну с отдельным итератором всё понятно.
А в случае самоитерации отдельный итератор это уже она сама и надо соответственно реализовать.
>А какой конкретно? Официальный что-ли?
django girls, там хорошо что код самому набирать, хоть и немного, лучше запоминается.
Официальный тоже неплохой.
То что доки много страниц это ничего не значит, на любом языке/фреймворке девелопер сначала изучает базовые приемы работы на языке/фреймворке, далее уже по потребности смотрит доки или гуглит решение.
>>71067
Это там со всеми доками и туториалом 2000 страниц.
А так туториал 7 parts, или 64 страницы если в pdf.
Джанго гёрлз говно из жопы, не объясняется ровным счётом нихуя, ты просто пишешь что тебе говорят.
У мозиллы неплохой гайд, но по старой версии джанги
В целом можно описать этот вопрос как: зачем вообще нужна динамическая типезация? Мне, как человеку, который вообще никогда не работал с такими языками, кажется это очень не удобно. Основная проблема это возможность отправления в функцию непредполагаемого типа. Попробовал в консоли отправить в функцию sum строку. Получил ошибку типа ожидалось int, а получено str. Значит функция как-то проверяет тип, я так понимаю это можно делать отловом исключений (до этого еще не дочитал). А так как я не знаю фишек динамической типзацией, то для меня это кажется чистым костылём.
Так вот, анон, в чем плюсы динамической типезации над статической.
А тебе удобно в статических языках, когда тебе надо делать работать с темплейтами-дженериками потому, что вроде бы функционал одинаковый у функции-метода, но типы разные?
А удобно работать с форматами вроде json/xml? Удобно, когда ты не можешь в словаре хранить разные типы данных, а только одного типа или с одним определённым интерфейсом?
Собственно самая засада начинается с работой со сложными структурами данных, зачастую заранее не определёнными. Вот как такие, что приходят тебе по JSON.
Про Ютуб я знаю, у меня с английским проблемы. Мне вообще от конкретного автора курс нужен.
Нет ли штуки, которая кратко заставит написать в одной строчке, мол (a "чё там пользователь ввёл в операции" b) и чтоб оно посчиталось?
делаю в вижуал студио
Дико извиняюсь, если пишу не по-программистски.......
Просто просишь ввести необходимую операцию:
s = input("Введите матиматическое выражение: ")
Например пользователь ввел "2+6×3"
result = eval(s)
И дальше ответ:
print("Результат матиматического выражения: %.2f" % result)
Питон это бекенд, мл, боты и куча вариативных скриптов спрос на которые был и есть. Ладно, не суть. Сколько примерно займёт вкат в твой набор?
>это бекенд
Это пхп. Либо джава, но никак не питон.
>мл
Много ты работ во фрилансе, связанных с мл, видел?
>боты
На node.js пишутся быстрее и легче, спасибо божественному puppeteer. К тому же можно их писать в виде расширений для браузеров, что тоже весьма популярно и пользуется спросом.
>Сколько примерно займёт вкат в твой набор?
Если перечисленный тобой опыт реален, то не больше 3-х месяцев точно.
Открываешь аудиофайл. Сверху появляется проигрыватель с бегунком-громкостью, все дела. Внизу под ним один в один наложенные графики с уровнем, спектрльным центроидом ну всякой другой кепстральной математикой, она у меня есть.
Пользователь может этот графики туда сюда-зумить, запускать файл с разных мест отмечать на графике или бегунке контрольные точки, которые потом будут экспортироваться.
По сути надо продублировать интерфейс mp3splt-gtk, но без его заёбов.
PyQt сможет? Если да, то от каких виджетов плясать?
попробуй guizero, а график в matplotlib вторым экраном.
и файл не проигрывай. нахуй надо это qt.
На примере той же Джанги или Фласка?
uuid или можно шифровать/дешифровать id
мол crypted_id = encrypt(id, key)
/items/{crypted_id}
а потом обратно decrypt(crypted_id, key) можно еще случайность добавить
но лучше забей это реально нужно лишь в 0.00001% случаев
Слаг филд
кому надо
и что это
сам учишь какую-то хуйню, а нас спрашиваешь. Мы ебем нахуя тебе оно надо? Я вот не делал рекурсию на примере функции Аккермана
Есть QTableWidget, который выводит определенную информацию из SQLite. Там не просто из таблицы, а с джоинами, плюс сделал первый столбец в каждой строке как QtCore.Qt.ItemIsUserCheckable, чтобы можно было выделять галочками.
И хотелось бы прикрутить фильтрацию столбцов к этому делу. В идеале - чтобы как в DB Browser'е (см. пик). Но можно и сверху, а не в самом виджете.
Собственно, вопрос: как это лучше реализовать? А то тут нагуглил вообще про какие-то модели данных, но я не программист, и мало что понял. Да и не знаю, работают ли они с джоинами и посторонними элементами в виджете. Короче, посоветуйте что-нибудь, пожалуйста.
вопрос то в другом - для чего нужна рекурсия? если во первых она ограничена и во вторых можно циклом все задать?
Так делай циклами тогда.
Можно и без рекурсии. Иногда даже нужно. Но в этом случае тебе придётся её самому имитировать через стек, что лишний геморой. Если хочешь - делай так.
Иногда рекурсией код записать гораздо проще, при этом он еще и сразу понятен. Например для той же функции Аккермана - переписал уравнения в код и всё, даже мозг включать не надо.
Нужно написать микросервис, который принимает набор данных и возвращает результат, смоделировав его через ML модель. Правильно ли я понимаб, что тут вполне будет фласка достаточно?
А как у тебя протокол получения задачи и отправки результата будет устроен? Обычный запрос по url-post и ожидание ответа без разрыва соединения?
Тогда да, достаточно.
Если время ответа будет с большой задержкой, то нужно делать вебсокет.
Подскажите, каким образом лучше всего изучить Django?
Есть базовые знания HTML, CSS и Python. Знания английского среднее.
Пробовал по оф.документацие, но там все сухо подано, да и объяснения какие-то туманные для новичка. Вот тебе код, вот при наборе этого кода ты получишь следующее. Хотелось бы более углубленное изучения, где бы объяснялась причинно-следственная связь.
Есть ли на русском какой-нибудь годный вводный курс для новичков? Чтобы раскладывали все по полочкам, без копи/пасты и т.д.
Спасибо конечно же, но 1 час это очень мало, да и к тому же, хотелось бы на примере какому-нибудь. Например: создаем эдакий сайт на Django, в ходе которого бы рассказывались азы, причинно-следственная связь и т.д. У Хоуди очень поверхностная информация, просто быстро пробежался, да и к тому же, под конец там вообще сплошной "не обращайте внимание, просто пишите то же, что и я".
Смотря какой уровень у тебя, тут например подробно и растяжисто: https://www.youtube.com/watch?v=-kvoStX713Q&list=PLSWnD6rL-m9adebgpvvOLH5ASGJiznWdg&index=3
Спасибо. Да, о чем-то таком я и говорил. Нашел еще днем отличный курс Олега Молчанова, только там все было очень хорошо разжевано где-то до 5-6 урока, потом он троить что-то сильно начал, забив на разъяснение и просто перейди к копи/пастингу. Нужно будет Медведя посмотреть, надеюсь, у него вышеописанное не начнется.
Еще раз спасибо тебе.
>>72950
На самом деле, чем больше, тем лучше, карантин же, свободного времени уйма, да и к тому же, чем больше информации о фреймворке, тем лучше. Поверхностное знание и копи/паста совсем не то.
./configure --prefix=/home/`whoami`/local --disable-shared
make install
Потом собираю свой экзекьютабл. Там в main(...) надо вызвать Py_Initialize() по тьюториалу. Если убрать папку ~/local/lib/python3.8, то получается ошибка. Но в этой папке ~2000 файлов. Питону правда, чтобы просто запуститься, нужно выполнить столько скриптов?
Там все библиотеки, без них питон не питон. Сделай хотя бы пустую папку, а по strace можно понять, что там реально он открывает.
Уже попробовал. Для запуска с Tkinter (за копипастингом пропустил момент, на котором эта либа попросила новые скрипты) все еще требуется ~200 файлов оставить. Но в принципе уже норм. Вопрос можно снять.
coursehunters.net
потому что не понимаю, как учить дальше и что делать с теми знаниями, что уже получил - плюс переехал в другую страну и в связи с гребанным вирусом все планы полетели в пизду
24 скоро - закончил ргунг, поработал в сибири - переехал в израиль, сначала по программе, тепреь уже гражданин, учу на курсах си и потом буду JS, самостоятельно пытаюсь учить питон, учу иврит, в итоге иврит курсы его накрылись пиздой - сколько программирование еще учить не знаю, хочу как-то ускориться =, но не знаю как
Это всегда очень индивидуально. Зависит от тебя, какие у тебя вводные, по образованию-возрасту-статусу-складу ума-подготовки, от того, в какой стране ты находишься, в каком городе и какой там рынок IT, какой у тебя юридический и визовый статус.
Нельзя так посоветовать. Даже примерно. Ну реально, тебе самому надо изучить немного рынок труда, какие есть вакансии, что спросом пользуется. Пусть там для мидлов-сеньёров, но это направление подскажет.
Если совсем сейчас надо и очень обязательно, то связываться с конторами надо. Может попробовать с там работающими переговорить. И тоже, всё много от чего зависит.
Вот для развития себя как специалиста, много языков учить не надо. На голом языке мало чего делают. То, что делают на голом языке, обычно требует серьёзных специальных знаний и это нишевые вещи.
Любому спецу надо знать индустриальные технологии по направлению, в котором ты собираешься развиваться.
Для питона, есть большое направление ML, OpenCV и вот туда, в котором я не ориентируюсь вообще. Ничего не могу сказать.
Есть сетевые направления, сервисы разные, тут проще:
1) для всего полезно разобраться с git
2) полезно разобраться с контейнерами, с docker
3) полезно разобраться с параллельным, многопоточным и асинхронным программированием. Особенно с асинхронным, если на питоне
4) полезно разобраться с веб-фреймворками, актуальные django и aiohttp
5) полезно разобраться с БД и хранилищами, Postgres, Mongo, Redis и подобными.
6) полезно очереди сообщений, RabbitMQ, всякие Celery может быть.
7) полезно разобраться с облачными технологиями, все эти AWS, Azure и т.п., но я всё до них никак не дойду, но они в тренде.
Огромная масса всего есть, просто страшно, сколько всего надо бы уметь. Я делаю упор больше на сетевые вещи, это мне ближе. Что-то ещё забыл наверняка.
Молодец, развернуто ответил, без пафоса и надменности. Такое отношение всегда приятно наблюдать. Плюс в карму однозначно.
мимо
>Огромная масса всего есть, просто страшно, сколько всего надо бы уметь. Что-то ещё забыл наверняка.
8) RESTful API's
9) тесты
10) фронтенд немного
Да не так уж и много. Можно глянуть вакансии, у каждой своя специфика чаще всего, но если есть опыт python/django, разобраться с чем-либо не составит много труда и времени.
Проблема при установке django
Устанавливал django на ubuntu по инструкции отсюда https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04-ru
Начал создавать образец проекта:
mkdir ~/django-test
cd ~/django-test
python3.6 -m venv my_env
source my_env/bin/activate
pip install django
django-admin startproject djangoproject
И на следующем шаге в ответ на
python manage.py migrate
получаю
can't open file 'manage.py': [Errno 2] No such file or directory
То есть во первых почему-то не находится django, а во-вторых файл manage.py.
Долго гуглил и везде пишут что нужно просто находиться в той директории, где находится manage. py чтобы он нашелся.
Пытался выполнить запрос python manage.py migrate из всех директорий всех файлов manage.py, которые нашел на компьютере (они на пикриле), это не сработало.
Например перехожу в директорию одного из этих файлов:
cd /usr/lib/python3/dist-packages/plainbox/impl/providers/categories
Пытаюсь выполнить:
python manage.py migrate
Результат:
No module named 'plainbox'
Как исправить?
Проблема при установке django
Устанавливал django на ubuntu по инструкции отсюда https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-ubuntu-18-04-ru
Начал создавать образец проекта:
mkdir ~/django-test
cd ~/django-test
python3.6 -m venv my_env
source my_env/bin/activate
pip install django
django-admin startproject djangoproject
И на следующем шаге в ответ на
python manage.py migrate
получаю
can't open file 'manage.py': [Errno 2] No such file or directory
То есть во первых почему-то не находится django, а во-вторых файл manage.py.
Долго гуглил и везде пишут что нужно просто находиться в той директории, где находится manage. py чтобы он нашелся.
Пытался выполнить запрос python manage.py migrate из всех директорий всех файлов manage.py, которые нашел на компьютере (они на пикриле), это не сработало.
Например перехожу в директорию одного из этих файлов:
cd /usr/lib/python3/dist-packages/plainbox/impl/providers/categories
Пытаюсь выполнить:
python manage.py migrate
Результат:
No module named 'plainbox'
Как исправить?
> django-admin startproject djangoproject
Ну так зайди в этот djangoproject сначала, норкоман. Там и лежит manage.py
Ищу
~/root/django-test/djangoproject
И пишет
bash: /root/root/django-test/djangoproject: Нет такого файла или каталога
Хотя несколькими строками ранее писал
CommandError: '/root/django-test/djangoproject' already exists
Все, все нашел. Спасибо, сработало.
~/root это каталог root в хомяке юзера, т.е. в твоем случае /root/root
Ты линупс в первый раз видишь, штоле?
Тоже вкатываешься? Если да, то напиши на почту:
ладно, хуй с вами, решил вопрос textedit'ами сверху и проходом по нужным столбцам со скрытием или показом строк
да пиши тут. мне неинтересно будет "вкатываться".
у просто забукмаркить решил видео на будущее.
Сам пилишь что-то на джанге или работаешь?
Да, именно так. Собственно вчера уже запилил. Сейчас хотел начать делать фронт, а он мне такой ModuleNotFoundError: No module named 'numpy', хотя вчера всё работало. Скиньте годных статей про управление версиями питона и вот это всё, а то после фронта, где ставишь всё в проект и кайфуешь, как-то непривычно.
А ты как вообще с проектом в питонухе работаешь? Через виртуальную среду? Если пишет No module named 'numpy' значит так оно и есть
п.с. где годные туториалы по построению фулл веб-приложения: бэк на питоне, а фронт на жс? пока что все что я делал это заливал ванильный жс-говнокодкод в темплейты джанги, хочется освоить фронт (на уровне "троешника" хотя бы) и бэк в связке
Зашёл говорю flask run, ёпт, а он морду воротит. Вчера норм робило, как я понял потому что использовал ту версию питона, которая с юпитером работает, а вот ща какую-то другую начал. Вот и хочу разобраться что к чему
Вот чтобы не было такой ебли с версиями, ебошь virtualenv или conda venv и ставь все пакеты туда, надо будет - сменишь среду, а не будешь кустарно менять глобальные интерпретаторы для проекта
В питоне принято работать через виртуальные среды, он их очень хорошо и удобно поддерживает, даже проще, чем кажется при взгляде на инструкции.
Фактически тот же принцип, что и в npm. Там у тебя есть "виртуальная среда", он определяется соответствующим каталогом node_modules, в который и записываются npm-модули при установке.
В питоне тоже создаются такие каталоги и в них ставятся модули. Обычно в пособиях рассматривают работу с виртуальными средами через source bin/activate, это если в консоли работать, но это не очень прозрачно и не всегда удобно. Проще работать другим способом, просто по глобальному пути вызывать интерпретатор-инсталлятор.
Сначала просто создаёшь виртуальную среду, а потом пользуешься ей без активации:
~/virtualenvs/venv_py38/bin/pip install some_module
~/virtualenvs/venv_py38/bin/python my_prog.py
условно как-то так. Универсальный подход, можно использовать в системных скриптах и т.п. Питон сам будет брать всё, что нужно, из соответствующего окружения.
Переносимость "на дискете" правда сильно хуже, чем у npm.
>Переносимость "на дискете"
Тут чел хотел на полном серьезе просто перенести папку venv: >>1664292 →
Это не то чтобы нереально, но больно много ебли с этим. Для переносимости лучше docker'ы ебошить
Питон на дискете переносится, но плохо.
Для ноды ты просто тупо копируешь каталог, и если у тебя линукс с 8 версией, а на целевой машине винда с 12-й версией, то скорее всего заработает без проблем. Большинство модулей переносимые.
В питоне сложнее, перенести так можно, но только в рамках системы одного семейства и одной версии питона. И надо ключи правильные при создании venv не забыть.
> Для переносимости лучше docker'ы ебошить
Но для этого надо, чтобы докер на машине стоял, а для этого надо его ставить, а это гемор. Его потом ещё надо запускать. Сам докер в системе - это дыра в безопасности, с ним надо аккуратным быть. На Win 10 Home докер не поставишь. Больше гемороя, чем кажется.
спасибо друг, а то тут все так надменно отмечают, как будто родились и уже на мамкиной пизде прогать стали. Правда спасибо) вопрос есть, просто я вот умею уже частично что-то делать, но до сих пор не понимаю практичесокго применения этого всего дела
Есть задача парсить сайт раз в час и сравнивать спаршенные значения с предыдущими. Как лучше хранить данные для задачи?
Да, можно в файлик просто писать json.
С БД удобнее и быстрее, она для этого и предназначена, хотя если и напишешь как написал, потом уже не составит труда на бд переключить, т.к. логика готовая будет.
C редисом не знаком, он пока в бэклоге
Варианты:
Запуск в другом процессе
Запуск в другом треде (зашкварно, не только из-за GIL но и из-за ебли с локами и гонками)
Асинхронный запуск функции, если это связь с сетью и одна из функций не блокирует основной поток нон-стоп
(lambda x: file.write(x*10))("string argument")
Во время обработки запроса надо сделать запрос на другой сайт, результаты которого нужны только серверу. Клиент в это время уже спокойно может идти дальше, получив ответ со статусом 200
>>73877
Понятно, спасибо, анон. Вторая функция и так асинхронная, но просто хотелось бы, чтобы ответ на клиент ушел быстрее
https://stackoverflow.com/questions/7168508/background-function-in-python
Наверное типа такое нужно.
Нахер бесполезный оверхэд, нужный только чтобы показать "Мама, смотри, я без рук еду я через функциональную парадигму прогаю!"
В этом есть какая-то необходимость?
При желании, можно несложно сделать декоратор и определять функцию как
@call_right_now(params)
def func(param1, param2):
___body
>>73897
А что в итоге профитнее будет, например при 100+ запросах к этой функции? Запуск в другом процессе выглядит привлекательно, но ведь такая хуйня запустит по процессу на каждый вызов функции и рано или поздно наебнет сервер. Или т.к. особо CPU-затратных операций в этом нет - забить на GIL и делать тредами?
Просто делаешь очередь на обработку запроса на сайт. К тебе приходит клиент, ты формируешь запрос на другой сайт и кладёшь это в специальную задачу в очередь. Клиенту выдаёшь ответ.
В это время другая задача сидит на очереди, как только там что-то появляется, обрабатывает независимо уже этот запрос. Так можно и через asyncio делать, и через потоки. Можно отправлять в другой процесс или на другой сервер уже через MQ какой-нибудь.
Да неее
>и через asyncio делать
Но ведь asyncio просто запустит вторую функцию асинхронно, а сама функция остановит выполнение, пока запрос не завершится.
Нет, в первой функции ты делаешь
request = {'some_url': 'xxxxxxx'}
queue.put_nowait(request)
другая функция где-то в фоне крутится, запущена как самостоятельная задача
async def downloader(queue):
____while True: # or something
________request = await queue.get()
________await do_request(request)
Совершенно типовой паттерн. Операции сетевых запросов в asyncio не блокирующие. Твоя цель - развести функционал по разным задачам, по разным потокам исполнения, и крутить их параллельно.
Асинкио или треды даже не важно, паттерн общий. С тредами тоже надо через очереди работать, это самое правильное, а не через мютексы.
Понял, спасибо, анон.
> Операции сетевых запросов в asyncio не блокирующие.
Я просто не так понял, подумал речь просто о вызове второй функции через await в теле первой
self.ui.comboBox1.addItems(self.addsmth)
def addsmth(self):
--list1 = queryfunc1()
--return list1
queryfunc1() - это функция запроса и она точно возвращает список вида ['A', 'B', 'C']
Но программа крашится, когда я запускаю окно с этим комбобоксом.
Что за хуйня?
Если сокет докера доступен по-умолчанию, а так часто делают (добавляют пользователя в группу docker), то любая программа может к нему подключиться и делать что угодно в твоей системе с правами рута и доступом ко всей файловой системе.
Если ты не включаешь пользователя в docker, то тогда должен дать ему право запускать через sudo, что тоже опасно.
Это в первую очередь про линукс. В винде, возможно, докер запувскается сам внутри виртуальной машины и поэтому более безопасен. ХЗ, я работаю с линуксами.
Какой же жопаскрипт урод, пиздец просто.
Антоши, накидайте статей/ключевых слов по решению задачи - анализ изображения в реальном времени, определение скорости и направления объекта (только 2D). В память лезть не интересно, хочу именно по картинке. Ну и у меня всякой математикой-геометрией плохо, буду благодарен если поделитесь полезными материалами для решения такой задачки.
>к нему подключиться и делать что угодно в твоей системе с правами рута
Доступ к сокету позволяет использовать api docker, как с помощью него писать, например, в /usr?
Я тебе больше скажу, если ты используешь sudo, то любая программа можеть написать в твой bashrc alias и дальше делать что угодно.
С помощью апи докера можно запустить контейнер, который делает любые нужные тебе вещи
docker run -v /:/hostroot:rw -u root:root --priveleged some_container
Внутри контейнера ты уже можешь делать всё, что угодно. Базовыми средствами докера ты как-то блокировать такое поведение не можешь.
другой анон
оч грамотно пояснил. добра тебе. есть где гайд с подробным описанием таких косяков и практиками как с этим бороться?
. venv/bin/activate
export FLASK_APP=hello.py?
а только потом flask run? Это же три команды против одной на моем любимом фронтенде. Можно как-то исправить?
1раз пока не закроешь консоль:
>myvenv\Scripts\activate
далее уже по потребности типа:
python manage.py runserver
Его нет.
Проблема в том, что таких как ты слишком дохуя. Все они пасутся на такой простой хуйне, демпингуют и работают за копейки, чтобы вырвать говнопроектик себе.
Это я понимаю, но мне не нужны огромные деньги. Потому я просто хочу раз в недельку клепать такой говнопроектик.
В офис за недорого не вариант? Что-нибудь связанное с вебстеком например, заодно натренируешься.
Была бы возможность... Я живу в полной дыре, к сожалению. Был бы я в миллионике, хотя бы, то явно бы такие вопросы не задавал. Я понимаю, что в офисе лучше, но возможности нет.
Я бы сказал регаться на апворке, но там для начинающих много напрягов. Плюс недавно в рашке отключили пионер, который самый удобный способ вывода, так что хуй знает.
Можешь попробовать fiverr. Это такой сервис для мелкоработ, но там вроде надо и продвигаться как-то, чтобы у тебя заказывали.
>Была бы возможность...
>к сожалению. Был бы
>лучше, но возможности нет
Кому надо ищут возможности, прикладывают некоторые действие, а не оправдываются, тем не менее это ваше дело как жить.
>дохуя
>слишком дохуя
Вместо того чтобы изучать актуальный стек, они
>они пасутся на такой простой хуйне
Казалось бы очевидное решение.
django здоровый дофига, хочу что-то полегче, мне пару crud эндпойнтов к монго прикрутить посути.
в drf есть все, делается по офф доке довольно быстро, для пары ендпоинтов в джанго в дебри вникать не надо будет
если хочется прям чтобы нихуя не было и все подключалось, то flask
если модный дохуя, то fastapi
>Я знаю питон, вроде даже не так уж и плохо.
Хуле толку питона с сайтиками, смысл во всяких библиотеках вроде панд, матплотлиб и прочих тензерфлоах
Ну например в федоре selinux стоит по умолчанию, он тебе не должен дать сделать подобного.
А с судо ты проблему уже решил?
загуглить, либо если алгоритмы leetcode
Благодарю.
Конкретную ширину на экране (или иногда высоту) обычно устанавливает менеджер разметки - pack, grid или place. Если тебе нужна конретная ширина или высота после компоновки, вешай на виджет событие Configure с лямбдой и замыканием с другими виджетами, если с ними надо что-то сделать в записимости от этой ширины или высоты.
Мудренно. Мне просто конкретная ширина нужна была, просто .grid(ipadx=) вроде справился с задачей.
ERROR: activate_clang_osx-64.sh failed, see above for details
ERROR: This cross-compiler package contains no program /Users/name/opt/anaconda3/bin/x86_64-apple-darwin13.4.0-clang++
ERROR: activate_clangxx_osx-64.sh failed, see above for details
Кто сталкивался с такой проблемой? как решать?
Куча питонячих библиотек написано на С, тот же uwsgi. Так вот приходится писать биндинги и свои реализации серверов.
https://youtu.be/c45cBujMQAs
А насколько много данных? А то можно просто словарь питоновский держать и хранить его в бинарном виде с помощью встроенного модуля picle, ну или в текстовом json
checkio.org
>pygame
https://www.pygame.org/wiki/GettingStarted#Pygame Installation
гугли ошибки, может у тебя питон или пип не установлен вообще)
>пока лучший бесплатный видеокурс по джанге записан Олегом
>издец как интересно на все уроки взглянуть, жаль что денег нема.
Там же ничего нового в принципе, только то что уроки записан в 2020 году и ты повелся на лендинг)
Из того что смотрел годный - "[tceh] Разработчик на Python" от Никиты Соболева. Правда там не только по Джанге, но и основы + фласк, но в целом довольно интересно, основное по фреймворку рассказывает, затрагивает DRF
Допустим, я пишу ИС на джанге. Сначала я разрабатываю API и основу своей ИС. Потом, каждый следующий спринт я пишу микросервисы, решающие конкретные задачи в моем проекте. Эти микросервисы взаимодействуют с помощью API. Я все правильно понимаю? Хотелось бы услышать ответ от анона с опытом в разработке.
Куда дальше двигаться?
Atom поудобнее, и модули дополнительные есть под язык с которым работаешь.
Атом я рот ебал. Сейчас пользуюсь vscode и vim. Давно хотел саблайм посмотреть, но руки не доходили
Я о том, что атом почти то же самое, что вскод, и то и то от микрософта а гитхаб сейчас микрософт и держит и я смысла менять шило на мыло не вижу
Атом по функционалу устраивает и хватает пока, более легковесный чем вскод/пучарм.
А так из иде пучарм неплохой, приблуд много всяких.
В Атоме почему-то не работает автодополнение при прогании. Не только в Пистоне но и в ЖС. В чем причина может быть?
Слез с пичарма, как только закончил бегиннер курс. Слишком тяжеловестно и много лишнего. При желании, все плюхи пичарма можно заебенить и в vim или vscode
Особо таким не пользуюсь, а так там package autocomplete Python называется, чтобы полноценно для твоего проекта работало надо вот это добавлять:
если ты делаешь в соляново, то смысла в agile нет. Все эти штуки это для команд.
В основе agile лежит bdd + scrum, то есть разработка основанная на поведении + инкрементарная разработка. То есть ты не ебашишь сразу описание всего апи и потом делаешь по куску в две недели, а определяешь что нужно твоим пользователям прямо сейчас больше всего и делаешь это в течении спринта. В конце спринта релизишься, фиксируешь что было ок/неок, складываешь техдолг в беклог, определяешь задачи на новый спринт.
Вообще почитай красную книгу про scrum, на дваче одни долбоебы
разраб, опыт 5 лет
Спасибо, анон. Я вообще курсач пишу, поэтому и написал пофантазировать про эджайл. Не хочется каскадную модель выбирать, поэтому и спросил, как джанга и эджайл дружат.
Вэб разработка то мне нахуя? У меня спецуха экономиста бигдата нужна, чтобы экономический анализ свой совершенствовать
джанго - это сервер, эджайл - это подход к организации. "Дружат" нормально, не хуже любого другого аналогичного фреймворка.
Хочешь модного бери fastapi.
гх есть, но юзаю только для работы, пет-прожекты не пишу, впопенсорц не вкладываюсь, в рот ебал палить местным неадекватам
как научиться, я хз, прогал в школе на PascalABC.Net, потом поставил линукс и перекатился на python, писал всякое, чтобы проще было делать домашку по алгебре. В универе были C, C++, C#. Ничего прям спецом, как местные, по 8ч/день не учил. С 3-го курса пошел работать.
Из книг по ЯП мне понравился Лучано Ромально Fluent Python, но он в отличие от Лутца не объясняет такие сложности вещи, как то что программируем мы за компьютером, а у компьютера есть клавиатура.
На джанго не пишу, больше по aiohttp
>На джанго не пишу, больше по aiohttp
По бекенду в основном работаешь или фуллстек?
занимался бекендом / бд / батч-процессинг. сейчас сменил работу, пока занимаюсь какой-то хуйней. работаю в офисе, js/вестка не умею, но думаю почитать чего в отпуске
если ты фуллстек и не столкнулся с синхронными проблемами, то не еби себе голову и бери drf
знакомые пайтон фуллстеки пишут SPA+backend на reactjs+drf или vuejs+drf
>reactjs+drf или vuejs+drf
Собственно дублирую вопрос: >>73491
Где годные туториалы по построению фулл веб-приложения: бэк на питоне, а фронт на жс? пока что все что я делал это заливал ванильный жс-говнокодкод в темплейты джанги, хочется освоить фронт (на уровне "троешника" хотя бы) и бэк в связке
Не могу решить задачу. Может поможет кто-то?
a = int(input()) #рекомендовано столько спать
b = int(input()) #пересып
h = int(input()) #столько часов спит
if h == a:
print('Это нормально')
if h <= a:
print('Недосып')
if h >= b:
print('Пересып')
Тебе же написано, чему стоит уделить особое внимание.
Алсо, вариант может быть только один, так что лучше завернуть в if-elif, а не отдельно.
я не знаю
вообще странный вопрос, если ты про SPA+backend. как бы вся суть такой связки в том, чтобы фронт и бек были независимы и связывались только через API. Как бы вся связка так работает: на бекенде пишут openapi.yml, показывают фронтам, фронты генерируют js-код и юзают его.
какие-то сложные особенности взаимодействия и тонкости совместного использования на курсах не рассказывают
погугли про SSR
код выполняется сверху вниз по строчно
если у тебя
a == 5
b == 6
h == 5
то
h == a -> пишет "норм"
h <= a -> пишет "недосып"
ты как бы попадаешь в обе ветки. А тебе надо либо сделать так, чтобы условия не пересекались, либо так, чтобы второе условие не проверялось
import math
a = int(input())
b = int(input())
c = int(input())
p = (a + b + c) / 2 #полупиримитор
temp1 = p(p-a)(p-b)*(p-c)
S = math.sqrt(temp1)
print(S)
https://gregoryszorc.com/blog/2018/12/18/distributing-standalone-python-applications/
Так что у PyOxidizer'а сам механизм лучше, чем у PyInstaller.
>>75506
Можно улучшить комментарии.
Он пытается автоматически начать скачивать?
С линупса вот сюда захожу
https://www.python.org/downloads/release/python-382/
Там разные версии есть.
трабл в первом if. Где написано что нужно спать определённное кол-во часов? Следовательно h не равно а. a - это минимум, который можно спать, b - максимум. Я думаю она должна выглядеть так:
a = int(input()) #рекомендовано столько спать
b = int(input()) #пересып
h = int(input()) #столько часов спит
if a<h<b:
print('Это нормально')
elif h <= a:
print('Недосып')
elif h >= b:
print('Пересып')
opencv - это библиотека, там много разных реализаций алгоритмов в основном связанных с обработкой изображений
> Он основан на машобе или он по другому принципу работает?
какие-то алгоритмы "классические", какие-то с машобом да
> Насколько хорошо он развит в питоне и есть ли какой-нибудь яп который превосходит питон в этом плане?
В питоне есть обертки к сишным функциям на опенцв. Соответственно нативно все в будет в родных C++, нормальные биндинги помимо питона есть в Java, Matlab может еще где. Превосходит ли хуй его знает.
> И самое вкусное - если вкатываться в opencv и машоб то сколько времени на это потребуется с знаниями матана и статистики на около базовом уровне?
Опенсиви ебать какой большой, смотря какие задачи ты с ним хочешь решать. Судя по задаваемым тобой вопросам, тебе нужно будет года 2-3
Спасибо большое.
И тебе спасибо, анончик
Основная цель - фейс рекогнишн, и в малой доле привлечь обработку фото. Но и без машоба я тоже не обойдусь ибо надо нейроночку мутить для моей цели. Спасибо за ответ.
Да, мы здесь о нём говорим. Развивай мысль дальше.
Тут двачую, так писать это конечно хех мда.
> то , ч т о т ы т у п о й е б а к л а к
Я это и без тебя знаю, умник ебаный. Как эту ебень с json'ом фиксить ?
Вкатись во фронтэнд пока не поздно.
"FUCK YOU" это строка, первый символ которой F, второй U и тд
согласно формату json все строчки должны быть в двойных кавычках, то есть первый символ должен быть ", второй F, третий U, ..., O U " - последние.
таким образом корректый json это "FUCK YOU", а твой код должен быть таким:
import json
payload = json.loads("\"FUCK YOU\"")
и да ты правда тупой
Охуеть, он ещё и методы перепутал. Га-га-га, вот это ржака пацаны.
ЫЫА ПАЧИМУ МОЙ do_shit(shit) НЕ ДЕЛАЕТ ШО Я ЕМУ СКОЗАЛ? ДВАЧ ПАМАХИ!
блять, просто изучи error log, если ты только учишься, то там как правило и есть ответ на твой вопрос, это не многоуровневая ошибка в той же Джанге, вызванная косяками в БД
Почему так?
>>>int.__sizeof__(1)
28
>>>a = []
>>>a.__sizeof__()
40
>>>a.append(1)
>>>a.__sizeof__()
48
Посоветуете какой-нибудь фреймворк для парсинга тик тока?
Какие же питунисты дегенераты пиздец просто.
И к этому еще где-то статьи на хабре о том, как устроены стандартные типы данных и сколько на что отводится.
Нубский вопрос пиздец, но гуглится хуево
Короче пишу свой package. Нормально ли функциональный код вставлять в его __init__.py? Вроде как импортируется в таком случае ахуено удобно. Но хз сомнения
Нет смысла, и не принято так делать.
Иногда так делают:
https://github.com/python/cpython/blob/master/Lib/logging/__init__.py
https://github.com/python/cpython/blob/master/Lib/collections/__init__.py
Более того, довольно часто делают. Посмотри просто исходники стандартных библиотек питона
https://github.com/python/cpython/tree/master/Lib
Какую IDE использовать чтоб меня не засмеяли когда я расшарю свой экран?
Нету ворда активированного.
GNU Emacs, Pycharm, Tmux+Vim+bash
Ориентированные на разработку и настроенные - норм, если ты в них свободно работаешь. Что Pycharm, что VS Code, что всякие атомы. Vim-emacs тоже норм.
Твой уровень как разработчика мало зависит от IDE. Особенно в случае питона.
Нормальные пацаны юзают то что им удобно, есть из чего выбирать.
>Ява и свифт - хорошие языки для профессионалов, которые учили программирование
>Зато питону можно научить даже ребёнка, а также им могут пользоваться люди, которые вообще не умеют программировать
Норм обосрал))
Да, есть такое.
Идея такая, что большие языки слишком индустриальные, с очень большим входным уровнем. Кому-то это прикольно, что просто строится такой барьер от случайных людей, кому-то это противно, некоторым программистам в том числе.
Гвидо хотел создать язык программирования для не программистов. Он сам об этом говорит. Чтобы всё было максимально понятно и красиво.
Но, язык оценили и программисты в том числе, и пришли в него. Сначала Гвидо сопротивлялся каким-то новациям, однако потом его постепенно продавили и язык стал обрастать такими чисто инженерными вещами, с которыми уже не-программисту довольно сложно работать. Сам Гвидо уже отодвинут от разработки и особого влияния.
Местами язык немного подпорчен, поскольку многие конструкции уже потом прикручивали, как могли.
Но всё-таки большая разница, когда база языка сделана максимально стройно, когда это было основной целью, и когда база была тяп-ляп, а уже потом программисты пытались из этого как-то выкрутится. Пример последнего - JS и PHP. Они тоже начинались как языки не для программистов, но сделаны теми, у кого никакой культуры не было, тяп-ляп. И страдают от этого до сих пор.
Это копия, сохраненная 24 августа 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.