Программирование

Ответить в тред Ответить в тред
Check this out!
Питон тред №124.1 /python/ Аноним 19/07/21 Пнд 14:52:17 21004191
71679-monty-pyt[...].jpg 129Кб, 800x829
800x829
ciwlCWa.png 507Кб, 1024x512
1024x512
DUhl0iYU0AUOE6q.jpeg 93Кб, 1218x684
1218x684
Тред, посвящённый языку программирования Питон, #141.1 (вторая редакция, первая забагована, думаем, почему двач не перепишут на питон)

Предыдущий: >>2087217 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: 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/bASGKD8cCFDf
Аноним 19/07/21 Пнд 14:56:27 21004252
изображение.png 49Кб, 1200x623
1200x623
Сап анасы. Подскажите нахуя нужен в spark нужны таблицы?
Датафреймы один в один повторяют их фунционал, но спарк же не хранилище, поматросил и бросил. Ладно там метадату хранить кокую-нибудь, но там что-то данные туда постоянна колхозят.
Аноним 19/07/21 Пнд 15:07:44 21004303
>>2100421 →
>Ну ты с своими микросекундами просто протянешь на пару недель дольше, а потом вся та же самая ебля с масштабированием. Это не та оптимизация, которая разительно что-то улучшает.
Асинхронность лучше масштабируется, чем треды.

Но главное, если у тебя задача завязана на операцию с низкой латентностью, чтением чего-то из далёкой сети, то в случае тредов плодится их огромное количество, они все висят и потребляют ресурсы. А асинхронные задачи много не забирают и там оптимальное переключение.

Конечно, всё ещё от тредов зависит, бывают специальные лекговесные реализации, в то время как переключение задач и работа планировщика в асинхронных архитектурах тоже жрёт ресурсы.

В питоне довольно дорогое переключение задач. Но при этом не проблема в одном процессе держать тысячи задач, сотню тысяч фьюч.
Аноним 19/07/21 Пнд 17:18:43 21005814
На всякий случай продублирую из соседнего треда:

всем привет, сильно не пинайте, я только начинаю изучать пайтон, созрел тут один вопрос.

Я хочу в Телеграм написать бота, который будет отправлять запрос (скажем раз в 30 сек) находится ли какой-то пользователь онлайн (многие прячут эту инфу и вместо времени последнего посещения видно просто "был в сети недавно") и скидывать отчеты по периодам активности юзера. Возможно ли в теории создать такое приложение или же Телеграм блокирует такую идею в принципе?

спасибо всем отписавшимся
Аноним 19/07/21 Пнд 18:35:49 21006345
нахуя два трела? в чём лол?
Аноним 19/07/21 Пнд 18:42:58 21006396
>>2100634
Вкатыш зайдет не в тот тред и не вкатится.
Аноним 19/07/21 Пнд 18:46:12 21006407
Аноним 19/07/21 Пнд 18:50:59 21006448
>>2100581
читай в апи телеги, там должно быть написано. возможно у обычного бота не будет такой возможности, тогда гугли telethon
Аноним 19/07/21 Пнд 18:52:38 21006459
>>2100634
Ностальгия по временам с двумя версиями питона
Аноним 19/07/21 Пнд 19:38:56 210067010
837544701.jpg 268Кб, 466x699
466x699
Анон, подскажи по производительности.
Есть функция, которая считает всякую всячину, добавляет это в датафрейм, потом записывает в файл. Только из-за объёма данных и скрипт, и ноутбук сдыхают на полпути.
Если обрабатываемые данные делить на куски и передавать в функцию, то:
1) Можно ли в файл будет дозаписывать данные, чтобы на выходе всё таки получился один файл, а не N файлов на каждый кусок?
2) Стоит ли постоянно вызывать f.open/f.close для каждого куска? Или держать открытым файл, пока все куски данных не обработаются?
3) Что можно её придумать для оптимизации производительности?
Аноним 19/07/21 Пнд 19:49:09 210067811
>>2100670
Мало информации.
Если там текстовые данные, то можно хоть терабайты молотить построчно.
Аноним 19/07/21 Пнд 19:58:09 210068412
>>2100678
Текстовые (до 5 слов в ячейке) и числовые (одно число типа float32).
Там получается что-то около 4 миллионов строк и до 800 столбцов.
Аноним 19/07/21 Пнд 20:00:33 210068713
Аноним 19/07/21 Пнд 21:28:44 210072214
>>2100670
>1) Можно ли в файл будет дозаписывать данные, чтобы на выходе всё таки получился один файл, а не N файлов на каждый кусок?
open(mode='a')
https://docs.python.org/3/library/functions.html#open
>2) Стоит ли постоянно вызывать f.open/f.close для каждого куска? Или держать открытым файл, пока все куски данных не обработаются?
Да. Или хотя бы fflush, но я не знаю, естьли он в питоне
https://docs.python.org/3/tutorial/inputoutput.html#tut-files
Аноним 19/07/21 Пнд 21:41:57 210073415
>>2100722
Спасибо.
>Да
Размытый ответ.
Открывать и закрывать на каждой итерации? Или один раз в самом начале работы и один раз в конце?
Аноним 19/07/21 Пнд 21:50:17 210074016
>>2100734
>Открывать и закрывать на каждой итерации?
На каждом батче, который опосаешься потерять. Если не жалко <10000, закрывай каждые 10000, если жалко каждую итерацию, закрывай каждуюитерацию.
Аноним 19/07/21 Пнд 22:18:30 210076917
Аноним 19/07/21 Пнд 22:44:36 210078818
Чем MVVM отличается от MVC?
Аноним 19/07/21 Пнд 22:50:12 210079719
>>2100788
Использованием модели представления вместо контроллера
Аноним 19/07/21 Пнд 23:02:00 210080620
>>2100670
А последующие данные завязаны на результат обработки предыдущих?

Почему тебя не устраивает идея, чтобы было много файлов? Не 4 миллиона, но несколько сотен, например? Это в чём-то более правильно, и так ты можешь, например, удобно распараллелить вычисления.

Дозаписывать в файл можно, уже сказали об этом, режим "a" (дозапись или создание файла) или режим "r+" (чтение и запись, но нужно, чтобы файл уже существовал).

Аноним 19/07/21 Пнд 23:09:11 210081021
>>2100806
>А последующие данные завязаны на результат обработки предыдущих?
Нет, не завязаны.
>Почему тебя не устраивает идея, чтобы было много файлов?
Потому что их всё равно потом сводить в один для дальнейшего анализа, кластеризации и визуализации.

Меня, поэтому и интересует, чтение-запись насколько сильно нагружает память?
Аноним 19/07/21 Пнд 23:22:15 210082122
>>2100810
По-моему, ты что-то не то делаешь.
Прочитал строчку, прокрутил свое вычисление, записал строчку. Это не нагружает ничего.
Покажи код, штоле.
Аноним 19/07/21 Пнд 23:28:39 210082423
>>2100821
>Прочитал строчку, прокрутил свое вычисление, записал строчку. Это не нагружает ничего.
Ты не прав, нагружает и сильно.
Каждая файловая операция это системный вызов, а это дорого. Помимо того, что это насилие над файловой системой и диском, но здесь ОС может несколько сглаживать, но не всегда.

Но в любом случае, даже если ОС хорошо кеширует, системных вызовов это не отменяет.

Вот если речь о том, что 1000 раз в секунду надо записывать, то однозначно стоит оптимизировать. Если 10 раз в секунду, то в целом норм, обычная история.
Аноним 19/07/21 Пнд 23:32:04 210082624
>>2100797
>модели представления
А?
Аноним 19/07/21 Пнд 23:33:52 210082825
>>2100824
Есть буферизация, плюс у ос там какие-то свои фичи.
Но он пишет, что прям пиздецки тормозит, это явно не в диске дело.
Аноним 19/07/21 Пнд 23:38:23 210083026
>>2100828
Я ради интереса посмотрел, если файл открывать с помощью with open, на линуксе, то действительно буферизует, то есть не на каждую операцию write системный вызов делается, а на каждые 8 кб. То есть питон сначала куда-то к себе в буфер кладёт, а как 8 кб накопится, так делает системный вызов и сбрасывает данные на диск.

Под линуксом системные вызовы через strace отлавливаются хорошо.

Соответственно работает довольно быстро. Это правда на мелких данных. Может стоит тест сделать на большие бинарные блоки.
Аноним 19/07/21 Пнд 23:44:36 210083227
>>2100828
>то прям пиздецки тормозит, это явно не в диске дело.
Я ж писал, кернель и просто питон после пары-тройки часов тупо сдыхает.
Команда top в консоли показывает, что за эти часы тупо расходование памяти достигает 100%, и вероятно, идёт дальше, поэтому всё заканчивается.
Аноним 19/07/21 Пнд 23:48:52 210083528
>>2100826
Это что-то типа промежуточной модели, которая пилится под каждую вьюху. Можно сделать один общий механизм связывания вьюх с их моделью представления, поэтому не надо дрочиться с контроллером, достаточно описать как получать из данных модели данные модели представления, и как обновление данных модели представления преобразовать в обновление данных модели.
Аноним 19/07/21 Пнд 23:52:39 210083729
>>2100832
Ну ты видимо свои данные где-то в памяти накапливаешь, поэтому память и заканчивается.

Надо, конечно, сбрасывать на диск периодически.

Вот насколько часто надо смотреть. Попробуй может тупо каждую строчку записывать. Но не открывать файл и не делать flush, а просто записывать.

Избыточность системных вызовов можно отследить с помощью strace
>strace python scrypt.py 2> log.txt
и там смотри системный вызов write. В конце строчки размер данных указывается, если порядка 4-8 кб, значит буферизация питона работает.

Если ты будешь на каждой итерации делать flush, то системный вызов неизмежен скорее всего, иначе это не flush. Открывать-закрывать файл на каждой итерации тем более нельзя.

Вообще, Если у тебя программа стабильная, то можно смело один раз открыть файл и потом туда писать.

У меня так сутками скрипты на питоне и ноде работают, и пишут в один файл всё.

Если расчёты падучие, открывай файл снаружи функции, оборачивай функцию в исключение, и после исключения закрывай файл.
Аноним 20/07/21 Втр 00:03:24 210084330
>>2100837
А записываемый/открытый файл тоже в память целиком засовывается?
Аноним 20/07/21 Втр 00:07:04 210084731
>>2100843
Нет. Операционная система сама решает на эвристиках, что держать в кэше, но в общем случае можешь работать, будтовесь файл целиком лежит уже на диске и памяти не занимает.
Аноним 20/07/21 Втр 00:10:29 210085032
>>2100843
Нет.
Если ты сделаешь
with open("file.txt', 'r') as file:
____data = file.read()

тогда да, весь файл прочитается целиком, весь террабайт, если у тебя файл в террабайт. Ты должен читать блоками или построчно.

Если ты пишешь в файл, то никакой дополнительной памяти, кроме небольших буферов на несколько килобайт, не выделяется. Но когда ты делаешь write, то ты в качестве параметра данные указываешь. А эти данные в памяти.

Предполагаю, что если ты открываешь файл в текстовом режиме и передаёшь в него огромную строку, то выделится сравнимого размера буфер, чтобы перекодировать его в какой-нибудь bytearray. Это предполагаю, надо смотреть и думать.

Запись-чтение файла это системный вызов ОС. Ты говоришь ОС, запиши вот этот буфер в файл. ОС записывает и всё, все забивают на этот буфер, можешь использовать его заново, он больше не нужен.

Если у тебя кончается память, то где-то утечка, ты видимо что-то не освобождаешь.
Аноним 20/07/21 Втр 00:12:40 210085233
>>2100850
>Если у тебя кончается память, то где-то утечка, ты видимо что-то не освобождаешь.
А казалось бы! в питон пришёл, а не в си.
Аноним 20/07/21 Втр 00:13:35 210085334
>>2100847
>>2100850
Спасибо.
>Если у тебя кончается память, то где-то утечка, ты видимо что-то не освобождаешь.
Очевидные списки и датафрейм, которые читаются целиком.
А надо частями считать и записывать.
Аноним 20/07/21 Втр 00:15:41 210085635
>>2100853
>которые считаются целиком
фикс
Аноним 20/07/21 Втр 01:13:54 210089736
2021-07-19 2018[...].png 24Кб, 694x296
694x296
2021-07-19 2019[...].png 34Кб, 741x306
741x306
2021-07-19 2019[...].png 3Кб, 384x110
384x110
2021-07-19 2020[...].png 3Кб, 462x82
462x82
Такое дело. Захотелось с пайгеймом поиграться, но почему-то автодополнение и линтер ВСКода от него с ума сходит. Вот на пайчарме все нормально, после импорта все подмодули видит и подтягивает, а вскод ноль. Более того плюется странными предупреждениями.
И самое странное, что раньше он работал нормально.
Аноним 20/07/21 Втр 09:46:11 210097937
Есть конструкция
for i in range(0, len(list1), step_size):


как мне получить индекс i? Enumerate же здесь не используется?
Тупо новую переменнёю-счётчик добавить?
Аноним 20/07/21 Втр 09:51:03 210098838
>>2100979
кто тебе запретит завернуть в enumerate?
Аноним 20/07/21 Втр 11:37:42 210110439
Что посоветуете почитать человеку, который уже имеет некоторые навыки пайтон, но хочет систематизировать знания? Fluent Python подойдет?
Аноним 20/07/21 Втр 12:35:16 210117440
>>2100979
i это уже сам по себе индекс. если ты имеешь в виду номер в последовательности, то можно просто int(i/step_size).
Аноним 20/07/21 Втр 14:36:49 210133941
16056125054221.jpg 28Кб, 343x256
343x256
Анончики помогите, что-то срастить не могу. Вот залил я таблицу в дата фрейм панды, и мне надо одно поле обработать и перезаписать, что я должен делать? Это придётся новый фрейм создавать или можно поменять в текущем?
Честно говоря нихуя не понятно, постоянно в голову лезет логика БД, в ассоциации с фреймами.
Аноним 20/07/21 Втр 14:45:18 210135442
>>2101339
Изменить текущий
df['твое_поле'] = df['твое_поле'].apply('твое_условие')

Создать новый с изменениями
new_df = df.apply(lambda x: 'твое_условие'(x) if x.name == 'твое_поле' else x)

Всё, сука, в документации есть
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.html

Нахуя вы на двач лезите, если в гугл не можете
Аноним 20/07/21 Втр 14:48:18 210136243
изображение.png 309Кб, 426x334
426x334
>>2101354
Спасибо анончик
я просто не очень умный
Аноним 20/07/21 Втр 14:58:33 210137844
Прошел испыталовку, взяли на позицию разраба. Первый проект как-то коряво, но сдал за 2 месяца, второй пилю уже почти месяц, и уже выгорел, как-то надо сдать через 2 недели. Зп хорошая, нигде такую с текущим опытом платить не будут. Что делать, как снова начать ебашить, как первые 2 месяца?
Аноним 20/07/21 Втр 15:06:16 210138345
>>2101378
Иди в какой-нибудь из прикрепленных тредов а лучше на хуй
Какое отношение этот вопрос к питону имеет?
Аноним 20/07/21 Втр 15:09:16 210138646
>>2101383
Потому что взяли питухон-разрабом.
Аноним 20/07/21 Втр 15:10:06 210138847
>>2101386
Как твоя проблема соотносится с ЯП?
Аноним 20/07/21 Втр 15:10:24 210138948
Аноним 20/07/21 Втр 16:43:37 210153749
Помогите разобраться, а то ощущение каши в голове.
Вот есть классы и их объекты. Объекты не могут быть независимы от классов, они всегда должны принадлежать какому-либо классу?
Когда я пишу print('Hello') - это объект класса print? Объекты класса всегда обозначаются вызовом имени класса и указанием ()?
У классов есть методы. Методы это те же стандартные функции класса def, но с обязательным указанием параметра (self)?
class NewClass как оператор тоже является классом? Или это просто keyword и команда class не является классом?
Чем тип отличается от класса?
Блядь, как этой вообще нормально переварить?
Аноним 20/07/21 Втр 16:54:16 210156150
>>2101537
Главное. Есть поле и метод, он может быть как у класса, так и у его инстанта, объекта. Можно создавать поля-методы как у класса так и у его объекта. И вызывать также. Это как переменные, области видимости, вот это все.
Например, класс Писька, можно сразу переходить к созданию полей и методов к его инстантам, объектам, через селф. А можно и у класса Писька. Погугли еще наследование, полиморфизм и инкапсуляцию. В целом ничего сложного.
Аноним 20/07/21 Втр 16:56:32 210156751
>>2101537
Судя по посту, ты слишком мало знаешь, чтобы внятно обьяснить.
Кури дальше и потом приходи, если будет дальше непонятно.
Аноним 20/07/21 Втр 17:28:31 210160352
Аноним 20/07/21 Втр 19:54:08 210176353
Помогите тупенькому пожалуйста. Смысл задачи такой. Есть 4 параметра безопасного пароля. Если хотя бы 2 из них соответствуют требованиям, то пароль безопасный. Как это собственно выразить? Можно конечно как дебил вручную подбирать все сочетания, но ведь наверняка есть нормальные решения?
Аноним 20/07/21 Втр 19:57:28 210176754
>>2101763
problems = []
if not re.match('[A-Z]'):
problems.append('bolshie bukvi')
и т.д.
Аноним 20/07/21 Втр 21:15:41 210187855
>>2101767
re.match ищет в начале строки, поэтому тут нужен re.search
На духоту не обижайся.
Аноним 20/07/21 Втр 21:20:08 210188756
>>2101878
Да я всё время путаю, потому что идиотский дизайн. Нужен просто match, а для поиска в начале есть ^ или \A.
Аноним 20/07/21 Втр 22:28:41 210196657
Аноним 21/07/21 Срд 09:35:46 210215758
И снова здравствуйте, аноны - знатоки математики. Продолжаю решать школьные ЕГЭ и наткнулся на какую-то хуету, повергающую в уныние. Задача и мое решение тут https://imgur.com/a/3qiV4OE
Неужели я неправильно решаю? Гляньте кто может, плис.
Аноним 21/07/21 Срд 10:50:01 210222559
>>2101537
класс это просто конструкция
это не какая то обязательная хуйня.
принт это не класс, это функция
деф это метод, инструкция

тип это блядь тип.
Аноним 21/07/21 Срд 11:13:07 210225160
>>2102157
для начала прочитай все книги лутца чтобы решать такие задачи
Аноним 21/07/21 Срд 12:17:49 210232261
изображение.png 73Кб, 1681x606
1681x606
Анончики пмогоите.
Хочу переводить время из строки в разные часовые пояса(пикрелйтед). Но почему-то при переводе в utc_local, часовой пояс меняется, но время остаётся без изменения( например до перевеода было 17:00, и после перевода осталось 17:00). ЧТЯДН?
Аноним 21/07/21 Срд 13:33:33 210240362
>>2102322
А я всё понял, криво переназначил простите
Аноним 21/07/21 Срд 13:41:16 210241063
>>2101378
Долбоебам говорят 20 лет уже, что если не нравиться кодить - не лезьте блядь, нет нахуй, потерпим, ну вот енджой ёр ворк теперь, еблан)
Аноним 21/07/21 Срд 13:47:23 210242164
2021-07-2113-45[...].png 78Кб, 1476x740
1476x740
Нихуя питончик блядь НАЖОРИСТЫЙ
Аноним 21/07/21 Срд 13:49:16 210242665
Аноним 21/07/21 Срд 13:55:18 210243466
>>2102410
Бля, чтобы нравилось кодить нужно шарить по моему пиздец как
когда будешь уже ебанить на полуавтомате то не будет так тяжко.
а когда приходится постоянно разбираться и мудрить то тяжко.
Одно дело когда делаешь для себя, там можно отдохнуть, подумать, почиллить. а когда сроками ебут то это ебаная потогонка, особенно если возникают мелкие непонятные ошибки , на решение какой нибудь мелочевки можно потратить пару часов гугления, это не круто.
в любом случае мне кажется лучше ебаться с кодом за пекой чем в грязном гараже в масле купаться. Мне нравятся тачки и механика, я в этом понимаю , но блядь, как увижу очередной автосервис с грязью и маслом или же в своем гараже че то делаю с тачкой - да, норм, но блядь это тяжело физически и ОЧЕНЬ ГРЯЗНО. Чет нет желания на постоянку ебаться с этим.
Есть конечно сервисы где все чисто и пиздато, но они не в этой стране. А если в этой то это МСК мажор сервисы для мажоров где все устроены по блату.
Аноним 21/07/21 Срд 13:55:55 210243567
>>2102426
бля, ну не прыщах же сидеть, чел
я что, похож на сойбоя?
Аноним 21/07/21 Срд 14:01:10 210243968
>>2102434
>когда будешь уже ебанить на полуавтомате то не будет так тяжко.
Будет, всегда будут новые технологии, фреймворки, прочии говна. Если не в каком-нибудь сранном-легаси проекте работаешь, постоянно надо будет разбираться.
Аноним 21/07/21 Срд 14:06:16 210244569
image.png 47Кб, 570x616
570x616
ЧО ему не нравится
Аноним 21/07/21 Срд 14:08:54 210244670
>>2102439
но уже легче разбираться когда много всяких ошибок и ситуаций сожрал и высрал
Аноним 21/07/21 Срд 14:09:09 210244771
>>2102445
Там же написано, слепой штоле?
Аноним 21/07/21 Срд 14:10:43 210245072
>>2102447
Ну не знаю чего он так пишет? Вон же переменная каунт сверху есть, разве она не глобальная?
Аноним 21/07/21 Срд 14:11:02 210245173
2021-07-2114-10[...].png 64Кб, 1511x635
1511x635
о май гад.mp4 146Кб, 534x360, 00:00:03
534x360
Аноним 21/07/21 Срд 14:12:15 210245274
>>2102450
Ты сам заводишь локальную и глобальная уже не видна.
Аноним 21/07/21 Срд 14:12:23 210245375
>>2102410
Мне нравится кодить. Не нравится конкретно задача/проект.
Аноним 21/07/21 Срд 14:29:45 210246676
>>2102453
что за проект?
пробовал сесть на энергосы?
Аноним 21/07/21 Срд 14:33:59 210247177
>>2102452
Всмысле, а как мне считать тогда?
Аноним 21/07/21 Срд 14:37:12 210247478
>>2102445
Уууууу, лох какой.
Ты хочешь, чтобы у тебя переменная была глобальной и считалась суммарно для всех запусков функции?
Тогда в функции напиши global count
Аноним 21/07/21 Срд 14:40:57 210247779
>>2102466
Брали как питон-разраба. Бэк пилю на джанге. С фронтом обещали помочь, в итоге приходится разбираться с жс. Пилю веб-формы в табличном виде с возможностью вносить изменения. Данные тянутся из олап-куба, приходится разбираться в mdx-запросах, приходится агрегации многоуровневые пилить по каждому измерению, и всякие срезы делать. Сама таблица ещё должна быть динамическая, т.е. с сортировкой, фильтрами с возможностью задавать несколько значений, и много ещё чего, лень расписывать.
До этого была похожая задача, но сделал её коряво, ну т.е. часть логики костыльно зашил в js-скрипт на странице, хотя по хорошему это надо делать бэке и через ajax тянуть.
Аноним 21/07/21 Срд 14:54:15 210248880
image.png 126Кб, 1244x453
1244x453
>>2102474
>>2102452
Все получилось, спасибо.

