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


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
506 40 139

Питон тред №70 /python/ Аноним 11/10/19 Птн 19:04:53 14941301
snake-2-560x557.jpg (94Кб, 560x557)
560x557
Introduction-to[...].webp (121Кб, 1920x1080)
1920x1080
py10.png (55Кб, 807x463)
807x463
Тред, посвящённый языку программирования Питон, #70.
Предыдущий >>1484225 (OP)

ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 года

Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/
https://pastebin.com/
https://pyfiddle.io/
https://www.codepile.net/
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер 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/ (нужно знать ангельский или уметь пользоваться переводчиком)

Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Аноним 11/10/19 Птн 20:54:48 14942012
>>1494152
попробуй json.dumps(... , ensure_ascii=False)

Аноним 11/10/19 Птн 20:57:04 14942033
>>1494145
>Сохраняю данные в json, кириллица выводится вот так
>" \u0413\u0430\u043b\u043e\u0448\u0438", что с этим делать?
>>1494201
Аноним 11/10/19 Птн 21:01:02 14942074
>>1494203
Все правильно, в файле у тебя записана строка как набор юникод-символов, при печати она конвертируется в utf-8 или что там у тебя.
Аноним 11/10/19 Птн 22:39:33 14942675
Месяц назад выучил питон и джанго за месяц же, теперь почти нихуя не помню спасибо тебе, вовклассик, блядь
Ага, чтоб освежить память нужен хороший курс по джанго, о пока из нагугленных на русском языке вижу только уроки от мозиллы.
Может есть че у вас?
видеоуроки сразу нахуй
мимо тот самый нубас
Аноним 11/10/19 Птн 22:59:31 14942856
>>1494267
> выучил питон
За месяц можно с нуля японский выучить. Но не программировать научиться.

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

Просто реализуй их учебное приложение.
Аноним 12/10/19 Суб 01:02:15 14944177
>>1494285
>За месяц можно с нуля японский выучить
死ぬダウン。
За месяц. А не пойти бы тебе нахуй? Обрыганец с двощей.
Аноним 12/10/19 Суб 01:14:04 14944228
>>1494267
Хз насчёт мозилловского курса. Я вот пару недель назад тыкался в нём и несколько штук были out of date, так что пришлось тутор переделывать самому.
Так что двачую вот этого и реквестирую хороший тутор по Джанго, чтобы освежить в памяти всю хуйню.
Аноним 12/10/19 Суб 01:44:36 14944259
>>1494285
>За месяц можно с нуля японский выучить. Но не программировать научиться.
Где я писал что научился программировать?
Блядь, за прделами пыхатреда одни быдланы-илитисты сидят.
Аноним 12/10/19 Суб 03:35:30 149443810
>>1494422
Там вроде весь курс по 1.9. Мне нормально было когда использовал его на свежей джанге, например. Хочется другой почитать, и не хочется лезть в дебри офф мануала, хочу чтоб за ручку меня водили.
Аноним 12/10/19 Суб 05:00:16 149445211
Че там щас актуально на питухое для веба? Все та же джанга? Мож че поудобнее есть?
Аноним 12/10/19 Суб 05:14:51 149445612
>>1494452
Если расшифровать код на латиницу можно анализировать psx аналог исходного слога или оно само распознает иллюстрации к печати ?
Аноним 12/10/19 Суб 07:51:25 149447213
>>1494452
Что конкретно тебе нужно и чем тебя не устраивает Джанга?

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

Но современные тренд в том, чтобы делать сайты как приложения, реактивные, с потоковым обменом данными и т.п. Нужна нормальная асинхронность. Это уже не для Джанги. В тренде асинхронные фреймворки, вроде aiohttp и tornado. Про торнаду не знаю, aiohttp массу асинхронных возможностей даёт, но немного кривоват, есть такое. И к Джанге прилагается коробка с кучей функционала (ORM, админка, управление пользователями и другое), а aiohttp почти как OEM.
Аноним 12/10/19 Суб 09:25:34 149448314
>>1494438
Так в официальном туториале тебя и водят. Пиздец двощеры, им разрабы дают хорошие официальные руководства - нет, не хочу, хочу чтобы индусы с медиума мне в рот какали.
Аноним 12/10/19 Суб 15:14:19 149470715
Screenshot372.png (48Кб, 1365x695)
1365x695
Аноним 12/10/19 Суб 18:17:10 149492116
Фух только что доделал тестовое задание, наговнокодил знатно, но функционал вроде реализован, вообще могут позвать на собес даже если тестовое не очень?
Аноним 12/10/19 Суб 18:18:02 149492217
>>1494921
В теории возможно всё.
Аноним 13/10/19 Вск 03:32:16 149528918
Снимок экрана 2[...].png (669Кб, 1920x1080)
1920x1080
>>1494130 (OP)
Народ, есть у кого на примете хороший ресурс с дачами, чтобы разные разделы python затронуть? Хотелось бы некий аналог https://hyperskill.org/
Аноним 13/10/19 Вск 03:38:33 149529019
Аноним 13/10/19 Вск 05:09:40 149530720
Ух, запилил парсинг тредов и полнотекстовый поиск по ним. Сделал небольшую таблицу для вопросов/ответов.
Небольшой уютный сайтик почти готов.
Аноним 13/10/19 Вск 06:47:44 149532921
Сап двач, реквестирую видева по джанге ну туториал, дайте годноты на русском, спасибо.
Аноним 13/10/19 Вск 11:20:34 149540822
JeviBaUZCGU.jpg (276Кб, 1400x934)
1400x934
>>1495290
Слыхал о нём, но сейчас не мог вспомнить название. Опробую, спасибо!
Аноним 13/10/19 Вск 11:21:03 149540923
Аноним 13/10/19 Вск 11:41:04 149541924
Как на питоне сделать принт, чтобы в новую строку писались только 2 символа?

he
ll
o
wo
rl
d
Аноним 13/10/19 Вск 13:07:45 149545825
>>1495409
Flask/postgres/celery/aiohttp
Сейчас все в uwsgi+nginx оберну, куплю доменное имя и https прикручу.
Аноним 13/10/19 Вск 13:09:11 149546026
>>1495329
На русском нет. Есть только книга на русском и доки на русском.
Аноним 13/10/19 Вск 15:13:56 149560527
Аноним 13/10/19 Вск 15:24:38 149561528
Знакомый забашлял бабла в GeekBrains и пошел туда на курсы, в конце там еще и сертификат дают. Насколько валидна эта тема? Профит будет?
Аноним 13/10/19 Вск 16:45:21 149567129
Screenshot 8.png (14Кб, 437x221)
437x221
Аноним 13/10/19 Вск 17:33:02 149570730
Какие перспективы у Питона в игростроении?
Инб4 визуальные новеллы и пасьянс.
13/10/19 Вск 17:56:54 149573831
Аноним 13/10/19 Вск 18:16:39 149576832
Аноним 13/10/19 Вск 18:20:03 149577633
>>1495707
Никаких. Только как скриптовый язык.
Аноним 13/10/19 Вск 18:27:05 149578434
Привет, двачеры
У меня есть вопрос
Нужно спарсить ссылку на изображение
Структура изображений каталоге
<a href=a class=b>
<img src=url>
</a>

Как мне с помощью bs4 в питоне создать условие на парсинг:
Ищи тег img с классом b, и вощвращай мне значение атрибута src?

Пробовал findAll("a", {"class":"b"} но вернул только пустые значения
Аноним 13/10/19 Вск 19:08:16 149585735
>>1495615
Он лох, на сертификаты вкатывальщика никто не смотрит
Аноним 13/10/19 Вск 19:15:08 149586436
>>1495857
>>1495615
По факту вся это раздатая ебень для околовкатывальщиков - отдельная индустрия. Кто не может делать деньги в Ойти делает деньги на вкатывальщиках
Аноним 13/10/19 Вск 19:20:01 149587437
>>1495864
Старый добрый инфо-наебизнес
Аноним 13/10/19 Вск 20:03:36 149591638
>>1495615
Ты тот самый заводчанин, который всё хотел пойти на курсы какие-нибудь? Начал сомневаться в покупке?
Аноним 13/10/19 Вск 20:22:43 149593339
Как сделать так чтобы потоки выполняли одну функцию одновременно, без расхождений, или есть что-то для более удобного одновременного выполнения?
Аноним 13/10/19 Вск 20:32:01 149593840
>>1495707
> визуальные новеллы
На этом, пожалуй, и всё.
Но если задаться целью то можно 2д игори делать.
Аноним 13/10/19 Вск 20:33:20 149593941
>>1495933
Ты уже определись. Как тебе одновременно и что значит "без расхождений"?
Аноним 13/10/19 Вск 20:42:04 149594342
>>1495939
Есть цикл, и два потока выполняют этот цикл, мне нужно чтобы итерации цикла в 1 потоке совпадали с итерацией цикла во 2 потоке
Аноним 13/10/19 Вск 20:49:20 149594643
>>1495943
Меняй архитектуру либо же пытайся прикурить сигналы/очереди к потокам своим. То есть настрой общение между ними, что бы поток 1 знал о состоянии потока 2. Но пересмотреть архитектуру - более правильное решение, как по мне.
Аноним 13/10/19 Вск 20:50:45 149594744
>>1495946
Я просто не вижу других вариантов, нужно обрабатывать несколько циклов одновременно, иначе никак.
Аноним 13/10/19 Вск 20:52:02 149594845
Аноним 13/10/19 Вск 21:16:38 149597346
>>1495947
Что конкретны ты пытаешься сделать и зачем тебе многопоточность?
Аноним 13/10/19 Вск 21:50:42 149598847
>>1495938
>>1495776
Питоноподобный язык использовался в Unity до недавнего времени.
Аноним 13/10/19 Вск 21:56:51 149599148
>>1495988
> Питоноподобный язык использовался в Unity до недавнего времени.
Там подобие JS было. Да и то его ещё с бородатых версий рекомендовали не использовать, пока не выпили окончательно.
Аноним 13/10/19 Вск 22:15:56 149600449
Твердо и четко, фласк или джанго?
Аноним 13/10/19 Вск 22:22:49 149600950
Аноним 13/10/19 Вск 22:26:12 149601051
Аноним 13/10/19 Вск 22:38:29 149601652
williamsmile.png (504Кб, 560x403)
560x403
Знаю: Django, Django Rest Framework, немного aiohttp asyncio (опыт на продакшене), pytest, сталкивался со всякими редисами-реббитами (но без тонкой настройки), могу написать простенький docker-compose.yml

Что мне еще надо для того чтобы получить свои 160к по приезду в Москву?
Аноним 13/10/19 Вск 22:39:26 149601753
>>1496016
Пока можешь получить лишь писькой по фейсу
Аноним 13/10/19 Вск 22:41:43 149601854
Аноним 13/10/19 Вск 22:57:44 149602655
>>1496018
>БД
Создавать/редактировать постгресные вьюхи на лету через код пойдет?
А еще я раскурил оконные функции

>куча опыта
2 года в норм конторах (ci/cd код-ревью, продуктовые, головной опыт не в Росии, так что у меня еще и англ разговорный) (всякие студенческие подработки не учитываем)
Аноним 13/10/19 Вск 23:09:58 149603456
>>1496026
> Создавать/редактировать постгресные вьюхи на лету через код пойдет?
Нет.
Надо уметь проектировать модели.
И нахуярить архитектуру приложения.
Если ты собрался не на галеру, то твой английский не важен.
2 года не так уж много, если честно. Проанализируй рынок труда.
CI/CD конфиги сам писал? Что по тестированию? В докер заворачивал приложение своё? Постгрес в докере запустишь или на железке?
Аноним 13/10/19 Вск 23:22:50 149604157
>>1496034
>CI/CD конфиги сам писал?
нет
>Что по тестированию?
на одном проекте юниттест, на другом-питест
моки-хуеки, все дела.
>В докер заворачивал приложение своё?
Конечно, с самого первого пет-прожекта.
>Постгрес в докере запустишь или на железке?
Ну понятно что по-хорошему надо на железе, но у меня нет админских скилов, так что просто подниму контейнер.
Мне не было повода изучать это - либо у нас отдельный человек занимается базой (и настройкой сиая кстати) либо я пишу свой петпрожект для себя, и там ничего не надо настраивать, ведь и так все работает. (хотя, кстати, однажды я угорел и прикрутил pgbouncer к своему телеграм-боту)

А еще я могу в типизацию.
Аноним 13/10/19 Вск 23:37:32 149605058
>>1496016
> Что мне еще надо для того чтобы получить свои 160к по приезду в Москву?
Научиться кодить? Я бы тебе максимум 50к заплатил за такие знания. А точнее их отсутствие.
Аноним 13/10/19 Вск 23:39:01 149605259
>>1496050
Я Большой Дядя с большой писей, черт ты галимый
"Заплатил бы" - будешь шлюхам рассказывать, сынуля. Тон блять нормальный подбери
Аноним 13/10/19 Вск 23:42:37 149605760
>>1496041
> нет
Есть куда расти.
> на одном проекте юниттест, на другом-питест
> моки-хуеки, все дела.
Ты писал? Смог бы с нуля накидать план тестирования и реализовать?
> Ну понятно что по-хорошему надо на железе
На той же где и веб-приложение?
> но у меня нет админских скилов
Есть куда расти.
> я пишу свой петпрожект для себя, и там ничего не надо настраивать, ведь и так все работает
Схуяли?
> А еще я могу в типизацию.
Можно я тебе отсосу?

Поясню кратко про что я:
Что бы получать 3к$+ тебе надо быть самостоятельной единицей. Принёс манагер бизнесс-требования и дал тебе платёжную карточку. Ты по бизнесс-плану накидал архитектуру приложения и спроектировал модели, потом пошёл на amazon/DO и купил там серваки под веб-приложение, если надо, ещё и под БД отдельный сервак купил(ну или у DO взял в аренду их постгрес и не паришься). Написал приложение, написал тесты для него, что бы спать спокойно(да, есть тестироващик, но я бы надеялся на себя). На гитхабе/гитлабе/битбакете настроил пайплайн. Подключил сентри. Настроил голый сервер с убунтой/дебианом под свои нужды. И это только начало пути, ибо дальше идёт поддержка, расширение и обновление.
Аноним 13/10/19 Вск 23:43:50 149605961
>>1496057
Ну про постгрес я погорячился, ибо тебе надо аргументированно выбрать БД, ведь может тебе типа КликХауса или Монги что-то надо, к примеру.
Аноним 13/10/19 Вск 23:45:08 149606162
>>1496052
Если ты не знаешь своей цены и что надо учить, то ты ещё не готов для нормальной работы. У нас таких как ты долго не держат. Если 2 года пинал хуи и потом идёшь на двачи спрашивать что ещё надо знать, то сразу всё понятно. Ты где-то на уровне студента, прочитавшего пару книжек и не понимающего что ему надо будет в реальных условиях знать.
Аноним 14/10/19 Пнд 00:08:12 149607463
>>1496057

>Ты писал?
Ну а как в 2к19 без тестов? Я просто ревью не пройду. Ты про юниты или ты мне предлагаешь на селениуме пописать? С ним у меня был конечно опыт, но я не очень-то стремлюсь быть человеком-оркестром.

>Смог бы с нуля накидать план тестирования и реализовать?
Ну а что там сложного? В идеале тестируем вообще все, но самое главное чтобы были функциональные тесты (реже надо рефакторить чем юниты) на самые основные функции, чтобы они ломались с большой вероятностью если что-то где-то неправильно. Пишем имиджборду - значит по-любому надо тестировать end-to-end создание нового треда с картинкой. Это будет 80% результата за 20% работы.

>На той же где и веб-приложение?
Я видел оба варианта на продакшене.

>Есть куда расти.
Я по-максимому хочу срезать углы. Типа не учить фронтенда, и т.д.

>Схуяли?
На своих петпроджектах обрабатывающих 1 запрос в час все мои базы работали прямо из докера.

>Можно я тебе отсосу?
Ну а я для кого старался?

>3к$+
Падажжи, это через годик, сейчас пока что 2к$+

>надо аргументированно выбрать БД
Мы собираем температуру по метеостанциям по всей стране? Если да - кликхаус (на отдельном микросервисе-мобирателе, как дополнение к основному постгресу), если нет, то постгрес. Монго не нужен, в постгресе есть джсонб с индексами.
Аноним 14/10/19 Пнд 00:22:01 149608364
>>1496074
> Ну а как в 2к19 без тестов?
Сложно, но практикуют некоторые, вот и спрашиваю.
Я не про селениум, не ссы.
> Я по-максимому хочу срезать углы. Типа не учить фронтенда, и т.д.
Ну CI/CD это всё же бэкэндовская задача, с фронтом всё ясно то.
> все мои базы работали прямо из докера.
А, ты про это.
Аноним 14/10/19 Пнд 00:44:42 149609465
>>1496083
>у CI/CD это всё же бэкэндовская задача, с фронтом всё ясно
У меня было в планах кубернетесы изучить. На что время лучше потратить?
Аноним 14/10/19 Пнд 01:42:05 149610766
>>1496057
>Поясню кратко про что я:
>Что бы получать 3к$+ тебе надо быть самостоятельной единицей. Принёс манагер бизнесс-требования и дал тебе платёжную карточку. Ты по бизнесс-плану накидал архитектуру приложения и спроектировал модели, потом пошёл на amazon/DO и купил там серваки под веб-приложение, если надо, ещё и под БД отдельный сервак купил
Ты про каких-то фрилансеров фуллстеков пишешь, которые в одном лице совмещают бэк, фронт, спецов по данным, тестеров, девопсов и менеджеров.
В реальности за такое не очень готовы платить, когда готовы, идут в ООО какое-нибудь или у себя команду специалистов собирают.
Аноним 14/10/19 Пнд 03:06:56 149613167
>>1496057
бред какой-то
кому такой кадр нужен, никто не поверит что он в одного все это сделает
Аноним 14/10/19 Пнд 05:37:46 149615268
photo2019-10-14[...].jpg (13Кб, 431x203)
431x203
>>1495973
Секвенсор, надо расставлять точки на дорожке и чтобы на где точка стояла игрался звук, допёр только до того чтобы каждую такую дорожку в отдельном потоке прогонять через цикл фор в поиске места где звук играется
Аноним 14/10/19 Пнд 05:53:20 149615569
>>1496152
Я же тебе писал туториал в ньюфаго треде, а ты его заигнорил.
Аноним 14/10/19 Пнд 07:56:25 149617370
Аноним 14/10/19 Пнд 10:17:40 149621471
в общем очередной вкатывальщик репортинг ин. в моем зажопье пока лишь 5 вакансий на питонщика ВООБЩЕ, про джунов я молчу. так вот ответили лишь 3, и лишь 1 компаха готова пригласить. ив самой вакансии и на собесе сказали что возможно придется изучить ruby и соответственно ruby on rails. так вот: стоит ли туда идти или вообще лучше не соваться т.к. это кал ебаный?
Аноним 14/10/19 Пнд 10:19:19 149621572
>>1496107
Ну нахуй, что из этого выходит за грани бэкэнда?
Если говорить все же о небольшой компании, т.к. у большой, чаще всего свое железо и его покупать не надо, нужно лишь отправить письмо.
>>1496131
Чому?

Аноны, не поверите, везде где был на собесах и везде где работал, спрашивали именно про это. Тесты/ci/cd/git/DB/Unix/docker. И не только лишь галеры были, но и продуктовые компании.

>>1496094
Кубернетосы ок, тоже надо. Но как по мне - я бы потратил время на ковыряние чистого линупса и траблшутинга. Что бы у тебя не вызывало проблем настройка чего-то вне докера, а так же решение различных траблов с системой.
Аноним 14/10/19 Пнд 10:19:31 149621673
>>1496214
Че умеешь, че знаешь? Мне как вялому вкатывальщику с мухосраней интересно, например
Аноним 14/10/19 Пнд 10:24:59 149622274
>>1496216
ну питон соответственно, sql, джангу и фласк (есть пара сайтов в портфолио на том и на том), html css соответственно чтобы это вывести. пока что на этом все.
Аноним 14/10/19 Пнд 10:25:27 149622475
>>1495419
a = "mochagovno"
for index in range(len(a[::2])):
print(a[index2: index2+2])
Аноним 14/10/19 Пнд 10:27:35 149622676
Аноним 14/10/19 Пнд 10:27:45 149622777
>>1496222
Чет изявое какое то
Аноним 14/10/19 Пнд 10:35:01 149623278
аноны в чем прикол эликсир и феникс фреймворков?
Аноним 14/10/19 Пнд 10:36:35 149623479
>>1496227
ну да. просто не ебу че еще надо на самом деле. читал книги по питону, по алгоритмам. хуй знает че еще надо. но видимо надо, раз меня там лишь одни готовы пригласить
Аноним 14/10/19 Пнд 10:43:36 149624480
>>1496234
Я бы пошел туда, похуй, даже за еду сидел бы там. Опыт бесценен.
Аноним 14/10/19 Пнд 13:51:08 149638581
Аноним 14/10/19 Пнд 14:03:07 149639282
Аноним 14/10/19 Пнд 14:09:03 149639683
>>1496392
Ты наверно и не читал.
>в то время как в документации на glob указано, что порядок вывода не гарантируется
Аноним 14/10/19 Пнд 14:19:25 149640184
Сегодня пришло письмо от конторы 'тестовое передано тимлиду', госпаде как же мне страшно, я же так хуево там все сделал, теперь сидит ржет надо мной и говорит 'не такого мы не возьмем', а потом еще и всем коллегам покажет тип 'смотрите какую хуйню настрочил аххах'
Аноним 14/10/19 Пнд 14:22:09 149640385
>>1496214
Мне бы тобой быть, у меня 2 вакансии всего, в одну 2 дня назад отправил тестовое жду ответа, хотя уверен что будет отказ, а во вторую вакансию нужен опыт + вышка ничего из этого у меня нет понятно хотя я все равно им кину, выбора то нет.
Аноним 14/10/19 Пнд 15:12:40 149643486
>>1496403
>Мне бы тобой быть
не говори так никогда. я жил во время учебы в такой залупе где вообще нет никаких айти контор и нет никаких курсов даже чтобы чему то научиться. сейчас кнч получилось съебать из своего дальнезалупинска в другой усть-пиздинск, где с этим делом получше, но все же будь у меня возможности во время моего обучения то дал бы по съебам с шараги сразу же и пошел кодить
Аноним 14/10/19 Пнд 15:23:12 149643987
>>1496214
мне кажется в твоём приложении выбирать не приходится
алсо имо рельсы перспективнее джанги которая вообще недоразумение какое-то
руби алсо няшнее питона
Аноним 14/10/19 Пнд 15:23:39 149644188
*положении
Аноним 14/10/19 Пнд 15:40:28 149645489
>>1496439
и чем же ? джанго у всех на слуху и пиздато из за того что там вообще все есть из коробки. если не ошибаюсь то даже в пхп чтобы прикрутить админку надо поебстись, в то время как в джанге она прикручивается одной консольной командой. а в рельсах что? алсо какие есть проекты известные сделанные на рельсах?
Аноним 14/10/19 Пнд 15:54:00 149646990
Бля, под виндой при включении длинных имен файлов на сколько они могут быть длинными? Или это баг питона? Проверяю существование файла, он не выкидывает эксепшен, но при попытке создать кидает. Причем руками через проводник с этим именем создаётся. Ну и ебень же. Пофиксить можно?
Аноним 14/10/19 Пнд 16:02:48 149647591
>>1496454
github? twitch? airbnb? кек
сколько тебе лет?
Аноним 14/10/19 Пнд 16:22:09 149649492
>>1496475
>github? twitch? airbnb?
чет нагуглить не могу. видел только инфу про твиттер. скинь ресурс
>сколько тебе лет?
а это так важно?
Аноним 14/10/19 Пнд 17:56:43 149654593
>>1496215
>Ну нахуй, что из этого выходит за грани бэкэнда?
Всё почти

Ты описал скорее админа-девопсника, а не программиста-бэкэндера.

У тебя так расписано, как будто "написать приложение" - это на час работы в одиночку. Ты видимо подразумеваешь, что берётся уже готовое приложение, и может чуть-чуть настраивается под себя. Но это не программирование.

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

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

Аноним 14/10/19 Пнд 18:45:07 149657394
>>1496434
Я из пгт на ~15к человек, там нет такого понятия как программист вообще, ток комплюторщик который меняет картриджи в принтере и получает дай бог 10-15к. Я как матери сказал что программистом буду устраиваться, она сказала 'госпади это же нищета зачем тебе это?', благо щас в миллионик переехал.
Аноним 14/10/19 Пнд 18:49:29 149657695
Вообщем я прошел собес в веб-студию, но они там работают с битриксом и владелец скинул мне курс пройти, и через неделю к ним идти уже работать, но щас подвернулся вариант получше, уже питонистом, как сообщить работодателю с первого места, повежливее, что я не пойду к ним работать? Сам он мужик неплохой, как то жалко его так опрокидывать, не могу же я сказать что нашел другую контору.
Аноним 14/10/19 Пнд 18:50:49 149657796
>>1496576
Так и скажи. Чем подробнее объяснишь ему тем больше добра ему сделаешь, потому что он узнает больше информации об окружающем мире и ему будет легче жить.

Аноним 14/10/19 Пнд 18:55:29 149658597
>>1496577
Я не смогу сказать что нашел место лучше, это жестковато, есть какие-то еще варианты, чтобы мы оба не сильно расстроились?
Аноним 14/10/19 Пнд 18:57:11 149658798
>>1496576
>>1496577
Ты же бы не хотел чтобы тебя в работе отказывали молча? Гораздо лучше когда тебе объясняют, что именно ты не умеешь, и каких скилов тебе недостает до желаемого заработка.
Аноним 14/10/19 Пнд 18:59:34 149658999
>>1496585
>смогу сказать что нашел место лучше, это жестковато, есть какие-то еще варианты, чтобы мы оба не
ЭТО БИЗНЕС

Безнес это как война, просто тут убивать нельзя.

Не говори ему, что его предложение о работе "херовое", это конечно обидно. Скажи детально что ты взвесил все плючы и минусы. Что другие технологии тебе интересны и т.п.
Аноним 14/10/19 Пнд 19:06:49 1496601100
>>1494130 (OP)
Сап, прогромач, вкатываюсь в прогинг, какую расцветку для IDE посоветуете? Тему надо брать темную, это я знаю, а какую подсветку синтаксиса намутить, чтоб было удобно и приятно глазу? Скиньте 16ричные коды цветов сюда
Аноним 14/10/19 Пнд 19:23:18 1496619101
Аноним 14/10/19 Пнд 19:31:26 1496628102
>>1496576
>>1496619
Аноны правы, просто скажи, что нашёл более интересное для себя направление, в котором ты бы хотел развиваться. Это нормально. Это даже когда ты с работы сваливаешь нормально, к этому обычно адекватно относятся.

Оскорбительно тогда, когда ты говоришь, что нашёл место, где всё тоже самое, но только условия лучше, платят лучше или сама фирма лучше. Особенно если для тебя люди уже что-то сделали и ты что-то пообещал.
Аноним 14/10/19 Пнд 19:47:22 1496639103
>>1494130 (OP)
Други, как в Пистоне сделать так, чтобы при достижении неким атрибутом определенного порога экземпляр класса автоматически удалялся?
Допустим self.count превысил значение 10, значит этот объект self должен удалится
Аноним 14/10/19 Пнд 20:33:14 1496676104
>>1496639
В __new__ сделай счетчик. И если достигается 10, то объект не создавай новый класс. Т.е. не вызывай super(...).__new__(args, *kwargs)
Аноним 14/10/19 Пнд 20:34:06 1496677105
>>1496601
>Тему надо брать темную
Кто тебе это сказал? Темную ночью или вечером хорошо. Светлую днем хорошо.
Аноним 14/10/19 Пнд 20:42:20 1496684106
Аноним 14/10/19 Пнд 21:10:56 1496713107
>>1496684
Ёпт, к чему такие сложности? Хуле не выйдет нормально удалить к чертям экземпляр?
Аноним 14/10/19 Пнд 21:29:41 1496732108
>>1496713
Зачем тебе его вообще удалять? Сделай декоратор, который чекает атрибут и посылает нахуй, если условие не выполняется.
Аноним 14/10/19 Пнд 21:32:05 1496733109
>>1496732
Генерируется большое количество подобных объектов, будет и удобнее с точки зрения юзера и с точки зрения производительности если ненужные объекты будут попросту удалятся автоматом как только счетчик переполнится
Смотрел на метод __del__ но хуй знает как через него заставить сборщик мусора гарантированно утилизовать экземпляр
Аноним 14/10/19 Пнд 21:38:23 1496743110
>>1496733
> с точки зрения производительности если ненужные объекты будут попросту удалятся
Поехавший что-ли? Кто тебя такому говнокоду научил?
Аноним 14/10/19 Пнд 21:42:05 1496750111
>>1496733
Оставь это сборщику мусора
Аноним 14/10/19 Пнд 21:44:17 1496752112
>>1496743
В С++ с деструктором бы прокатило

>>1496750
Я хочу сам вызвать этот сборщик и сказать ему что убирать. С weakref, возвращаемой методом __new__ было прикольно, но смотрится по-уебански конечно
Аноним 14/10/19 Пнд 22:40:28 1496822113
>>1496752
Постоянно создавать объекты и удалять - это пиздец говнокод. Это где угодно плохо. Просто пустая трата ресурсов. ООП придумали не для того чтобы под себя срать.
Аноним 14/10/19 Пнд 22:45:56 1496829114
>>1496752
>Я хочу сам вызвать этот сборщик и сказать ему что убирать
Сборщик вызывается gc.collect(). Любой del объект не удаляет, а помечает на удаление.
Смысла в таких действиях нет. Если твой объект хранит какой-то большой ресурс, типа numpy-массива на гигабайт, то достаточно просто сделать self.massiv = None. Если объект маленький - то проще просто забить.
С++ ты из питона все равно не сделаешь, он в любом случае медленный.
Аноним 14/10/19 Пнд 22:51:28 1496835115
>>1496822
И как тогда решать подобную проблему? Создать двухстороннюю очередь с приоритетом и удалять с левого края элементы, когда подходит их черед?
Аноним 14/10/19 Пнд 22:52:35 1496838116
Как получить информацию от целери, сколько таск памяти использует сейчас? Короче у меня такая проблема: целери много памяти использует. Одновременно воркер одну таску обрабатывает. Как можно узнать сколько памяти потребляется? Брать каждый воркер, по pid смотреть процесс, смотреть через psutil потребляемую память и у воркера запрашивать имя таска?
Короче инфа нужна примерно такая:
worker1 - task1 - 572Mb memory
worker2 - task7 - 41Mb memory
worker7 - task3 - 2Mb memory
worker12 - task1 - 112Mb memory
Аноним 14/10/19 Пнд 23:28:09 1496865117
>>1496835
Что такое "их черёд"?
Вот у тебя какой-то один объект работает с другим объектом, вызывает его методы и т.п. Ты предлагаешь, чтобы в какой-то момент рабочий объект уничтожался? И что должны делать те, кто с ним в этот момент работал?

Ты хочешь чего-то другого.
Тебе нужно держать специальный менеджер, в которым ты регистрируешь объекты, которые работают с дефицитным ресурсом. Скажем это сетевые соединения, кеш-память или что-нибудь ещё.
Объекты сигнализируют, что они живы и менеджер это учитывает. В момент Х менеджет вызывает для ненужных объектов специальный метод, и они сбрасывают кеши или закрывают соединения. Либо менеджер сам это делает.
Аноним 14/10/19 Пнд 23:30:17 1496866118
>>1496838
>Брать каждый воркер, по pid смотреть процесс, смотреть через psutil потребляемую память и у воркера запрашивать имя таска?
Это извращение. Посмотри скорее в сторону tracemalloc
https://docs.python.org/3/library/tracemalloc.html
Аноним 14/10/19 Пнд 23:47:00 1496884119
>>1496866
В таком случае я сырой дамп памяти получу и не смогу привязать значение памяти к конкретному воркеру.
Аноним 15/10/19 Втр 16:40:52 1497272120
В чём смысл моржового оператора из 3.8 версии? Это типо макросов из си? Если мы присваиваем выражение переменной, то потом это выражение будет выполняться каждый раз, когда мы эту переменную будем использовать? В ней будут разные значения тогда, разве это питоник вэй?
Аноним 15/10/19 Втр 17:18:36 1497299121
156826886912352[...].jpg (67Кб, 529x667)
529x667
>>1494130 (OP)
Ну что, питухонщики, ваше говно теперь официально превратилось в Паскаль

Новый оператор := позволяет присваивать значения переменным внутри выражений. Например:

if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
Аноним 15/10/19 Втр 17:24:00 1497302122
>>1497299
Go в паскаль превратился ещё раньше.
Что характерно, в самом паскале так сделать нельзя, там даже цепочек присваиваний нет, лол.
Аноним 15/10/19 Втр 17:28:01 1497307123
>>1497302
>Go в паскаль превратился ещё раньше
Петухун мало того, что оказался жалкой ООП пародией на Перл, так теперь зашкварился ГоПаскалем
Аноним 15/10/19 Втр 17:29:36 1497309124
>>1497299
>присваивать значения переменным внутри выражений
В С/Java/Perl да и в остальных это было всегда, тут преподносится как достижение
Аноним 15/10/19 Втр 17:45:03 1497312125
>>1497309
С чего вдруг чейнджлоги стали списком достижений?
Аноним 15/10/19 Втр 17:49:03 1497314126
>>1497312
>чейнджлоги стали списком достижений?
Т.е. ввести новый оператор, это так, чейнджлог? Вы там кукухой поехали?
Аноним 15/10/19 Втр 17:59:57 1497317127
>>1497314
Это ты поехал. Почему вдруг про := серишь, а про / даже не вспомнил?
Аноним 15/10/19 Втр 18:03:06 1497318128
>>1497317
>про / даже не вспомнил
А с ним что? Я про него не знаю
Аноним 15/10/19 Втр 18:12:53 1497322129
>>1497299
О, уже вчера официальный релиз 3.8 произошёл.

Про этот оператор давно известно было, что введут. Больше всего не хватало этой возможности. Реально не хватало. Теперь питон это язык богов, ещё только с GIL как-нибудь разобраться бы.
Аноним 15/10/19 Втр 18:49:19 1497342130
Вопрос нуба в треде. Допустим, я постепенно, медленными шагами пытаюсь учить Питон (не в сложности дело, просто мало времени и плохо его распределяю). На работе пару раз в месяц взаимодействую с богомерзким экселем, и ковыряю операции, которые выполнились бы куда быстрее, напиши я скрипт. Но я не умею его написать и думаю, стоят ли того потраченные на это килочасы времени, если я в дальнейшем вряд ли собираюсь связывать жизнь с экселем. По идее помогут как пример того как решать проблемы и т.д.?
Аноним 15/10/19 Втр 19:00:36 1497350131
>>1497342
Питон очень лёгкий, это явно не килочасы. Польза-то будет, не одним экселем питон жив.
Аноним 15/10/19 Втр 19:17:03 1497363132
Аноним 15/10/19 Втр 19:47:54 1497377133
14937640476370.jpg (2340Кб, 1260x1680)
1260x1680
>>1497299
Благословим же господа Гвидо, что нам не надо выделять память под переменную, если она не None.
Аноним 15/10/19 Втр 19:50:13 1497378134
>>1497350
Спасибо, анон. День хуевый, бугурчу на все и вот в минуту слабости подумалось, что нахуй.
Аноним 15/10/19 Втр 20:03:04 1497384135
аноны, а вот такой вам вопрос от нюфага: есть же всякие курсы где типо по окончанию изучения ты создаешь например какой то свой проект (аля выпускная работа) который типо у тя идет в портфолио и тебя с ним направляют к работодателю. так вот вопрос: как вы думаете что это за хуйня?
Аноним 15/10/19 Втр 20:04:58 1497388136
>>1497322
Тут многие не умеют в асинхронность, а ты про какие-то операторы.
Аноним 15/10/19 Втр 20:06:26 1497389137
Поясните за новый оператор /
Что-то не очень понимаю смысл его.
Аноним 15/10/19 Втр 20:07:48 1497390138
>>1497388
> Тут многие не умеют в асинхронность, а ты про какие-то операторы.
Пойдём выйдем, я тебе ебало разобью.
Аноним 15/10/19 Втр 20:10:33 1497391139
>>1497322
теперь стало проще хуяроить однострочники
Аноним 15/10/19 Втр 20:32:36 1497410140
>>1497389
Это дополнительные ограничения на передачу аргументов в функцию.

Вот ты определяешь функцию как
def foo(name, name2):
do_something()

потом ты ещё можешь вызвать как
foo('Ivan', 'Pupkin')

а можешь как
foo(name='Ivan', name2='Pupkin')

или
foo('Ivan', name2='Pupkin')

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

def foo(name, /, name2):
говорит о том, что ты name2 не может передавать с указанием имени аргумента.

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

Оператор "*" в параметрах, это явное требование указывать имена аргументов, куда более полезная, но он уже давно введён, даже не помню когда.
Аноним 15/10/19 Втр 20:37:19 1497418141
самофикс
>>1497410
>def foo(name, /, name2):
>говорит о том, что ты name2 не может передавать с указанием имени аргумента.
говорит о том, что name нельзя передать с указанием имени аргумента, только позиционно. Чтобы name2 нельзя было, надо писать
def foo(name, name2, /):
но тогда и name тоже нельзя, конечно. Позиционные всегда первыми идут.
Аноним 15/10/19 Втр 20:39:43 1497423142
мем.gif (5830Кб, 320x240)
320x240
Аноним 15/10/19 Втр 20:48:25 1497429143
>>1497418
А, понял. Какая-то очень специфичная штука, как мне кажется.
Пригодится, если например, у тебя api принимает аргументы именованные, а тебя петух клюнул переименовать. А сторонние сервисы не хотят менять имена. Ну не знаю, стоит ли оно вообще того.
Аноним 15/10/19 Втр 20:49:08 1497430144
>>1497423
>>1497384
> как вы думаете что это за хуйня
Это чтобы тебя на курсы заманить, не более того.

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

Направить тебя может направят, но не возьмут. Работодатель хорошо понимает, что за этими проектами ничего нет.
Аноним 15/10/19 Втр 20:59:29 1497441145
>>1497429
Мне тоже кажется, что очень специфичная. Может полезно иногда, чтобы за стилем оформления кода следить, чтобы не использовали лишний раз именованные переменные, сбивать может, когда код читаешь.

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

Может быть полезная штука, но пока реально не сталкивался, чтобы явно не хватало. А вот ":=" не хватало очень сильно.
Аноним 15/10/19 Втр 21:04:04 1497449146
>>1497430
то есть платные курсы сосут по всем фронтам у свободной инфы, докам, книжечкам, и /pr/ ? я правильно понимаю?
Аноним 15/10/19 Втр 21:22:31 1497465147
Аноним 15/10/19 Втр 21:36:32 1497483148
>>1497449
Не обязательно, они приличными могут быть. Но только никакие платные курсы никаких гарантий не дадут. Программистами за несколько месяцев не становятся. Да и не всем дано в принципе.
Аноним 15/10/19 Втр 21:41:29 1497488149
>>1497465
Это был его последний вздох.
Возвращаюсь на perl + c++
Аноним 15/10/19 Втр 21:43:34 1497491150
>>1497441
Во многих языках есть аналог :=, только обычно это просто =
Никогда не понимал в срачах аргументов "это не pythonic way". Да кого ебет какой этой вэй, если это удобнее.
Аноним 16/10/19 Срд 00:03:13 1497601151
>>1497491
на мой взгляд это идет перпендикулярно питоновскому дзену. далеко не улучшает читабельность, а наоборот плодит сложности.
Аноним 16/10/19 Срд 00:43:51 1497620152
>>1497601
В чем ухудшается читаемость-то?
if func():
для тебя тоже не читаемо что-ли?
Если следовать дзену, то можно остановиться в развитии. Даже комитет c++ понял это.
Аноним 16/10/19 Срд 01:11:49 1497636153
>>1494130 (OP)
Ребзя, что сейчас на петоне пишут? Стоит вкатываться?
мимо диван
Аноним 16/10/19 Срд 02:48:13 1497676154
1
Аноним 16/10/19 Срд 03:22:02 1497677155
Реально на питухоне запилить маленький скрипт, который будет позволять одним щелчком мыши открывать определённый набор программ и браузер с нужными вкладками? Заебало каждое утро на работе запускать скайп-хуяйп и прочие штуки. INB4 автозапуск прог на винде: просто хочу потренироваться в питонировании применительно к своей офисной бытовухе.
Аноним 16/10/19 Срд 04:28:04 1497688156
вопрос очень прост: современные GUI под питон?
Нравится идея с HTML, но конечно гемор некий тоже есть. Можно конечно не "современные", лишь бы была хотя бы базовая мультиплатформенность и внешний вид уровня Battle.net, Steam и в этом духе, как щас пишут на Java.

В общем, я все равно сейчас ищу, а что скажут опытные господа?
Аноним 16/10/19 Срд 04:55:35 1497690157
Аноним 16/10/19 Срд 05:12:32 1497692158
>>1497690
да, как вариант. Но интересно именно мнение тех, кто лично писал интерфейсы, на чем писал, какие выводы сделал.
Аноним 16/10/19 Срд 14:01:52 1497887159
Аноним 16/10/19 Срд 14:26:32 1497908160
>>1497887
Ебать ты быстрый. Быстрее Питона.
Аноним 16/10/19 Срд 14:51:51 1497926161
>>1497636
Бекенд, дата саенс, различная скриптота вроде девопса.
Даже если основной твой язык будет не питон, от питона всё равно будет немало пользы.
Аноним 16/10/19 Срд 14:53:59 1497932162
>>1497677
Это пишется настолько элементарно, что вообще не интересно.
import os
os.system("прога1")
os.system("прога2")

Придумай задачу получше.
Аноним 16/10/19 Срд 15:14:16 1497942163
Кароч сегодня позвонили с конторы, которой я тестовое отправлял, менеджер сказал что тимлиду понравилось, но по техническим причинам они в данный момент не ищут работников, но вакансия снова откроется где-то в начале-середине ноября, так вот что это такое вообще это нормально? Компания крутая у нее офисы в дс сам я из миллионика и заграницей есть очень хотел бы туда попасть, но не знаю как поступить дальше сычевать и ждать когда пригласят или пойти куда-то работать?
Аноним 16/10/19 Срд 15:18:17 1497946164
>>1497908
Ну не стукай, всего два дня прошло. Для меня интерпритатор залочен был, только сейчас освободился.
Аноним 16/10/19 Срд 15:19:44 1497948165
>>1497942
Жди, ближе к выходным позвонят (и снова скажут, что очень понравилось).
Аноним 16/10/19 Срд 15:25:17 1497957166
Теперь если вставить где-то моржовый оператор, то скрипт не заведется на всех прошлых версиях третьего питона?
Аноним 16/10/19 Срд 15:35:40 1497966167
>>1497957
Не заведётся, конечно.
Аноним 16/10/19 Срд 15:37:25 1497970168
>>1497957
Ну попробуй вставить себе моржовый клык и подойти к мамке, узнает ли она своего сына, сможет относиться к тебе так же как раньше?
Аноним 16/10/19 Срд 16:10:00 1497983169
В Пеетоне нет инкрементов!
Аноним 16/10/19 Срд 16:34:59 1497995170
Аноним 16/10/19 Срд 16:44:38 1498004171
Аноним 16/10/19 Срд 18:12:13 1498062172
насколько хорош и устойчив к нагрузкам aiohttp,пытался в swoole-гавнина с кучей подводных
или node.js,
Аноним 16/10/19 Срд 19:35:04 1498124173
Гайс, смотрите, есть цель: написать бота, который будет участвовать в чате на сайте, просто здороваться, говорить что-то и всё. Сайт написан не на питоне, чат тоже. Есть возможность это реализовать своими силами? Селениум мб тут поможет?
Доступ к сайту и помощь обеспечат, если что, но мне это не очень поможет, тк я не знаю языка, на котором оно всё написано, и меня интересует выполнить задачу без внедрения в код сайта.
Аноним 16/10/19 Срд 19:55:18 1498136174
>>1497942
Хех, чувствую, к началу-середине ноября им понадобится ещё одно "тестовое".
Аноним 16/10/19 Срд 20:05:44 1498143175
performance.png (18Кб, 1766x748)
1766x748
>>1498062
Надо всё на асинхронные альтернативы переводить. А иначе отсос.
Аноним 16/10/19 Срд 20:08:16 1498145176
>>1498124
>Селениум мб тут поможет
Да, и AutoIt
Аноним 16/10/19 Срд 20:09:48 1498147177
>>1498143
для большинства задать и по старинке можно
Аноним 16/10/19 Срд 20:19:54 1498156178
Расскажите, как свои саблаймы прокачивали. Я поставил sublimeREPL, но для разных виртуальных окружений приходится в кей биндингс менять путь. Есть какие-то более модные способы?
Аноним 16/10/19 Срд 21:02:24 1498191179
Аноним 16/10/19 Срд 21:11:16 1498199180
15711717407560.jpg (99Кб, 720x450)
720x450
Аноним 16/10/19 Срд 21:40:25 1498216181
>>1498156
PyCharm Community Edition. Супер мощно, опенсорсно и бесплатно
Аноним 16/10/19 Срд 22:22:15 1498235182
>>1498124
PySide2 - это привязка к Qt, самая новая и официально поддерживаемая разработчиками. В комплекте идет qtdisigner, в нем можно накидать форму, а в питоновском файле писать только логику для нее. Можно использовать документацию Qt, она у них очень хорошая.
https://wiki.qt.io/Qt_for_Python


WxPython - это привязка к WxWidget. Тоже хорошая вещь, там стараются использовать нативные виджеты системы, поэтому приложение будет гармонично смотреться на разных ОС. Так же есть возможность накидать форму в спец приложении, а в питоновском файле писать только логику.
https://wxpython.org/


Tkinter из стандартной библиотеки малость устарел, но для небольших вещей довольно-таки неплох


Это из того, что пробовал. А так вариантов очень много, включая возможности использовать веб-технологии для десктопа

https://github.com/vinta/awesome-python#gui-development

https://python.libhunt.com/categories/290-gui
Аноним 16/10/19 Срд 22:35:32 1498244183
>>1498216
Там же вроде какие-то ограничения на поддержку html и js.
Аноним 16/10/19 Срд 22:45:39 1498249184
Какие есть варианты собрать портабельное приложение на питоне со встроенным интерпретатором? Я не говорю про компиляцию в бинарь, просто чтоб можно было притащить на флэхе и запустить скрипт.
Аноним 16/10/19 Срд 23:01:55 1498261185
Аноним 16/10/19 Срд 23:10:02 1498264186
image.png (12Кб, 332x217)
332x217
Есть один текстовый файл. В него поступают данные в формате списка, где элементы равны 'число' + '\n'. Иногда '\n' нет, и нужно что бы тогда '\n' добавлялось в конец элемента списка при обработке файла. Как это сделать? сука голову сломал
Аноним 16/10/19 Срд 23:21:02 1498275187
>>1498264
a = a.rstrip() + '\n'

это удалит и \n, и пробелы справа
если нужно сохранить пробелы, но вдруг, то
rstrip('\n')
Аноним 16/10/19 Срд 23:21:47 1498276188
>>1498275
a[k] = a[k].rstrip() + "\n"

i съедается как разметка
Аноним 16/10/19 Срд 23:22:51 1498277189
>>1498216
На моём ноутбуке пайчарм открывается две минуты, заебало, я же помню, что в этом треде когда-то обсуждали редакторы и были аноны, которые себе саблайм настроили
Аноним 16/10/19 Срд 23:23:57 1498279190
>>1498261
А как с pyinstaller собрать так, чтобы на хостовой машине можно было без установки питона нужной версии работать? Вот чтобы и интерпретатор питона в экзешник?
Аноним 16/10/19 Срд 23:27:08 1498287191
>>1498264
а если в одну строчку всё решение, то
b = [s.rstrip() + '\n' for s in a]
Аноним 16/10/19 Срд 23:30:16 1498291192
>>1498287
>>1498264
точнее для твоего ТЗ
[str(s).rstrip() + '\n' for s in a]
но ты это и сам понял
Аноним 17/10/19 Чтв 00:29:05 1498309193
9znNHFo5YUA.jpg (101Кб, 538x807)
538x807
Питоны, пытаюсь смоделировать на коленке фласк сервер с клиентом.
Они работают параллельно: клиент посылает запрос с json'ом, сервер что-то отправляет в ответ - значение или тоже json.
Не пойму, так или не так? Что доделать?
https://ideone.com/YKwKqF
Аноним 17/10/19 Чтв 00:37:48 1498313194
>>1498136
Думаешь они за счет меня какой-то таск закрыли?
Аноним 17/10/19 Чтв 00:54:52 1498317195
Аноним 17/10/19 Чтв 06:19:53 1498367196
Аноним 17/10/19 Чтв 10:03:23 1498456197
>>1498309
о, а я тебя помню
Ты неправильно юзаешь target. В target передаётся ссылка на вызываемую функцию, а ты передаёшь ссылку на результат вызова функции. Объяви две функции, в одной принть результат send_data, а в другой - просто вызывай app.run(). Затем укажи эти функции в rarget.
Аноним 17/10/19 Чтв 10:08:51 1498457198
Аноним 17/10/19 Чтв 10:48:32 1498499199
>>1498309
Пиздец. Во-первых, requests уже протух и это говно не надо использовать. Во-вторых, зачем тебе Фласк, если есть простые и быстрые клиент/сервер aiohttp?
Аноним 17/10/19 Чтв 10:49:06 1498501200
>>1498456
"Это так мило.
Спасибо, как-то так?
def f1():
--app.run(host= '0.0.0.0',debug=True)

P1 = Process(target=f1)
P1.start()
P2 = Process(target=send_json({"title":"Read a book"}))
P2.start()


> в одной принть результат send_data
>принть
A это зачем?
Аноним 17/10/19 Чтв 10:49:34 1498502201
>>1498499
>зачем тебе Фласк
Для прототипирования.
Аноним 17/10/19 Чтв 11:00:39 1498506202
на hexlet норм курсы?
Аноним 17/10/19 Чтв 11:09:55 1498512203
>>1498501
Вроде того.

send_json, конечно. С ним аналогично, его вынести в функцию f2(), её передать в target.

Можно и не принтить, но ты же хочешь увидеть, что сервер вернул нужные данные?
Аноним 17/10/19 Чтв 11:14:49 1498514204
>>1498512
>С ним аналогично, его вынести в функцию f2(),
Т.е. функция в функции?
> ты же хочешь увидеть, что сервер вернул нужные данные
И куда это ставить? В f2?
Аноним 17/10/19 Чтв 11:22:29 1498516205
Untitled.png (44Кб, 779x559)
779x559
Молю, вас скажите что они хотят от меня. Не могу перевести условия задач.
Аноним 17/10/19 Чтв 11:23:34 1498517206
>>1498516
4-е задание и в 3-ем последнее предложение
>Caller should do the printing
что это значит? вызывающий должен сделать печать. Печать чего блядь?
Аноним 17/10/19 Чтв 11:49:15 1498529207
>>1498499
А что использовать вместо requests?
Аноним 17/10/19 Чтв 12:30:59 1498548208
аноны, реквестирую вашу помощь. прислали задание на питонщика-тестировщика. и вот такая последовательность: создать бд в оракл, затем зарегать ее в datasunrise, затем создать правило маскиннга с маскировкой первых двух символов строки, далее уже написать код проверки корректности работы этого правила маскинга, и потом еще написать код проверки того что в списке events появилось событие маскировки, а внутри сохранились замаскированные данные. все это надо выполнить в виде python скрипта. так вот вопросы: где найти хоть какую то инфу по этой дата санрайз и по маскингу и стоит ли ваще так ебаться ради этой галеры и обещаний в 35 килорублей?
Аноним 17/10/19 Чтв 12:32:47 1498549209
>>1498548
это наёбка. ты щас сделаешь они тебе перезвонят, потом, ага. нахуй шли сразу, портофлию испытательный срок и пусть нахуй идут.
Аноним 17/10/19 Чтв 13:54:37 1498578210
>>1498549
в плане наебка? объясни, анон, прошу. а то я нюфаг и во всем этом не очень догоняю
Аноним 17/10/19 Чтв 13:56:50 1498581211
>>1498578
ты делаешь дохуясложное задание, они используют твою программу. вот и всё. ну бывает что тупо нужна программа на раз, а на программиста денег нет, тогда и создают вакансию с тестовым заданием.

ну у тебя может и не наёб зарплата низкая, обычно на таких должности ещё обещают 300кк в наносек, чтобы задроты упорнее кодили
Аноним 17/10/19 Чтв 13:57:42 1498582212
>>1498578
а вообще тесты это хуйня. у тебя должно быть портфолио твоих шидевров и вот по ним в первую очередь должны ориентироваться. а не давать тебе тестовые бесплатные проекты на неделю.
Аноним 17/10/19 Чтв 14:13:01 1498588213
>>1498581
вот и я тоже так думаю. в этом и трабл.
>>1498582
я его пока что допиливаю чтобы на гитхаб залить и затем уже в свое резюме. так что это оки
Аноним 17/10/19 Чтв 14:15:35 1498589214
У меня есть простой сервер с сайтом на сокетах. Я его запускаю, и начинаю в браузере что-то делать, переходить по страницам там и всё нормально, браузер коннектится и присылает обычные хедеры с запросом и урл.
Но если подождать минуту ничего не делая и обновить страницу, то браузер коннектится и присылает пустую строку, так и должно быть? Что это и зачем?
Аноним 17/10/19 Чтв 14:17:10 1498590215
>>1498588
ну и шли их нахуй. эта ёбаная россия нищая где работодатели издеваются натурально над своими работниками. здесь везде будешь постоянно не соотвествовать и всё вечно будешь недостоин. шли нахуй страну эту ёбаную.
Аноним 17/10/19 Чтв 14:20:31 1498592216
code.png (8Кб, 985x212)
985x212
code1.png (10Кб, 657x129)
657x129
Аноны, насколько мой код говнокод? Можно ли как-то это записать с использованием меньших количеств переменных, с меньшим использованием циклов или нормально? Да я знаю про find и прочие встроенные для строк функции, у меня цель была писать на максимально самопальных функциях.

Только не кидайтесь безпричинно гавном типа "твой код гавно потому что ты пидор" тыкайте пальцем где именно я проебался и как можно было бы проще.
Аноним 17/10/19 Чтв 14:23:46 1498595217
>>1498589
Ну то есть не пустую строку, а набор байт, который мне отображается как b''. Ну и после этого ещё раз коннектится, но уже с запросом. Это типо хром мониторит, работает ли ещё сервер? А почему он сразу этого не делает, а только после простоя?
Аноним 17/10/19 Чтв 14:31:35 1498602218
>>1498595
питоаноны подскажите что это значит.

[i for i in array[1:] if i > a]

особо интересно что такое i for i / [1:]
Аноним 17/10/19 Чтв 14:34:08 1498603219
>>1498602
это цикл какой-то сложный со сравнением. а скобки стоят в контексте чего? или они сами по себе?
Аноним 17/10/19 Чтв 14:35:09 1498604220
>>1498603
там впереди еще массив куда этот массив погружается типо:

someArray = [i for i in array[1:] if i > a]
Аноним 17/10/19 Чтв 14:36:34 1498607221
>>1498604
В массив войдут все элементы из array, начиная с первого индекса(по русски -- со второго элемента), которые больше, чем а
Аноним 17/10/19 Чтв 14:38:37 1498610222
Аноним 17/10/19 Чтв 14:40:38 1498611223
>>1498610
Короче, гугли list comprehension и slices.

А вопрос про хром так и остаётся. В панеле разработчика вот эти коннекты пустые не отображаются, только нормальные запросы
Аноним 17/10/19 Чтв 14:41:21 1498613224
>>1498581
Шедевр спиздить можно, а тестовое проверяет твои знания или способность быстро разобраться с задачей, которую ты первый раз видишь.
Аноним 17/10/19 Чтв 14:45:39 1498615225
>>1498613
тест можно и по проще дать, а не проект недельный.
Аноним 17/10/19 Чтв 14:48:47 1498616226
>>1498613
да с предыдущими тестовыми то у меня так и было, где рили проверяли мои знания и вот задачу которую первый раз видишь
>>1498615
удваиваю этого. хрюша как раз сказал что задание на неделю рассчитанно))
Аноним 17/10/19 Чтв 15:34:41 1498646227
>>1498592
У тебя не количество слов с буквой E считает, а количество букв E в тексте. Нужно пофиксить.
Аноним 17/10/19 Чтв 16:05:27 1498679228
>>1498615
Ну можно попроще, но тестовое это нормальная процедура.
Аноним 17/10/19 Чтв 16:30:01 1498706229
>>1498679
нормальная, но никогда в виде тестового выступает какой-нибудь охуительный недельный проект. это плевок в ебало. это как придёт допустим человек дальнобойщиком устраиваться, а ему скажут: ну ты съезди в один раз на 2000км, бенз и всё остальное за своё счёт и мы посмотрим устраивать тебя или нет.
Аноним 17/10/19 Чтв 16:30:37 1498707230
>>1498679
это как блядь на завод прийдти и тебе скажут "ну ты это отработай неделю у нас бесплатно, а мы посмотрим и решим брать тебя или нет"
Аноним 17/10/19 Чтв 16:46:13 1498717231
Так нужно же эти тестовые задания себе на гитхаб выкладывать, разве нет? Был бы ещё один проект, легче было бы устраиваться
Аноним 17/10/19 Чтв 16:47:41 1498720232
>>1498717
Зависит от требований. Гитхаб вкатывальщиков мало что говорит, потому что ты все это спиздить мог
Аноним 17/10/19 Чтв 16:52:26 1498724233
>>1498720
А история коммитов? Её конечно можно подделать, но это муторно, вставлять кусками.
Да и чего тогда все говорят про то, что необходимы свои работающие проекты?
Аноним 17/10/19 Чтв 16:58:43 1498729234
Аноним 17/10/19 Чтв 17:22:27 1498740235
>>1498707
Лол такая практика много где приветствуется, про бесплатную стажировку слышал? ты там месяц за бесплатно работать можешь.
Аноним 17/10/19 Чтв 17:49:28 1498749236
>>1498592
Чо, даже split() нельзя юзать?
Аноним 17/10/19 Чтв 17:51:58 1498752237
>>1498592
А теперь вставь в инпут вот такую строку и чекни "abc deeeeeeeee hui.!"
Аноним 17/10/19 Чтв 17:56:16 1498757238
Untitled.png (9Кб, 1305x198)
1305x198
>>1498740
так я не стажёр и не ньюфаня какой-то.

>>1498749
вот пофикшенная версия. он хорошо список сделал, но проебался с подсчётом слов с буквой E

Аноним 17/10/19 Чтв 18:13:53 1498763239
>>1498757
lower() используй. Все равно ты в конце не вводишь строку.
Аноним 17/10/19 Чтв 18:18:17 1498765240
Аноним 17/10/19 Чтв 18:48:48 1498776241
>>1498765
Чтобы считало слово с "е" и с "Е". "End me" засчитает только одно слово.
Аноним 17/10/19 Чтв 18:57:18 1498781242
>>1498776
Так это ты мне не скажи, а ему. Я просто посмотрел на его код и переписал по-своему. С подключением string
Аноним 17/10/19 Чтв 19:08:47 1498783243
>>1498757
>так я не стажёр и не ньюфаня какой-то.
То есть у тебя есть уже опыт работы и тебе дают тестовое лол?
Аноним 17/10/19 Чтв 19:15:07 1498785244
image.png (127Кб, 1215x860)
1215x860
У вас тут соревнование по однопроходным алгоритмам? Вот вам чисто однопроходное решение, без сохранения элементов в строку-слово.
https://ideone.com/tHncr3
Аноним 17/10/19 Чтв 20:04:26 1498803245
>>1498724
Ещё более муторно разбираться со всем этим "проектом" и коммитами.

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

>>1498740
Тестовое это не стажировка. На стажировке ты учишься внутри индустрии, видишь изнутри, как что работает, пробуешь сам, тебе объясняют, что ты делаешь не так и т.п.

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

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

Но другой вариант есть. Вот я не умею работать с Оракл, может в проекте вдруг понадобилось. Начинать разбираться самому тяжело. Как поступить? Можно раздать тестовые задания под якобы открытую вакансию, посмотреть на идеи и подходы к решению. Можно ещё кого на собеседование пригласить, пусть расскажут идеи какие-то, свои подходы к решению, можно непонятные вопросы задавать. Потом всех послать и уже работать самому, получив какой-то багаж идей и подходов. Так практикуется.
Аноним 17/10/19 Чтв 20:15:27 1498812246
>>1498785
> цикл
> однопроходное
Что?
Аноним 17/10/19 Чтв 20:22:07 1498815247
>>1498812
Однопроходный алгоритм -- это когда по вводным данным один раз проходит, дурашка. В таких алгоритмах главный плюс -- можно входные данные не сохранять. То есть вообще. Мы, например, можем не давать строку функции, а вводить каждый раз просто по одному символу, и эти символы нигде не будут записываться.
правда я в моём алгоритме сделал под строку, когда в конце проверяю, последний ли это элемент. По нормальному эта проверка должна происходить каждый раз, когда поток информации кончается.
Аноним 17/10/19 Чтв 20:28:00 1498817248
пидор.png (25Кб, 1106x456)
1106x456
пидор 2.png (45Кб, 1292x778)
1292x778
пидор 3.png (30Кб, 1281x356)
1281x356
>>1498812
давайте вот щас не будете срачь здесь начинать и придираться к словам как на этих форумах погромистких с дегенератами. я сразу говорю что я не он кому это писал.

На днях видел один топик http://www.cyberforum.ru/cpp-beginners/thread2221660.html, уебан там какой-то указал что в строках при сравнении А > a, хотя на самом деле a > А. Ему сказали мол ты не прав и пруфы дали, так этот пидрила как и подобает компьютерному чсвшному задроту сказал "ряяя это писали домохозяйки у меня всё правильна" в итоге ему под конец темы объяснили что этот гнидёншь обосраный и он это таки признал. Как же такие кадры бесят, которые начинают к словам придираться, споры какие-то устраивать хотя сами просто эникейное гавно которое общается так будто он серый кардинал над нашим миром. Уебал бы всех погромистов которые начинают эти ебанутые споры.
Аноним 17/10/19 Чтв 20:28:37 1498818249
>>1498817
запятую в конце ссылки удалите, если не открывается. я проебался со вставкой.
Аноним 17/10/19 Чтв 20:30:10 1498819250
>>1498817
ещё этот уебан всех обосрал в конце что все виноваты в чём-то. как же бесят подобные, ему блядь в лоб прямо тычешь пруфом, а он "А НЕТ А ЭТО НЕПРАВИЛЬНО ИДИОТЫ ДЕБИЛЫ ПИСАЛИ" сука с ноги бы в щи этому задроту.
Аноним 17/10/19 Чтв 20:34:51 1498826251
>>1498757
>твой код гавно потому что ты пидор

>>1498592
>тыкайте пальцем где именно я проебался и как можно было бы проще.
Например используй регулярки
получить все слова
words = re.findall(r"\w+", text)
дальше можно отфильтровать вхождения с "e"
первый вариант
e_words = [w for w in words if "e" in w]
или так
e_words = list(filter(lambda w: "e" in w, words))
или просто тупо сосчитать
count = 0
for w in words:
if "e" in w:
count += 1

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

зачем у тебя new_text заполняется?

Очевидные баги в твоём коде - если будет два пробела подряд, у тебя счётчик слов увеличится. Не только это.

Если именно так ТЗ ставить, то тебе надо завести счётчики
total_words = 0
total_e_words = 0
current_word_length = 0
current_word_e_entries = 0

дальше цикл по буквам из потока.
for letter in stream:
if letter in " \n'\".,-;()[]0123456789":
if current_word_length > 0:
total_words += 1
if current_word_e_entries > 0:
total_e_words += 1
current_words = 0
current_e_words = 0

аналогичную проверку надо не забыть сделать и по окончанию цикла.

Ещё твой print лютый пиздец, нельзя так строки форматировать
print("Your text contain {} words, of which {} words contains 'e'".format(total_words, total_e_words))




Аноним 17/10/19 Чтв 20:35:50 1498828252
>>1498817
Там же всё просто. a>A потому что аски код строчной буквы больше аски кода заглавной. О чём спорить-то?
Аноним 17/10/19 Чтв 20:36:31 1498830253
>>1498828
на скринах видишь, дебил просто отказывался это принимать говорил врёти.
Аноним 17/10/19 Чтв 20:37:51 1498832254
>>1498817
>>1498819
Ты переработался, тебе пробздеться надо. Вот смотри какая скромная школьница в начале видоса в с++ вкатывается
https://youtu.be/u_ij0YNkFUs
Аноним 17/10/19 Чтв 20:40:12 1498839255
>>1498832
это на видео у тебя бьёрн страуструп? алсо перед вкатом в си хорошо бы было хотя бы уметь переводить двоичное число в десятичное и обратно.
Аноним 17/10/19 Чтв 20:41:29 1498841256
Аноним 17/10/19 Чтв 20:41:37 1498842257
>>1498199
Тогда, emacs с соответствующими плагинами
Аноним 17/10/19 Чтв 20:42:15 1498844258
1st.png (2Кб, 383x59)
383x59
2nd.png (7Кб, 444x131)
444x131
Приветствую. Почему в первом случае f.readlines() выводит заполненный список, а во втором случае пустой список?
Аноним 17/10/19 Чтв 20:42:42 1498845259
Аноним 17/10/19 Чтв 20:45:29 1498851260
>>1498839
>хорошо бы было хотя бы уметь переводить двоичное число в десятичное
Не знаю о чём ты, я закрыл видео, когда натрапик ушёл из кадра.
я на с++ только в вузе писал и теперь слушать про него даже не хочется
Аноним 17/10/19 Чтв 20:46:36 1498853261
Аноним 17/10/19 Чтв 20:47:16 1498856262
>>1498851
мужик похож на бьёрна страуструпа он создатель C++ один из немнгих нормальных людей в айти и не занимается самопиаром как всякие торвальдсы-хуёрвальдсы. реальный специалист и не вниманеблядь с чсв. он ещё книгу к своему языку написал очень годную.
Аноним 17/10/19 Чтв 20:47:46 1498858263
>>1498844
Указатель смотрит на конец файла, ведь ты уже его прочел readlines'ом.
Аноним 17/10/19 Чтв 20:48:33 1498859264
>>1498845
Я уже настроил как получилось. Поставил ide внутри саблайма Anaconda, хотя я из её возможностей почти всё поотключал. В принципе удобно работается, открывается моментально, жрёт где-то 100 мб оперативы
Аноним 17/10/19 Чтв 20:56:46 1498869265
>>1498858
Сорри, не совсем догнал. Можешь подробнее, пожалуйста?
Аноним 17/10/19 Чтв 21:07:32 1498875266
14447488720180.webm (1600Кб, 540x360, 00:00:24)
540x360
>>1498841
Я не знаю, как заставить это говно нормально работать.
Чтобы клиент нормально слал ссаный жсон, а сервер ему отдавал.
https://ideone.com/EjMSnY
Поможите, чем можите.
Аноним 17/10/19 Чтв 21:23:02 1498889267
image.png (8Кб, 444x131)
444x131
>>1498869
Где красным подчеркнуто, у тебя вычитывается весь файл, указатель на позицию в файле указывает на его конец, читать больше нечего. Когда ты делаешь f.readlines в конце, считывается 0 байт.
Аноним 17/10/19 Чтв 21:23:59 1498890268
>>1498875
очередной сайтаделатель веб погромист.

а щем ваш славик промышляет? А ОН САЙТЫ ДЕЛАЕТ))))
Аноним 17/10/19 Чтв 21:25:49 1498893269
>>1498890
Мимо, малыш.
Но если не можешь подсказать, не смею тебя задерживать.
Аноним 17/10/19 Чтв 21:27:03 1498895270
>>1498893
>малыш
за углом поссышь
Аноним 17/10/19 Чтв 21:28:01 1498898271
>>1498889
Теперь понял, спасибо. А чтобы обратно каретку в начало файла сдвинуть что нужно, заново файл открыть?
Аноним 17/10/19 Чтв 21:29:25 1498899272
>>1498875
Выкинь уже это говно и запили на aiohttp.
Аноним 17/10/19 Чтв 21:30:18 1498901273
>>1498898
Можно сделать f.seek(0)
Аноним 17/10/19 Чтв 21:30:19 1498902274
>>1498899
С ним ещё разбираться.
Мне надо чтобы написанный код заработал.
Аноним 17/10/19 Чтв 21:46:46 1498910275
можно ли для повышения производит сайта соединить допустим 5 aiohttp?
Аноним 17/10/19 Чтв 21:49:03 1498912276
Аноним 17/10/19 Чтв 21:50:45 1498913277
Аноним 17/10/19 Чтв 21:54:34 1498915278
Я однажды 5 aiohttp
Аноним 17/10/19 Чтв 22:01:51 1498916279
Аноним 17/10/19 Чтв 22:28:15 1498931280
5a6e7df1.jpg (43Кб, 799x602)
799x602
Запилил простеньки файловый сервер на фласке для картинок. Работает локально, раздаю порно картинки. Пока тянка сидит сериал смотрит,я иду передернуть в туалет.
Еще думаю для mp4 и webm раздачу сделать и вообще буду доволен. Даже на гитхаб залью.
Аноним 17/10/19 Чтв 22:46:54 1498938281
Вот там выше анон не знает как во фласке json отправить, а у меня другой вопрос: Можно ли как-то через tcp сокеты отправить json так, чтобы браузер сразу понимал, что это json?
Нужно как-то json в байты закодировать, я так понимаю, не знаю как
Аноним 17/10/19 Чтв 23:05:52 1498941282
>>1498916
Ну где вы, гуру фласка?
Аноним 17/10/19 Чтв 23:27:55 1498947283
>>1498938
Всё, разобрался с тупым вопросом, я просто в командах jsona запутался
Аноним 17/10/19 Чтв 23:37:36 1498953284
>>1498875
Передавай в target ссылку на функцию, а не результат её вызова.
Вместо
P1 = Process(target=start_server())
Нужно:
P1 = Process(target=start_server)
Так же с P2.

И ещё кое-что. Так как у тебя потоки запускаются почти одновременно, почти наверняка сервер ещё не запустится, а клиент уже пытается ему послать запрос. Конечно, вывалится исключение. Решение в лоб - перед P2.start() добавить задержку, скажем, так: time.sleep(1).
Аноним 17/10/19 Чтв 23:41:09 1498954285
>>1498938
HTTP-сервер работает поверх TCP-сокетов. Соответственно, тебе нужно написать свой HTTP-сервер с нуля, который сам будет обрабатывать запросы и слать в ответ что угодно, хоть json в виде байтов. Вопрос, конечно же, теоретический? Писать свой веб-сервер - не самое простое дело, да и не самое полезное.
Аноним 17/10/19 Чтв 23:41:17 1498955286
>>1498953
127.0.0.1 - - [17/Oct/2019 hh:mm:ss] "POST /api/v1.0/projects HTTP/1.1" 404 -
Аноним 17/10/19 Чтв 23:54:37 1498970287
>>1498954
Это я знаю, да и я уже написал. Просто он у меня отправлял html простые, а мне захотелось отправлять json как тот анон. Я вообще так и сделал, сначала кодирую словарь в json через json.dump() потом json в байты через .encode() и прилепляю байты к хэдэру.
Аноним 17/10/19 Чтв 23:57:59 1498973288
>>1498955
На сервере нет такого роута, ты его не обрабатываешь. Ты обрабатываешь только /api/add_message/<uuid>

Например, можно слать такой запрос, ответ будет успешным:
def send_json():
____return requests.post("http://127.0.0.1:5000/api/add_message/123", json={"title":"Read a book", "mytext":"foobarbaz"})
Аноним 18/10/19 Птн 00:03:28 1498977289
>>1498973
Спасибо.
У тебя будет ещё минут 20?
Сейчас он выдаёт:

* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
foobarbaz
127.0.0.1 - - [17/Oct/2019 hh:mm:ss] "POST /api/add_message/123 HTTP/1.1" 200 -

То есть вроде как работает, но при нажатии http://0.0.0.0:5000/ в браузере нихера нет. Ведь сервер по идее тоже что-то должен выдать.
Аноним 18/10/19 Птн 00:09:57 1498980290
>>1498977
Он и выдаёт, что страница не найдена. Если сервер не запустить, браузер напишет что-то типа "не удалось подключиться". Опять же потому, что роут "/" не обрабатывается.
Можно в браузере перейти на
http://127.0.0.1:5000/api/add_message/123
Тогда загрузится. Но ругнётся, что не передаёшь нужные данные.
Аноним 18/10/19 Птн 00:12:55 1498985291
>>1498980
Как всё сложно.
А если у меня будет не один json, а несколько? Посылаемых друг за другом и на каждый надо дать ответ, как тогда это представить?
Аноним 18/10/19 Птн 00:18:03 1498987292
>>1498970
Алсо, вот я сервер забиндил слушать все подключения, я могу подключиться к нему с самого компа и из локальной сети. Но из интернета на внешний айпи не подключается. Это браузеры отказываются отправлять запрос? Нужен какой-то особый порт для такого?
Аноним 18/10/19 Птн 00:18:59 1498989293
>>1498985
Для примера можно добавить в send_json() несколько вызовов requests.post() с разными аргументами. Вариант сложнее - несколько процессов по запросу на каждый.
Аноним 18/10/19 Птн 00:24:40 1498992294
>>1498987
Тут всё намного сложнее.
1. Внешний IP у тебя вряд ли статический ("белый"), их сейчас не раздают направо и налево. Твой IP - "серый".
2. Порт у тебя не "открыт". Как его открыть, можно нагуглить. Но если всё сделал, но он по-прежнему закрыт, тут только обращаться к провайдеру, зачастую это платная услуга.
3. Если ты сидишь в интернете не напрямую, а через локальную подсеть,, нужно ещё настраивать проброс портов на роутере.

В общем, намного проще найти бесплатный хостинг в интернете и выложить туда. Например, есть pythonanywhere.com
Аноним 18/10/19 Птн 00:25:27 1498993295
>>1498989
Таааак, падажжи ёбана...
Вот маняклиент
def send_json():
--return requests.post("http://127.0.0.1:5000/api/add_message/123", json={"title":"Read a book", "mytext":"foobarbaz"})

Допустим я создам список словарей и циклом буду извлекать каждый словарь, превращать его в json и отправлять на сервер.
1) Цикл мне в send_json засунуть?
2) А что насчёт адреса http://127.0.0.1:5000/api/add_message/123 ?
Он на каждый post-запрос с json'ом свой должен быть? То есть в адрес надо что-то типа переменной части добавить?
3) А сервер как это будет обрабатывать? То есть его динамическим делать? И как он это отображать будет? в адресной строке? Или json'ом в ответе?
4) Хватит 2х процессов по одному на сервер и клиент? Или надо больше?
Аноним 18/10/19 Птн 00:33:03 1498999296
>>1498992
Внешний порт динамический, порты открыты у меня, я уже проверял, писал на сокетах чат, в котором подключал разные компы. Они нормально подключались через внешний айпи. Там сервер был на стационарнике, а этот на ноуте, но он с линуксом, тут не должно быть файрволла, короче порт открыт должен быть.
Насчёт проброса я не понял, как я понимаю, проброс это перенаправление пакетов, приходящих на внешний айпи, роутером на какой-то определённый частный айпи в сети, но зачем мне это если мой сокет слушает всё? пусть слушает внешний айпи.
Просто я помню, что уже подобный сервер запускал, но там это всё было через приложения клиента и сервера, а тут вместо клиента у меня браузер, и я не понимаю, что изменилось
Аноним 18/10/19 Птн 00:33:59 1499001297
>>1498993
1) Да
2, 3) Это на твоё усмотрение, технически вообще без разницы. Иногда делают весь api на одном и том же роуте, а потом уже парсят данные из json и производят нужные действия. Но концептуально это не совсем хорошо. Можешь почитать про REST API.
4) Если делать через цикл, хватит.
Аноним 18/10/19 Птн 00:35:14 1499003298
>>1498999
Ой блядь, внешний айпи динамический*
Аноним 18/10/19 Птн 00:41:00 1499005299
>>1499001
Спасибо.
Такие ещё вопросы:
1)
> "Можно в браузере перейти на http://127.0.0.1:5000/api/add_message/123 Тогда загрузится. Но ругнётся, что не передаёшь нужные данные.
Странно, get запрос у меня 500 выдаёт. Это если скопировать адрес и вставить.
2) Как удостовериться, что сервер что-то отдаёт в ответ? Тоже print поставить?
3) Касательно REST API - на что тут обратить внимание?
4) Тебя можно будет в эту пятницу/субботу тут застать?
Аноним 18/10/19 Птн 00:43:38 1499006300
>>1498999
Тогда не ебу. Единственное, что могу предположить - провайдер не разрешает входящие подключения к 80 порту. Или детектит и блочит http-трафик вне зависимости от порта.
Аноним 18/10/19 Птн 00:44:23 1499007301
Аноним 18/10/19 Птн 00:48:56 1499009302
>>1499006
У меня биндится не на 80 порт, а на произвольный, может поэтому?
Аноним 18/10/19 Птн 00:51:12 1499010303
>>1499005
1) наверное, от версии фласка зависит. Но так или иначе это должен быть код 500.
2) в консоли ведь делается выхлоп, что было обращение к такому-то роуту. Если нужна ещё инфа - да, можно print добавить.
3) это просто общие принципы, их нужно в целом понимать. Ну, может, какие-то присеры глянуть.
4) возможно, но не 100%
Аноним 18/10/19 Птн 00:54:00 1499012304
>>1499009
Блядь, я проверил, но да сейчас какого-то хуя тот старый сервер тоже перестал работать, пиздец, я был уверен, что он работал нормально с внешним айпи
Аноним 18/10/19 Птн 00:54:14 1499013305
>>1499010
Спасибо и напослндок?
Код чуть дополнен:

l1 = [{"title":"Read a book1", "mytext":"foobarbaz1"}, {"title":"Read a book2", "mytext":"foobarbaz2"}]

def send_json():
-- for i in l1:
----return requests.post("http://127.0.0.1:5000/api/add_message/123", json=i)

Но вот при запуске выводит только foobarbaz1
Он до второго элемента не доходит. Его обновлять надо? Или как?
Аноним 18/10/19 Птн 01:04:49 1499016306
>>1499012
Сука, какой же это пердолинг, у меня в роутере DMZ(открывает все порты) стояло на частный адрес стационарника, но частные адреса каким-то образом сбились, и все порты у меня были открыты на моём ксяоми. Пиздец. Поставил dmz на ноут и всё заработало.
Аноним 18/10/19 Птн 02:44:54 1499030307
Подскажите ньюфагу возможно ли в spider3 делать VENV как в пайчарме, например? Нашел в настройках, что можно только интерпретатор выбирать. Если я сделаю новую VENV в пайчарме или просто в консоли и её интерпретатор выберу в спайдере, то он будет в этой среде всё делать или нет? В интернете предлагают через фунции анаконды делать, но у меня она не стоит. Также предлагают создавать отдельные VENV и в каждой через пип ставить свой спайдер, но это тупо, т.к. он по 300Мб жрет.
Аноним 18/10/19 Птн 03:40:41 1499040308
>>1498954
Не читал о чём вы, но готовые реализации HTTP серверов уже есть, смотри h2 и h11.

HTTP работает независимо от TCP. Можешь из файла брать поток для HTTP, откуда хочешь.

Аноним 18/10/19 Птн 03:50:45 1499041309
>>1498999
Если у тебя подключение к интернету через NAT, через какой-нибудь роутер, то без специальной настройки, не всегда доступной, подключиться к тебе будет нельзя.

У тебя на компьютере полноценный внешний IP? Не 192.168., или не 10.?

Второе, на каком адресе ты открываешь сервер? Если в параметрах указываешь host='127.0.0.1', он же по-умолчанию иногда, то с внешнего компьютера ты подключиться не сможешь. Надо указать или '0.0.0.0', или адрес интерфейса, на которым ты слушаешь. Проще всегда "0.0.0.0", это значит, что с любого интерфейса можно подключиться.

попробуй запустить встроенный на питоне сервер
python3 -m http.server
от поднимет простейших http сервер на 8000 порту
и зайти на него из интернета
Аноним 18/10/19 Птн 04:26:59 1499044310
>>1499041
Спасибо, анон, но я уже всё настроил. Я просто долбоеб, у меня были порты закрыты. [spoile] приватные адреса сбились, а на приватный адрес было в роутере включено DMZ[/spoiler]
Не понял про 10. , не знаю, что это. Айпи полноценный внешний,
192.168... тоже есть, но это приватный же, адрес устройства в локалке. Сокет я биндю на "", то есть на четыре нуля.
>>1499040
Ну так-то http это просто язык хэдеров, методов и кодов, по факту можно хоть на листке сообщения передавать по правилам протокола. Удивительно, насколько там простейшие вещи применяются в написании собственного сервера. Но писать много придётся, чтобы всё было по правильному.
Аноним 18/10/19 Птн 08:32:44 1499095311
>>1499013
Это потому, что происходит выход из функции сразу после первого запроса. Убери return.
Аноним 18/10/19 Птн 09:09:31 1499112312
Ну посмотрел вакансии на джунов в моей мухосрани, например, сравнил с количеством вакансий пхп, теперь хочу вкатиться в пхп.
Отговорите вкатываться в пхп.
Аноним 18/10/19 Птн 09:41:16 1499116313
>>1499095
Или вынесли цикл за функцию в ещё одну функцию?
Аноним 18/10/19 Птн 10:26:27 1499138314
>>1499116
Зачем? Создавать кучу однострочных функций смысла нет, тем более что она только один раз используется.
Аноним 18/10/19 Птн 10:28:09 1499140315
>>1499138
А что насчёт сервера, почему он 500 выдаёт?
Разве он не должен работать и что-то в ответ выдать?
Аноним 18/10/19 Птн 12:06:31 1499209316
>>1499140
Потому что он не смог обработать запрос и свалился. Не смог обработать, потому что не проверены все возможные ошибки. Например, нужно проверить, что все нужные поля есть в json, прежде чем пытаться их читать. Если нет таких полей, явно слать клиенту 400.
Аноним 18/10/19 Птн 12:55:22 1499235317
>>1498235
Запоздалое спасибо!
Аноним 18/10/19 Птн 17:19:09 1499434318
thanks.png (2Кб, 1069x36)
1069x36
>>1498826
спасибо за охуительный совет по поводу принта, вот как он работает.
Аноним 18/10/19 Птн 17:20:19 1499437319
>>1498826
>>1499434
а не извини, не заметил что у тебя код другой.
Аноним 18/10/19 Птн 18:22:38 1499471320
Аноним 18/10/19 Птн 19:19:52 1499499321
Аноним 18/10/19 Птн 20:44:04 1499544322
rewrite.PNG (20Кб, 655x372)
655x372
>>1498826
Спасибо, что не поленился и всё расписал для ньфани типа меня, анчоус. Я исправился как тебе, уж лучше? Насколько мой код тянет из 10?
Аноним 18/10/19 Птн 20:55:07 1499551323
>>1499544
import re
words = re.findall(r'\w+', text)
e_words = [w for w in words if 'e' in w]
Аноним 18/10/19 Птн 21:01:52 1499557324
>>1499551
я такого в учебнике не проходил ещё.
Аноним 18/10/19 Птн 21:07:40 1499562325
Аноним 18/10/19 Птн 21:10:13 1499565326
>>1499562
ничё старшного, главное что задание выполнил. пиздец с этими строками это самое сложное.
Аноним 19/10/19 Суб 12:37:27 1499894327
Есть ли способ сделать сериализацию некого объекта и при этом "зашить туда" все библиотеки, которые он использует?
Для того чтобы можно было запустить его на "чистом" питоне без предустановленных библиотек?
Установить на том "чистом" питоне те библитеки не вариант.

Можно ли еще сделать питоновский скрипт как экзешник?
Аноним 19/10/19 Суб 12:55:04 1499910328
>>1499894
> Можно ли еще сделать питоновский скрипт как экзешник?
Pyinstaller
Аноним 19/10/19 Суб 12:59:07 1499916329
>>1494130 (OP)
Надо бы вопрос про запаковку и дистрибуцию скриптов включить в шапку треда. PyInstaller хороший вариант, но далеко не единственный.
>>1499910
>>1498261

Аноним 19/10/19 Суб 13:13:31 1499926330
>>1499030
Конечно можно, более того, в пайчарме это тоже так работает, создаешь окружение каким угодно способом, а потом в настройках среды рзработки указываешь интерпретатор из этого окружения. В пайчарме просто автоматически создается новое окружение и делаются нужные настройки при создании проекта.
Аноним 19/10/19 Суб 15:21:10 1500024331
gospoda, хочу пощупать asyncio, не подскажете интересную задачу на пару дней, чтобы это сделать? Опыт питухона огромни за плечами.
Аноним 19/10/19 Суб 16:30:30 1500059332
>>1500024
веб сервер на 5кк запросов в секунду
Аноним 19/10/19 Суб 16:38:09 1500067333
Аноним 19/10/19 Суб 16:48:30 1500074334
>>1500059
для этого есть эликсир или го
Аноним 19/10/19 Суб 18:00:13 1500119335
Как бы вы поступили в моей ситуации есть 'контора 1' и 'контора 2' вообщем контора 1 лучше и я прошел тестовое, но так получилось что вакансию закрыли, хотя мне сказали что в ноябре возможно возобновиться и мне отзвонят, я сказал ок, контора 2 сейчас ищет кандидата и я уверен что пройду туда и могу приступить к работе сейчас, хотя перспективы там похуже, так вот что мне выбрать: шанс что меня пригласят в норм контору или брать что дают?
Аноним 19/10/19 Суб 18:08:40 1500124336
>>1500119
Из опыта собеседываний, я проследил для себя такую штуку: когда говорят, что что-то там возможно возобновится, "мы вас сохранили в базе и в будущем, если вакансия откроется, мы с вами свяжемся" -- это 99% значит, что никто никогда больше с тобой не свяжется.
Идти ли на херовую работу? Смотря что ты хочешь от работы и что ты из себя представляешь. Если ты начинающий, тебе нужны деньги, и для тебя без проблем сменить работу через полгода -- можешь попытаться пойти куда берут, поднаберешься опыта и свалишь потихоньку, проходя собеседования ещё будучи на рабочем месте. Если же ты ищешь работу надолго, то думаю ответ очевиден: какой смысл идти на херовую работу и через полгода оказаться в той же ситуации, потому что она заебала.
Аноним 19/10/19 Суб 18:21:20 1500130337
>>1500074
>учить язык для нишевой задачи
Толсто
Аноним 19/10/19 Суб 19:52:30 1500187338
>>1500130
как эти с такими задачами норм справляются
Аноним 19/10/19 Суб 20:56:23 1500215339
>>1500024

asyncio в python, как верно выразился уже не помню кто -- это язык в языке. Если твой код лезет в IO -- он должен быть написан на asyncio, иначе блокирующий IO повесит тебе eventloop. Проект использует, например, boto3? Поздравляю, тебе хана но это не точно. С тем же Celery а связке с asyncio будет больно. Помни о том, что почти все asyncio-либы находятся в стадии лютой альфы, и хорошо, если в них работает нужная тебе функциональность

Будет больно на стыках синхронного кода с асинхронным. Я по началу выл с ранних этапов инициализации и финализации приложения: в первом случае eventloop ещё нет, а во 2м уже нет. Но всё решаемо

Невозможность асинхронного инита заставляет посмотреть на конструкторы заново и вынести всю асинхронную инициализацию в отдельный метод

Резюмирую. Вкатывайся, но будь готов, что придётся менять мышление
Аноним 19/10/19 Суб 21:03:18 1500221340
Аноним 19/10/19 Суб 21:21:16 1500228341
Есть ли норм курсы по Python на степике? Посоветуйте, решил начать вкатываться потихоньку
Аноним 19/10/19 Суб 21:36:04 1500242342
>>1494130 (OP)
Нашёл в гугл диске книжку mysql for Python, с неё хорошо будет вкатываться в базы данных?
Аноним 19/10/19 Суб 21:49:31 1500260343
Аноним 19/10/19 Суб 22:07:10 1500277344
>>1500242

Вкатывайся в БД через БД. Хочешь мускуль -- хорошо, раскатывай контейнер с мускулем (ниже 8 не рекомендую -- там ещё не выпилен ублюдочный автоинкремент и нет поддержки CTE) или mariadb, ставь Workbench и упярод. Тебя ждёт погружение в сказочный мир нормализации данных, профилирования запросов и особенностей транзакций
А Python предоставляет лишь биндинги
Аноним 19/10/19 Суб 22:33:55 1500287345
асинхроность-это для однопоточных систем?
Аноним 19/10/19 Суб 22:35:59 1500291346
>>1500287

так тупо, что даже толсто. потрудись почитать педивикию хотя-бы
Аноним 19/10/19 Суб 22:39:18 1500293347
что лучше,node.js или aiohttp?
Аноним 19/10/19 Суб 22:40:16 1500294348
>>1500277
>Вкатывайся в БД через БД.
>Хочешь мускуль -- хорошо
Эммм... Я не слежу, но мускуль всегда был самой ублюдочной реализацие РБД, даже хуже ебаного аксесса.
Зачем ебать мозги, когда есть Постгре?
Или, внезапно, мускуль решил начать реализовывать стандарты хоть немножко?
Аноним 19/10/19 Суб 22:50:58 1500306349
>>1500294

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

И да, ебучий ИхSQL наконец начал соответствовать стандарту. Меня поражает, что мускуль годами (sic!) был стандартом де-факто в вебе, и до релиза 8.0 был таким унылым говном. Блять, раз всех всё устраивало, это ж сколько в мире говноедов?

Вообще у мускуля есть убер-фича -- разные движки. Хочешь логи в БД пердолить -- на тебе колоночный движок, хочешь иерархии строить -- на тебе графовое двигло. По крайней мере на их вики всё выглядит чертовски шоколадно
Аноним 19/10/19 Суб 23:00:08 1500316350
>>1500277
>ниже 8 не рекомендую
Лойс. Что тебе на работке дадут, то и будешь кушать.
Аноним 19/10/19 Суб 23:10:29 1500321351
>>1500293
Архитектурно node.js получше, там намного лучше асинхронность, всё встроено в язык, все библиотеки асинхронные, что в asyncio может быть довольно муторно и уродливо, в ноде элегантно и за пару строчек.

Но как сам язык JS полное говно по сравнению с питоном. Многие базовые либы на питоне намного лучше сделаны, беда только в том, что они часто синхронные, но это умеренная проблема и не всегда проблема вообще.

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

Asyncio сложнее, требует большей квалификации, входной порог заметно выше, но в целом посерьёзнее. Но может начать стоит с ноды, а потом переехать.
Аноним 19/10/19 Суб 23:15:35 1500324352
>>1500321
что ты вкладываешь в понятие более серьезный?
Аноним 19/10/19 Суб 23:19:24 1500329353
>>1500306
Ок, уже читаю про восьмерку. Вроде, становится получше, да.
Я махнул рукой, охуев от того, как пятерка обходилась со временными типами - когда у наллабл поля вместо налла вставлялись нули, или когда, при апдейте одного поля, опустив упоминание других (а значит, я их не хочу апдейтить), эти самые другие забивались, опять же, нулями.
Да, я знаю, что можно было вхуячить какую-то там моду в настройках, или вовсе использовать другой тип. Но это какой-то пиздец.
Про невозможность использования подселектов для вью и уебочные сообщения об ошибках на пустом месте ("не могу создать временную таблицу" при каких-то простых операциях) я уж и вовсе молчу.

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

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

Короче, этому анону насрать на проблемы репликации, и как физически устроен апдейт пары полей в записи.
Ему нужно, чтобы база нормально реализовывала стандарт и не ебала мозги. Это точно не про мускуль версии 5 (не говоря уж о более ранних)

Аноним 19/10/19 Суб 23:19:53 1500330354
>>1500316
мудила, ты прочесть можешь, о чем речь идет?
какая, на хуй, работка?
Аноним 19/10/19 Суб 23:33:05 1500335355
>>1500330
Да, прочитал. Был вопрос, с чего учить сиквел, ты что-то стал за версии мускуля пиздеть. Мало того, что невпопад (sql не с mysql начинают), так еще и плохой практический совет начинать с последней версии.
Аноним 19/10/19 Суб 23:44:13 1500338356
>>1500329
> когда у наллабл поля вместо налла вставлялись нули

О ДА! У меня тогда жопа просто неистово полыхала.

> невозможность использования подселектов для вью

Это шаблон select from select? Или что? Вьюхи не доводилось создавать.

> временную таблицу

Ещё одна ублюдочная часть MySQL. Вроде бы CTE позволяют отказаться от этих ебучих временных таблиц по каждому чиху.

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

Хм. Шота меня память подводит, надо глянуть ещё разик

> Ему нужно, чтобы база нормально реализовывала стандарт и не ебала мозги. Это точно не про мускуль версии 5 (не говоря уж о более ранних)

Да, два чаю. Тогда даже лучше firebird. Остались приятные впечатления
Аноним 19/10/19 Суб 23:52:54 1500344357
>>1500324
На node.js удобно писать простые задачи, реально удобно. Компактнее и нагляднее.

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

Например, общий паттерн по обмену данными в многопоточных и асинхронных приложениях в том, чтобы через очереди это делать. У тебя одна задача слушает очередь, а другая или другие туда данные кладут. Быстро и наглядно, стройно, решает кучу проблем. В asyncio это базовый функционал, в node.js асинхронный очередей нет.

Аноним 19/10/19 Суб 23:55:14 1500346358
>>1500335
Всё зависит от того, какой функционал от SQL ты хочешь освоить. Не всегда нужно что-то сложное. Может тебе и sqlite будет достаточно.
Аноним 19/10/19 Суб 23:55:22 1500347359
>>1500306
>раз всех всё устраивало
LAMP
Аноним 19/10/19 Суб 23:57:34 1500348360
>>1500346

Кстати даже из sqlite выпиздили эти ебучие автоинкременты, что не может не радовать
Аноним 19/10/19 Суб 23:58:42 1500349361
>>1500347

В данном контексте Linux+Apache+MySQL+Python?
Аноним 20/10/19 Вск 00:01:06 1500351362
>>1500349
Нет, я именно про PHP
5 версия мускуля это как раз середина нулевых.
Аноним 20/10/19 Вск 00:06:55 1500354363
>>1500349
Нынче вместо апача принято обходиться нджинском. А уж в случае питона практически необходимо, nginx нужен, а апач совсем не нужен.

Потом, из Питона не очень принято напрямую базу дёргать. Типовой АД из LAMP выглядел так, что у тебя в коде куча всяких mysql_query(), в которых прямым текстом код запроса указывался, и всё это вперемешку с вёрсткой html. Нынче это bad style даже в php, а в питоне иначе сайты делают. Чаще какие-нибудь ORM используются, хотя не всегда.
Аноним 20/10/19 Вск 00:16:11 1500359364
У вас интересный диалог, но ничего не понятно. Я вообще ничего не знаю про базы данных, пока как я понял, мне нужно просто ставить постгрескьюэль или файрбирд и методом тыка в них что-нибудь сделать?
Аноним 20/10/19 Вск 00:16:43 1500360365
>>1500354

Всё смешалось: люди, кони,
Ну а я бессмертный пони

Сегодня ORM везде best practice, и использование SQL в коде -- дурной тон, но не всегда говнокод. Например, django ORM в щи тупая и ограниченная. Составной первичный ключ (timeseries, attributes)? До недавнего времени хуй вам, а не составной первичный ключ.

А вот за смешивание в одном файле кода на разных языках, будь то SQL, HTML или ещё какой-нибудь НЁХ, я нещадно ебал и буду ебать
Аноним 20/10/19 Вск 00:19:39 1500361366
>>1500359

Короче, пиздуешь на sql-ex ru и ебашишь. Как заебут задачи уровня `select 'helloworld' from dual`, пиздуешь на codewars, где с тебя снимут стружку. Дальше планку тебе будет задавать codewars
Аноним 20/10/19 Вск 00:35:02 1500366367
15427093961180.jpg (81Кб, 662x720)
662x720
Аноним 20/10/19 Вск 00:37:04 1500369368
>>1500366
Вы мне сейчас таки с пруфами хотите сказать что это во времена пятого мускуля было не популярно?
Аноним 20/10/19 Вск 00:38:24 1500371369
Решаю задачки на питонтьютор. Есть кто таким путём чего то добился в программировании?
Аноним 20/10/19 Вск 00:41:10 1500373370
>>1500369
Это таки не являлось тем, что всех устраивало. Выбор был не велик.
Аноним 20/10/19 Вск 00:41:28 1500374371
>>1500359
Ты пока не объяснил, что ты хочешь в итоге получить.

Если крутое знание SQL, то это одна история. Если умение работать с БД, то другая.

Постгрю не так просто поставить, надо быть немного девопсом или ДБА, но это к sql никакого отношения не имеет.

Если ты ничего не умеешь, то начни с sqlite. Никакого геморроя по части установки и обслуживания, так ты освоишь сами механизмы работы с БД и базовый SQL. А потом уже сядешь за серьёзные базы и серьёзный SQL, если потребуется.
Аноним 20/10/19 Вск 00:51:23 1500375372
>>1500374
>Постгрю не так просто поставить, надо быть немного девопсом или ДБА, но это к sql никакого отношения не имеет.
У нас какие-то разные релизы постгреса, видимо. В убунте apt-get install postgres, в маке и винде далее далее далее готово.
Аноним 20/10/19 Вск 00:53:31 1500376373
>>1500335
Повторяю, ты мудила
Иди на хуй. Работка ждет тебя
Аноним 20/10/19 Вск 00:56:53 1500378374
>>1500361
>>1500374
Понял, спасибо, сяду сначала за синтаксис sql и sqlite.
Хочу получить знание SQL и субд на уровне бэкэнд джуна.
Аноним 20/10/19 Вск 00:58:28 1500379375
>>1500359
Тебе нужно просто взять книжку и начать ее читать.
Методом тыка делать ничего не надо.
Когда ты начнешь понимать, чем table отличается от tablespace, и что значит "релационная" в словах "реляционная БД", поймешь, как элементарные селекты херачить, тогда и будешь думать, ставить тебе БД, или не ставить.
Можно вообще ничего не ставить, взять какую-нибудь H2, там все на файлах и клиент в браузере.
Аноним 20/10/19 Вск 01:00:33 1500381376
>>1500373
Ну да, конечно.
Нормальные ребята могли работать с ораклом, мс-скл, с постгресом и парой-тройкой эмбеддед-баз. На яве и .нет.
Но миллионы хуесосов выбирали пхп и мускул, "патамуштаочиньсложна".
Так что это был именно выбор. Который устраивал двоечников. Как сейчас яваскрипт и поделия на нем.
Аноним 20/10/19 Вск 01:01:33 1500382377
>>1500361
На sql-ex очень хуевая постановка задач.
Хуй проссышь, чего они хотят.
Не говоря уж о том, что названия таблиц во множественном числе.
Явный признак пидараса.
Аноним 20/10/19 Вск 01:02:42 1500383378
>>1500373
>>1500381
Собственно, анон расписал, почему я упомянул именно LAMP.
Аноним 20/10/19 Вск 01:02:59 1500385379
>>1500338
>select from select?
Да.
СТЕ же только в восьмой появились.

Причем просто в селекте можно было сделать фром селект, а во вью - хуй на рыло.
Аноним 20/10/19 Вск 01:05:18 1500386380
Аноним 20/10/19 Вск 01:06:32 1500387381
>>1500385

уъу блин. В оракле такое запросто. Любопытно, в восьмёрке пофиксили или нет
Аноним 20/10/19 Вск 02:20:51 1500401382
>>1500381
Эта связка решала задачи и показывала очень хорошую производительность, недостижимую на обычных БД.

Использовали в основном базы MyISAM, которые даже без транзакций, то зато работали сильно быстрее, чем транзакционные БД.

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

Сейчас другая реальность, качество софта подросло, железо ускорилось и стало на порядок доступнее. Когда нужна высокая производительность чаще используют NoSQL подходы, когда нужно сложное хранение и выборка, сложная логика, тогда и базы соответствующие.
Аноним 20/10/19 Вск 02:49:20 1500402383
f{""} - пиздато
Аноним 20/10/19 Вск 05:22:47 1500423384
>>1500401
Майисам не только без транзакций, но и без ссылочной целостности. Т.е. ты там можешь писать create constraint, но они не будут работать (по крайней мере, в ранних версиях так было).
Это не потому что "сильно быстрее", а потому что разработчики - криворукие неумехи.
Ебаный Caché появился в 1997-м, он еще быстрей, но 99% дба его не только не использовали, но даже и не слышали о нем.
Единственное достоинство мускула в начале его пути - бесплатность. Оракл по скоростям крыл его как бык овцу. Даже мс-скл, который тогда был еще сайбейзом с переклеенной этикеткой, был в тыщу раз круче.

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

В общем, не позорься, просто помолчи.

Мускул - очевидное говно, данное человеку для воспитания смирения. Защищать его могут только "солнечные дети" с лишней хромосомой.

>Когда нужна высокая производительность чаще используют NoSQL подходы
Когда не смог осилить sql, испльзует NoSQL подход
Когда не смог понять, что такое 3НФ, использует NoSQL подход
Когда хранить как-то надо, а схему БД нарисовать не получается в силу слабоумия, использует NoSQL подход
Ну и еще пара ребят используют NoSQL по делу, но тут ты их не найдешь.
Аноним 20/10/19 Вск 07:00:28 1500430385
>>1500423
>Когда не смог осилить sql, испльзует NoSQL подход
>Когда не смог понять, что такое 3НФ, использует NoSQL подход
Ты мне напоминаешь студня, который недавно прошёл курс по теории баз данных и теперь думает, что очень умный, и жаждет применить услышанное на практике. Не понимая, что всей этой теории многие десятки лет и все всё конечно изучали.

Такие начинают лепить код и архитектуру, который потом чудовищно тормозит, ради которого надо делать сложнейшие оптимизации движка СУБД.

Вот кеши только неучи делают? А кеш как технология в принципе нарушает 2НФ.

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

НФ нужны не чтобы дрочить на них.
Аноним 20/10/19 Вск 09:14:12 1500456386
>>1500344
короче,на ноде лучше забацать прототип и по ходу дела потом лучше переписать?
Аноним 20/10/19 Вск 09:19:13 1500457387
>>1500376
Успешный стартапер, ты?
Аноним 20/10/19 Вск 11:27:58 1500489388
15396224862161.jpg (191Кб, 1920x896)
1920x896
Че, блять, этому ебаному яндексу еще нужно от меня?
Аноним 20/10/19 Вск 11:37:40 1500494389
>>1500489
По-моему print должен быть внутри функции и печатать print(f' вы такой дурак ебаный {i'})
Аноним 20/10/19 Вск 12:11:09 1500509390
>>1500489
А что это? Где можно посмотреть?
Аноним 20/10/19 Вск 12:27:12 1500519391
>>1500489
Тебе нужно понять, что ты не высчитал сумму хронометража песен, ебло тупое. За мат извини
Аноним 20/10/19 Вск 13:28:29 1500562392
15396224862161.jpg (191Кб, 1920x954)
1920x954
>>1500494
Пикрил - как выглядел изначально код, которыи необходимо дописать. И print вынесен за пределы функции. В подсказках черным по белому написано: Внутрь f-строки вставьте значение длины списка.
>>1500519
Прочитаи внимательно задание, ебло тупое. Про хронометраж ни слова. Нужно посчитать количество песен.
>>1500509
яндекс практикум
https://praktikum.yandex.ru/trainer/backend-developer/lesson/3828fc2d-6030-4853-835c-aee39545ac2c/task/8a9b56c8-3e7e-4506-80ba-5a0fc11faa74/
Аноним 20/10/19 Вск 13:41:57 1500571393
15396224862161.jpg (152Кб, 1920x897)
1920x897
>>1500494
Я ваще хз че от меня требуется. В первом случае код тоже пашет как часы.
На вот, по твоему варианту.
Аноним 20/10/19 Вск 14:01:19 1500581394
>>1500562
Прочитал куда внимательнее тебя, тупой школьник.
Аноним 20/10/19 Вск 14:03:32 1500584395
Сап, питонач. У меня возникла проблема с функцией find.
Я просто не понимаю как рассчитывать этот регистр и как найти шаг
Пересмотрел кучу видосов так и не понял. Последняя надежда только на тебя двач
Аноним 20/10/19 Вск 14:03:58 1500585396
>>1500581
Где там про хронометраж?
Аноним 20/10/19 Вск 14:39:01 1500619397
2.PNG (5Кб, 632x68)
632x68
Двач, почему я не могу использовать в своей программе скаченный шрифт?Я могу менять шрифт на любой другой , который был в системе раньше, т.е который я не качал самостоятельно, и все работает.Модуль pygame если что.
Аноним 20/10/19 Вск 18:04:18 1500853398
Аноним 20/10/19 Вск 18:04:36 1500854399
Аноним 20/10/19 Вск 21:44:27 1501019400
image.png (121Кб, 910x739)
910x739
Читаю automate the boring stuff with python и хочу попросить ваш оценить мое решение. На отсутствие записи в файл не обращайте внимание, там тупо open(f, 'w') и закрытие.

data = 'The ADJECTIVE panda walked to the NOUN and then VERB. A nearby NOUN was unaffected by these events.'

madlib_regex = re.compile(r'(NOUN|VERB|ADVERB|ADJECTIVE)')
matches = madlib_regex.findall(data)

for found in matches:
sub = input(f'Enter a {found}: ')
data = madlib_regex.sub(sub, data, 1)

print(data)

Спасибо.
Аноним 20/10/19 Вск 22:25:15 1501035401
>>1500430
>кеш нарушает 2НФ.
Я тебе предложил не позориться, но тебе неймется.
Ну, давай, жги, хуй с тобой
Аноним 21/10/19 Пнд 00:12:11 1501112402
>>1501019
>На отсутствие записи в файл не обращайте внимание, там тупо open(f, 'w') и закрытие.
Задание, кажется, просит прочитать данные из файла, но не говорит, куда деть результат? В таком случае open(f, 'r'), желательно через выражение with.

Решение нормальное. Что можно улучшить:

1. Заставить это работать для большого количества данных. Для входного файла в 10-20 Гб данные можно читать кусками (главное не разорвать какой-нибудь NOUN на NOU и N) и кусками же обрабатывать.
2. Вызов madlib_regex.sub каждый раз создает новую строку. Этого можно избежать, если данные заранее разбивать на слова и хранить в списке. В целом в питоне часто можно избежать использования регулярок. Здесь все понятно, но regexps легко становятся трудными для восприятия.
3. В input всегда используется артикль "a", но случае с ADJECTIVE должен быть артикль "an".

Если от входных данных не ожидается никаких подводных камней, то сойдет и так. Тем более, в книге, я думаю, должна быть часть про то, что делать, если то и то не помещается в оперативную память.
Аноним 21/10/19 Пнд 00:49:02 1501139403
>>1501019
>>1501112
Проще всего читать построчно.
Общий код:
1) блок запроса от пользователя NOUN, ADJECTIVE и других слов
2) вложенные open
with open('oupput.txt', 'w') as f_output:
___ with open('input.txt', 'r') as f_input:
_______ for line in f_input.readline():
___________ line = line.replace('NOUN', user_noun)
___________ line = line.replace('VERB', user_verb)

ну и там же запись в файл.
Аноним 21/10/19 Пнд 02:05:05 1501178404
exercise.PNG (19Кб, 758x127)
758x127
code.png (8Кб, 638x181)
638x181
Итак, снова я вылажу на свет. Анчоусы, пикрил задача и ещё один моё решение к ней. Она работает, тесты прошла. Я пишу вот зачем, поясните мне как можно было бы проще сделать, может быть я какие-нибудь функции этого языка ещё не знаю, просветите как можно было бы записать это более проще и читаемее, а то я чуть мозг себе не сломал пока писал этот код.
Аноним 21/10/19 Пнд 02:06:27 1501179405
>>1501178
Мне также искренне жаль того анона который попытается в это вникнуть, т.к. это мой код и я его с трудом писал, хотя читаю легко, но наверное тому кто это не писал будет довольно сложно, но всё же, опытный анон, постарайся понять и пояснить мне где я обосрался.
Аноним 21/10/19 Пнд 02:58:16 1501190406
Аноним 21/10/19 Пнд 03:01:22 1501191407
>>1501178
def remove(string1, string2):
return string2.replace(string1, "", 1)

Аноним 21/10/19 Пнд 03:03:48 1501192408
>>1501191
>>1501178
и коммент - смотри доки на методы базовых типов.
Вот у строк есть метод replace, где в можно лимитировать число замен. В данном случае одна замена.

У питона вообще очень большой штатный функционал, и кучу всего можно сделать с его помощью.
Аноним 21/10/19 Пнд 04:05:37 1501200409
>>1500489
Откуда ты взял список, используемый внутри функции calc_stat в print?
Не подразумевает ли задание, что нужно использовать тот список, который передаст в переменной listened их среда? То бишь написать что-то вроде
print(f'бла бла бла {calc_stat(listened)} бла бла бла')
Аноним 21/10/19 Пнд 09:17:23 1501284410
>>1500489
Скорее всего надо, чтобы в коде была функция
def calc_stat(listened):
...

и только она, никакого внешнего кода. print() должен быть внутри этой функции. А платформа уже во время тестов сама будет вызывать calc_stat с разными тестовыми значениями.
Аноним 21/10/19 Пнд 11:04:53 1501333411
>>1501200
>>1501284
Спасибо за внимание, друг, но вот тут >>1500571 я пробовал делать так, как ты подсказал. Результат на пике.
Интересно, что хотя print() зашита в теле функции, при её вызове результат вычисления не отображается.
Аноним 21/10/19 Пнд 11:06:37 1501335412
Аноним 21/10/19 Пнд 11:37:30 1501355413
>>1500571
У тебя принт после ретёрна
Аноним 21/10/19 Пнд 11:39:21 1501357414
Есть что почитать про архитектуру? Работаю год, а все еще тупой.
Аноним 21/10/19 Пнд 12:37:01 1501398415
>>1501357
С опытом придет, главное пили свои проекты, прокачивал скилл. Если будешь просто тачки на работе закрывать - соснешь хуйца, в перспективе.
Ничего почитать не могу посоветовать.
Хотя, если ты бээндщик, почитай из шапки книгу про микросервисы, очень интересно. Нет, не тому що это популярно, а для общего развития и понимания процессов.
Аноним 21/10/19 Пнд 12:50:21 1501416416
С какой целью народ в конце 2019 года учит питон?Для какого-то обучения, прицеливается в какую специфическую область, просто потому что на слуху? Почему не какие-то другие технологии вроде ноды или го? Не траллинга ради, а информации для.
Аноним 21/10/19 Пнд 12:57:19 1501432417
>>1501192
>>1501191
а я такого в ученбнике ещё не проходил, но спасибо, replace возьму на заметку.

Аноним 21/10/19 Пнд 12:59:55 1501436418
>>1501192
> смотри доки на методы базовых типов.
ещё раз огромное тебе, спасибо, анон. мне бы ещё документацией научиться пользоваться, а то я ей пользуюсь только в случае если мне из гугла результат выпадает.
Аноним 21/10/19 Пнд 13:01:21 1501438419
>>1501416
1. Простой
2. Востребован
3. Куча библиотек
Аноним 21/10/19 Пнд 13:03:02 1501442420
>>1501416
Потому что кому-то просто нравится погромирование, кто-то им занимается просто потому что интересно, а не потому что востребован и 300кк, всё иди нахуй.
Аноним 21/10/19 Пнд 13:04:12 1501444421
>>1501438
>2. Востребован
Сомнительный пункт. В какой-то момент из-за хайпа питонщиков стало слишком много и те же зарплатки или рейты на фрилансе просели сильно. Ну разве что за копейки в виде 70к в год докапывать за индусами легаси.
Аноним 21/10/19 Пнд 13:26:16 1501452422
>>1501444
>хайпа
в школу пиздуй, хайпер ебучий. или на ютуб. откуда ты приполз
Аноним 21/10/19 Пнд 13:50:38 1501473423
>>1501444
Ну, тут ты перегнул. Это скорее у ноды с го проблемы с востребованностью, чем у питона. Хз, что там по зп, но язык в любом случае достаточно востребован, это не haskell и даже не c++.

> Python: 2834 вакансии
> Go: 586 вакансий
> Node.js: 500 вакансий
Аноним 21/10/19 Пнд 13:56:21 1501482424
>>1500489
>>1500562
Получил ответ от техподдержки: "Пусть функция возвращает строку целиком — вызов, написанный в прекоде задачи, не изменяйте."
Чёт совсем запутался. Выручайте, братья
Аноним 21/10/19 Пнд 13:56:29 1501483425
>>1501473
Там у питона сильно завышенная цифра, так как во многих вакансиях его указывают как вспомогательный язык.
Аноним 21/10/19 Пнд 14:04:18 1501489426
>>1501416
>Почему не какие-то другие технологии вроде ноды или го
Потому что async/await в питон уже завезли.
Это сейчас самый универсальный язык, который пишется нормальными людьми, а не нодошкольниками.
Аноним 21/10/19 Пнд 14:09:50 1501494427
>>1501483
Окей, поищем только по названиям вакансий.

Python: 370
Go: 14
Golang: 67

Ноду искать проблематично, её часто пишут просто как "JavaScript".
Аноним 21/10/19 Пнд 14:10:17 1501496428
>>1501489
Ты ведь в курсе, что третий питон всего на 5 месяцев старше ноды?
Аноним 21/10/19 Пнд 14:15:29 1501500429
>>1501496
А ты ведь в курсе, что возраст языка != скорость его развития и количество полезных фич в нём?
Аноним 21/10/19 Пнд 14:25:01 1501514430
Аноним 21/10/19 Пнд 16:01:50 1501602431
>>1501473
>Хз, что там по зп
Потолок 5к у синьёра помидора в РФ. Релокетить питониста за бугор никто уже не будет, своих хватает.
Аноним 21/10/19 Пнд 16:33:53 1501625432
>>1501416
Потому что очень простой. На питоне даже дебил может кодить, и код будет легко читаем.
Аноним 21/10/19 Пнд 16:59:20 1501640433
аноны, пытаюсь вкатиться в веб на питоне (джанго и фласк собсно). и вот в моем миллионике-зажопье таких вакансий просто ну люто мало а те что есть шлют меня nahooi. так вот вопрос: стоит ли перекатываться в нейронки с машобом (таких вакансий в 4 раза больше сам считал но при этом я понимаю что будет заеба с матаном) или же пойти учить пхп и на нем чет пытаться найти (таких вакансий в 12 раз больше тоже сам считал)
Аноним 21/10/19 Пнд 17:08:56 1501650434
>>1501640
переезжай из пидарашки в город для людей
Аноним 21/10/19 Пнд 17:11:27 1501652435
>>1501640
О еще одна жертва веба на питухоне, классика.
Аноним 21/10/19 Пнд 17:17:56 1501659436
>>1494130 (OP)
Ребят, я недавно вкатился в питон, смотрел только курсы на ютубе. Что нужно читать, чтобы научиться пилить ботов? К сайтам коннеткиться там .
Пока что планирую прочитать укус змеи и как то вкатываться в джанго
Аноним 21/10/19 Пнд 17:35:10 1501673437
>>1501650
так я и пытаюсь набить себе бабло и опыт работы чтобы нормально переехать в город для людей
>>1501652
дристанул на всю квартиру

аноны, а есть еще какие советы то?
Аноним 21/10/19 Пнд 18:40:57 1501714438
>>1501673
Если много вакансий на пхп, то учи пхп. Я вот смотрел hh нск и тут не особо много вакансий на пхп, бэкэнд джуниоров примерно равномерно мало на питоне, пхп, сишарпе и ноде. Нет такого, что если с питоном никак, то учишь пхп и сразу куча работы.
Аноним 21/10/19 Пнд 19:12:44 1501732439
>>1501659
Книжки есть в гуглдиске, но ты же всё равно ничего читать не будешь. К сайтам коннектиться это типо про парсинг? По большей части можно за вечер изучить его, это хуйня. Боты на всякие игры с другой сложная и муторная хуйня, которой мало кто занимается, вот тут есть серии прикольные https://pythonprogramming.net/bot-tutorials/
Аноним 21/10/19 Пнд 19:35:16 1501748440
>>1501732
Буду я читать. Боты не для игр, а для сайтов. Думаешь изи?
Аноним 21/10/19 Пнд 19:39:42 1501753441
Вообще тред конечно пиздецовый. Или мамкины вкатывальщики, или пиарщики курсов-хуюрсов или просто вопросы, которые за секунду находятся в гугле, что позволяет сделать вывод, что здесь не знают не только питон, но и английский. Безблагодатность.
Аноним 21/10/19 Пнд 19:48:21 1501763442
>>1501748
Что за "бот для сайта"?
Аноним 21/10/19 Пнд 19:53:54 1501766443
>>1501482
Внутри функции напиши

return f'{len(listened)}'
Аноним 21/10/19 Пнд 20:57:35 1501801444
>>1501753
унижай дебилов, хуле ты как маленький
Аноним 21/10/19 Пнд 20:59:58 1501804445
бутылка еще проще фласка?
Аноним 21/10/19 Пнд 21:01:39 1501806446
>>1501804
Нормально разговаривай, долбоеб, какая ещё бутылка?
inb4 на которой ты сидишь
Аноним 21/10/19 Пнд 21:03:13 1501807447
Аноним 21/10/19 Пнд 21:05:02 1501809448
>>1501804
Чуть проще, да. Но фляга сама по себе несложная.
Аноним 21/10/19 Пнд 21:07:25 1501812449
>>1501809
еще вопрос,алхимия легко учиться?
базу по простым скл запросам знаю
Аноним 21/10/19 Пнд 21:21:42 1501819450
>>1501807
а чем бутылка лучше фласки, лимит есть хотя бы?
Аноним 21/10/19 Пнд 21:23:19 1501820451
image.png (202Кб, 450x300)
450x300
>>1501112
>В таком случае open(f, 'r'), желательно через выражение with.
Мне тоже так удобнее, но в этой книге почему-то по with ничего не говорится. До этой книги читать Python Crash Course 2nd, там без with никуда.

>Заставить это работать для большого количества данных. Для входного файла в 10-20 Гб данные можно читать кусками (главное не разорвать какой-нибудь NOUN на NOU и N) и кусками же обрабатывать.

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

>Вызов madlib_regex.sub каждый раз создает новую строку. Этого можно избежать, если данные заранее разбивать на слова и хранить в списке. В целом в питоне часто можно избежать использования регулярок. Здесь все понятно, но regexps легко становятся трудными для восприятия.

Видел реализацию c replace, но решил, что вдруг в будущем надо будет регулярку юзать, поэтому чтобы запомнить написал так.

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

Пока еще не было. Не рановато ли мне это изучать?

Конечно же спасибо большое за ответ!
Аноним 21/10/19 Пнд 21:29:55 1501826452
>>1501763
Ну свою деятельность на сайте автоматизировать
Аноним 21/10/19 Пнд 21:30:51 1501827453
Аноним 21/10/19 Пнд 21:32:37 1501831454
я охуеваю.PNG (67Кб, 811x348)
811x348
code.png (5Кб, 335x246)
335x246
Я просто охуеваю с этой книжки она ломает мой мозг, 3 часа я думал над тем чтобы сделать пикрил задачу. И да функция replace по задумке автора не должна использоваться, он её назвал сахарной пудрой, типа это жирно и мажорно нужно без ней обойтись, лол. Использовать можно только
len
str[j]
str[j:n]
str.find(k)

Да, да мой код гавно с костылями, вы можете лучше используя только 4 вышеприведённых инструмента? Пожалуйста, постите свои коды, я с удовольствием на них посмотрю.
Аноним 21/10/19 Пнд 21:52:46 1501841455
1416899465484.jpg (35Кб, 362x346)
362x346
Аноним 21/10/19 Пнд 21:55:46 1501844456
>>1501841
ты мне сейчас мозг сломал. а какой у тебя стаж кодинга?
Аноним 21/10/19 Пнд 22:00:49 1501845457
Аноним 21/10/19 Пнд 22:02:18 1501849458
Аноним 21/10/19 Пнд 22:03:26 1501850459
Аноним 21/10/19 Пнд 22:04:04 1501852460
>>1501841
>>1501850
я твой код сейчас разобрал. это шидевор, спасибо огромное
Аноним 21/10/19 Пнд 22:31:18 1501874461
>>1501852
Какую книгу ты читаешь?

мимо
Аноним 21/10/19 Пнд 22:39:02 1501881462
Сап двач, пишу небольшую программку, которая бы скачивала картинки с сайта, у него страницы устроены по типу: site.com/тутчисло (это уже ссылка на саму картинку, допустим). Мне, условно, нужно сохранить все с 1 до 20.
Я пишу:
import requests
a=int(1) #переменная для числа в ссылке
q = int(1) #переменная для числа в имени файла
while a <= 20:
f=open(r'E:\11\e' +str(q)+ ".jpg","wb") #открываю файлы для записи
ufr = requests.get("http://site.com/"+str(a)) #задаю ссылку
a = int(a) + 1
q = int(q) + 1
f.write(ufr.content)
f.close()

В итоге создаются все 20 файлов, но содержимое есть только у первого. Помогите, пожалуйста, победить.
Аноним 21/10/19 Пнд 22:40:55 1501885463
Аноним 21/10/19 Пнд 22:51:37 1501892464
D51A7506-1721-4[...].jpeg (689Кб, 3264x2448)
3264x2448
>>1501881
Каждый раз, когда ты в цикле открываешь файл на запись, ты его перезаписываешь
Используй конструкцию with open("имя файла", "wb") as f: и дальше твой цикл. В данном случае явно закрывать файл с помощью .close() не нужно, в этом преимущество такой конструкции
Когда объявляешь переменные не обязательно явным образом указывать их тип, достаточно просто а = 1 и а +=1 , чтоб прибавить единицу к существующему значению а
Аноним 21/10/19 Пнд 22:54:44 1501895465
>>1501892
А,соре, долблюсь в глаза, ты записываешь не в один файл, а в 20 разных
Аноним 21/10/19 Пнд 22:59:31 1501898466
15493915913930.png (521Кб, 600x681)
600x681
>>1501892
Ногти грязные. А я передернуть уже хотел.
Аноним 21/10/19 Пнд 23:21:03 1501916467
>>1501874
How to Think Like a Computer Scientist, Learning with Python, third edition.
Только она на английском только, на русском нету.
Аноним 21/10/19 Пнд 23:56:52 1501932468
Что за штука такая эти генераторы? Какого хрена при проходе с помощью os.walk() во второй раз пройтись я уже не смогу. Или вот:

>>> a = (i for i in range(2, 8))
>>> a
<generator object <genexpr> at 0x00000270527236C8>
>>> for i in a:
... print(i)
...
2
3
4
5
6
7
>>> for i in a:
... print(i)
...
>>>

Во второй раз пройтись уже не могу. Объясните, пожалуйста. Спасибо.
Аноним 22/10/19 Втр 00:32:17 1501944469
>>1501881
Так а сервер-то нормально отвечает?
добавь там в цикл после реквеста print(ufr.status_code) и посмотри на ответы сервера
Аноним 22/10/19 Втр 02:22:38 1501960470
>>1501841
Очевидное переполнение стека вызовов, никто количество вхождений не ограничивал.
Решается лёгким переделыванием рекурсии в динамическое программирование снизу. https://ideone.com/E6c7mj
Аноним 22/10/19 Втр 04:00:41 1501975471
Каким образом можно модифицировать байт-код модуля перед выполнением, причём реализовать это в виде вызова определённой функции в любом месте python-кода этого модуля? Желательно без помощи сторонних библиотек.
С модификацией кода отдельной функции всё предельно ясно. Со всем файлом как такое провернуть?
Аноним 22/10/19 Втр 04:27:16 1501976472
>>1494130 (OP)
>В программирование есть некая возрастная дискриминация - молодые далбаебы нужны везде и всюду, старые - не очень. В основном период активности программиста - до 40-45 лет. Дальше если ты не перекатился куда-то выше или не замутил свой стартап - будет крайне печально поскольку ты никому не нужен и проще выкинуть тебя и нанять молодую обезьянку после института. Люди 40-45 лет работающие в IT редко программируют сутками, а скорее берут на себя организаторские обязаности - Тим лид, Проджект менеджер, etc.
Т.е если я вкатываюсь в 27 лет и проработаю 13-18 лет и стану тим лидом, то всё норм еще может быть?
Аноним 22/10/19 Втр 08:22:30 1502003473
>>1501932
Генераторы работают только один раз, при первом вызове. Гугл в помощь.
Аноним 22/10/19 Втр 09:12:39 1502017474
>>1501976
Ты еще можешь перекатиться в байтоебы, там до седых мудей можно пердеть.
Аноним 22/10/19 Втр 17:27:48 1502320475
пхп-однопоточный
нода-однопоточная и асинхронна
а питон?
Аноним 22/10/19 Втр 17:57:26 1502353476
>>1501976
>Т.е если я вкатываюсь в 27 лет и проработаю 13-18 лет и стану тим лидом, то всё норм еще может быть?
Нет, не норм. Ты даун, которому интересна карьера, а не программирование.
Аноним 22/10/19 Втр 18:07:07 1502361477
>>1502320
Асинхронный, многопоточность зависит от реализации.
Аноним 22/10/19 Втр 18:42:32 1502380478
>>1502353
Хорошо, когда карьера и интерес к профессии совпадают. Ведь я не смогу реализовать своих интересов если не смогу реализоваться профессионально.
Аноним 22/10/19 Втр 18:48:16 1502384479
>>1501753
Когда начинаешь работать, то покидаешь тред, т.к. учишься гуглить
Аноним 22/10/19 Втр 19:04:20 1502393480
>>1502353
Что делать будешь в 45 без работы, но с интересом к программированию?
Аноним 22/10/19 Втр 20:25:14 1502471481
блять аноны. пытаюсь вкатиться в джангу уже целый месяц. почему вкатиться? потому что делал дважды нахуй курс по офиц докам и все время стопорилось на каком то моменте, я перелопачивал весь код и все равно нихуя ниче не работало, помимо этого пытался сделать по еще одному тутору с инета - тоже такая же хуйня, по книге - сейм щит, по видеоуроку одному - снова, далее щас нашел мега подробный блять видеокурс где для самых дебилов все - снова пиздос где у автора все ок и работает а у меня параша ебаная.в чем трабл то?
Аноним 22/10/19 Втр 20:28:44 1502474482
1469851553139.jpg (29Кб, 600x338)
600x338
Аноним 22/10/19 Втр 20:28:59 1502477483
>>1502471
Вангую, Питон не той версии, кириллица в пути или ещё какая подобная хуета.
Аноним 22/10/19 Втр 20:33:43 1502483484
>>1502471
Пиздуй выкатываться во фласк. Для меня джанга была плавильней мозгов, а фласку схватывал на лету.
Аноним 22/10/19 Втр 20:45:16 1502499485
>>1502477
а может ли сильно различаться? там уроки по джанге 2.х от сентября 2018 я щас про последний видеокурс говорю
кириллица отсутствует вообще везде
>>1502483
да на фласке полторы вакансии, а жить на што то надо. алсо, у меня жопа горит с того что там нужно все самому блять прикручивать, в то время как в джанге все изкаробки
Аноним 22/10/19 Втр 20:57:58 1502508486
Одумайтесь, дебики, нет работы в питухоне на вебе. Куда вы лезете. Нет бы дрочить бигдату, они мертвую джангу ковыряют сука ору немношко
Аноним 22/10/19 Втр 21:00:13 1502509487
>>1502499
> алсо, у меня жопа горит с того что там нужно все самому блять прикручивать
Так если научишься/умеешь, чего гореть то.
Аноним 22/10/19 Втр 21:01:31 1502510488
>>1502499
> там нужно все самому блять прикручивать, в то время как в джанге все изкаробки
Это не баг, а фича. Во фласк намного легче вкатиться, но потом понимаешь, что тебе не хватает функционала, начинаешь подключать ORM, модели, аутентификацию, и вжух - изобрёл джангу. Зато разобрался по мере нужды, а не охуел от количества информации в самом начале и решил забить.
Аноним 22/10/19 Втр 21:08:24 1502512489
a.png (6Кб, 328x234)
328x234
>>1502508
НУ НЕТУ НА ПИТОНЕ РАБОТЫ, НЕТУ, Я СКАЗАЛ, ХУЛЕ ВЫ МНЕ НЕ ВЕРИТЕ
Аноним 22/10/19 Втр 21:44:39 1502523490
>>1502512
Давай маня, приходи, когда устроишься кек.
Аноним 22/10/19 Втр 21:50:39 1502526491
>>1502523
ты заебало анон. тогда по твоему нужно пхп учить для веба? или руби блять?
Аноним 22/10/19 Втр 22:29:31 1502555492
image.png (23Кб, 856x403)
856x403
image.png (13Кб, 1001x88)
1001x88
Это программа находит НОК для чисел от 1 до 20, но хотелось чуть переделать ее последний шаг , чтобы решение находилось не с помощью цикла , а с помощью рекурсии , это же тут возможно сделать
Аноним 22/10/19 Втр 22:32:10 1502560493
Блять а джанго рест фреймворк-то че еще за хуета такая. НАХУЙ. ЭТО. НУЖНО. Ебаный рот это все говно просто невозможно выучить. НА ХУ Я все это высирается. Вот чем просто джанго может не устроить, что нужно высрать еще какое-то дерьмо, которое я должен учить. Уебища прекратите это делать, вы совсем что ли там пизданулись???
Аноним 22/10/19 Втр 22:37:29 1502564494
>>1502526
Да уж лучше пхп лол, чем питУХоН
Аноним 22/10/19 Втр 23:03:09 1502571495
>>1502560
Ну не учи, делай рест апихи на ванильной джанге
Аноним 22/10/19 Втр 23:03:49 1502572496
Продублирую свой вопрос сюда, в ньюфаготреде мне ни на какие вопросы про сокеты не отвечают, изучаю асинхронность и пытаюсь лучше понять, как сокеты и селекторы работают, статью на англовики прочитал и она многое прояснила, но остаётся непонятность:

У меня вопрос про сокеты, вот серверный сокет получил запрос и приложение вызвало accept(), ось создала ещё один сокетный файлик под это соединение. Дальше, если приложение клиента делает send() и закладывает некоторую информацию в свой сокет, то эта информация сразу же осью перекидывается на комп сервера и там загружается в сокет соединения? И уже из сокета соединения тогда приложение может просто выгрузить эту инфу сразу через recv()? Или в сокет соединения приходит только какой-то маячок, что удалённый клиент готов отправить данные, а сама вот эта информация будет переслана по интернету только когда сервер запросит recv()?
То ест вот говорят буфер записи, буфер чтения у сокета, а где именно он физически находится?
И ещё вот в функции select() понятно какие сокеты готовы к чтению, а что значит готовы к записи? Там будут все сокеты, у которых буфер на запись не переполнен?
Аноним 22/10/19 Втр 23:35:31 1502579497
>>1502555
def lcm(args):
____if len(args) == 2:
________return args[0]
args[1] // gcd(args)
____else:
________return lcm(lcm(
args[:len(args) - 1]), args[-1])
Аноним 22/10/19 Втр 23:36:13 1502581498
>>1502572
Сложно говорить без указания конкретного протокола, но

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

> Или в сокет соединения приходит только какой-то маячок, что удалённый клиент готов отправить данные, а сама вот эта информация будет переслана по интернету только когда сервер запросит recv()?
Нет, передается все сразу. Кроме того, успешный send не гарантирует, что на приемнике был вызван recv.

> То ест вот говорят буфер записи, буфер чтения у сокета, а где именно он физически находится?
В ядре ОС. Когда блокируется вызов send, это означает, что буфер записи переполнен и необходимо подождать, пока данные из него физически окажутся в сети. Когда вызов send возвращает, это означает, что данные были переданы в буфер записи. Это важно, успешный send не означает успешную передачу данных.

> Там будут все сокеты, у которых буфер на запись не переполнен?
Эм, вроде того. Запись ведь тоже может блокировать, а значит и select имеет смысл.
Аноним 22/10/19 Втр 23:38:26 1502582499
Аноним 23/10/19 Срд 00:20:12 1502594500
>>1502526
Этот грубиян отчасти прав. При хорошем знании джанги мне сложно представить фреймворк, в котором будет проще или быстрее наклепать качественный сервис, апи или сайт. Проблема в том, что это плохо масштабируется.

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

Если говорить о росте кодовой базы, то Джанго мало что сообщает об организации большого количества кода. Сервисы, DI, что-нибудь еще готовое? К сожалению, стандартные рекомендации заканчиваются "толстыми" моделями и "приложениями", из которых мало кто может извлечь пользу.

Здесь же начинает играть роль и сам язык. Когда-то скриптовые языки показали, что большие кодовые базы можно писать и без статической типизации (главное - протестировать), но теперь у нас есть языки со статической типизацией, которые выглядят почти как динамические (typescript, kotlin) - можно получить лучшее из двух миров - да еще и с non-nullable типами по умолчанию. Питон классный, но уже видно, что это не самый новй язык.

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

В то же время в бигдате у питона конкурентов намного меньше (скорее, эм, там питон и джава?) и его любят люди, которые не программисты по основной специальности (саенс и вот это вот всё).
Аноним 23/10/19 Срд 01:01:08 1502600501
>>1494130 (OP)
Аноны, подскажите где можно найти простенькие задачки для практики.
Аноним 23/10/19 Срд 01:14:22 1502603502
Аноним 23/10/19 Срд 01:36:47 1502610503
>>1502594
Из веба на питоне можно перескочить в веб на другом языке типо ГОвна с минимальными потерями, особенно если микросервисы дрочил (которые на питоне и так очень удобно писать и масштабировать при правильной архитектуре), занимаясь же бигдатой перескочить нельзя.
Аноним 23/10/19 Срд 03:02:36 1502628504
>>1502581
Спасибо, анон!
>Сложно говорить без указания конкретного протокола
Извини, забыл написать, обычный tcp.


Аноним 23/10/19 Срд 03:34:52 1502634505
Аноним 23/10/19 Срд 13:12:01 1502874506
>>1502508
рельсы все тоже не сдохнут
Аноним 30/10/19 Срд 22:36:23 1509435507
>>1494267
для таких как ты есть джангогёрлс
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов