Этого треда уже нет.
Это копия, сохраненная 4 мая 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
94 Кб, 600x675
#2 #931614
Пиздец этот ваш пистон. Второй день ебусь с установкой openai universe, так нихуя толком и не работает.
931629931632
64 Кб, 739x767
#3 #931624
>>931572 (OP)
Сап программмач.
Нужно вывести окно, в котором мышкой тыкаются в произвольных местах точки.
И После определенных вычислений нужно эти точки соединить в некотором порядке.
Кстати сами точки должны знать свое расположение в полярной системе координат.
т.е. свой радиус и угол наклона.

Собственно вопрос: какая библиотека подойдет?
931625937350
#4 #931625
>>931624
Я никогда не работал с GUI, но беглым взглядом вижу что PyQt подерживает взятие позиции курсора http://pyqt.sourceforge.net/Docs/PyQt4/qcursor.html. Думаю клики он тоже ловить умеет.
931633931675
#5 #931628
931633
#6 #931629
>>931614
Ясно. Продолжай держать нас в курсе.
180 Кб, 960x960
#8 #931633
>>931625
>>931628
Найс, спасибо большое
#9 #931648
Вот типичный Django для статики на dev сервере:

>urlpatterns = [


...

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
У меня есть деплой, и там каортинки загруженные с админки так не отображает. Мне не охота ебаться с ngnix там и прочим потому что хостинг не позволяет да и образовательных целей нахуй не надо. Памахите.
931649931673
#10 #931649
>>931648
Бля разметка, ну да ладно.
#11 #931673
>>931648
Если ставлю на деплое DEBUG = TRUE то работает но ка-то ноч вариант.
937735
#12 #931675
>>931625

> pyqt4


> 4


> 4

#13 #931730
Наткнулся на хорошо структурированные туториалы.
https://pythonspot.com/
931744
#14 #931744
>>931730
Туториалы до пизды, все равно забудешь все. Главное это практика, прикладной код, а не школьная хуйня, а там уже и сам все изучишь.
Пару раз по доками прошелся - и вперед писать свой двач.
931747931784
#15 #931747
>>931744
Я начинающим запостил.
931753
#16 #931753
>>931747
Вот я так просрал кучу лет, читал книжки, туториалы, думал, что это поможет, а в итоге всё равно начинаешь думать с нуля, находить другие приемчики, заново читать доки, когда пишешь реальный проект.
931756931784
#17 #931756
>>931753
А я так просрал все внимание. Когда начал галопом прыгать по вебу и интересующим меня фреймворкам, а потом выяснил что существуют itertools, collections и что чтобы вернуть None вместо несуществующего ключа, можно использовать .get а не писать блок проверки.
931768931784937736
#18 #931768
>>931756
Уж лучше так, чем вобще никак.
931776
#19 #931776
>>931768
Ну это ясное дело.
#20 #931784
>>931744
>>931753
>>931756
проинкрементировал этих ананасов.
931938
#21 #931823
Аноны, устанавливал кто apache2.2 и python3.5(for flask)? Ебусь уже долго и упорно. Смог установить лишь апач со вторым питоном, вроде как вычитал что не всё так просто, и нужна какие-то йоба библы ставить, прошу, помоги, антош.
931897
#22 #931897
>>931823

>apache


>2017

931939
87 Кб, 890x675
#23 #931938
#24 #931939
>>931897
Что не так тебе, довн?
931941
#25 #931941
>>931939
Гавнажор спидорашный, бббббггеее.
931945931990
#26 #931945
>>931941
Ясно, у довна обострение прост.
#27 #931973
Я ознакомился с AByteofPython, а как мне начать что то писать? Чувствую себя дауном. Вот я хочу запилить качалку с ютуба. Как мне быть?
#29 #931984
>>931973
Ну запили, хуле ты.
931994
#30 #931988
>>931973
newcoder.io
#31 #931989
#32 #931990
Так что, никто не юзал апач2,2 с питоном 3?
>>931941
Окей, антош, что тогда юзать? Посоветуй. Ну и желаетльно линк дай на адекватное описание процесса установки/запуска.
931993
#33 #931993
>>931990
nginx + gunicorn
мимо-другой-антуан
#34 #931994
>>931984

> Ну запили, хуле ты.


Смешно.
#35 #932021
http://pyvideo.org/pycon-us-2014/generators-the-final-frontier.html

Продолжаю постить годноту в трехд
932030
#36 #932030
>>932021
Постили уже полгода назад.
932041
#37 #932041
>>932030
Кто-нибудь еще увидит, кто не видел полгода назад.
932044
#38 #932044
>>932041
У этого мужика еще было годное выступление про метаклассы.
#39 #932054
>>931973
Допустим у тебя есть ютуб урл на входе, алгоритм разработки таков:
1. Идешь в гугл, спрашиваешь: "how to get the direct url of youtube video" (+опционально %языкнейм%), теперь у тебя есть способ преобразования "https://www.youtube.com/watch?v=кодвидео" в "https://видеохостинг.com/blablabla.mp4", полдела сделано.
2. Теперь опять идешь в гугл, и спрашиваешь: "how to download a media file python"
гугл говорит что-то типа:

> import coollib


> coollib.download('https://видеохостинг.com/blablabla.mp4', '/ДискЦе/file.mp4')


3. Оборачиваешь это все в свой main.py и выкладываешь на гитхаб.

Все, можешь спокойно идти трудоустраиваться за 300 к/сек.
#40 #932058
Начал работать с твистед и сразу вопросы к опытным анонам.

1) Как проверить - блокируется ли приложение или нет?
2) Добавлять в список словарь - блокирующая операция или нет?
3) Есть ли специальные средства для вызова системных команд, типа ls и тд? Или делать через subprocess?
4) Может кто даст нормальный пример хорошего веб-приложения на твистед? С роутерами, пост запросами, какими-нибудь длинными неблокирующими операциями? Мне просто код посмотреть и сделать по подобию.

Вроде все, спасибо.
932653933065
#41 #932091
Привет, теперь я тут часто зависать буду. Можно я буду неймфагом и возьму себе нейм "Долбоебик"?

Почему эта ебаная программа

a = 10
b = a(type)
print(str(b))

не возвращает мне слово int?
932093937708
#42 #932093
>>932091
А оно и не должно иименно "int" возвращать.
932094
#43 #932094
>>932093
А, я понял, я просто даун.
Вообще тип вызывается вот так
a = 10
b = type(a)
print(str(b))

Но в таком случае он возвращает <class 'int'>
Хм...
932096932097
#44 #932095
>>931140
А в чём смысл брать менторов на ночь, кстати? Ведь всё равно обучаться будешь не больше пары часов, а если немного перед работой утром захочется освежить знания, так ещё на часок можно взять.
932134
#45 #932096
>>932094
Ну так и чего тебе не нравится-то? Так вот питон типа обозначает, <class 'XXXX'>. Если хочешь получить конкретно то, что было написано при объявлении (class ZZZ: ...), то обрабатывай эту строку, формат всегда один.
932097
#46 #932097
Карочи есть примитивная прога.

name = input("Please tell me what's Your name? ")
print("Nice to meet You, " + name)

def age(age_1):
if age_1 == 20:
print(name + "'s age is " + age_1)
else:
print("Sorry, You should go back and print number")

age_1 = print(input(name + ", please enter Your age: "))

Почему возвращает ВСЕГДА else, а не if условие? я ввожу 20.

Сначала хотел просто чтобы он тип проверял, как в этом примере >>932094, но пока не знаю как это реализовать, ибо возвращает как анон подчеркнул >>932096 class 'int', наверное, надо просто со строками играть типа len[7:9]
932098932100
#47 #932098
>>932097
С отступами не проебался, просто почему то съелись отступы после отправки.
#48 #932100
>>932097

>age_1 = print(input(name + ", please enter Your age: "))


В переменную age_1 записывается то, что возвращается функция print. Что возвращает функция принт?

Перед твоим следующим вопросом, input возвращает строку, а ты это потом с числом сравнить хочешь. Строка не равна числу никогда.

>но пока не знаю как это реализовать


type(x) возвращает именно тип переменной x, а не строку с его названием. Для простоты можно сказать, что класс и тип это одно и то же. Так вот, если ты хочешь сравнить тип/класс переменной с нужным тебе, почему не хочешь просто взять и сравнить их? Вот ты сравниваешь две переменных, в которых записаы цифры, а у тебя будут, условно, две переменных, в которых записаны классы. Никакой разницы нет.
934246
#49 #932110
>>931572 (OP)
Вопрос всем работающим:
Почему требования при трудоустройстве на питон слабее, чем при устройстве на ту же джаву? Т.е. , насколько я знаю, на собеседованиях по джаве спрашивают хотя бы основы - простейшие алгоритмы и структуры данных, ООП и тд.
На питоне же самый каверзный вопрос который мне задали за все время это что будет если сложить True и False. Уточню что я джун-питонщик и для работы джава пока не требовалась. И до сих пор я устраивался только в сомнительные-полусомнительные конторы.
932392
#50 #932134
>>932095
Бывают такие ситуации, когда СТУПОР, и можешь неделями пытаться решить проблему и в итоге бросишь и пойдешь работать в мак, а ментор мог бы за пять минут решить и объяснить.
932151
#51 #932137
>>931973
Качалка с ютуба это хуйня однострочная, ты лучше вкатывайся в веб, напиши более-менее функциональное приложение на фласке, например. Традиционно - это написать борду, но можешь и своё что-то придумать. Это не сложно, но зато придется использовать более широкий стек знаний.
932151
#52 #932151
>>932137

>Качалка с ютуба это хуйня однострочная


Привет из 2005? Там хуйню сейчас понаделали такую, сигнатуры какие-то получать, js/swf код выполнять.

>>932134
Мне кажется, ты не так мой вопрос понял. Или это я усмотрел намёк на проституток там, где его не было.
932226
#53 #932226
>>932151

>з 2005? Там хуйню сейчас понаделали такую, сигнатуры какие-то получать, js/swf код вып


Щас бы юзать голое апи вместо божественных библиотек.
932796
#54 #932228
>>931973
apt -y install youtube-dl
#55 #932238
Подскажите, пожалуйста, литературу для изучения питона 10класснику (новичок практически) Основная цель сейчас - разобраться во второй части ЕГЭ по информатике. Хотел начать Лутца, но где-то читал, что бегиннер не все поймет. Ваши варианты? Еще рассматриваю Майкла Доусона
#56 #932239
>>932238
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
#57 #932247
>>932238
https://ru.scribd.com/document/339188541/A-Byte-of-Python

Лутц нужен только когда уже вкатился и имеешь представление что к чему. Для начального уровня достаточно документации/онлаен академий/книжек для нубов. Потом пишешь пару своих прикладных мини-проектов, начинаешь вдуплять, думать об оптимизации, встроенных функциях вместо своих костылей, алгоритмах, тогда уже и открываешь всякие лутцы.
#58 #932312
>>932238
Ну ты тупой школьник. Переходишь в шапку на гитхабе и смотришь раздел Легкие книги, читаешь их и начинаешь программировать на питоне через 5 часов.
#59 #932342
Посоны, какой либой по канону работать с удаленной MySQL базой?
#60 #932345
>>932238

>Лутц


>бегиннер не все поймет


Он же все разжевывает как не кто другой
932370
#61 #932370
>>932345
Выше мне ответили, что Лутц для тех, кто уже разбирается
#62 #932391
>>931140
есть куда дешевле, если речь не о C++ конечно
#63 #932392
>>932110

>Почему требования при трудоустройстве на питон слабее, чем при устройстве на ту же джаву?


неправда вообще
932806
#64 #932402
анон, есть строка, в ней слова разделены точкой с запятой. Надо каждую пятую точку с запятой заменить. Знаю про string.replace, но не знаю как подобраться к каждой пятой
#65 #932406
>>932402
Сделай генератором, базарю, ещё захочешь.
932411
#66 #932407
ребята, нужен совет: фласк или джанго? сам опытный веб-программист (и не только веб), но не работал уже много лет. осваиваю питон. желательно веб-фреймвок НЕ для дебилов, без миллиона слоев абстракции, автоматики, "магии", чтобы легко заменялась встроенная ORM и шаблонизатор, чтобы новичку можно было им уверенно пользоваться без скаффолдинг-скриптов для боилерплейта, чтобы легко и просто было в нем разобраться и контролировать. раньше сам писал MVC-фрейморк, но под питон пока не потяну, надо готовый. говорят джанго мне не подойдет, но: реально ли вообще будет найти удаленную удаленную питон-джуниору на фласке? ощущение что для джуноиров даже джанго-работы мало, не говоря уже про фласк. в сомнениях короче.
932420932440932631
#67 #932411
>>932406
засплитить а потом навставлять туда заново ';' и нужных мне символов?
932435
#68 #932413
>>932342
Бамп.
13 Кб, 350x233
#69 #932420
>>932407

> удаленную удаленную


А регги ты слушаешь?
#70 #932422
>>932402
re.finditer ищешь все индексы ; потом берешь каждый 5 индекс, заменяешь по нему в строке.
932431
#71 #932427
>>932402

Игорь?
#72 #932431
>>932422
а реплейсить-то как?
932433
#73 #932432
Не могу въехать в Django URLs
r'^$' : я так понял это главная страница?

Чем отличается urls.py в настройках проекта от созданной urls.py в приложении? Про первое понял, что это настройка ссылок, но про второе - нет.
932434
#74 #932433
>>932431
Ебать ты деревянный, замену в списке по индексу не можешь сделать.
932436
#75 #932434
>>932432

>Чем отличается urls.py в настройках проекта от созданной urls.py в приложении?


В настройках проекта - главный файл. Там ты можешь подключать urls.py из отдельных приложений. Но можешь вообще ничего не подключать, а все писать в главном файле, если не планируешь использовать свои приложения отдельно в других проектах.
932462
#76 #932435
>>932411
Просто по символу генерировать, считать и запоминать ";", а при вызове генератора join сделать.
#77 #932436
>>932433