Тащемта, дети, не распечатывайте 200 пдфок через питон
Аноним 21/07/21 Срд 15:35:09 210255181
>>2102477
почему сделал коряво? сроки? как вкатился, как тебя взяли если для тебя это не совсем профиль?
платят круто? не так как копать бетон?
Аноним 21/07/21 Срд 15:51:31 210257982
>>2102551
До этого занимался аналитикой, etl и автоматизацией на питоне в полушаражке. Вся работа заключалась в достать данные (спарсить, sql/nosql), обрабовать в питоне, куда-то залить/отправить. Всё это пилит скриптами, скрипты хранил в папочках, запускались через планировщик. Кароч всё на отъебись.
На новом месте взяли на испыталовку, соотвественно проект сдал, его отревьювели (наотъебись), в итоге сказали, что дальше работаю. Пришлось разбираться с битбакетом, докером, нжинкс, линтером и т.п.
Платят на уровне дс мидлла, хотя коммерческого опыта разработки у меня именно как питон-разраба не было. Нет куратора, т.е. старшего питон-разраба, я один в команде питонист, но есть старшие разрабы, у которых есть опыт в бэке/фронте, которые типа мне готовы помочь. Но вся помощь заключалась, что вот есть на гитхабе репозиторий, скачай и разбирайся, делай по аналогии и по пеппа8. Хотя проекты там вообще другого плана, и фронт там на реакте, а я не успеваю за месяц и бэк на питоне написать и с реактом разобраться.
Аноним 21/07/21 Срд 16:07:04 210260083
>>2102579
зачем из ЕТЛ выкатился? Денежное же болото.
Аноним 21/07/21 Срд 16:13:53 210260584
>>2102600
Потому что не было норм проектов, либо за всякую хуйню, типа пиления процедурок и пакетов для бэк-офиса или продажников мне не интересно, тем более за 90к.
А тут предложили и питонить + зп охуенную. Ну я и повелся, тем более думал, что меня пидорнут по окончанию испыталова, но хотя бы на пару месяцев накоплю подушку и возьму отпуск. А в итоге взяли, и теперь мне хуево, т.к. команда нормальная, и рук хороший, но работа не нра, делаю чеоез силу и очень медленно, на стендапах приходится привирать, что уже что-то сделано, а в итоге я это делаю ночью или на след утро, либо нахожу тупые отмазы, почему мне нужно еще 1-2 дня.
Аноним 21/07/21 Срд 16:27:31 210262285
>>2102451
> windows
> диск c, d, e, f, g, m
братишка, как ты дошёл до жизни такой?
Аноним 21/07/21 Срд 17:23:27 210267486
Сначала сделаю API и бекенд, а потом буду мучиться с фронтендом. Норм идея?
Аноним 21/07/21 Срд 18:30:16 210276687
>>2102674
Через тесты норм. Синиоры могут на одних только юнитах полную бизнес логику написать, без инфраструктуры. Но ты не осилишь.
Аноним 21/07/21 Срд 18:36:47 210277788
>>2102622
Ну я не сойбой чтобы сидеть на прыщах и не пидор чтобы сидеть на мак оси
Аноним 21/07/21 Срд 18:47:16 210279789
image.png 341Кб, 798x614
798x614
image.png 614Кб, 1920x1077
1920x1077
>>2102777
Если у сойбоя вообще есть компьютер, то там 100% винда. На линуксах деды сидят.
Аноним 21/07/21 Срд 19:11:00 210285990
>>2102579
пиздец тебе везет.
я работаю в мухосрани за 18к
Аноним 21/07/21 Срд 19:14:34 210286191
>>2102797
Ноуп, на прыщах сидят красноглазики пердолики.
деды сидят на том, что им всучат.
Я помню работал в комп сервисе, пришел короче парень типа - блядь, винда чет глючит, бсодит. Я погонял день его комп, ниче не бсодило.
Говорю ему - могу переставить виндовс лицензия. тогда 3к стоило а пиратки мы не ставили чтобы не выебали.
Он такой - дорого бля.
Я ему говорю - ну тогда сам поставь или вон блядь скачай линукс бесплатный и поставь. ЕСТЕСТВЕННО ЧТО Я ШУТКАНУЛ.
И что ты думаешь?
Этот хуй пришел на следующий день что игры бля не работают, смотрю а он реально линукс накатил, лол.
Аноним 21/07/21 Срд 19:19:13 210286992
>>2102861
Этого парня звали Гейб Ньюэлл
Аноним 21/07/21 Срд 20:30:42 210295393
Подскажите как выводить чистый текст из json
В гугле народ только из файлов читает, либо я гуглить не умею

Делаю запрос на api, возвращается json вида
{
"id": "text"
}


Как этот text в консоль вывести?
Аноним 21/07/21 Срд 20:35:11 210295894
>>2102869
кстати рили похож был, может его сын внебрачный
Аноним 21/07/21 Срд 20:56:26 210297795
>>2102953
Всё, разобрался, всё было элементарно
Аноним 21/07/21 Срд 22:01:09 210303096
>>2102579
>До этого занимался аналитикой, etl и автоматизацией на питоне в полушаражке. Вся работа заключалась в достать данные (спарсить, sql/nosql), обрабовать в питоне, куда-то залить/отправить. Всё это пилит скриптами, скрипты хранил в папочках, запускались через планировщик. Кароч всё на отъебись.
Лол, мою сейчас работу описал. Только "фронт" на powerbi. Но это тупиковая хуйня. Думаю учить dwh/какой-нибудь airflow, чтобы потом на должность типа DE перекатываться; либо идти по ветке дата сайентиста. Не знаю что выбрать.

Какие у тебя были знания жс/джанго до этого? Думаешь потом в веб перекатываться?
Аноним 22/07/21 Чтв 01:12:12 210312397
Flask + sqlalchemy
В модели есть колонка date_creat = db.Column(db.DateTime, default=datetime.utcnow())
Но время при этом получается одинаковое у всех записей с момента старта сервера.
Если при сохранении записи явно пишу date_creat=datetime.utcnow(), то все нормально.
Оно и должно так работать или я что-то не так делаю?
Аноним 22/07/21 Чтв 01:16:34 210312598
>>2103123
Лол, ну у тебя просто значение текущего времени ставится в дефолт во время прогона этого кода и всё, как если бы ты на часы посмотрел и вручную датувремя вколотил. Какая-то лямбда-хуямбда или sql-функция нужна для этого. Не знаю как в питоне ебаном это делается.
Аноним 22/07/21 Чтв 01:18:47 210312699
>>2103123
>default=
default вызывается один раз при инициализации. Пиши так
date_creat = db.Column(db.DateTime, default=None):
default = default or datetime.utcnow()

Это будет работать как
if default is None:
____default = datetime.utcnow()
else:
____default = default
Аноним 22/07/21 Чтв 01:24:56 2103130100
>>2103126
Ну как обычно, всё через жопу, так я и думал.
Аноним 22/07/21 Чтв 01:25:14 2103131101
>>2103123
Скобки не нужны справа от datetime.utcnow
Просто
db.Column(db.DateTime, default=datetime.utcnow)
Аноним 22/07/21 Чтв 01:27:21 2103132102
>>2103130
Типичная ошибка, разбираемая в любой нубской книге по бидону.
Аноним 22/07/21 Чтв 01:29:56 2103133103
>>2103132
Я не из книги, я из руби. Там просто не может быть таких контринтуитивных решений.
Аноним 22/07/21 Чтв 01:33:48 2103134104
>>2103131
Вот это лучшее. Оказывается я вызвал метод, а нужно было его передать без вызова.
Аноним 22/07/21 Чтв 01:35:23 2103135105
>>2103133
>контринтуитивных решений
Что контринтуитивного в том, что в функцию передаются значения? Это же не фп с lazy evaluation. Если хочешь передать функцию, то передавай функцию. Её, правда, ещё вызвать придётся отдельно.
Аноним 22/07/21 Чтв 01:37:25 2103136106
>>2103135
> Это же не фп с lazy evaluation
Так-то в пайтон уже много чего завезли
Аноним 22/07/21 Чтв 03:20:32 2103163107
>>2102859
Ты долбоеб прост.
А мне повезло с коллективом и зп ровно на столько, на сколько не повезло с проектом и задачами.
Аноним 22/07/21 Чтв 10:26:56 2103289108
>>2103163
Ебать ты токсичный!
Аноним 22/07/21 Чтв 10:35:49 2103308109
>>2102859
Какой стейк технологий и какие обязанности?
Аноним 22/07/21 Чтв 13:25:17 2103469110
>>2103308
Я работаю слесарем, по кодингу нет вакансий
Аноним 22/07/21 Чтв 15:48:55 2103593111
Помогите пожалуйста решить задачу, одна ее часть у меня получилась, на вторую мозгов не хватает.

Сама задача: Выведите на экран все числа в интервале от 1500 до 2700 включительно, которые равны 7 и имеют среди своих множителей число 5.

https://dumpz.org/cn6nf6dEnCAQ - мой высер. Кратность 7 я смог выразить, а вот как найти числа с множителями 5 не могу. Надеюсь на вашу помощь, анончики
Аноним 22/07/21 Чтв 15:50:57 2103595112
>>2103593
>Сама задача: Выведите на экран все числа в интервале от 1500 до 2700 включительно, которые равны 7 и имеют среди своих множителей число 5.
В промежутке от 1500 до 2700 нет чисел равных 7
Задачу скинь нормально
Аноним 22/07/21 Чтв 15:52:10 2103599113
>>2103593
>т 1500 до 2700 включительно, которые равны 7

*Кратны 7. Обосрался
Аноним 22/07/21 Чтв 15:57:17 2103603114
image.png 41Кб, 1004x603
1004x603
Как можно решить эту задачку? Используя только sub и add. Лямбды использовать вроде нельзя, добавлять код кроме прочерков нельзя.
Аноним 22/07/21 Чтв 16:00:12 2103607115
>>2103603
Считайте вы не видели этого поста. Позор. Решил.
в первый прочерк sub
Аноним 22/07/21 Чтв 16:05:06 2103611116
Как отсортировать объекты внутри manytomany списка в queryset'e не подскажет кто-нибудь?
Аноним 22/07/21 Чтв 16:05:29 2103613117
>>2103607
Непригождение школьной математики, лол.
Аноним 22/07/21 Чтв 16:06:28 2103614118
>>2103593
>которые кратны 7 и имеют среди своих множителей число 5
Это одно и то же условие двумяразными словами?
[num for num in range(1500,2700+1) if num % 35 == 0]
Аноним 22/07/21 Чтв 16:07:50 2103616119
>>2103613
Я думаю, тут скорее неочевидность того, что - и sub этодва название одного и того же.
Аноним 22/07/21 Чтв 16:18:11 2103630120
>>2103614
>Это одно и то же условие двумяразными словами?
Мне так тоже сначала показалось, но вроде нет. Кратные числа, это же которые делят число без остатка. То есть x%7==0.
А множитель это просто множитель. Их может быть сколько угодно.
К примеру, x= a b c * 5. В этом, собственно и проблема. Вот почему я и не могу выразить второе условие, а ты, получается написал для кратности 35.

Я не исключаю, что я поехавший. Математику не учил с 10 класса, готовился к егэ по своей гуманитарной параше, вышку по которой уже заканчиваю. Все приходится вспоминать заново. Признаю, технари дали пососать гуманитариям.
Аноним 22/07/21 Чтв 16:24:24 2103634121
>>2103630
>А множитель это просто множитель. Их может быть сколько угодно.
>К примеру, x= a b c * 5. В этом, собственно и проблема
Если 5 является множителем числа в твоей терминологии, то это значит, что число без остатка делится на 5.
Дай нормальную оригинальную формулировку задачи. Это уебанство писать одинаковые термины разными словами.
Аноним 22/07/21 Чтв 16:24:52 2103635122
>>2103630
>К примеру, x= a b c * 5
Разве такое число не разделится без остатка на 5? Получится a ✴ b ✴ c

Допускаю, что это может быть важно, если 5 и 7 были делителями друг друга, нотут они вообще простые.
Аноним 22/07/21 Чтв 16:34:11 2103645123
image.png 316Кб, 1915x483
1915x483
>>2103634
Это и есть оригинальная формулировка. udemy

