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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #882227
Обзмеился - в Белоруссии переродился.
>>882271>>882272
217 Кб, 450x360
#3 #882230
>>882222 (OP)
голосую за это пик
#4 #882257
>>882134
pyzmq.asyncio дибил
sage #5 #882259
Ебал мамашу ОПа за оппик
#6 #882265
Пощупал фласк. Понравилось. Зависимость появилась. Но по тому что вижу, будущего у него нет.
Что думаешь анон?
Не тратить время и вникать в джангу?
>>882267>>882273
#7 #882267
>>882265
У джанго и фласка будущего нет.
#8 #882270
>>882267
Скорее наоборот.
В моей мухосрани ДРУГОГО будущего для меня НЕТ.
>>882283
#9 #882271
>>882227

>Белоруссии


Ты с какого года нам пишешь?
#10 #882272
>>882227

>Белоруссии


Дратути.
Я сам из ГДР родом.
#11 #882273
>>882265

> по тому что вижу, будущего у него нет.


лол
Из 2007 капчуешь?
>>882286
#12 #882283
>>882270
Я, блядь, не говорил про твоё будущее.
#13 #882286
>>882273
>>882273
а на нём таки сейчас пишут?
я глянул по количеству статей на всяких хабрах и на глаз по вакансиям в реале и фрилансе
>>882291
#14 #882291
>>882286

> вакансии


> flask разработчик шоб сайты ебашить


Ты такие вакансии ищешь?
>>882293
#15 #882293
>>882291
А какие ещё по нему вакансии искать?
>>882393
#16 #882295
>>882267

>У джанго и фласка будущего нет.


Поясни
>>882327>>882444
157 Кб, 1020x765
#17 #882327
>>882295
Он член секты Свидетелей Пузыря.
Не обращай на него внимание.
>>882444
#18 #882353
Привет, питонач. А поясни-ка мне, в чем профит лямбд кроме того, что удобно писать маленькие функции? Есть что-то кроме удобства по сравнению с определением стандартной функции? Спасибо, извиняюсь, если вопрос нубский.
>>882447
#19 #882393
>>882293

> по нему


А нахуй искать вакансии на конкретный фреймворк и задрачивать то, что можно прочесть за минут 10 и палкой потыкать?
яебал, хули вы такие тупые?
#20 #882406
Да блять не деплое не аплоадит картинки а на локалхосте норм. Получаю "Internal server error 500". Что делать?
>>882417
#21 #882417
>>882406
смотри логи сервера
>>882440
#22 #882440
>>882417
Вот это если через админку:
ValueError: "<Image: 1>" needs to have a value for field "image" before this many-to-many relationship can be used.

Либо если через форму аппа то просто :
urllib.error.HTTPError: HTTP Error 403: Forbidden
>>882452
#23 #882444
>>882295
>>882327
Если есть подход (асинхронный), который во всём лучше синхронного, то зачем нужен синхронный?
#24 #882447
>>882353
Только маленькие функции прямо в месте применения. Нет.
>>882466
#25 #882450
>>882444
ты сейчас о ноде?
>>882460>>882461
#26 #882452
>>882440
Поле image не получило какого-либо значения, но ты пытаешься создать какой-то другой связанный объект, которому это поле нужно. Как-то так.
>>882555
#28 #882461
>>882450
Нода это помойка коллбечная.
#29 #882466
>>882447
спасибо
#30 #882495
>>882444

>зачем нужен синхронный


писать проще))))))))))
>>882543
#31 #882499
Глядите, что нашел. Можно изучать питон, играя в кубач. Нормальная тема? Стоит скачать начинающему?

https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/worksheet/
>>882504>>882506
#32 #882504
>>882499
Сильно хуже от этого не будет
#33 #882506
>>882499
Только эта библиотека под рапсбери пай точенная. Но я где-то видел её порт и под обычную архитектуру компов.
И оно довольно скучно мне показалось.
#34 #882522
Как в flask`е сделать кнопочку лайка, чтобы в бд записывать 1 клик от 1го юзера???
>>882524
#35 #882524
>>882522
сделать кнопочку, по клику определить того, кто кликнул, записать в бд.
>>882534
#36 #882525
>>882444
конечно будущее! да! покажи мне асинхронную джангу!?
#37 #882530
>>882525
боже, ещё один свидетель ноды
да что ж вам в родном треде не сидится?
#38 #882534
>>882524
Ну это понятно, мне нужно определить IP юзера, тк сайт без регистрации, и чтобы эта кнопка не нажималась несколько раз одним юзером
>>882537>>883234
#39 #882537
>>882534
во flask?
request.remote_addr
>>882541>>882576
#40 #882541
>>882537

>request.remote_addr


Спасибо
#41 #882543
>>882495
Так в том-то и дело, что не проще. Api будет отличаться лишь await yoba вместо yoba. И async def вместо def.
#42 #882545
>>882525
Нет её, надо сделать. Я говорю про подход, а не про то, насколько развита инфраструктура. Если не начать что-то делать, то ничего и не получится.
>>882548
#43 #882548
>>882545
ну делай йопта, как сделаешь кинь ссыль.
>>882549
#44 #882549
>>882548
Ебало своё закрыл, нахуй. Джанга всё равно говно, даже без учёта того, что она не асинхронна.
>>882550
#45 #882550
>>882549
почему это она говно?
>>882553
#46 #882553
>>882550
Много магии.
>>882558
#47 #882555
>>882452
Да это херня. Картинки нет вот он и ругается на поле лайков к ней. Суть в 403, хуй знает где рыть.
>>882561
#48 #882557
>>882525
Джанго вполне может быть асинхронным, если прикрутить сторонние батарейки
#49 #882558
>>882553
например?
>>882562
#50 #882561
>>882555

>Суть в 403


А, тока щас заметил. Ты там что-то скрэпишь с другого сайта?
>>882564
#51 #882562
>>882558
Ой, всё!
>>882585
#52 #882564
>>882561
Там скриптом беру картинку с сайта и сохраняю себе её. Типо закладки.
>>882566
#53 #882566
>>882564
Ну, 403 - доступ запрещен. Может быть, тебя заблочили, проверь
>>882567>>882571
#54 #882567
>>882566
Да блять то же самое если с локалхоста делать то всё работает. Никто там на девианарте не блочит.
>>882580
#55 #882571
>>882566
Ври сервеп лог этого:
http://pastebin.com/Gwhcvp2b
Вопросы #56 #882575
Привет, двач. Когда то тут писали мне что почитать на джуна и писали что-то вроде "Питон: генераторы, итераторы, декораторы и т.п.". Вот я прочитал, знаю что это, например. А какие могут быть вопросы? Определение? Написать простой генератор, декоратор? В чем отличие между списками и генераторами?. Спасибо.
>>882579
#57 #882576
>>882537
А в чём разница между этим
request.environ['REMOTE_ADDR']
?
#58 #882579
>>882575
будут и теорию спрашивать, и еще 100% заставят написать на листочке примеры
>>882595
#59 #882580
>>882567

>Да блять то же самое если с локалхоста делать то всё работает.


Ну IP-то разные у локалхоста и сервера, на который деплоишь. Вполне возможно, что блочат IP хостинга. Попробуй какие-нибудь прокси, user agent браузера установи если еще не.
>>882587
#60 #882585
>>882562
ну и? какая магия? примеры приведи
#61 #882587
>>882580
Не, не помогли прокси.
#62 #882595
>>882579
понятно, спс.
134 Кб, 514x686
#63 #882626
http://pastebin.com/rdbtTgTL
может, кто-то захочет посмотреть мои костыли на ломанном английском с пародией на ООП? или даже запустить.
пытаюсь сделать что-то типа разговора с моим одноклассником, но пока он мало чего понимает
рейт
>>882681
#64 #882681
>>882626
чему тут рейт то ставить?
на вот рейтани мой ооп http://pastebin.com/AM08Km90
>>882693
142 Кб, 864x1080
#65 #882693
>>882681
годно
>>883019
#66 #883006
>>882222 (OP)
Читаю книгу Think Python. На 4 модуле нихуя не запускается его ебаный TurtleWorld. Этот даун решил объянить циклы на нем. Пидарас! Дропаю пайтон или ищу другую книгу.
>>883014
#67 #883014
>>883006
у всех работает, у тебя не работает.
окей, ветер в сраку
>>883021
#68 #883019
>>882693
ХАХААХАХА СПЕРАНСКИЙ

из инсты макулатуры старой, когда был тур. на пике мой город))
>>883084
#69 #883021
>>883014
я просто сверхтупой и ленивый. Ебашил c++ жабу вообще заебись было, питонус хуйня
#70 #883084
>>883019
подозрительно знакомое ебало, абакан?
>>883105
#71 #883105
>>883084
Еблокан. Город знакомых ебал.
>>883110
#72 #883110
>>883105
А так же, ебал он друзей и подруг.
#73 #883111
Проясните как правильно работать с пайпами. Есть программа которая выдает в stdout кучу строк, и есть питоновский скрипт который их читает и обрабатывает

если дождаться окончания программы и считать весь output
subrocess.check_output(cmd)
то все работает быстро, но занимает адское количество памяти

а если обрабатывать построчно то все работает адски медленно

p2 = Popen(cmd, stdout=PIPE)
out = p2.stdout
for line in iter(out.readline,''):
if line.rstrip():
pass

что с этим можно поделать?
>>883121
#74 #883121
>>883111
может попробовать распараллелить второй вариант?
>>883124
#75 #883122
Не, обработка строк там быстрая (если разбить output из первого варианта по '\n' и так-же его обработать то все работает быстро.
Затупы где-то при использовании пайпа, может отключается буфферизация вывода для программы или еще что-нибудь вроде этого.
>>883124>>883128
#76 #883124
#77 #883128
>>883122
ну хз тогда. как вариант обрабатывать чанками по n-строк и искать компромис устанавливая n
>>883133
#78 #883133
>>883128
На самом деле там есть bufsize который лечит проблему

p2 = Popen(cmd, stdout=PIPE, bufsize=10000)

правда надо проверить что в этом случае строки на границе буфера на рвутся на части
>>883262
#79 #883234
>>882534
Куки ему ставь
>>883259
#80 #883259
>>883234
их же никто не чистит
#81 #883262
>>883133

>Popen


Попен))))
>>883317
#82 #883289
>>882267
Про фласк интересно почему будущего нет?
>>883298
#83 #883298
>>883289
1. Не асинхронный.
2. слово из спам листа google → asvetlov flask blog
>>883392>>883510
Профит итераторов #84 #883300
Привет, питонач. Объясни мне плз, в чем профит итератора?
Вот есть у меня список, он и так итерируемый объект, в чем профит создавать iter(my_list) перед тем чтобы просто по нему пройтись если нужно, ну и вцелом в чем их фишка. Спасибо.
>>883302
#85 #883302
>>883300
Ленивость.
#86 #883317
>>883262
Попен ещё не так умеет. Смотри:

# АХАХАХАХА
govno = range
huj = print

for i in govno(3):
huj('KEK')
#87 #883392
>>883298
а зачем асинхронность для просто тупо сайтика?
>>883635
#88 #883395
Написал на Питоне скрипт сохраняющий все жыпеги и шебм из треда, это велосипед или мне залить на гитхаб?
>>883400
#89 #883400
>>883395

>скрипт сохраняющий все жыпеги и шебм из треда


нахуя!?
>>883405
#90 #883405
>>883400
Сливать весь фаптред разом, зачем еще?
>>883407
#91 #883407
>>883405
а, ну тогда залей дрочьхаб
81 Кб, 446x850
#92 #883468
Требуется совет мудрый по использованию джанги.
Делаю довольно стандартную вещь. При регистрации юзеру нужно выбрать свой регион и город, при этом хочется отдать ему форму с уже заполненными данными на основе ip-адреса.
С регионом все ясно: их список не меняется и в конструктор формы передается только начальное значение.
С городами посложнее. Их список изменяется, причем джанга не дает поменять их у поля после создания формы. Известный костыль -- написание своего __init__ для формы.
Как принято поступать в таком случае? Неужели свой __init__ -- единственный выход? И если так, то хотелось бы примеров и\или комментариев для моего варианта реализации. http://pastebin.com/PzgAgYNu
>>883485
#93 #883485
>>883468
UPDATE: заметил, что ModelChoiceField позволяет менять queryset без особых проблем. Теперь код гораздо проще
http://pastebin.com/DtRetM15
>>883491>>883509
#94 #883491
>>883485
да в джанге, как впрочем и в питоне, все меняется и все можно (и нужно) переопределить, но это понимание приходит с опытом. не говоря уж о кверисет, который черным по белому в оффдоках описан.
#95 #883509
>>883485
if request.method == 'POST':
pform = ProfileForm(request.POST)
pform.is_valid()
return HttpResponse('%s' % pform)
else:

>pform.is_valid()


Разве сама по себе функция что-то делает тут? Только тру/фолс вернет и не проверит валидность. Или я не прав?
>>883567>>883580
#96 #883510
>>883298
У php тоже по твоему будущего нет? Он ведь не асинхронный от слова совсем.
>>883514
#97 #883514
>>883510
Альтернативы для говносайтов пока не видно: битрикс + дешёвые кодеры с зачатками мозга правят бал.
>>883570
#98 #883567
>>883509

>Разве сама по себе функция что-то делает тут? Только тру/фолс вернет и не проверит валидность. Или я не прав?



Проверит форму на валидность, но он это никак не использует в своем коде.
#99 #883570
>>882444

> во всём лучше синхронного


Потому что ты так скозал?
>>883514

> говносайтов


Уровень твоей осведомленности огорчает.
>>883636
#100 #883580
>>883509
Во время первого вызова запускает валидацию, чистит данные, записывает ошибки.
После нее доступна pform.cleaned_data.
Эта часть была написана только для поимки некоторых ошибок в настройках формы.
#101 #883635
>>883392
Зачем себя искусственно ограничивать?
>>883657
#102 #883636
>>883570

> Потому что ты так скозал?


Назови хоть один плюс без ко-ко-ко для этого говна нет асинхронной либы
>>884107
#103 #883644
Питонач, стоит ли переходит на postgresql? Прост сейчас использую mysql, а в интернете пишут, что она говно. Какаю бд использует Яндекс?
>>883665
#104 #883657
>>883635
в чем ограничивать!? инструмент под задачи, а не задача под инструмент. когда твой сайт, написанный на фласк, упрется в проблему 10k - перепишешь часть логики на сервисах вообще, а фласк как был так и останется вместе с энжинсом и они не плохо будут переваривать все твои 10k.
хотя врят ли ты до этого дойдешь, как и 99% йоба асинхронных проектов разрабатывающихся ради технологии, а не для решения бизнес-задач.
>>883666
#105 #883660
Что может быть не так?

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

Я отдаю их во вьюхе так:

def kkk(request, slug):
return render(request, 'index.html', {
'aaaa': Model.objects.all()
}

Мне нужно отфильтровать модель по слагу и когда я делаю вместо all() .filter(slug=slug) мне отдаёт пустой квареисет. Хотя с .алл() всё работает.
#106 #883665
>>883644
Да, стоит.
eax.me погугли гайд для нубов, все просто.
Яндекс тоже постгрю использует.
#107 #883666
>>883657
Дело не во фласке и не в 10k. Просто асинхронный подход не имеет минусов по сравнению с синхронным. По коду тоже самое, только async/await добавь. Ну, а то, что либ пока нет, так тут уж ничего не поделаешь. Надо же с чего-то начинать.
>>883675
#108 #883675
>>883666
ну я бы не сказал что тоже самое. там дохуя неочевидных вещей своих сущностей и я бы не сказал что совсем простых для понимания:
event loops
event loop policies
awaitables
coroutine functions
old style coroutine functions
coroutines
coroutine wrappers
generators
futures
concurrent futures
tasks
handles
executors
transports
protocols
к слову https://pythondigest.ru/view/20078/
>>883682
#109 #883682
>>883675
К слову, половина из этого уже legacy-дерьмо, которое можно и не знать и не использовать. concurrent.futures к asyncio отношения не имеет, эта либа была и до него. Почитай доку по curio, это то, к чему будет идти asyncio, я щитаю. Ну, и про sans-io почитай, это тоже будущее.
>>883692
#110 #883692
>>883682
ну хз насчет эта нинужна! мне хочется знать как работает мой код и what are fuck i am using right now!? а про курио почитаю да, спасибо.

вот первая же странность: зачем мне явно передавать луп? почему при повторном get_event_loop() может прийти совершенно левый (из другого треда?)?
>>883813>>883820
#111 #883802
Вопрос по существу:
aiomqp или asynqp

inb4: сорта говна
>>887497
#112 #883813
>>883692

>зачем мне явно передавать луп?


Потому что явное лучше неявного.
Читай вывод import this полчаса.
>>883820
#113 #883820
>>883692

> мне хочется знать как работает мой код и what are fuck i am using right now!?


Ты наверное и исходники питона наизусть знаешь?
>>883692

> зачем мне явно передавать луп?


>>883813

> Потому что явное лучше неявного.


Явное лучше неявного, но как показывает пример curio луп вообще не нужен (в curio нет такого понятия). Вся эта канитель с future, callback, loop на самом деле историческая и на текущий момент, опять-таки, как показывает пример curio, не нужна и даже вредна. Недавно на reddit была ссылка на большой пост какого-то чела, где наглядно объяснял чем плох asyncio и хорош curio.
Реально, прочти доку по curio и посмотри выступление Бизли, где он 3 часа рассказывает про асинхронность в питоне с самых низов. Базарю, ещё захочешь.
>>883836>>889369
#114 #883836
>>883820

>но как показывает пример curio луп вообще не нужен


везде в коде

>while True: while True: while True: while True: while True:


Хотя Дэвид мужик крутой, спору нет.
>>884003
#115 #883850
Кто-нибудь пользовался этой штукой(https://github.com/lorien/grab)? Как оно?
>>883860
#116 #883860
>>883850
Grab: 1,301 Stars
Scrapy: 17,069 Stars
Тысячи питонистов не ошибаются
#117 #883951
Анон, как в джанге оптимальнее организовать для юзера хранение избранных товаров, если это например магазин. Логичнее наверное сделать так, чтобы список был прикручен к записи пользователя, а не самого товара, какую связь моделей использовать?
#118 #883964
>>883951
Pandas
#119 #883988
>>883951
Отвлекись от ORM джанго и подумай, как это сделать в терминах реляционных БД.
>>884000
#120 #884000
>>883988
в специальном поле у юзера например, favorites будет несколько id указвающих на избранные товары, так?
>>884002
#121 #884002
>>884000
да ну, долго кажись
запиздячь модельку со ссылкой на модель юзера и товаром в фореинг кей

пока станет юзеров так дохуя что выгребать будет долго у тебя пара лет будет
#122 #884003
>>883836
Чёт я тебя про while True не понял. Если ты про чтение из сокета, например, то в asyncio тоже самое.
#123 #884006
>>883951
Ничто ни к чему не прикручивай.
Таблица:
|-------------------------|
| UserId_|__ItemId _ |
|_______ |__________|
>>884013
#124 #884013
>>884006
А не жирно на каждую связь лепить по записи? Я зелень просто и в производительности субд не особо шарю
>>884019
#125 #884014
>>883951
По опыту могу сказать что в конечном счете у пользователя может быть много товаров, а у товаров - много пользователей. Здесь могут быть промежуточные таблицы, но сути не меняет. Соответственно я бы вставил в товар м2м на юзера и сделал кастомную промежуточную таблицу.
https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.ManyToManyField.through

В эту таблицу можно довабить поле обозначающее избранность. Можно буль, но я бы сделал IntegerField с чойсесом - так, на будущее.
>>884046
#126 #884019
>>884013
Допустим у тебя в большинстве будут юзеры с пятизначным id. Товары тоже.
10 символов где-то 40 бит.
Лям юзеров добавили до 100 товаров в избранное.
100 млн записей = 50 мб.
Уж как-то с таблицей на 50мб база справится.
>>884021
#127 #884021
>>884019
Добавлю что в сколько-нибудь серьезных проектах используется кеширование запросов в БД.
Например https://github.com/Suor/django-cacheops
#128 #884046
>>884014
Прямая связь пользователь-товар - идея не очень.
Лучше пользователь - список избранного - товар.
Пользователь - список избранного через one-to-one, список избранного - товар через many-to-many.
>>884098
#129 #884098
>>884046

> Прямая связь пользователь-товар - идея не очень.



Согласен. А причем тут я?

> Лучше пользователь - список избранного - товар.



Суть не отличается от того что я предложил: Пользователь - СписокТоваров - Товар.
В СписокТоваров добавить поле означающее избранность.

> Пользователь - список избранного через one-to-one, список избранного - товар через many-to-many.



И ты забываешь в своем пример что у тебя 4 таблицы - список избранного связан м2м с товаром, значит будет 4я таблица которая их будет связывать. Т.е. в таких запросах будет на 1 (лишний) джоин больше.
#130 #884107
>>883636
Я не хочу потом этот асинхронный говнокод разгребать за тобой.
>>884180
#131 #884129
Насоветуйте Самый Лучший кроссплатфомернный гуи-фреймворк. tkinter ковырял, не смог низя реализовать двач-стайл интерфейс с блоками сообщений.
#132 #884133
>>884129
QT или WxWidgets, выбор невелик.
>>884139
#133 #884139
>>884133
Qt разве не умирает?
>>884161
#134 #884151
А чисто гипотетически, мне нужно организовать такую фигню:
1. сайт на джанго в интернете
2. зеркало этого же сайта на ноуте с прописанным хостом на роутере имитирующим этот сайт
3. что бы зеркало и сайт обменивались данными, те всё что добавили на сайт - прилетало на зеркало, а что на зеркало - добавлялось на сайт

Как это проще сделать, хотя бы на уровне идеи?

Хуитка для конференций чисто, просто разок уже обосрались с шириной инет-канала гостиницы, но нужно не забывать о тех ебанашках которые не умеют например вай-фай сетку выбрать
>>884176>>884344
#135 #884161
>>884139
А хуй знает, вроде шевелится еще, последняя версия - Июнь 2016.
57 Кб, 460x333
#136 #884176
>>884151
Асинхронная мастер-мастер репликация БД?
>>884342
#137 #884180
>>884107
Слив защитан.
#138 #884335
Привет, питонач. Как думаете, реально ли осилить лутца (хотя бы первую часть) за месяц? Опыт небольшой уже в питоне есть, нужно теперь понимание.
И еще что есть почитать может про то, как в питоне работать с TCP/IP и другими уровнями модели OSI? Спасибо.
#139 #884339
>>884335
ну и вообще, есть может что-то годное почитать по модели OSI только не википедия.
>>884343
#140 #884340
Пагни, есть скрипт, который обращается к апи яндекса, геокодируя названия географических объектов. Там простой цикл по массиву этих объектов. Но он почему-то не отрабатывает до конца и останавливается через несколько сотен итераций - приходится запускать заново. Как можно определить почему? В логи пишу все ошибки и там ничего странного нет, к тому же я все ошибки игнорирую после записи в лог.
#141 #884342
>>884176

>Асинхронная мастер-мастер репликация


Ееееее конфликты))0
#142 #884343
>>884339
P.S. Знаю, что по сетям танненбаум годнота, но, может есть что-то менее объемное, более наглядное, скажем, для простого понимания достаточного для работы с сетью разного уровня?
#143 #884344
>>884151
Не слушай того мудака с асинхронной репликацией.
Гугли кластерные системы вроде Galera с синхронной репликацией.
#144 #884358
Делаю сайтец на фласке. Админку лучше самому писать или фласк-админ пойдёт?
#145 #884365
>>884335

> осилить лутца (хотя бы первую часть) за месяц


Уточни о какой книге идет речь. У него их несколько.
>>884450
65 Кб, 812x251
#146 #884389
Сап, питонач. Есть одно задание python-нюфаг, задание с курсов. Прошу совет, как реализовать определение рыбы победителя.
http://pastebin.com/xz3iVsZ1
#147 #884414
>>884389
Какое-то условие неточное. Как едят? В каком порядке? Нихуя не сказано же. Можно сделать просто случайную выборку половины рыб например. И пиздец, нахуя ты этих классов настрочил? ООП головного мозга начало развиваться еще до окончания освоения языка?
>>884419
#148 #884419
>>884414

>Как едят? В каком порядке?


Вызывая random по длине массива/списка, наверн.
#149 #884426
>>884389
Я бы написал абстрактную фабрику.
Java-кун
#150 #884437
def func(l):
____func.atr += 1
____print(func.atr + len(l))

func.atr = l[-1]

Как такое сделать? Чтобы атрибут функции был аргумент её первого вызова. В крестах внутри функции надо просто после объявления статической переменой её присвоить значение аргумента.
>>884670
#151 #884442
>>884129
PyGtk 3.0 - лучший вариант
>>884734>>884799
#152 #884444
Беру пример из документации. Пытаюсь освоить мултипроцесс. По идее должен вывести hello bob, но не выводит. В чем проблема?
https://docs.python.org/2/library/multiprocessing.html

from multiprocessing import Process

def f(name):
print 'hello', name

if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
>>884457
#153 #884450
>>884365
программирование на питоне.
>>884457
#154 #884455
>>884335
FLuent Python, годнота, только что дочитал, до сих пор ебусь с пониманием асинхрона.
#155 #884457
>>884444
Потому что вывело в другом процессе, не подключенному к стандартным потокам ввода-вывода?

>>884450
Объемная книжица с большим количеством повторений. Лутц зануда. В принципе если у тебя дикая мотивация и уже есть какой-то опыт, то да, можешь успеть все освоить. Но объясни зачем? Книжку можно сравнить с тем как ребенка учат ходить на горшок и вытирать рот. Я бы все же посоветовал сразу взяться за Саммерфилда. Глянь оппик прикрепленного треда.
>>884458
#156 #884458
>>884457

>>Потому что вывело в другом процессе, не подключенному к стандартным потокам ввода-вывода?


Чаво?
>>884462
#157 #884461
>>884389
Сука, вас реально таких на курсах выращивают?
#158 #884462
>>884458
Я не знаток мнопоточки и могу ошибаться, но насколько я понимаю

> p = Process(target=f, args=('bob',))


Мы подготовили объект процесса.

> p.start()


Запустили процесс. Если при этом ты не увидел появления нового окошка консоли, значит он не подключен к стандартным потокам ввода-вывода https://ru.wikipedia.org/wiki/Стандартные_потоки.
Соответственно принт отработал, но "ушел в космос".

> p.join()


Мы заджоинили результат выполнения дочернего процесса в родительский.
>>884475
#159 #884475
>>884462
Ок, спасибо, пойду книжки почитаю. Вчера сделал прогу, которая подбирает пароль к rar архивам. Пятизначный пароль типа 12345 подбирает за 24 минуты. Но я смог ускорить (через жопу) и теперь подбираю за 5 минут. Загружено было одно ядро. Вот читаю в документации, что если правильно разбросать процессы по памяти и ядрам, то ваще за полминуты можно управиться.
>>884482
#160 #884482
>>884475
Соответственно если тебе надо наладить "принтование" в многопоточном/многопроцессном приложении, то на практике "принтуют" в специальный лог-файл. А джоины нужны чтобы получить результаты выполнения других потоков-процессов. В коде же можешь использовать очередь в качестве массива для хранения результатов выполнения других потоков.
https://docs.python.org/2/library/multiprocessing.html#exchanging-objects-between-processes

Но повторюсь, я не спец и могу ошибаться.
>>884502
#161 #884502
>>884482
Обмазался господином Бизли. Хорошо дело пошло.
#162 #884536
Как-нибудь можно организовать глобальный стейт во фласке или джанге? Должен быть один рабочий тред который время от времени получает xml-ку и как-то парсит ее и все запросы должны использовать эти данные (для чтения). В базу стэйт писать лень да и медленно.
>>884569
#163 #884542
>>884389
Мы как-то похожую хуйню писали, причем нужно было писать стратегию охоты для хищника/съебывания для жертвы в отличие от варианта. Там была ограниченная область видимости и нужно было составлять карту еще. Интересная хуйня.
#164 #884569
>>884536
Эм, может тогда через редис? В джанге клиенты редиса умеют сериализовать и восстанавливать некоторые объекты.
#165 #884645
Нужно вывести информацию из БД (Около десяти строк) в какое-нибудь окошко. Подойдет ли qt новичку в этом деле? На оформление вообще плевать, главное чтобы выводило
#166 #884668
>>882222 (OP)
почитал и посмотрел лекции по питону уровня "стартер пак". хотел бы найти задачки какие-то, но просто гуглить это не то, надеюсь все же на советы здешних анонов, где найти интересные задачки. Рандомазейр и калькулятор уже написал.
>>884671>>884678
#167 #884670
>>884437
Cтоп, дык пистон имеет позиционные аргументы.
#168 #884671
>>884668
https://www.codecademy.com/learn дальше можно dive into Пистон.
#169 #884678
>>884668
Сделай программу подбора паролей к zip и rar архивам. У меня такая 8 строк занимает
>>884680
#170 #884680
>>884678
что-то сомнительно звучит. посчитай, сколько там будет вариаций этого пароля и сколько это займет места и времени. а если в памяти будет хранится только один пароль, то это далеко выходит за рамки "стартер пака". так что, я, пожалуй откажусь от этого, хоть это и интересно.
>>884684
#171 #884684
>>884680
Для всех вариаций разрешаю добавить еще 3 строки.
#172 #884707
Как записать foo = b'bar'
только, вместо 'bar' поставить переменную?
>>884714
#173 #884714
>>884707
foo = bytes(bar)
>>884719
#174 #884719
>>884714
Добра тебе
#175 #884734
>>884442
Чому?
#176 #884754
>>884335
Лутц это пиздец.

Переписать стандартную справку в тллсты кирпич и его продавать это уметь надо.
>>884794>>886018
#177 #884794
>>884754
Книги по кодингу вообще чаще пишутся маркетологами для даунов.
Есть конечно исключения, но их меньшинство.
>>884797
#178 #884797
>>884794
ороро ты серьёзно что ли?
>>884800
#179 #884799
>>884442

> кроссплатформа


>>884129

> tkinter ковырял


Так ровные пацаны давно уже ttk юзают
#180 #884800
>>884797
Ну допустим, есть вот отличная книга Идеальный код, есть Программист-прагматик, годные книги потому что помогают понять, с какой стороны подходить к разработке софта и рассказывают, как можно правильно закладывать фундамент к гаражам, частным домам, многоэтажкам, небоскребам.
А вот какой-нибудь Брюс Эккель или Лутц хуита, они учат как пользоваться стаместкой или молотком.
#181 #884801
>>884800
Лутц это справочник. Чего вы на него негодуете ёпта.
#182 #884807
>>884800
Когда я начал читать программист-прагматик (страниц 50-60), то нашел там тонны мотивационных речей уровня дешевых бизнес-тренеров. В этом потоке скама дальше все же пойдет годнота?
>>884817>>884824
#183 #884817
>>884807

>Andy Hunt, Publisher In Chief, is an author and publisher, avid musician, and sometime woodworker. When not making noise or firewood he occasionally speaks at conferences.


Любитель-плотник и профессиональный балабол. Есть подозрение, что весь код в книге написан его соавтором.
Почему ты выбрал эту книгу?
#184 #884819
>>884800

>потому что помогают понять


Скажи, тебе помогло?
Я имею в виду конкретно - чем тебе помогли эти тонны слов в книжках? Т.е. что ты сделал лучше за счёт чтения этих книг? Буду благодарен за примеры.

Сам щетаю что подобные книги пишутся сугубо ради бабла, т.е. цель автора книги - не дать полезную информацию а удержать читателя и заставить его рассказывать про книгу всем вокруг.
34 Кб, 575x232
#185 #884822
гвидун в сговоре с производителями ссд?
>>889621
#186 #884824
>>884807

> тонны мотивационных речей уровня дешевых бизнес-тренеров


> дальше все же пойдет годнота


А что для тебя годнота? Там описываются вещи, до которых люди не доходят, когда работают. Например необходимость полного принятия ответственности за свои действия, необходимо думать о последствиях, прежде чем перепиливать какой-то солидный кусок когда, да и вообще думать на работе надо всегда, а не просто сейчас я поменяю эту хуйню и эта хуйня заработает, а если что отвалится - можно будет зафиксить. Про говнокод и поджимающие сроки там тоже есть.
>>884854>>884887
#187 #884826
>>884819

> чем тебе помогли эти тонны слов в книжках?


Теперь я знаю как выстроить фундамент, как подойти к задаче или зарефакторить чей-нибудь код так, чтобы ничего не сломать. Задумался и сам начал писать немного важных тестов для кода. Смотрю чуть дальше, чем на пару месяцев разработки, стараюсь документировать код в неочевидных местах.
Да и ответили на многие вопросы как вообще пишутся крупные проекты, благодаря чему я порядок в голове навел.
#188 #884831
>>884819

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


Ну тот же Стив Макконнелл делится своим жизненным опытом, а не льёт воду. Ты к этому сам когда-нибудь притопаешь.
Вообще еще одной годнейшей книгой можно назвать Thinking in Forth. Помогает делать из сложных вещей простые.
#189 #884854
>>884824
Последний бойскаут с Брюсом Уилесом - лютая годнота, а то что ты перечислил - прописные истины.
>>884881
#190 #884881
>>884854

> то что ты перечислил - прописные истины


Если бы так же думал каждый разработчик, подобные книги бы не пользовались спросом.
>>884889>>885099
#191 #884887
>>884824

наивный баг-репорт:

>вещи, до которых люди не доходят, когда работают.


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

> Например необходимость полного принятия ответственности за свои действия


Это вроде обозначается токеном "здравый смысл", т.е. утверждение базовое на тему "что такое хорошо а что такое плохо?".
Принятие ответственности за свои действия - это например критерий совершеннолетия в уголовном праве. В среднем это приятие должно наступать после 18ти лет. Чем раньше - тем более годный получится чуловек.
Странно, что ты устроился на работу и уж затем выяснил это из какой-то книжки.
Отдельный вопрос - почему наша культура не обеспечивает осознание важности понятия ответственности за свои действия и допускает такие вот казусы, когда взрослый человек находит такое утверждение в какой-то книге, а не впитывает его с молоком матери. Лично мне это кажется неким эксплоитом всей нашей культуры, которым ранее пользовались всякие высшие сословия и тп.
При том ты 100% сталкивался с утверждениями на эту тему ранее, просто проглотил его, лишь читая какую-то конкретную книгу.

>необходимо думать о последствиях


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

>да и вообще думать на работе надо всегда


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

>а не просто сейчас я поменяю эту хуйню и эта хуйня заработает


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

Аноны как называется это вот всё?
>>886325
#192 #884889
>>884881
этот вопрос выходит далеко за рамки разработки, ИТ, экономики и тп.
Т.е. это некая глобальная хуетень, касающаяся жизни каждого человека. смекаешь?
77 Кб, 731x960
#193 #884922
пиздец. тут опять битва библиотекарей :(
срочно нужна книга по PANDAS !!!!!
>>884955>>884962
#194 #884942
лол реквест КНИГИ по модулю
>>885050
QA и Python #195 #884955
>>884922
Привет, питонисты. Вопрос такой. Я вот веб-макака в прошлом(Java), удалось поработать с питоном около полугода (автоматизация процессов и работа с данными). Хочу попробовать вкатиться в QA, ибо разработка, почему-то, напрягает. Думаю, может в QA думать меньше, сиди себе пиши тесты да документаци. Ну это так, просто мысли. Вот думал в тестирование вкатиться и потом перейти в автоматизацию тестирования. Питон для этого вполне годный язык же, не? И вообще какие шансы на становление тестером для бывшей веб макаки, которой веб-программирование не всралось, а денег хочется. Спасибо.
>>884972
139 Кб, 500x656
#196 #884962
>>885050
#197 #884972
>>884955
Шансы хорошие, только вот тестирование ещё более скучное и однообразное занятие, а с Питоном ты будешь почти наверняка писать тесты для той же веб-параши, которую избегаешь.
>>885127
#198 #885048
>>884819
Мне помог Совершенный код когда я после универа с опытом написания Лаба_1 пошёл джуном. Сначала практические вещи типа именования переменных и декомпозиции кода на методы были для меня проблемой. Я видел много возможностей, но не мог выбрать и впадал в ступор. После Макконнелла я могу не только назвать переменную, но и пояснить почему так лучше чем по-другому.
Это конечно только отдельный пример.
>>886333
#199 #885050
>>884942
еще больший лол >>884962
79 Кб, 867x697
337 Кб, 1905x1000
#200 #885063
петян, а можно ли где-то пошкодить питона с визуальными блоками?

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

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

петян, помогай!
>>885161>>888262
#201 #885099
>>884881
Люди ленивы, все ищут простых ответов.

Как думаешь, если я выпущу книгу с заголовком "Серия: Уроки жизни программистов.\nКак заставить себя зарабатывать." У меня будет шанс оторвать свой кусок в инфобизнесе?
>>885570
#202 #885118
Гайс, сел я за написание своей первой имиджборды. Пилю на Django. Столкнулся с такой проблемой, что не понимаю, как посчитать пользователей в час и уникальные IP. Вроде понятно, что нужно считать сессии, но я вообще не понимаю как с ними работать. Первая идея была такая, что просто добавляем в словарь request.session значения при посещении страницы и храним это все в бд. Зашел на b получай request.session['b'] = True. Но здесь возникло сразу несколько проблем. Адекватно посчитать из бд я не могу т.к. все данные хранятся как хэш, мне придется достать каждую запись, декодировать и посчитать. Как удалять данные из бд по истечение expire_date я тоже не знаю. Подскажите хотя бы на уровне идеи как это правильно реализовать?
>>885128>>885129
#203 #885127
>>884972
спасибо, анон. Я это понимаю, просто думал что может быть менее напряжное. Я пока что-то очень устаю в течение дня, поэтому ищу какой-то компромисс для себя в IT. Просто веб-программирование настолько захватило рынок, что для entry-level ребят кроме веба считай некуда идти и учиться. Грубо говоря, если не выучил С++ в универе то почти наверняка идешь в веб. Как то не очень гибко выходит, а на питон если и найдешь джуновскую вакансию, но давай-ка парень залезай по уши в Джанго и пили виюхи, темплейты и прочее, чем то подобным я занимался на джаве, жесть как припекало от такого.
#204 #885128
>>885118
когда сейвится новая сессия, через сигналы сохраняешь инфу о ней в бд, не?
>>885131>>885133
#205 #885129
>>885118
имиджборду вообще лучше на торнадо пилить, как по мне.
>>885131
#206 #885131
>>885128
Надо пойти почитать про сигналы
>>885129
Торнадо это вторая часть копипасты
>>885135
#207 #885133
>>885128
я правильно понял, что ты предлагаешь создать отдельную таблицу под сессию, и хранить там словарь, а не кэш?
>>885136
#208 #885135
>>885131
если ты раздрочишь свой мозг на торнадо, то остальное тебе будет казаться элементарным. Так что берись за него как можно скорее.
#209 #885136
>>885133
Я бы в БД хранил инфу. Мало ли, когда она может понадобиться.
>>885141
#210 #885141
>>885136
она и хранится в бд, только в виде кэша, поэтому я через ORM не могу сразу по словарю пройтись, создать отдельную таблицу и хранить там словари была моей первой идеей, но интуиция говорит, что так делать нельзя(либо я еблан, либо это троллинг). Пилить отдельную таблицу под словари?
>>885145>>885572
#211 #885145
>>885141
блять, ну если не хочешь в отдельную таблицу - дописывай хуйню в самой сессии.
>>885146
#212 #885146
>>885145
с этим у меня и были проблемы) Пойду отдельную таблицу пилить, спасибо
#213 #885158
Анон, тут лампово, да и я питон дрочу.
Вощем, надо регексп написать,
начинается обязательно с латинской буквы, заканчивается обязхательно латинской буквой, может помимо это содержать латиницу,цифры, дефис и точку. Все бы ничего, да размер у строки должен быть от 1 до 20 символом. Загвоздка в длине в 1 символ, и как ограничить общую длину в 20?

Наваял вот такое барахло
^[a-zA-Z]+[a-zA-Z0-9\.\-]*[a-zA-Z]{1}$

Помоги, пожалуйста, анончик
>>885159>>885160
#214 #885159
>>885158
{1, 20}?
>>885162
#215 #885160
>>885158
{1,20} то что касается длины
>>885162
#216 #885161
>>885063
ide не пробовал?
set value в дебагере в pycharm, например
>>886498
#217 #885162
>>885159
>>885160
^[a-zA-Z]+[a-zA-Z0-9\.\-]*[a-zA-Z]{1}$|^[a-zA-Z]{1}$
сейчас такая ебала
но не знаю куда прилепить ограничение в 20 символов
>>885165
#218 #885165
>>885162
Итог
[a-zA-Z]{1}[a-zA-Z0-9\.\-]{,18}[a-zA-Z]{1}$|^[a-zA-Z]{1}$

Всем спасибо, если знаете как красивше сделать - отзовитесь.
>>885170>>888370
#219 #885170
>>885165
Если работает - и так сойдет
#220 #885185
как .pop`ом первый элемент удалить?
>>885187>>885194
#221 #885187
>>885185
Секрет.
#222 #885194
>>885185
P A N D A S
A
N
D
A
S
#223 #885230
Помогите с заданием. От цифровых датчиков в компьютер поступает информация о характеристиках физического процесса. Результатом каждого измерения является целое число.

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

Следует учитывать, что количество измерений может быть очень велико.\f

Перед текстом программы кратко опишите используемый вами алгоритм решения задачи. На вход программе в первой строке подаётся общее количество N значений измерений. В каждой из последующих N строк записано целое число. Гарантируется, что N ⩾ 1, то есть всегда имеется хотя бы одно значение измерений.

Пример входных данных:

5

-1000

0

-300

2

2000

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

http://pastebin.com/kfnmGTHR что не так?
#224 #885252
>>885230
толсто
#225 #885254
>>885230
Может я не понял задачу, но чем collections.Counter не подходит?
>>885258
#226 #885258
>>885254
Потому что это ЕГЭ и там нельзя ничего импортироватьНаверное
>>885260
#227 #885260
>>885258
Тогда хэш-таблицы по все поля (собственно, Counter и есть подкласс словаря...)
#228 #885274
>>885230
Ну как миниум print(b) нету интендант блока. Он у тебя всегда будет принтить глобальное значение объявленное вначалеb = 0 кода то есть 0.
Дальше что-то ты мутью набрызгал как по мне. Вайпни код и подумай как без ебаного нагромождения if-ов сделать и лучше без обоссаного while.
>>886524
#229 #885327
Я вас всех люблю. Давайте собираться в ДС и обниматься? Питонеры собираются и няшатся на диванчике.
>>885870
#230 #885376
Как реализовать продолжение программы по нажатии Enter? (Что-то типо аналога ReadLine(); )?
#231 #885479
Що нужно знать python нубу, чтобы претендовать на работу ирл?
>>885514
#232 #885514
>>885479
Нужно хорошо знать сам питон. Остальное зависит от области, в которой хочешь работать.
>>885520>>885553
52 Кб, 444x360
#233 #885520
>>885514
Меня тоже интересует примерно этот же вопрос но стесняюсь тут спрашивать платину, но раз зашел разговор... Реально ли вкатиться куда-то кроме веба? Но при этом никаких специфичных математических знаний нету чтобы во всякий анализ данных и прочие частично-питоновские области пытаться. Часто ли нужны админы которым приходится много писать на питоне? Куда еще можно?
другой анон
>>885562>>885616
#234 #885523
Кстати, что для сетей пишут на питоне? Ну знаю я интерфейс сокетов, могу написать клиент-сервер на py или C, а как дальше двигаться? Какие есть актуальные задачи? Как находить себе таски если ты борщехлеб не работаешь погромистом?
>>885553
#235 #885553
>>885514
Питон - сугубо веб

>>885523
Ну,знать питон так, чтобы растолкать 80 конкурентов, с голодным взглядом набрасывающихся даже на самую задрипанную вакансию. Сейчас таких как ты - орды
>>885572
#236 #885562
>>885520
Дев-опс, тестер, админ. Это типа чтобы именно сайтики не писать. Но так или иначе все равно будет крутиться вокруг веба.
>>885800
#237 #885570
>>885099
Конечно, лол. Самое сложное будет сверстать и найти издателя.
#238 #885572
>>885141

> хранится в бд, только в виде кэша


Шта
>>885553

> Питон - сугубо веб


Лол, у тебя поди и тикль умер и перл?
>>885573
#239 #885573
>>885572
Тикль и не оживал.
>>885574
#240 #885574
>>885573
То-то от инженеров в конторы, которые на оракловские базы завязаны, требуют знания тикля.
>>885577
#241 #885577
>>885574
Ну а я как-то раз видел вакансию на foth, дальше то что?
>>885701
#242 #885579
Анон. Уменя уже есть сайтец на джанге. И в одну из таблиц в бд, мне нужно добавить дополнительное поле, чтоб функционал расширить. Как это сделать?
>>885580>>885587
#243 #885580
>>885579
Юзать NoSQL и не испытывать таких проблем
#244 #885587
>>885579
Ты не с таблицами работаешь, а с моделями ОРМ-ки.
Делаешь новые поля
@
накатываешь миграции.
>>885588>>885589
#245 #885588
>>885587
Если тебе пришлось трогать сайт на джанге, а опыта 0, то пройди ходя бы пошаговый гайд на офф сайте. Там эти моменты хорошо объясняют.
>>885589
#246 #885589
>>885587
То есть я иду в файл модели, в классе своей модели добавляю новое поле. Потом мигрирую?
>>885588
Ну я начал доку читать
>>885591
#247 #885591
>>885589
Ну как бы да. Если сделал изменение в модели, которое затрагивает БД, то сделал миграцию, а потом накатил её.

Ты явно как-то не с той стороны в джангу вкатился.
>>885602
#248 #885602
>>885591
С какой надо?
>>885737
#249 #885616
>>885520
двачую этого. Веб это просто какая-то клоака.
От себя добавлю, что видел только одну вакансию от 4 лет опыта на мидла без джанго и прочего, там связано с телекоммуникациями и интеграциями систем.
#250 #885622
Чем веб клоака-то? Формочки шлепать за зарплату выше средней по больнице - разве это так плохо?
>>885633>>885635
#251 #885633
>>885622
хз, но я не выдержал. был веб макакой на джава и на salesforce еще около года годил. просто пиздец как напрягала рутина. На питоне/баше сейчас пишу всякие штуки по интересу, пробовал в джанго (как раз в этом треде спрашивал) максимум на что хватило это на говно блог. Хз почему так, может у меня с мотивацией проблемы, но желания разбираться в вебе и во всем этом вообще не наблюдаю за собой. Вот честно, очень рад за людей, которые нашли себя в этом и им это в кайф по настоящему.
#252 #885635
>>885622
добавлю еще, что суть в том, что "шлепать формочки" это до поры до времени, выже джуна с таким отношением врядли можно вырасти.
#253 #885636
А чего вам всем так веб не нравится?
Веб - это ведь не только шлепать формочки, CMS и магазинчики. В перспективе ведь можно и всякие крутые асинхронные высоконагруженные бекенды писать. По моему, это может быть интересно

А есть еще всякий data scraping/etl - тоже веб, можно сказать.
https://career.ru/vacancy/18850457
#254 #885638
>>885636
дак никто не спорит, что может быть интересным, просто до интереса нужно джуниором говна пожрать пару лет, видимо. Ну и да, как я выше написал, здорово, что есть такие люди как ты, анон, что мотивация есть все это изучать.
#255 #885640
>>885636
о, кстати про дата скрэпинг ты хорошо упомянул. Веб-краулеры/скрэперы на пистоне тоже можно юзать, только хз где. рынок захватил аутсорс.
>>885650
#256 #885650
>>885640

>только хз где


Уж точно не на фрилансе. Скрапинг там это ебаное дно.
Задачи уровня, пройди через все страницы на сайте скопируй все ссылки и картинки в ексель. Плата 5 баксов фиксированная.
Добро пожаловать.
>>885652>>888320
#257 #885652
>>885650
фриланс вообще не по мне. Понимаю, что можно найти какой-то интересный фиксированный проект, но торговать жопой за 15$ в час это как то мда. Не знаю, отношение к фрилансу скорее негативное.
>>885655>>885665
#258 #885654

>веб дно ко ко ко...


а вы пробовали сделать хотя бы каталог продукции на джанге!? а, знатоки, ебана?
90% тут еще не успели вкатиться, а уже кудахтают сидят. охуели!?
>>885657
#259 #885655
>>885652
т.е. работать в офисе с кофейком как то больше по мне, некоторым, конечно, нравится из дома.
#260 #885657
>>885654
в том то и проблема, что "сначала сделайте потом говорите" не работает, даже если я могу сделать что то подобное на чем то, то просто не откуда взять интерес. "веб дно кококо" никто так не говорит.
>>885659
#261 #885659
>>885657
дак а в чем твой кудах то? делай или не делай, но пизди постфактум.
>>885661
#262 #885661
>>885659
кудах в том, что альтернатив мало, фактически монополия на веб. Сам сейчас в лабе работаю при институте, платят хуйня конечно, но бывают задачи прикольные. Так вот в развитой части планеты в таких лабах кипит жизнь, обучают и прочее.
>>885668
#263 #885665
>>885652

> за 15$


А чё, у тебя сейчас рейт выше?
>>885667
#264 #885667
>>885665
имел ввиду, что дело то и не в деньгах по большей части.
#265 #885668
>>885661
веб охуенная технология потому и лидирует. но вакансий помимо дохуя.
#266 #885700
Питонач, как перенести данные (или всё бд) из бд с проекта в бд рабочего сайта? Сделать дамп бд в проекте и экспортировать там? Это заработает?
>>885703
#267 #885701
>>885577

> дальше то что?


Тем боле, это не значит, что технология мертва, просто у макак и хипстеров это не пользуется спросом.
>>885636

> А чего вам всем так веб не нравится?


ECMAScript и http. Так-то http не так уж и плох был для передачи просто размеченного текста. Вебсокеты должны немного поправить ситуацию, а там посмотрим что за тенденции пойдут.
На сервере то вообще похуй, там я и на перле с таким же удовольствием буду писать, как и лет 8 назад.
>>885715
#268 #885703
>>885700
А почему не должно? Я так с обрезанного бекапа разворачиваю базу локально для юнит тестирования.
>>885706
#269 #885706
>>885703
Ну там ведь какие-то "secretkey" в файле этом. Ок, попробую.
#270 #885715
>>885701

>http


Ну да, я прям вижу, как ты вручную собираешь http пакеты и плачешь "Как же ненавижу HTTP!"
Олсо, скоро на всех серверах страны - HTTP/2
#271 #885732
Есть ли смысл заходить в Codecademy дальше девятого урока Advanced Topics in Python? Или пора дропать и практика+учебники?
>>885736
#272 #885736
>>885732
иди научись хотя бы обход в ширину делать.
#273 #885737
>>885602
С той, где принято пройти хорошо расписанные туториал, прежде чем задавать совсем уж глупые вопросы.
#274 #885785
Хочу свалить из мухосрани и пойти стажером в следующем году. Постоянно вижу в требованиях "знание базовых алгоритмов". Поясните
>>885814
#275 #885800
>>885562
И где в девопсе именно писать на пайтоне? Потому что часто хватает баша, если уж ты админ.
Как админ, я бы хотел стать девопсом, что такое ci\cd\cd, облака, и разработка я знаю. Где питон-то юзать? Примеры задач?
>>885809
#276 #885809
>>885800
нигде пиши на баше
#277 #885814
>>885785
основные виды сортировок, поиска и базовых структур данных, на которых они осуществляются. Знать сложности основных алгоритмов, а также сложности основных операций со структурами данных (доступ к элементу, вставка элемента и прочее). Хотя, честно говоря, вообще не понимаю, зачем это спрашивают у джуниоров. Такие вещи, наверное, начинают иметь значение на уровне миддла. Может кто из анонов пояснит мне.
#278 #885819
Напомните, как не писать каждый раз:
#!/usr/bin/python
# -- coding: <encoding name> --
>>885820>>885825
#279 #885820
>>885819
Ну, это, ну не набираешь шибанг и кодировку на клаве, ну и всё. Не блогодори!
>>885823
#280 #885823
>>885820
Но тогда комплюктер ругается на кирилицу
#281 #885825
>>885819
Просто используй Python 3
>>885828
#282 #885828
>>885825
Понял уже. Надо включить тройку в линуксе по умолчанию, да?
#283 #885829
>>885828
нет. надо использовать virtualenv
#284 #885830
>>885828
Если 2 версия стоит по дефолту, то есть вероятность, что она нужна каким-то пакетам в системе. НЕ ВЗДУМАЙ УДАЛЯТЬ!

Используй virtualenv.

Если тройка тоже установлена, то можешь запускать скрипты, используя ее. Скорее всего, она запускается так python3 script.py
>>885832
#285 #885832
>>885830
Не удалял, просто переставил на 3
Вот только проблема SyntaxError: Non-ASCII character '\xd1' in file осталась
>>885835
#286 #885835
>>885832
На винде фиксил, кажись, через path
#287 #885856
Остались два вопроса
1. Как запускать скрипты через >>>python3 имя.ру ?не прописывая путь
2. Как не писать # -- coding: utf-8 -- каждый раз? или настроить атом на питон 3
#288 #885859
>>885856
Платина. иди нахуй, бля сука
>>885862
#289 #885860
>>885856
перейти в папку, в которой лежит имя.py с помощью cd
#290 #885862
>>885859
Не стукай, я забыл просто
#291 #885870
>>885327
Давайте.
#292 #885901
>>885856
Разобрался. Правда надо заставить script в атоме запускать код через питон 3, а не 2. Не подскажете как?
#293 #885903
Какой же он охуенный. Очень интересно смотреть. https://www.youtube.com/watch?v=j6VSAsKAj98
#294 #885905
>>885828
Сначала посмотри, будет ли твой хостинг поддерживать питон3
>>885912
#295 #885912
>>885905
Какой там хостинг, я только учу
62 Кб, 669x766
#296 #885917
Сук, опять я в мертвом треде сижу. Как фиксить? Как собирать питон как это сделано в саблайме, в taskcoach и еще куче прог?
>>885924>>886020
#297 #885924
>>885917
Установи убунту второй системой, не еби себе мозги.
>>885931
#298 #885931
>>885924
А собранные проги будут под виндой запускаться?
>>886325>>886338
#299 #885937
Упёртый атомский script не хочет запускать скрипты через третий питон. Другое дело atom-runner
>>885939
#300 #885939
>>885937
Разобрался. Хотя раннер таки быстрее работает. Хз кому я это пишу, ведь я тут самый быдлокодер
#301 #886018
>>884754
Лутц хорош тем, что позволяет въехать в язык тем, кто ни разу до этого не программировал. Я въезжал в питон по стандартной справке и это было пипец как сложно. Потом, когда достал книгу Лутца, оказалось, что там есть ответы на все вопросы, даже на самые тупые. А вообще - это традиционная проблема всех справок. Они рассчитаны на то, чтобы переманить программистов из других языков.
#302 #886020
>>885917
В твоей проге есть обращение к файлам? Если есть, то надо делать так
import sys, os
link_file = os.path.dirname(sys.argv[0]) + "\\test.rar"
#303 #886249
Пистон 2, джанга и юникод. Постоянно работаю с пистоном 3, но есть один проект на 2м. И он постоянно мне доставляет вот такую боль:

>> 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)



Это я пытался сделать filter но данным из request.GET. Есть какой-то универсальный метод, чтобы это раз и навсегда пофиксить?
>>886253>>886254
#304 #886253
>>886249
'строчка'.decode('utf-8')
'строчка'.encode('utf-8')
#305 #886254
>>886249
from __future__ import unicode_literals
>>886258
#306 #886258
>>886254
Unicode error hint

The string that could not be encoded/decoded was: строчка
>>886314>>886330
#307 #886314
>>886258
# coding: utf-8 - в начало файла ещё, может, поможет.
#308 #886325
>>884887

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


> Аноны как называется это вот всё?


говнокод и проблемы с поддержкой
Макконнелл рассказывает об опыте разработки сложного софта на сотни тысяч человекочасов и работе в компаниях уровня Яндекс/ABBY/Amazon etc.
>>885931
Всмысле собранные? Python не компилируемый язык.
>>886338
#309 #886330
>>886258
написал же сверху, либо 'string'.decode('utf-8'), либо 'string'.encode('utf-8'), либо какой-нибудь 'string'.encode('cp-1251'). Потыкай, что подойдет.
>>886352
#310 #886333
>>885048
прочитал за 10 минут про pep8
#311 #886338
>>886325

>Всмысле собранные? Python не компилируемый язык.


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

>>885931
pyinstaller/py2exe
#312 #886352
>>886330
Да, спасибо за помощь, но это была последняя капля - проект переехал на третий пистон
#313 #886364
Запилил сигналы, смысл сигнала в том, чтобы при вызове, он заполнял список, список объявляю не в функции-получателе, а выше, чтобы импортировать во вьюху. Сам список отдаю в самописный тег, который просто бесконечно итерируется по списку, если список пустой, то он заполняется нулями. Проблема в том, что сигналы работают, список вроде заполняется(вызываю принт в сигнале, все ок список заполнен), но вот при импорте во вьюху, я получаю пустой список(usr_in_hour), в чем трабла?
http://pastebin.com/iHYYjMxW
#314 #886376
>>886364
Ну у тебя скорее всего Global usr_in_hour = [] вот он и импортирует его. usr_in_hour.clear() ? То есть он у тебя каждый вызов читстит его, потом наполняет и при повторном вызове чистит опять в [] ?
>>886379
#315 #886379
>>886376
ну тип я на крон поставил вызов команды каждый час, каждый час я заполняю список новыми данные, а старые мне уже не нужны, просто очищаю и закидываю новые. Получается он чистит только перед тем, как закинуть новые данные. Как решить эту траблу то? Если объявлять список в сигнале, то я потом хуй импортирую его
>>886384
#316 #886384
>>886379
Напиши лишний строчкой что a = usr_in_hour[:] и импортни a.
>>886394
#317 #886388
#318 #886390
>>886388
Потому что макаки.
Ничо, там таймаут аргументом есть.
#319 #886394
>>886384
хуйня
>>886388
Я так понял, что это для работы с кэшом и можно таким образом юзать обычную джанговскую таблицу для подсчета сессий? Пиздец, я уже 3 день убиваю на велосипед...
>>886431>>886466
#320 #886431
>>886394

>я уже 3 день убиваю на велосипед...


Это удел всех далбаебов не способных в гугл и программирующих на питоне.

На Питоне уже блять всё есть просто найди и переделай под себя.
46 Кб, 604x456
#321 #886466
>>886394

>кэшом

#322 #886472
>>886388
покумекал немного и чет не понимаю, как мне это поможет . У меня изначально стоит задача посчитать кол-во сессий за час на странице. Сессии сохраняются в зашифрованном виде, поэтому я запилил свою таблицу под сессии. Дальше я запили код во вьюхе, с помощью которого я закидываю сессии к себе в таблицу, дальше я поставил на крон команду, которая раз в час чистит бд от устаревших сессий. После выполнения этой команды мне нужно пройти по таблице и посчитать сессии(там нужно не один раз посчитать, поэтому я хочу все это засунуть в список), я хотел это сделать через сигналы(в команде из крона вызывался бы сигнал). Как в этом деле мне поможет кэширование я чет не понимаю, передвать в словаре нихуя не удобно, эти данные мне нужны только один раз в час, после этого расчет повторяется.
>>886691>>886726
#323 #886498
>>885161
надо будет ебаться, чтобы при изменении значения, весь pipeline сызнова запускался. не охото это самому делать.
#324 #886524
>>885274
Извини
>>886549
33 Кб, 629x505
#325 #886549
>>886524
Я пытался
>>887177
#326 #886565
Анон, подскажи пожалуйста библиотеку/модуль для парсинга xml.
>>886596
#327 #886569
Питонянцы, наворотил хуйни, пришлось снести питон и поставить заново. Накатил все нужные либы, но возникла проблема с PyQt5. Установил, в папке c:\py3.5\lib\site-packages все на месте, проги на pyqt запускаются, но через help() modulesпитон не видит pyqt, и pyinstaller тоже пишет что файлы otgui qtcore и тд. не обнаружены. Как фиксить?
>>886608
sage #328 #886596
>>886565
Очевидный lxml
91 Кб, 260x295
#329 #886608
#330 #886691
>>886695
#331 #886695
>>886691
Я просто мимо пробегал, а в чем конкретно у тебя сейчас затуп?
>>886701
#332 #886701
>>886695
если следовать идеи с сигналами, то они не работают(код выше), была мысль в функцию передать переменную, я переписал код, но теперь сигнал вроде как не проходит т.к. принты внутри ничего не отрисовывают.
http://pastebin.com/ZfmtZxP5
>>886707
#333 #886707
>>886701
Вообще я может не правильно задачу понял, но вот если бы я делал, то я бы на крон (вообще нет, я бы юзал celery-django какой-нибудь) повесил задачу чистить раз в промежуток таблицу от старых сессий, и сделать вьюху, которая бы просто брала количество существующих записей в таблице. И еще вьюха, чтобы забить фейковыми данными таблицу. Ну а так-то сессия заносится в таблицу, когда юзер заходит на целевую страницу - без сигналов, просто еще пара строчек в нужной вьюхе. Не понимаю зачем там больше сигналов.

Конкретно по твоему коду не увидел где происходит запись в бд. То есть что-то в списочек пишешь, но и только-то.
>>886709>>886710
#334 #886709
>>886707
на кроне висит задача чистить бд один раз в час, один раз в час я хочу получать данные из бд, а не каждый раз их считать во вьюхе. Сигнал мне нужен, чтобы после чистки базы рассчитать один раз все значения.
>>886711>>886715
#335 #886710
>>886707
вот этот списочек мне нужно во вьюху вытащить, чтобы показывать, но при импорте у меня получался пустой список
#336 #886711
>>886712>>886714
#337 #886712
>>886711
А вообще может и не помочь. Я на джанге давно кодил, в каком там порядке грузятся модули и когда живут, а когда умирают?
Может для промежуточного хранения результата нужно писать в бд.
#338 #886714
>>886711
пошел переводить, о результате отпишу
#339 #886715
>>886709
Да, чисто из любопытства, куда получаешь раз в час данные о сессиях?
>>886717
#340 #886717
>>886715
в бд, если ты об этом
>>886718
#341 #886718
>>886717
Этот код у тебя отдельно?
>>886720
#342 #886720
>>886718
таблицу создал отдельно, во вьюхе запихиваю данные о сессии в эту таблицу
>>886722
#343 #886722
>>886720
Почему нельзя писать в бд в ресивере?
>>886723
#344 #886723
>>886722
я не думал об этом, на самом деле наверн это норм решение т.к. мне так и выводить проще данные проще будет, а то я там заморочился и cycle под список написал. Пошел пилить, спасибо
>>886729
#345 #886726
>>886472
По-моему у тебя overengineering.
Я бы написал middleware, который сохраняет session_key в БД вместе c timestamp/datetime.
Потом просто фильтровал по времени и считал.
Тогда и удалять устаревшие в принципе не обязательно.
>>886727
#346 #886727
>>886726
решил уже вопрос, спасибо
#347 #886729
>>886723
Тю. Я-то думал у тебя там какая-то хитро-выебанная логика, раз такие изъебства, а оказывается...
В таком случае, не знаю в точности, что ты хочешь получить на выходе, но вангую свою задачу решаешь ты не правильно.
Энивей, как осознаешь, так и перепишешь (надеюсь).
>>886733
#348 #886733
>>886729
мой первый проект, я и не надеюсь на правильные решения пока
#349 #886843
Питонач, как в Джанге добавить 'Last-Modified' в head ответа для вот этого DetailView? Всё перепробовал, что есть в гугле и доках.
>>886846
#350 #886846
>>886843
http://pastebin.com/VbT3kfGZ Сейчас как-то так, но и это не работает
GET/POST (платина видимо) #351 #886854
Не кидайте ссаными тряпками, просто очень хочут разобраться наконец-то со всем этим.
Вот одно из различий гет и пост запроса в том, что параметры одного передаются в урле а второго в теле запроса. А что будет если передать пост запрос с параметрами и в урле и в теле? Тогда это будет гет с телом и примутся только параметры из урла? Или зависит от поведения принимающей системы? Спасибо.
>>886866
#353 #886927
У меня опять проблемы с блядскими формами джанго

Модель:
class Activity(models.Model):
..user = models.ForeignKey(User)
..add_date = models.DateTimeField(auto_created=True)
..message = models.TextField(blank=True, max_length=1000)

Форма:
class ActivityForm(forms.ModelForm):
..class Meta:
....model = Activity
....fields = '__all__'

Вьюшка:
def home(request):
..form = ActivityForm()
..if request.method == 'POST':
....form = ActivityForm(request.POST)
.......if form.is_valid():
...........form.save(commit=True)
...........return redirect('/')
.......else:
...........form = ActivityForm()

Шаблон
<form method="post" enctype="multipart/form-data"> (экшн прописывал и как {% url 'home' %} в котором эта форма и валяется, и по адресу action='.' и action='/' - до пизды дверца
{{ form.as_p }}
{% csrf_token %}
<input type="submit">
</form>

Чего оно не хочет? Я уже заебался с этими формами из раза в раз лажать нахуй, ёбанное нахуй всё блядь.
#353 #886927
У меня опять проблемы с блядскими формами джанго

Модель:
class Activity(models.Model):
..user = models.ForeignKey(User)
..add_date = models.DateTimeField(auto_created=True)
..message = models.TextField(blank=True, max_length=1000)

Форма:
class ActivityForm(forms.ModelForm):
..class Meta:
....model = Activity
....fields = '__all__'

Вьюшка:
def home(request):
..form = ActivityForm()
..if request.method == 'POST':
....form = ActivityForm(request.POST)
.......if form.is_valid():
...........form.save(commit=True)
...........return redirect('/')
.......else:
...........form = ActivityForm()

Шаблон
<form method="post" enctype="multipart/form-data"> (экшн прописывал и как {% url 'home' %} в котором эта форма и валяется, и по адресу action='.' и action='/' - до пизды дверца
{{ form.as_p }}
{% csrf_token %}
<input type="submit">
</form>

Чего оно не хочет? Я уже заебался с этими формами из раза в раз лажать нахуй, ёбанное нахуй всё блядь.
#354 #886944
>>886927
Ньюфаги не могут пепвосить.
class Activity(models.Model):
user = models.ForeignKey(User)
add_date = models.DateTimeField(auto_created=True)
message = models.TextField(blank=True, max_length=1000)
#355 #886946
>>886927
Эксперты, подскажите плиз чего-то
#356 #886967
>>886866
анон, что то я прочитал и нового для себя ничего не выяснил, если честно. Вот на одном собесе прямо был вопрос, что будет если POST запросом передать какой нибудь файл или параметры чего либо (форма) и еще в урле параметры как в гет. Можно ли такое провернуть? Если нет да то почему и какое ожидается поведение? Спасибо если кто поможет.
>>886974
#357 #886974
>>886967
Тип запроса указаывается в headers, заголовок - method. По умолчанию - GET
Если указан post,
будет POST запрос по адресу, который ты указал. Адрес включает в себя и все параметры. В django это можно разрулить еще на этапе роутинга, то есть у тебя будут в post и параметры и в качестве аргументов твоей вьюшки get параметры. А все потому что регулярочки обрабатывают адрес, который ты вбил.
Чет ты тупанул на собеседовании.
#358 #886976
>>886974
* все параметры get запроса, как если бы ты делал GET
#359 #886977
>>886974
А вообще затести сам ёпт! Тыжпрограммист.
#361 #887003
>>886974
только вкатываюсь во все это. Спасибо.
#362 #887055
>>882222 (OP)
Помогите мне тупому. Хочу сделать это -

>python3 -m http.server --cgi


Для сидящих на Windows чуть проще будет запуск Python файла (заметьте, что он должен находиться в той же папке, в которой мы планируем работать!):
from http.server import HTTPServer, CGIHTTPRequestHandler

Где должен находится файл со скриптом в винде, не на рабочем столе же ? В папке с питоном ? Там нет всяких usr/bin/cgi
>>887099
#363 #887093
>>886927
Ошибку-то какую-нибудь выдает?

>commit=True


Можешь убрать, оно по дефолту и так True

>enctype="multipart/form-data"


Можешь убрать, ты ведь не отправляешь никаких файлов
>>887107
#364 #887099
>>887055

> Где должен находится файл со скриптом в винде


гугли pip и его формат пакетов
#365 #887107
>>887093
Никакой, отправляется и ничего не происходит
Убрал
>>887158
#366 #887158
>>887107
Отрок, окропи код свой живительной влагой print-ов или logging-ов
#367 #887177
>>886549
Поможешь мне с ЕГЭ на пайтоне?
#368 #887447
Вебоны, какой самый цивилизованный способ поменять параметр GET в существующем урле?

http://example.com/search?q=shit&time=today

Я хочу заменить параметр q на crap. Чот на стаке нихуя не нашёл. Видимо использую неправильную терминологию.
>>887472
#369 #887472
>>887447
А на чем у тебя сервер?
Самый цивилизованный способ - поменять на клиенте и не искать себе головную боль на сервере.
>>887485
#370 #887485
>>887472
У меня не сервер, а скрипт, скачивающие картинки, на которые я дрочу. Пока пришёл к такому:

query = parse_qsl(urlparse(url).query) + [('q', 'crap')]
url = 'http://example.com/search?' + urlencode(dict(query))

Существующее значение q будет выброшено при конвертации в дикт. Хотя проще было бы стринговыми методами воспользоваться, наверное. Запилили бы метод типа qset(key, value) в урллибе.
#371 #887491
>>887485
Все в твоих руках. Сделай свой модуль на базе урллиба и расширь необходимыми методами, которые бы повысили тебе удобство в будущем.
#372 #887497
>>883802
aiokafka
#373 #887506
>>887485
Нахуя тебе это говно? Во всех нормальных либах для реквестов это всё есть из коробки.
>>887510>>887767
#374 #887510
>>887506
Ну я и спрашиваю как.
>>887513>>887527
#375 #887513
>>887510
А какой либой ты пользуешься? :) сука, как можно было самому не написать название, дибил.
>>887528
#376 #887527
>>887510
Вот такую по-моему я и сам юзал, когда кодил.
http://docs.python-requests.org/en/master/
>>887540>>887767
#377 #887528
>>887513
В >>887485 изкоробочный urllib.parse, им и пользуюсь. Ещё с Анакондой шёл requests, но я его не трогал ни разу.
>>887535
#378 #887535
>>887528
Потрогай requests, и никогда больше не прикасайся к urllib. ну, в редких случаях может быть
>>887540>>887767
#379 #887540
>>887527
Мне б сниппет. Так-то я уже решил проблему, обойдясь двумя строками. Не то, чтобы строки экономил, но если в реквестах то же самое делается столь же громоздко, то оно и нахер не нужно.

>>887535
Чому? У меня с ним пока всё красиво и легко.
#380 #887542
Хотя ладно, попробую реквестс, всё равно делать нехуй. Сравню на своей задаче, отпишусь, стало ли пиздаче, или вы все долбоёбы.
>>887555
#381 #887555
>>887542
Это не обязательно. Просто уебывай.
#382 #887755
А в джанго когда во вьюшке форму обрабатываешь обязательно после проверки валидации формы значения выгребать через cleaned_data?
Или есть способы проще?
#383 #887767
>>887535
>>887506
>>887527

Реквесты штука хорошая, но в ней вообще нет ничего для работы с урлами. Поэтому заменить параметр в строке с урлом при помощи requests не представляется возможным.
>>887790
#384 #887790
>>887767
Потому что надо, ёпту, не url с параметрами давать строкой, нахуй, а url и параметры, ёпту блядь.
>>887808
#385 #887808
>>887790
Ты невнимательно реквест прочитал же:

>>поменять параметр GET в существующем урле

>>887821
#386 #887821
>>887808
urlsplit > parse_qs > ... > urlunsplit
>>887831
#387 #887831
>>887821
urlsplit > parse_qs > requests.get(url, params=qs)
#388 #887835
>>882222 (OP)
Привет, питоняч.
Я, как мне кажется, сравиниельно уверенно знаю питон. Использую в основном вещи типа numpy и scipy, немного qt, недавно начал делать мультипроцессинг. Но при этом не программист ни разу, про всякую сортировку пузырьком и синглтоны в душе не ебу. Еще пишу скрипты в матлабе и немного шью ардуины, но это совсем редко. Как ты уже, наверное, догадался, я использую эти илитные знания сидя в ебучем НИИ за 16к в месяц. И тут я подумал, что хватит это терпеть, нужно искать нормальную работу, а что я умею делать? Только программировать. Я понимаю, что с такой базой я нахуй никому не сдался даже на фрилансе, так что расскажите мне, какие у меня перспективы. Что нужно к моей базе доучить, чтобы сделать хоть немного денег? Что нужно с нуля выучить? Кто-нибудь из вас вкатывался в питонрование из сириус сцайнс?
#389 #887840
>>887835
На фрилансе конечно не нужен.
А вот в приличное место с numpy/scipy могут взять. Ищи вакансии с ключевыми словами big data, data mining, machine learning и т.п.
Нахуй тебе этот веб?
#390 #887842
>>887835

>Что нужно к моей базе доучить


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


К какой базе, молодой человек. Вы обосрались.
Ни алгоритмов ни структур данных не знает.
Моя база говорит))
>>887846>>887927
sage #391 #887844
>>887835
Фрилонс на 99.995% сделан из СЛЕПИ КРУДОПАРАШУ С ФОРМОЧКАМИ и ЗДЕЛОЙ ПАРСЕР ВОН ТОГО САЙТА. Открой любую парашу типа апворка и сам посмотри чего там обычно хотят.

Ищи не freelance а просто remote-вакансии.
#392 #887846
>>887842
Но ведь синглтон это не алгоритм и не структура а ПАТТЕРН, лол.

А вообще да, если он в СОРТИРОВКУ ПУЗЫРЬКОМ не может (пиздюкам ее в школе сейчас в каком классе объясняют?), то какая там нахуй база.
>>887863
#393 #887863
>>887846

>На полном серьезе считает знание bubble/merge/quick/heap sort какой-то базой.


Это все за пару дней изучается и выбрасывается за ненужностью. Как и bigO, как и половина паттернов...
>>887877>>887923
1999 Кб, 2338x1521
#394 #887865
суп питоняч.
Обращаюсь к тебе т.к. горят сроки в универчике. я 3ий курс. Помоги с лабкой, б-гом молю тебя.
Скину здесь условное задание что-бы не кидать всю методу
-Написать ф-ию поиска случайного простого числа из интервала с генератором случайных чисел (он дается в лабе) и тестом проверки на простоту .
-Сгенерировать через эту ф-ию 2 пары простых чисел
-Написать ф-ию генерации пар для RSA (со своими приколами, что указані в методе)
-Написать ф-ии шифрования, разш., генерации сообщения с подписью.
И там еще по-мелочи.
Спасиба ананас, я знаю ты отзовешься, а там я и методу скину.
#395 #887877
>>887863
>>887863
Мне пожалуйста чизбургер, деревенскую картошку, колу и соус сырный.
>>887907
1955 Кб, 300x300
#396 #887881
>>887865

> указані в методе

#397 #887884
>>887865

> Скину здесь условное задание


Ты охуел с запросами-то? И Миллера-Рабина тебе написать, и решето Аткина, и RSA реализовать, и еще по-мелочи?
Пиздуй учиться. Что непонятно - спрашивай. Напизди готовых примеров из интернета и склей, на худой конец, (хуевых) реализаций каждого алгоритма сотни. А код за тебя писать никто не будет, сколько бы простой он не был, а это все равно минимум пара часов.

> Написать ф-ии шифрования, разш., генерации сообщения с подписью


Вам, надеюсь, объяснили почему не надо вот этого делать никогда в реальной практике или хоть при каком-то шансе что написанный код хоть как-то будет использоваться хоть по сколько-то близкому к назначению?
sage #398 #887888
>>887865
долбич, нахуя ты учишься на прогера, если ты не можешь такую хуйню сделать?
>>887893
sage #399 #887893
>>887888
Подозреваю что его МАМКА ЗАСТАВИЛА. Ну как многих, впрочем.

Сам такой долбоеб был, хуле.
#400 #887902
заебался я кодить, го в агарку, ник def
#401 #887907
>>887877
Ты с чем несогласен?
Что все это ерунда, которую не сложно выучить?
Или у тебя пригорает, что тебе ни разу не пришлось писать свою сортировку, а все время пользуешься готовой?
Или тебе хотелось написать ПИТОНЯЧИЙ СИНГЛЕТОН, а тебя коллеги за это пиздили?

Бедняжка, тебя так жаль. Плак. Плак.
>>887915
#402 #887915
>>887907
>>887907
Я в порядке, благодарю за беспокойство. Побыстрее пожалуйста мой заказ принесите, хоть это вы умеете делать качетсвенно? )
>>887921
#403 #887917
Чо там в 3.6 говорят капитальный изкоробочный юникод для винды запилили, что прям нихуя делать не надо?
#404 #887921
>>887915
>>887915
А у нас акция - скажите, где еще кроме собеседования Вам пригодилось знание сортировок и получите ХОЛЕСТЕРМАК и ТОШНОФРИ совершенно бесплатно!
#405 #887923
>>887863
С одной стороны - да.

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

Дрочево алгоритмов это не только умение на доске написать копипасту, это еще все откладывается в башке и всплывает в памяти ассоциациями когда видишь что-то похожее. Как и большое О которое никто никогда не считает (ну, почти, иногда надо бывает), но "на глазок" прикидывают практически подсознательно.

Но, да, увидеть, понять как работает (главное) и забыть нахуй.
#406 #887925
Я на питоне 99,999999999999999999999999999% времени, блять, беру лист хуйни, обдрачиваю его нахуй, и накапливаю всё что пережило зиму в другой лист, потом этот обдроченный лист заебашиваю в третий, самый дрочёный, с самой-пресамой писечной датой. Где вы применяете свои алгоритмы?

мимослесарь
>>887980
#407 #887927
>>887842
Ну не стукай, я же сразу сказал, что я не настоящий программист. Просто с моими задачами я и без теоретических знаний алгоритмов справляюсь, мне достаточно знать, что нужно все записывать в векторной форме. Поэтому и вопрос, что нужно делать, чтобы стать нстоящим.
>>887959
#408 #887959
>>887927
писать сука.
>>888022
#409 #887980
>>887925
Не поверишь, на этапе обдрачивания нахуй
Поскольку obdrchivanie-nahui pattern не звучит, придумали другие, но суть та же.
#410 #888007
Пацаны, на собесе короче спросили, работал ли я с некой asynchio или что то вроде. Я только недавно начал вкатываться в веб питон. Вообще не ебу что это и в чем профит. Просвети плз и по туториалам каким тоже.

+ хочу узнать, в чем профит знать и джанго и торнадо, на джанго сделал небольшой проект, щас хочу на торнадо.
>>888029>>888036
#411 #888022
>>887959
Я блядь уже года два нчием другим не занимаюсь.
>>888034
#412 #888029
>>888007
В гугле забанили? https://habrahabr.ru/post/217143/
#413 #888034
>>888022
еще 2 года в том же духе
>>888059
#414 #888036
>>888007

>работал ли я с некой asynchio или что то вроде


Гугли python asyncio

> хочу узнать, в чем профит знать и джанго и торнадо


Будешь использовать джанго и торнадо в работе и получать за это деньги.

Ваш К.О.
47 Кб, 579x798
#415 #888059
#416 #888079
Привет, всем. Изучаю книгу Introduction to Tornado. Интересуют какие нибудь статьи, которые просто и понятно объяснят в чем суть асинхронности. Ну или если кто сам может с примерчиками то тоже спасибо.
#417 #888089
Ребята, на собесе задали такой вопрос мол что такое objects в джанговском Model.objects.all() , и почему , например, не сделали
Model.all() просто. Только начал изучать джангу, поэтому не понял как ответить. Спасибо.
>>888093
#419 #888096
>>888079
Девид Бизли всё уже давно объяснил на ютубе, посмотри.
>>888100
#420 #888099
>>888093
спс
#421 #888100
>>888096
окей, спасибо, погуглю
#422 #888257
>>888079
Какое торнадо, какое торнадо, блядь? Дали вам 3.5, дали вам asyncio, пиши асинхронно, не хочу, хочу костыли.

По поводу того как понять - для начала узнай как реализован этот механизм в ядре и для чего, посмотри на соответствующие системные вызовы, epoll там, вот это все.
#423 #888262
>>885063
Так перебирай значения в цикле, епт, и вызывай функцию с ними, а результат в таблицу.
#424 #888320
>>885650
Петуханы, а что вообще, как там с фрилансом на питоне? Что хотят, сколько дают? У меня нет вариантов в офисы наниматься за неимением оных в моей дыре.
>>888429
57 Кб, 670x446
#425 #888334
Питоняши, подскажите в какую сторону ползти/что посмотреть по этим вопросам:
1) Scheduling. Есть один сайт на дажнге и есть скрипт, который ползает по БД этого сайта и выдает результат в файл. Нужно сделать, чтобы этот скрипт запускался каждые 6 часов. В учебном проекте по джанге использовался Celery, но интересно, чем анон пользуется для таких задач.
2) Monitoring. Предыдущий скрипт сгенерировал нам новый файл, теперь нужно из него сгенерировать красивый pdf и отправить по почте. Отправка по почте и генерация pdf мне не важна, но вот как можно мониторить появление новых файлов в папке? В той же джанге были сигналы, но а вообще как сделать, чтобы сервер сам мониторил поступление новых файлов и запускал скрипты?
3) Вопрос по джанге: как можно реализовать пост для блога с картинками? Т.е. нужно сохранение структуры типа 3 абзаца - фото и тд. Как все это можно сохранить в БД?
#426 #888370
>>885165
^([a-z]([-a-z0-9\.]*[a-z])?){1,20}$/i
#427 #888386
>>888334
1) Celery самый приличный вариант, можно и cron, если никуда деплоить не надо.
2) См. п.1, просто сканишь директорию на наличие новых файлов, может, ещё inotifywatch прикрутить как-то.
3) А какие сложности? Берёшь и без задней мысли сохраняешь. Если связи тебе нужны, то это уж от функционала зависит.
#428 #888398
>>888334
Вопрос - зачем тебе мониторинг, если уже есть шедулинг?
Запускай остальную обработку когда задание на генерацию pdf завершится, в Celery есть функционал.
#429 #888407
>>888334
while 1:
....if time.time() - last_time >= 66060:
........run_wtf()
........kek
........lel
#430 #888415
>>888079
Книга бестолковая, про шаблонизатор зачем-то больше написано, чем про саму модель асинхронности в Торнадо.
Я бы рекомендовал сначала почитать Luciano Ramalho - Fluent Python, конкретно главы про корутины и конкуррентность. Там довольно подробно всё расписано. Далее уже можно читать доки Торнадо, может видео на ютубе найдёшь годные (я не находил).
Кукареки не слушай, Tornado зрелый и всё ещё актуальный. Перелезть на asyncio всегда сможешь.
>>888433
#431 #888429
>>888320
Ну сам посмотри https://www.upwork.com/o/jobs/browse/?q=Python OR Django&sort=create_time+desc

Если опыта немного, то, возможно, будет сложновато. И если долгое время ничего не будет получаться, то лучше переезжай в другой город и устраивайся в офис. Потому что на апворке можешь много драгоценного времени проебать, пытаясь взять заказы, а опыта так нихуя и не получить.
>>889153
#432 #888433
>>888415
да я только начинающий, просматриваю актуальные технологии, пробую что то написать. Окей спасибо. Асинхронность понять важно.
#433 #888598
>>888614
#434 #888609
>>882222 (OP)
ректально извращаюсь с питоном уже год что нужно доучить к нему(язык какой или ещё чего)?
>>888612
#435 #888612
>>888609
Я с высоты своего говнокодирования думаю, что года мало, лучше попердолиться хотя бы еще один.
Второй язык я собираюсь учить js, если кто-нибудь меня попробует отговорить, я буду очень рад.
>>888615>>888652
#436 #888614
>>888598
алсо aiopg, aiosmtplib и следи за ексепшенами внутри корутин
#437 #888615
>>888612
https://www.destroyallsoftware.com/talks/wat
но если веб задача, то без него конечно никак и придется учить.
#438 #888652
>>888612

>года мало


ты всю жизнь будешь учиться и это нормально
#439 #888659
А я напоминаю вкатывателям, что вакансий на джун-питона нет даже в Москве.
>>888665>>888702
#440 #888665
>>888659
ну ходят слухи что компании уровня яндекса иногда набирают. наверное попасть в такой набор не реально, не будучи студентом - отличником с какого нибудь знаменитого физмата страны.
>>888677
#441 #888675
С вами снова анон, пилящий имиджборду. Добрался до задачи ранжирование тредов, первая идея была, добавить в бд колонку score, и за просмотр треда и комменты добавлять некоторые значения, нормальное ли это решение? Стоит ли в самом начале закреплять тред наверху на n-ое время?
>>888699>>888965
#442 #888677
>>888665
набирают они вроде 24/7 только отбор там реально жесткий
https://yandex.ru/jobs/internship/
Смотри полезные материалы
>>888697
#443 #888697
>>888677

>последний год вы работали в аналогичной должности.



на питухон.
#444 #888699
>>888675
Беги в Пхп пока не поздно.
>>888701
#445 #888701
>>888699
Нет, не бывать этому.
#446 #888702
>>888659
в Минске пока что тоже нету ничего.
#447 #888708
Питонач, много ли нужно времени чтобы вкатится в джанго?
>>888716
#448 #888716
>>888708
От начального уровня зависит. Если раньше вообще не кодил в вебе, то может и на полгода затянуться.
44 Кб, 940x486
52 Кб, 955x475
#449 #888775
Есть темплейт простой 1
Добавляю условие 2
Не работает.
>>888781
#450 #888781
>>888775
1. Где сообщение об ошибке? Включи дебаг.
2. Оберни thumbnail в условие, а не наоборот
>>888792
60 Кб, 936x543
#451 #888792
>>888781
В тег "а" ничего не добавляется если картинки нет.
Сделал так, теперь везде no_image
>>888806
#452 #888806
>>888792

>{% if im.url%}


А ты уверен, что передаешь im в шаблон? А то выглдяит так, будто ты сначала проверяешь, а уже потом делаешь

>user.profile.photo as im


Хуйня какая-то

Оставь все как на 2 пике, только попробуй im.url, а не im.image.url
>>888811
49 Кб, 770x496
14 Кб, 641x155
#453 #888811
>>888806
Да делал так уже. Не пойму почему в условие не заходит. Если картинки у юзера нет то в тег "а"
тег "img" вообще не добавляется(пик 2).
>>888828
#454 #888828
Всё, разробрался где я тупой мудак >>888811
Вообще, скажите как лучше:
Добавлять юзеру автоматически "No image" дибо просто как у меня в темплейте рендерить картинку?
>>888861
#455 #888861
>>888828
У объекта пользователя и так есть необходимая информация - или путь к картинка или null.
Как именно показывать состояние "отсутствие картинки" - дело представления, т.е. шаблона.
#456 #888867
хули я из modelForm во вьюхе в def save не могу выцепить залогиненного юзера через request.user?
и через User.objects.get(username=request.user.username) и через просто shit_to_db.user=request.user - всё тлен
Хотя казалось бы фенечка ну не то что базовая, но блядь используется по пять раз на дню
>>888868
#457 #888868
ой туплю, не читайте эту стыдобу: >>888867

Пофиксенная версия:
хули я из modelForm во вьюхе через if request.method=='POST' не могу выцепить залогиненного юзера через request.user?
и через User.objects.get(username=request.user.username) и через просто shit_to_db.user=request.user - всё тлен
Хотя казалось бы фенечка ну не то что базовая, но блядь используется по пять раз на дню
>>888882
#458 #888882
>>888868
ModelForm-то здесь причем? Во вьюху передается request и из него тяни.
Код показывай
>>889026
1606 Кб, 1366x768
#459 #888920
Привет питоны, как реализовать распознавание образов с активного окна? Например нужно получать данные о картах на столе по их изображению. Я совсем нуб в питонировании, только доусона осилил, прошу отнестись снисходительно.
>>888981>>889201
#460 #888965
>>888675
бамп
#461 #888981
>>888920
opencv
#462 #889026
>>888882
models.py
class Feedback(models.Model):
..user = models.ForeignKey(User, null=True)
..message = models.TextField()

forms.py
class FeedbackForm(forms.ModelForm):
..class Meta:
....model = Feedback
.....fields = ('message', )

views.py
def home(request):
..feedbackform = FeedbackForm()
..if request.method == 'POST':
....feedbackform = FeedbackForm(request.POST)
....if feedbackform.is_valid():
......feedbackform.save(commit=False)
......feedbackform.user = request.user - вот в этом месте я перепробовал всю магию какую знал
......feedbackform.save()
......return redirect('/')
....else:
......feedbackform = FeedbackForm()
..return render(request, 'hui.html', {'feedbackform': feedbackform})

в итоге сообщение добавляется ииииии... всё. Юзера не цепляет никаким хуем
может хуй знает, в модели переписать сохранение как-то на self.user'а , у меня уже просто фантазии не хватает понять
#462 #889026
>>888882
models.py
class Feedback(models.Model):
..user = models.ForeignKey(User, null=True)
..message = models.TextField()

forms.py
class FeedbackForm(forms.ModelForm):
..class Meta:
....model = Feedback
.....fields = ('message', )

views.py
def home(request):
..feedbackform = FeedbackForm()
..if request.method == 'POST':
....feedbackform = FeedbackForm(request.POST)
....if feedbackform.is_valid():
......feedbackform.save(commit=False)
......feedbackform.user = request.user - вот в этом месте я перепробовал всю магию какую знал
......feedbackform.save()
......return redirect('/')
....else:
......feedbackform = FeedbackForm()
..return render(request, 'hui.html', {'feedbackform': feedbackform})

в итоге сообщение добавляется ииииии... всё. Юзера не цепляет никаким хуем
может хуй знает, в модели переписать сохранение как-то на self.user'а , у меня уже просто фантазии не хватает понять
>>889040>>889116
#463 #889040
>>889026
А вот так?
feedback = feedbackform.save(commit=False)
feedback.user = request.user
feedback.save()
>>889219
#464 #889110
Подкиньте инфы насчет создания реггера, пожалуйста. Нужно заполнить форму и submit, всё. Должно быть просто, хотя бы посоветуйте куда копать
>>889121>>889134
#465 #889116
>>889026
request.user добавляется AuthenticationMiddleware
Проверь, включено ли оно у тебя.
>>889219
#466 #889121
>>889110
бахаешь модель, бахаешь форму, бахаешь вью, бахаешь хтмл с формой, цсрф-токеном и СЛИВАЕШЬ - ОППА, рег форма
>>889131
#467 #889131
>>889121
что значит сливаешь? обязательно вот так вот отвечать?
>>889139
#468 #889134
>>889110
Если форма без еботни с токенами, джаваскриптом и т.п. - берешь requests, делаешь POST запрос на целевой сервер.
Если форма сложная - попробуй selenium.
>>889214
#469 #889139
>>889131
я ленивый педик, прости. Но ты тоже ленивый педик, ведь ты не можешь в гугл
#470 #889153
>>888429

> Hi,


> I m looking to have a tool that will first scrape any website(but specifically e-commerce) and draw out information(category, sub-categories, articles/products) in an ordered manner in a csv file.



ахуительные задания
#471 #889201
>>888920
sikuli
#472 #889214
>>889134
Спасибо большое, последний вопрос: где можно почитать про то, как формируется запрос и как мне сгенерировать запрос со всеми готовыми формами?
#473 #889219
>>889040
ДИВО ДИВНОЕ ЭТО РАБОТАЕТ! Я хуй понял почему и как но завелось как влитое.
Спасибо
>>889116

>AuthenticationMiddleware


Спасибо, было включено
>>889395
#474 #889367
>>885230
а че на ЕГЭ комменты писать нужно? В этом году сдаю ЕГЭ на питоне и в душе не ебу как решение правильно записывать.
>>889470
#475 #889369
>>883820

> посмотри выступление Бизли, где он 3 часа рассказывает про асинхронность в питоне


Кинь ссылку, плес
>>889496
#476 #889393
Чем обработать строку, чтобы получить безопасный файлнейм? Есть ли годные модули? Нужно чтобы было либерально, со всеми кракозябрами, а не тупо аски. Можно ограничить одной Виндой.
>>889402
#477 #889395
>>889219

>Я хуй понял почему


Когда ты вызываешь save(commit=False) у формы, то этот метод возвращает экземпляр модели Feedback, но не сохраняет в бд. Ты его записываешь в переменную feedback, делаешь что-то с ним и вызываешь метод save() уже у экземпляра модели Feedback.

Когда ты делаешь

>feedbackform.save(commit=False)


>feedbackform.user = request.user


то ты пытаешься у экземпляра формы FeedbckForm поменять поле user, но не у экземпляра модели Feedback.
>>889629
#478 #889402
>>889393
Модуля кажется нет, но вот так можешь
http://stackoverflow.com/a/7406369/5201699
>>889410
#479 #889410
>>889402
Я уже примерно на таком велосипеде и катаюсь. Иероглифы ещё работают, но всякие стрелочки-сердечки уже нет. Тут нужен более-менее объемный модуль.
#480 #889419
как передатьв функцию, которая принимает args список, внутри которого лежат элементы, которые и должны восприниматься как эти самые args?
Можно изъебнуться так:
target_func(
args=my_list_with_args) ?
>>889426>>889427
#481 #889426
>>889434
#482 #889427
>>889434
#483 #889434
>>889426
>>889427
точно, забыл про распаковку?
#484 #889470
>>889367
Можешь мне с ЕГЭ помочь?
>>889822
#486 #889498
Кто-то умеет в BeautifulSoup?
Мне надо вытянуть первую ссылку из первого параграфа определенного класса. Как "достучаться" до класса я понял, а дальше что? Как-то в цикле надо искать <p>?
http://pastebin.com/aD83cqqT
>>889499
#487 #889499
>>889498
.class p a
#488 #889548
Сап. Как объединить лист
a = ['h', 'e', 'l', 'l', 'o']
в Лист "b", который будет равен
b = ['hello']
То есть все елементы сложить в один
#489 #889549
>>889548
[str.join("", a)]
>>889559
#490 #889552
>>889548
["".join(a)]
>>889559
#491 #889559
>>889549
>>889552
Спасибо
#492 #889565
>>889548
Вот так сделай, чтобы все в классе охуели:
[reduce(lambda x, y: x + y, a, '')]
#493 #889567
>>889548
Вот так сделай, чтобы все в классе охуели:
f = lambda l: l[0] + f(l[1:]) if l else ""
b = [f(a)]
#494 #889589
>>889548
Вот так сделай, чтобы все в классе охуели:
(lambda a: [('{}'len(a)).format((s for s in a))])(a)
>>889590
#495 #889590
>>889589
Ебаная макаба
(lambda a: [('{}'len(a)).format((s for s in a))])(a)
>>889592
sage #496 #889592
>>889590
да в пизду короче
#497 #889593
a[0] + a[1] + a[2] + a[3] + a[4]

Я фонат плейна.
#498 #889604
Анон, заполняю ключи словаря, полученными регекспаньем строк в файле, строками, из которых значение ключа и достал.
есть говно вида

main_dict = dict.fromkeys(set(domain_list), list())

for row in file.readlines():
....main_dict[my_domain_pattern.findall(row)[0]].append(row)

domain_pattern - скомпиленный регексп,
main_dict, как видите, перед этой херней я заполнил пустыми списками, чтобы в них аппендить можно было
Только цимес в том, что на выходе после обхода файла у меня каждое значение в ключе имеет блядь все подходящие под регексп строки. Сейчас дошло что я каким-то образом может хуякнул во все значения один и тот же словарь?
>>889607>>889612
#499 #889607
>>889604
Да, один и тот же инстанс.
Используй collections.defaultdict
>>889610
#500 #889610
>>889607
Я помню что читал про эту фигню, про эту уловку, но я думал что list() как раз-таки даст мне этого избежать в отличии от [].
Спасибо
>>889619
#501 #889612
>>889604
main = {k: [] for k in set(keys)}
#502 #889619
>>889610
Между list() и [] разницы нет.
Ты читал скорее всего про то, что в defaultdict надо передавать list, а не [].
Не "list()", а "list". Функцию, создающую список, а не сам список.
defaultdict у себя внутре эту функцию дёргает кучу раз и получает кучу инстансов пустых списков. А когда ты передаёшь пустой список аргументом в dict.fromkeys лист всего один и все процедуры выполняются с ним.
dict.fromkeys лучше использовать только с иммутабельными значениями - числами, строками и т.д.
#503 #889621
>>884822
C чего ты решил?
#504 #889622
Чем проще всего графики клепать на джанго-сайте?
нужен линеечный, самый простой считай
>>889632
416 Кб, 1800x1166
#505 #889629
>>889395
Спасибо большое
#506 #889632
>>889622
А что, на пиздоне больше одной графиковой либы (пайплот)?
>>889634>>890663
#507 #889634
>>889632
Мне бы и какая-нибудь ссанина на жс подошла, лишь бы просто безо всяких ебанутых json'ов прикручивалась.
Но в идеале конечно что-то что бы само из модели гребло и графиком няшно выстраивало
>>889817
#508 #889817
>>889634
ну так если жс либа, то там без json никак наверное? с бекенда отдаешь json и рендеришь на графике. и чем он вообще плох-то? нормальный же формат.

http://www.highcharts.com/ эти посмотри, может быть
#509 #889822
>>889470
Да кто бы мне помог. Пиши в телегу может че подскажу
https://telegram.me/deefault
новый тред #510 #889850
>>889846 (OP)

Прорастаем в новый тред.
#511 #890663
>>889632
Есть кривой порт ggplot.
Тред утонул или удален.
Это копия, сохраненная 23 декабря 2016 года.

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

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