> замену в списке


В каком списке?
#78 #932440
>>932407

> веб-фреймвок НЕ для дебилов, без миллиона слоев абстракции, автоматики, "магии", чтобы легко заменялась встроенная ORM и шаблонизатор


очевидный bottle, Все ручками
932453932474
#79 #932453
>>932440
такой подход импонирует лично мне, по опыту который у меня был много лет назад (мне всегда проще было собрать весь проект из отдельных компонентов либо некоторые даже написать самому: тот же роутинг, каскадные конфиги и т.п.). но мне 32, я уже не быстро учусь и пытаюсь вкатиться джуниором в питон. изучать способы обхода волшебства джанги будет трудно и непонятно зачем нужен фреймворк-черный ящик чтобы потом с ним воевать. (слышал что и компонентны у него не идеальны и их многие заменяют). но я в не том положении чтобы выебываться. вопрос насколько это вообще реально устроиться питон джуном удаленно не зная джанги (но зная на начальном уровне например фласк, или черрипай или боттл или что-то подобное)? т.е. смысл-то не учить джангу если на любой работе мне придется с ней столкнуться, тупить, не справляться и т.д.
932464932474
#80 #932462
>>932434
Спасибо, немного въехал уже.
#81 #932463
932471
#82 #932464
>>932453
Шансов вкатиться на Flask перепрыгнув Django у тебя нет.
#83 #932465
>>932342
Бамп. Платиновый же вопрос. Скажите, что юзают в продакшене-то?
#84 #932468
>>932342
СКЛ-АЛХИМИЯ
#85 #932471
>>932463
Ну и блевотина.
#86 #932474
>>932440
>>932453
тогда уж Tornado, асинхронность, хайлоад, и не только
932626
#87 #932485
Анон, такая проблема. Пишу скрипты, написал даже бота для телеграма, но никак не могу понять, где и как можно применить ООП. Есть какой-то страх в изучении этого. Как перебороть? Есть какие-то задачки по возрастанию с объяснением по этой теме?
932487932530
#88 #932487
>>932485

>но никак не могу понять, где и как можно применить ООП


Если не можешь понять, то и не нужно.
932488932523
#89 #932488
>>932487
Возможно, в своих задачах я мог бы его применять, чтобы говнокод стал чуточку лучше.
932505932520
#90 #932493
антон, я тут недавно накрапал тулзеху, пингалка инета + опрос роутера на предмет отвала 3G мопеда и его ребут.
раньше до питона руки не доходили, но задачка-то хуйня, единственное на чем встал в ступор - при загрузке страницы с помощью urllib2 срабатывал редирект, НО! при внимательном рассмотрении трафик дампов (девконсоль браузера мне тоже ничего не показала и я решил проверить наверняка) выяснилось что 30x там не пахнет, а редирект сделан window.location.href= в яваскрипте страницы (они там организованы в фреймы - для этого и редиректят после проверки)! БЛЕАТЬ НО КАК ЖЕ ТАК? питонячья urllib2 чо нативно умеет яваскрипт или это какая-то исключительная ситуация?
редирект-то я задавил кастомным обработчиком urllib2.HTTPRedirectHandler, но ситуация так и осталась не понятной.

P.S. еще была трабла в том, что на боевом роутере (TP-Link) требуется авторизация, и у китайцев походу свое видение использования Authorisation Basic, т.к. в хедерах они передавали правильную строку, но не с 401 а с 200! ну допустим это еще можно понять, чтоб не браузерное стандартное окно рисовать, а свою красивую форму, но она при отправке авторизации вместо передачи чисто в заголовке, как положено, передает правильно сформированную строку в куке - вот кто все-таки уебок - китайцы или я?
#91 #932505
>>932488
Ну хз, поставь джангу, напиши на ней борду/бложек, по ходу смотри как там работа с классами реализована.
#92 #932520
>>932488
stop writing classes.flv
#93 #932523
>>932487
ООП вообще не нужно на самом деле.
932527
#94 #932527
>>932523
ооп в пифоне удобно как данные + методы. можешь конечно свои данные явно закидывать в функцию, но какой смысл? "abc".upper() vs str.upper("abc")
#95 #932530
>>932485
Нужно для повторного использования своего кода.
Из этой задачи проистекают требования к формированию объектов.

Например ты хочешь в далеком светлом будущем воткнуть своего нахуй никому не нужного бота для телеграма в свою будущую охуенную мега-программу которая будет делать хуй знает что, причем ботов в этой программе планируется запускать сразу пачками. Нужно взять существующий говнокод, добавить к нему процедуры инициализации параметров по умолчанию, перетрясти код в плане выявления всяких неявных параметров, передаваемых основным функциям, обернуть все это в класс, протестировать в работе, написать документацию. Тогда через год для запуска пяти ботов с разными параметрами тебе нужно будет всего лишь импортнуть описание класса и написать пять строчек инициализации для объектов. Если ты всего этого не сделаешь, через год есть шансы что твой бот для телеграма вообще не запустится и чтобы разобраться в чем дело и запустить их пять штук разных понадобится уйма времени, которого скорее всего у тебя не будет. Как-то так.
932540
#96 #932540
>>932530
Как боженька спизданул. Спасибо.
#97 #932551
Гайз имею такой текст http://pastebin.com/SirYDhNn где кол-во текста и кол-во таких ссылок может быть бесконечно большим. Как мне оттуда выцепить весь текст не имеющий отношения к тегам, причем последовательно?
932572932609
#98 #932555
Анон, посоветуй IDE, которую можно поставить на ведроид.
932605
#99 #932572
>>932551
xpath /text()
932599
#100 #932599
>>932572
посмотрел, я все равно не понимаю, как это использовать. Это скорее поможет мне вытащить текст между тегами <a><a/>, а мне нужен то нужен весь текст, который не находиться между тегами и который не теги.
932606932613
#101 #932605
>>932555
vim/emacs/nano
#102 #932606
>>932599
Юзой регулярочки.
932608
#103 #932608
>>932606
ну это была моя первая мысль, но ничего адекватного написать не удалось. Но все идет к тому, что сейчас пойду покорять регулярки...
#105 #932610
>>932609
спасибо
#106 #932613
>>932599

> Это скорее поможет мне вытащить текст между тегами <a><a/>


нет
#107 #932620
>>932342
с удаленной то ты как собрался работать? ты из гитлаба что ли?
932632
#108 #932626
>>932474
Такой бред.
#109 #932631
>>932407
хули ты выебываешься тут!? бери джангу и иди нахуй, волшебства ему много блять.
#110 #932632
>>932620
Ну она на серваке крутится. А скрипт запускается на другом сервачке.
932633
10 Кб, 200x252
#111 #932633
>>932632
ты мне втираешь какую то дичь!? как такое вообще может быть?! что бы база данных на другом сервере работала!!!!???!??!
932634
#112 #932634
>>932633
Ну, блядь, ты знаешь что такое разные энвайрменты? Вот база на одном, а скрипт на другом. Мне, блядь, данные оттуда вытягивать надо, фирштейн?
#113 #932635
>>932634
Ну так бери любой модуль для работы с мускулом и подключайся, в чем проблема то?
932637
#114 #932637
>>932635
Так я спрашиваю, какой каноничный?
932643
#115 #932638
>>932634
чоза экскваерты!?
#116 #932641
>>932634
отпишись потом, мне тоже надо
932642
#118 #932643
>>932637
https://dev.mysql.com/doc/connector-python/en/
Достаточно канонично? Ты за 7 часов мог бы уже и сам нагуглить.
932648
#119 #932645
>>932642
а на русском есть!??!? чо ты мне лажу какую то опять втираешь!!??! или это не ты!?!??! вы чо меня дрочите!!?!? вы на каком серваке щас подъеду!!
932647
#120 #932647
>>932645

>а на русском есть!??!?


Пизда тебе, тварь руснявая.
#121 #932648
>>932643
Сука, хули через пип нельзя?
932654
#122 #932649
>>932634
э мне тоже за данными! чо думаешь ты один щас тут без данных сидишь!?
#123 #932650
# / Стерильные / bin / питон
Частный Mayskldab

DB = Mayskldabkconnect (имя хоста = "локальный" # Kmu lsaquo, Nthvi Jmbiri локальный
Vsuta = "Ohne" # Dzina Lolovera Lnu
Psswd = "Megajonhi" # Acinsinsi Статья
DB = "Johydb") # Dzina L'Zkfukufuku

# Muyenera Kulenga Cintu Cholojera. Изо Tiani
# Ину Kudzpereka Mf ँ так Onse Muyenera
= Кубок Dbkcursor ()

# Ntcito брутто Onse Mukufuna
Krkexecute ( "Ква Yor_tebl_nam Snkni *")

Виолончель # Sindikizani Onse приходят Oynba Mizre Onse
Ква Mzere Krkfetchall бесплатно ():
Kusindikiza Mzere [версия]

Dbkclose ()
#124 #932653
>>932058

>твистед


>2017

932677932706
#125 #932654
>>932648
Программирование это явно не твое, ты даже необходимую информацию найти не можешь.
932656
#126 #932656
>>932654
та нахуй ты прикладуеш?
#127 #932677
>>932653
А что нынче в моде?
932706932772
#128 #932706
>>932653
Да мне тестовое прислали.
>>932677
asyncio, tornado, nodejs.
VK API | PYTHON #129 #932767
https://2ch.hk/b/res/146688377.html (М)

ПОМОГИТЕ, НУЖНА ПОМОЩЬ!

ЛЕНЬ ПЕРЕКАТЫВАТЬ СЮДА
#130 #932772
>>932677
Хассль.
#131 #932796
>>932226

>вместо божественных библиотек.


А, то есть для тебя "написать скачивалку с ютуба" это "заимпортить youtube-dl и вызвать его"? Так любая задача в одну строку будет решаться.
#132 #932802
>>932402
http://ideone.com/964NW7
Какие-то странные предложение в треде были, вручную индексы через finditer считать, лол.
#133 #932806
>>932392
Ну так, блядь, расскажи про свои собесы по питону. Что тебя там такого охуенного спрашивали?
#134 #932929
Шановні друзі, сейчас будет вопрос из серии "больной ублюдок".
В Pycharm Edu есть возможность цеплять курсы из сторонних источников и со спокойной душой их проходить. Вот только не ясно где эти курсы искать кроме стандартных и существуют ли они вообще? Помогите зеленому хорошими линками.
932953
#135 #932953
>>932929

>Pycharm Edu


Бесполезная хуйня.
933025
#136 #932956
Значит есть утилита psexec, с помощью нее я подключаюсь удаленно к компьютеру в локалке запуская шелл.

Нужно автоматизировать через процесвс через 3й питон.
Проблема в том, что os.system(#команда) после выполнения данной команды закрывает окно, а последующие вызовы не будут относиться к процессу удаленного подключения.
Как мне сделать так, чтобы последующие команды относились к процессу с запущенной удаленной сессией?
Используется шиндовс
#137 #933025
>>932953
Тогда давай линк на полезную хуйню
933027
#139 #933043
>>933027
Ты хоть понимаешь что ты максимум тупой копипастер?
#140 #933065
Короче, я со всем разобрался сам, идите нафиг
>>932058-кун
933066933182
#141 #933066
>>933065
Себас, школота.
#142 #933182
>>933065
Cпасибо скажи. Бесценный опыт.
#143 #933189
Хелпуй двощ. Как написать автоответчик вк? С апи вк чутка работал, но вся проблема упирается в то, что я не знаю, как вечно проверять сообщения.

Например, мне на "привет" от друга надо отвечать "привет". Мне надо будет весь свой код в бесконечный цикл пихать и на хостинг или как?
933191933194933285
#144 #933191
>>933189
Бесконечный цикл или cron
#145 #933194
>>933189
а там шо хендлера нету сообщений никакого? не может быть. есть же боты вконтакте всякие
#146 #933197
PyCharm открывается около 10 минут. Внизу идет полоска с Updating Skeletons for python36
Как фиксить это?
933202933567
#147 #933202
>>933197
Купить железо по-мощнее.
933204
#148 #933204
>>933202
Неужели 4гб оперативы и i3 неподходит для написания лаб и изучения Django? Обожаю Java
933567
#149 #933210
Есть сайт с кучей страниц, на которых есть изображения. Надо выкачать все изображения с каждой страницы. В какую сторону гуглить и копать, чтоб это сделать?

html отдаёт какую-то хуйню, в которой нету изображений со страницы вообще.
933211933256933283
#150 #933211
>>933210
Кинь html
933213
#152 #933216
>>933213
Помимо всего прочего, там каждая страница открывается какого-то хуя в новой вкладке, если клоцать "Дальше". Можно, конечно, задать последнюю страницу и подставлять аж до первой в url и парсить каждую, но может есть другой способ?
#153 #933219
>>933213
<div class="image"><a href="http://img0.reactor.cc/pics/post/full/Dota-Art-Dota-фэндомы-Mirana-3661164.jpeg"

Через BeautifulSoup парсишь все jpeg с классом image
933240
#154 #933240
>>933219
http://pastebin.com/fJENeCFd

Если сделать get('src') для нулевого элемента в response? то работает, а если в цикле, то нет. Хули?
933243933258
#155 #933243
>>933240
Уже и для 0 не работает, сцука.
#156 #933256
>>933210
через lxml

from lxml.html import fromtstring
import requests
document = fromstring(requests.get(url).content)
image_urls = documnt.xpath("//div[@class='image']/a/@href")

немного набухан
933263
#157 #933258
>>933240
Я уже давно ничего не парсил. По памяти просто посоветовал как делал я раньше. Может кто-то умелый тебе подскажет позже с нюансами.
933263
#158 #933263
>>933258
>>933256
<a class="prettyPhotoLink" href="http://img1.reactor.cc/pics/post/full/Dota-фэндомы-Luna-the-Moon-Rider-Dota-Art-3645677.png" rel="prettyPhoto"><img alt="Dota,фэндомы,Luna the Moon Rider,Dota Art,Arcan-Anzas" height="1265" src="http://img1.reactor.cc/pics/post/Dota-фэндомы-Luna-the-Moon-Rider-Dota-Art-3645677.png" title="Dota,фэндомы,Luna the Moon Rider,Dota Art,Arcan-Anzas" width="811"/></a>

получается массив таких элементов. Как залезть сюда еще в img? get-ом могу вытащить только то, что идёт до <img?
933268933275933278
#159 #933268
>>933263

>get-ом могу вытащить только то, что идёт до <img


Ебать ты лох!
933270
#160 #933270
>>933268
Да...
#161 #933275
>>933263
Можно сделать так, чтобы все охуели
http://pastebin.com/VLYSn6df
933277
#162 #933277
>>933275
что это за хуйня? Мне надо добраться до тега img, который вложен в <a> и всё. Нахуя ты это высрал?
#163 #933278
>>933263
image_urls = documnt.xpath("//div[@class='image']/a/img/@src")
933280
#164 #933280
933287
#165 #933283
>>933210
>>933210

>аёт какую-то хуйню, в которой нету изображений со


БРО вот http://pastebin.com/AeDB14L4
933290
#166 #933285
>>933189
event based architecture
#167 #933287
>>933280
мамке привет
#168 #933290
>>933283
Заебись, но не совсем. Я выше запостил, что у меня получилось. Дело в том, что без ватермарки изображения лежат в <img src>, а не в <a>
933312
#169 #933312
>>933290
http://pastebin.com/w5xFxjmf код не тестил, должно работать
933321933567
#170 #933321
>>933312
Понял посыл, анон. Добра.

Другой вопрос теперь. На сайте дохуя страниц. Единственным выходом я нашел - сгенерить массив чисел от 1 до 649 (последняя страница сейчас) и подставлять в линку при парсинге. Возникает проблема, как сделать так, чтобы скрипт автоматически начинал с последней страницы, а не приходилось ручками идти на сайт и смотреть, какой номер сейчас последний?
933326933555
#171 #933326
>>933321

>Парси пагинатор


<div id="Pagination" class="pagination"><div class="pagination_main"><span class='current'>Назад</span><div class="pagination_toggler">...</div><div class="pagination_expanded"><span class='current'>650</span><a href='/tag/Dota%2BArt/new/649' class=''>649</a><a href='/tag/Dota%2BArt/new/648' class=''>648</a><a href='/tag/Dota%2BArt/new/647' class=''>647</a><a href='/tag/Dota%2BArt/new/646' class=''>646</a><a href='/tag/Dota%2BArt/new/645' class=''>645</a><a href='/tag/Dota%2BArt/new/644' class=''>644</a><span>...</span><a href='/tag/Dota%2BArt/new/2' class=''>2</a><a href='/tag/Dota%2BArt/new/1' class=''>1</a></div><a href='/tag/Dota%2BArt/new/649' class='next'>Дальше</a></div></div>
933328
#172 #933328
>>933326
>>933326

> <a href='/tag/Dota%2BArt/new/649' class='next'>Дальше</a></div></div>


Получается тут всегда будет линка на последнюю страницу? Охуенно, анон!
#173 #933448
Ананасы,в чем сакральный смысл обязательного добавления запятой в кортеж с одним элементом?
933489933567
#175 #933489
>>933448

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


В противном случае любое выражение со скобками становится неотличимо от кортежа. Как пример:

x = (a + b) + (c + d)
x == (a + b, c + d) # True
933567
sage #176 #933499
#177 #933515
Кто там в прошлом треде советовал VSCode? Пара минусов для меня: нет минимапы, нельзя открыть несколько директорий в одном окне. Всё остальное действительно лучше, чем в атоме. Даже не знаю что теперь делать, очень привык к карте.
933517
#178 #933517
>>933515
Сука, дебил, поставь пайчарм. Для тебя же делалось.
933518
#179 #933518
А хотя похуй, в феврале всё зделают: https://github.com/Microsoft/vscode/issues/20021
>>933517
Да иди ты нахуй со своим пичармом.
933519
#180 #933519
>>933518
Пердоля, блядь, не пытайся искать оправдания, чтобы не писать код.
933567
#181 #933555
>>933321
почему нельзя сделать цикл, который проверяет число страницы на доступность? Пусть проверяет от 1 до, скажем, 1000, при ответе "не найдено такой страницы" пусть останавливает цикл и выдает номер предыдущей доступной, допустим 998. и этот номер возвращает в главную твою часть кода.
933572
#182 #933567
>>933312
А закрывать файлы кто за тебя будет?

>>933448
Иначе ты кортеж с одним элеметом не создашь, потому что именно запятая делает элемент кортежем, а не скобки.
(5) == 5
(5, ) != 5

>>933489
сам-то понял, что написал?

>>933519
Заметна польза этого пайчарма тут -> >>933197 , >>933204

>>933204
При использовании нормального редактора этого более чем хватает.
933568933594
#183 #933568
>>933567

>Иначе ты кортеж с одним элеметом не создашь,


Ну, не считая побочного случая с tuple(elem), когда elem это строка с одним символом, или при обрезании уже существующего кортежа до одного элемента. А то набегут же сейчас.
#184 #933572
>>933555
Можно, тут на всё воля программиста!
#185 #933594
>>933567

>сам-то понял, что написал?


А то! Это пример неоднозначности, которая бы возникала, если бы грамматика допускала запись кортежа без запятой.
#186 #933645
Аноны, подскажите туду-лист для пайтон вкатывальщика. Имиджборда, твиттор и т.д.
933660
#187 #933648
Анон, есть такие сервисы, которые оценивают твой говнокод, и советуют, где и что можно улучшить? Я говорю, конечно же, про реальных людей, которые могут пояснить. Говнокода не много, скрипты на 150-200 строк, примерно.
#188 #933660
>>933645
Пиши асинхронную имиджборду которая способна держать 5к запросов в секунду. Классика жи.
933728
#189 #933728
>>933660
А почему именно асинхронную?
933732933734
#190 #933732
>>933728
пижже
#191 #933734
>>933728
И еще, обязательно на вебсокетах и монгой.
933768
#192 #933736
Поясните за синтаксис
c = Category.objects.get_or_create(name=name)[0]
Что значит [0] в конце?
933741933751
#193 #933741
>>933736
Нулевой элемент списка.
#194 #933751
>>933736

>get_or_create


>Returns a tuple of (object, created), where object is the retrieved or created object and created is a boolean specifying whether a new object was created.


В документацию заглянуть лень?
#195 #933768
>>933734
вебсокеты же заебись, не?
933851
#196 #933851
>>933768
Тока сложно. В джангу вон какие-то каналы завезли, даже не смотрел еще.
934052
90 Кб, 1280x720
#197 #933883
Sup, анон.

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

https://t.me/pythonach
933897
#198 #933897
>>933883
Окей, гугл.
sage #199 #933916
>>931572 (OP)
Поясните в чем смысл подобной конструкции:
Class Govno:
.....
.....
.....
def _huy(self, pizda):
....

def huy(self, pizda):
return _huy(self, pizda)

Неоднократно встречал подобное, в том числе и в серьезных проектах.
933921934083934090
#200 #933921
>>933916
Интерфейс и его реализация
933930934084
#201 #933930
>>933921
Ну конкретно тот пример бессмысленный. Я еще понимаю, если бы там был property или еще чего.
#202 #933939
Как сделать так, что бы при каждом запуске фласк сервера появлялся новый сервер? Например, запустил в терминале сервак, хостится на локалхост:5000. Я хочу открыть еще один терминал и запустить сервак, но что бы он был отдельным, а не тем же самым(на локалхост:5000).
Только вкатился во флакс, сори за хуевый вопрос.
933946
#203 #933946
>>933939
Порт укажи, дебич, хех.
934044
50 Кб, 805x387
27 Кб, 642x316
20 Кб, 522x257
#204 #933968
Ребят, как работать с Json ?

Не могу никак достать значения из ключей src и т.д.

как вообще их оттуда дергать ?
#205 #933972
>>933968
Пиздец.
#206 #933974
>>933968
Также, как и со словарями.

Залей жсон куда-то свой и скажи, что тебе надо достать именно. Значения можешь стереть.
933980
#207 #933980
>>933974
http://fex.net/#!770932802292

Мне нужно просто доставать ссылки из всех src
Мне хотя бы понять как достучатся в словарь который в словаре, исходя из моего Json`a
933996
#208 #933989
Поясните за django. Только в таком стиле: html это сруб бани, css это то как будет выглядеть баня.
933995
#209 #933992
>>933968
В хаскеле бы делал, все легче.
#210 #933995
>>933989
…а джанго это картонка, на которой бомж спит возле бани.
#211 #933996
>>933968
>>933980
Непробивной ты просто пиздец.
for i in json:
print(i['photo']['src'])
934114
#212 #934044
>>933946
И как можно максимально безкостыльно сделать автоматический подбор порта? Не буду же я в 10 терминалах 10 разных портов прописывать.
934048
#213 #934048
>>934044
Скриптом?
#214 #934052
>>933851
чего тут сложного?

# сюда приходят сообщения
@channel_session_user
def ws_recieve(message):
# получили тело сообщения
msg_content = json.loads(message.content['text'])
# отправили ответ в текущий канал
message.reply_channel.send({'text': 'slojno slojno blyat'})
# добавили текущий канал в группу
Group('te_komu_slojno').add(message.reply_channel)
# отправили в группу
# взяли юзера джанго
username = message.user.username
Group('te_komu_slojno').send({'text': 'we have a new member! {}'.format(username)})

по моему проще некуда.
#215 #934083
>>933916
Так правильнее для наследования.
#216 #934084
>>933921
двачую
#217 #934090
>>933916
только зачем имплементация в самом интерфейсе? не правильней тогда сделать так?
def huy(self, pizda):
raise NotImplementedError('huy must implement in subclass.')
думаю так тупо удобней кому то было вот и зделол, остальные поглядели и тоже зделоли и понеслась...
934092
#218 #934092
>>934090
Ты какой-то странный наркоман, я тебя боюсь.
934094
#219 #934094
>>934092
чо сразу наркоман? везде так делаю, сразу видно если проебался с реализацией
#220 #934099
ну и нитерфей он на то и интерфей что бы декларировать свои методы, а реализация должна быть вовне.
934362
52 Кб, 815x587
48 Кб, 499x631
48 Кб, 496x633
#221 #934114
>>933996
>>933968

Я вернутся
и сделать "хуйня"

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

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

НО, вот там сперва стучусь по индексу что бы все остальное получить)
этот индекс должен быть как строкой передаваться "1"

И вот допустим мне нужно 200 фото потянуть в цикле через всю эту конструкцию

То есть в Json вернуло 200 ключей и нужно каждый из них прогнать и потянуть ссылку, но как ?

бля,кароч, вы поняли
934121934173934180
#222 #934121
>>934114
сука ты шо ебанутый нахуй блядь
934135
#223 #934129
Помогите конченному дауну

r = s.post(URL, auth = HTTPBasicAuth(USERNAME, PASSWORD))

following_error_occurred: "Произошла ошибка",
server_did_not_respond_in_time_try_again: "Сервер не ответил вовремя. Пожалуйста, попробуйте снова.",
934132
#224 #934132
>>934129

> Пожалуйста, попробуйте снова

#225 #934135
>>934121
а шо, не видно ?
934136
#226 #934136
>>934135
ты сука хуйни нагородил пошел на хуй блядь
#227 #934173
>>934114
Больной ублюдок ты что творишь? Ты хоть книжки почитай чукча бля.
#228 #934176
Аноны, есть код
digits_pattern = re.compile(r'^[0-9]+ [0-9]+$', re.MULTILINE)
try:
matches = re.match(digits_pattern, query.query)
except AttributeError as ex:
return
num1, num2 = matches.group().split()
нужно переделать его так, чтобы проверялась одна переменная, то есть грубо говоря, чтобы была только num1. Помогите пожалуйста
934195
253 Кб, 692x676
#229 #934180
>>934114

Лол, у меня куски кода остались от одной попытки сделать
Я и не заметил)) 0
Все равно они не на что не влияли

А по поводу извращенного доставания из словаря, то по нормальному оно не хочет, максимум что получается то получить номер фото и photo/type
934369
#230 #934195
>>934176
digits_pattern = re.compile(r'^[0-9]+', re.MULTILINE)
try:
matches = re.match(digits_pattern, query.query)
except AttributeError as ex:
return
num1 = matches.group()
#231 #934246
>>932100

Анон, ответь вновь, пожалуйста.
Хотел тебя поблагодарить, я много раз перечитывал, и только сейчас дошло до меня что именно ты имел в виду
934958
#232 #934362
>>934099
Но это же питон. Там даже в основных гайдах от создателей говорят, что не надо делать obj.get('x'), а просто obj.x
934367934379
#233 #934367
>>934362
Ссылку, где так говорят.
934370934379
#234 #934369
>>934180

>!=None


>NameError, если все src_* None


>AttributeError, если number_photo или photo None


И это на таком простом примере. Уныло.
#235 #934370
>>934367
Не знаю, давно где-то видел.
Разве это не логично звучит? Зачем тебе интерфейсы в питоне?
#236 #934371
Аноны, у вас нет ощущения, что на нашем любимом языке стало меньше вакансий?
Мониторю хх, и что-то одни и те же вакансии по кругу, а новых очень мало, если машоб в счёт не брать.
934372934386
#237 #934372
>>934371
Не знаю. Может кризис сказался?
#238 #934379
>>934367
>>934362

>obj.get('x'), а просто obj.x


Во-первых, нахуй велосипеды, если есть getattr
Во-вторых, getattr(obj, 'x') имеет смысл, если название аттрибута заранее неизвестно, либо если хотим сделать getattr(obj, 'x', 'default_value')

Для всех остальных случаев есть геттеры/сеттеры
934382
#239 #934380
Аноны, как из вконтактика спарсить название песни, которую слушает пользователь?
934384934385
#240 #934382
>>934379
Это вообще другой вопрос. Хотя может я путаю.

obj.get - это я имел в виду реализацию интерфейса. Т.е. обращение к полям объекта. И говорю что в питоне это не нужно. А getattr - это полезная штука.
#241 #934384
>>934380
Смотри в инспекторе браузера html код, парси через beautiful soup если сможешь получить страницу. Или посмотри документацию vk api.
934388
#242 #934385
>>934380
Без задней мысли.
#243 #934386
>>934371
Помониторь другие, меня на Моем Круге заебали уже своими молодыми активными коллективами использующими асинхронный микросервисный TDD в корпоративном смузи спортзале.
934432
#244 #934388
>>934384
Через urlopen(site_name).read() получаю страницу, но суть в том, что она отличается от того, что вижу в инспекторе браузера.
934389934394
#245 #934389
>>934388
А ты получай страницу через вкапи.
#246 #934394
>>934388
Потому что контакт не дурак, он не дает всяким роботам качать. Вдобавок там же через JS рендерятся страницы и тд. Конечно же ты не получишь такую же страницу. Тут либо надо научиться маскироваться под человека и исполнять джаваскрипт, или да, через апи.
#247 #934432
>>934386
А я как раз оттуда удалился из-за слишком назойливых частных хантеров.
28 Кб, 406x514
#248 #934486
Сап, программач.
Нужно запилить веб-сервис на питоне в качестве проекта по учёбе (студентота). Главное, чтобы были реализованы классы и использовался фреймворк (желательно джанго). Веб-сервис может делать что угодно на ваше усмотрение, главное, чтобы было прокомментировано и понятно.

Кто сможет помочь за символическую плату и очень срочно - мыло ton!R0isemenov17ANUSmaiQ-:lPUNCTUMr\P5u
пишите, что из программача
934513934558
#249 #934513
>>934486
"Символическую плату" принято указывать явно.
#250 #934558
>>934486
Да, пиши сколько готов заплатить, а мы посмотрим. Я в принципе готов за денек какую-нибудь крудо-фигню запилить. Только учти, мой час в офисе стоит 500 рублей, я конечно с тебя столько не возьму, но имей в виду, когда будешь прицениваться.
934563934769
#251 #934563
>>934558
Я наоборот на фрилансе больше беру, чем в офисе получаю.
934567
#252 #934567
>>934563
Вот я бы тоже не против перейти на фриланс.
Хотя я сейчас считай удаленно работаю. Появляюсь в офисе раз в неделю где-то на несколько часов. Но это полуофициально, поэтому не считается.
#253 #934769
>>934558

>500 рублей


Взоржал с нищей спидерахи, бббгггее. работающей за восемь баксов как мойщик сартиров в испании, хехе. До чего нищий народишко, бббггее.
934799
#254 #934799
>>934769
Еще один забыл таблетки принять и спутал pr с po. И откуда такие в моем уютном питон-треде?
#255 #934894
Питонач, подскажи как можно оптимизировать приблизительно такой метод выборки, имея значение search_material?
http://pastebin.com/JvVZRXzD
Есть родительский класс, и есть дочерние классы, у некоторых из них есть поле material. Надо вернуть список дочерних классов, у которых material равно входящему параметру search_material.
Сейчас тут крайне медленно такой метод работает - выгребает все элементы родителя, потом итерируется по ним и складывает по одному. В итоге перебор 1,5 кило объектов родительского класса занимает 7 секунд. Это овер дохуя при таких малых объемах.
Как составить правильно запрос, что сразу одним кверисетом вытащить все дочерние классы, у которых значение material совпадает с search_material?
Через prefetch_related не получилось, это, кажется, не совсем то. Пробовал через http://django-model-utils.readthedocs.io/en/latest/managers.html#inheritancemanager select_subclasses() , но там FieldError: Cannot resolve keyword 'material' into field.
когда я пробую подставить значение search_material
934896934968
#256 #934896
>>934894
Надо вернуть список объектов дочерних классов
самофикс
#257 #934958
>>934246
А на что ответить-то?

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


Были б тут все такие, которые думать пытаются, а не как этот наркоман с json'ом из вк, всем бы лучше жилось.
934992
#259 #934992
>>934958
может иногда на возмездной основе будешь мне подсказывать что-нибудь?
935036938047
#260 #935005
>>934968
Спасибо, анон, то что надо было
Аноним #261 #935036
>>934992
Возмездно предполагает некие обязательства, я так не умею и не могу. Лучше безвозмездно в треде (я тут постоянно, если только товарищи Мао и Абу совсем уж не пойдут против меня) или на крайний случайно на почту, по мере возможностей отвечу.
#262 #935047
Кто-то спрашивал про ту-ду лист на джуна. Нашел такое:
https://stackoverflow.com/questions/2573135/python-progression-path-from-apprentice-to-guru
#263 #935083
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

Как фиксить?

В manage.py shell пишу
from django.conf import settings
settings.configure()

Получаю
RuntimeError: Settings already configured.
935087
#264 #935087
>>935083
Разобрался. Подгружал настройки позже импорта моделей
#265 #935094
Привет ИТ-Боги.
Решил вкатиться в программирование чтобы доказать себе что я не тупой. (26 лет, думаю надо как то мозг нагружать)
то есть нет цели получать 300к в секунду через 3 месяца.

Почитав отзывы решил начать с Питона.

Из опыта ранее только писал игры на QBasic где то в пятом классе. (в кружке) , единственное что помню что тогда мне это очень нравилось.

Сейчас начал читать Лутца "Изучаем Питон"

Годная книга для старта? Нужно ли читать что-нибудь еще параллельно?
935097
#266 #935097
>>935094
Лучше наебни A bite of Python или курс на codeacademy и делай что-то. Пока ты дочитаешь Лутца, уже забьешь давно
935109
#267 #935106
Аноны, как сделать так, чтобы при использование функций:
bin(), oct(), hex(). Небыло 0b, 0x и прочих префиксов, перед нужным результатом
935108
#268 #935108
>>935106
result[2:]
#269 #935109
>>935097
То есть не мне одному лутц показался занудным?
935110935115
#270 #935110
>>935109
А кому покажется не занудным читать пол тысячи страниц основ, которые можно выучить за один день в другом источнике?
935113
#271 #935113
>>935110
Открыл Bite of Python всего 130 страниц.
У Лутца я прочитал 130 страниц только введения и узнал как запускать Python через UNIX, про сериал Monthy Python и про все его существующие модификации.
Спасибо анон!
935114
#272 #935114
>>935113

> Открыл Bite of Python всего 130 страниц.


Там охуенно всё сжато и по полочкам, но мне не хватило, чтоб понять всё полностью. Но для старта - збс.
#273 #935115
>>935109
Лутц — параша редкостная. Я даже Dive Into Python не дочитал до конца, всё стало понятно и я начал писать свои первые опердени. Позже, с удовольствием прочитал весь python cookbook, вот это заебись, хорошо зделали.
935116936461
#274 #935116
>>935115

> python cookbook


а на рюзком есть?
935119
#275 #935118
Как лучше хранить всякие ключи API и другую секретную информацию, которая захардкоджена?
935127
#276 #935119
>>935116
Тебя огнём надо обработать.
#277 #935127
>>935118
Блядь писал уже иысячу раз про переменные окружения и даже ссылки давал.
935138935219
#278 #935138
>>935127
Я только вкатился, сори.
#279 #935219
>>935127
Добавил бы в фак.
935248
#280 #935248
>>935219
Этот фак родом из 2015, аккаунт неактивен, аппрувить коммиты некому.
Когда я предложил собрать реально недостающую и новую инфу, в частности по асинку в 3.5, то стало примерно ясно насколько это невозможно при текущей аудитории.
Сам же я не осилю писать полный гайд, т.к у меня опыта и знаний банально меньше чем у многих. Я пятый месяц прерывисто изучаю.
935252
#281 #935250
>>932235
Нет
#282 #935252
>>935248
Давай что ли вместе попробуем составить новый фак.

Все лучше, чем этот.
935253935258
#283 #935253
>>935252
Ну так форкни тот фак, да подправь.
#284 #935258
>>935252
Пиши что можешь предложить.
Я могу предложить:
- Установка интерпретатора в линукс, использование нескольких версий, установка свежих версий которых нет в репах убунты.
- Новые книги (пьюр питон, джанго) из 2к16: уровень, полезность, наличие воды, наличие перевода, стоимость...
- Бриф фреймворков для веба и не для веба.
- Несколько источников с гайдами.
- Несколько видеокурсов (понадобится коллективное скачивание через генератор премиум линков, т.к лежат на обменниках разбитые на много частей).
- Бриф по Git.
- Бриф по pip.

Ну что-то еще может.
935286
#285 #935286
>>935258

>Установка интерпретатора в линукс


Орнул.
22 Кб, 300x300
#286 #935288
Кто вкатывался джанго джуном на удаленку, запилите свои стори. Что спрашивали, сам процесс работы? Интересно, насколько реально джуном удаленно работать.
935289938147
#287 #935289
>>935288

>вкатывался


>вкатывался


>вкатывался

935291
#288 #935291
>>935289
А по существу что сказать можешь?
935293
#289 #935293
>>935291
Что нужно верно использовать русский язык.
935294
#290 #935294
>>935293
Вот уж не ожидал на имиджбордах подобное услышать.
#291 #935453
Гайс, прошу код ревью. Наговнокодил тут немного имиджборду, собственно есть куча вопросов. Вот ссыль https://github.com/YraganTron/Dvach (да репозиторий через жопу создал).
Собственно нужно ли указывать комментарии к коду?
По факту у меня 2 большие вьюхи, где я много чего делаю, выглядит это, мягко говоря, плохо. Есть мысль попробовать разбить на большее кол-во функций, но как-то оно не очень разбиваться то и хочет, ну и попробовать переписать все на классы(все равно нужно понять, как классы работают). Как лучше решать эту проблему?
Достаточно ли такого кода, чтобы прикладывать его к резюме? Или нужно больше функциональности?
На данный момент реализовано примерно следующие
-Подсчет пользователей через сессии
-Увеличение фото по клику
-Расчет score для тредов(тут же сага и вывод по score)
-Динамическая загрузка страницы
-Добавление идентифицированных ответов с tooltip(тут беда правда одна есть, скип тултипа происходит только после клика по body)
-Модераторы(криво и через админку, но по факту они все же есть)
-Фиксированная форма, которую можно таскать за ручку

В планах докрутить:
-Верхняя панель у треда(обновление, автообновление и т.д.)
-Поиск
-Дроп зона для загрузки файлов
-Возможность оставлять почту и соответственно возможность по кнопки бросать туда письма
#292 #935487
>>935453

>Достаточно ли такого кода, чтобы прикладывать его к резюме?


Я бы показывать такой код постеснялся кому бы то ни было, не то что к резюме прикладывать.
935491
#293 #935491
>>935487
Ну, а что именно не так?
#294 #935495
>>935453

>Достаточно ли такого кода, чтобы прикладывать его к резюме?


У тебя там нет ООП, юнит-тестов, работы с настоящей базой данных, gitflow. В общем, нет даже элементарных вещей, на которые смотрит потенциальный работодатель. Зато, прямо сразу, репозиторий встречает кучей лишнего закоммиченного говна.
935519
#295 #935514
>>935453
Я может и ебанутый, но это пиздец какой-то блядь, где коменты? Где хоть какой-то порядок среди сотен папок? Как эту ебань вообще потом поддерживать?
Может стоить сделать что-то поменьше но с качеством кода получше? Наебашить туда декораторов,рекурсии,регулярок,асинхронности ну специфических либ заюзать, прокоментить все, ну и руководствоваться pep8. И тогдааааа, можно с уверенностью и без стыда его выставлять на показ.
Удачи тебе, антош.
935519
#296 #935519
>>935495
Ну насчет кучи говна я предупреждал, все-таки в 4 утра все делал. Тогда у меня есть пара вопросов
1)Я правильно понимаю, что добавление ООП это переписать просто проект на классы?
2)Не совсем понимаю, что такое работа с настоящей базой данных?(накатывать какой-нибудь мускл и показать, что я умею работать на нем через питон?)
3)На какие элементарные вещи смотрит работодатель?
>>935514
Мне казалось там был порядок среди папок...
Под асинхронностью ты имеешь в виду торнадо?
935544935622
#297 #935544
>>935519

>1)Я правильно понимаю, что добавление ООП это переписать просто проект на классы?


Class based views. У тебя во вьюхах говнокод лютый, все равно переписывать.

>2)Не совсем понимаю, что такое работа с настоящей базой данных?(накатывать какой-нибудь мускл и показать, что я умею работать на нем через питон?)


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

>3)На какие элементарные вещи смотрит работодатель?


Начни с внешнего оформления, почисти репозиторий от говна, добавь документацию и тесты.
#298 #935561
Веб/десктоп.
C# или Питон?
936625
Заводной апельсин #299 #935573
Сап двачуны. Подскажите, какая структура должна быть у проекта python? Часто на гитхабе встречаю всякие setup и build файлы по мимо соурс кода.
935581935613
#301 #935611
Отревьювьте мою либу https://github.com/KOLANICH/RichConsole
935625935647
#302 #935613
>>935573
http://docs.python-guide.org/en/latest/

рекомендацию про тесты забудь, надо не импортить, а жёстко вставить, чтобы работало
#303 #935622
>>935519
Под асинхронностью я имею ввиду asyncio.
Ну и там нет порядка, кучи всякого говна лежат в непонятно как(хотя может тому что это джанго, но на фласке у меня так глаза не разбегаются).
p.s. В любом случае тебе дали годные советы - действуй)
#304 #935625
>>935611
Пс, парень, а зачем ты всё в функции позагонял? На сколько я помню так лучше делать когда участок кода юзается больше 1-2 раз, или же он сликом огромен и будет неудобно читать его в основном теле файла и тогда его выносят, а то у тебя порой попадаются такие йобы как:

>def yoba():


>____....


>____....


>... = yoba()


Не кошерно.
Ну а так в принципе нормально, комменты есть, всякие плюшки def __yoba__(self) юзаешь(забавно, давно не видел так много их в одном месте, что-то недолюбливают их).
Для большей структурированности можешь ещё по файлам распихать и к каждому файлу развернутое описание(если вообще это логически возможно).
p.s. Поясни за тесты, что и как они тестят.
935636
#305 #935634
Аноны, возможно вопрос задавался не раз, но ответ я так и не нашёл на него. Есть прожект на Flask, на странице есть несколько форм, к каждой форме есть своя кнопка отправки данных, как мне вычислить какая из форм отправляет данные?
Или же каждый раз проверять ПОСТ запрос и то какие данные в поля форм ввёл, и если поля пустые - значит форма не та, а если заполнены - то что нам надо.
935747
#306 #935636
>>935625

>Пс, парень, а зачем ты всё в функции позагонял? На сколько я помню так лучше делать когда участок кода юзается больше 1-2 раз, или же он сликом огромен и будет неудобно читать его в основном теле файла и тогда его выносят



Для самодокументации. Имя функции - это её комментарий, даёт высокоуровневую инфу о том, что делает код.

>Для большей структурированности можешь ещё по файлам распихать



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

>p.s. Поясни за тесты, что и как они тестят.



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

Второй тест (testReferenceCases) не работает, потому что я поленился его реализовать. Там нет ни единого ассерта, это должно было тебя насторожить.

Ещё тебя должно было насторожить хранилище - доступ к нему слишком неудобный.
935638
#307 #935638
>>935636

> Там нет ни единого ассерта


Тому и спросил, как-то странно было не понятно.

>Ещё тебя должно было насторожить хранилище


Тыкни носом где это и чем не удобно
935645
3962 Кб, Webm
#308 #935643
#309 #935645
>>935638
на самом деле там есть ассерт, просто он в цикле
проверяет некоторые частные случаи

>


[code]cyan.Fore=groups["Fore"].stylesDict["cyan"][/code]
должно быть просто
[code]cyan.Fore=groups.Fore.cyan[/code]
#310 #935646
Ещё с тревисом и пипом какой-то пиздец, заебали блять.
На тревисе какая-то хуйня с pypy3, все билды фейлятся, как и большая часть билдов cpython под макось.
Чтобы в пип деплоить на тревис надо класть пароль от аккаунта, что стрёмно, так как авторы pypa не осилили OAuth.
#311 #935647
>>935611
Что-то ты капитально въебал кодстайл, почитай pep8 обязательно
935677
#312 #935662
>>931572 (OP)
Котаны, вопрос по оформлению.
Что на практике нужно писать в списке документации. Только описание функции и двумя строчками ниже список параметров с описанием этих параметров?
Также, есть ли в конторах требования по комментариям? Или каждый лепит комментарии в меру своей испорченности? Судя по гитхабу, многие считают нормой в нескольких словах объяснить суть того, что они делают, а потом написать огромную стенку текста без единого пояснения.
935672
#313 #935672
>>935662
Вроде как пеп8 говрит, что сначала идет очень короткое описание функции, пустая строка и подробное описание
#314 #935677
>>935647
pep8 - дерьмо, придуманное и принятое в высшей мере странными людьми. Одни обязательные табы чего стоят. Я буду делать по-своему, мой стиль оформления лучше и по моему наблюдению он весьма широко поддерживается инструментами, а значит довольно популярен.
935679935682935693
#315 #935679
>>935677
*пробелы
#316 #935682
>>935677
тем не менее, все пепы/прочие стандарты придуманы для того, чтобы им следовало как можно большее колво людей
впрочем, если ты работаешь один - можешь класть на стандарты все, что угодно
935701
#317 #935683
Аноны, ни у кого нет кода для перевода из десятичной системы измерения в одиннадцатиричную, вообще в любую, где есть не только цифры. Буду очень признателен, хотя бы за помощь как это сделать
935689
#318 #935689
>>935683
Почитай документацию, а именно про int()
#319 #935690
Анон,посоветуй чё почитать чайнику по питону? Уже неделю вкатываюсь, изучил уже циклы, функции и то не до конца, кое как списки,и там ещё по мелочи.
935856
#320 #935693
>>935677
Чтоооа? Там наоборот написано, что табы юзать нельзя, лучше пусть будут пробелы. Вообще это не проблема ибо любой текстовый редактор умеет по нажатию на таб подставлять 4 пробела (ну или сколько захочешь). Вообще там вполне разумные правила, например, ограничения длинны строки или пробелы между арифметическими операторами.
935706
#321 #935701
>>935682

>тем не менее, все пепы/прочие стандарты придуманы для того, чтобы им следовало как можно большее колво людей



Принцип простой - не нравится стандарт, по которому код в моей репе - либо не коммить, либо конверти, в исключительных случаях я сам конвертну. Чтобы люди не заморачивались, в проекте лежит .editorconfig. Те странные люди, что юзают pep8 могут продолжать жрать говно, придёт время, сами поймут.
936651
#322 #935706
>>935693
значит так. Пробелы зло, любой репо с пробелами - это боль. Люди должны перестать жрать это говно. Я не собираюсь ни под кого прогибаться, в репе лежит эдиторкогфиг, он всех упоротых адептов пробелов должен поставить на место, так как в нём жёстко прописано, сколько пробелов занимает таб. На самом деле это похую, таб это гибкая фича, сколько настроишь - столько и будет занимать, чисто дело вкуса, таб удовлетворит каждого.
935718
#323 #935707

>ограничения длинны строки


не нужно, все редакторы умеют в перенос
935724936655
#324 #935711

>или пробелы между арифметическими операторами.


исключительно дело вкуса и ситуации, в некоторых случаях выглядит лучше с пробелами, в некоторых пробелы лучше убрать для более интуитивно-понятного кода
936656
#325 #935713
короче, по-видимому надо запилить свой стандарт оформления кода
#326 #935718
>>935706
Не будем устраивать срач из-за этого, а то я сразу вспоминаю серию из Silicon Valley
#327 #935724
>>935707
Кстати гитхаб не умеет
#328 #935747
>>935634
Гугли " flask multiple forms on one page". Увидишь ответы на stackoverflow про то, что в формы можно передавать параметр prefix, так ты сможешь их различать.
935765
#329 #935765
>>935747
Спасибо антош, выручил:3
239 Кб, 566x807
#330 #935773
Дарова бандиты, нужна подмога.

Есть проект вида:
dir1:
|-->dir2:
|----|---->testmod.py
|--->test.py

Как мне в test.py импортировать testmod.py на стадии запуска программы, т.е. не ебясь с system PATH до запуска программы, в идеале и не редактируя system path во время работы.
И как вообще джанго импортирует модули?

Спасибо за ответы
935784
#331 #935784
>>935773
В dir2 положи файл __init__.py В test.py в импортах ебани
from dir2.testmod import *
935799
#332 #935799
>>935784>>935784
Ты чертов ГЕНИЙ
#333 #935856
>>935690
Хоть одну книгу beginner level прочитай до конца. Как можно изучить циклы наполовину? Советую Простой питон.
#334 #935908
Халп, tweepy все время возвращает 403 ошибку. Я уже сократил код до 1 твита, но эта ошибка продолжает ебать мозг. Что в принципе может быть не так?

consumer_key = xxx'
consumer_secret = 'xxx'
access_token = 'xxx'
access_token_secret = 'xxx'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

tweet = 'Hello, world!'
api.update_status(status=tweet)
936048937024
34 Кб, 605x403
#335 #935994
>>931572 (OP)
можно как-то элегантно решить следующую задачу?
На вход подается строка1 если эта строка1 является подстрокой строки2 И отличается от подстроки2 на >= 1 и <=4 символов, то функция выдает True.
Я конечно могу сделать список из подстрок2 длиной строки1 и потом измерять расстояние Хамигнтона, но может быть есть более красивый способ?
935999
#337 #936027
Джанганы, а вот нужно уведомлять юзеров отписавшихся в определенной теме форума о новых сообщениях в этой же теме.
Как это проще||правильнее сделать? Куда хоть рыть?
936035936149
#338 #936035
>>936027
Ну хотя бы на уровне циферки "новых сообщений Х"
Прихуярить модель Read со всеми открытымы когда-то темами и пересчитывать все посты каждое обновление страницы как-то тупо, наверняка есть другие возможности более изощренные
936073
#339 #936048
#340 #936073
>>936035
на новый пост взять всех отписавшихся в теме и отправить им уведомление. а как еще то и что в этом глупого?
#341 #936149
>>936027
Через сигналы
936213
#342 #936213
>>936149
чё за сигналы?
936416
#344 #936461
>>935115
Ты просто умный. Я вот тупой, мне надо по 10 раз одно и то же разжевать и только тогда дойдет.
#345 #936482
сап, питонач.
у меня не работает ctrl+a, ctrl+c, ctrl+v в виджете Text из пакета tkiner.

это я тупой (очевидно) или что происходит?
936494
#346 #936494
>>936482
Раскладку клавы на английский переключи.
#347 #936625
>>935561
Какой ответ ты ожидаешь в питон-треде? шарп конечно
936667
#348 #936651
>>935701
Коляныч, не бузе, никто в твоё говно никогда и пуллить-то не будет, если у тебя "свой стиль".
#349 #936655
>>935707
Перенос тут не при чём, дибил.
#350 #936656
>>935711
Тебя надо обработать огнём.
#351 #936659
я кажется понял как не переутомляться! нужно переключаться на другую задачу, на другой язык (js в моем случае), после переключения значительно легче опять питонировать.
936661
#352 #936661
>>936659
Пересел с одного стула на другой. Дай жопе отдохнуть, ненасытный.
936663
#353 #936663
>>936661
через чур ей отдыха будет, ленивая сука
936665
#354 #936665
>>936663
Займись чем-нибудь другим. Отвлекаться на другое дело полезно, ты же занимаешься одним и тем же - кодишь. Род занятия один и тот же.
936669
#355 #936667
>>936625
вижуал бейсик конечно
#356 #936669
>>936665
не отдых не про меня, я тугодум и что бы успевать в нормальном режиме, нужно больше времени кодить... ну и как следствие, с увеличением опыта сокращается время на решение каких то задач.
#357 #936675
Посоны, что-то я в отчаянии.
Первый пик - я через sqlalchemy пытаюсь сделать поиск по трем полям.
Как видно - результат 4 записи.
Второй пик - я копирую sql, который получается из моего кода и запускаю напрямую в базе. Из запроса просто убрал лишнее, чтобы не мешалось. Результат - 5 записей. Т.е. не ищет именно по фамилии - surname. Я не понимаю почему. Облазил гугл уже весь. БД - sqlite.
936676
#359 #936683
Питонач, а как лучше именовать урлы? Транслитом, кирилицей или по-английски? Или ветки сайта - по-английски, а названия - транслитом? Например:

course/management/article/management_of_the_knitting
course/rukovodstvo/article/rukovodsto_vyazania
kursi/rokovodsto/statiya/ukovodsto_vyazania

Как лучше?
#360 #936685
>>936683
Ну названия транслитом это какое-то дно вне зависимости от контекста, по-моему.
#361 #936687
>>936683
Смотри статьи по SEO.
#362 #936702
>>932238
Stepik.org
#363 #936704
Чем можно заняться после изучения питоновских основ?
936709
#364 #936706
>>936683
Ебаш по английски можно через SlugField
#365 #936709
>>936704
Погружаться в питон дальше.
#366 #936712
Чем именно? Пробовал писать свою хуйню на pygame, врод что то вышло. Хочу попробовать джанго, но дело застопорилось на первых же шагах. Как начать работу с ним?
936714936718936961
#368 #936718
>>936712

>хуйню на pygame


Это ты очень верно подметил.
#369 #936757
Реквестирую второй раунд ревью https://github.com/KOLANICH/RichConsole и апробирование в своих проектах
#370 #936759
>>936683
На родном для текста языке.
936931
#371 #936931
>>936759
Но ведь когда делятся ссылкой, получается, %r%ht%growgwrg%hsr и т.п., это не ув.
936936
#372 #936936
#373 #936961
>>936712
Tango with Django
#374 #937002
>>936683
я ебашу транслитом, удобно, не заморочно и аудитория легко читает ссылку
#375 #937024
>>935908
скорее всего проебался с oauth, проверь все коды, секреты и подобную хуйню. Может токен устарел?
#376 #937082
Как же остопиздил этот кодинг ебаный, эта вечная ебля со сраными required but not now saved from view's __save__ уебиными unicode slugify полями ебаными, директором-ебонатом и тем что я сука вынужден тут жить блядь прямо возле компа всегда нахуй в зоне покрытия и с ноутом под рукой ожидая что в любой момент vps может перегрузиться, туда может прилететь галимым коммитом от фронтендщика, может сука отвалиться сраная exchange почта, блядь, а ты такой заебанный всегда что часто или не жрешь нихуя за день, или жрешь в кфц под домом, но один хуй пухлый как пельмень потому что прикован к компу.
И все это ради чего? 120 тыщ? Да у меня знакомый менеджер по розничной продаже межкомнатных дверей получает больше.

Ну и нахуя вы все вкатываетесь в программинг блядь?
937088937110937111
#377 #937088
>>937082
ну так уволься нахуй, че ты ноешь то.

Все вкатываются потому что у кого-то либо мечты, либо жрать нечего
#378 #937101
Няши, объясните вот эту хуйню на пальцах:

>Add the request context processor to your settings.py, e.g.:


>from django.conf.global_settings import TEMPLATES


>TEMPLATES[0]['OPTIONS']['context_processors'].insert(0, 'django.core.context_processors.request')


Взято отсюда: http://django-el-pagination.readthedocs.io/en/latest/start.html
Это нужно непосредственно в settings.py вставлять?
Если я это туда вставляю, то у меня случаетя IndexError: list index out of range
Куда это вообще надо вставить кроме моей жопы, и надо ли вообще с этим что-то делать?
Если что Джанга у меня 1.10
937107
#379 #937107
>>937101
у тебя в Django уже есть переменная TEMPLATES, там смотри Options и contex_processors, там будет список из уже вставленных и туда просто добавляй нужный тебе.(давно возился с пагинатором этим, вот не помню точно, но есть шанс, что что в сеттинге просто дописал установленное приложение и все)
937122
#380 #937110
>>937082

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


лол, ты просто до денег видимо жадный
получаю 40к
попил сейчас теплого молока
пару часов назад спокойно отобедал, голову никто не ебёт, дедлайнов нет, пописываю фор фан для себя, книжки читаю
7 Кб, 193x202
#381 #937111
>>937082
Ты странный. Иди поработай в продажи, где тебя так же все ставят раком и заставляют впаривать непонимающим клиентам откровенный шлак. При невыполнении планов продаж виноват не кризис а точно ты. Или в общепит, за 30 000 в месяц за 10часовой день на ногах. И всем знакомым гордо будешь рассказывать что работаешь в маке. И получишь опыт работы шикарный. Или на вахту на север строителем смотайся разок, где тебя может вообще с деньгами кинут и здоровье посадишь так что доживешь от силы лет до 47. Или псом режима поработай общаясь с алкашами и зеками расследуя преступления, причем кол-во преступлений должно быть ПО ПЛАНУ не меньше чем в АППГ. Почта у него отвалилась, я аж проиграл с твоих жизненных проблем.
#382 #937122
>>937107
Спасибо.
Нашел вот это:

>django.core.context_processors


>Built-in template context processors have been moved to django.template.context_processors.



django.template.context_processors.request у меня прописан, но один хрен не робит. Буду дальше ковырять.
937125
#383 #937125
>>937122
ну ты в Installed_apps пропиши название пагинатора и все робить должно.
937131
#384 #937131
>>937125
Да это я сделал сразу.
Он мне исключение выдает. Похоже, во вьюхе проблема, но это я уже сам попытаюсь решить.
#385 #937187
Как в pyserial корректно закрыть COM-порт?
#386 #937249
Анон, снес кривыми руками /usr/local/bin/ansible
Теперь, даже после переустановки через pip
$ ansible --version
-bash: /usr/local/bin/ansible: No such file or directory

Где ее взять-то?
#387 #937253
Как правильно через Django shell сделать поиск в базе?
Например Category.objects.<find>(name='foo')
937256937257
#388 #937256
>>937253
Тебя кроме двача никуда не пускает?
#389 #937257
>>937253
get()
get_or_create()
filter()
exists()
Например.
937260
#390 #937260
>>937257
Спасибо, через фильтр помогло, а то сначала ковырял через get и вылетали ошибки.
#391 #937304
Как искать недостающие модули? Нужен build_support, но гугел/утка/startpage молчат, куда копать?
#392 #937350
>>931624

>какая библиотека подойдет?


Действительно, зачем думать, зачем что-то свое писать если можно просто накатить стороннюю библиотеку, ты наверное и для калькулятора специальую библиотеку качал и калькулятор у тебя выглядел так:
import calc
calc.calc()
937435
#393 #937382
Какие есть способы узнать, кидает ли определенная функция исключения, и если да, то какие именно? Кроме просмотра кода этой функции
937388937477
#394 #937388
>>937382
Писать аннотации. По другому никак.
#395 #937435
>>937350
Предлагаешь ему ГУИ с нуля писать? Ебанулся?
#396 #937477
>>937382
try except?
#397 #937497
Аноны, что лучше юзать, sqlalchemy или же напрямую конектится к БД и прописывать запросы?
Недавно было собеседование по скайпу, спросили за БД, сказал что юзал много чего(MySQL,SQLite,PostgreSQL) и везде прописывал запросы вручную, без алхимии, собеседник тяжело вздохнул, сказал "понятно,ладно" и пообещал перезвонить (но нихуя). Это вина его тараканов, или же тру хацкеры юзают алхимию?
937501
#398 #937501
>>937497

>Это вина его тараканов


Погугли что такое orm и когда стоит их юзать.
99 Кб, 1280x720
#399 #937590
Аноны, пояните человеческим языком за дженерики Джанго. Не могу вкурить как они работают. Я слишком туп, чтобы понять много сложных слов их официальной документации. Вот прям на пальцах.
937695
53 Кб, 860x264
#400 #937593
Вообще реально такую ёбу на питоне написать?
937596
#401 #937596
937597
#402 #937597
>>937596
Это все делается через ansible, docker, jenkins. Я хуй знает правда, как это делать на винде, никогда с ней не работал. Насчет питона - да можно.
#403 #937689
Анон, надо ли в гит репу с джангой тащить папку с миграциями?
937694937704
#404 #937694
>>937689
Если ты планируешь сделать проект, отладить его, выкатить в продакшн и больше никогда не менять схему БД - то можешь не тащить.
Иначе тащи конечно. Особенно если могут случится написанные ручками datamigrations.
#405 #937695
>>937590
Ты про generic relations?
#406 #937704
>>937689
Да. Если их у тебя много, то объедини в один файл https://docs.djangoproject.com/en/1.10/topics/migrations/#squashing-migrations
#407 #937708
>>932091
b = type(a)
#408 #937735
>>931673
ну так дебаг когда вырубаешь, джанга больше не раздает статику и медиа. Дрочи nginx или что там у тебя. на хероку задеплой, там халявно, поиграться хватит.
#409 #937736
>>931756
а я так прыгал и чет работу в вебе так и не нашел
#410 #937845
Может кто по джанге подсказать в чем проблема.
Подключил вместо стандартной базы данных постгрес и локально всё работает, а вот на PythonAnywhere выдает ошибку с psycopg2.
Может кто-то подсказать в какую сторону смотреть ?
line 24, in <module> raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
937848937860937913
#411 #937848
>>937845
Убедись что база висит на локалхосте. Питонэнивер не поддерживает внешние соединения.
937852
13 Кб, 490x187
#412 #937852
>>937848
На локалхосте, всё верно, если ты об этом.
937854
#413 #937854
>>937852
Кури до просветления. Как там в питонэнивер устроено окружение я не знаю. Попробуй в шелл самостоятельно зайти, активировать венв и удалить/установить псигопгу.
937855
#415 #937860
>>937845
А зачем ты юзаешь pythonanywhere? На том же рувдс нормальная впска для домашних проектов за 65 рублей, любой нищеброд сможет позволить.
937867937893
#416 #937867
>>937860
Да я первый тутор только заканчиваю, что там посоветовали, то и юзаю, тем более проблема то не уйдет поди, если поменять сайт.
>>937855
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/local/lib/python2.7/dist-packages
937868937921938086
#417 #937868
>>937867

>2.7


Нет, с этим старьем тебя отправят ебаться самостоятельно.
937921
#418 #937893
>>937860
Можно вообще халявный амазон на годик поюзать
937895938088
#419 #937895
>>937893
В жопу сваю мамку паюзай, лох теоретичный. Так кредитка нужна, бббггее. и спидоранам засанкцаинировали по самые спомидоры, хехе. А инстанс микро (как хуй в тваей жеппе). када низаметна лимит ушел выше, тебя хуй уведомят. а потом будешь плодить бабло, хехе.
937919
#420 #937913
>>937845
На Pythonanywhere бесплатный аккаунт? В бесплатных аккаунтах, кажется, только mysql?
937921
#421 #937919
>>937895

> qiwi c 100 рублей на счету, которые позже тратятся на домен


> домашний проект для экспериментов с посещаемостью 0.5 человек в сутки


Почти полгода, полёт нормальный.

> када низаметна лимит ушел выше, тебя хуй уведомят


http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-alarms.html
48 Кб, 815x260
#422 #937921
>>937868
>>937867
Сука, я даун, забыл активировать virtualenv, там установил psycopg2
>>937913
Точно, только что прочитал, только вот интересно, ошибку которую оно мне дает связанно с бд ?
937926
#423 #937926
>>937921
То есть ты залил код на pythonanywhere и пытаешься законнектиться к постгресу и указываешь в качестве хоста localhost, я правильно понял?
937928
#424 #937928
>>937926
Насколько я понял, в listen_addresses в постгресе стандартно стоит локалхост, но в целом, всё верно.
937942
#425 #937932
>>931572 (OP)
Сап двощи, хочу задрочить веб. Взял пока джангу. Что сделать на ней, чтоб покрыть большую часть разных плюх, необходимых в реальных проектах?
937938938052
#426 #937938
>>937932

> Что сделать на ней, чтоб покрыть большую часть разных плюх, необходимых в реальных проектах?


Удалить джангу, выучить php и битрикс. В крайнем случае ноду и реакт/ангуляр.
937941
#427 #937941
>>937938

> битрикс. В крайнем случае ноду и реакт/ангуляр.


Пруф?
С нодой не в ДС(1,2) куда мне идти?
#428 #937942
>>937928
Ты думаешь, кто-то на той машине, на которой ты запускаешь код, поднял для тебя постгрес на локалхосте? :)
Тем более, если у тебя бесплатный аккаунт, то твой выбор либо mysql, либо sqlite.
Когда создаешь в админке pythonanywhere базу данных, то для тебя сгенерируется хост, который тебе нужно будет добавить в файл настроек. Трюк с локалхостом не пройдет. Вот инструкция для mysql https://help.pythonanywhere.com/pages/UsingMySQL/

Если хочешь сам поднять постгрес, то тебе нужен какой-нибудь vps, где тебе будет предоставлена возможность все настроить как тебе хочется.
937956937957
#429 #937956
>>937942
Да вы тут хуйней занимаетесь все на самом-то деле. Отличный пример того как не думать глобально, а ковырять говно что первое попалось/было предложено в туториале.
937964
#430 #937957
>>937942
Спасибо большое <3
#431 #937964
>>937956

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


Расскажи-ка нам как делать правильно.
937971
#432 #937971
>>937964
Изучить все варианты перед тем как прыгать на первый попавшийся, очевидно.
#433 #938047
>>934992
Могу тебе подсказывать (сам ньюфаг)
fallingbirdt@d_odanceANUSgmailz=+PUNCTUMcoHDtm
#434 #938052
>>937932
Сделай бложик или борду. Лучше сначала бложик, конечно. Сначала на FBV (function based views), потом на классах. Сделай кастомную модель юзера, в первую очередь откажись от sqlite, пиши формы в forms.py, а не в шаблоне. Используй полезные приложухи по типу crispy forms, jinja2 > django.templates. Делай хитровыебаные связи между приложениями, настрой админский шаблон под свой вкус, напиши middleware, который НАПРИМЕР юзеру в реквест будет ебашит какую-то куку. Потом поставь DRF и ебашь апишки с красивеньким жопоскриптом.
После всего этого поймёшь, что джанго - говно и для хайлода надо использовать что-то другое.
938056938142
#435 #938056
>>938052
Ок, спасибо

Борду самую тупую сделал с двумя модельками, класс бейсед вью, читаю документацию, пока не понимаю с view до конца когда что использовать (FBV, CBV, MBV, ...) и миксины всякие когда плохо, когда хорошо. Возник вопрос - много ли в реальности используется разных приложений сторонних для джанги. (Писал чуток на руби - язык не понравился, но это оффтоп, так там в рельсах по сути все что есть заменялось на сторонние гемы), тут вроде больше используется функциональность самой джанги, если включить в нее rest framework и шаблоны. И чем другие шаблоны лучше, чем джанговские? Я почитал посмотрел, но не очень понял - вроде то же самое делается.
938062938091
sage #436 #938062
>>938056
Год назад работал над проектом на джанге в 70к строк питоняьчего кода, без учета шаблонов и прочей хрени. Так там процентов на 70 использовались стандартные возможности джанги. Десяток сторонних модулей и пяток своих. Джанга давольно таки функциональный фреймворк, стандартных возможностей для небольших проектов хватает с головой.
938090
#437 #938076
У вас было когда-нибудь так, что вы дохера читаете и ничего не пишете (кроме примеров из книжек)?
#438 #938086
>>937867

>проблема не уйдет


Ну не надо же сравнивать урезанный saas и полноценный рут-доступ.
#439 #938088
>>937893
Амазон это слишком сложна, плюс требует верифицированной платежки. А на рувдс можно яндыкс деньгами ононимными платить.
#440 #938090
>>938062

>для небольших проектов хватает с головой


Лол, это вообще ебаный комбайн. Надеюсь, когда-нибудь люди поймут, что лепить все на джанге не нужно и начнут юзать божественный фласк.
938092
#441 #938091
>>938056
Ну смотри. CBV это чтобы не писать хуйню в одной функции типа
if request.method == 'POST':
logic1
elif request.method == 'GET':
logic2
По-хорошему, функции я бы использовал только когда надо что-то сделать с реквестом (хотя и для этого middleware существуют) или когда какая-то ебатория с логикой моделей (надо здесь какой-то ахуенный запрос, етц).
На джанго вообще полно приложений (по-моему, только в PyPy их около пары сотен), token-authentication ещё из годных. В общем, вот, пока попробуй заебенить какой-то бложик, с регистрацией, коментами. И не забывай, jinja2 > django.templates
#442 #938092
>>938090
А смысл? Для маленьких проектов джанга норм. Для больших - тоже норм. Ты просто берешь джангу и без задней мысли все делаешь. Можешь со временем свою маленькую джангу сделать большой и все будет отлично.
Наверное и с фласком так можно, но у джанги все целостнее выглядит.
938096
#443 #938096
>>938092
А зачем для маленьких проектов, не блогов mvc-модель и все эти папочки никому не нужные? Это только переусложняет задачу и вместо того чтобы писать под свою задачу ты пытаешься подогнать под логику джанги.
938099938142
#444 #938099
>>938096
Может, может.

Но что это за проект, где для тебя папки и мвц - много? Самый минимум что ты можешь сделать - это засунуть все модели в один файл и вьюхи и парочку шаблонов завести. Куда еще меньше? Начнешь усложнять - разобьешь сначала по файлам, а потом по модулям.
#445 #938142
>>938096
блять. ну скажите мне что в джанге такого сложного? структура проекта предельно прозрачна и логична. и никто не заставляет использовать все батарейки джанги в чем тут оверхед?
>>938052
много ты хайлоада написал?
#446 #938147
>>935288
Иди лучше в офис. Там за 3 месяца узнаешь больше чем за пол года.
#447 #938150
Долбанная нода с php не вытеснят django?
938156938258
#448 #938153
>>935453
Никогда, повторяю никогда не храни в репозитории virtual environment и .idea
#449 #938156
>>938150
Заебись сравнение, платформа для запуска жс, язык программирования vs фреймворк.
#450 #938169
>>935453

>да репозиторий через жопу создал


Да и код через жопу
#451 #938199
>>935453
Настрой https://habrahabr.ru/post/202696/ и почисть gitignore и репу заодно.
#452 #938258
>>938150
Пока есть легаси с пхп пистон еще лет двадцать будет только у забугорных хипстеров.
#453 #938636
Хочу на сайтике запилить главную страницу с редиректом под названием /home/ где будет представление сайта, и дальше по отдельным ссылкам весь функционал сайта. Получается мне надо отдельно создать приложение "home" и "<another>"? Хотелось бы в одном приложении всё иметь.
938640
#454 #938640
>>938636
Дурачок? Ты "остальные ссылки" роутишь точно также как и корневой адрес.
938651
#455 #938651
>>938640
Смотри:
www.mysite.com - редиректит на www.mysite.com/home/ где описание сайта и т.п.
Допустим мой сайт про описание чего-либо (собак), и я хочу чтобы инфа была на www.mycite.com/dogs/
Для /dogs/ у меня есть приложение "dogs", и в главном ulrs.py я делаю /dogs/ include dogs.urls, но как сюда присобачить "home"?
938661938717
#456 #938661
>>938651
Я тупой и не понимаю, что значит присобачить одну страницу на другую. Может кто-нибудь другой тебе поможет.
#458 #938718
Кто-нибудь для создания регистрация на джанге пользовался django-registration ?
Что-то я по их документации нихуя не понимаю.
Типа создать форму, которая наследовала бы RegistrationForm, а что там внутри должно быть, такое ?
class Meta:
fields = {'username', 'password1', 'password2', 'email'}

И еще, пишу точно такое, что они рекомендуют в своих юрл - 404, что не так ?
url(r'^accounts/$', include('registration.backends.simple.urls')),
938726
#459 #938726
>>938718

>$


Удали это.
Должно быть

>url(r'^accounts/', include('registration.backends.simple.urls')),

938734
#460 #938734
>>938726
Спасибо, добрый человек.
#461 #938754
>>931572 (OP)
Есть АТ Glonass/GPS хочу запилить себе свой сервер, есть описание протоколов (EGTS/ADM/GalileoSky и др. терминалов) всё это дело хочу написать на python. Как организовать приём данных (с дальнейшим расширением)? Есть идее, организовать MQ (ZeroMQ или что-то типо этого, потом данные записывать в БД). Помогите советом мудрым.
9 Кб, 592x21
#462 #938758
Вечер в хату. Короче, есть такая конструкция. Она работает, но нужно что-то более лаконичное. Можно ли что-нибудь придумать?
Суть в том, что в строке нужно найти цифры, а для того, чтобы их достать, нужно достать одну конструкцию и уже из неё потом вычленять цифры. Естественно, просто указать в регулярке множество цифр не сработает, т.к. неизвестна нужная длина.
Всё никак от конвейеров баша отвыкнуть не могу.
938774939061
#463 #938774
>>938758
Скинь пример таких строк.
938778
#464 #938778
>>938774
Пишу парсер картинок в gelbooru
<span id="s3570992" class="thumb"><a id="p3570992" href="index.php?page=post&amp;s=view&amp;id=3570992" ><img src="//gelbooru.com/thumbnails/96/e7/thumbnail_96e7f6e2dd0ebce605ea9c66539aa430.jpg?3570992" alt="здесь идут теги, среди которых могут быть и цифры"class="preview " style=""/></a></span>

<span id="s3570986" class="thumb"><a id="p3570986" href="index.php?page=post&amp;s=view&amp;id=3570986" ><img src="//gelbooru.com/thumbnails/77/50/thumbnail_7750d954104237cf01fd977288b464e0.jpg?3570986" alt="здесь идут теги, среди которых могут быть и цифры"class="preview " style=""/></a></span>
938779938807
#465 #938779
>>938778
А реальные примеры есть? По-моему, достаточно одну регулярку использовать.
#466 #938807
>>938778
https://github.com/atomicptr/BooruPy
https://github.com/fhrach4/BooruGet

Надеюсь больше не увидеть здесь этого анимешного зашквара. Буду благодарен.
#467 #938830
пояснитt за разницу Anaconda и miniconda
938867
#468 #938867
>>938830
Вторая весит меньше
#469 #938918
вкину вопорс еще. Стоит у меня IDLE pyzo
стоит miniconda . Как накатить киви и не сломать ноги?
57 Кб, 666x593
#470 #938985
бля... чо это было?
939007
180 Кб, 1280x1024
223 Кб, 1280x1024
156 Кб, 1280x1024
180 Кб, 1280x1024
#471 #939000
Анон, хочу под пайтон запилить себе исполняемый для винды файл из под винды.

ИДЕ качал отсюда https://www.jetbrains.com/pycharm/download/#section=windows

Теперь мне нужно скачать в т.ч. некую pywin32., но там ДАХУЯ ВЕРСИЙ.

Как бля выбрать нужную версию нахуй, если я качал Community Edition по ссылке выше?

>Community


>Lightweight IDE


>for Python & Scientific


>development


>DOWNLOAD


>179 MB



>Version: 2016.3.2


>Build: 163.10154.50


>Released: December 30, 2016



Вот это 3.2 это версия пайтона или че блядь? Пиздец у меня бомбит нахуй, почему блядь нельзя большими сука буквами написать версию питона, а не версию блядской ИДЕ?
#472 #939005
asyncio в stdlib видимо с бинарными заплатками, поэтому дебажить мои хелло ворлды с ним было не умно, так как pdb пропускал кучу моментов и многое было не понятно. Создал venv с asyncio из pypi, там он называется reference implementation, и уже с ним дела пошли в гору.
Именно непрерывной последовательности действий интерпретатора не хватало для понимания.
Наверное, неплохо добавить эту деталь в фак для ньюфагов, может кому-то будет полезно.
#473 #939007
>>938985
твой говнокод
#474 #939016
>>939000
Дебил блядь, нахуя тебе пичарм, ты там отладку с профилированием собрался делать или что? Пиздец нахуй, берешь сука скачиваешь пистон нахуй, ставишь pip, все пакеты остальные блядь ставишь через pip и компиляешь свой экзешник (нахуя тебе он вообще блядь) через командную строку нахуй. Уебок блядь криворукий не понимаешь нихуя но везде уже лезешь своими ручонками пидор.
939025939534
#475 #939025
>>939016
Пс, чем компиляешь в ехе?
Юзаю пайинсталлер, но что-то в винде не запустился прожект(на линуксах полет нормален, но походу я там библу проебал одну).
Мимодругойанон
#476 #939026
>>939000
Ну во-первых скачай комерческую, плюшки приятные есть, во-вторых последняя версия - 3.3, в третьих в настройках пайчарма, там где интерпретатор, ты сам указываешь место нахождения твоего пистоновского интерпретатора, какого хочешь(2.7,3.2,3.4,3.5 & e.t.c.).
#477 #939027
>>939000
Ты, долбоеб неотесанный, вместо того чтоб писать пост за это время мог бы уже изучить что такое интерпретатор, а что такое IDE и в каком они соотношении.
198 Кб, 1421x1421
#478 #939028
>>939000
Такой трипл эпичный.лол
Хуле тебе не ясно, опездол?
Выше версии для 64бит, ниже 32. Качай последнюю 3,5. Там есть ридми файл, почитай его. Че как школяр тупой то?
939032939528
#479 #939032
>>939028

>2017


>качать с сорсфоржа вместо божественного pip install huemoe

#480 #939046
>>939000

>Yandex


Sykaaaaaaaaaaa
#481 #939061
>>938758
А в чём проблема использовать группы-то? Ты, похоже, не знаешь, зачем вообще .group() нужно.

>print(re.search(r'jpg\?(\d+)', line).group(1))


и получишь своё.

Да и вообще, лучше бы ты айдишник именно из поля id выдирал. Впрочем, решение основной задачи тебе уже дали, в любом случае.
#482 #939139
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 1000).reshape(-1, 1)

def f(x):
return 2 * np.sin(x) + 5

f = np.vectorize(f)

y = f(x)

from keras.models import Sequential
from keras.layers import Dense

def baseline_model():
model = Sequential()
model.add(Dense(5, input_dim=1, activation='relu'))
model.add(Dense(1, input_dim=5, activation='linear'))
model.compile(loss='mean_squared_error', optimizer='sgd')
return model

model = baseline_model()
model.fit(x, y, nb_epoch=1000, verbose = 0)

plt.scatter(x, y, color='black', antialiased=True)
plt.plot(x, model.predict(x), color='magenta', linewidth=2, antialiased=True)
plt.show()

for layer in model.layers:
weights = layer.get_weights()
print(weights)

Как сделать более точную сеть?
#482 #939139
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 1000).reshape(-1, 1)

def f(x):
return 2 * np.sin(x) + 5

f = np.vectorize(f)

y = f(x)

from keras.models import Sequential
from keras.layers import Dense

def baseline_model():
model = Sequential()
model.add(Dense(5, input_dim=1, activation='relu'))
model.add(Dense(1, input_dim=5, activation='linear'))
model.compile(loss='mean_squared_error', optimizer='sgd')
return model

model = baseline_model()
model.fit(x, y, nb_epoch=1000, verbose = 0)

plt.scatter(x, y, color='black', antialiased=True)
plt.plot(x, model.predict(x), color='magenta', linewidth=2, antialiased=True)
plt.show()

for layer in model.layers:
weights = layer.get_weights()
print(weights)

Как сделать более точную сеть?
939174939227
#483 #939174
>>939139
Машоб не тутачки. Ищи соответствующий тред.
939178
#484 #939178
>>939174
Где ты тут увидел машоб, дурачок?
#485 #939184
Подскажите пожалуйста несложных книжек для старта в SQL. Планирую работать с ORM, преимущественно, так что запорсы и прочая сложная хрень не нужна. Нужно понимание форигнфилдов, мэнитумэни отношений (как например биндить несколько изображений к одному посту). Основы, в общем.
939364
#486 #939227
>>939139
ideone/pastebin там ---->
939231
#487 #939231
>>939227
Тут и так все читабельно.
939255939260
#488 #939246
Сап, питоноводы.
Засоветуйте какую-нибудь либу для oauth, нужно сделать тестовое задание. Нашел python-social-auth, но он слишком толстый и заточен под использование в продакшонах, как я понял, а мне бы что-нибудь небольшое чтоб хуяк-хуяк и получить токен.
Нашел под эти требования requests-oauth2 но оно чот тухлое судя по комитам.
Есть у кого мысли/советы что запользовать можно?
oauth нужен чтоб получить токен от вконтактика, серверов городить слава б-гу не надо
#489 #939248
>>939246
а что мешает request-vk заюзать?
939272
#490 #939250
>>939246
from requests_oauthlib import OAuth1
939275
#491 #939252
>>939246
Долбоеб, получи его вручную один раз. Прописываешь ключ offline и токен будет бессрочный.
939272
#492 #939255
>>939231
Нихуя, где твои отступы, поц?
Лей на пастебин и не еби головы.
237 Кб, 1366x768
#493 #939259
Хорошие новости для веб-рзработчиков!
Vue.js теперь будет иметь нормальный плагин для PyCharm, а не старый, забытый и нерабочий. Как раз буквально недавно осваивал Vue.
#494 #939260
>>939231
Но не копипастабельно для запуска. Либо на пастбин, либо нахуй, короче.
939290
#495 #939272
>>939252
Мне токен не для пирдолинга нужен, а чтоб задание тестовое выполнить, довен плес
>>939248

>request-vk


тоже не подходит

Пойду дальше гугл шерстить
939276
#496 #939275
>>939250
а вот это то что нужно скорее всего, спасибо!
^^,

>>939246-кун
939279
#497 #939276
>>939272
Тестовое задание на получение токена вкудахте?
939282
#498 #939279
>>939275
Но контач юзает oauth2, кстати. Для чего тебе токен? Что ты собираешься делать?
939285939287
#499 #939282
>>939276
Нет )))00)0)
На получение работы веб-макакой

>> - Хочу у вас работать, но опыта нихуя нет.


>> - Окей, но сделай такое то тестовое задание, вот ТЗ.


>> - Ладно, пойду посоветуюсь на двощах какую либу запользовать.



Как то так.
939291
#500 #939285
>>939279
Так либа, которую скинул тот анон, судя по тому что написано на гитхубе, поддерживает oauth2?
#501 #939287
>>939279
Взламывать пользователей
939294
35 Кб, 620x584
22 Кб, 640x480
#502 #939290
>>939260
Это прекрасно копипастится и запускается, просто ты дурачек и у тебя скорее всего не поставлен даже tensorflow обернутый keras.

Пикрилейтед с отступами. Если есть что сказать по делу -- говори, нет -- пройди будь добр сам нахуй.
939292939671
#503 #939291
>>939282
Ну так я тебе поясняю - чтобы вбросить фотощки, поставить лайкосы - достаточно один раз вручную получить токен через бровзер.
https://oauth.vk.com/authorize?client_id=1&scope=friends,photo,video,offlinev=5.62
Флаг offline - это получение бессрочного токена, который не нужно обновлять каждый раз через oauth.
939302
#504 #939292
>>939290
[array([[-1.27243876, -0.60164684, -0.87058032, 1.18921578, 0.01335463]], dtype=float32), array([ 1.83589685, 1.77507377, 2.56869197, 1.51997244, -0.10656261], dtype=float32)]
[array([[-2.11773753],
[ 1.8032347 ],
[ 2.60775709],
[ 1.90714526],
[-0.80964983]], dtype=float32), array([-3.9735322], dtype=float32)]
#505 #939294
>>939287
Да не хочу я никого взламывать, нужно задание тестовое выполнить и вкатываться идти на работу, веб-мокакой мощным разработчиком.
#506 #939302
>>939291
Спасибо большое за помощь.
Я просто сам довен, не до конца объяснил что мне надо, и начали не те советы давать.

"Сделать веб приложение, на выбранном вами языке, при открытии должно показать кнопку «авторизоваться» по нажатию делает oauth авторизацию ВКонтакте, и отображает базовую информацию о пользователе"

Это задание на джуна, надо сделать его.
Мощные oauth фреймворки для этой задачи не подходят, а вот requests-oauthlib то що надо.
939305
#507 #939305
>>939302
Впрочем с самостоятельным формированием url-строки для oauth авторизации тоже сделаю, во имя пердолинга и обучения
#508 #939329
Так, а вот если я блог свой на джанге запилил и хочу сделать профили для пользователей это должно быть новое приложение app, или там же где и блог пилить ?
939351
#509 #939351
>>939329
Сделай новое.
101 Кб, 640x427
#511 #939392
>>939364

>> ОБЫЧНО ПРОИЗНОСИМАЯ КАК "СЭКВЭЛ"



заорал
939395
#512 #939395
>>939392
Секель
#513 #939399
>>939364
Спасибо. А она актуальна?
939421939458
#514 #939421
>>939399
Спрашиваешь. Само собой актуальна.
93-го года же.

А если серьезно, то иди читай
"Дейт К.Дж. - SQL и реляционная теория. Как грамотно писать код на SQL - 2010.pdf"
А потом документацию postgresql от одной ебанной корки, до другой, а потом заново
939444
#515 #939444
>>939421

>писать код на SQL


Как раз этого мне не нужно.
#516 #939458
>>939399
Там только основа, которую старается реализовать каждая приличная СУБД.
На год издания можно забить, это примерно как с той белой книжечкой от Кернигана и Ричи 1975 года.
9 Кб, 236x216
#517 #939522
Саб. Прошел базовый курс, знаю все не очень хорошо. реквестирую задания или упражнения, чтоб отточить знания. из вариантов какие-то задачки или еще что-то. мейби какой нить легкий мини проект
939651939916
sage #518 #939528
>>939028
Ублюдище слепое там ведь 3.6 последняя!
939674
#519 #939534
>>939016
да в этом и проблема, что нихрена не понимаю.

разве с пичармом не шел питон?
я вроде не указывал где устанавливал его.
939536
#520 #939536
>>939534

>пичарм


Отношения к питон не имеет.
#521 #939554
А почему у меня всё новые пользователи при регистрации в джанге получают is_superuser = True и как это убрать, если в форме напрямую написать, что False, то и мой юхер получает False.
939617
#522 #939617
>>939554
А, нет, я даун, забейте, другой вопрос.
Как мне во view в определенной функции достать юзера, которых хочет воспользоваться этой функцией ? То есть как мне понять, кто делает запрос ?
939631
#523 #939631
>>939617
А, всё, уже сам нагуглил, как только задал правильный вопрос, получил ответ.
#524 #939651
>>939522
Палю, в очередной раз, годноту:
http://newcoder.io
http://exercism.io
#525 #939652
Нужны либы для работы с вордом мелкософтовичем.
939653939657
#526 #939653
#528 #939671
>>939290
пилил бы на neurolab
#529 #939674
>>939528
Мне вообще похуям, что там последнее. В ротик тебе аккуратно опустил свои яички.
939782
15 Кб, 657x159
#530 #939686
А что тут не так, чому оно ругается на отсутствие else ?
939908
#532 #939785
Привет питоняхи. Подскажите нормальные-адекватные требования на питон-джуна. Летом хотел вкатиться - была вакансия то ли на джуна, то ли на стажера - давалось задание тип сделать приложение на джанге (это ладно) с фронтендом на ангуляре. Я такой подумал - ну тип на джанге то я могу что-то сделать и rest-framework разберу, но блять ангуляр чет дико смутил и я дропнул
939902939918940469
#533 #939902
>>939785

>вкатиться


>тип


>чет


>дропнул

#534 #939908
>>939686

>чому оно ругается


Да потому, что ты хуйню написал. Что ты пытаешься сделать, присваивание?
#535 #939916
>>939522

>задачки


>отточить знания


Пили борду давай, хватит тебе задачек.
#536 #939918
>>939785
В 70 процентах случаев никто не хочет нанимать фронтендщика, который будет натягивать твою джангозалупу на веб-морду, поэтому желательно знать ангуляры и прочие реакты. Иначе ты нахуй никому не нужен будешь в вебе.
Думал в сказку попал и будешь сайтики из девяностых лепить?
#537 #940005
Объясните зачем в channels нужны какие-то бекенды кроме in-RAM? Я сейчас использую каналы как замену AJAX (посылаю ивенты, которые требуют времени, в сокет, потом принимаю результат). Как я понимаю, если добавить редис то можно создать несколько воркеров? Это получается нужно на кадой машине заливать весь код джанго эппа? Иначе как воркер поймет контекст (например если есть миддлварь типа авторизации)?
940055
#538 #940055
>>940005
насколько я понимаю каналы, не надо ничего тебе "заливать", оно само под капотом маршрутизирует между воркерами как раз через редис, просто работаешь так же как с inram. но могу ошибаться, поправьте если не прав.
#539 #940060
>>939000

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


Т.е. ты хочешь сделать .exeшник из скрипта? pyinstaller тебе в руки.
#540 #940083
Ладно, давайте взглянем дальше чем Django channels. Возьмем мою конкретную задачу.

На фронте у меня Vue.js. Для него создан компонент, который представляет из себя несколько ползунков. Позиции ползунков представлены в виде JSON и связаны с computed JS переменной. Когда пользователь выбрал нужную конфигурацию ползунков, он жмет кнопку.

Теперь это нужно обработать в Django (а именно, принять данные и записать в Postgres, при этом в аккаунт конкретно этого пользователя).

Мне пока видится два решения:
1) Создать отдельный маршрут, принимающий POST, и привязать к кнопке отправку POST-запроса. В джанго создать вид, который будет это обрабатывать и писать в базу, а также возвращать JsonResponse с успешным/неуспешным выполнением. Дальше принятый респонс вылезет где-то на странице.
Плюсом является прямая простота реализации и поддержка всеми броузерами.
Минусом:
Лишние запросы (в сравнении с сокетами, например), отправка хедеров и прочей ненужной лабуды, хотя полезен только сам JSON. Нагрузка, соответственно.
Также возможность отправить респонс только один раз за запрос. Промежуточные результаты не сообщить (напрмер если я хочу проинформировать что что-то записалось для каждого посланного объекта).
2)Channels/SocketIO и прочие сокеты.
Тут явный плюс это сколько угодно ответов на один реквест. Ретрансляция по чужим сокетам (в нашей задаче в член не уперлась). Разгрузка сервера.

Что бы выбрали вы? Есть ли третий, четвертый, n-вариант? Как быть с неподдерживающими сокеты обозревателями? Особенно настораживает Opera mini, которая по-прежнему часто встречается в отличие от всяких IE6. Создавать для них отдельный функционал, детектить и слать нахуй или что-то еще? Расскажите о своем опыте разработки интерактивных бекендов, дайте советов мудрых.
940094940095
#541 #940094
#542 #940095
>>940083
я выбрал сокеты (channels) на фронте react. но у меня много действий и есть ответы как на действие, так и broadcast уведомления по всем каналам. тебе если только ползунок обработать наверное хватит и аякса.
940099
#543 #940099
>>940095
Расскажи как ты обращаешься с клиентами, у которых обозреватели без поддержки WebSockets?
940100940107
#544 #940100
>>940099
никак, браузерная игрушка которую пилю в образовательных целях, для себя.
940107
#545 #940107
>>940099
>>940100
ты меня натолкнул на мысль... вот же https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills#web-sockets потом прикручу какой нибудь из этих полифилов.
940129
#546 #940129
>>940107
Методы вроде совпадают, но объект другой. Жаль что нельзя просто сделать импорт этой херни и старый код пихнуть в продакшн.
940142
#547 #940142
>>940129
вот это скорее всего подойдет https://github.com/ffdead/jquery-graceful-websocket
#548 #940469
>>939785
Если не хочешь учить фронтенд, учи Python и Django дальше.

Ты должен уметь пояснить за MRO, mutable default arguments, iterators, generators, aggregaion запросы, middleware, транзакции, лямбды и т.д.

Но и просить надо не меньше 50к, лучше 60-70к (в ДС)
#549 #940514
Как через регулярные выражения убрать все знаки оставив лишь цифры из этого "['452564']" ---> "453564"
делаю через re.sub , но что то все ничего не получается.
941296
#550 #940563
Питаны, кажись меня с моей не айтишной работы выпизживают. И так, у меня есть десятка законченных проектов которые делал для фирмы на джанго + бутстрапе, всё функционально, всем пользуются, азы джанго знаю, сигналы там всякие, контекст процессоры, темплейт теги, рест апи, раббит эмкю, селери, перепиливание админок и тд
Не знаю совсем js даже на уровне jquery
Верстаю при этом вполне сносно на вышеупомянутом бутстрапе
Найти удалёнку на 40-50 штук в таком раскладе реально вообще?
940567940949941055
#551 #940567
>>940563
В ойти типа с 2005, только беда в том что программёром я не работал с 2012, все проекты выросли из тупой скуки и "шеф ля какую поебень я сделал помнишь те валенки говорили мол круто было бы" + всякие корпоративные сайты-затычки, но их я вообще не считаю
940950
34 Кб, 843x549
#552 #940642
Посоны, спермопроблемы. Короче logging пытается записать в cp1251. И естественно у него не получается (пикрелейтед). Пробовал делать как здесь написано http://bugs.python.org/issue11593
теперь и русик сломался.

sys.getdefaultencoding()
sys.getfilesystemencoding()
выдает utf-8
940691940696
#553 #940691
>>940642

>спермопроблемы


что общего между окнами, окошками, виндой, виндусом, мелкософтом, майкрософтом, мс и тд и блядь спермой. В чём связь?
Я просто не понимаю.
940774
#554 #940696
>>940642
cp1251 у меня есть только в локали

изменение локали
locale.setlocale(locale.LC_ALL, "ru")
нихуя не дало
пошел по трайсбеку.
stream это sys.stderr

def __init__(self, stream=None):
if stream is None:
stream = sys.stderr

sys.stderr.encoding выдает utf-8

Какого хуя он вообще в cp1251 лезет? Ничего не понимаю, и это офицеры?
#555 #940774
>>940691
Семёрка → спермёрка это классика, это знать надо!
941219
#556 #940797
#557 #940949
>>940563
В ДС с таким уровнем реально тысяч на 80-100 устроиться.
940958
#558 #940950
>>940567
Создай сайт с портфолио и все будут думать, что ты эти годы фрилансил.
940958
#559 #940958
>>940949
Супер! Спасибо
>>940950
Для HR'ов лучше фриласить чем быть бизнес-аналитиком в нефтянке и металлургии?
Неожиданно, но учту
941053
#560 #941053
>>940958
так ты бизнес аналитиком был?
Хуй знает тогда. По моему с таким бекграундом можно в того же бизнес аналитика и метить, только в IT сфере. Т.к. сайты писал, понимаешь что кнопочку поправить может быть как задачей на пол часа, так и на 2 недели.

А вообще попробуй создать 2-3 версии резюме и посмотреть как конторы на них реагируют
941089
#561 #941055
>>940563
Если не секрет, где rabbit mq использовал и для чего? В вакансиях выше джуна он почти везде нужен а зачем хуй поймешь
941073
#562 #941073
>>941055
У меня есть корпоративная файлопомойка на которой валяются файлы ±120 клиентов, от инструкций по пользованию станками до какого-нибудь говна типа проектов инвест. программ.
При аплоаде файла файл закидываю в очередь rabbitmq что бы оно засунуло его в один скрипт если это docx или odt или ещё что человеческое, сконвертировало в html а затем из html в markdown; если это pdf то просто нарезало на jpeg-листочки
Если файл не является новой ревизией существующего - раббит засовывает его в скрипт, а скрипт выплёвывает хмтл в одно поле джанги, markdown в другое, но недоступное пользователю и нужную для определения изменений + поиска
Если файл был изначально docx/odt, и это ревизия какого-то из существующих файлов - дальше раббит запихивает значения из поля в велосипед из говно-гит-подобного поделия, которое гитовским diff'ом находит изменения файла относительно прошлой версии, что бы можно было всё не читать а выгрести например "изменения за последний год" и посмотреть чем устаревшее говно у подрядчика отличается от актуального и за что его отпиздить/посоветовать/или что бы сам подрядчик залогинился и вкурил

С учётом того что система не оптимизирована и вполне так валится от всего подряд, а времени особо переписывать на чём ещё у меня нету - раббит - единственный способ что бы твои задачи хоть и не сразу, но выполнялись не заморачиваясь дрочкой except'ов или ещё чем непонятным для меня типа полной асинхронщины и похуй как колбасит сервак и не ребутнится ли он вообще - раббит нихуя не просрёт
#563 #941089
>>941053
Я понял, подумаю, спасибо за идейку. Таки и хомяка с портфолио запилю, и пятёрочку сиви на русском да английском
#564 #941219
>>940774
Ну охуеть теперь!
#565 #941296
>>940514
Хуй знает что ты там делаешь, но

>re.sub(r'[^\d]', "", text)


прекрасно работает.
942461
#566 #942461
>>941296

> ^\d


\D
sage #567 #942620
как дела с питоном на фрилансе?
Тред утонул или удален.
Это копия, сохраненная 4 мая 2017 года.

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

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