>>2103635
>>2103634
Я все понял, я ебанат. Спасибо, анончики, а я пойду ебну себя чем-нибудь
Аноним 22/07/21 Чтв 16:37:16 2103652124
>>2103645
Да, лучше сразу ебни, потом еще хуже будет.
Аноним 22/07/21 Чтв 17:08:45 2103681125
>>2103645
Да дважды чекни divmod
Аноним 22/07/21 Чтв 17:30:35 2103695126
Перекатился из-за работы в питухон из котлина, теперь тупо боюсь каждый раз что-то вызывать потому что у объекта может не быть метода, а могут быть такие каких ты не ожидаешь, а ещё никто не проставляет аннотации и поэтому хуй пойми что вообще ожидает функция увидеть в аргументе.
Короче очень опасный, неуютный, при этом не то чтобы особо выразительный язык, джаваскрипт и то получше. Понимаю теперь почему для всякой руби/петухоно/пхп петушьи Go выглядит как пиздатый и современный язык.
Аноним 22/07/21 Чтв 18:11:05 2103722127
>>2103695
Пиздец вы нежные, могу спокойно писать по ссх в виме, только подсветки синтаксиса достаточно, а тут иде за тебя не напишет и уже обосрался.
Аноним 22/07/21 Чтв 18:52:25 2103747128
>>2103722
Дело не в иде, лол, а в том что нужно ментальную нагрузку в голове держать что какая переменная означает и что тебе могли передать в качестве аргумента. В нормальных языках с правильной системой типов такая проблема даже не стоит и человек просто пишет то что ему нужно корректно и без задней мысли
Аноним 22/07/21 Чтв 18:53:59 2103749129
>>2103747
Покажи на скринах как это выглядит в Питоне и в "нормальных языках". А то не очень понятен твой бугурт.
Аноним 22/07/21 Чтв 19:17:41 2103773130
>>2103747
Джва дня пердоля типы, чтобы просто начать кодировать.
Аноним 23/07/21 Птн 13:24:15 2104359131
Накидайте, пожалуйста, задач по питону, которые спрашивают у дата инженеров на собеседовании.
Аноним 23/07/21 Птн 13:30:05 2104366132
>>2104359
Через первый скрипт базу данных можно наполнить за 6 часов, через второй за 3. Какую часть базы наполнит каждый скрипт за один час?
Аноним 23/07/21 Птн 13:35:10 2104373133
>>2104366
Никакую, ведь наполнение базы должно быть атомарной операцией и наполнение базы на какую-либо часть не имеет смысла.
Аноним 23/07/21 Птн 13:42:34 2104381134
>>2104373
>наполнение базы должно быть атомарной операцией
Схуяли?
Аноним 23/07/21 Птн 13:44:33 2104382135
>>2104381
А зачем вам неконсистентные данные в базе?
Ок, давай свой ответ на свой вопрос, только ради христа пусть это будет не 1/6 и 1/3, соответственно, иначе я нихуя не понял.
Аноним 23/07/21 Птн 13:47:45 2104386136
Аноним 23/07/21 Птн 13:51:19 2104388137
>>2104386
Матери своей мертвой перезвони, умник.
Аноним 23/07/21 Птн 13:53:15 2104390138
>>2104388
Очень низкая стрессоустойчивость у вас, младой чловек.
Аноним 23/07/21 Птн 14:06:34 2104401139
2.PNG 14Кб, 801x250
801x250
3.PNG 11Кб, 825x275
825x275
1.PNG 97Кб, 674x392
674x392
Раз уж пошла такая пьянка с задачками, то начал курс на степике и наткнулся на такое.

Использовать можно только +, -, , *, // и %. int() тоже можно

С if решается в три строчки. Три дня бился, в итоге порешал как на пике, но в лекции указывается, что проблема с округлением в большую сторону решается иначе. На примере белорусской деноминации, берется изначальная сумма и из нее вычитается 1 рубль. Потом проводим деноминацию и прибавляем рубль. Но как применить этот способ в данном случае не понимаю.
Аноним 23/07/21 Птн 14:30:08 2104437140
>>2104401
>На примере белорусской деноминации, берется изначальная сумма и из нее вычитается 1 рубль. Потом проводим деноминацию и прибавляем рубль. Но как применить этот способ в данном случае не понимаю.
Вычитаешь рулон в метрах, прибавляешь рулон в рулонах.
Аноним 23/07/21 Птн 18:31:14 2104751141
А почему
class Custom(object):
...

class Custom2(Custom):
...

type(Custom) -> <type 'type'>
type(Custom2) -> <type 'type'>

???
Аноним 23/07/21 Птн 18:33:33 2104756142
>>2104751
Потому что класс это тип, нужно смотреть тип инстанса, чтобы получить класс.
Аноним 23/07/21 Птн 18:34:57 2104758143
>>2104756
да я как отправил, сразу понял, что не инстансы проверяю, а класс
Аноним 23/07/21 Птн 18:53:20 2104789144
Аноним 23/07/21 Птн 19:05:46 2104802145
>>2104789
Я знаю что это. Это мне не нужно.
Аноним 23/07/21 Птн 20:04:26 2104840146
what-timezone-is.jpg 32Кб, 600x450
600x450
Сап, может кто сталкивался с таким и сможет сориентировать. Приходит таймзона формата "Europe/Moscow", но ее нужно преобразовать в формат "UTC+3".
На ум приходит только идея со словарем, но это скорее крайняя мера. При помощи pytz костылями получилось преобразовать в MSK+0300, что не очень катит. Наверняка же есть какое-то готовое решение, но я не смог его нагуглить
Аноним 24/07/21 Суб 01:54:18 2104978147
Написал на aiogram бота, появились два вопроса.
Суть бота в чём: через инлайн отправляю сообщение кому-нибудь в чат, к сообщению прикреплена кнопка чтобы получить inline_message_id, по нажатию кнопки делается пост-запрос на api который возвращает текст, далее автоматически этот текст заменяет тот что я отправил.

1) Если кто-то один уже отправил сообщение и нажал кнопку, то второй ничего не может делать пока апи не пришлёт ответ первому
2) Если один нажмёт на кнопку второго, то в текст второго придёт замена из последнего запроса первого

Эти вот два момента я не понимаю, вроде есть догадки что по первому пункту надо копать в асинхронность, то во втором полный затык
Аноним 24/07/21 Суб 14:45:46 2105271148
>>2104978
Чот представил как петрович бегает по цеху и орёт :"ПИДОРЫ КТО ОПЯТЬ МОЁ КНУОПКУ НАЖАЛ?"

Дизайн уровня /b
Аноним 24/07/21 Суб 14:47:46 2105274149
>>2105271
А без кнопки это принципиально реализовать нельзя, я пытаюсь понять сейчас как делать фильтрацию по user.id
Аноним 24/07/21 Суб 14:51:19 2105279150
>>2105274
Если тебе просто нужен каждый раз новый результат, ну генерируй какой-нибудь UUID/SID каждый раз ёбана. Если результат персанифицированый нужен, то что-то придётся вкладывать в запрос.
Аноним 24/07/21 Суб 14:52:48 2105280151
>>2105279
Результат каждый раз новый, бот просто не понимает что с ним работает не один человек
Аноним 24/07/21 Суб 16:32:01 2105384152
Анонасы, помогите пожалуйста решить задачу. Есть диапазон (100, 500). Как вывести все ЧИСЛА, в которых нет нечетных ЦИФР?
только начал учить циклы
Аноним 24/07/21 Суб 16:38:00 2105392153
>>2105384
Что делится без остатка - нечётное, дальше сам
Аноним 24/07/21 Суб 16:42:59 2105400154
>>2105392
Было бы все так просто. Тут нужны ЧИСЛА, состоящие из четных цифр. То есть 232 четное, но условию не удовлетворяет, в ней находится 3.
Аноним 24/07/21 Суб 16:48:38 2105412155
>>2105400
бля ну ебана чо ты как хлебушек, вложеный цикл делай

[[m for m in str(n)] for n in range(500)]
Аноним 24/07/21 Суб 17:05:25 2105440156
>>2105400
Делаешь список из чисел от 100 до 500 потом через цикл прогоняешь по длине элемента если list[0][0] % 2 == 0 то продолжаешь, если нет - то стопаешь внутренний цикл и переходишь к следующему числу (элементу спсика). Если list[0][0] % 2 == 0 и итератор внутреннего цикла равен длине элемента, то аппендишь элемент к списку, который будешь отправлять на вывод.

У тебя тут получается сразу и вложенные списки и вложенные циклы, а ты говоришь, что "только начал учить циклы" лол.

Алсо я сам нубик, может чего напутал, но задачка у тебя выше уровня "только начал учить циклы".
Аноним 24/07/21 Суб 17:05:38 2105441157
>>2105412
спасибо, но я 10 минут назад узнал, что такое while и for, вложенный цикл слишком сложно для меня, да и задача наверняка подразумевает какое-то простое решение. Не пойму простого решения сейчас, буду сосать еще больше в будущем
Аноним 24/07/21 Суб 17:15:52 2105454158
>>2105440
Да это все сраные курсы udemy. Половину задач из их домашних заданий я решаю по 1,5 часа потому что их решение состоит в том, о чем в самих лекциях не говорили. Задачу выше вообще дали решать объяснив лишь про while. Про for не было ни слова, я час ебался и честно сидел и искал чего же я не понимаю. Как это вообще можно решить только через   while Хорошо, что эти говнокурсы я спиратил. Придется походу яндекс практикум покупать.

За помощь спасибо, я правда половину не понял, но буду сидеть разбираться.
Не подскажешь как ты учишься? Литература или курсы какие?
Аноним 24/07/21 Суб 17:19:36 2105457159
>>2105454
Решай на Степике лучше. Там и теорию дают и по каждому моменту теории 10 задачек сверху. Могу ссылки дать.

Я по этим курсам иду и прошел не сильно дальше тебя (до функций, дальше как раз вложенные списки и матрицы лул).
Аноним 24/07/21 Суб 17:24:23 2105462160
>>2105457
Спасибо, щас попробую
Аноним 24/07/21 Суб 17:27:22 2105467161
Аноним 24/07/21 Суб 17:50:17 2105480162
>>2104978
Первый пункт починил, остался второй
Аноним 24/07/21 Суб 18:31:58 2105502163
Колупаюсь с асиннхроностью в питоне. Вот до чего дошел. Хочу понять верно ли я понял. Смотрю видосы за видосом, хочу дойти до истины.

Синнхроный код, когда идет последовательное выполнение инструкций кода. Ну мы все знаем как это.
Асиннхроный код, когда можно запускать эти все инструкции одновременно, чтобы было быстрей, и не ждать пока закончится одно и начнется другое. Тут если можно уточните плис.
Процесс и потоки, разница там кароче есть. Поток, часть процесса, у них единая оперативная память как я понял. И можно все это запускать асиинхронно.
Не понял вот что. Про параллелизм. Это одно и тоже что и асиннхроность или нет. Ну есть вообщем еще вопросы по этой теме.
Аноним 24/07/21 Суб 19:04:20 2105538164
>>2105502
Тоже хочу понять.
Как это понимаю я.
Есть хотящий срать питонист. Чтобы ему посрать, напишем простой алгоритм. Например:
1) Сесть на унитаз;
2) Снять трусы;
3) Выдавить какаху;
4) Подтереть попу;
5) Смыть.

Синхронный код всё это будет последовательно, в рамках одного процесса.
Асинхронный код это может сделать так, что садясь на унитаз (1 поток), процесс не будет заблочен им, и соответственно не дожидаясь его полного выполнения, можно начинать снимать трусы (2 поток) и (теоретически) давить какаху (3 поток).
Параллельный код это если бы мы могли этот алгоритм разбить на части, которые могут выполняться в своих процессах и со своей памятью почти одновременно. Ну т.е. теоретически садиться на унитаз и снимать трусы можно параллельно, так же как давить какаху и смывать.
Аноним 24/07/21 Суб 19:10:42 2105546165
image.png 6Кб, 680x86
680x86
Аноним 24/07/21 Суб 19:12:42 2105549166
>>2105546
*Что с ссылкой на книжки?
Аноним 24/07/21 Суб 19:13:01 2105550167
>>2105502
На питоне при асинхронном программировании async/await под asyncio главная сущность это Task. Это аналог потока в многопоточном программировании.

Всё работает в одном процессе, никакой параллельности нет. Причём если в многопотоке параллельности мешает GIL, а вообще она должна бы быть, то в асинхронности и не должна.

Разница между многопоточностью в том, кто переключает потоки-задачи. В многопотоке машина непредсказуемо переключает, в асинхронности только по твоему разрешению.

Это всё про питон. На других платформах свою нюансы.
Аноним 24/07/21 Суб 19:14:11 2105552168
>>2105502
Есть центральный процессор. У процессора есть задачи. Есть таблица текущих задач. Есть планировщик вызывающий программное прерывание процессора, для переключения с задачи на задачу. В таблице хранится куча данных, нужных чтобы продолжить задачу с места на котором она остановилась. Называется контекст. При переключении контекста в процессор загружается уйма информации. Переключение контекста затратная операция. Но его не избежать потому что процессор вынужден обслуживать тысячи задач попеременно. Так работает вытесняющая многозадачность на процессоре с одним ядром. Но бывает что у мощного процессора достаточно времени чтобы обслуживать одну задачу, которая например читает данные из сети. Если код задачи синхронный - это означает что задача будет крутить команду NOP на процессоре пока ждет ответа от сетевой карты. Это растранжиривание времени процессора во-первых и медленная работа программы во-вторых. Поэтому придумали асинхронные задачи. Вместо того чтобы крутить NOP, задача может выполнить какие-то полезные действия еще. Для этого задачу разделили на две: один код читает из сетевой карты, а другой, например рисует прогресс бар. Сделать эти две задачи как полностью независимые, с разными записями в таблице задач слишком накладно по времени, замедление на переключение контекста может быть большим, чем простой в ожидании ответа. Поскольку эти задачи имеют единый контекст, то придумали механизмы переключения между такими задачами, без переключения контекста. Это так называемые потоки.

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

Все это очень приблизительно и есть куча нюансов
Аноним 24/07/21 Суб 19:20:27 2105556169
>>2105538
>Асинхронный код это может сделать так, что садясь на унитаз (1 поток), процесс не будет заблочен им,
Для понимания асинхронности очень хорошо опыт программирования на nodejs иметь, серверного. На фронте такие вещи не очень актуальны.

Там два способа реализации асинхронности, старый, через callback, и новый, через async/await и промисы по ними.

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

async/await это механизм, который позволяет сделать асинхронный код так, чтобы он выглядел как сихнронный. Асинхронное программирование становится похожим на обычное многопоточное, только проще.
Аноним 24/07/21 Суб 19:24:58 2105557170
>>2105556
Да никакой опыт на ноде не дает понимания асинхронности если в саму библиотеку uv не лезешь. Вот и ты называешь колбаки и асинк-эвейт синтаксис "разными механизмами" асинхронности.
Аноним 24/07/21 Суб 19:35:59 2105564171
>>2105557
Залезание в библиотеки тебе никакого понимания не даст. Не больше, чем залезание в ассемблер для понимания ООП. Если что, что смотрел то-ли libuv, то-ли libevent и игрался с ними на сях на примитивном уровне. Не думаю, что это моё понимание улучшило.

Механизмы эти принципиально разные для программиста и для возможностей, которые они дают. Ты не можешь просто переложить код async/await на обычные промисы. То, что там в самом движке JS при этом та же библиотека используется ничего не значит. У тебя нет возможности из JS работать с этой библиотекой.
Аноним 24/07/21 Суб 19:47:01 2105571172
>>2105564
Залезание в ассемблер для ООП не даст (и то даст понимание реализации ооп в реальных языках), а для понимания асинхронности даст, потому что вопрос на прямую касается времени выполнения на процессоре. Прост не надо прятаться за за магическими "вещами в себе". Эвент луп в ноде это не вещь в себе а простая модель асинхронности. Зеленые потоки - другая. В этом и есть понимание
Аноним 24/07/21 Суб 20:09:42 2105583173
>>2105571
Такое ощущение, что ты прочитал несколько low level статей, и теперь бравируешь этим. Хотя не осознал, зачем это нужно вообще. Но сбиваешь с толку, вот начиная с этого >>2105552

>потому что вопрос на прямую касается времени выполнения на процессоре
Причём тут процессор вообще? Когда ты ждёшь данные из сетевой карты, твой процесс не крутит вечный цикл, твой процесс блокируется на системном вызове. Всё. Что там происходит внутри операционной системы и её планировщика это уже другая тема, тебя, как разработчика, она не касается, ты в это никак влезть не можешь вообще и тема асинхронности-многопотока не имеет к этому никакого отношения. ОC в это время будет гонять другие процессы, и всё.

Ты сбиваешь с толку, видимо потому, что сам не осознал.

Аноним 24/07/21 Суб 20:17:09 2105589174
>>2105583
Ебаный рот этого казино... Ну как не имеет. Был вопрос чем отличается процессы от потоков и чем отличается асинхронность от параллельности. Ты теперь утверждаешь что вопрос больше относится к языкам, а не различием этих понятий на низком уровне? Ты еще утверждаешь что на низком уровне нельзя понять асинхронность?
Аноним 24/07/21 Суб 20:37:29 2105615175
>>2105589
Был вопрос от человека, который не понимает самой базы. Это значит, что если не игнорировать, надо вот эти базовые идеи объяснять, а не толкать что-то, что отношения к делу не имеет.

Само понятие асинхронность слишком общее, не про реализацию на питоне и не про async/await. Потому что async/await нужны для того, чтобы асинхронная программа выглядела для программиста как синхронная.

Вот пример. Я прихожу в компанию, говорю "я Василий Пупкин, хочу у вас работать, жду ответа". И пока не получу ответ, например "сейчас нам сотрудники вашей квалификации не нужны", не ухожу, сижу в офисе. Это синхронная работа. А асинхронное выполнение, это когда я прихожу, предлагаю пойти к ним работать. Мне говорят "мы вам перезвоним, ждите звонка", и я ухожу домой, делаю свои дела и помню, что мне должны позвонить.

async/await в таком варианте, это когда я ухожу домой, но не занимаюсь другими делами, а сижу перед телефоном и ничего не делаю, потому что жду звонка.
Аноним 24/07/21 Суб 20:37:47 2105617176
Interruptable sleeping и есть выполнение грубо говоря NOP операции, пока таймер не переключит контекст.
Аноним 24/07/21 Суб 20:42:12 2105622177
>>2105615
Не правильно. await используется внутри async не просто так. async означает что функция возвращает промис, догадайся почему.
Аноним 24/07/21 Суб 20:56:58 2105633178
>>2105622
промисы это js
В js на базе промисов async/await сделаны в том смысле, что async функция возвращает промис. Но оператор await не получает промис, он ждёт его разрешения, и вот в этом главная фишка.

Потому что callback асинхронность предполагает, что если ты сделал асинхронных вызов, то ответ ты не получишь НИКОГДА. Нет никакого способа в твоей функции узнать результат. Твоя ветвь исполнения умрёт, не узнав результата. А вот коллбэк будет знать, ты просто можешь объяснить ему, что делать дальше, и он продолжит твоё дело. И это довольно сильно надо мозги извратить, чтобы вот к такому стилю программирования привыкнуть. Тут все эти callback hell возникают.

await оператор качественно меняет картину. Твоя ветвь уже может дождаться результата. Считай, у тебя просто как синхронная программа, похоже на многопоток. На некоторых платформах await ждёт результата из другого потока.

В питоне аналог промисов это Future, но вообще async/await другие, чем в JS. В питоне задачи надо создавать явно, просто await асинхронной функции задачу не создаёт, и асинхронности тоже не создаёт, тут можно больно споткнуться.
Аноним 25/07/21 Вск 00:33:00 2105874179
Кто-нибудь может пояснить как вообще PyCharm импортирует модули? Запуск pytest из pycharm -- все гуд, но стоит запустить pytest из цмд - ModuleNotFoundError: No module named 'dicklib'.
Я насколько понимаю, PyCharm смотрит доступные для импорта модули относительно корня проекта, а python - относительно запускаемого скрипта, но можно ли заставить их вести себя одинаково?
Аноним 25/07/21 Вск 00:34:27 2105875180
Аноним 25/07/21 Вск 00:47:46 2105879181
>>2105874
>>2105875
Ясен хер я в венве работаю и в цмд венв активирую. Я наверное плохо пояснил.
Короче есть следующая структура проекта:

project
core
class_a.py
class_b.py
tests
test_1.py
test_2.py

Тесты импортируют core.class_a.* Если попытаться из cmd из корня проекта запустить pytest (или просто python tests\test_1.py), то будет жалоба на не найденный модуль core; PyCharm же все находит. Вот и вопрос - втф?
Аноним 25/07/21 Вск 00:49:02 2105880182
>>2105879
пробелы проебались

project
-core
--class_a.py
--class_b.py
-tests
--test_1.py
--test_2.py
Аноним 25/07/21 Вск 00:52:39 2105881183
>>2105880
Значит в пичарме есть телепатический плагин
а где __инит__.пи в модулях?
Аноним 25/07/21 Вск 00:54:26 2105882184
>>2105881
> а где __инит__.пи в модулях?
они есть, не стал писать сюда...
Аноним 25/07/21 Вск 00:58:15 2105883185
>>2105882
А точно на верхнем уровне есть? Или папка прожект у тебя в консоли добавлена в пути поиска?
Аноним 25/07/21 Вск 00:58:55 2105884186
Аноним 25/07/21 Вск 01:03:40 2105887187
>>2105883
>А точно на верхнем уровне есть?
точно
>Или папка прожект у тебя в консоли добавлена в пути поиска?
вот это вряд ли делал, можно подробнее?
Аноним 25/07/21 Вск 01:07:02 2105888188
>>2105887
Прост посмотри в конфигурацию запуска в пичарме сверху справа и в консоле делай так же
Аноним 25/07/21 Вск 01:18:27 2105894189
>>2105874
>>2105888
Разобрался - pycharm автоматически прокидывает корневую директорию в PYTHONPATH
Аноним 25/07/21 Вск 10:53:13 2106027190
Почитал книги из ОП-поста, ни одна не подошла. Все написаны какими-то странными людьми совсем без дара объяснения. Даже "питон для детей" оказалась околоакадемической по стилю изложения, просто в детсткой стилистике.
Короче, книгу на человеческом языке для dummies, пожалуйста. Не могу освоить язык дальше классов, совсем не вдупляю. Нужно хорошее руководство.
Аноним 25/07/21 Вск 12:11:21 2106079191
>>2106027
Во дибил, и нахуй ты сюда лезешь?
Аноним 25/07/21 Вск 12:40:34 2106107192
>>2106079
Для таких как я здесь в оп-посте книги и висят, но они хуйня, как и твой высер. Двачеры-дегенераты, пиздец просто.
Аноним 25/07/21 Вск 12:45:55 2106114193
>>2106107
>Не могу освоить язык дальше классов, совсем не вдупляю.
>Двачеры-дегенераты, пиздец просто.
лалка сасай
Аноним 25/07/21 Вск 12:51:25 2106121194
>>2106027
А че там после классов?

_мимонуб_
Аноним 25/07/21 Вск 13:03:03 2106141195
>>2106121
Тайные знания древних.
Аноним 25/07/21 Вск 13:17:53 2106176196
>>2106114
хочешь сказать больше меня знаешь, лол?
Аноним 25/07/21 Вск 14:37:52 2106255197
>>2106176
Конечно, давай, удиви меня
Аноним 25/07/21 Вск 15:57:41 2106320198
>>2106027
Fluent Python.
Только вы должны знать английский и основы питона, чтобы получить от нее удовольствие.
Аноним 25/07/21 Вск 16:06:49 2106338199
>>2106320
Тоже отметил ее для себя. Она пиздец некст лвл на фоне большинства курсов и прочего.
Аноним 25/07/21 Вск 16:20:59 2106363200
Аноним 25/07/21 Вск 18:00:28 2106469201
>>2106027
Дальше классов только практика. Тебе надо на кодворз, рубиться там до посиннения. На одном только 7ку ок 1500 кат, тебе хватит чтобы понять что к чему, чем выше тем и уровень выше, и сложность. Но там надо алги знать и решения не трвиальные, а для прокачки базы может хватить, по крайней мере там типовое вообще все есть, про листы особенно.
Ну и пет проекты. Нужно уже пилить чтот свое.
Я вот рублюсь на кодворзе.
Встал на пет проекте, хз что пилить. Все откладываю джангу и апи, хочу что-то простое запилить с апи, чтобы было по феншую, типо сервис и доступ по апи к нему, как-то так. Еще понять про бизнес логику, про процессинг, про это все, ну типо сервис, обменник, или что-то в этом духе.
И еще встал на процессах, асиннхрости, на вот этом все. А ооп как раз таки далось легче. И тут пишут про понятные учебники. Их нету. Остается только ютуб смотреть до просветления. Уже ни один курс просмотрел по питону.
Аноним 25/07/21 Вск 18:52:16 2106559202
Вчера купил персики у таджика. Попробовал. Персики оказались неспелые. Сегодня покупаю у него арбуз, сказал ему про персики, он типо, ну он не знал, сори, сделал скидку на арбуз. Еле дотащил. А, к чему я это. Зашел базар за питон, за асинхронное программирование, все дела. Я попросил его пояснить за все за это. Вот результат, с замерами, не благодарите. Пожалуй единственное видео где таджик четко поясняет за мультипроцессинг, мультитрединг и асинхронщину.
https://www.youtube.com/watch?v=R4Oz8JUuM4s&t=1198s
Можете задонатить таджику.
Аноним 25/07/21 Вск 20:01:57 2106631203
>>2106121
mro, метаклассы, датаклассы, тайпинг
Аноним 25/07/21 Вск 20:02:51 2106634204
image.png 31Кб, 492x302
492x302
image.png 6Кб, 1857x50
1857x50
Так блять. Я может тупой, но какого хуя время исполнения теста отличается от того что выдает пайтест в 10 раз? Нахуярил принтов на все тир-дауны и тирс-апы - они дают одно время, а потом хуяк - мне пишет другое время. В чем проеб то?
Аноним 25/07/21 Вск 20:20:30 2106647205
>>2106634
Как мы тебе без кода скажем?
Аноним 25/07/21 Вск 20:33:49 2106663206
>>2106647
Ну вопрос не столько к коду привязан. "Брейкпоинты" идут на всем продолжении теста от сетАпа до обоих тирДаунов. Я грешу на то, что идет слишком долгий сбор, но все равно хуйня какая-то
Аноним 25/07/21 Вск 21:48:21 2106752207
>>2106663
Ну ты чисто визуально 1.5 секунды от 15 отличаешь? Сколько реально работает?

У тебя какие-то тесты могут идти вне твоих тирдаунов. Может у тебя какой-то ещё набор тестов запускается, которые ты не учитываешь.

Ну ХЗ.
Аноним 25/07/21 Вск 21:54:02 2106757208
>>2106752
Визуально - есть. Запустил реальный таймер и примерно столкьо же и работает. Я запускаю конкретный тест из набора тестов, кроме него ничего не должно выполняться.
Аноним 25/07/21 Вск 21:57:53 2106758209
>>2106757
>Запустил реальный таймер и примерно столкьо же и работает.
Но ведь проблема в том, что после класс-тир-даун ничего не должно выполняться.
Аноним 25/07/21 Вск 22:09:39 2106765210
>>2106757
Всё из тебя клещами надо вытягивать.

У тебя ошибка замера времени. Судя по всему, ты используешь таймеры работы скрипта, которые считают, сколько ЦПУ-секунд съел твой скрипт.

Надо смотреть вот на эту часть. Проблема в том, что они считают только текущий процесс, хотя это норм в данном случае, и считают чисто ЦПУ-время, а не общее, то есть работа в режиме ОС и просто простой не учитываются.

Это примерно как time в линуксе, который показывает тебе три значения, общее время и время работы в пользовательском и системном режимах. pytest тебе общее время показывает, о твой замер процессорное.

Попробуй добавить в печать просто time.time() или time.monotonic(), без разницы особой.
Аноним 25/07/21 Вск 23:49:33 2106817211
image.png 45Кб, 587x358
587x358
image.png 44Кб, 543x362
543x362
>>2106765
Бля, короче говоря я даун. Кучу времени неучтенного оно применяло миграции - сменил таймер, выключил миграциии - тест начал выполняться быстрее.
Аноним 26/07/21 Пнд 08:49:54 2106970212
Анон, есть скрипт у которого есть разные режимы работы.
Как-то можно через консоль передавать параметр, который будет запускать скрипт в том или ином режиме?
Аноним 26/07/21 Пнд 08:57:24 2106971213
>>2106970
Можно было бы у бездушного гугла спросить.

А вообще argparse
https://docs.python.org/3/library/argparse.html, если делать полноценно.

Можно без argparse совсем примитивно, но не нужно. Делай как надо сразу.
Аноним 26/07/21 Пнд 08:58:22 2106972214
Аноним 26/07/21 Пнд 09:25:53 2106981215
>>2106817
Поясни стоит ли вкатываться в автоматизацию. Бывают ли интересные задачи или это написание шаблонных тестов по кругу? Что с зп? Что в основном юзают uniitest или pytest?
Сегодня будет собес на стажировку, думаю идти или нет если возьмут.
Аноним 26/07/21 Пнд 10:07:39 2107016216
>>2106981
>Поясни стоит ли вкатываться в автоматизацию
Как минимум на минимальном уровне ты эту хуйню знать обязан, юнит-тесты всегда нужны.
>Бывают ли интересные задачи или это написание шаблонных тестов по кругу?
Понятия не имею, не тестировщик. По своему скромному опыту - основные "интересные" задачи были с тестированием с помощью Селениума, там иногда довольно сильно попердолиться приходилось, чтобы нормально заработало.
>Что с зп? Что в основном юзают uniitest или pytest?
Понятия не имею, я прежде всего бекендом занимаюсь. Юнит-тесты нужны только чтобы убрать прослойку из ручного тестирования АПИ.
Аноним 26/07/21 Пнд 10:25:38 2107031217
>>2106981
>Что в основном юзают uniitest или pytest?
Вот с этим просто, unittest уже давно приобрёл статус legacy и полностью вытеснен pytest'ом, остаётся только на каких-то старых проектах.

>>2107016
>Юнит-тесты нужны только чтобы убрать прослойку из ручного тестирования АПИ.
pytest можно спокойно использовать для тестирования чего-то внешнего. Как просто питон для этого используют. Я вот когда-то по работе использовал питон, чтобы компилировать и запускать сишные программы, тестируя их вывод - это было давно, и без фреймворков. Но с pytest такую работу можно было бы стройнее и удобнее делать.

Если что учить, то однозначно pytest. Хотя ещё какие-то фреймворки есть, кроме этой пары. Но наверное стандарт сейчас pytest.
Аноним 26/07/21 Пнд 10:26:55 2107033218
15661096164040.jpg 92Кб, 678x710
678x710
Анон, подскажи, как запустить эту вещь
https://github.com/dipta-dhar/Automatic-Question-Generator
Функцию main надо импортировать? Или как её использовать вообще? Как аргументы передавать?
Аноним 26/07/21 Пнд 11:05:46 2107077219
>>2107031
>unittest уже давно приобрёл статус legacy и полностью вытеснен pytest'ом
Только тот же Джанго все еще на юнит-тесте, хотя ничего не мешает запускать тесты пайтестом.
>pytest можно спокойно использовать для тестирования чего-то внешнего. Как просто питон для этого используют.
Ну я про конкретно свой случай говорил.
>сли что учить, то однозначно pytest
На самом деле похуй, они не настолько отличаются, чтобы ты не смог после по разному ассерты написать после. Главное чтобы человек понимал принципы.
Аноним 26/07/21 Пнд 13:06:32 2107211220
Снимок экрана 2[...].png 146Кб, 1774x990
1774x990
>>2107033
Какие же тупые долбаебы. Вообще удивляюсь, как ты смог склонировать репу. Хотя может ты копипастил
Аноним 26/07/21 Пнд 13:22:29 2107234221
Следующий программный код:

print(True + True + True - False)
print(True + (False / True))

выведет:

3
1.0

Вот это наркомания. Это во всех языках так?
Аноним 26/07/21 Пнд 13:27:28 2107240222
>>2107234
А что должно вывести?
Аноним 26/07/21 Пнд 13:28:47 2107241223
>>2107240
Просто удивлен, что True и False можно представить как числа.
Аноним 26/07/21 Пнд 13:32:59 2107243224
>>2107234
В большинстве языков так, true-false отображается на int.

Аноним 26/07/21 Пнд 13:34:05 2107246225
>>2107241
В компьютере кроме чисел и нет ничего.
Аноним 26/07/21 Пнд 13:35:34 2107249226
>>2107211
Разобрался уже давно без тебя.
Ну и к чему твои возмущения?
Тупо склонируй проект и попробуй это запустить.
Нихуя не выйдет, потому что, ебать, сначало надо перейти в ебучую папку и попробовать вызвать эту функцию, потом доустанавливать кучу либ, которые не указаны, потом править сами эти файлы, потому что автор положил хуй на баги, и так просто оно не запускается.
Ты бы лучше возмущался о криворуких долбоёбах, что выкладывают свои высеры, не снабжая должными комментариями и списком зависимостей, а на пользователей, которые пытаются эту срань запустить.
Аноним 26/07/21 Пнд 13:58:32 2107276227
>>2107246
Сейчас вот дошел до None. А None в памяти компа тоже выглядит как какое-то число, просто нам (питонистам) это знать не надо?
Аноним 26/07/21 Пнд 14:03:12 2107280228
>>2107276
> А None в памяти компа тоже выглядит как какое-то число
Конечно. Всё выглядит как какое-то число.
>просто нам (питонистам) это знать не надо?
Сами решайте, что вам надо и не надо знать. Даже если где-то ответа на твой вопрос нет, всегда есть ультимативный авторитет в виде исходных кодов. Всё, что есть, всё там, и именно так, как оно работает.
Аноним 26/07/21 Пнд 14:04:18 2107282229
Аноним 26/07/21 Пнд 16:13:40 2107398230
>>2107280
>Конечно. Всё выглядит как какое-то число.
Ничего не выглядит как число. Есть только сигналы той или иной модуляции и той или иной амплитуды. Иными словами есть только электроны, которые крутят вентили в транзисторах.
Аноним 26/07/21 Пнд 16:16:14 2107401231
image.png 0Кб, 137x24
137x24
image.png 0Кб, 50x23
50x23
Есть текст, если его вывести через print ошибка, surrogates not allowed, погуглив понял что его нужно декодировать, в результате:

1-й пик выводит надпись с мусором, код:
text= text.encode('utf-16','replace').decode('utf-16','replace')
как полностью убрать лишний мусор?

и как убрать с 2-го пика \xa0 ? replace не помогает
Аноним 26/07/21 Пнд 16:26:49 2107411232
>>2107398
> электроны, которые крутят вентили в транзисторах
Просто так выглядят числа. Закорючки на измельчённых мёртвых деревьях тоже никакой неотъемлемой "численности" в себе не несут, просто мы решили, что это числа, поэтому это числа.
Аноним 26/07/21 Пнд 16:27:19 2107412233
>>2104840
import datetime
import pytz

sampletime = datetime.datetime.now(tz=pytz.timezone('Europe/Moscow'))
print ('UTC{}'.format(sampletime.strftime('%z')))
Аноним 26/07/21 Пнд 17:34:22 2107521234
>>2107401
Так ты что-то не то декодируешь, вот replace и дает мусор. Ищи правильную кодировку.
Алсо \xa0 это &nbsp, можешь заменить его на пробелы.
Аноним 26/07/21 Пнд 18:10:46 2107567235
https://ideone.com/80eMds

Это точно так и задумывалось?
Можно какой-то комментарий - во первых зачем он настолько жёстко замещает результат функции, а во вторых как это примерно работает? Какое-то очень непоследовательное выполнение кода, оно хранит где-то все finnaly (что логично), и даже при выходе из функции выполняет их и может повлиять на уже передаваемый результат функции? Всё хорошо с тем, что оно влияет на значения переменных, ведь это и есть назначение finnaly, но то что оно замещает результат функции...
Аноним 26/07/21 Пнд 18:37:17 2107606236
>>2107567
Насколько я помню, return это не безусловный выход, он просто сохраняет это значение, потом отрабатывает finally и перезаписывает его, и уже тогда происходит выход из этого участка.
Ну а в целом надо курить dis.dis и исходники вм питоньей.
Аноним 26/07/21 Пнд 18:58:41 2107652237
>>2107567
Да, так задумывалось: https://docs.python.org/3/reference/compound_stmts.html#finally

The return value of a function is determined by the last return statement executed. Since the finally clause always executes, a return statement executed in the finally clause will always be the last one executed.


Код в finally будет выполнен в любом случае - было ли исключение или нет: https://ideone.com/aumSqP

В то же время PEP8 не рекомендует делать return из finally ровно для того, чтобы избежать эффектов, как в твоем примере.
Аноним 26/07/21 Пнд 19:22:53 2107677238
>>2106320
А вроде есть перевод, правда, достаточно топорный: "Python. К вершинам мастерства". Это в том случае, если автор некий Лучано Рамальо.
Аноним 26/07/21 Пнд 19:33:07 2107695239
Аноним 26/07/21 Пнд 19:51:31 2107715240
Сап, питонисты
Вкатился к вам поскольку уже заебался тыкаться не туда
В общем, суть в чем, я довольно неплохо знаю кор питон, структуры данных, скуэльчик и всю базу в целом знаю хорошо
Но я уже несколько месяцев просто не знаю за что взяться
Думал взять фласк, но боюсь, что мне станет скучно дрочить веб
Смотрел в сторону мл, но боюсь, что мой матан на уровне слабенького понимания интерполяции не вывезет
В общем, реквестирую какой то годный пул проектов для начинающих или просто советы в какое направление смотреть
Благодарю
Аноним 26/07/21 Пнд 20:01:37 2107728241
>>2107033
ну там пример мейна есть жи.
Аноним 26/07/21 Пнд 20:11:41 2107738242
>>2107715
Ну может тебе стоит самому понять что нравится больше?
Как мы за тебя это определим то?
Аноним 26/07/21 Пнд 20:14:16 2107743243
>>2107715
Ну так и решай себе задачки вроде 2+2 на core.
Практика решает, ебать тебя в сраку.
Аноним 26/07/21 Пнд 20:48:26 2107778244
Какой в пичарме хоткей выравнять и отформатировать текст?
Ну типа в середине обернул кусок кода в иф, дальше приходится все руками табить. Наверняка есть хоткей.

И второе, как разом закомментить выделенный текст?
Аноним 26/07/21 Пнд 21:06:04 2107801245
>>2107778
Выделяешь блок и таб или шифт+таб.
Закоментитить ктрл + /
Аноним 26/07/21 Пнд 21:41:25 2107843246
>>2107778
Ctrl+I, как и в других ide?
Аноним 27/07/21 Втр 08:01:09 2108072247
>>2100419 (OP)
Какую IDE использовать? Блоки в юпитере странная вещь.
Аноним 27/07/21 Втр 08:57:26 2108092248
Кто-нибудь с Kivy имел дело? Подкиньте, по каким курсам/литературе изучали, кроме официальных доков.
Аноним 27/07/21 Втр 10:34:45 2108154249
Как организовывать взаимодействие между приложениями внутри django приложения? Как они общаются? Материалов по этой теме мало и все говорят только в общих словах.
Аноним 27/07/21 Втр 14:41:44 2108377250
Очень сомневаюсь, конечно, что мне подскажут, но все же.

Для прометеуса поставил либу.

registry = CollectorRegistry()
BUCKETS = [1.0, 2.5, 5.0, 10.0, 30.0, float("inf")]
REQUEST_TIME = Histogram('request_processing_seconds', 'Time spent processing request', ['client'], registry=registry, buckets=BUCKETS)
Добавил кастомную метку client

Как к запоросу считающему время добавить метку о времени выполнения?

@REQUEST_TIME.time() # <--- ??
def process_request(t):
____time.sleep(t)


Т.е. у меня несколько внешних сервисов, хочу гистограмму по времени выполнения для каждого сделать, для этого метки

PS Сука, капчу верную вводишь, говорит что не валидна.
Аноним 27/07/21 Втр 14:45:35 2108380251
Типа такой получить

# HELP request_processing_seconds Time spent processing request
# TYPE request_processing_seconds histogram
request_processing_seconds_bucket{client="test1", le="1.0"} 3.0
request_processing_seconds_bucket{client="test1", le="2.5"} 3.0
request_processing_seconds_bucket{client="test1", le="5.0"} 3.0
request_processing_seconds_bucket{client="test1", le="10.0"} 3.0
request_processing_seconds_bucket{client="test1", le="30.0"} 3.0
request_processing_seconds_bucket{client="test1", le="+Inf"} 3.0
request_processing_seconds_count {client="test1"} 3.0
request_processing_seconds_sum {client="test1"} 0.827455997467041
request_processing_seconds_bucket{client="qwe", le="1.0"} 3.0
request_processing_seconds_bucket{client="qwe", le="2.5"} 3.0
request_processing_seconds_bucket{client="qwe", le="5.0"} 3.0
request_processing_seconds_bucket{client="qwe", le="10.0"} 3.0
request_processing_seconds_bucket{client="qwe", le="30.0"} 3.0
request_processing_seconds_bucket{client="qwe", le="+Inf"} 3.0
request_processing_seconds_count {client="qwe"} 3.0
request_processing_seconds_sum {client="qwe"} 0.827455997467041
# HELP request_processing_seconds_created Time spent processing request
# TYPE request_processing_seconds_created gauge
request_processing_seconds_created 1.627386151014053e+09
Аноним 27/07/21 Втр 16:57:44 2108519252
1401533723781.png 104Кб, 260x258
260x258
Аноний, подскажи нубу, как правильно проверять входные переменные класса?
Например, есть класс:
class S1():
--def __init__(
----self,
----x1: Union["PreTrainedModel", "TFPreTrainedModel"],
----x2: PreTrainedTokenizer,
----kwargs
----):
------super().__init__(
------x1=x1,
------x2=x2,
------
kwargs,
------)

Как проверить, что x1 и x2 пользователь указал при инициализации класса? Как в случае, если не указал, присвоить им значения по умолчанию внутри класса?
Аноним 27/07/21 Втр 17:04:18 2108529253
Есть ли смысл продолжать вкатываться в Django, если написал пару PET проектов?
Аноним 27/07/21 Втр 17:18:29 2108539254
Режим записи "a" работает только для существующих файлов?
Или его можно использовать, если файла ещё не существует?
Аноним 27/07/21 Втр 17:30:40 2108548255
>>2108519
def __init__(self, x1=Default1, x2=Default2)
Аноним 27/07/21 Втр 17:34:36 2108552256
>>2107778
Можешь через альт выделять несколько строк и есть колоночный ввод в пайчарме, зоткей не помню, ищи в настройках
Аноним 27/07/21 Втр 17:37:12 2108559257
>>2107715
Тоже сначала подумал что веб это хуйня какая-то, потом решил для начала его подрочить, а потом уже за мл взяться и сейчас ахуеваю какие сложные штуки крутятся в вебе и просто балдею от всей этой инженерной движухи
Аноним 27/07/21 Втр 17:45:16 2108570258
Можете, пожалуйста, прислать картинку с голым брутальным мужчиной, у которого пиписка прикрыта эмблемой python? Не смог нагуглить, очень надо.
Python Аноним 27/07/21 Втр 18:37:14 2108617259
Сап программачи,поясните за цикл for в Питоне
Аноним 27/07/21 Втр 18:42:22 2108621260
>>2108617
Ну тип цикл такой. А че
Аноним 27/07/21 Втр 18:58:02 2108644261
>>2108617
Пояснил тебе гуглом защеку, проверяй чмоха
Аноним 27/07/21 Втр 19:19:17 2108676262
Вопрос от студентоты.
Так вот начал изучать Django, пилю свой сайтик с PostgreSQL -
так просто руку набить (все понятно, все нравиться)
Скажите пожалуйста, не останусь ли я не удел в скором времени, в связи с появлением конструкторов?
Сегодня, например, смотрел конструктор уже от ебаного ТиньковБанка, лол.
Продолжать хуячить web и Djang'у или стоит переключиться на что то другое, в целом интерес интересом, но и перспективы для тоже важны
Повторюсь я кроме книжек и теории пока далек от реальных дел в мире IT, потому и вопрошаю к вам господа..
Аноним 27/07/21 Втр 19:25:15 2108687263
Аноним 27/07/21 Втр 19:44:29 2108717264
Аноним 27/07/21 Втр 19:51:02 2108729265
>>2108676
В джангу дохуя вкатунов. В пыхе меньше.
Аноним 27/07/21 Втр 19:54:58 2108730266
>>2108729
но если вакансии пайтон, то чаще всего просят джангу
что такое пых, php чтоли?
Аноним 27/07/21 Втр 20:31:31 2108786267
>>2108559
что за сложные штуки?
нужен ли матан?
как думаешь есть ли перспективы мл в рашке?
Аноним 27/07/21 Втр 22:56:44 2109048268
Аноним 28/07/21 Срд 00:13:41 2109120269
Аноним 28/07/21 Срд 00:17:04 2109122270
>>2108786
ты заебал нахуй тебе матан в мл?
там блядь методы как и везде в питоне.
никто не требует с тебя писать свои блядь рукописные методы.
да ты и не сможешь.
для этого надо быть математиком нахуй гениальным.
все известное методы и модели обучения уже давно существуют и записаны в библиотечные методы.
Аноним 28/07/21 Срд 00:17:31 2109123271
>>2108786
в вебе тем более нет матана, бля ты разъебаешь?
Аноним 28/07/21 Срд 02:10:07 2109140272
Есть что-то типа подборки паттернов с исходниками?
Аноним 28/07/21 Срд 04:22:29 2109155273
>>2108676
>Скажите пожалуйста, не останусь ли я не удел в скором времени, в связи с появлением конструкторов?
Про конструкторы говорили ещё 20 лет назад, 20 лет назад они появлялись, и... Ничего. На самом деле конструкторы могут решить только какие-то шаблонные задачи. Но всегда есть нешаблонные.

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

Опасность в другом, что бизнес уйдёт на готовые платформы-агрегаторы. Вместо того, чтобы делать свой сайт, будут делать страницы в соцсетях или на каких-то агрегаторах вроде Озона. Там возможности примитивные, но там можно делать бизнес, потому что аудитория тоже уходит туда из традиционного интернета.

>Продолжать хуячить web и Djang
Веб это технологии, а не просто сайты. За вебом будущее как за технологией, потому что всё идёт к тому, чтобы делать через веб-интерфейсы.

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

Аноним 28/07/21 Срд 05:53:09 2109185274
>>2109155
>или стоит переключиться на что то другое
На машин лернинг, главный юзкейс гвидобейсика. Но джангисты в своей массе тупые и не осилят.
Аноним 28/07/21 Срд 12:01:50 2109350275
>>2109122

спасибо бро
да на самом деле что в матане, да и в топологии ничего сложного нет - ​если ты конечно не решаешь какие то еще нерешенные задачи или доказываешь то, что еще не доказано (у меня образование как раз в околоМЛ сфере,лол, но посля я все забросил)
Когда начал слушать лекции по мл, увидел сплошную математику, ну и решил, что нахер оно мне все это по второму кругу, хотя конечно все это интересно, но уже времени нет. Понятно, что это просто теория которая объясняет, то о чем ты написал
Аноним 28/07/21 Срд 12:13:45 2109367276
Питоны, хочу клиента к api одного сервиса запилить, стоит ли прикручивать валидатор json, какой-нибудь pedantic или пустая трата времени? И если я захочу, чтобы у меня были синхронные и асинхронные методы, то мне надо будет дублировать все методы с запросами?
Аноним 28/07/21 Срд 12:34:50 2109410277
>>2108786
Я писал именно про инженерно сложные штуки, когда у тебя есть сначала один сервер, потом ты выносишь бд на отдельный сервер ибо не хватает ресурсов, потом фронтент веб сервер отдельно, потом появляется несколько бекенд вебсерверов, потом еще отдельный сервер для какой-нибудь отдельной задачи, при этом это все великолепие друг с другом общается, само обновляется, само поднимается и тестируется и главное решает проблемы бизнеса, это тебе не создать класс Классификатор() и не дёрнуть у него метод процесс_дата_фрейм(дата_фрейм)
Аноним 28/07/21 Срд 12:41:10 2109416278
>>2108676
Если ты джангу учишь ты и не соревнуешься с конструкторами какими-то, у джанги сейчас другая цель и никто шаблонизатором, например, не пользуется почти, потому что сейчас бек это штука которая отдает джейсончик тебе на фронт, а этот джейсончик берется из баз данных, других сервисов и определенной логике, а конструкторы дают возможность писать дефолтные магазины и лендинги, которые ты и не будешь писать на джанге, ибо зачем?
Аноним 28/07/21 Срд 12:55:03 2109428279
>>2109416
Джанго для крудов. Для того, что ты описываешь, джанго не нужна.

Круды жили и будут жить. SPA архитектура ограничена. Например тебе сложно поддержать ссылки на страницы, SPA тупо индексироваться как надо не будет. А традиционное приложение на джанго будет хорошо индексироваться, ты сможешь ссылаться на страницы, ходить по ссылкам и т.п.

Технологии SPA появились больше 10 лет назад, уже тогда были приложения. Но до сих пор они не вытеснили традиционный веб.
Аноним 28/07/21 Срд 12:59:28 2109431280
>>2109367
Что ты называешь валидатором json? Pydantic в некотором роде валидатор. Ну то есть из json ты получишь структуру с нужными тебе провалидированными полями.

>у меня были синхронные и асинхронные методы, то мне надо будет дублировать все методы с запросами?
Я бы сказал, что у тебя должна быть синхронная функция, которая занимается валидацией. Эту функцию ты можешь вызывать из какой-то асинхронной задачи.
Аноним 28/07/21 Срд 13:53:25 2109470281
>>2109416
я так понимаю жабускрипт в любом случае надо учить будет?
Аноним 28/07/21 Срд 14:16:18 2109497282
>>2109428
Смотря что ты подразумеваешь под традиционным вебом, часто сижу на хх и требование шаблонизатора почти нигде нет, джанга хороша тем, что если тебе не нужен го сеньер для 100500рпа, то ты пишешь апишку на дрф хоть тяп ляп и в продакшен, если у тебя наврятли будет даже 10рпа, то тобе не нужны эти асинхронные фреймворки и прочее, а вот как раз писать на джанге традиционный веб мне непонятно зачем, если на рынке есть тонна пхпшников, црмки и конструкторы, в общем все от задачи зависит и не стоит забывать что spa это далеко не единственное чему нужны апи, есть мобильные приложения и другие апи
Аноним 28/07/21 Срд 14:17:42 2109500283
>>2109470
Ну основы может знать и надо, но учить не нужно, если собираешься работать питон разрабом
Аноним 28/07/21 Срд 14:33:43 2109527284
>>2109431
>Ну то есть из json ты получишь структуру с нужными тебе провалидированными полями.
Звучит как валидатор. Мне бы хотелось чтобы и запрос и ответ проверялись. То есть создаю инстанс объекта, при создании всем всё проверяется(если оно так работает), потом сериализую в json, отправляю. Ну и с ответом все в обратном порядке. Просто не уверен стоит или оно того.
Аноним 28/07/21 Срд 15:31:29 2109633285
Питоняч, помоги.
Парсю сайт с помощью BeautifulSoup и проблема в том, что выдергивается только часть контента, который мне нужен(ссылки). Структура html, классы - все аналогично, но в итоге выводятся только первые десять ссылок и все, хотя на странице их 100.
Из за чего это?
Аноним 28/07/21 Срд 15:44:26 2109673286
>>2109527
Скорее всего тебе пидантика достаточно. Его именно для таких задач и создавали.

Твоя задача чётко типизировать модель. Ты можешь прописать свои дополнительные валидаторы на поля любой сложности. Ты можешь настривать поведение, что делать со сбойными пакетами. Ты можешь настраивать поведение, как экспортировать поля в json, что делать с Optional полями, которые None, что делать с полями по-умолчанию.

Причём пидантик распарсит и вложенные поля-модели.

В каких-то случаях внешняя валидация тоже может быть полезной, но в целом, думаю, надо в первую очередь на пидантик смотреть.
Аноним 28/07/21 Срд 16:36:51 2109773287
Аноним 28/07/21 Срд 16:38:34 2109777288
>>2109633
Значит они чем-то отличаются, смотри. А может подгружаются на ходу, тоже смотри.
Аноним 28/07/21 Срд 16:44:51 2109788289
>>2109777
>А может подгружаются на ходу
А как это проверить?
Аноним 28/07/21 Срд 16:48:40 2109796290
>>2109788
Посмотри скачанный хтмл, есть ли они там. Или в инспекторе вкладка нетворк, там можно смотреть запросы.
Аноним 28/07/21 Срд 17:12:22 2109847291
>>2109788
В браузере нажми F12 (Firefox/Chrome точно), там тебе откроется панель, смотри вкладку Network, там ты можешь видеть всю активность, что в какой момент подгрузилось, можешь смотреть заголовки и ответы и т.п.

Я работаю в файрфоксе, там это очень хорошо сделано. В хроме есть тоже, но ничего про хром не скажу.
Аноним 28/07/21 Срд 17:18:16 2109854292
Аноним 28/07/21 Срд 19:24:34 2110072293
Столкнулся с проблемой!
Есть код, работает через вк_апи.
Прикрутил к нему прокси, и, видимо, из-за нестабильности прокси сервера программа зависает. При этом, таймаут ошибка не вылезает (вк_апи работает через реквестс).
Есть предположения как решить?
Аноним 28/07/21 Срд 20:33:19 2110148294
>>2110072
Ссылку бы хоть дал.
Аноним 28/07/21 Срд 21:04:48 2110171295
Аноним 28/07/21 Срд 22:13:11 2110244296
Аноним 28/07/21 Срд 23:12:32 2110282297
pandas.png 2Кб, 493x68
493x68
>>2100419 (OP)
Банальный вопрос. Как установить pandas?
Аноним 28/07/21 Срд 23:36:52 2110291298
>>2110072
логирование прикрутить
Аноним 28/07/21 Срд 23:44:17 2110299299
2021-07-2823-43[...].png 33Кб, 973x498
973x498
>>2109350

Ты решил таки вкатиться в машин лирнинг?
>>2110282
поставь через анаконду или пайчарм.
консоль это для прыщей
если через консоль то запусти питон
Аноним 29/07/21 Чтв 09:30:02 2110423300
59cf8ec4cbf52ce[...].jpg 128Кб, 781x1000
781x1000
Аноним 29/07/21 Чтв 10:22:18 2110442301
Подскажите, как в пичарме каким хоткеем быстро поставить снять точку останова, чтобы мышкой по полям не тыкать?
Аноним 29/07/21 Чтв 10:29:13 2110445302
>>2110442
в пачарме посмотри
там даже вроде подсказки есть
Аноним 29/07/21 Чтв 16:24:09 2110886303
Какая есть нормальная либа для работы с битторент протоколом?
Аноним 29/07/21 Чтв 18:41:13 2111033304
Ядреная поварешка! Как понять асинхронность? Принцип понятен, но как дело доходит до практической реализации, я встаю как баран блеать.
Аноним 29/07/21 Чтв 19:07:21 2111063305
изображение.png 130Кб, 1920x1080
1920x1080
>>2100419 (OP)
Сап питонач. Необходимо очень большую строку в файле преобразовать в нечто типа "переменная нейм += кусок данных строки" т.к. необходимо впихнуть эту строку в код.

Сделал скрипт вида:
from pathlib import Path
tex= Path('1.txt').read_text()
print(len(tex))
alltext = str()
for i in range(0, len(tex), 24):
alltext += "Str += \"" + tex[i:i+24] + "\"" + "\r\n"
res = open("res.txt","w")
res.write(alltext)
res.close()

Но при копировании этого в файл res.txt выходит вот такая херня как на пикриле с пропажей одного символа. Что не так с чтением строк в питоне или у меня код полное говнище?
Аноним 29/07/21 Чтв 19:36:59 2111095306
>>2111063
Да вроде должно быть ок. Больше смахивает на ньюлайн в оригинальном файле.
Аноним 29/07/21 Чтв 19:39:08 2111098307
>>2111063
Ты уверен, что у тебя исходный файл не сбойный и там нет переходов на новую строку?

Если присмотреться, у тебя разрыв видимо на отметке 1кб ровно, 42 строки и 16 символов.

Проверь исходный файл.
Аноним 29/07/21 Чтв 20:01:03 2111113308
Всем привет, как сделать чтобы при добавление foreignkey в django я пересчитывал другое поле? Есть какой нибудь метод?
Аноним 30/07/21 Птн 09:56:29 2111617309
>>2111033
Рассматривай асинхронный код как две разные программы.
Аноним 30/07/21 Птн 10:26:57 2111659310
Аноним 30/07/21 Птн 11:26:30 2111770311
Подскажите курс/книгу/туториал для тех кто уже более чем знаком с языками программирования и с разработкой (пусть и любительской), а то открыл на ютубе пару первых попавшихся туториалов, так они для объяснение переменных используют аналогию с коробками, да так медленно ещё всё разжёвывая. Мне же скорее надо, вот переменные они бывают такие-то и такие-то в питоне потому что... а вот примеры с подводными камнями. Короче, если тут есть кто уже зная программирование пришёл в этот язык, подскажите, что использовали для изучения.
Аноним 30/07/21 Птн 11:45:36 2111786312
Screenshot20210[...].jpg 192Кб, 720x1560
720x1560
Аноним 30/07/21 Птн 11:54:26 2111797313
>>2111770
Просто смотри курсы в х2 скорости
Аноним 30/07/21 Птн 11:54:44 2111798314
>>2111786
Я и так в процессе чтения оного, пока читал, подумал, что может есть что лучше. Поэтому и задал вопрос выше.
Аноним 30/07/21 Птн 11:56:57 2111802315
>>2111798
Лучше в каком отношении?
Аноним 30/07/21 Птн 12:32:30 2111851316
Я тут на днях читал про устройство работы пхп, и там, как я понял, на каждый запрос к серверу создаётся отдельное подключение, которое убивается после того, как запрос отработает. А в плюсах наоборот держится одно соединение для всех клиентов. Интересно, а как в питоне это работает?
Аноним 30/07/21 Птн 12:36:37 2111858317
image.png 10Кб, 332x167
332x167
>>2100419 (OP)
Вот это код в одном из core-модулей у нас
Сказали что респонс 200 это не баг а фича
Аноним 30/07/21 Птн 12:38:45 2111865318
>>2111851
asgi (асинхронный подзалупный сервер который имеет ивент-луп и перебирает асинхронные таски)
wsgi (синхронный подзалупный серв, внутри как правило будет юзать треды что позволяет избегать блокирования на тасках но т.к. это питоновские треды то CPU-bound таски они не ускоряют)
Аноним 30/07/21 Птн 12:41:55 2111869319
>>2111851
По-моему ,что в си что в питоне как напишешь, так и будет работать. PHP может заточен на ответы клиентам, не знаю.

А языки общего назначения можно как угодно настроить.
Зависит от настроек и кода конкретного сервера.
Аноним 30/07/21 Птн 13:05:23 2111895320
>>2111858
У кого у вас-то.
Говоришь как будто ты мейнтейнер фастапи, а не крудошлеп в ООО КабанСофт.
Аноним 30/07/21 Птн 13:46:04 2111935321
>>2111851
Здесь определяет то, как настроен сам сервер, у тебя в промежутке что-то стоит, иногда несколько. Например связка nginx + uwsgi/gunicorn, или asgi.

Aiohttp работает напрямую, без asgi, то всё равно ты за nginx его ставишь обычно.

Ты другое имел в виду, я думаю.

Специфика PHP в том, что на каждое подключение создаётся новый процесс, причём именно процесс, а не тред, насколько я помню. Этот процесс отрабатывает результат и прибивается.

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

Аноним 30/07/21 Птн 14:14:32 2111979322
>>2111858
Меня больше не 200 статус смущает, так делают иногда, когда есть варианты альтернативной обработки на стороне фронта.
А текст ошибки. Что нахуй случилось? Как узнать? Хоть бы в логгер написали содержимое exc
Аноним 30/07/21 Птн 14:18:34 2111986323
>>2111979
Эксепшн отловлен, это штатная ошибка, если бы там всё пизданулось, то было бы 500 или что там ещё.
Это разные сорта ошибок на разных уровнях.
Аноним 30/07/21 Птн 15:11:45 2112060324
>>2111895
Я просто челик с Большим Агрегатом, которого молодняк про себя зовет Big Daddy
Не выпендривайся особо, а то очко-то твое не долго будет девственным
Аноним 30/07/21 Птн 15:12:21 2112062325
>>2111979
_on_error и напишет через logging.execption
Аноним 30/07/21 Птн 15:35:59 2112083326
>>2112062
Если есть какой-то глобальный отлов ошибок есть, то logging.exception будет пустой. Поэтому правильно в явном виде передавать ошибку
Аноним 30/07/21 Птн 15:52:07 2112106327
Как скомпилить код? В примерах вижу
python -OO -m py_compile file.py
Но при запуске не создается никакого файла
Аноним 30/07/21 Птн 16:56:58 2112170328
Какой ORM использовать для асинхронного приложения? SQLAlchemy без задней мысли или что-то другое?
Аноним 30/07/21 Птн 17:39:48 2112221329
Бля, пачаны, вопрос по списочным выражениям.

Вот есть списочное выражение

max_num = [matrix[j] for i in range(rows) for j in range(cols) if matrix[j] > max_num: max_num = matrix[j]]

Вот внутри него можно сделать вложенный цикл. Вот внутри него можно сделать условное выражение if. Но блин - нельзя внутрь списочного выражения засунуть то, что будет выполняться при срабатывании условия. Вот этот max_num = matrix[j] в конце выражения не сработает - это синтаксическая ошибка.

Как быть? Забить и использовать списочные выражения умеренно или есть какой-то хитрый трюк?
Аноним 30/07/21 Птн 18:58:52 2112340330
>>2112221
>нельзя внутрь списочного выражения засунуть то, что будет выполняться при срабатывании условия
Можно? Его в начале надо писать.
Я не большой знаток питона, но если объяснишь, что ты хочешь получить, я тебе компрехеншн напишу.
Аноним 30/07/21 Птн 19:14:26 2112355331
>>2112221
Нельзя.

>>2112340
Он хочет стейт сохранять в процессе.
Аноним 30/07/21 Птн 19:15:53 2112356332
>>2112355
>Он хочет стейт сохранять в процессе.
Если так, то нельзя. Я просто по его примеру не смог понять, что он хочет.
Аноним 30/07/21 Птн 19:26:40 2112364333
>>2112355
Ну да, я хотел чтобы внутри списочного выражения сохранялось и обновлялось max_num по условию. Но по ходу облом.
Аноним 30/07/21 Птн 20:56:42 2112430334
Есть ли смысл вкатываться в пайтон в качестве веб-бэкэнд макаки, или шансов найти работу почти нет?
Аноним 30/07/21 Птн 21:07:08 2112439335
Как относитесь к аналнимусам?
Аноним 30/07/21 Птн 22:41:43 2112512336
>>2112430
чел 300 резюме на вакансию, чтобы вкатиться надо сразу уровень мидла осваивать, это полтора года
Аноним 30/07/21 Птн 23:14:53 2112531337
>>2112512
чел, я писал в одном из тредов, так и не ответили.
у меня есть опыт по жабе, может стоит продолжать жабу ебать?
Я просто дикий депрессняк с нее словил в силу того что там налепили кучу дублирующих стандартов и я в душе не ебу как все это учить и не проебать что-то на собеседовании, питон вроде гаромничнее в этом плане выглядит
сейчас вот открыл лутца к примеру, дохуя воды, просто дохуище, но я 90% текста тупо пролистываю на опыте(и почти уверен что с фреймворками хуёрками тоже самое будет, ибо интуитивно понятно что к чему). Плюс еще жабускрипт знаю на уровне книжки кантора +- (естессно не на уровне нетривиальных задач уровня складывания нескладываемого, ибо уже забыл нюансы), могу в NPM, подргузить модули какие-нибудь оттуда, покопаться с ними через доки и написать какое-нибудь говно через импорты, реакт компоненты +- помню (до редакса так и не дошел), плюс верстку помню. Есть ли у меня шанс получить жоб оффер если я ща питон выучу, джангу и че там вокруг нее? Сократится ли время учитывая бэкграунд?
Производственного опыта не имел, все вышеперечисленные - пет проекты, выдумывание в IDE каких-нибудь задач и т.п.
Аноним 30/07/21 Птн 23:22:48 2112542338
>>2112531
Хотел добавить, что жабу освоил почти на уровне создания полноценного API с авторизацией. Спринг (местный веб каркас типа джанго походу) + Гибернейт (местный ОРМ), ну и эскюэль знаю на уровне джоинов и подзапросов
Аноним 30/07/21 Птн 23:23:07 2112545339
Аноним 31/07/21 Суб 00:37:30 2112572340
>>2112545
ну и че мне никто не отвечает?
я же вроде четко вопрос сформулировал.
Есть ли смысл душить питон имея небольшой бэкграунд, будут ли шансы куда устроится или лучше продолжить ебать джаву?
Аноним 31/07/21 Суб 00:41:08 2112574341
>>2112572
Смысла вообще нет.
Лучше спиться или сторчаться.
Аноним 31/07/21 Суб 00:42:23 2112575342
>>2112572
Ты че тупой на хуй? Джава - тырпрайз. Серьезные дяди, серьезные деньги.

Питон - язык швейцарский нож. И веб, и мл, и дата саенс, и сисадминам и девопсам, и в ботов умеет.

Ты бля чего хочешь то? Я бы на твоем месте Джаву не бросал, потому что она очень денежная.
Аноним 31/07/21 Суб 01:02:36 2112583343
>>2112575
>Ты бля чего хочешь то?
программистом макакой устроится хоть куда-то. Джаву пока учил, накрыл депрессняк от количества ебаных стандартов. Одних только ОРМ интерпретаций с десяток в одном каркасе, пока учил один, второй забыл уже.
Аноним 31/07/21 Суб 01:11:07 2112587344
>>2112583
Иди в Джава-тред, спроси на каком проценте, где 0 это Хэлоу ворлд, а 100 это трудоустроенный джун ты находишься.

Если меньше 50 - го к нам. Если больше - не тупи и грызи дальше Джаву. До победного.

А если ровно 50, то Го или Котлин азазазазазазазазаз
Аноним 31/07/21 Суб 10:43:27 2112706345
>>2112587
Поясни за котлин. стоит его подучить? или кал без задач?
Аноним 31/07/21 Суб 13:54:38 2112854346
>>2112706
Учи
Но без Жабы он нинужон
Аноним 31/07/21 Суб 15:46:06 2113035347
1.jpg 87Кб, 591x1280
591x1280
2.jpg 75Кб, 591x1280
591x1280
3.jpg 87Кб, 591x1280
591x1280
Кто-нибудь видел этот курс? Интересно, что за курс такой на скринах. Выглядит интересно.
Аноним 31/07/21 Суб 16:59:06 2113134348
>>2113035
> Выглядит интересно
выглядит как 99.97% энтри левел курсов по питончику
Аноним 31/07/21 Суб 17:48:02 2113183349
Screenshot 2021[...].png 24Кб, 630x327
630x327
Screenshot 2021[...].png 30Кб, 635x410
635x410
Анончики кто шарит в английский помогите новичку ..

Вообщем я делаю игру типа юзеру показывают слово и значение слова а он должен решить правильное ли значение ему показали и нажать 1 если правильно и 2 если неправильно с соответствующим выводом в конце ( Правильный ответ. Неправильный ответ) Подскажите что делать в случае если он ответит неправильно а ответ правильный . Типа он нажимает 1 но это неправильно и поэтому вывод должен быть как 2 понимаете о чем я ? Я че то не могу сообразить никак как это в виде кода представить
Аноним 31/07/21 Суб 17:56:10 2113187350
>>2113134
> Введение в многопоточное программирование: 36 минут
> Модуль threading: 4 часа 39 минут
> Модуль asyncio: 3 часа 36 минут

Ну типа сначала прослушал курс на 10 часов по питону, а дальше уже в эти тему.

Курс смотрится или для профи на других платформах, кто сел на питон. По тому, сколько времени на какую тему выделено, очень похоже.

Ну либо это полный абсурд, а не курс, потому что для начинающих с небольшим бэкграундом в программировании заведомо не подходит.
Аноним 31/07/21 Суб 18:07:21 2113191351
>>2113183
if definition == random_choice1:
__if user_input=='1':
____print("Correct answer")
__else:
____print("Incorrect answer")
else:
__if user_input=='2':
____print("Correct answer")
__else:
____print("Incorrect answer")
Аноним 31/07/21 Суб 18:17:40 2113203352
>>2113183
Тебе нужно брать рандом от keys и потом
if choice == 1 and word != items[random]:
'poshel nahui'
else:
'ok'
Аноним 31/07/21 Суб 18:26:16 2113211353
Аноним 31/07/21 Суб 19:15:23 2113244354
>>2113183
> def game
Кого играть-то блять?
> 10 строк кода функции в языке программирования высокого уровня, где написанный код должен сам себя объяснять. Хуйня переделывай.
Аноним 31/07/21 Суб 19:45:54 2113275355
Ребята, поясните как scrapy делает обычный запрос к странице. Заебался уже. Почему код scrapy.Request(url).xpath(...) у меня выводит ошибку, что мол у реквеста нет xpath. Но если обработчик передавать через другую функцию, и параметр callback, все работает. типа scrapy.Request(url, callback=parse) и уже в parse прописать xpath(...), то все работает. ЧТО за пиздец? Как сделать обычный запрос и обработать его? Почему нужно изъебываться и писать отдельно функцию обработчик?
Аноним 31/07/21 Суб 19:51:23 2113279356
>>2113275
Потому что он асинхронный внутри.
Аноним 31/07/21 Суб 19:52:33 2113280357
>>2113279
т.е. это не баг а фитча? просто сделать я запрос не могу? нужно вот так вот все циклить, если мне нужно несколько разные страниц обрабатывать?
Аноним 31/07/21 Суб 19:53:35 2113282358
>>2113280
Если тебе нужно пару страниц, то бери просто requests.
Аноним 31/07/21 Суб 20:17:26 2113297359
>>2113275
>Почему нужно изъебываться и писать отдельно функцию обработчик
Потому что асинхронные альфачи делают именно так
Омежкам не понять
Аноним 31/07/21 Суб 20:22:37 2113302360
15870595557370s.jpg 6Кб, 186x200
186x200
>>2113191
Ок спасибо огромное попробую
Аноним 31/07/21 Суб 20:22:44 2113304361
>>2113297
Альфач не может быть асинхронным. Альфач берет то что ему нужно, когда оно ему нужно, а не когда кто-то пообещал выполнить и случайно не наебал.
Аноним 31/07/21 Суб 20:26:29 2113307362
>>2113304
Альфач асинхронен потому что он ебет сразу десятки и сотни тянок разом, выполняет кучу тасок и усом не ведет, а омежкин ползает на карачках, постоянно блокируясь на I/O и лишь скулит в ответ
Аноним 31/07/21 Суб 20:31:37 2113309363
>>2113307
Это какой-то кабанчик на коллбеках созвоне, а не альфач. К альфачу тянки сами в очередь выстраиваются.
Аноним 01/08/21 Вск 01:11:22 2113476364
Гайз, зарегался на апворке, там действительно заказы которые мне подходят, итог - Я потратил все свои коннекты и больше не могу подавать заявку на заказ, почти из 20 заказов мне никто не написал, я офигел, все 20 человек тупо проигнорили, хотя я наверно был одним из первых кто ответил на их заказ, так-же у меня всего 7 долларов в час и низкие цены. Теперь что бы брать заказы мне походу нужно платить за коннекты, это шок конечно.
Аноним 01/08/21 Вск 01:22:19 2113480365
>>2113476
Не надо спамить на все проекты подряд, если будет низкий рейт по интервью-офферам то вообще словишь саспенд и пиздос.
Надо хорошенько выбрать, вдумчиво написать писулю и ждать.
Аноним 01/08/21 Вск 02:06:40 2113494366
>>2113480
Реально какой-то бред, я хочу работать, мне насрать где работать, просто возьмите меня.

Я пишу типо такое - i can do this work in one day.

А оказывается за много отзывов еще и бан дадут, слов нет.
Аноним 01/08/21 Вск 02:10:05 2113496367
Есть ли специальные группы, места, где ты можешь зарегаться, а они за тебя будут искать заказы и с заказа брать доп процент?
Аноним 01/08/21 Вск 02:19:00 2113498368
>>2113494
Потому что там таких хотельщиков мильйон, апворку интересны успешные проекты, где они поимеют профит, а не побольше полудиких индусов.
>>2113496
Это тупая идея как для тебя, так и для таких ололо-посредников. В принципе, тебя можно кинуть после успешного выполнения, тогда норм.
Аноним 01/08/21 Вск 02:19:24 2113499369
>>2113496
Галеры и бодишопы, устраиваешься - они продают твои жопочасы.
Аноним 01/08/21 Вск 08:41:47 2113551370
>>2113476
надо было ставить средние для работы по россии 2-3 доллрара в час
Аноним 01/08/21 Вск 09:54:25 2113583371
>>2113551
Лол, вот да. Почему люди думают, что если они поставят цену ниже рынка, то сразу станут привлекательными?

Для заказчика это сигнал, что вот тут что-то не то, наверное качество донное. Вот ты идёшь в магазин, видишь там сосиски или пельмени по 100 рублей за кг. Не потому, что акция -75%, а просто цена такая. Очевидно, что ты такое покупать не будешь, ты сразу сделаешь вывод о качестве, даже не попробовав.

А с учётом, что рынок сложный, где масса некомпетентности, мошенничества, говнокода и т.п. это очень плохой сигнал.

Я кстати реально знаю случай, когда на работу не взяли чувака, который понравился на собеседовании и всё такое, но запросил слишком маленькую зарплату, половину от ожидаемого.
Аноним 01/08/21 Вск 10:21:14 2113617372
А вообще много тут успешный случаев было, чтобы на апворк вкатывались, особенно за последние пару лет? На питон или какие-нибудь похожие специальности?
Аноним 01/08/21 Вск 10:22:24 2113618373
>>2113583
>Вот ты идёшь в магазин, видишь там сосиски или пельмени по 100 рублей за кг. Не потому, что акция -75%, а просто цена такая. Очевидно, что ты такое покупать не будешь, ты сразу сделаешь вывод о качестве, даже не попробовав.
А это часто делают для распродажи задержавшегося товара: кладут рядом еще дешевле. Умники думают что я буду брать фигню возьму подороже но качественнее.
Аноним 01/08/21 Вск 10:36:39 2113623374
>>2113583
>>2113618
Одно дело зарплаты на фулл-тайме и совсем другое хрюланс.
Там есть совершенно разные заказчики. Есть жлобы, которые за копейку удавятся и там проекты по несколько баксов или дрочение индусов сотнями часов с рейтом в 2-3. Есть наоборт, которые заваливают тебя деньгами на ровном месте. Есть средняковые - сколько скажешь, столько и дадут. Но как-то стремно много просить, лол. Надо это искоренять в себе.
Аноним 01/08/21 Вск 11:26:10 2113656375
>>2113583
Дело говорит анонче.

На фрилансе главное заявку к заказу расписывать. Сразу писать, что судя по всему у вас проблема с этим и этим, вот это я уже делал, а это представляю как сделать. И бонусом - у вас на сайте еще вот эта проблема, которой в заказе нет, но я могу тоже поправить.
Аноним 01/08/21 Вск 12:34:31 2113737376
1526880421475.png 91Кб, 447x447
447x447
А поясните мне, если GraphQL для фронта, наружу все равно rest?
Аноним 01/08/21 Вск 12:52:05 2113766377
>>2113737
Зависит от того, что у вас за логика, может нужно, а может нет
Аноним 01/08/21 Вск 12:56:40 2113773378
>>2113737
Его вообще всерьез использует кто-то?
Когда-то видел разок или два в комплекте со всякой смузихлёбщниой.
Аноним 01/08/21 Вск 13:00:04 2113780379
>>2113773
Graphql неплохо подходит, если у тебя фронт на модных фреймворках JS. Просто так в связке с jinja смысла нет
Аноним 01/08/21 Вск 14:47:03 2113892380
>>2113583
но цены на сосиски не складываются с учетом зарплаты рабочих что их производят.
там стоимость производства минимум в цене.
а основном ингридиенты.
и если например сосиски будут сделаны мажорами с зарплатой 300к в сек не значит что они будут пиздатыми.
Аноним 01/08/21 Вск 15:30:59 2113951381
Почему ссылка на новое собрание книг не работает?
Аноним 01/08/21 Вск 18:34:57 2114095382
В библиотеке websockets как-то можно использовать подписки или для них нужно что-то посерьезнее врода автобана?
Аноним 01/08/21 Вск 19:45:11 2114139383
>>2114095
Что такое "подписка"?

Но библиотека очень простая в любом случае, просто реализация протокола. Вебсокеты в aiohttp тоже простые.
Аноним 01/08/21 Вск 19:53:14 2114148384
>>2114139
subscription

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

Мне нужно чтобы это можно было делать асинхронно. Их того что нашел подходит автобан, но может быть есть что-то более подходящее
Аноним 01/08/21 Вск 21:34:05 2114226385
v8.jpg 21Кб, 350x450
350x450
Пасаны, новый суперхит вместо устаревшего укуса питона.
Аноним 01/08/21 Вск 22:51:59 2114297386
>>2114226
Я может националист, но моё мнение, если ты видишь индийское имя в поле "автор", то эту книгу не стоит даже открывать.

Ну не умеют индийцы в такие вещи, как хорошие книги.
Аноним 02/08/21 Пнд 00:15:30 2114378387
image.png 11Кб, 420x151
420x151
Аноним 02/08/21 Пнд 00:18:17 2114381388
>>2114378
1 индийская страница
Аноним 02/08/21 Пнд 00:24:31 2114385389
>>2114378
Это свиток типа. Были одностраничные сайты, теперь одностраничные книги.
Аноним 02/08/21 Пнд 00:51:14 2114411390
Как можно потестить сайт на нагрузку?
Аноним 02/08/21 Пнд 09:42:27 2114559391
>>2114148
А как ты будешь знать появились ли новые?
Аноним 02/08/21 Пнд 11:12:45 2114642392
>>2114385
Охуеть, по питону уже свитки делают. Манускрипты будут?
>>2114411
нет на этот счет никаких тестов разве?
не сайт а в смысле твой код потестить?
Аноним 02/08/21 Пнд 15:27:38 2114828393
>>2114559
Сделать поток данных, который будет транслировать текущие потоки данных?

Вполне отработанная схема, вроде, влан от мира вебсокетов.
Аноним 02/08/21 Пнд 17:23:16 2114914394
>>2114148
Еще mqtt можно поверх вебсокетов запускать, но вряд ли это будет чем-то лучше wamp. Если у тебя там простая задача, то можешь свой велосипед запилить. Посмотри паттерн pub/sub, это даст представление как этот самый велосипед должен выглядеть.
Аноним 02/08/21 Пнд 20:02:45 2115135395
изображение.png 1049Кб, 999x1249
999x1249
братишки, я вам королеву треда принёс, разбавьте шапку треда что ли
Аноним 02/08/21 Пнд 20:36:21 2115176396
Аноним 02/08/21 Пнд 20:38:59 2115179397
>>2115176
Что "с базой данных"?
Аноним 02/08/21 Пнд 21:01:21 2115197398
>>2114914
Задача предельно проста, получать поток данных и при необходимости добавлять/убирать каналы. Посмотрел websockets там вроде бы можно это делать через send, отправляя запрос. Буду ковыряться дальше
Аноним 02/08/21 Пнд 21:02:25 2115199399
>>2114559
В моем случае они есть - это потоки от апи.
Аноним 03/08/21 Втр 07:45:39 2115423400
Не нашёл DS/ML треда, поэтому напишу тут, простите если мимо
Сам быдлостудент и вкатываюсь в маш.об., и хотел поступить на курсы, чтобы научиться ему непосредственно, но отборочный на курс - собственно обучить модель, которая будет с помощью ввода данных из .csv файлов предсказывать что-то, а я пока что полный ноль и не понимаю с какими технологиями работать.
Подскажите к каким фреймворкками/технологиям мне нужно обратиться и изучить
Аноним 03/08/21 Втр 09:06:31 2115439401
Аноним 03/08/21 Втр 12:35:47 2115622402
антоны, накидайте ТЗ на парсер (ваши старые заказы например). Хотелось бы поучиться на реальной задаче, чтоб понимать с чем придется работать параллельно набивая портфолио.
Аноним 03/08/21 Втр 13:12:18 2115650403
>>2115622
>2021
>парсер не на ноде с js рендерингом
Аноним 03/08/21 Втр 14:11:07 2115717404
>>2115650
В 2021 парсер на ноде? Да, странно.
Аноним 03/08/21 Втр 14:24:57 2115729405
>>2115197
Я делал подобное на aiohttp, сообщения выглядели примерно:
['subscribe', 'topic_name'] - подписка. Аналогично отписка.
['event', 'topic_name', message] - отправка сообщения в канал.
Если на сервер приходит запрос на подписку, то клиент(ссылка на вебсокет-соединение) просто добавляется в список подписки с соответствующим именем. Если на сервер приходит сообщение для канала, то просто цикл for client in topic_name: client.send(message). 30 строк говнокода и готово, но у меня было 1.5 клиента, поэтому я мог себе позволить.
Аноним 03/08/21 Втр 14:28:58 2115733406
Подскажите библиотеки для работы с сигналами.
Суть такая, есть модуль, в который нельзя вносить изменения. Поэтому нужно повесить коллбек при перед вызовом метода внутри класса в этом модуле, ка сделать это?
Аноним 03/08/21 Втр 14:46:14 2115746407
Аноним 03/08/21 Втр 15:17:44 2115787408
>>2115746
Да, идея такая. Благодарю.
Аноним 03/08/21 Втр 20:35:12 2116058409
Перекатываюсь с ларавела на джангу, и вот возникли вопросы:

1) Мне нужно прикрутить авторизацию и разбить пользователей на группы, начал делать по-старинке - клепать таблицы в бд, однако фак гласит о том, что авторизация прикручивается к уже существующей таблице по-умолчанию, насколько запарно прикручивать авторизацию к кастомной таблице пользователей?

2) Одна из таблиц бд должна иметь ключевое поле, которое принимает значение из таблицы пользователей, возможно ли прикрутить родную джанговскую таблицу пользователей к модели, чтобы брать из неё значение в качестве ключевого поля?
Аноним 03/08/21 Втр 22:55:15 2116242410
>>2116058
На авторизации много чего завязано, при этом так просто она не кастомизируется.

По идее самое правильное это создавать дополнительную таблицу со свойствами пользователя и делать связь один-к-одному со штатной таблицей. Для своих целей я так делал, это тривиально.

from django.contrib.auth.models import User
class UserProfile(models.Model):
____user = models.OneToOneField(User, on_delete=models.CASCADE)
Аноним 04/08/21 Срд 01:39:38 2116389411
>>2116242
Спасибо, но я слишком поздно узнал о том, что весь основной поток данных о пользователях основывается на родной таблице, уже прокурил эту тему.
Однако когда позвонил лиду и задал этот ебанутый вопрос, он там чуть не просрался с моей неосведомлённости...
Аноним 04/08/21 Срд 02:50:44 2116402412
>>2116389
Куда там подавать резюме? Похоже я пройду =D
Аноним 04/08/21 Срд 11:55:26 2116695413
Сап питоняч, нюфэг на связи. Вопрос насчет системы где какой-то скрипт крутится вечно, а снаружи ему поступают данные. Ну, например while True цикл который каждые 30 секунд будет пинговать IP-адреса и принтить аутпут. Как организовать подобную вещь? Ну вот что сразу в голову пришло, это что вместо самих объектов в цикле можно проходить по всем элеметам массива, сам цикл демонизировать и запускать как сервис, а вот как извне этот массив модифицировать: заполнять, удалять, очищать полностью или изменять уже существующий объект я пока не понимаю. Есть ли хорошие примеры для изучения?
Аноним 04/08/21 Срд 12:00:45 2116701414
>>2116695
Сделать список отдельным файлом и подключать каждый раз при инициализации цикла?
Аноним 04/08/21 Срд 12:04:23 2116705415
>>2116695
У тебя классическая конкурентная задача, тут можно делать или через многопоточность, или через задачи в asyncio.

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

В случае asyncio, ты запускаешь задачу, которая что-то пингует. Другой задачей ты запускаешь aiohttp. Соответственно ты можешь зайти на веб интерфейс своего сервиса и поменять параметры какие-то, при этом, например, сохраняешь настройки в какую-то структуру.

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

Можно и через треды делать, тогда вместо aiohttp будет что-нибудь вроде Flask.

Аноним 04/08/21 Срд 16:54:09 2116964416
Какую библиотеку использовать для проверки того есть ли все поля в апи, правильно и тд? Для форм использовал wtforms, а тут, наверное, что-то другое надо
Аноним 04/08/21 Срд 17:21:43 2116979417
>>2116964
Что за апи? pydantic как вариант
Аноним 04/08/21 Срд 17:45:19 2117011418
>>2116979
Самодельный ну и вместе с openapi swagger вот это всё
Спасибо, выглядит как то, что нужно
Аноним 04/08/21 Срд 18:49:25 2117047419
Аноним 04/08/21 Срд 20:11:46 2117121420
>>2117047
почему не маршмеллоу?
Аноним 05/08/21 Чтв 13:03:39 2117671421
Есть спецы нампая?
np.set_printoptions(precision=3)
res=np.array(some_array)
res = array([[-0.486, 0.612, 0.393, ..., 0.872, -0.959, -0.489],...

Но когда я разворачиваю res в датафрейм, у меня опять оригинальная точность из some_array с 6-8 знаками после запятой.
Что за фигня?
Аноним 05/08/21 Чтв 13:04:28 2117673422
>>2117671
>>res
array([[-0.486, 0.612, 0.393, ..., 0.872, -0.959, -0.489],...
fix
Аноним 05/08/21 Чтв 13:41:10 2117709423
Что учить для веб-разработки на петухоне?
Аноним 05/08/21 Чтв 13:56:17 2117729424
1299322913069s.jpg 13Кб, 200x200
200x200
Аноним 05/08/21 Чтв 13:57:44 2117732425
>>2117729
Но посоны с /prrrr/ сказали, что пхп для говнокодеров.
Аноним 05/08/21 Чтв 14:00:23 2117739426
>>2117732
Но ты сам попросил для веба.
Аноним 05/08/21 Чтв 14:00:30 2117740427
>>2117709
А что ты из ИТ умеешь в принципе?
Аноним 05/08/21 Чтв 14:03:35 2117745428
>>2117740
Запускать хеллоуворлд на питухоне из консолечки. Могу сверстать страничку на html + css + js, чтобы потом ее в какой-нибудь backend-фрейморк засунуть.

Ну и там основы немшк: БД, разделение функционала на mvc.

Нулевой уровень, короче.
Аноним 05/08/21 Чтв 14:10:37 2117757429
>>2117745
Начинать надо с Джанго, это единственный более-менее зрелый фреймворк.

И там в коробке почти все ключевые технологии для веб - url route, middleware, поддержка авторизации, шаблонизатор, ORM и довольно навороченная система моделей-миграций. Админка какая-то в комплекте. Очень зрелая документация по всем вещам.

Вот это для твоего стека.

Ещё есть асинхронное направление, но это не про твой стек и твои навыки. И всё равно для базы лучше джанго.
Аноним 05/08/21 Чтв 14:14:52 2117765430
>>2117757
Спасибо.
Этого хватит чтобы вкатиться в вебна работку? Или еще дополнительно нужно js и прочее говно навернуть?
Аноним 05/08/21 Чтв 14:25:57 2117780431
Давно строкоебством не занимался, подскажите, как мне избавиться от эскейпинга бэкслешей и нужно ли вообще избавляться. В текстовом файле есть вот такой, например, символ:

> /-\

Пистон считывает его и помещает в словарь как

> /-\\

Можно что-то сделать, кроме как помещать строку в r''?
Аноним 05/08/21 Чтв 14:31:34 2117787432
>>2117780
Питон помещает в словарь нормально, скорее всего слеш добавляется при выводе на экран.
Аноним 05/08/21 Чтв 14:33:12 2117791433
>>2117780
Это так выводится, хранится нормально.
Аноним 05/08/21 Чтв 14:49:19 2117808434
Аноним 05/08/21 Чтв 14:52:22 2117812435
Если я наследую класс, к которому хочу добавить пару своих полей, это надо делать так?

class InheritedFromOtherClass(OtherClass):

----def __init__(self, other_class_field_one, other_class_field_two, my_field_one, my_field_two):
--------super(init).__init__(self, other_class_field_1, other_class_field_2)
--------self.my_field_one = my_field_one
--------self.my_field_two = my_field_two

Вроде работает, но хз правильно ли так писать.
Аноним 05/08/21 Чтв 14:57:36 2117821436
image.png 75Кб, 448x461
448x461
Здорова, народ!
Столкнулся с такой задачей на питоне, есть у меня таблица с данными - координаты х,у и значение "веса" на этой координате. Надо построить хитмап по этим данным.
Юзаю матплотлиб, но в нем хитмап это какие-то ебучие квадратики. Нашел решение, как сделать красивое и гладкое изображение - gaussian_filter из scipy.

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


Ну и еще можно меня мордой в тапки ткнуть, мб есть какой-то другой способ и\или библиотека для реализации подобной хуйни?

Новая капча это пиздец какой-то
Аноним 05/08/21 Чтв 14:58:51 2117825437
Как постить в джанго? У программиста на беке все работает.
У меня ошибка мол MultyValueDirectKEyError и ниже пишет POST: no post data.
Я не питонист и изменения в бек внести не могу. Фетчу мол body: JSON.stringify({field: "data"})
Аноним 05/08/21 Чтв 15:03:28 2117831438
>>2117812
args kwargs можешь использовать вместо перечисления всех аргументов.
Аноним 05/08/21 Чтв 15:33:13 2117860439
>>2117825
Подробнее бы. Покажи, как отправляешь - из формы?
Аноним 05/08/21 Чтв 17:56:00 2118029440
Аноним 05/08/21 Чтв 18:05:23 2118039441
>>2117671
np.set_printoptions устанавливает параметры, например точность, как у тебя, с которыми числовые объекты отображаются ("print"), не меняя их.

Делай res = np.around(some_array, decimals = 3), для округления.
Аноним 05/08/21 Чтв 19:39:10 2118170442
Аноним 05/08/21 Чтв 19:39:47 2118173443
>>2118170
Лучше, чем руками, это точно.
Аноним 05/08/21 Чтв 19:45:47 2118177444
>>2117765
Хватит джанги для начала, но хтмл/цсс/жс (вуе хотяб) нужно тоже.
Аноним 06/08/21 Птн 10:45:57 2118722445
Есть интересная фигня:
код в exception:
text_error = traceback.format_exc(limit=None, chain=True)
запускаем, всё работает
потом делаем
python3 -OO -m py_compile filename
и ошибка
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 5: invalid continuation byte
Ос linux если это имеет какое-то значение
Аноним 06/08/21 Птн 13:19:58 2118929446
Всем привет, скажите пожалуйста.
Хочу запилить свой форум с блекджеком и прочим на Django
( в учебных целях - руку набить и чтобы было что показать на всякий случай).
Но есть проблема, я не очень люблю фронтенд, хотя какие то основные вещи html и css конечно же знаю. Так вот, я хочу чтобы к посту можно было добавлять комментарии и чтобы они сдвигались относительно друг друга лесенкой (это как минимум). В целом я понимаю как это можно сделать используя html, но я так понимаю по хорошему это все делается используя JS.
И вообще, если надо ли мне вообще начать сейчас изучать JS для подобных вещей и может каких-то других?
Аноним 06/08/21 Птн 15:35:57 2119092447
>>2118929
> Так вот, я хочу чтобы к посту можно было добавлять комментарии и чтобы они сдвигались относительно друг друга лесенкой (это как минимум). В целом я понимаю как это можно сделать используя html, но я так понимаю по хорошему это все делается используя JS.
Это форматирование делается только с помощью html+css, применять для этого js полный зашквар и колхоз.

Аноним 06/08/21 Птн 20:00:04 2119476448
Как в асинхронных фреймворках принято работать с базами данных?
Аноним 06/08/21 Птн 20:25:48 2119494449
Аноним 06/08/21 Птн 20:28:05 2119495450
>>2118929
Джанговский сервер-сайд рендеринг это ископаемая окаменелость. Если не можешь в изоморфный код, то забудь об этом. Отдавай бэком данные через рест, а рендер дома делай в браузере.
Аноним 06/08/21 Птн 20:30:36 2119498451
>>2119495
>сервер-сайд рендеринг
Зачем это вообще надо если у тебя не мощи типа гуглов или амазонов?
Аноним 06/08/21 Птн 21:03:47 2119517452
>>2119498
Для поисковиков, например.
Аноним 07/08/21 Суб 14:00:40 2119953453
Делаю бота для изучения английского, может ли кто-то посоветовать тхт файл с кучей слов и переводом на русский?

Я воспользовался google translator + тхт файл с 400к слов, но там такая дичь, нужен годный контент, а его можно получить только с книги, хотелось бы взять тхт файл где слово и перевод.
Аноним 07/08/21 Суб 15:18:32 2120024454
двач, посоветуй что почитать о питоне на глубоком уровне, про GIL, механизм импорта и все такое. Хотелось бы почитать что-нибудь кроме документации, если такая возможность имеется
Аноним 07/08/21 Суб 15:30:21 2120047455
Аноним 07/08/21 Суб 16:37:46 2120156456
>>2120047
Если ты делаешь приложение и тебе не нужно, чтобы оно индексировалось поисковиками, было в выдаче, чтобы на страницы ссылались из других ресурсов и месседжеров - то нет профита.

Как же вы не понимаете, что технологии генерирования контента на самой странице появились уже в конце нулевых. Если за более, чем 10 лет, они не вытеснили традиционные, но значит так надо.
Аноним 07/08/21 Суб 16:48:19 2120173457
>>2120156
Разве поисковик не делает обычный гет запрос?
Аноним 07/08/21 Суб 16:58:14 2120196458
>>2120173
Поисковики не очень хорошо рендрят-индексируют контент, который динамически получен.

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

Аноним 07/08/21 Суб 19:46:16 2120356459
Подскажите плиз, хороших примеров-проектов с использованием pyqt, для того чтобы посмотреть как код организован и какие мб паттерны используют.
Аноним 07/08/21 Суб 20:03:55 2120375460
>>2120196
Слуш, я понимаю что "ниоченьхорошо" это заебок пояснение, но ты можешь конкретнее писать?
Аноним 07/08/21 Суб 20:32:22 2120403461
>>2120375
Надо очень внимательно следить за прогрессом поисковиков. Этим SEO-шники занимаются, но у них не принято знаниями делиться.

Поисковик находит какой-то url и вытягивает содержимое. В идеале там должна быть уже готовая веб-страница, он её распарсит и проиндексирует. Долгое время только так и было.

Если у тебя на странице JS код, который меняет контент, то этот контент оставался незамеченным для поисковика, он его тупо не исполнял, твои проблемы как говорится.

Поисковикам, впрочем, чтобы идти в ногу со временем, приходится подключать машины для рендринга. Во-первых, хочешь-не хочешь, а надо бороться с мошенниками, SEO-шниками и т.п скамом, они этими трюками пользуются. Во-вторых, слишком большую роль на рынке играют платформы вроде wix, где JS очень активно используется. И другие подобные решения.

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

Вообще использовать JS для отображения документов это очень дурной тон. Есть URL, есть документ по этому адресу. За вёрстку отвечает CSS, контент должен быть в самом html. А JS нужен для интерактивности.
Аноним 07/08/21 Суб 20:53:28 2120418462
>>2120403
>В идеале там должна быть уже готовая веб-страница,
Чел, плять. Ты вообще понимаешь что такое веб? Ты понимаешь что такое запрос и как сервер отвечает на определенные запросы?
Аноним 07/08/21 Суб 21:00:33 2120424463
>>2120418
У тебя есть url. Ты делаешь запрос, получаешь страницу с результатом. Всё. Это должен быть уже готовый документ, размеченный, который способны распарсить и поисковики, и браузеры.
Аноним 07/08/21 Суб 21:06:00 2120428464
>>2120424
Понятно, ты ньюфак который не понимает подкапотной романтики веба.
Аноним 08/08/21 Вск 18:07:23 2121148465
Аноны, скажите как лучше спроектировать парсер. Есть задача - 3 раза в день парсить определенный список страниц одного сайта и обновлять некоторую информацию с них в БД. Сейчас страниц около 5к, в будущем может быть до 100к. Если кабану нужно обновить информацию с какой-то конкретной страницы сайта, он может нажать в админке кнопку, и эта страница должна обновиться сразу же, а не дожидаясь своей очереди среди остальных 4999 (даже если парсинг уже идет). Также по запросу кабана может быть добавлена новая страница, которая также должна парситься в первую очередь. При этом api админки находится отдельно от краулера. Все это должно работать на asyncio. Сайт разрешает загружать масимум 5 страниц в секунду, иначе выдает капчу.

Я планирую сделать это так:
1. При старте скрипта запускаем вечный цикл, который 3 раза в день просыпается и загружает из БД список страниц для парсинга.
2. Засовываем их в очередь asyncio.LifoQueue (чтобы можно было в любой момент подкидывать в начало очереди страницы, которые кабан хочет обновить).
3. С помощью asyncio.create_task запускаю функцию, которая раз в несколько секунд будет проверять БД на наличие новых ссылок, и закидывать их в начало очереди.
4. После этого стартуем 2 функции-воркера, которые будут разгребать очередь и парсить страницы. Учитывая скорость загрузки сайта, как раз ~5 страниц в секунду. В будущем, если нужно будет быстрее парсить, подключу несколько прокси, и запущу по 2 воркера на каждую проксю.

Какие подводные? И еще вопрос - как обновлять уже существующие в БД страницы, по велению кабана? Если с новыми все понятно - у них столбец с последней датой парсинга в БД будет пустой, то обновлять как? Не хотелось бы подключать rabbitmq для этого.
Аноним 09/08/21 Пнд 11:12:26 2121745466
>>2119495
>Отдавай бэком данные через рест, а рендер дома делай в >браузере.
Что ты имеешь ввиду? Я нифига не понял
Аноним 09/08/21 Пнд 11:48:04 2121779467
>>2121148
> запускаю функцию, которая раз в несколько секунд будет проверять БД на наличие новых ссылок
Не страдай хуйней, подними RabbitMQ.
> Учитывая скорость загрузки сайта, как раз ~5 страниц в секунду.
Заведи побольше воркеров и сделай человеческий throttling.
> если нужно будет быстрее парсить, подключу несколько прокси
Во-первых, это неэтично, а во-вторых, вас за такое забанят в пизду, как охуевших пидарасов. Если кабану надо быстрее, пускай идет договаривается с этим сайтом и платит им за доступ к базе. 100к страниц по 5 в секунду это около 6 часов, трижды в день успеешь обновить.
Аноним 09/08/21 Пнд 13:23:21 2121897468
>>2121148
>Засовываем их в очередь asyncio.LifoQueue
Для этого лучше asyncio.PriorityQueue

>>2121779
>Заведи побольше воркеров и сделай человеческий throttling.
Плюсуюсь. Причём сделать просто руками, средствами asyncio, отдельная задача, которая будет брать задания из PriorityQueue, и отдавать их потребителям, тоже через очередь, но ограниченной длины, не чаще 5 раз в секунду.

output_queue= asyncio.Queue(5) # не больше 5 элементов в очереди
while True:
____data = await input_priority_queue.get()
____await output_queue.put(data)
____await asyncio.sleep(0.2)
Аноним 09/08/21 Пнд 13:31:41 2121906469
>>2121897
___data = await input_priority_queue.get()
fix, тут надо _priority, data = await ....
потому что приоритет тоже возвращается, но потом его тупо можно игнорировать
Аноним 09/08/21 Пнд 14:31:21 2122075470
Как нормально проверить что файл существует, если нет, то его надо создать, если существует — нужно прочитать и проверить на то что там лежит JSON, чтобы забрать в dict. Я написал вот так https://pastebin.com/hCZqqmvD, но можно ли обойтись без try catch внутри try catch?
Аноним 09/08/21 Пнд 16:23:34 2122210471
>>2121897
> output_queue= asyncio.Queue(5) # не больше 5 элементов в очереди
А зачем ограничивать очередь, если туда и так будет ложиться не более 5 элементов в секунду?
Аноним 09/08/21 Пнд 16:37:35 2122222472
>>2122210
Понял. В случае если какая-то страница будет грузится долго, чтобы в очередь не набилась куча страниц, которые потом разом спарсятся и спровоцируют капчу.
Аноним 09/08/21 Пнд 17:11:02 2122263473
1507439393042.jpg 522Кб, 1200x750
1200x750
помогите с этой фигней

я опять на связи >>2120129 →

короче было
if " текст1 " in response.text:
а я сделал что бы нескольо искало
if "текст1 in response.text or "текс2" in response.text or "текст3" in response.text or "текст4" in response.text or "текст5" in response.text or "текст6" in response.text:

и теперь часть работает, а часть мне пишет in <string>' requires string as left operand, not int
Текст у меня все цифры. Причем 1111 и 1 это должно восприниматься разные. Погуглил, ставил ' ' вместо " " и ничего .

Что делать? Я не прогоамист вооьще


Да, мне вощрашет текст с цифрами и у меня цифры одни. Я пробовал ввводить со словами , ведь перед каждым набором цифр в ответе есть одно и тоже слово но все равно так. Не понимаю пчему оно одни цыфры видит нормально в ответе, а на другие материся
Аноним 09/08/21 Пнд 17:15:44 2122268474
screenshot18-2.png 1307Кб, 923x646
923x646
Аноним 09/08/21 Пнд 17:54:31 2122329475
Сап двач тян - аналитик на связи
Дали ваш питон идиотски
Нужно было считать с сайта таблицу и потом ее сохранить в формате скл и ещё таблицу эту «перевернуть»
Вообщем с 1 и 2 заданием я справилась, как и в каком месте перевернуть таблицу - без понятия
Было бы здорово если бы всякие няши мальчики смогли бы помочь!
Если что тг @kitityty
Ламповое общение при помощи гарантирую!
Аноним 09/08/21 Пнд 18:01:52 2122333476
>>2122329
Переворот таблицы как матрицы? Это библиотека Numpy вроде. У нас такое на бесплатных курсах проходят
Аноним 09/08/21 Пнд 18:06:39 2122338477
>>2122333
с скл табличкой все не так просто!
Аноним 09/08/21 Пнд 18:37:21 2122398478
>>2119495
>а рендер дома делай в браузере.
что для этого нужно? JS?
Аноним 09/08/21 Пнд 18:41:17 2122411479
>>2122338
Так сначала переверни, а потом сохрани
Аноним 09/08/21 Пнд 19:46:39 2122497480
Anonymous, есть тут такие, кто может рассказать про gunicorn и Flask? Когда я пишу gunicorn main:app что он делает?
В main.py одна строчка from server import app.
Аноним 09/08/21 Пнд 20:07:47 2122522481
>>2100419 (OP)
Тупой вопрос, с которым ебусь уже целый день.

Есть модуль, структура:

myapp
|-module
|-- __init__.py
|-- mymodule.py
|-- KEY
|-tests
|-setup.py

setup.py устанавливает две entry point, код которых лежит в mymodule.py. В самом mymodule.py реализован класс, который для инициализации принимает KEY-файл. Так вот, как мне указать путь до ебаного KEY-файла, чтобы во время вызова этих entry points не ломалось ничего?
Аноним 09/08/21 Пнд 20:19:05 2122535482
>>2122497
gunicorn - это вебсервер.

Его задача принять соединение, распарсить запрос, вызвать функцию из твоего приложения и отдать результат пользователю.

Работает через WSGI протокол, смотри вики банальную и пример оттуда
https://ru.wikipedia.org/wiki/WSGI

Когда ты пишешь gunicorn main:app
запускается гуникорн, он импортирует файл main.py.
Дальше, когда приходит запрос от пользователя, гуникор запускает функцию-генератор app и передаёт ей параметры твоего запроса и коллбэк.

Ты делаешь какую-то логику, через коллбэк устанавливаешь заголовки вроде кода возврата, куки, content-type и т.п., а через yeild возвращаешь тело запроса, можно в несколько частей, ибо генератор.

В общем всё просто. gunicorn - это вебсервер. WSGI - протокол для запуска питон-приложения.

Советую запустить гуникорн и минимальные приложения без фласка, быстро разберёшься что к чему.
Аноним 09/08/21 Пнд 20:25:23 2122540483
>>2122522
Надо запускать, плохо в сетапах понимаю.

По идее, ты можешь вычислить путь через какой-нибудь pathlib, обычно так делают, что-то вроде
pathlib.Path(__file__).parent.resolve(), дальше добавить путь к файлу.

Тебе надо не забыть включить файл с данными в модуль, смотри вот здесь
https://setuptools.readthedocs.io/en/latest/userguide/datafiles.html
иначе ты соберёшь модуль без данных. Данные при это будут храниться внутри каталога с модулем.
Аноним 09/08/21 Пнд 20:32:07 2122549484
0.jpeg 32Кб, 279x423
279x423
>>2122540
Да, спасибо, тоже прочитал про датафайлы. Добра!
Аноним 09/08/21 Пнд 20:56:42 2122575485
>>2122329
Стоило идти на аналитика чтобы все равно торговать еьалом и приятным общением?
Не проще ли сразу пойти в маркетинг и не врать себе? Ну если быть шкурой это твой выбор, так будь же собой до конца!
Аноним 09/08/21 Пнд 20:57:11 2122576486
Снимок экрана о[...].png 62Кб, 1920x1080
1920x1080
Что с новым собранием случилось?
Аноним 09/08/21 Пнд 22:41:15 2122773487
>>2122576
Видимо хранителю знаний мы надоели и он перестал платить за хранилище. Очень жаль, надо искать новое и заливать туда книги.
Аноним 10/08/21 Втр 01:20:46 2122918488
>>2122773
почему не запидорасить их тупо в облако?
там никто не спиздит акк
Аноним 10/08/21 Втр 02:10:45 2122929489
lul.jpg 3Кб, 170x162
170x162
>>2122575
>>>2122575
>Стоило идти на аналитика чтобы все равно торговать еьалом и приятным общением?
Не проще ли сразу пойти в маркетинг и не врать себе? Ну если быть шкурой это твой выбор, так будь же собой до конца! >
Аноним 10/08/21 Втр 04:56:11 2122966490
Аноним 10/08/21 Втр 08:45:00 2123035491
>>2122929
На шкуру обиделась что ли? Но ведь это чистая правда - заигрывания и все такое ради получения выгоды - все это и является шкурностью. Ты думаешь что прекрасно понимаешь жизнь, что все мужики тупые и их легко поиметь.
Вот это поиметь и есть позиция шкуры. Мужики такими тоже часто бывают, но чуть-чуть реже.
Да ладно, чё ты душная такая мы все здесь твои друзья.. чмоки крошечка, надеюсь я тебе помог.
Аноним 10/08/21 Втр 13:28:01 2123344492
0Nmbv4HIvdJRBtR[...].jpg 33Кб, 381x499
381x499
It's enterprise time!
Аноним 10/08/21 Втр 17:38:46 2123616493
Подскажите, если джуновских вакансий в своём городе особо нет, то надо не выёбываться и идти учить php?
Бэкенд вакансий с одной стороны поровну, с другой стороны на питоне почти все миддл-синьёры, а на пыхе что-то есть.
В таком случае удалёнка из ДС-ДС2 реальный вариант или господину из приусадебного хозяйства не стоит даже надеяться?
Аноним 10/08/21 Втр 20:49:50 2123850494
Суп анонче, подскажите нубасу, как подступиться к задаче.
Есть ксвшка с кучей строк и колонок (1.5кк на 70 если быть точным). В полях записана самая разная информация, и мне нужно переписать в текстовый файлик данные из одного поля - но только в том случае, если другие поля этой строки содержат определенные фильтровочные данные.

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

Как тут вообще лучше/правильно сделать?
Аноним 10/08/21 Втр 20:57:36 2123854495
>>2123850
Ты какой-то хуйней занимаешься.
Построчно читаешь, csv парсером получаешь значения, проверяешь свои условия, построчно же пишешь.
Аноним 10/08/21 Втр 20:59:17 2123856496
>>2123854
>Построчно читаешь
Для этого же надо конкатенировать все 7 столбцов строки, разве нет?
Аноним 10/08/21 Втр 20:59:34 2123858497
Аноним 10/08/21 Втр 21:04:30 2123861498
>>2123856
Зачем? Или ты тупо хочешь искать регуляркой во всей строке?
Ну тогда читаешь построчно как текст, если есть матч, то передаешь уже парсеру цсв и извлекаешь значения.
Аноним 10/08/21 Втр 21:07:22 2123863499
screen.png 166Кб, 976x1284
976x1284
>>2121148
Парсер запилил, только без его запуска 3 раза в день и пока без RabbitMQ. Как это лучше запускать несколько раз в день - запускать скрипт кроном или как-то внутри скрипта засыпать на 8 часов между загрузкой страниц? Хотелось бы сделать все в коде, но пока не понятно как именно.
Аноним 10/08/21 Втр 21:10:41 2123867500
>>2123861
У меня каждая строка состоит из 70 полей, отделенных запятой, типа

а,я,люблю,обмазываться,не,свежим,говном,test,и,дрочить
каждый,день,я,хожу,по,земле,с,черным,мешком,для,
мусора,и,собераю,в,него,все,говно,которое,test,вижу,на,два,
полных,мешка,целый,день,уходит.,Зато,когда,test,после,тяжёлого,

Если в строке есть "test", то мне нужно будет записать в текстовик данные из третьей колонки - "люблю", "собераю", "целый".
Аноним 10/08/21 Втр 21:13:51 2123869501
>>2123344
Поможем даше-вкатчице найти вакансию джуна!
Аноним 10/08/21 Втр 21:16:34 2123875502
>>2123867
> Ну тогда читаешь построчно как текст, если есть матч, то передаешь уже парсеру цсв и извлекаешь значения.
Аноним 10/08/21 Втр 23:05:32 2123985503
Помогите разобраться с nginx, uvicorn и Fastapi. Мне нужно получить файл с диска в приложение фастапи и вернуть его в ответе пользователю. Стоит ли это делать через энджиникс и как это будет происходить?

Ещё буду рад если посоветуете что почитать по деплою приложений на реальный сервак.
Аноним 11/08/21 Срд 01:23:38 2124077504
1599158428image.jpg 58Кб, 930x720
930x720
Смотрите, есть у меня какой-то объект, который нужен в нескольких функциях, там, реквестс или подключение дб.
Очевидно, можно в глобальном скоупе их создать и пользоваться, но ровные пасаны делают if __main__ main() и не засирают его.
Остается или завернуть в ооп или пробрасывать его в все функции через параметры, что несколько тупо. Может ещё какой-то способ годный есть?
Аноним 11/08/21 Срд 02:08:39 2124097505
>>2101603
Так ебат, на днях оплачу хранилище книг. Приношу извинения, антоши.
Аноним 11/08/21 Срд 10:59:09 2124201506
>>2124097
как ты так проебался, микрочел?
Аноним 11/08/21 Срд 12:33:03 2124292507
Как сделать, чтобы типа имея создание объекта в одном файле, потом импортировать другой, где он используется, но не создается и использовать в этом же? Конечно один файл было бы попроще, но все же
Аноним 11/08/21 Срд 12:58:34 2124317508
>>2124097
а сколько ты за это платишь, если не секрет?
Аноним 11/08/21 Срд 13:27:15 2124352509
>>2124292
Так и делаешь, создаешь в одном файле и импортируешь в другой.
#file1.py
a = A()
#file2.py
from file1 import a
Аноним 11/08/21 Срд 14:05:02 2124390510
Аноним 11/08/21 Срд 16:11:40 2124540511
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов