Этого треда уже нет.
Это копия, сохраненная 12 ноября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #859245
В ответе к этому посту вы можете поделиться желаемыми сайтами/веб-сервисами, и мы, возможно, вместе или порознь будем заниматься делом.
>>859247>>859263
sage #3 #859247
>>859255
#4 #859248
Бля, вот спрятать уже появившийся Django message просто. А как его показать только Javascript -том?
>>859278
#5 #859255
>>859247
Уже реализовано.
#6 #859258
Обзмеился
#7 #859262
Опхуй чому такой хуевый пик поставил?
#8 #859263
>>859245
А давайте парсить!
>>859265>>859268
#9 #859265
>>859263
Хочешь посмотреть на мой парсер?
>>859275
#10 #859268
>>859263
Если у тебя есть конкретные идеи что парсить, для чего и кто будет этим пользоваться, то я готов их выслушать.
>>859272>>859277
#11 #859272
>>859268
У меня есть 2 парсера на самом деле, я не знаю, правильный ли я термин подобрал, первый с одного сайта выводит последние заголовки новостей, второй выводит краткую погоду на следующие 7 дней.
>>859276
#12 #859275
>>859265
А покажи солюшн
>>859279>>859286
#13 #859276
>>859272
Такие веб-сайты обычно называют агрегаторами. Твоя идея, пока она не имеет конкретных очертаний, бессмысленна, т.к существует множество таких же сервисов.
>>859281
#14 #859277
>>859268
У меня есть.
Давайте будем парсить треды тобишь html, и затем строить дерево. Типа оп-пост это корень, ответы на него это листьяветви нувыпонели, ответы на ответы это тоже листья и.т.д...
>>859280>>859281
#15 #859278
>>859248
Если я правильно тебя понял, то наверное аяксом периодически делай запрос на какую-нибудь вьюху, которая чекает мессаджи и возвращает тебе жсон, ну и выводи на страницу.
>>859285
#16 #859279
>>859275
Какой солюшн тебе показать, няш?
>>859294
#17 #859280
>>859277
Похоже, ты предлагаешь создать древовидный вывод сообщений на имиджборде.
Это не имеет смысла делать на бекенде. Могу порекомендовать сделать фичер-реквест в куклоскрипт.
>>859283
#18 #859281
>>859276
>>859277
А еще есть:
На вход - URL треда
На выходе - обновляемые данные кол-ва постов, постеров и файлов
>>859282>>859335
#19 #859282
>>859281
Отлично. Конкретная идея. Теперь объясни для чего она нужна и кто будет этим пользоваться.
>>859284
#20 #859283
>>859280
Да не я прост по фану предлагаю. Типа потом можно будет по этому dot файлы генерить. ну и все какбе
#21 #859284
>>859282
...

Формально удобный мониторинг?
>>859289
#22 #859285
>>859278
Какой-то пиздец. Не думал что так сложно такую хуйню запилить. Спасибо за ответ.
>>859288
#23 #859286
>>859275
На корочь. Из кодерской рулеточки солюшн)
https://2ch.hk/pr/res/827944.html#858805 (М)
>>859293
#24 #859288
>>859285
Ну если ты хочешь без перезагрузки всей страницы, то так, наверное. Ничего сильно сложного в этом нет, в принципе
>>859299
#25 #859289
>>859284
У меня в бардачке уже валяется идея для cli-клиента двача.
Если есть желающие и уиеющие работать с urwid, то можно попробовать.
Однако, эта идея не в приоритете. Я, к примеру, ищу веб проект.
>>859292>>859296
#26 #859292
>>859289
Я наговнокодил с помощью bs4, тащемта, и весьма неплохо выглядит
Обычные три строки, обновляемые с определенным интервалом
>>859295
#27 #859293
>>859286

> выделять память для одной строки вместо использования #


да ты мастермайнд просто
>>859297
#28 #859294
>>859279
Я ничего дельного для ответа не придумал :с
#29 #859295
>>859292
Я не понимаю что ты "наговнокодил". Если ты о ретриве информации с двача, то есть прекрасный объектный вроппер для работы с его апи. Скраппинг здесь неуместен.
>>859300>>859301
48 Кб, 640x480
#30 #859296
#31 #859297
>>859293
Ты НЕПОНИМАЕШЬ.
Это же pep.
>>859303
#32 #859298
зашёл в питон тред - и как в кучу говна окунулся.
>>859302
#33 #859299
>>859288
А сам джанго не предоставляет никаких мокрописек вообще для украшения? Вообще хочу всроенные сообщения приукрасить https://docs.djangoproject.com/en/1.10/ref/contrib/messages/. Вообще вырвиглазно выглядит.
>>859348
#34 #859300
>>859295

> объектный вроппер для работы с его апи


Что это и где почитать?
мимо
>>859304
#35 #859301
>>859295
Но, ведь..BeautifulSoup..find_all()...get_text().... :'<
>>859304>>859305
#36 #859302
>>859298
Ты ебанутый? Что ты там делаешь?
вылазь
#37 #859303
>>859297
какой пеп? по пепу для однострочных # для многострочных """ """
>>859306>>859309
#38 #859304
>>859300
>>859301
Господа, у вас есть какие-то идеи? То что с вами не выйдет работать это уже ясно, но вы можете пораскинуть мозгами абстрактно.
>>859308
#39 #859305
>>859301
с апи харкача можно спокойно работать через один лишь requests.
>>859307
#40 #859306
>>859303
Тебя ебет?
#41 #859307
>>859305
Это глупый путь, не питон- и не ООП-way.
>>859310
#42 #859308
>>859304
Какие нахуй идеи, поехавший? Я с помощью супа просто выкачиваю строки из кода страницы, я не ебу, что тебе не понравилось, расскажи мне, через какую жопу ты решил сделать то же самое.
>>859313
#43 #859309
>>859303
Но ведь без разницы.
Это же для __doc__.
#44 #859310
>>859307
расскажи мне, как ты видишь работу с апи питоническим способом?
>>859313
#45 #859311
>>859242 (OP)
оппик - понос возомнил себя тян и душит глисты
#46 #859312
>>859311
лол
#47 #859313
>>859310
Создание классов для тредов, постов и файлов с свойственными им методами и аттрибутами с высокой читабельностью и процентом переиспользования.
>>859308
Идеи для веб-приложения.
>>859319
#48 #859314
>>859311
А ты оригинальный.
видишь одно говно вокруг?
>>859315
#49 #859315
>>859314
и глисты
>>859317>>859318
#50 #859317
>>859315
Питон не глист.
>>859320>>859322
#51 #859318
>>859315
Теперь окончательно проиграл.
#52 #859319
>>859313
Ты юзал bs4?
>>859328
#53 #859320
>>859317
и понос не тян
#54 #859322
>>859317
>>859320
кто-то не умеет в абстракции
>>859323
#55 #859323
>>859322
Наследование методов глистов для тян?
>>859326
#56 #859324
ПИТОН НЕ ГЛИСТ И ПОНОС НЕ ТЯН
>>859327>>859337
#57 #859325
>>859320
Двачер - не человек.
>>859337
#58 #859326
>>859323
м е т а п а р а з и т и р о в а н и е
>>859337
#59 #859327
>>859324
Скажи еще что оп не хуй.
>>859329>>859337
#60 #859328
>>859319
Нет, я избегаю сервисов без api. Тем более что сейчас почти все сервисы подгружают рилтайм с помощью js и bs4 с этим уже не справляется.
>>859333
#61 #859329
>>859327
И земля не круглая, и джсон не для уберговнарей.
>>859332>>859337
#62 #859331
Bottle водки на столе...
подпевайте
>>859337
#63 #859332
>>859336
289 Кб, 640x529
#64 #859333
>>859337
# OP #65 #859334
А мне нравится ОП-пик.
>>859339
#66 #859335
>>859281
Вот тебе немножко говнокода: http://pastebin.com/H7gsmM70
Надеюсь, тебе будет больно.
>>859343>>859344
#67 #859336
>>859332
Выше.
>>859342
#68 #859337
>>859331
>>859329
>>859327
>>859326
>>859325
>>859324
>>859320
Мне кажется, вы здесь не кстати.
>>859333
Объясни, пожалуйста.
>>859341
#69 #859339
>>859334
Тебе и собака нравится.
#70 #859341
>>859337
А мне кажется ты здесь не кстати. сука
#71 #859342
>>859336
oh god yaml?
#72 #859343
>>859335
http://pastebin.com/JhUTaYgA
Накатал, пока срал, кстати.
#73 #859344
>>859335
Забыл сказать, что код не тестился и вообще больше похоже на наброски.
#74 #859348
>>859299
Не знаю насчет украшений. Возможно, есть какое-то простое решение, но когда мне надо было их украсить, я делал следующим образом.

У мессаджей есть левелы. Когда ты рендеришь мессадж, то ты помещаешь его в какой-то тег, правильно? Можно брать левел мессаджа и пихать его в атрибут класс того тега, который его отображает. А в цсс потом прописать как отображать тот или иной мессадж - еррор - красный, саксесс - зеленый и т.п.

Я так делал, когда мне нужно было, чтобы алерты Twitter Bootstrap'а соответсвовали левелу сообщения. Для этого надо было немного переопределить константы, чтобы они соотвествовали классам бутстрапа. Если используешь бутстрап, то я могу попробовать найти код и постараюсь вспомнить как оно работает.

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

Хуйни понаписал. Надеюсь, ты понял, что я имел в виду.
#75 #859365
А вы тут кто-нибудь работаете с питоном? Или только учите?
>>859399>>859405
#76 #859399
7 Кб, 180x279
#77 #859405
#78 #859486
Я уже два дня в треде и стал понимать, что суп - это не тот суп, который обычно, и даже не тот суп, который тут, а есть третье значение.
>>859493
#79 #859488
Чё б такого прикольного накодить.
>>859489>>859495
#80 #859489
>>859488
Автоперекатыватель треда, например.
>>859490
#81 #859490
>>859489
Чтобы всегда быть хуем? Нет, спасибо.
>>859491
#82 #859491
>>859490
Ну если для тебя это достаточное обоснование, то ок.
#83 #859493
>>859486
КРАСИВЫЙ СУП
#84 #859494
Ну, как много вы знаете из этого списка? https://docs.google.com/spreadsheets/u/1/d/1uc-k4TjnK2i7nqk_97P0JfYnEOTwarbOxZ6tdoXSXoo/pubhtml
>>859497
#85 #859495
>>859488
Парсинг тредов в дерево.
>>859502
52 Кб, 563x750
#86 #859496
Привет.
Вопрос по парсингу строки регулярными выражениями. Ищу несколько совпадений в строке, при этом одно из-них не обязательно. Конструкция вида:
[code]
headers = re.search('.?(Accept-Encoding = .?)\n.?(Content-Encoding = .?)\n.*', page)
print (headers.groups())
[/code]
работает только если найдены оба совпадения в противном случае валится с AttributeError. Парсить строку отдельно для каждого значения не хочется, как быть?
>>859499
#87 #859497
>>859494
Ноль целых, ноль десятых.
я только учусь еще(ну чутка git знаю и питон и совсем уж базовые вещи типа цикл, условие, функция, класс...
#88 #859499
>>859496
Попробуй в скобках использовать "или", например. Первое, что в голову пришло.
>>859503
#89 #859502
>>859495
Скучно.
#90 #859503
>>859499
Еще вариант с {0,1}:
headers = re.search('.?(Accept-Encoding = .?){0,1}\n.?(Content-Encoding = .?){0,1}\n.*', page)
>>859526
443 Кб, 600x603
#91 #859526
>>859503
Подвел к нужному решению, грац
>>859539
#92 #859539
>>859526
И как же выглядит твое решение?
>>859548
163 Кб, 1080x1080
#93 #859548
>>859539

>И как же выглядит твое решение?


Как твое, лол
headers = re.search('.?(Accept-Encoding = .?|Content-Encoding = .?){0,1}\n', page)
for match in headers:
\tif match.group(1):

Порядок заголовков иногда меняется, отсюда говнокод с циклом.
>>859551>>859553
85 Кб, 640x708
#94 #859551
>>859548
Ох вэй, не заметил, как опять пришел к заполнению переменных по отдельности
#95 #859553
>>859548
Используй именованные группы. И прочитай наконец документацию к регуляркам.
#96 #859554
https://github.com/moses-palmer/pynput/blob/master/lib/pynput/mouse/_base.py

Почему тут через проперти вызываются геттеры и сеттеры? Для чего так сделано?
>>859556>>859565
#98 #859565
>>859554
Но они же не вызываются, а определяются. Что тебя смущает?
#99 #859568
>>859242 (OP)
Котоны, спасайте. Проблема с celery в джанговской админке. Суть - есть джанга 1.8.15 и celery 3.1.19.
Чтобы иметь возможность отрабатывать селери таски после транзакций, поставлен django-transaction-hooks который вмерджен с джанги 1.9.
Он позволяет просто задавать колбеки которые будут выполнены когда текущая транзакция будет закоммичена.

В обычных вьюхах все вроде работает нормально, но мне надо в админке
обрабатывать файлы и часть работы я решил вынести в селери.

Написал вот такой примерно таск http://pastebin.com/6EE7uBrM

Проблема в том что в админке транзакции отрабатывают как-то странно.

Почему-то с `connection.on_commit(lambda: async_classifer.apply_async((ad.pk, filters_to_synonyms)))`
таски отрабатывают так будто-то они попрежднему в транзации. Я нихуя не понимаю и уже все испробовал.

Также тестировал на 1.9 с ее `transaction.on_commit` и все написанное справедливо и для нее.
>>859616
198 Кб, 1366x768
#100 #859591
А возможно ли в принципе записать в базу список объектов в одну ячейку, а затем считать их как все тот же список объектов?
models.TextField, к примеру, преобразует список в строку и он выглядит как список, но на самом деле его тип уже str, и, естественно, первый его элемент это просто символ из строки, а не объект нужного класса.
Решается ли это или вложенность типов данных в БД нереализуема? Если нет, то какой подход выбирать? По объекту на поле и связывать отношениями?
>>859593
#101 #859593
>>859598
#102 #859598
>>859593
Это замечательно! На продакшене как раз в основном везде Postgres. Придется пускать постгресы еще и на локалке. Я наивно полагал что sqlite отличается только лоулоадом.
>>859608
#103 #859608
>>859598

> Я наивно полагал что sqlite отличается только лоулоадом.



Нет, не только.
>>859616
#104 #859610
rак же я неперевариваю всю эту бутстрапо-шитиымэль-ёбань
>>859616
#105 #859616
>>859608
Умные дяди на буржуйских ресурсах что я читал, по этому вопросу отзываются так что неча сувать списки в ячейки в принципе. Типа строй релейшены и прочее. Вот только у меня еще все упирается в сраные 10к строк бесплатного Postgres в Heroku. Больше я не знаю где дадут развернуть мой костыль бесплатно.
>>859610
Мне тоже страп не импонирует. Сегодня поспрашал у разраба django semanticui, планирует ли тот допиливать макросы. Вот тогда зажили бы, были бы реально дезигн-дривен вебсайты, а не дроч однотипная.
>>859568
Можешь поделиться своими линками по селери?
>>859644>>859910
#106 #859628
Есть ли где-то интересные свистелкоперделки для pycharm облегчающие жизнь?

Посоветуйте тутор или лучше видео уроки по GUI в python, только не ебаный tkinter, а что-нибудь уровня PyQt.
>>859886
#107 #859644
>>859616

> Типа строй релейшены и прочее.


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

> Можешь поделиться своими линками по селери?


Какие еще фпизду ссылки? Я спрашиваю почему в джанговской админке транзакции не отрабатывают как мне надо и как мне выполнение тасков синхронизировать по времени с коммитом транзакции.
>>859654
#108 #859654
>>859644

>Какие еще фпизду ссылки?


Ну ты же не на ровном месте начал его использовать. Ссылки по обучению.

>Я спрашиваю почему в джанговской админке транзакции не отрабатывают


Я не знаю.
>>859658
#109 #859658
>>859660
#110 #859660
>>859658
А если серьезно, то селери очень прост в использовании. По крайней мере из моей маленькой практики. Читаешь доку, смотришь примеры в исходниках опенсорца и все.
#111 #859706
Сосаны, подойдет ли http://firstvds.ru/ всего за 90р чтобы научиться пользоваться ssh, деплойменту и чтобы одновременно хостить пару простых приложений для тестирования+БД? Не мало ли пол гига оперативки? Алсо нужна поддержка https, но в описании ничего найти не могу. Или может есть что то лучше в этом ценовом диапазоне?
>>859711>>859725
#112 #859711
>>859706

> научиться пользоваться ssh


А чему там учиться? А так пойдет любой комп с линухом и доступом в интернет.

> деплойменту и чтобы одновременно хостить пару простых приложений


Ну, если деплой это классическая связка приложение, сервер и бд, то думаю хватит.
>>859765
#113 #859725
>>859706

>IP-адрес 1 выделенный IP-адрес


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

Поддержу вопрос.
В одном из прошлых тредов кто-то говорил, что арендует за $1.5 и еще кто-то советовал арендовать за бугром. Кто что порекомендует?
>>859731
#114 #859731
>>859725
тебе нужно будет настроить днс
#115 #859765
>>859711
А что насчет джино? https://cp-vps.jino.ru/
Тут больше настораживает 1 ядро на 500МГц.
#116 #859770
Ставьте виртуалочку на домашнем пк, крохоборы. Зачем вам эти впс?
>>859771
#117 #859771
>>859770
Как мне принимать внешние запросы, например? У меня нет статического ip.
>>859773
#118 #859773
>>859771
DDNS + проброс портов на роутере. Да и зачем тебе внешние запросы, перед одноклассниками хвастаться?
>>859775
#119 #859775
>>859773
а что ты предлагаешь хостить сайт на ноутбуке!?
>>859780
#120 #859780
>>859775
Когда я такое предлагал?
Но если ты рассматриваешь такой вариант, то для

>научиться пользоваться ssh, деплойменту и чтобы одновременно хостить пару простых приложений для тестирования+БД


Вполне сойдет.
>>859791
#121 #859791
>>859780
Если работать с чужими апи, вебхуками в любом случае нужно чтобы ко мне можно было присоединиться.
>>859796
#122 #859796
>>859791
Приведи пример, а то не совсем ясно, что ты имеешь в виду.
>>859837
#123 #859837
>>859796
Например бот для телеграмма. При отправке сообщения телеграм отправляет мне запрос.
>>859865
355 Кб, 1536x864
#124 #859857
>>859918
#125 #859865
>>859837
К телеграма можно самому обращаться ващет.
>>859887>>859894
#126 #859886
>>859628

> pycharm


> свистоперделки


Есть. Sublime text называется.
#127 #859887
>>859865
Это не экономично.
>>860032
#128 #859894
>>859865
Хачу через вебхук!
Уже оплатил джино на два месяца, посмотрим как пойдет
111 Кб, 949x396
#129 #859897
Питоняши, чому у меня selenium не работает? Нихуя не могу понять даже что не так с файлами
>>859901>>859906
#130 #859901
>>859897
хуй его знает, а чоза c:\program files\... ? какая то маргинальная ось хуйпойми
>>859906
#131 #859906
>>859897
Запихнул ему движок лисы в PATH - заработало. Новый вопрос: он от дефолтной лисы запускаться не может или это я что-то не так делаю?
>>859901
Win 7, тут адреса с литеры диска начинаются, program files - каталог программ
#132 #859910
>>859616

>Больше я не знаю где дадут развернуть мой костыль бесплатно.


И что вам на 127.0.0.1 не разворачивается?
>>859919
60 Кб, 1000x800
#133 #859914
Нестареющая классика: программирование из-под винды.
#134 #859918
>>859857
Спасибо!
#135 #859919
>>859910
У меня нет ни широкополосного доступа, ни желания слушать гудящий гроб в комнате.
91 Кб, 404x403
104 Кб, 400x400
#136 #859929
Хотел запилить сглаживание мыши на pynput, чтобы линии выходили точнее.
>>859930>>859941
#137 #859930
>>859929
Как-то не очень гладко вышло.
#138 #859941
>>859929
Сглаживающую функцию-то покажи, что мы тебе тут, Друзи, в черные ящики играть?
>>859952
9 Кб, 372x256
#139 #859952
15 Кб, 252x595
#140 #860026
Скомпилил свое 7ми строчное приложение через pyinstaller в exe, пикрелейтед пакет получился на выходе. Посему вопрос - нельзя как-нибудь уменьшить количество файлов при превращении питон скриптов в ехе, в идеале, чтобы все укомплектовывалось в 1 ехешник? Может я тулзу не ту выбрал для этого дела, но по первым страница гугла везде рекомендуют именно pyinstaller
#141 #860027
>>860026
В виндовс хорошей практикой является упаковка в инсталляторы. Сомневаюсь что приложение, модули и интерпретатор можно упаковать в один исполняемый файл.
>>860037>>860041
#142 #860032
>>859887
В каком смысле? На чём экономия?
>>860131
#143 #860036
>>860026
А ты ключик --onefile использовал?
#145 #860038
>>859242 (OP)

Решил я тут в дополнении к C/C++ и Java скриптовый язык подучить, взял Python 3 как самый популярный, так вот – язык полнейшее говнище в плане архитектуры, такое ощущение будто просто фич из разных языков в кучу накидали, без какой-либо систематизации. Это же надо было так умудриться проебать базовые принципы всех трех основных подходов – процедурного, объектно-ориентированного и функционального. Может всяким школьникам, не имеющим понятии о нормальном программировании и так норм, но у меня кроме ненависти этот выродок ничего не вызывает.
#146 #860039
>>860037
Интересно. Это только с простыми однофайловыми скриптами работает или с модульными тоже?
#147 #860041
>>860027
Пуинсталлер может. Он просто в темп будет распаковывать папку вот со всем этим добром на картинке, а при закрытии программы стирать. Только это усугубляет проблему размера дистрибутива.
#148 #860044
>>860038
То есть мы тебя здесь больше не увидим?
>>860061
#149 #860046
>>860038

>считать идеальным подход из C++/Java


У меня для тебя плохие новости. Да, в Питоне другое ООП, которое в большинстве своем удобнее.
>>860049>>860061
#150 #860047
>>860038
У вас жир память потекла.
>>860061
#151 #860049
>>860046
Гуёв только не завезли с подходом этим.
>>860050
#152 #860050
>>860049
GUI на питоне пишут только особо отбитые. А так, биндинг к Qt довольно удобный.
>>860053
#153 #860052
Только натив GUI, только toga.
#154 #860053
>>860050

>GUI на питоне пишут только особо отбитые.


Это следствие отсутствия нормальных питоногуёв.
>>860055>>860056
#155 #860055
>>860053
Да куда ты лезешь, теоретик. Что ты написал на питоне в своей жизни?
>>860067
#156 #860056
>>860053
Это следствие скорости интерпретируемого языка. В бубунте большая часть гуев написана на питоне, и они очень любят тормозить и есть память.
#157 #860061
>>860044
Мне просто интересно узнать, что вы в нем хорошего то видите? Для меня написание простенького парсера на питоне было сродни выдиранию зуба через жопу.

>>860046
Так я и не считаю его идеальным, но там по крайней мере все устроино куда лучше. Сейчас еще ObjectiveC с его сигнальной моделью подучиваю, там хоть объектная модель и выглядит насильно присобаченной, но в целом оставляет после себя довольно неплохое впечатление.

>>860047
Лишь бы что-нибудь умное сказать? В C++ есть встроенный сборщик мусора (даже несколько), который правда нужно отдельно подключать. А в Java он и так из коробки работает, притом очень даже неплохо.
#158 #860066
>>860061

>но там по крайней мере все устроино куда лучше


Темплейты передают тебе пламенный привет.
А что не так с ООП в питоне? Ты пытался в нем найти какие-то фичи, которых там нет?
>>860088
#159 #860067
>>860055
Вот сейчас гуй пытаюсь сделать. Уровень питоничности PyQt5 околонулевой. Зато крестодоки почти подходят - просто делаешь как на крестах написано с минимальными изменениями, и готово. Большое подспорье, учитывая, что питонистам ни доков, ни примеров почти не завезли.
>>860071>>860074
#160 #860069
>>860061
Ну а для меня чтение любого кода, который не питоновый сродни выдиранию жопы через зубы. Будто пришел граммар-наци с коробкой знаков препинаний, но споткнулся и рассыпал.
>>860088
#161 #860071
>>860067
На то он и биндинг. Из нативных питоногуев есть только ужасный Tkinter.
>>860073>>860076
60 Кб, 1000x800
#162 #860072
>>860061

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


Долбоеб не нашел фреймворка на бидлоне под парсинг. Найс. Я вчера спиздил базу товаров магазина на несколько десятков тысяч позиций и написание паука у меня заняло час-два из которых я какое-то время обедал.
>>860088>>860089
#163 #860073
>>860071
Какой же он нативный. Такой же биндинг, с теми же проблемами.
>>860082
#164 #860074
>>860067
Нахуя тебе гуй, делай SPA с серваком на фласке.
>>860085
#165 #860076
>>860071
ткинктер - говнина чуть ли не из 90ых, там такой пиздос с наследованием, что лучше этого говна никогда не касаться вообще. Сборник антипаттернов.
#166 #860077
Что почитать по деплою приложений для пистона?
Может сразу стоит сменить апач на другой сервер, потому что уже несколько часов ебусь с подключением самоподписного сертификата ssl.
#167 #860082
>>860073

>Какой же он нативный.


Встроенный в стандартную поставку?
Но он ужасен сам по себе.
>>860084
#168 #860084
>>860082
Он главным образом беден. Простую форму запилить хватит, но если хочется какой-нибудь сложный виджет, то сталкиваешься с отсутствием возможностей, доков, базы вопросов и примеров.
#169 #860085
>>860074
Заебали со своим джанго!
#170 #860088
>>860066
Чем тебе шаблоны то не нравятся? Очень гибкий инструмент, позволяющий с минимальными усилиям писать (относительно) короткий, читабельный и быстрый код.
Очень уж деревянное там ООП, нет полноценных nested функций (привет С++!), криво работает наследование. Впрочем, основная претензия у меня не к ООП, а к стандартной библиотеке, слишком уж там все в разброску сделано.

>>860069
Когда (и если) начнешь писать более-менее крупные программы, то поймешь всю полезность этих знаков.

>>860072
Долбоеб тут твой отец, раз вырастил такого уебка как ты. Я парсер в первую очередь писал для того чтобы со внутренними возможностями языка разобраться.
#171 #860089
>>860072
Что за бидлон?
>>860134
#172 #860093
>>860088

>Когда (и если)


Твоя полезность здесь нулевая. Или спрашивай что хотел или укатывайся подъебывать в тематический раздел.
#173 #860098
>>860088

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


Ясно. То есть ты не знаешь язык, но воняешь что тебе сложно на нём писать. просто охуеть какое важное мнение. Я даже не знаю что на такое ответить, надо бы просто тебе в лицо харкнуть.
К слову, 90% понятия "знание языка" - это знание стандартной и сторонних библиотек, но тебя видимо даже на объектную модель бидлона не хватило с его внутренними протоколами и bydlonic way классами.
#174 #860102
>>860088

>Чем тебе шаблоны то не нравятся?


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

>нет полноценных nested функций


Что? Ты точно питон ни с чем не путаешь?

>>> def sum_of_square(x, y):


... def square(x): return x * x
... return square(x) + square(y)
...
Или ты что-то другое имеешь в виду?

>а к стандартной библиотеке


Стандартная библиотека в питоне включает в себя все, что нужно и не нужно. Нужно что-то - импортируешь. Не понимаю проблемы.
#175 #860131
>>860032
На всем. забей
#176 #860132
>>860085

> Заебали со своим джанго!


Правильно обопьются bottle-ом
И ябут друг друга в жопы.
>>860150>>860153
#177 #860134
>>860089
Быдлан
#178 #860150
>>860085

>джанго


>>860132

>bottle


Зачем использовать джанги и боттл, если можно использовать торнадо?
>>860153>>860174
#179 #860153
>>860085

>джанго


>>860132

>bottle


>>860150

>>торнадо


Зачем использовать джанги, торнады и боттлы , если можно использовать фласк?
>>860160>>860163
178 Кб, 795x531
#180 #860154
Как пройти задачку?
Да я могу сделать 10 переменных и их легко сложить нахуй.
Но как обойтись одной?
Как заставить цикл скакать по вводным данным?
http://pythontutor.ru/lessons/for_loop/problems/sum_of_ten_numbers/
>>860158>>864913
#181 #860157
Аноны, которые пишут на Фласке, как вы работаете с базами данных? sqlite3 имеет ограничение на один тред, т.е. в том треде, где подконнектились, там и использовать базу. Мускул в питоновской версии тоже этим страдает. Коммерческая версия от этого ограничения свободна, насколько я знаю.
Есть мариадб, которая не имеет такого ограничения. Вы её пользуете? Или вы коннектитесь к базе в каждом реквесте? Это очень не эффективно, насколько я понимаю.
>>860161
#182 #860158
>>860154
a += a?
>>860171
#183 #860160
>>860153
Зачем использовать питон если есть ява?
>>860162>>860167
#184 #860161
>>860157

>Мускул


PostgreSQL
>>860164
#185 #860162
>>860160
Зачем использовать ООП если есть машинный код?
#186 #860163
>>860153

>фласк


Фласк при каждом коннекте создает тред и в нем вызывает функцию обработчик. Это очень ресурсозатратно, т.к. треды системы - это ограниченный ресурс. Торнадо решает эту проблему.
Вообще, гугли "проблема 10000"
#187 #860164
>>860161

>PostgreSQL


Он не имеет ограничения на один тред?
>>860166
#188 #860165
>>860163

>при каждом коннекте


При каждом реквесте fix
#190 #860167
>>860160
зачем нужна эта ява, когда есть скала?
#191 #860168
>>860166
Завтра почитаю, сегодня уже устал. Что там в двух словах?
>>860169
#192 #860169
>>860168
Завтра почитаешь.
#193 #860170
Кстати, боттл тоже создает тред на каждый реквест? Просматриваю документацию и не нахожу ответа пока.
#194 #860171
>>860158
Вот чтоб понятнее было
sum = 0
x = int(input())
for y in range (хуй знает что писать):
sum = sum + y
print(sum)
>>860176
#195 #860173
Вот вы тут всякие треды, эффективность и прочую хуйню обсуждаете, вы в хайлоад проектах пишете или что?
Откуда вы все это знаете? Думаю после дайв ин питон я все равно половину треда понимать не буду.
#196 #860174
>>860150
... потому что это современные синхронные фреймворки а не говно мамонта созданное еще до aiohttp?
>>860178
#197 #860176
>>860171
a = [0,1,2,3,4,5,6,7,8,9]
b = 0
for num in a:
b += num
print(b)
>>860181>>860185
#198 #860177
>>860163

>Фласк при каждом коннекте создает тред


Фласк создает или веб-сервер?

>треды системы - это ограниченный ресурс.


То есть в одном потоке ограничений нет?
>>860180
#199 #860178
>>860174

>современные синхронные фреймворки


Зачем они нужны сейчас?
#200 #860179
>>860163
Пиздец у тебя куски говна вместо мозгов. Гугли зачем вообще нужна асинхронность в вебе. Или иди делать каждое приложение на loop'e, кретин.
>>860182>>860188
#201 #860180
>>860177

>Фласк создает или веб-сервер?


Хз. Фласк сам по себе не вебсервер?

>То есть в одном потоке ограничений нет?


Не понял. Один поток дорого стоит.
>>860186
#202 #860181
>>860176
Да у меня же там разные вводные данные подставляються.
И списки в этом учебнике еще не проходили, значит можно без них
>>860183
#203 #860182
>>860179
Я знаю, что такое асинхронность и торнадо. Это у тебя какие-то проблемы походу.
#204 #860183
>>860181

Если нужно совсем по мудачески с вводом цифры каждый раз, то:

Sum = 0
while Sum < 45:
a = input()
Sum += int(a)
print(Sum)
>>860189
#205 #860185
>>860176

>a = [0,1,2,3,4,5,6,7,8,9]


>b = 0


>for num in a:


>b += num


>print(b)



Блядь короче решил, но это пиздец порно

a = [int(input()), int(input()), int(input()), int(input()), int(input()), int(input()), int(input()), int(input()), int(input()), int(input()), ]
b = 0
for num in a:
b += num
print(b)
>>860189
#206 #860186
>>860180

>Хз.


Но, я смотрю, это тебе не мешает рассуждать о его неэффективности.

>Не понял. Один поток дорого стоит.


Торнадо, как я понимаю, все выполняет в одном потоке, так?
>>860190>>860191
#207 #860188
>>860179
Ты, в общем-то, прав, но чего так кричать. Сам же знаешь, какой хайп вокруг любой опердени подымают.
>>860197
#208 #860189
>>860185
Ебанутый не делай так.

Используй этот вариант, только с циклом подумай >>860183
>>860196
#209 #860190
>>860186

>Но, я смотрю, это тебе не мешает рассуждать о его неэффективности.


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

>Торнадо, как я понимаю, все выполняет в одном потоке, так?


Он считай создает свой шетдулер, который управляет асинхронными процедурами.
#210 #860191
>>860186
фласк не требует именно тред, достачно и гринлета, если сервер поддерживает. Из доков:

There is only one limiting factor regarding scaling in Flask which are the context local proxies. They depend on context which in Flask is defined as being either a thread, process or greenlet. If your server uses some kind of concurrency that is not based on threads or greenlets, Flask will no longer be able to support these global proxies. However the majority of servers are using either threads, greenlets or separate processes to achieve concurrency which are all methods well supported by the underlying Werkzeug library. (http://flask.pocoo.org/docs/0.11/becomingbig/)
>>860193
#211 #860193
>>860191
Ну я так и думал, что он поддерживает такой выбор. Но сейчас треды и процессы не актуально.
>>860194
#212 #860194
>>860193

>не актуально


неактуально fix
#213 #860196
>>860189
sum = 0
for i in range(10):
number = int(input())
sum += number
print(sum)
Вот эталон
>>860201
#214 #860197
>>860188
Только что написал простыню с объяснением по пунктам что к чему, но потом подумал что зачем мне перед олигофренами палить годноту, так что пусть дальше школьники пилят свои говносайты на говне мамонта и удивляются почему у них латентность в 70 раз больше чем у нормальных людей, хотя я не уверен что кретин вообще хотя бы что-то написал в своей жизни, по всей видимости просто в вики прочитал и охуел от цифр, не поняв их значений.
>>860200>>860208
#215 #860200
>>860197

>на говне мамонта


Ты про торнадо так?
#216 #860201
>>860196
Нет.

a = 0
for i in range(10):
a += int(input())
print(a)

Одна переменная, если i не считается.
#217 #860203
я вообще не понял как связана проблема 10k и треды. может проблема не в тредах, а в блокирующей природе сишных сокетов и наличию GIL - что при 10k вылезает в огромное количество оверхеда на переключение с треда на тред? я все правильно понял?
>>860206>>860207
#218 #860204
Ну что ж двач жесток, но ответа не дает.
#219 #860206
>>860203
Проблем тут много. GIL мешает, треды дорогие, блокировки и смена контекстов. Все правильно.
#220 #860207
>>860203

>в блокирующей природе сишных сокетов


Есть gevent и kqueue.
>>860216
#221 #860208
>>860197
На самом деле, смысла в простыне нет, в следующем треде будут те же самые сентенции. Ничего не изменится.
Но если ты разбираешься, подскажи, как этот tornado использует несколько ядер и какой прирост в зависимости от их количества. Пока найти не особо получается.
>>860210>>860211
#222 #860210
>>860208

>как этот tornado использует несколько ядер и какой прирост в зависимости от их количества.


Я другой, но думаю, что только запуском нескольких интерепретаторов на каждое ядро.
#223 #860211
>>860208

>в следующем треде будут те же самые сентенции


Какие сентенции? Вот что ты в голове у себя нарисовал?
>>860227
#224 #860216
>>860207
но gevent это же та же реализация event loop только на сях?
>>860217>>860218
#225 #860217
>>860216
в смысле сокеты то теже используются - блокирующие, или нет?
#226 #860218
>>860216
В gevent есть асинхронные сокеты. Не понял по поводу event loop.
>>860222>>860232
#227 #860221
kqueue - это как gevent, но для бсд. А торнадо - это обертка для gevent и kqueue, чтобы ты не заморачивался. Еще торнадо должна, вроде бы, винду поддерживать, но я не проверял.
#228 #860222
>>860218
ну в доках пишут что эта либа юзает сишный event loop - libev
#229 #860223
Вопрос для боттлщиков. Боттл ваш создает тред на каждый реквест или нет? Есть ли возможность прикрутить торнадо к нему?
>>860224>>860226
#230 #860224
>>860223
С другой стороны не нужно ничего прикручивать.
#231 #860226
>>860223
ну слушай, ты вот спрашиваешь все про боттл, фласк... и асинхронность (подозреваю что ты ее имеешь в виду), а зачем тебе асинхронность скажи мне пожалуйста?
>>860231
#232 #860227
>>860211
Например

>треды и процессы не актуально


>Фласк при каждом коннекте создает тред


Есть подозрение, что не фласк, а веб-сервер создает, и не тред, а процесс. Nginx, вроде как, асинхронный, и если я правильно загуглил, с gevent loop так может работать. И тут уже суть спора для меня не ясна становится.
>>860231
#233 #860231
>>860226
Хочу больше выжить из каждой машины.
>>860227

>а веб-сервер создает


Ок. А если я просто запускаю фласк, как в туториале, то что там за сервер? Werkzeug?
>>860234>>860236
#234 #860232
>>860218
что такое асинхронные сокеты? посредством чего это они вдруг стали асинхронными? не благодаря ли loop?
>>860235
#235 #860234
>>860231
ну если хочешь письку померить то возьми aiohttp на uvloop в связке с nginx
#237 #860236
>>860231
Сервер, конечно, как же иначе. Только что там у него внутри я сказать не осмелюсь, ибо не знаю.
>>860237
#238 #860237
>>860236
Там свой питоновский сервер я должен быть. Вот он и создает процессы/треды.
#239 #860248
>>860235
ну, сам то читал? там же написано:
The libev system is, like libevent, an event loop based system that builds on top of the native implementations of poll(), select(), and so on to provide an event based loop.

и чуть выше, отом, что в отличии от poll и select эта либа обертка добавила ТАДААМ генераторы-корутины, что бы не обходить весь луп каждый раз.
>>860250
#240 #860250
>>860253
#241 #860253
>>860250
я о том что это все loopы и их реализации, а что такое асинхронный сокет я не знаю или не понял просто.
>>860254
#242 #860254
>>860253
Ок, с асинхронным сокетом я загнул. Просто писали, что обычный сервер при каждом реквесте или форкается или создает новый тред.
>>860256>>860258
#243 #860256
>>860254

>Просто писали


Просто выше писали fix
#244 #860258
>>860254
да, и для 99% сайтов их хватает
>>860260
#245 #860260
>>860258
Посещаемость 99% сайтов?
>>860263
#246 #860263
>>860260
Посещаемость твоего сайта на торнадо?
>>860264>>860266
#247 #860264
>>860263
У меня нет сайта, я мастурбирую на своей машине. Что за 99% сайтов? Вангую, что они стоят за cloudflare и имеют статический контент типа как на дваче.
>>860267>>860268
#248 #860266
>>860263
Вообще, когда я говорю про сайт, то говорю на самом деле про http. На нем я делаю REST на локалке.
#249 #860267
>>860264
я тоже, нет не дома, в одной конторе хттп апи написал на aiohttp просто что бы разобраться в асинхронности. но сайты я делаю на джанге.
>>860270
#250 #860268
>>860264
Тогда что ты пытаешься "выжимать" из своей машины, о каких 10к идет речь?
Кстати, как уживается торнадо с другими процессами, или он себе ядро одно забирает и никому не отдает?
>>860269
#251 #860269
>>860268

>как уживается торнадо с другими процессами,


Какими процессами? Там отдельный сервант для обработки данных.
>>860271
#252 #860270
>>860267

>aiohttp


Потом посмотрю.
#253 #860271
>>860269
Откуда же мне знать, что там у тебя еще крутится. Я хотел узнать как он себя ведет в простое, когда конкурирует с другими процессами за ресурсы, вот это все.
>>860272
#254 #860272
>>860271
Когда запросы не приходят, то питоновский процесс не выполняется. Никаких лишних движений не делается.
>>860279
122 Кб, 1278x1181
#255 #860273
Вот что случается с людьми, когда они вместо изучения теории массового обслуживания, они крутят рулеточки в /b/.
>>860275
#256 #860275
#257 #860276
А давайте дальше меряться хуями? Если я кину сюда хуйню, которая держит 180к реквестов в секунду на одной машине, вы на ней свои сраные гостевухи побежите делать или как?
>>860277>>860278
#258 #860277
>>860276

>180к


Это уже интересно.
#259 #860278
>>860276
о! милости просим! канешна давай!
#260 #860279
>>860272
Но там же loop. Как он может не выполняться?
#261 #860280
>>860279
Ты доки на торнадо смотрел?
#262 #860281
>>860279
Нет, пока не требовалось. Интересуюсь, раз уж зашла тема о торнадо. Не только же срач устраивать, хочется полезного услышать.
>>860283>>860284
#263 #860282
Вообще, я думаю над тем, как переписать сервер с питона, на C++ или java, но пока у меня нет опыта с тамошними либами.
#264 #860283
>>860281
Ну вот когда почитаешь, то и поймешь.
>>860292
#265 #860284
>>860281
Ну если уж решил в это дело въехать, то лучше смотри twisted.
>>860288
#266 #860288
>>860284
только он не для веба. added
#267 #860291
>>860279
мне кажется там принцип похож на генератор питонячий, пока ты не сделаешь next() ты не получишь значение - а что происходит с процессом пока ты в "ожидании" хз
>>860294
#268 #860292
>>860283
Я так и думал. Спрашивать нет смысла.
#269 #860294
>>860291
скорее всего нихуя не происходит и эта штука сама по себе легковесна
>>860296
#270 #860296
>>860294
Когда что-то происходит, то вызывается соответствующий обработчик. В остальное время процесс заморожен и тактов процессора не тратит.
>>860297
#271 #860297
>>860296
ясно, спасибо
#272 #860298
Экспертов полон тред. Лучше бы не спрашивал.
>>860299>>860301
#273 #860299
>>860298
тред не эффективен!?
>>860301>>860302
#274 #860301
>>860298
>>860299
дождись переката будет тебе луп!
#275 #860302
>>860299
Не хватает асинхронности?
>>860303
#276 #860303
>>860302
Не хватает интеллекта!
>>860304
#277 #860304
>>860303
для cpu-bound задач тебе в процессы, треды и эвент лупы тут не помогут
>>860305
#278 #860305
>>860304
Только спец. процессоры для обработки графов! Только хардкор!!!
14 Кб, 225x225
#279 #860306

>Делаешь такой говносайт на торнадо, ты же про, 10к реквестов


> По счастливой случайности, на нем внезапно есть много посетителей


>Сайт наёбывается на первой же 1к реквестов в секунду


>ПАЧИМУ, Я ЖИ ВЫЖИЛ ИЗ МАШИНЫ МАКСИМУМ ЧТО ПРОИСХОДИТ?!!


>Тебя увольняют с работы, предварительно отпиздив


>Хачи в подворотное вырезают у тебя почку потому что тебе негде жить.


>Ты умираешь.

>>860307
#280 #860307
>>860306

>Сайт наёбывается на первой же 1к реквестов в секунду


Вангую, что все дело в базе данных.
>>860308>>860311
#281 #860308
>>860309
#282 #860309
>>860308

>aiopg


Ну теперь почку не вырежут.
>>860310
#283 #860310
>>860309
вырежут, потому что забыл написать в ОДНОМ ВСЕГОЛИШЬ СУКА МЕСТЕ await
#284 #860311
>>860307
Не только.
>>860312
#285 #860312
Нашел кое что по теме
http://bottlepy.org/docs/dev/async.html

>>860311

>Не только.


А что еще?
>>860324
#286 #860324
>>860312

>А что еще?


Вот зачем ты такие вопросы задаешь. Зачем экспертов в неловкое положение ставишь. Только от темы с loop ушли, а ты опять.
#287 #860329
Я смотрю, тут эксперты уровня б собрались. Подскажите тогда, что джуну надо знать из джанги чтобы его нахлебником в конторку взяли?
>>860470>>860487
#288 #860350
Я вас умоляю, помогите поставить Джанго на Винду. Я ничего не понимаю, как именно это сделать т_т
Если можно, то в телегу напишите мне, а то я совсем отчаялась. Dosvidarya
>>860370>>860805
#289 #860370
>>860350
DjangoGirls туториал.
#290 #860456
Зачем нужен Python, когда есть PETOOH?
#291 #860470
>>860329
Верстать, джава скрипты и прочие свистоперделки, питон и собственно джангу + SQL.
>>860486>>860701
#292 #860486
>>860470
блядь,охуеть
>>860495
#293 #860487
>>860329
А ты думал почитаешь дайв ин питон, заинсталлишь джангу и будет по 3к баксов рубать?
#294 #860495
>>860486
Ну типа ты спросил что тебе нужно знать. Я ответил. Требования к твоему уровню знаний будет сугубо зависеть от ебанутости рекрутёра. Собственно также как и твои обязанности. Если тебя будут брать в качестве джуна потому что им рук не хватает, то знания будут нужны ахуенные, а работать будешь нормально через недели 2. Если же тебя берут на вырост, то знания будут равносильны просто понимаешь ли ты что это и нахуй это надо и будешь месяц, а может и два верстать html,css вместо сеньёров.
>>860501
8 Кб, 744x240
#295 #860499
>>860502>>860511
#296 #860501
>>860495
Кто-то берет людей на вырост?
>>860503
#297 #860502
>>860499
Н А Г Л Я Д Н О С Т Ь
А
Г
Л
Я
Д
Н
О
С
Т
Ь
#298 #860503
>>860501
Большие компании - да.
>>860506
#299 #860506
>>860503
Просто я сам вкатываюсь, два месяца делаю блядь говнозаданаие типадля джунаджанга, смотрю всякие конторы, там нужны gevent, rabbimq, redis, celery, прочее говно. Где блядь я его изучать буду и куда пихать если я не могу представить нахуй оно мне в моих проектах.
>>860510>>860526
#300 #860510
>>860506
о! а дай мне это задание, и вообще вакансию, тебе все равно рано, а мне как раз.
#301 #860511
>>860499
print(sum([int(input()) for i in range(3)]))
Эталонное, кстати, простое и понятное - то что нужно.
>>860512>>860516
#302 #860512
>>860511
Зачем квадратные скобки?
>>860533
#303 #860516
>>860511
Мой вариант прост и нагляден. Их вариант это быдлокод. Твой вариант не читаемый.
>>860525>>860538
#304 #860525
>>860516
Как мне кажется, "i" стоит на "_" заменить, для наглядности.
>>860530
#305 #860526
>>860506
Ну, gevent и redis точно не говно. Про остальное не знаю.
Но вообще, если ищешь работу, то королевская дорога - это связи. По английский это называется нетворкинг. Я не говорю про блатные связи, я скорее про хорошую репутацию и рекомендации.

Как наработать связи? Участвуй в проектах, имей свой хороший гигхаб аккаунт и стучись во все двери.
#306 #860530
>>860525
Может быть.
#307 #860533
>>860512
Я ошибся, случайно нажал. Там круглые должны быть.
>>860537
#308 #860537
>>860533
Зачем так круглые скобки?
>>860543
#309 #860538
>>860516

> не читаемый


> python


Недавно вкатился, макака?
>>860540>>860553
#310 #860540
>>860538

>нечитаемый

>>860548
#311 #860543
>>860537
Для ограничения областей видимости виртуальной машины.
>>860545
#312 #860545
>>860543
Поясни.
>>860549>>860551
#313 #860548
>>860540
Ты видимо не видел нечитаемого кода. Полазий по исходникам веркцойга например, который ядро фласка и удивись этой магии.
>>860550>>860553
#314 #860549
>>860545
Это элементарные вещи. Если уж даже это приходится объяснять, то это печально. Гугли что такое виртуальная машина и гусиная типизация.
>>860552
#315 #860550
>>860548
Я просто слово починил, а ты даже здесь нашел повод свое ЧСВ продемонстрировать. Не надо так.
#316 #860551
>>860545
Ты опять начинаешь? Сколько раз просили не задавать неудобных вопросов, всех экспертов распугаешь.
#317 #860552
>>860549
Я знаю, что такое виртуальная машина и гусиная типизация. Теперь объясняй, что значит "Для ограничения областей видимости виртуальной машины". Походу выебываешься.
#318 #860553
>>860548
>>860538

Говно мамонта из глаз выскреби и пойми, что речь о понятности и читаемости для тотал ньюфагов. Разбирать им что написано одной строкой в принте - не так то и легко.

Ох уж эти далбаебы борцы за читаемость и кокококо питон читаемый иди на Pep помолись...
>>860554>>860555
#319 #860554
>>860553
У меня была та же мысль, но я решил промолчать...
#320 #860555
>>860553

> питон читаемый


Это только замануха для вкатывальщиков.
Мне то норм, я не первый год в этом говне копаюсь, хули ты так раскудахтался?
>>860556>>860557
#321 #860556
>>860555

>Мне то норм, я не первый год в этом говне копаюсь,


Тебе все нравится? Ну копайся тогда, да.
#322 #860557
>>860555

> хули ты так раскудахтался?


Это единственный язык, который воспринимают фанатичные далбаебы врывающиеся на фразу "Не читаемый" в питон треде. Пришлось освоить.
488 Кб, Webm
#323 #860558

>этот тред

#324 #860559
Let the srach begin!
>>860561
#325 #860561
>>860559
Лямбда функции не нужны.
Классы всего лишь набор функций.
Python 3 > Python 2.
Django > Flask > Bottle > моча > Tornado.

Выбирай.
>>860562>>860563
#326 #860562
>>860561

>Python 3 > Python 2.


>Классы всего лишь набор функций.


Но ведь правда же
#327 #860563
>>860561

>моча


Моча что такое? Модератор?
#328 #860564
Давайте лучше совместно запилим проект. У кого-нибудь появились идея для прожекта?
#329 #860565
>>860564
Кстати да, нужно создать в будущем отдельный тред для этого. Надо же школьникам учиться программировать.
>>860569
#330 #860566
Классы вообще поебота. Нахуя вообще нужно это ООП. Еботня для дебилов.
#331 #860567
Что такое "модератор"?
#332 #860569
>>860565
Не только школьникам но и 25-и летним вкатывателям, живущим у мамок на шее, к которым отношусь и я
>>860571
119 Кб, 396x400
#333 #860570
>>860564
У меня есть, я и пилю. Нахуя мне еще кто-то нужен, если он ничего кроме роутинга из туториала не умеет?
>>860571
#334 #860571
>>860569
Идеи есть?
>>860570
Значит, тебе никто не нужен. В чем проблема-то? Я к тебе не напрашиваюсь.
>>860605
#335 #860604
>>860564
пилю accounts апп для джанги, как результат объединение django-registration, django-custom-user и python-social-auth.
кастом юзер для замены (удаления) username на email. пока что все связал: рега, сброс пароля, подтверждение по емайл... для обычного юзера проходит, социальный вход протестил только на гугл аккаунте. в python-social-auth нашел баг, хз как его законтрибьютить. если кому надо могу залить как есть на гитхаб.
>>860607>>860609
#336 #860605
>>860571
Чат напиши.
#337 #860607
>>860604
Ну ты даешь. Нужно было сразу со скелета контроль версий использовать.
>>860608
#338 #860608
>>860607
не ну он есть просто в рамках одного сайта, а попути вот есть еще этот апп
#339 #860609
>>860604

>подтверждение по емайл


Это лишнее в современном мире.
>>860612
#340 #860612
>>860609
почему?
>>860615
#341 #860615
>>860612
Потому, что не нужно. От ботов это не защитит. Юзер палит email тебе, что не есть гуд. Плюс, на мыльном сервере остается письмо, что тоже плохо.

Если тебе надо отфильтровать ботов, то пробуй разные виды капчи.

Меня больше всего напрягает то, что нужно для каждого форума регить новое мыло.
>>860618
#342 #860618
>>860615
гугло капча планируется да, емайл мне всяко нужен - это имя пользователя
#343 #860620
>>860618
Если хочешь набрать базу с емэйлами, то так и скажи. Но по хорошему гнать таких сайтостроителей ссаными тряпками.
>>860621
#344 #860621
>>860618
точнее логин. а что бы не регить мыло социал-ауф, просто жмакаешь кнопку и ты зашел.
>>860620
не хочу я никакую базу) просто нужно как то идентифицировать юзера и обратная связь нужна
>>860624
#345 #860622
>>860618
Капчу тоже желательно не гугловскому, чтобы не сливать ему инфу, а свою сделать. Хорошо бы, чтобы был хороший проект на гитхабе, который все могли пользовать. Этот проект должен быть децентролизован, т.е. не сливать в один централ все данные, как это делает, например, disqus для комментов.
>>860627
#346 #860624
>>860621

>социал-ауф, просто жмакаешь кнопку и ты зашел.


Т.е. вместо мыло надо в соц. сети регится. Свой телефон туда писать и т.д. Я понял. Слава богу, что есть такая замечательная вещь, как бесплатные номера. Но вообще, гнать таких программеров взашей.
>>860626>>860627
#347 #860626
>>860624

>регится


региться
#348 #860627
>>860622>>860624

да я не криптоанархист какой нибудь, у меня сугубо бизнес задача)
>>860630
#349 #860630
>>860627
Я тоже не криптоанархист. Я просто говорю тебе, что тебе не нужны мыло и соц. сети. Просто логин и пароль. Бизнес задача, да.
>>860633>>860635
#350 #860632
Наебизнес задача.
#351 #860633
>>860630
ты лучше меня знаешь что мне нужно? ок)
>>860634
#352 #860634
>>860633
Я знаю, что я на такой сайт не пойду. Я думаю многие нормальные люди тоже не пойдут.
>>860636
#353 #860635
>>860630
А если пользователь забыл пароль, то как восстановить?
>>860637>>860644
#354 #860636
>>860634
да я не зову, да и некуда звать еще)
а что неудобного во входе на сайт через соц сети? меня вот напрягает везде региться, просто жму кнопку и захожу
>>860639
#355 #860637
>>860635
Никак. Пусть регит новый акк и не забывает пароль.
>>860642
#356 #860639
>>860636
То, что надо регить отдельный акк в соц. сети.
>>860642>>860646
#357 #860642
>>860637
твоими словами:

>>Но по хорошему гнать таких сайтостроителей ссаными тряпками.


>>860639
зачем?
>>860643
#358 #860643
>>860642
За то, что не могут просто сделать обычную регистрацию на сайте без мыла и соц. сетей. Что не ясно то?
#359 #860644
>>860635

>А если пользователь забыл пароль


Гнать таких таких пользователй ссаными тряпками
#360 #860646
>>860639
то есть у юзера будет личный кабинет, баланс денежных средств, история операций... (это все в рамках моего проекта) и ты мне предлагаешь выгнать нахуй забывчивого юзера!?
ТЫ ТУПОЙ ДА?
>>860649
#361 #860649
>>860646
Ну если у тебя там так все серьезно, то пусть звонит в тех поддержку и отвечает на секретный вопрос. Тупой тут только ты.
>>860651
#362 #860651
>>860649
да ты иди нахуй вообще олень) ахах
>>860652
#363 #860652
>>860651
Настоящий phpшник. Горе пограммист
>>860655
#364 #860653
Еблан не может понять, что соц. сети и мыло делают пользователя и систему более уязвимой.
>>860658
#365 #860655
>>860652
а сначала подумал что ты зеленый. а потом понял что ты цвета хаки. и можешь не семенить уже.
#366 #860658
>>860653
Двачую. Надо привязывать на мобильник.
>>860659>>860660
#367 #860659
>>860658
молильник будет позже, сначала надо хотя бы это доделать
#368 #860660
>>860658
Да не надо никуда привязывать. Просто контрольного вопроса достаточно.
#369 #860661
>>860564
У меня есть, связано с харкачом, но палить не буду, хоть и самому лень пилить там на вечер работы даже для меня, учусь только по гуглу
>>860662>>860665
#370 #860662
>>860661
Скачивалку/архивирование тредов?
>>860666
#371 #860665
>>860661
Тогда зачем ты об этом написал, если ни палить, ни пилить не собираешься?
>>860667
#372 #860666
>>860662
Не, это наверно каждый делал, я в отличии от многих, пилил многопоточную загрузку.
>>860668
#373 #860667
>>860665
Чтобы ты заинтересовался)
#374 #860668
>>860666
Ну и в чем разница? Просто добавил несколько потоков.
>>860670
#375 #860670
>>860668
Ну учитывая потоки в пистоне... Было не так просто найти решение с дефолным urllib и количеством потоков.
>>860671
#376 #860671
>>860670
А ты не потоки, а concurrency пользуй. И не urllib, а, скажем, requests.
>>860674
#377 #860674
>>860671

>concurrency


Даже не знаю что это.

>requests


У меня была ГАЛОЧКА и сейчас немного есть стараться обходится без сторонних библиотек.
>>860675
#378 #860675
>>860674

>стараться обходится без сторонних библиотек.


Это хорошая мысль. Ну, используй торнадо или твистер )
#379 #860688
Кстати, для тех, кто делает подтверждение через емэйл. Знайте, что очень часто такое письмо попадает в спам.
#380 #860696
А по питону никто ничего подобного не видел?
https://jsperf.com/browse
#381 #860701
>>860470
На каком уровне жс нужно знать? Из твоего ответа выходи что я фулстаком иду работать а не на ламповой джанге писать.
>>860702
#382 #860702
>>860701
Я другой, но ты чем хочешь заниматься?
>>860705
#383 #860705
>>860702
Я хочу найти работу джанго джуном. Знаю джангу, скл и немного хтмл, думаю что еще нужно, чтобы взяли.
>>860706
#384 #860706
>>860705
javascript, jquery. Можно и другие js-frameworks. Базы данных, админить. Это не значит, что ты будешь админом, но linux/bsd пользовать надо уметь.
>>860708
#385 #860708
>>860706
С линухом на уровне пользователя знаком. А вот с жсом вообще не знаком. Я так понимаю что его тоже на нормальном уровне нужно знать?
>>860710
#386 #860710
>>860708
Да, на js надо уметь. Линукс тоже подтяни до уровня админа.
Пиши разные проектики, выкладывай их на гитхаб. Гитхаб - это, считай, твоя сайт-визитка.
Если есть знания, то пиши статьи, так распиаришься. Еще лучше, если на конференциях будешь выступать, но это уже не уровень джуна. Я тебе общую идею нарисовал.
10 Кб, 208x460
#387 #860713
>>860710
Спасибо за ответ, няш. Пойду учить жс.
>>860732
#388 #860732
>>860713
Отпишись как пойдет, мне вот рвет жопу от жабоскрипта после пистона.
#389 #860753
>>860710
Ну охуеть тут требований.
#390 #860771
>>860710
жиквери это считается фронтом или бэком?
>>860777
#391 #860777
>>860771
фронт. используется для манипуляции с домом, аяксами и т.п. Чтобы у юзера было все красивенько, и чтобы страница не рефрешилась без нужды.
211 Кб, 1366x768
#392 #860778
Чуть голову не сломал. Второй раз в жизни сталкиваюсь с регексами.
>>860806
16 Кб, 1246x678
20 Кб, 1246x678
#393 #860785
Нужна помощь.

Читаю think python, который, вроде как переписан для 3.5. Но там постоянно тот же принт не требует скобок, на что ругается мой интерпретатор. Но вопрос не в этом.

Есть упражнение №5 http://greenteapress.com/thinkpython/html/thinkpython004.html#toc39

И решение к нему http://www.greenteapress.com/thinkpython/code/grid.py

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

С версией 2 всё работает, а с версией 3.5 получается шляпа.

Объясни, почему так, анон.
>>860798>>860881
#394 #860798
>>860785
Попробуй в print_beam и print_post добавь к print параметр end="", вот так:
print ('| ', end="")
>>860803
#395 #860803
>>860798
Сработало. Можешь объяснить, что произошло?
>>860804
#396 #860804
>>860803
Могу только подсказать, что дело в запятой. Посмотри документацию для print в python2 и python3
>>860808
#397 #860805
>>860350
Через pip, очевидно же
#398 #860806
>>860778
Но ссылку типа https://2chxhk/anus/res/000html оно у тебя сожрёт. Что регулярка вообще проверять должна? Только ссылки на треды?
>>860820>>860825
#399 #860808
>>860804
Спасибо, почитаю
>>860810
#400 #860810
>>860808
Кстати, вопрос, с чего лучше начать: Think Python или Dive into Python3?

Потом хотел взять Automate the Boring Stuff with Python
>>860819
#401 #860819
>>860810
Я лично считаю, что лучше взять сайт с задачками, кодвар или чекио какой-нибудь, решать задачки и смотреть чужие решения, при этом активно используя гугл и документацию. А уж потом брать книгу, и быстро пробегая по уже известному, подробно останавливаться на новом. По крайней мере, для меня сработал именно такой вариант. Но я сам нуб, и нечего меня слушать.
20 Кб, 492x256
#402 #860820
>>860806
А стоп, https://2ch"hk/pr/bla'''bla/bla/res/000_html оно тоже сожрёт же. Если тебе только ссылки на треды нужны, то юзай что-то типа пикрелейтеда
>>860825
#403 #860825
>>860806
>>860820

Ну защита от совсем отбитых, которые дичь вставлять будут. Понятно, что если полный валидатор регексом писать то крыша поедет. На архиваче оригинальном та же хуйня, жрет разделы типа anus и даже точки и юникод.
На самом деле это для себя на время тестирования ибо заебся всталять хуйню. Потом придется что-то другое придумывать, наверное. Как вариант выбор доски из списка, а в инпут только номер треда с интегер валидацией.
>>860830>>860882
#404 #860830
>>860825
А если я случайно два раза вставлю ссылку, она валидатор ее не пропустит?
>>860831>>860832
#405 #860831
>>860830
Ахах, чего-то я не знаю даже как джанговский регекс валидатор на это посмотрит. Сейчас кинцо смотрю, не могу разворачивать проджект, можешь на сайте проверить.
14 Кб, 661x189
15 Кб, 653x181
#406 #860832
>>860830
Если у тебя не указан ключ g, то не пропустит
а ещё зависит от самого валидатора, не знаю, как у вас он в питоне устроен, я тут мимо
#407 #860861
Cудя по вашему треду, на питоне только веб-макаками можно работать, это что ли все его возможности?
>>860868>>860888
#408 #860868
>>860861
Рынок диктует правила. Хотя я пока только себе под подушку пишу.
#409 #860881
>>860785

>С версией 2 всё работает,


У меня не работает. А проблема в том, что у тебя в неправильном месте перенос строки делается.
>>860889
#410 #860882
>>860825

>Понятно, что если полный валидатор регексом писать то крыша поедет


Я могу ошибаться, но по моему невозможно регэкспом проверить валидность url. Регулярная грамматика недостаточно мощная для этого. Тут нужен конечный автомат.
>>860891>>860893
#411 #860888
>>860861
Вроде как танки на нём.

Я себе как программописалку хочу и замену вижуал бэсику.

Но я пока полный ноль
#412 #860889
>>860881
У меня запустилось.

Нужно внутри скобок было? (если мы о 2 говорим)
>>860894
#413 #860891
>>860882
Ну есть шизики, которые по 5000 символов пишут регексы, развлекаются типа, соревнуются. Я щитаю избегать нужно таких ситуаций.
Да и вообще мне тут уже не до регексов. Теперь болит башка как небать imgur на ограничение по ip и как распределить задачи с архивированием тредов.
>>860894
#414 #860893
>>860882
Но у него же не любой url, а очень ограниченное количество вариантов.
>>860894
#415 #860894
>>860891

>как небать imgur на ограничение по ip


?
>>860889

>Нужно внутри скобок было? (если мы о 2 говорим)


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

>Но у него же не любой url, а очень ограниченное количество вариантов.


Ну да, правильно. Мне просто вспоминается, что невозможно проверить email address на валидность через regexps. Regexp недостаточно выразителен для этого.
Но вообще, url много фич имеет. Тот же escaping.
>>860895>>860897
#416 #860895
>>860894
Я скорее про запятые спрашивал, чтобы следующий принт был на той же строке
>>860896
#417 #860896
>>860895
У print есть параметр end. По дефолту он = '\n'. Тебе надо поставить его = ''. Еще вопросы?
>>860900
#418 #860897
>>860894

>как небать imgur на ограничение по ip


Ну имгур делит общий пул на всех пользователей API. И он не так уж мал (на самом деле для архивирования /b, к примеру, очень мал). Но есть еще ClientRemaining, который вообще мал. Имгур расчитывает что будет писаться десктопный софт, типа скриншотера, и запускаться на разных машинах, т.е OAuth общий, но клиенты разные. А тут ему прилетает все с одного ип где работает воркер. И все, туши свет.
Может кто-нибудь знает еще хостинги изображений с АПИ.
>>860899
#419 #860899
>>860897

>т.е OAuth общий, но клиенты разные


Я сегодня уже усталый и не совсем понимаю, что это значит.
В любом случае, если я правильно понял, то, наверное, нужно использовать прокси.
>>860905
11 Кб, 620x62
#420 #860900
>>860896
Не пинай меня, пожалуйста, но это же только для 3?
>>860903
#421 #860903
>>860900
Это разное. Тебе надо print(s, end='') насколько я понимаю.
>>860904
#422 #860904
>>860903
Ладно, сейчас углублюсь в литературу, чтобы не засорять тред тупыми вопросами.
Еще раз спасибо за помощь.
#423 #860905
>>860899
Да, только тут же возникает вопрос их автопиздинга с каких-нибудь чекинг-сайтов. Все это в купе увеличивает возможность фейла в разы.
Черт возьми, мне интересно куда сливает имаги архивач и на какие шиши он существует, учитывая что там нет рекламы (или есть?).
>>860906>>861005
#424 #860906
>>860905
А ты imgur api пользуешь? Без апи картинки брать не думал?
>>860908
#425 #860908
>>860906
Что значит "брать"? Мне их нужно загружать куда-то.
>>860909>>860911
#426 #860909
>>860908
Может на торренты выкладывать лучше?
>>860910>>860914
#427 #860910
>>860909
Ну или хостинг, который зеркалом будет.
#428 #860911
>>860908
давно хотел, но стеснялся спросить: а зачем тебе треды и картинки из тредов, зачем это хранить?
>>860914
#429 #860912
tumblr еще вариант.
>>860913>>860914
#430 #860913
>>860912
Только там ограничения на размер, кажется.
#431 #860914
>>860909
>>860911
Я не пойму, ты тролишь или просто суть не понимаешь.
Я пишу подобие сайта "Архивач" (https://arhivach.org/). Мне нужно спасать изображения с двача, загрузив их куда-то, чтобы потом их дергать и отображать тред нормально после того как его смоет на самой борде.
Кстати, сочувствующий приглашаю помочь советом/кодом/идеей.
>>860912
А он прямыми ссылками умеет какать? Фликр щас посмотрел, но там шиза полная. Не размещайте больше 30 имаг на страницу, не ебите гусей, не скрывайте свою личность.
#432 #860915
>>860914

>сочувствующих


самофиксик
#433 #860917
>>860914
Только хотел фликр предложить. Вообще, торренты самый лучшая мысль. Индекс типа
image_id -> unique_hash и далее уже, скажем, набор файлов на 10gb. Так раз за разом получается история двача в картинках лол.
А текст постов можно хранить в db.
С видео то же самое, что с картинками.

Ну а для удобства можно запустить сайт с хостингом, где все это будет лежать. Если что, то все на торрентах.
>>860926
#434 #860918
>>860914

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


зачем?
>>860919
#435 #860919
>>860918
Хочет архив иметь, видимо.
>>860920>>860926
#436 #860920
>>860919
ну я понял, но зачем?
#437 #860921
>>860920
Для истории, наверное.
>>860924>>860926
#438 #860923
>>860920
А может для анализа. Big data и все такое.
>>860926
#439 #860924
>>860921
неужели треды с картинками на дваче представляют какой то интерес!?
>>860926
#440 #860926
>>860917
Это крутые идеи, но для них нужно как минимум иметь отдельный процесс который будет заливать и забирать торренты. Пока имага будет выкачиваться обратно для показа клиенту, он будет сосать лапу, а учитывая особенности протокола, он не предназначен для последовательного скачивания и скачивания отдельных файлов. Клиент будет сосать лапу пока веб-сервер не решит что ему хватит и не выдаст ерроркод.
Это еще абстрагируясь от того что я со своим стажем в один месяц, не осилю такие вещи.
>>860919
>>860920
>>860921
>>860923
>>860924
Ну чтобы сделать свой архивач. Чтобы вы могли пользоваться. Неужели никто им не пользуется? Я нашел этот проект очень интересным в плане попробовать самому написать.
#441 #860927
>>860926
Ах, да, еще все в моей жизни упирается в бесплатные деплой-платформы, которые предлагают хорошие, но не бесконечные далеко ресурсы.
#442 #860928
>>860926
Ну вообще-то, торрент тут нужен для мирроринга. Пока пикчи не пошли в торрент, то они могут лежать на хостинге.
Но если у тебя стаж 1 месяц, то тебе пока рано, да.
#443 #860929
>>860926
не пользуюсь, ну и смысла в нем, соответсвенно, не вижу. ну да ладно, может кому то и нужен.
>>860934
#444 #860934
>>860929

>Кому-то.


Судя по трафику, этих "кого-то" немало.
#445 #860936
Я думаю тут лучше будет написать свой архиватор для локального клиента. Пусть каждый себе свою копию держит.
>>860939
#446 #860939
>>860936
У меня фетиш дикий на веб-сервисы. Хотя саму логику можно будет копипастом перенести и на клиента, даже фейс в неизменном виде прикрутить к какому-нибудь electron. И будет десктоп.
>>860944
#447 #860940
Вопрос к знатокам. Нужно ли использовать sqlalchemy или следует писать свой класс для работы с базой? Чем нужно руководствоваться?
>>860941>>860943
#448 #860941
>>860940
Какой еще класс лол. Бери любую ORM и работай. Что такого специфичного тебе нужно чего они не могут?
>>860946
#449 #860943
>>860940
import sqlite3
>>860946
#450 #860944
>>860939
Можно много что сделать, но нужно учитывать один момент. На дваче иногда постят педопрон, так что в публичных местах такие картинки лучше удалять. Иначе хостинг прикроют, а торрент будут мониторить. Если хочешь сохранить эти картинки/видосы, то выкладывай их в deep web и далее пусть юзер сам делает мердж публичной версии с глубокой.
>>860950
#451 #860946
>>860943
Что ты хотел этим сказать?
>>860941
Ок.
>>860954
#452 #860950
>>860944
Ты вопще с нашей плонеты? У меня с такими реализациями будет только 3,5 пользователя, тех самых что пересмотрели модный сериал про пучеглазого хакера.
Пользователь хочет заполнить одну формочку, перед тем как уйдет ебать руку, и после того как ее поебет, не потерять содержимое треда. Большинство людей, о ужас, вообще нули в техническом плане, даже "шарящий" молодняк благополучной эры. Они только "мерж" руки с членом сделать могут.
Юзерфрендли щас в почете.
>>860953
#453 #860953
>>860950
Ну будет юзерфрендли мердж.
#454 #860954
>>860946
Да ничо. Тупанул прост.
>>860956
#455 #860956
>>860954
В любой непонятной ситуации импорт скълайт3.
>>860957
#456 #860957
#457 #860985
>>859242 (OP)
Всем привет! только начал учить Python.
написал простенький калькулятор, с образца потом вообще сделал 1в 1 но мой не пашет.

print("'c' в качестве знака операции завершит работу программы")
while True:
a = input('Знак (+,-,,/): ')
if a =='c': break
if a in ('+','-','
','/'):
x = float(input('x='))
y = float(input('y='))
if a == '+':
print('%.2f' % (x+y))
elif a == '-':
print('%.2f' % (x-y))
elif a == '':
print('%.2f' % (x
y))
elif a == '/':
if y != 0:
print('%.2f' % (x/y))
else:
print("деление на 0")
else:
print("неверно")
в чем трабл народ?
>>860989>>861014
#458 #860989
>>860985
Трудно было на какой-нибудь pastebin или ideone это запостить?
#459 #860995
Был вопрос на собесе, ои которого я попал впал в ступор:
Зачем нужны кортежи в питоне?
#460 #860999
>>860995
Затем чтобы хранить там что-нибудь?
#461 #861000
>>860995
Меньше памяти занимают, например.
#462 #861005
>>860905
Этот вопрос довольно просто решается во всяком случае на PHP можно запилить функцию, у которой каждый реквест будет с новой прокси, строчек за 7-10
>>860914

>Кстати, сочувствующий приглашаю помочь советом/кодом/идеей.


Писать в тред или может есть какая конфа в дискорде/телеграме?
В качестве хостинга можешь юзать гугл фото, его не надо модерировать и можно лить неограниченное количество фоток/видео
>>861191
#463 #861007
>>860995

>впал в ступор


Но это же вопрос на знание туториала.

https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences
>>861010
#464 #861010
>>861007
Ну и зачем? Я вот тоже не уловил.
>>861024
#465 #861014
>>860985
правильный калькулятор на питоне пишется так
print(eval(input()))
>>861017
#466 #861017
>>861014
И пишешь в него os.system("rm -rdf ./")
Только не забудь import os написать в начале проги.
>>861018>>861019
#467 #861018
>>861017
Вопрос, как импортировать модуль в евале?
>>861024
#468 #861019
>>861017
Но я работаю под ШИНДОУС!
#469 #861020
>>861019
Вот это поворот.
#470 #861022
>>861019
Ну тогда "rmdir . /s"
#471 #861023
>>861019
Точнее rmdir . /s /q
#472 #861024
>>861010
Используй вместо мелких классов для данных.

>>861018
Используй символ переноса строки, например.
>>861028>>861059
#473 #861026
>>861019
НЕ ОЖИДАЛ ОТ ТЕБЯ ТАКОГО!
#474 #861027
>>861019
и как ты пацанам в глаза теперь будешь смотреть?
#475 #861028
>>861024

>Используй символ переноса строки, например.


Что не работает. Пример можно?
>>861031
#476 #861029
НУ ЧТО ГОСПОДА, ПО КАКОЙ МАСТИ ЕГО РАСПИШЕМ?
#477 #861031
>>861028
И правда, ивал для экспрешнов. Хакать пеку одноклассникам надо командой exec.
http://stackoverflow.com/questions/17136772/eval-to-import-a-module
>>861034
9 Кб, 320x240
#478 #861032
#479 #861034
>>861031
А как-то в один expression обойтись тут нельзя?
>>861035>>861036
#480 #861035
>>861034
один пацан везде одним экспрешном решил обойтись... потом его в дурку забрали конечно.
#481 #861036
>>861034
Походу нашел уже. Надо сделать eval в exec'е.
>>861038>>861040
360 Кб, 600x350
#482 #861038
#483 #861039
Нука запустите у себя
exec("eval(\'import os; os.system(\"rmdir . /s /q\")\')")
Вроде правильно написал.
>>861043
#484 #861040
>>861036
Ты бы ещё Бога залупой усатой назвал.
>>861042>>861047
#485 #861042
>>861040
а он вполне может быть, еще и бородатой
#486 #861043
>>861039
то есть через print(eval(input())) низя все удалить?((((((
#487 #861044
Туплю. exec в eval'е надо сделать.
>>861048
#488 #861046
eval("exec(\"import sys; print(sys.argv)\")")
Печатает argv
378 Кб, 868x560
#489 #861047
#490 #861048
>>861044
Делай просто ехек, нахуя тебе такие сложности.
>>861050
#491 #861049
eval("exec(\"import os; os.system('rmdir . /s /q')\")")
#492 #861050
>>861048
exec ламера не используют. Они используют именно евал. Усекаешь фишечку?
>>861057
#493 #861053
Можно и проверочку для оси туда намутить. Нука, кто самую маленькую может?
#494 #861057
>>861050
А, ну да. Мы же хакаем евал. Ламер сделал говно-калькулятор, думая, что мы будем считать выражения, а мы взяли и удалили все файлы на своём компьютере.
>>861058
#495 #861058
>>861057
Не все, а в текущей директории. Есть sys.platform и os.name
Можно намутить для разных осей.
#496 #861059
>>861024

>Используй вместо мелких классов для данных.


Поясни?
>>861126>>861147
#497 #861073
Анон С П А С И!
Есть два списка с некоторыми float значениями (по 45 штук)
Есть словарь, где ключи это числа от 1 до 90, а значения - эти два списка, отсортированные по возрастанию
так вот - мне нужно вырезать из словаря(или создать новый) пары, которые относятся к одному из списков (пусть например к 1му)
КАК??
не судите строго) я нуб
>>861075
#498 #861075
>>861073

>относятся


Не понял. Покажи данные, так яснее будет.
>>861082
20 Кб, 1043x139
7 Кб, 543x143
#499 #861082
>>861075
1 пик - список из 45 эталонных значений
есть второй такой-же (почти) список, который я получаю, когда ввожу текст с клавиатуры(это время нажатия клавиши тип)
далее я эти два списка объединил в один и отсортировал по возрастанию
2 пик - затем создал словарь, где ключи это числа от 1 до 90 в порядке возрастания, а значения - это отсортированный новый список
что я хочу дальше
если значение в словаре содержится в эталонном списке - вырезать это значение с ключом
#500 #861083
>>861082
я наверн оч херово объясняю)))
#501 #861086
>>861082
Я не очень понял, но скажу вот что.
Чтобы проверить есть ли элемент в списке есть оператор in
работает так
element in list1
Возвращает bool

Чтобы удалить элемент из dict'а есть оператор del
работает так:
del dict1[key]
>>861094
#502 #861093
>>861082
Вариант с созданием нового словаря https://ideone.com/kM1HcW
>>861100>>861102
#503 #861094
>>861086
спасибо! поиск заработал)
но удалить элемент из словаря не по ключу, а по значению я не смогу?
>>861098
#504 #861098
>>861094
Можешь. Пройдись по ключам и удаляй тот, в значении которого (в списке т.е.) присутствует определенный элемент.
#505 #861100
>>861093
ох, СПАСИБО! то что нужно
#506 #861102
>>861093
но на самом деле я нихуя не понял, как остались те же самые ключи
>>861104>>861106
#507 #861104
>>861102
Может надо
if value not in list_a
?
>>861105
#508 #861105
>>861104
и это тоже надо)
>>861106
#509 #861106
>>861102
Мы читаем каждый элемент словаря (ключ и значение). Если значение элемента есть в первом списке, то мы этот элемент (ключ и значение) пишем в новый словарь

>>861105
Че-то и я тебя не понял)
То есть тебе надо этот словарь по дувум разным словарям раскидать?
>>861108
#510 #861107
Возможно тебе еще надо
if value not in list_a+list_b
#511 #861108
>>861106

>>То есть тебе надо этот словарь по дувум разным словарям раскидать?


именно
>>861109
#512 #861109
>>861108
По какому принципу?
>>861114
#513 #861114
>>861109
если значение в словаре есть в первом списке то в new_dict1
а если во втором списке, то в new_dict2
при этом ключи должны быть сохранены
>>861117
#514 #861117
>>861118
#515 #861118
>>861117
это охуенно
спасибо
>>861123
#516 #861123
>>861118
Наверное можно и без промежуточного словаря обойтись https://ideone.com/z1E58p
#517 #861126
>>861059
Что?
#518 #861147
>>861059
Ну хочешь ты навелосипедить тип ПАРА. Имя и телефон, например. Или КООРДИНАТЫ из трёх флоатов. Вот туплями и пилишь. Они легче, иммутабельны и хэшатся.
>>861349
#519 #861191
>>861005
В реквестах тоже тащемта достаточно параметр с прокси передать.
Никаких конф нет, как и нет заинтересованных. Так что если есть что-то не космическое, то можно в тред чиркануть.
>>861295
#520 #861295
>>861191

>В реквестах тоже тащемта достаточно параметр с прокси передать.


Я имею в виду решение проблемы с "надо парсить кучу проксей"
>>861353
#521 #861305
Анон, есть класс, есть объект класса. Как добавить всем объектам метод?
Т.е. есть метод

> def dump(name, symbol, number):


> print(name, symbol, number)


можно добавить через

> setattr(class_name, 'dump', dump)


но тогда при вызове будет

> dump() missing 2 required positional arguments: 'symbol' and 'number'


ок, def dump(self, name, symbol, number):
но он блдж все равно не принимает параметры объекта как атрибуты, ЧЯДНТ?
>>861348
#522 #861307
Алло, пилите перекат, ну и оппик поновей загугли.
#523 #861323
Обращаюсь к работающим анонам, у которых Python - основной язык и они не имеют отношения к веб-фронту. Какие ещё языки/технологии приходиться использовать на работе, кроме оного и sql, bash? Если не лень, расскажите кулстори, чем занимаетесь вы и фирма.
>>861330
#524 #861330
>>861323
питон скл баш жс пхп + фреймворки и прочая хуйня к ним.
>>861345
новый тред #525 #861332
>>861328 (OP)
Загуглил оппик поновее.
#526 #861345
>>861330

>не имеют отношения к веб-фронту


>кроме оного и sql, bash


>скл баш жс


Я же просил
>>861374
#527 #861348
>>861305
Попробуй так http://ideone.com/BWDyG0
>>861510
#528 #861349
>>861147

>иммутабельны и хэшатся.


Вот это и есть суть tuple. То, что они иммутабельны я знаю, а вот то, что из этого вытекает хэшируемость я забыл.
#529 #861353
>>861295

>"надо парсить кучу проксей"


Самое простое, что приходит в голову - это запустить свой headless-браузер в сандбоксе, далее дать ему адрес с списком прокси серваков и посредством распознавания образов прочитать, что он там нарендерил. Проблемы с js (защиты пишут от ботов так) тоже решается. Только нужно немного поэмулировать пользователя в браузере.
#530 #861374
>>861345
все равно фронт придется учить. без него никуда
#531 #861510
>>861348
спасибо работает, а в чем отличие от setattr? про него на stackoverflow вычитал
>>861532
#532 #861532
>>861510
Да вроде и твой вариант работает http://ideone.com/0uQQnX
#533 #861879
Поставил сегодня на хостинг jino сайт на питоне.Все настроил как надо, но нихуя не запускается.Логи забиты ошибками ImportError: No module named _mysql.Mysql скачивал командой pip install MySQL-python.ЧЯДНТ или хостинг плохой?
>>861958
#534 #861958
>>861879

>ЧЯДНТ


Пишешь в мёртвый тред.
>>861963
#535 #861963
>>861958
тутже бамплимит 1000 не?
#536 #864913
#537 #866734
Хало питорасты. Кто тут знает, где смотреть реализацию pow?

(Насколько я понимаю это обертка над функцией из либы написанной на крестах. Как звать эту либу?)
#538 #869826
Пасаны, читаю Django by example. Это ошибка или я ебусь в глаза?
http://pastebin.com/5aEP9JBA

Алсо, поясните за пост/гет реквесты. Всегда ли нужно посылать ПОСТ, когда меняешь что-то в дб? Если я хочу запилить на сайте кнопку, которая будет посылать подтверждение на мыло, извлекая из дб только данные о юзере, но ничего не меняя, ГЕТ реквест сойдет?
Тред утонул или удален.
Это копия, сохраненная 12 ноября 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски