Двач.hk не отвечает.
Вы видите копию треда, сохраненную 2 февраля 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
16 Кб, 600x360
Python Thread Perekoter !JLHGEtxGTk #909635 В конец треда | Веб
Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Прочитай шапку перед тем, как задать вопрос!
913976915178
PEREKOT Perekoter !JLHGEtxGTk #2 #909637
Прошлый тред >>900337 (OP)
66 Кб, 1219x612
#3 #909652
Онан, поясни за гуй и графики на нём.

Сейчас есть приложение на Delphi7 (да, я не молод) + TeeChart, естественно всё с торрентов. Хотелось бы переписать под что-то более современное, и бесплатное (тем более, поддерживать через лет пять уже не мне).
Работать приложение должно на WinXP-Win10. Очень желательно, чтобы это ещё и статической линковкой собиралось и в хотя бы в пару десятков мегабайт влезало (поэтому C# и Qt отпадают).

Кто-нибудь из присутствующих пробовал гуй сложнее пары кнопок наделать? Или питон не для гуя?

Про графики в интернете глядел - всё как-то через жопу, вроде примеров много, но все к разным библиотекам, то одно не компилится, то другое, требуют разные библиотеки, что-то под питон 2., что-то под питон 3. - навскидку не получается сделать.
909653909719909769
#4 #909653
909668
#6 #909669
>>909668
Ну так ему ж надо что-то маленькое и простое...
#7 #909680
>>909668
Алсоу, Tkinter спокойно влезет в его объёмы при "коньпеляции"(нутыпонел), а вот Matplotlib, да с прикрученным GTK для интерфейса -- это ОЧЕНЬ много.

А тут сразу и интерфейсная либа, и графики, и весит OCHE мало
#8 #909708
Этот тред помогает хотя бы тем, что начинаешь писать сюда, пытаясь сформулировать вопрос --и сам тут же находишь на него ответ.
909948909952
#9 #909710
В общем, посоны, хочу сделать интернет-магазин на джанге. Не понимаю как нормально реализовать корзину. Товары очень разнотипные, так что будут реализованы отдельными моделями (например пылесосы и автомобили). Как в таком случае реализовать корзину? Мне кроме как json в сессиях ничего в голову не лезет
#10 #909719
>>909652

> пару десятков мегабайт


Это точно не про питон. Так что либо садись на хуи (python + графики) и это сожрет памяти либо на пики (с++ + qt/wxwidgets).
909730909769
#11 #909726
>>909710
jquery и аякс-запросы. Данные можно хранить в бд, если юзер зареган, либо в сессии, если юзер аноним
909729
#12 #909728
>>909710
Хммм, а хранить в бд не вариант? Ну и Аякс в помощь.
909729909733
#13 #909729
>>909726
>>909728
Хайвмайнд, лол
#14 #909730
>>909719
Так говорю, Tkinter жи. Вполне норм вариант между хуями и пиками. Как раз в пару десятков метров влезет
#15 #909733
>>909728
Да, это вещи очевидные. Вопрос не в этом. Я либо туплю, либо вопрос неправильно поставил. Если бы у меня в базе была одна таблица shop_products, то все очевидно - корзина набор id'шников товаров. У меня shop_product_cars и show_product_vacuum. В корзине лежит 2 пылесоса и три машины. Как нормально реализовать?
909737
#16 #909737
>>909733
Сделать одну таблицу с ид-шниками сведя в неё все остальные таблицы, с указанием, из какой таблицы брать. Три поля: "ID", ID_FLD и "TBL_ADDR", с общим ИД, ИД продукта в таблице и номером таблицы, из которой брать его описание.
#17 #909740
>>909710
В сессии глянь
Для товара в принципе создай отдельную модель, а пылесосы и тд пусть её уже наследуют.
909744
#18 #909744
>>909740
при наследовании я получу агрегатную таблицу?
909787
#19 #909769
>>909652
>>909719
Можно ващет гуй в браузере сделать. На js-то полно параши для графиков.
909871
#20 #909787
>>909744
Ты создаешь прокси модель товар: название, цена, тд
Создаешь длчернюю модель со спецификой:
Авто: к-во колес, тип двигателя
Кофеварка: объем, мощность

А потом выгребаешь все через прокси модель которая заодно будет выдавать дочурок
909832
#21 #909832
>>909787
Спасибо, добрый анон, я тебя почти люблю
#22 #909833
Вот не пойму. Ладно там сервисы, приложения с логикой. Но зачем делать магазин на фреймворке, при том что все уже давно написано, протестировано и удобно упаковано в готовые движки?
909840
#23 #909835
Анон, помоги.
Обновился за каким-то хуем на 3.6. Можно в линуксе рядом поставить снова 3.5.2 версию? а Потом под свой проект создать виртуаленв с 3.5.2?
909836909837909846
#24 #909836
#25 #909837
>>909835
sudo apt-get install python3.5 python3.6
python 3.6 -m venv
python 3.5 -m venv
#26 #909840
>>909833
Добрый анон, подскажи мне Django-based shop cms
909841
#27 #909841
>>909840
https://django-shop.readthedocs.io/en/latest/index.html
Я никогда не строил на джанго магазины, но вот первое что в гугле вылезло.
Только вот почему именно джанго? Зачем если PHP-скрипт развернуть гораздо дешевле и проще. Если в готовых системах почти все настраивается через мышкоебство?
909844
#28 #909844
>>909841
Как показывает практика, любая кастомизация мышкоебства вываливается в пысячи человекочасов. Магазин не такая сложная штука. Проще накатать самому, гарантировано получить то, что требуется и потом это развивать, чем потратить такое же время на мышкоебств и получать анальные боли при каждой более-менее крупной качтомизации проекта
909850
#29 #909846
>>909835

На крайний случай сборка из исходников

http://pastebin.com/D1azA2HK
#30 #909850
>>909844
Цена ошибки в самописном блоге это непоказанная реклама и другая мелочь.
Цена того что у тебя неверно сработает самописный мерчант - потеря клиента, иммиджа, денег и возможность встрять в разбирательства. Касаемо кастомизаций, люди все абсолютно из одного теста, хорошие маркетологи и кодеры уже сделали все необходимое чтобы пользователь увидел что нужно и захотел купить и смог это сделать удобно и круто. Глупо надеяться что один человек без опыта может противостоять команде специалистов, которая уже билась обо все возможные подводные камни. ИМХО, само собой.
909857909861
#31 #909857
>>909850

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


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

На простом проекте, конкретном магазине, дешевле и надежнее запилить что-то простенькое.
Баги будут, но гораздо меньше, чем в монструозном фреймворке/готовой универсальной платформе, баги эти будут простенькие, их легко отловить - кода кот наплакал.
У тебя будет и код, и полное его понимание, возможность оперативной правки/перепиливания.
При условии что магазин у тебя один, и не планируется менять его тематику - лучше допиливать свой небольшой велосипед, чем юзать чужое монструозное поделие, тем более за этого монстра еще и денег наверняка попросят - сплошные минусы.
Это еще и надежнее, не только за счет меньшего количества более простых багов, но и за счет того, что код полностью твой - ты можешь понакрутить какие угодно защиты, что придут в голову. 90% хакеров обламывает если у тебя нестандартно сделана какая-нибудь мелочь, а если у тебя все нестандартное - за тебя просто никто не возьмется, т.к. это равносильно реверс-инжинирингу чипов/софта: свои структуры, свои протоколы, свои кодировки, свои схемы баз, сам черт ногу сломит что там происходит, не похоже ни на одну из стандартных платформ, по которым у хакера весь опыт. Развалит тебя одиночка, затратив много человеко-часов на анализ всего твоего велосипеда.
Хотя тут и опасность: если твой велосипед в одном экземпляре, статистика баг-репортов низкая, и легко допустить какую-нибудь примитивную ошибку, которую давно поймали в монстре, просто потому, что там больше пользователей, и на нее настучали больше человек - у тебя число таких жалоб спокойно может быть меньше единицы: просто некому сообщить тебе об ошибке.
Такая ситуация не редкость: многие велосипедные сайты имеют визуальные баги, которые сразу бросаются в глаза, миллионы человек такие баги терпеть не стали бы, и давно стуканули, но среди тысячи посетителей вполне может не найтись ни одного, кто захочет сообщить о баге, и он так и висит, неделями, месяцами, а иногда и годами.

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

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


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

На простом проекте, конкретном магазине, дешевле и надежнее запилить что-то простенькое.
Баги будут, но гораздо меньше, чем в монструозном фреймворке/готовой универсальной платформе, баги эти будут простенькие, их легко отловить - кода кот наплакал.
У тебя будет и код, и полное его понимание, возможность оперативной правки/перепиливания.
При условии что магазин у тебя один, и не планируется менять его тематику - лучше допиливать свой небольшой велосипед, чем юзать чужое монструозное поделие, тем более за этого монстра еще и денег наверняка попросят - сплошные минусы.
Это еще и надежнее, не только за счет меньшего количества более простых багов, но и за счет того, что код полностью твой - ты можешь понакрутить какие угодно защиты, что придут в голову. 90% хакеров обламывает если у тебя нестандартно сделана какая-нибудь мелочь, а если у тебя все нестандартное - за тебя просто никто не возьмется, т.к. это равносильно реверс-инжинирингу чипов/софта: свои структуры, свои протоколы, свои кодировки, свои схемы баз, сам черт ногу сломит что там происходит, не похоже ни на одну из стандартных платформ, по которым у хакера весь опыт. Развалит тебя одиночка, затратив много человеко-часов на анализ всего твоего велосипеда.
Хотя тут и опасность: если твой велосипед в одном экземпляре, статистика баг-репортов низкая, и легко допустить какую-нибудь примитивную ошибку, которую давно поймали в монстре, просто потому, что там больше пользователей, и на нее настучали больше человек - у тебя число таких жалоб спокойно может быть меньше единицы: просто некому сообщить тебе об ошибке.
Такая ситуация не редкость: многие велосипедные сайты имеют визуальные баги, которые сразу бросаются в глаза, миллионы человек такие баги терпеть не стали бы, и давно стуканули, но среди тысячи посетителей вполне может не найтись ни одного, кто захочет сообщить о баге, и он так и висит, неделями, месяцами, а иногда и годами.

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

>Глупо надеяться что один человек без опыта может противостоять команде специалистов, которая уже билась обо все возможные подводные камни. ИМХО, само собой.


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

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

А в особо крупных командах начинает сказываться еще и их размер: бюрократия, длинные связи, общая потеря эффективности.
То, что одиночке будет стоить один бакс и час времени, крупной команде обойдется в миллионы баксов и десятки тысяч человеко-часов, просто за счет общей неэффективности больших структур.
А ты думал какого хрена в корпорациях аудит на аудите, и постоянные реструктуризации? Это для них контроль целостности, индексирование и дефрагментация - вещи дорогие, но необходимые. Там целые отделы, бывает, пропадают: о них просто забывают, они выпадают из индекса собственности корпораций, ничего полезного не делают (но что характерно - работой заняты), но исправно сжигают бабло, хотя отследить это никто не может, в бухгалтерии там сам черт ногу сломит.
909869
#33 #909869
>>909857
>>909861
Так говорите, будто речь о крупном проекте в сфере IT, а не о бизнесе, который связан с реальным миром. Магазин должен работать и приносить деньги.
ОП, насколько он дал понять, сам же является владельцем, а значит бизнесменом. Стало быть должен он заниматься бизнесом, а не сайтом. Сайт же делегируется по надобности специалистам (которые наверняка уже имеют опыт с известными системами, а не с самописом, при этом PHP кодеры опять-таки обойдутся дешевле). В общем, странные приоритеты.
Касаемо корпоративной хуйни, большинство (не считая всякие битриксы и проч. монстры) являются примером как раз инди-команд, которые в лучшем случае находятся в одном офисе, в худшем - дома. И никакой у них такой возни связанной с рутиной нет. А касаемо качества - это тебе не ОС писать, тут конкуренты со всех сторон и расслабиться не выйдет. Такие дела.

Диванный.
#34 #909871
>>909769
По его требованиям к памяти ты на js только бочку сделаешь.
909877
#35 #909877
>>909871
Он про бинарник на диске говорил, ущербный, а не про оперативную память.
#36 #909917
http://rextester.com/PPCI48022
Анончики,где ошибка
910249
#37 #909941
Из гайда к успеху

>Собственно пытаться знать всё даже в своей нише это равносильно попытке бежать быстрее поезда, который у тебя за спиной в котором ты едешь


имхо надо пофиксить
909945
#38 #909945
>>909941
Хотя

>Mithmi edited this page on Nov 27, 2015


Жопой смотрел.
#39 #909948
>>909708
Всегда писал только затем чтобы самому ответить на свой же вопрос. Когда его читает кто-то другой - на него становится ответить проще.
мимо ультранюфак
909952
#40 #909951
Забавно, но после того, как я начал учить питон, меня потянуло на мужчин. И сегодня я совершил каминг-аут, поздравьте меня.
#41 #909952
>>909948 >>909708
Ах да, именно поэтому не рекомендую задавать вопросы там где нихуя никого нет, проблема останется такой же тяжёлой блядь и неповоротливой.
#42 #910103
>>909710
Local storage?
#43 #910249
>>909917
Обращаешься к локальной переменной gg_health до того, как присвоил ей значение.
910342
#44 #910253
Посоны, а можно в Питоне свойство в свойство вложить?
Например не Sys().Cpu().name а Sys().cpu.name? А то памяти жалко на цельный объект... Но при этом хочется, чтобы человек мог удобно пользоваться, не через список, а через более удобную ему точку, (чтоб в IDE автокомплит работал)
910262910265
#45 #910255
Мне лень тред искать, но где-то вот совсем недавно несколько анонов говорили, что в Python-джуны вкатиться тяжело, вакансий нет, и что лучше червепидорством с PHP начать и потом перекатываться в мидлы Питона, чем ждать подходящей вакансии.

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

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

Вот что хочу сказать: работайте, браться. В Мухосрансках, ясное дело, ситуация может (должна?) быть хуже, но уж в миллионниках-то наверняка больше направлений, в которые можно без проблем войти.
910257910259912933
#46 #910257
>>910255
Спасибо за поддержку, бро. Замотивировал трудиться на этой ниве дальше. А то уже подумывал забить к чёрту.
910360
#47 #910259
>>910255
Малаца.
#48 #910262
>>910253
Ты шо делаешь, ебантяй? Нахуя? У тебя объект методы содержит? Если да, то как ты их вызывать будешь? А если нет, то нахуя тебе вообще класс там?
65 Кб, 604x453
#49 #910265
>>910253
Нихуя тебя понял. Если cpu - еще один объект, то пропиши в нем свойство, какие проблемы? Что ты хочешь вообще? Точку вместо ["name"]? Ебанутый?
910274910279
#50 #910274
>>910265
Да всё с ним понятно, Делфист перекатился.
#51 #910279
>>910265
Ну там кагбэ объект, с кучей свойств. Да, в Делфах это действительно было просто и понятно, получаешь из коллекции свойство -- и у тебя не весь код выполняется, весь класс с этим свойством в памяти не болтается, выполняется только сам код, задающий это свойство. Это если я не туплю и ничего не забыл ещё, конечно.

А в Питоне приходится "держать весь арбуз в заднице ради его семечек"
910281
#52 #910281
>>910279

> получаешь из коллекции свойство -- и у тебя не весь код выполняется, весь класс с этим свойством в памяти не болтается, выполняется только сам код, задающий это свойство


???
910283
#53 #910283
>>910281
Да. Верно, яидиотЪ. Соре.

Просто интересно, кокого хуя тогда оно всё равно так медленно работает?
910284
#54 #910284
>>910283
Интерпретируемый язык - хули ты хотел?
Хотя может и ты где-то накосячил.
На, может проникнешься:
https://wiki.python.org/moin/PythonSpeed
#55 #910286
Что в этой строчке не так:
cls.browsers = cls._browsers(cls)
?
Дефайн _browsers:

def _browsers(self):
browsers = []
firefox = self._firefox_version()
if firefox:
browsers.append(firefox)
iexplore = self._iexplore_version()
if iexplore:
browsers.append(iexplore)

return browsers

Вывполняется корректно, но pyCharm выдаёт warning
910295
#56 #910295
>>910286

>но pyCharm выдаёт warning


Ну заебись, и что пишет-то этот ворнинг, читать умеешь?
910300
#57 #910300
>>910295
Что там unexpected variable. А убираешь, пишет, что ему self нужен. Я вот и думаю, где и что я сделал не так?

UPD: понял, что сделал не так, у меня __new__ без __init__ был, и все параметры в __new__ задавались. Или ЭТОНОРМА для синглтона?
#58 #910342
>>910249
Можешь в коде изобразить,как это сделать правильно?
910348
#59 #910348
>>910342
А что ты хочешь? Использовать глобальную gg_health? Вот так - http://lmgtfy.com/?q=local+variable+referenced+before+assignment
Первая же ссылка, блин.
#60 #910356
Ребят, если у вас нет опыта, то начинайте вкат не с джанго, а с фласка, понимания будет гораздо больше.
910357
#61 #910357
>>910356
Дичайше плюсую
#62 #910360
>>910257
И в чём тут мотивация? НЕ добиться успеха в миллионнике живя в нём по дефолту - вот уж где надо быть круглым долбоёбом.
910367
#63 #910367
>>910360
Переехать в милионник, когда надрочишься в Пистоне, очевидно же
252 Кб, 599x750
#64 #910421
Так. Я пришёл просить советов мудрых.

Как мне нормально посортировать лист итемов, чтобы мне их отдавало по 3 элемента?

Тобишь у меня есть: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Чтобы я хочу получить: 1, 2, 3 /new line/ 4, 5, 6 /new line/ 7, 8, 9 /new line/ 10

Вообще это для того, чтобы впихнуть обжекты в слайдер по три, чтобы на фронте можно было нормально их разместить. Я думаю, так сработает. М?
910435910444
#65 #910428
Подскажите в какую сторону копать
есть код:
sourceAddress= (2217,)
print(str(sourceAddress[0]))

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

Вопрос - как убрать символы форматирования?
910435910444
#66 #910432
Анон, открыл учебник на codecademy. Почему стринговые операторы юзаются по разному?

[CODE]parrot = "Norwegian Blue"

print len(parrot)[/CODE]
Но
[CODE]parrot = "Norwegian Blue"

print parrot.lower()
[/CODE]
Почему во втором случае было бы не логичнее lower(parrot)? Я не настоящий программист, я только ссылку нашел.
910434910444
#67 #910434
>>910432
Бля.
#68 #910435
>>910421
может так https://ideone.com/VrlMYD

>>910428

>sourceAddress= (2217,)


>print(str(sourceAddress[0]))


все нормально, выводит 2217
910443910454
33 Кб, 807x599
#69 #910443
>>910435
Анончик, спасибо!
910445
#70 #910444
>>910421
http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks

>>910428
Ты сам попробуй разобраться в том, что за хуйню ты написал. http://ideone.com/ykOk2M

>>910432
Бля-я-я. Чувак, len — это встроенная функция. lower — это уже метод, определённый для строк. Встроенных функций не так уж много, поэтому если совсем котелочек не варит, то просто выучи их список.
910445910448
#71 #910445
>>910444
>>910443
Ещё раз спасибо!
#72 #910448
>>910444

> Чувак, len — это встроенная функция. lower — это уже метод, определённый для строк. Встроенных функций не так уж много, поэтому если совсем котелочек не варит, то просто выучи их список.


Пасибки. В кодекадеми не указаны различия а просто "вот 4 хуйни для строковых переменных, давайте их изучим".
#73 #910454
>>910435
неправильно упростил кусок кода.
да так всё верно выводит.
Вот пример моего кода https://ideone.com/DkLOLs
struct разбивает бинарные данные согласно заданному размеру. всегда возврашает кортеж.
910455
#74 #910455
>>910454
У тебя кортеж из кортежей. Получая нулевой элемент кортежа, все ещё получаешь кортеж. Либо [0][0] пиши, либо изменяй структуру хранимых данных: http://stackoverflow.com/questions/3204245/how-do-i-convert-a-tuple-of-tuples-to-a-one-dimensional-list-using-list-comprehe
910458
#75 #910458
>>910455
бля-я-я. Спасибо тебе чувак. Я в доках прочитал что возвращает кортеж и ебусь с этим. А до такой элементарщины не додумался
#76 #910461
Реализовал чатик с комнатами и аватарками на джанге, это круто?
910466910473910485
#77 #910466
>>910461
Молодец, анончик. Продолжай в том же духе.
#78 #910473
>>910461
Круто. покажешь?
#79 #910485
>>910461
Нет, потому что не асинхронно
910496
#80 #910496
>>910485
Щас бы думать, что только дно.жс умеет в асинхронность.
910538
#81 #910516
Посоны, нужно задрочить Python до уровня ЕГЭ, в частности для заданий части C. Какие ссылки тыкать в шапке?
910561912654
#82 #910538
>>910496
Конечно нет, зато aiohttp умеет.
910578
#83 #910549
Анон, накатил Pyenv, накатил аддон для virtualenvwrapper'а.
Как мне теперь сделать через враппер окружение с необходимой версией питона?
#84 #910561
>>910516
Анус себе дерни, пес.
910573
#85 #910573
>>910561
C радостью, но сначала мне нужно поработать с питоном.
#86 #910578
>>910538
Как выебсокеты на аиохттп присобачить к конкретному темплейту?
910586
#87 #910585
Аноны, нихуя не могу понять, есть ссылка на json, в ответе с сервера вижу, что он сжат gzip'ом. Соответственно при прямом чтение там хуйня, пытаюсь распокавать файлик после получения но на выходе получаю тоже самое.
910588910589
#88 #910586
>>910578
Долго, муторно и заёбно
910590
#89 #910588
>>910585
Ты уверен, что там именно gzip, а не какой-нибудь LZMA?
910623
sage #90 #910589
>>910585
requests
#91 #910590
>>910586
не, ну серьезно. Мне нужно сделать чат, а я не пому его сделать, так как никак не могу понять, как присобачить темплейт к хендлеру вебскокетов. К простому хендлеру присобачивается через джинджу, а с вебсокетами как?
910630
65 Кб, 836x483
18 Кб, 1208x56
#92 #910623
>>910588
всего-то хочу спиздить билеты, почему так сложно?!
910667
#93 #910630
>>910590
Зачем? Один хендлер отдает темплейт, второй обеспечивает вебсокеты
910755
216 Кб, 827x827
#94 #910645
Добрый вечер, аноны. Я не просто новичок в питоне, а полный новичок в программировании. Изучаю всё абсолютно с нуля.

Извиняюсь за глупый вопрос, но почему всегда выходит ошибка пикрелейтед. Даже когда копирую чей-то рабочий код, то всегда выходит данная ошибка на первой строке.
910648910649
#95 #910648
>>910645
Чёт с переносами строк в винде и/или IDLE. Попробуй линукс или по одной строке вставляй.
910684
#96 #910649
>>910645
Скорее всего, REPL работает в режиме ввода строки. Нужно по одной строчке вставлять и жать ентер.
910684
#97 #910667
>>910623
Попробуй просто сохранить на диск через wb и gzip-ом открыть
910695
#98 #910684
>>910648
>>910649

Как это пофиксить, чтобы можно было нормально кодировать?
И ещё, наверное это будет дико-нубский вопрос, но как вставлять по одной строке, если после нажатия enter идёт не просто переход на новую строку, а выполнение кода.
910700
#99 #910694
Прочитал Укус и Think Python. Набивал руку в кодакадеми. Хочу в веб фуллстак
Что дальше посоветуете? Фронтенд или джангу?
910699
#100 #910695
>>910667
пробовал уже.
Пока что только такую информацию нашел
Python’s http libraries do not support compression, but httplib2 does.
#101 #910699
>>910694

>Прочитал Укус и Think Python


>Фронтенд или джангу?


Можешь конечно и во фронтенд идти, но нахуя ты тогда питон учил, когда нужно было учить javaыcript?
910702
#102 #910700
>>910684
Сорри, я совершенно не пользуюсь шеллом.
IDE сильно упростит тебе жизнь. Pycharm поможет с virtualenv, установкой пакетов, и позволит создавать быстрые "scratch" черновики, где ты можешь набросать код и тут же его запустить. Шелл годится совсем мелочь протестировать.
Ну и как уже выше писалось linux сильно упростит жизнь с питоном, в особенности с модулями. Правда его тоже нужно учить.
910711
#103 #910702
>>910699
Я же написал, что хочу всё. Начал учить Питон раньше, а недавно понял, что больше по душе интерфейсики. Ну и доучил питон
910720910721
#104 #910711
>>910700
Спасибо за советы и за участливость.
Попробую найти приемлемый для себя вариант.
#105 #910720
>>910702

>доучил


Орнул мальца.
910752
#106 #910721
>>910702

>понял, что больше по душе интерфейсики


Тогда делай в первую очередь упор на фронтенд. Учи javascript и какой-нибудь фреймворк, html и css.
910752
#107 #910752
>>910720
Ну в смысле базовые знания синтаксис, типы данных, циклы
>>910721
Наверное, так и сделаю. А джангу уже потом. Или NodJS?
910754910770
#108 #910754
>>910752

>NodJS


Че творишь а, олух.

Начни с бумажки и упорядочь на ней все те дурные мысли что у тебя в голове и реши что ты хочешь делать и что для этого нужно.
#109 #910755
>>910630
как связать два хендлера (с вебсокетом и с темплейтом)? на них же разные юрлы идут.
#110 #910770
>>910752

>Или NodJS?


да. nodejs, express и прочее говно.
910800
#111 #910786
Привет.
На сервере нет cron и других планировщиков. Только чистый питон.
Как выполнять функцию через промежутки времени? while true и time.sleep? Сильно ли это будет загружать сервер?
910805
#112 #910800
>>910770
А какие преймущества у нода перед джангой? Это разве не костыль для фронтендщиков?
910801
#113 #910801
>>910800
нода может в асинхронность, и только за счет этого она уже в 10000 ра лучше джанги + у ноды с фронтом общий язык, разработка упрощается.
910803
#114 #910803
>>910801
Хм, понятно. А как с устройством? Если я скажу, что кроме вёрстки немного умею в джангу, то это не будет выглядеть как "я еще и крестиком вышиваю"?
910804
#115 #910804
>>910803
это будет тебе в плюс, а насколько этот плюс будет весомым - это уже зависит от предпочтений работодателя.
#116 #910805
>>910786
http://stackoverflow.com/a/15090893/5201699

если сервер - linux с systemd, то там должен быть systemd.timer - замена cron
910812
#117 #910812
>>910805
Там собсна не сервер а анальная платформа, контейнер с питоном и все на этом.
Просто как я понимаю питон своим вайлтру будет создавать неебическую нагрузку даже при том что ничего не выполняется, только таймер тикает. Я боюсь что меня попрут и счет вдогон выставят.
910823
#118 #910823
>>910812
Я никогда особо не заморачивался насчет потребления ресурсов, но наверное от sleep() ничего не будет. Ты ведь выполняешь какую-то работу только короткое время, а пока выполняется sleep() то процессор не нагружается, думаю.

Просто посмотри на код, который выполняется в теле цикла и как-то попробуй оптимизировать. Типа, не забывай закрыть открытые файлы, может быть удаляй неиспользуемые переменные (del a ?). Вот в этой теме пишут, что можно вызывать сборщик мусора в конце каждой итерации http://stackoverflow.com/questions/1316767/how-can-i-explicitly-free-memory-in-python
В общем, почитай, погугли что-нибудь на эту тему.
#119 #910912
https://gist.github.com/JeffPaine/6213790
Уххсука вообще охуеть
#120 #910923
Помогите разобраться с кодом (конкретно, как считает, что откуда):

def total(initial=5, numbers, *keywords):
count = 1
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count

print(total(10,1,2,3, ab=12, d=23))
910927911038
#121 #910927
>>910923
чутка ошибся

def total(initial=5, numbers, *keywords):
count = 1
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count

print(total(10,1,2,3, ab=12, d=23))
#122 #910930
>>910912
Не знал про with ignored(OSError): - удобная хуйня.
910944
19 Кб, 929x700
#123 #910944
>>910930
Код наебнулся почему-то при вставке.
910950911008
#124 #910950
>>910944
Суммирует значения всех переданных в функцию numbers и *keywords и еще прибавляет 1.
https://ideone.com/0TnYz6
911008
#125 #910963
>>910912
А книжки такие обучающие есть?
911054
#126 #911003
>>910912
Круто, спасибо.
#127 #911008
>>910944
>>910950
def total(initial=5, args, *kwargs):
return sum(args, initial) + sum(kwargs.values())
911009911039
#128 #911009
>>911008
Проебался с разметкой, нутыпонел.
911017
#129 #911016
25к питон-джуну в ДС-2 — это норм?
#130 #911017
>>911009
Твоя функция еще и initial добавляет к общей сумме, изначальная функция - нет. Хотя я хз, что там вообще тот анон хотел сделать.
911020911049
#131 #911020
>>911017
Просто анон не тупой и назначение функции понимает лучше еблана, который её наговнокодил.
#132 #911036
>>910912

>2013


>xrange



С подключением, какой тариф?
911048
36 Кб, 620x419
#133 #911038
>>910923
Синтаксическая ошибка, аргументы с дефолтом должны всегда идти после аргументов без дефолта.

И вообще, сьеби нахуй. Сука, вкатывающиеся макаки ёбаные, как вы заебали со своей дрисней. Тут кода блядь даже как такового нету, после прочтения первой главы любого учебника уже должны подобное за нехуй разбирать. Пиздец.
911040
#134 #911039
>>911008

>sum(args, initial) + sum(kwargs.values())


sum(args, initial, kwargs.values()) не судьба?
911041
#135 #911040
>>911038

> аргументы с дефолтом должны всегда идти после аргументов без дефолта


Пруф, наркоман. УМВР.
911049
#136 #911041
>>911039
Не судьба, потому что это не будет работать. У тебя args — список. Попробуй передать в REPL два списка просто так сначала, а потом уже кудахтай.
911598
#137 #911048
>>911036
Го более актуальное, или зассал?
911053
#138 #911049
>>911017
Так в этом и проблема того анона, ведь ожидаемый-то результат у него включал initial. Хотя у него и вопроса-то никакого не было.

>>911040
У тебя может работать только если ты func(a, b=10, •args) делаешь. А вот попробуй func(a, b=10, c), и сразу тебе питон в лицо плюнет.
#139 #911053
>>911048
range() же. Ну, в 3.5 так. Кокого хуя ты на 2.7 ещё? Каких-то либ не портнули до сих пор что ли?
911059911060
#141 #911055
Чуваки, не могу сесть дописывать проект из-за эмоционального состояния (очень пригорает плюс ощущение бессилия) от других вещей. Как забить и всё же сесть за код?

Просто я понимаю, что все эти проблемы ИРЛ покажутся хуйнёй, если я устроюсь в итоге на что-нибудь 300к/сек, но для этого нужно непрерывно задрачиваться по 8-10 часов в день, а я не могу, потому что мне горит и я не могу сосредоточиться. Как вы решаете подобное?
911056
#142 #911056
>>911055
Решаю проблему из-за которой горит. Если это в данный момент невозможно - сажусь и целенаправленно, долго думаю обо всех вариантах и плане действий, которые я предприниму когда предоставится возможность проблему решить.

Просто сидеть и задрачивать без решения проблемы если и получится, то получится крайне малоэффективно
911057
#143 #911057
>>911056
По проблеме недостаточно входных данных, имеющие возможность их предоставить посылают нахуй, очевидных путей решения проблемы нет и скорее всего у меня ничего не получится. Ну то есть чтобы даже шанс предоставился -- нужно, чтоб сложилась ситуация из разряда: "И если в пятую луну седьмого года на Марсе будет ровно -62,7, в Антарктиде ледник уменьшится на 3см и в Америке упадёт метеорит диаметром ровно 2,1234089612340967мм, то у тебя всё получится". То есть набор свойств, на которые я очень слабо могу повлиять и которые очень маловероятны в сочетании.
911058
#144 #911058
>>911057
Тогда смирись и просто перестань пригорать. Какой смысл, если все равно ничего не поделаешь. Если не можешь - значит, это отличный шанс потренировать смирение. Крайне полезный навык, т.к. вокруг слишком много вещей, перед которыми ты бессилен.
911064
#145 #911059
>>911053
А? Откуда ты взял эту инфу? там жи чисто статья на гитхабе вида "укорачиваем ненужное громоздкое говнище"
911060911067
#146 #911060
>>911053
>>911059
сорре если чо, я ебаный вкатывальщик, нашёл материал охуенный, и скинул. Искал инфу по бойлерплейтам, нашёл вот то что нашёл
#147 #911064
>>911058
Двачую тебя. Если не хватает данных для решения проблемы, то забей до момента, пока этих данных не начнёт хватать.
911072
#148 #911067
>>911059
в той же статье на гитхабе и написано внизу

>xrange was renamed to range in python 3

#149 #911072
>>911064
К тому моменту, как их начнёт хватать -- проблема может перейти в категорию нерешаемых. Но, видимо, придётся смириться и понять, что лузер -- это не приговор, даже если ты потом никогда не сможешь никому доказать, что ты не верблюд. Но, блять -- это ведь аргумент "Это не главное", который является самообманом, а разумный человек должен жить в объективной реальности без самонаёба совсем.
Поясню проблему: от тебя уходит жена (да, биопроблемы, но не суть), соответственно ты не дотягиваешь до определённого уровня требований, предъявляемой ей. Причём она начинает встречаться с парнем в разы младше тебя и у них отношения лучше, чем у вас были в браке, значит требования разумны. Вывод? То есть ты -- дерьмо, которое хуже сопляка, так? Решение -- стать лучше, объективный критерий -- возврат жены. И тут к тебе поступает информация, что она собирается от него рожать и замуж. То есть даже если ты сейчас добьёшься более высокого положения и показателей, то тебя можно будет ткнуть носом в объективный критерий: "Но жена-то не вернулась, значит хуй знает, перестал ли ты быть дерьмом, а всё остальное -- только отмазки и демагогия. Пруфы где?" И вот тут с пруфами всё обламывается, потому что у бывшей жены уже личинус, у них всё хорошо, идеальный брак и любовь до гроба, и даже если ты миллиардер с островом на Карибах, то ты ей всё равно нахуй не упал, то есть даже себе доказать, что ты стал ЛУЧШЕ, чем был ты уже не сможешь. Потому что наиболее объективный и комплексный критерий интегрирующий тебя по всем свойствам твоей личности проёбан безвозвратно.
911073911074911075
#150 #911073
>>911072
Проиграл с пиздолиса.

>наиболее объективный и комплексный критерий интегрирующий тебя по всем свойствам твоей личности


Это. Попробуй найти другой критерий, тысячи их. Я точно через такую же историю прошел сравнительно недавно, очень сильно пригорало, но вот такого откровенного пиздеца в голове не было. Имей достоинство, блядь, это всего лишь баба, какой бы охуенной она ни была.
#151 #911074
>>911072
В таком случае не с женой нужно разбираться, а со своей личностью, найти своё место в жизни и достичь определенной гармонии с тем, кто ты и что ты делаешь. Я этой гармонии достиг еще на втором курсе универа и потому не могу в своем возрасте представить, что моя голова высирает такой же бред, что и твоя. Критерии у него, показатели, добейся — че несешь блядь? Если всё плохо, то работу лучше на время отложить. Если же кушать хочется, то наоборот отложить все, кроме работы, а потом через N лет очухаться и понять, что до сих пор в тебе неуверенный школьник, хотя ты уже лысеешь и платишь стоматологам за капиталку твоей челюсти.
911078
#152 #911075
>>911072
Ошибки и изъяны твоей теории:

>объективный критерий -- возврат жены



Это не объективный критерий. Ты исходишь из того, что человек всегда выбирает то, что лучше, но... Хоть это и нелогично — тут ты не прав. Особенно в отношении женщин.

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

Вывод:
Забей и ориентируйся на нормальные показатели, например личный комфорт и счастье. Потому что, скажу по секрету, остальное вообще никакого значения не имеет. И даже бомж на помойке вполне может быть равен тебе, просто потому что он счастлив, и ему глубочайшэ похуй,. что ты там думаешь на эту тему.
#153 #911078
>>911074
Гхм. Спасибо, правда. Одним постом тебе удалось разгрести кучу говна в моей голове. У меня просто не было аргументов для себя самого. Просто я пытаюсь подходить с максимально объективной позиции к себе, потому что считаю, что самоуважение без каких-то высоких результатов бессмысленно и является самообманом. Каждый человек может сказать: "Я люблю себя за..." и перечислить кучу достижений и результатов. А если не может, то он просто хуйло, которое занимается самонаёбом и с его мнением можно не считаться, ибо без показателей оно неавторитетно.

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

Перечитываю свой пост и со стороны он выглядит как бред малолетнего. Пиздец. Анон. Это пиздец.
911092
#154 #911092
>>911078

> как бред малолетнего


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

> Просто я пытаюсь подходить с максимально объективной позиции к себе


Тут я уже начал скучать.

> самоуважение без каких-то высоких результатов бессмысленно и является самообманом


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

> Каждый человек может сказать: "Я люблю себя за..."


Нормальным людям обычно свойственно ненавидеть себя. Это помогает держать себя в тонусе и не забывать, что ты не самый охуенный, что говно у тебя вонючее и нос неровный. Когда человек эту ненависть не направляет в нужное русло, она начинает его съедать, он закрывается дома и создаёт треды в /b/.

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

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

Создаётся впечатление, что ты вообще стремишься применить для реальной жизни какие-то рыночные абстракции. Жизнь — это, конечно, тот ещё рыночек, но если уж так на это смотришь, то на рынке, как и в природе, сильный жрет слабого. Пока ты не знаешь, зачем ты хочешь завтра проснуться, ты сильным быть не можешь.

Оно всё на словах просто и ещё более просто выглядит, когда ты прошел через это, но на деле может потребовать глобальных перестановок в жизни. Например, когда я со всем этим окончательно определился, мне пришлось на третьем курсе бросить университет, разосравшись с родителями и всячески лишившись их поддержки, и начать строить свою жизнь самостоятельно, отвечать за свою жопу самостоятельно и так далее. Проблем с самоуважением к себе с тех пор не возникало.
#154 #911092
>>911078

> как бред малолетнего


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

> Просто я пытаюсь подходить с максимально объективной позиции к себе


Тут я уже начал скучать.

> самоуважение без каких-то высоких результатов бессмысленно и является самообманом


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

> Каждый человек может сказать: "Я люблю себя за..."


Нормальным людям обычно свойственно ненавидеть себя. Это помогает держать себя в тонусе и не забывать, что ты не самый охуенный, что говно у тебя вонючее и нос неровный. Когда человек эту ненависть не направляет в нужное русло, она начинает его съедать, он закрывается дома и создаёт треды в /b/.

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

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

Создаётся впечатление, что ты вообще стремишься применить для реальной жизни какие-то рыночные абстракции. Жизнь — это, конечно, тот ещё рыночек, но если уж так на это смотришь, то на рынке, как и в природе, сильный жрет слабого. Пока ты не знаешь, зачем ты хочешь завтра проснуться, ты сильным быть не можешь.

Оно всё на словах просто и ещё более просто выглядит, когда ты прошел через это, но на деле может потребовать глобальных перестановок в жизни. Например, когда я со всем этим окончательно определился, мне пришлось на третьем курсе бросить университет, разосравшись с родителями и всячески лишившись их поддержки, и начать строить свою жизнь самостоятельно, отвечать за свою жопу самостоятельно и так далее. Проблем с самоуважением к себе с тех пор не возникало.
#155 #911105

>Создаётся впечатление, что ты вообще стремишься применить для реальной жизни какие-то рыночные абстракции.



Долго работал в этой сфере, возможно профдеформация

>Пока ты не знаешь, зачем ты хочешь завтра проснуться, ты сильным быть не можешь.



Но в том и дело, что я знаю, чем хочу заняться. И есть у меня и место, и призвание, вполне. НО! А прав ли я? Не субъективен ли я? Не вру ли я себе? Как это измерить? Что может служить интегральным показателем для измерения человека? В общем и целом случае -- это успешность у самок (в моём случае у одной, конкретной), разве нет? А вот тут я и влетел с размаху носом в стену, потому что судя по всему нет, ну или их оценки не всегда совпадают с общественным мнением и моими показателями качества жизни. То есть алкаш из подворотни бывает, что оказывается круче топ-левл бизнесмена. Получается, что overall peak value в итоге является ниже, чем sum(peak values[1..n]), чего просто, блять, быть не может. Формулы так не работают. Вывод -- либо самки на малой выборке не являются обьективным критерием и надо осуществлять большую выборку для более достоверных результатов, либо я не то меряю. Скорее первое, потому что общественное признание чаще получают бизнесмены, чем безвестные поэты и алкаши. Вот и получается, что моя самооценка (вот тут и вот тут я молодец, вот это я сделаю и вот здесь я разберусь, а вот тут я дерьмо и мне предстоит ещё много работы, но я тоже должен справиться) куда обьективнее мнения конкретной женщины, которое звучит как: "Ты дерьмо, потому что не пришёл домой ночевать, потому что недостаточно зарабатываешь, не дотягиваешь до 3730$ (она большой фанат этих ЖЖ-шных девочек, а я на тот момент не дотягивал), рассеяный и поехавший (были у нас споры на тему взглядов на жизнь)
911112911144
#156 #911112
>>911105
Да, именно это. Ты применяешь логику и формализм к каким-то человеческим отношениям, где этого всего нет. Иди в /b/ — там тебе школьники расскажут, что тебе за айфон любая тян даст, а без айфона ничего не светит вообще, господи.

> успешность


> показатели


> overall peak value


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

> Ты дерьмо, потому что не пришёл домой ночевать


В зависимости от ситуации, тян может сказать это вполне обоснованно.

> потому что недостаточно зарабатываешь, не дотягиваешь до 3730$


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

Если что-то, что ты пытаешься съесть, кажется тебе несъедобным, то, возможно, оно так и есть. Даже если ты неделю грыз один и тот же камень, убил на это кучу времени, сил, построил какие-то планы с ним на будущее, придумал, какие блюда с ним можно приготовить, — это ничего не меняет. Ты можешь бросить его и потом возвращаться к нему снова и снова, пытаясь распробовать его вкус, совершенствуясь, спрашивая советов на анонимных досках, а можешь просто забить хуй и принять, что камень всё же несъедобен.
911115
#157 #911115
>>911112

>В зависимости от ситуации, тян может сказать это вполне обоснованно.



Гхм. У товарища ДР, договаривались заранее, уехали на рыбалку. Её перед этим предупреждал, но мне устроили истерику "Ты ведь можешь вернуться в любое время, ты должен ночевать ИСКЛЮЧИТЕЛЬНО ДОМА!!! ДОМА, Я СКАЗАЛА!!!"
911118
#158 #911118
>>911115
Чувак, ну это совсем тупые биопроблемы, серьёзно. Если ты старше шестнадцати, то тебе стыдно должно быть, что сразу шлюху не послал на хер. Ничего страшного, опыт любой важен, но ты не еблань так в будущем.
911124
#159 #911124
>>911118
Больше не планирую так ебланить. Просто ДО брака такой хуйни не было, она вела себя совершенно по-другому. А потом по-тихой начала заявлять вот такие вот права. То есть далеко не сразу, просто: "В семейной жизни мужики ночуют всегда дома, работают на трёх обычных работах, либо одной хорошей и зарабатывают на улучшение бытовых условий, вон, посмотри на %куннейм1%, %куннейм2% и %куннейм3% (как по мне сейчас -- весьма тряпки и подкаблучники, у которых жёны по клубам таскаются, а они пашут 24/7), вот они молодцы, а ты?!"
911125
#160 #911125
>>911124
Ого, да тут же типичный бугурт рашкосемьи, как когда родители детей сравнивают с Ерохиными. Ух нихуя себе ты мне тут про молодость мою напомнил. Ну, родителей не поменяешь, а вот всех других людей — легко.
#161 #911127
Я выучил python. Что дальше?
911130911132
#162 #911130
>>911127
http://pyobject.ru/blog/2010/02/04/python-quiz/

Когда будешь ПОНИМАТЬ ответы на эти вопросы (знать ты можешь их уже сейчас), тогда можешь смело топать на джуна. Как раз в соседнем треде обсуждают.
911140911143
#163 #911132
>>911127
напишешь мне асинхронный сайт с вебсокетами?
911140
#164 #911140
>>911130
Я весь выучил и понял, дядь, какой мне джун?
>>911132
Хорошо. Какие еще пожелания?
911142
#165 #911142
>>911140
Открываешь гугл и ищешь remote Python junior developer, берёшь тестовое, пилишь его и получаешь (или не получаешь, если напилил хуёво) работу
#166 #911143
>>911130

> тогда можешь смело топать на джуна


Вопросы хуйня на самом деле, совсем базовые, особенно задачи.
Очень не хватает декораторов, ибо это одна из ключевых фич. Да и по магическим методам типа __getattr__, __eq__, __next__ неплхо было бы задачу запилить.
#167 #911144
>>911105
Тебе /sex, заебали со своими биопроблемами. Оплати блять психолога и еби мозги специалисту.
911148911152
#168 #911148
>>911144
Да уже всё, биопроблемы кончились. Тем более, что вряд ли кто-то смог бы мне ответить на этот вопрос лучше, чем кодеры и околокодерыНет, это не значит, что я сейчас побегу в /б рекламировать биопроблемникам заглянуть сюда.
#169 #911152
>>911144
Понимаешь, биопроблемники приходят поныть, а я пришёл решить вполне конкретную проблему. Мне ответили на мой вопрос. Ответ меня устроил, рекомендацию я принял и мне даже стало чуть стыдно, что я некоторые вещи не заметил раньше, хоть и не считаю себя тупым. Народ в /sex -- такие же дети и лузеры-питурды мамкины, как и в /b, их мнение меня интересует мало, а вот среди людей, занимающихся интеллектуальным трудом получить вменяемый ответ шансов куда больше.
Лол sum( [первые три цифры в капче]), = sum([три последние цифры]) = 13
911154911191
#170 #911154
>>911152

> биопроблемники приходят поныть, а я пришёл решить вполне конкретную проблему


Ханжа as is.
911164
#171 #911164
>>911154

>Ханжа as is.


Я продолжаю ныть? А теперь загляни в /б и посмотри, как обычно проходят такие треды. Короче, хватит засирать тред, мой небольшой оффтоп в лесенку превращается.
#172 #911191
>>911152

>занимающихся интеллектуальным трудом


ахахах
#173 #911226
Анон, как бы ты реализовал быструю отправку хуевой тучи HEAD-запросов через прокси? Requests пиздец медленно работает.
911228911252
#174 #911228
>>911226
Если тебе не срочно, то я откопаю свой код и посмотрю. Смотреть?
911229911230911237
#175 #911229
>>911228
Посмотри, пожалуйста.
911230911245
#176 #911230
>>911228
>>911229
Отсосите друг другу, дибилы!
#177 #911237
>>911228
Охбля. У меня вообще пиздец там. Но в общем случае можно было бы воспользоваться сокетами и пихать HEAD им. Ну примерно вот как тут.

http://stackoverflow.com/questions/8315209/sending-http-headers-with-python
#178 #911245
>>911229
Точнее вот так:
http://stackoverflow.com/questions/5755507/creating-a-raw-http-request-with-sockets

Тут ты можешь вообще всё, что угодно запихнуть, должно работать быстро.
#179 #911252
>>911226
pycurl + c-ares + какой-то асинхронный луп
911255
#180 #911255
>>911252
"Анон, как бы ты вскопал огород?"
"Ну, собрал бы мотоплуг из ржавых железяк на огороде, при помощи склёпанного в подвале лазерного сварщика"
911279
#181 #911267
Используя вебсокееты можно как-то замутить фичу, чтобы всех подключенных пользователей редиректило бы на другой урл, если,допустим, админ комнаты нажал бы кнопочку?
911270
#182 #911270
#183 #911278
Чуваки, возможно ли на Пистоне написать реализацию некоего аналога SNMP over UDP? И что для этого надо почитать?

Ну то есть мне надо в реалтайме передавать/принимать большое количество данных. В общем случае на приём в ЦОД один раз приходит большой объём строковых данных (их терять нельзя совсем), а потом непрерывно(как можно чаще) три координаты, несколько двухбайтовых параметров и флаги, ну типа ECM_DET, RDR_RAD_DET, WHD_DIV_SEQ, ну и так далее (если один-два пакета тут потеряется -- ничего страшного), а уходит из ЦОД что-то из небольшого списка команд, реализованных двухбайтовыми значениями и логин-пасс для подключения.

Канал должен быть шифрован криптостойким ключом.
#184 #911279
>>911255

>"И копал бы огород много лет подряд без лопаты в руке!"


Можно и просто асинхронным HTTP-клиентом обойтись, наверно, тем же встроенным в Tornado.
#185 #911374
Pornie
Это норма что после пары тройки часов обучалова мозг уничтожается нахуй? Всё входит в привычку в итоге и можно выдержать дольше, или как?
#186 #911383
http://rextester.com/JMHR44499
Анончи,боевку пытался сделать.Все плохо?
911387
#187 #911387
>>911383

>Все плохо?


Очень. Учимся использовать классы. Код можно сократить раз эдак в 5. Запомни: Если программист на Питоне в день написал и отладил до идеала10 строк кода -- он поработал, 20 -- поработал хорошо, 100 -- явно что-то сделал не так.
911419
#188 #911404
Вопрос к джанго-господам, джаног-целрид забал своими совместимостями постоянно ломается, то комбу не той версии то джанга, недавно наткнулся на django-q, так вот, хотел узнать, как оно у вас на проектах? Нет ли каких подводных камней? Планирую на нем запустить 4-5 воркеров которые будут постоянно писать в базу.
#189 #911407
>>911278
Бамп вопросу.
#190 #911419
>>911387
А как бы сделал ты?
911447
#191 #911447
>>911419
Вот это:
print('gg_health',gg_health)
print ('enemy_health',enemy_health)
print ('enemy_attack',enemy_attack)
print ('gg_attack',gg_attack)
print ('gg_defence',gg_defence)
print ('enemy_defence',enemy_defence)

Запихать в def stats_out (kwargs) :

Это раз.

Вот это в класс character и его расширения gg и enemy:

gg_health=100
gg_attack=50+random.randint(0,20)
gg_defence=50+random.randint(0,20)
enemy_health=100
enemy_attack=50+random.randint(0,20)
enemy_defence=50+random.randint(0,20)

attack и defence -- расширениями класса action, в который захерачить общие поля и действия. Ещё много такого
911458
#192 #911458
>>911447
А ещё лучше, как вариант, все Action хранить в Character, тогда у тебя мины и их аналоги (на перспективу) тоже будут Character, но это будет куда более логично, в виде Gg.Action().Attack(Zombie_1)
911469
#193 #911466
Сделать pickle.loads() внутри темплэйта джанги нельзя?
А то получаю пагинатором список из страниц, в них список ячеек БД, в ячейках запикленые данные, которые нужно достать и показать.
#194 #911469
>>911458
Чуваки, а я вот тут подумал... А вот если к такой механике (куда круче, разумеется, не именно вот такой, но суть одна) прикрутить графику на тайлсетах и диалоги, то можно свой Фоллач 2 с джетом и детоубийствами запилить штоле? при наличии воображения и усидчивости MUCH OVER 900 разумеется
911680
152 Кб, 1895x1012
#195 #911496
Всё правильно делаю?
913518
205 Кб, 1024x1300
#196 #911498
911500911502
#197 #911500
>>911498
https://translate.google.com/#en/ru/pythoohon
А теперь послушай что ты ввёл
#198 #911502
>>911498
Я открытый пассивный гомосексуалист, и я программирую на Пайтоне. Проблемс?
911503
#199 #911503
>>911502
Никаких. Просто теперь у вас появился официальный герб.
911509
#200 #911509
>>911503
Буто что-то плохое. Гомосексуалов здесь достаточно, да и год петуха на дворе. Жалкие попытки нас унизить.
911511
#201 #911511
>>911509
Главная проблема петухов состоит в том, что они видят унижение самих себя даже там, где их нет. Расслабь булки. Это всего лишь шутка.
Помогите с DJANGO #202 #911520
Знаю что вопрос глупый но не могу некак найти годную хорошую документацию прошу помощи
#203 #911523
sage #204 #911524
>>911520
официальная документация тебе на что, идиота кусок? тамвсе разжевано
138 Кб, 347x329
#205 #911559
>>911520

> некак

#206 #911598
>>911041
Ой блядь sum(args+kwargs.values(), initial)
911603
#207 #911603
>>911598
Во-первых, kwargs.values() возвращает тип dict_values. Во-вторых, нахуя конкатить списки, вместо того чтобы сложить два числа?
911611
#208 #911605
>>911520
Пизда блядь как же у меня горит от таких вкатывальщиков. Ни на что способное отродье.
911606
#209 #911606
>>911605
Да это зеленый.
38 Кб, 508x67
#210 #911611
>>911603
Нахуя дважды вызывать sum? Алсо смотри пик
#211 #911617
>>911611
На больших списках конкатенация будет дороже вызова функции. Если списки маленькие - наоборот. Но питон в любом случае пиздецки медленный, так что пиши как красивее.
911623911649
#212 #911619
>>911611
Ха-ха, на мобилу экран сфоткал!
3 Кб, 367x78
#213 #911620
>>911611
И опять же

> kwargs.values() возвращает тип dict_values


Его надо будет приводить к списку.
А в твоем тесте можно было сделать sum(range(..)), что намного быстрее, чем sum(list(range(..)))
911623911633
6 Кб, 598x129
#214 #911623
>>911611
>>911617
>>911620
На, высоси крч.
#215 #911633
>>911620

>А в твоем тесте можно было сделать sum(range(..))


Раз мы рассматриваем конкретно списки, то я и замутил list() а не оставил генераторы
#216 #911649
>>911617
Да ты прав. Обычно задумываюсь об этом когда тесты слишком долго длятся))00
#217 #911677
>>911278
Что-то никто не отвечает. Разве тут нет таких умных?
911681
#218 #911680
>>911469
Да. Но у тебя не получится
#219 #911681
>>911677
У нас тут одни макаки-вкатывальщики.

БТВ, почти уверен что возможно. Втыкай это https://docs.python.org/3.6/library/socket.html
Но если ты хочешь макс производительности - пайтон не твой выбор
911683911685
#220 #911682
>>911278

> на Пистоне


> в реалтайме


Нельзя.
#221 #911683
>>911681
Хммм, у меня передача данных будет идти на скорости 4800-9600, по радиоканалу или лазерному лучу. И на отправляющей стороне всё будет работать на очень низкоуровневой логике с минимальным набором электроники. Вопрос в обработке данных на принимающей стороне, с которой должно быть "удобненько" работать кодерам-человекам
#222 #911685
>>911681
Алсо, правильно начал?

http://pastebin.com/2RfSu82R
#223 #911722
http://pastebin.com/0eHtgcQ1 -- Поцчему эта хуйня такая медленная? Что я делаю не так и как сделать быстрее?
187 Кб, 1366x737
#224 #911735
Ну че блин за магия с этим psycopg2. На 3.4 прекрасно собирается с GCC 4.8. На 3.6 собирается с каким-то флагом, который только GCC 4.9 поддерживает.
Grequests ломается на ходу в 3.6. Хотел мигрировать для f-стрингов и чтоб async def был, теперь ебли на час.
911736
#225 #911736
>>911735
Ты поныть пришёл? Не нравится — переписывай.
911739
#226 #911739
>>911736
Ну так переписываю :) Я в поисках мудрых ответов от гуру, которые объяснят почему pip ведет себя по-разному в разных интерпретаторах.
911740
#227 #911740
>>911739
Потому что, блин, он тоже совершенствуется... Можешь проверить, но я не уверен, что на 3.4 и 3.6 одинаковые версии pip
911741
31 Кб, 834x601
#228 #911741
#229 #911751
>>911278
реализуй свой простой протокол, задвинь все это дело на асинхронный луп и вперед. но для тру реалтайма вроде как erlang
911757912056
#230 #911757
>>911751
То есть на Эрле переписыать? Просто я знаю, что к городским ЦАТС многим, класса M200 и ему подобных дохуя софта на Эрланге писано
911788
#231 #911788
>>911757
да, наверное лучше на эрланге такие вещи.
#232 #911865
Аноны, какие требования к джунам обычно выдвигаются? Что кроме основ из документации и укуса питона знать нужно?
P.s. Не в вебе.
911868
#233 #911868
>>911865

>не в вебе


А питон есть не в вебе?
911878911881
#234 #911878
>>911868
Есть много где... Математика, NumPy/SciPy. Системное администрирование. В геймдеве иногда как скриптовый язык.
911908
#235 #911881
>>911868
Да дохуа. Обработка массивов данных (с pandas Питон превращается почти в R), всякие физ-математические расчёты, макеты кода, для облегчения задачи (часто написать прототип на Пистоне, а потом перевести его на кресты --раза в 2-3 быстрее, чем написать его на крестах сразу, да и макака-переписывальщик денег хочет в разы меньше, чем полноценный мидл-крестовик), ТРИДЭ! (движок уже есть, работоспособный, даже диснеем юзается), Всякое админство (с появлением bash под win не уверен,что шибко нужно теперь, но пока ещё используется)
911891911908
#236 #911891
>>911881

> ТРИДЭ! (движок уже есть, работоспособный, даже диснеем юзается)


Blender - там не только движок, но и 3D редактор типа 3DS MAX. Раньше был и в Unity, одним из скриптовых языков.

> с появлением bash под win не уверен,что шибко нужно теперь, но пока ещё используется


Нужно, для Питона куча библиотек, от COM/ActiveX до сокетов. Шелл таких возможностей не имеет.

Вообще, пожалуй, Питон сейчас самый популярный скриптовый язык общего назначения. Perl и Tcl уходят в прошлое, JavaScript есть лишь в некоторых приложениях вроде OpenOffice, Lua так и не вышла за пределы игр, Ruby остался на своих рельсах.
911908
#237 #911908
>>911878
>>911881
>>911891
Ну вот, и всё таки, есть какие-то общие советы по тому что стоит выучить/прочитать перед собеседованием?
911916
#238 #911916
>>911908
Понимаешь, как самостоятельный язык НЕ в вебе он нахуй никому не упал. У него дохуя применений, но ВМЕСТЕ с чем-то ещё. Вообще посоветовал бы побольше талмудов по Data Analysis позадрачивать, там Питоний на ура заходит, с руками оторвут, у меня одна из бывших девочек руководителем аналитического отдела в миллионник так уехала.
911921
#239 #911921
>>911916
Спасибо, обмажусь.
Вот сейчас читаю:
Оригинальное название: Programming Collective Intelligence
Автор: Тоби Сегаран
Норм?
911928911933911956
#240 #911928
>>911921

>Programming Collective Intelligence


Лютейшая годнота
911955
#241 #911933
>>911921
Еще рекомендую data analysis with Python или как-то так, там книга с крисой на обложке, мне понравилась больше ШАДовского курса на курсере, на который все дрочат
И от стенфорда кстати по ДА курс на курсере был классный
911948
#242 #911948
>>911933
Python for Data Analysis - это просто документация к одной библиотеке pandas, там даже линейной регрессией не пахнет. Но книга реально классная.
#243 #911955
>>911928

>Programming Collective Intelligence


>Final Release Date: August 2007


Немного устарела, не?
911963
#244 #911956
>>911921
Иди в тред по машобу и обмажься там чем-нибудь из шапки, полезнее будет имхо
#245 #911963
>>911955
Не, я по ней учился, как раз где-то в эти годы, когда на Питоний окончательно перекатывался. Знания из этой книжке применяю до сих пор.
21 Кб, 345x253
#246 #912056
>>911751

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


>erlang


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


>erlang


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


>erlang

#247 #912149
Парни, недавно один чувак написал вот это

>А медленный он у тех, кому влом переписывать критичные участки на Сях, а сам Пистон юзать, как их оболочку.


Правда ли это?
912151912162
#248 #912151
>>912149
Да. В целом — да. Но только тут огромное количество нюансов, как минимум, что оба эти языка надо знать и юзать в совершенстве
912154
136 Кб, 1629x1039
#249 #912154
>>912151
И сколько тут вагонов скилов требуется?
Вот, к примеру, flowstone для дсп процессинга. Там на сайте есть гайд, как фактически любой кусок преобразовать в ассемблерный (слева модуль куда пихается асм код) и как вообще нихуя не зная ассемблера его оптимизировать, чё именно и как сделать чтоб всё было заебись, но там есть всё чтобы понять где и что косячит, что тормозит, какой модуль, в него пряму ткнут ебалом, а в питоне-то как это сделать? Какой для этого нужен инструментарий? Может это автоматический скилл преобретаемый с опытом? Но чёто вроде как и нет. я так-то вкатывальщик, но интересует это пиздец, как и где спросить не особо понимаю, особенно если я буду хуярить свои VST плаги на питоне(?)
912161
#250 #912161
>>912154
Чё гуглить хотя бы поясните, я сам всё найду
#251 #912162
>>912149
Так и есть. Вот только если подумать, то это можно перефразировать как "медленный он у тех, кто на нём пишет". Соответственно, если ты на нём не пишешь, то он быстрый, но в таком случае он обладает ещё тысячью разных хороших свойств.
#252 #912182
>>911278

>некоего аналога SNMP over UDP


SNMP и поверх UDP работает, зачем ты это отдельно указал?

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


define реалтайм
define большое количество данных

>большой объём строковых данных (их терять нельзя совсем


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

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


что значит уходит из ЦОД? уходит обратно к отправителю всей той хуиты выше? или в третьем направлении вообще?

>Канал должен быть шифрован криптостойким ключом


>криптостойким ключом


криптостойкой должна быть система (шифрование + MAC или подпись если нужна), а не ключ
криптография к тому же может свою нюансы привнести в пику рилтайму

короче, не умничай и обрисуй, что и зачем надо сделать

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

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

а так в зависимоти от условий тебе, возможно, обычный TCP-сокет (внутри SSL) пойдет
912183912209912211
#253 #912183
>>912182
блять почитал твой код, у тебя там и XML еще какой-то откуда-то

короче, сдается мне, что про рилтайм ты напридумывал

задачу опиши конкретней, не то что тебе хочется изучать, а что (и для чего) нужно сделать

если ты пытаешься в формулировке задачи предлагать решение (UDP и проч) - ю дуин ит ронг
#254 #912209
>>912182

>SNMP и поверх UDP работает


SNMP и так поверх UDP работает
#255 #912211
>>912182
Надо: Если канал толстый -- юзаем ХМЛ.
Если канал 4800 или 9600 -- юзаем бинарный протокол.
Цод устанавливает соединение с устройством (отсылает логин и хэш пароля, ну итд) и говорит ему выполнить некую процедуру, нехай будет селф-тест.
С этого устройства на ЦОД приходит большое количество строковых данных, по факту инициализация и результаты селф-теста. Почему строки: Потому что параметры могут быть разные. Передаются они либо просто упакованными чем-нибудь бинарными строками, либо ХМЛ-кой, если канала хватает.
Устройство отсылает пакет, что оно проинициализировалось и ожидает подтверждения от ЦОД
После получения подтверждения (от долей секунд до бесконечности) начинает... А вот тут 2 варианта

Если с шириной канала беда:
в реалтайме (вот тут это критично) отдавать шестнадцатеричные данные, вида [6-битный номер параметра, совпадающий с переданным в строковых данных, двухбитный указатель размера параметра, 1-2-4 байтное значение (с некоторой потерей точности, но что делать), в зависимости от размера параметра]. Если тут 1-2-3 пакета проебутся, то и фиг с ними, тут важнее минимальная занятость канала. То есть и данные надо отдавать как можно чаще и канал как можно меньше занимать, чтобы соблюсти баланс

Если с шириной канала всё ок:
отдаёт полные значения, без потери точности.

Периодически ЦОД посылает на устройство команды. Устройство должно ответить выполнением, либо кодом ошибки.
#256 #912232
Какая актуальная инфа по деплою в Google App Engine? Здесь есть пользователи оного? Все еще можно получить бесплатно рабочую платформу? Легко ли деплоить или придется переписывать функционал под AE API?
912243
#257 #912233
>>912211
канал кто и как, в какой форме предоставляет?
4800 / 9600 кбпс - это радио модемы что ли ебучие?
ты эмбеддер/фпгашник? если да, то немного завидую, особенно если второе
912459
#258 #912235
>>912211

>в реалтайме (вот тут это критично)


так что такое рилтайм для тебя?
как часто надо данные отдавать? раз в секунду? десять? сто?
912458
#259 #912243
>>912232
Azure интересует по этим же пунктам. Откликнитесь, пожалуйста.
#260 #912250
Посоны, чё там с векторными гуи на питоне? Обычные кнопки не нужны, 2017 всё таки
912251
#261 #912251
>>912250
Какое отношение питон имеет к гуи либам?
912252
146 Кб, 1569x645
#262 #912252
>>912251
Не понял.
912253
#263 #912253
>>912252
Какое отношение имеет QT к python?
912256
70 Кб, 785x614
#264 #912256
>>912253
Не понял
912260
#265 #912260
>>912256
Если Qt умеет в векторные кнопки то все что работает под его слоем умеет в векторные кнопки. Как еще объяснить.
#266 #912262
>>912211

>Цод устанавливает соединение с устройством (отсылает логин и хэш пароля, ну итд)


тут очень легко трошки всратсья
аутентифицировать (MAC) надо каждую посылку команды, или в самом начале давать токен
912457
#267 #912355
s
#268 #912453
Поясните за стек технологий для питониста.
Вот например у веб пидоров примерный стрек - HTML, CSS, JS, и там разные минификаторы кода для жса, хуева туча фреймворков, и т.д.

Какой стек у питониздов? Питон, Фласк, Джанга, что еще? Есть какие-то специфические утилиты, вроде тех же минификаторов или сборщиков?
912589913453
#269 #912457
>>912262
Ну я думал, что hash_key в заголовке будет достаточно, нэ?
912488
#270 #912458
>>912235
Вообще -- 10 раз в секунду более чем, тогда небольшие потери будут некритичны и значения можно будет интерполировать из предыдущих и последующих.
#271 #912459
>>912233
Диплом. Имеет прямое отношение к ППВМ, да.
912490
#272 #912485
Как совместно работать над фронтом в папке с джанго темаплейтами? Я сам ебашу сайт, поэтому готовых макетов под верстку нет. Верстать нужно сразу по нормальным данным а не по lorem ipsum, передавать данные в JS.
Собственно, нужна нода чтобы работать с js либами. Как это правильно организовать? Сделать в /templates npm init, запустить джангу и ебашить сразу с темплейттегами?
912547
#273 #912488
>>912457

>Ну я думал, что hash_key в заголовке будет достаточно, нэ


replay attack же
криптография это тебе не семачку хавать
#274 #912489
>>912211

>С этого устройства на ЦОД приходит большое количество строковых данных, по факту инициализация и результаты селф-теста. Почему строки: Потому что параметры могут быть разные. Передаются они либо просто упакованными чем-нибудь бинарными строками, либо ХМЛ-кой, если канала хватает.



короче не придумывай

В самом начале тяни с устройств XML-ку, хоть через HTTP API. Если она долго тянется, то и похуй, это же тип инициализация один раз.

Затем каждое устройство шлет телеметрию свою втупую в ЦОД по UDP.

Команды (редкие) и ответы на них тоже через HTTP API.
#275 #912490
>>912459

>Диплом


теперь понятно

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

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

телеметрию мне кажется нахер не надо шифровать

хотя великие специалисты из числа твоих преподов могут со мной не согласиться
#276 #912547
>>912485
Ебашь в пичарме и ф5 ф5 ф5
#277 #912589
>>912453

>Какой стек у питониздов? Питон, Фласк, Джанга, что еще? Есть какие-то специфические утилиты, вроде тех же минификаторов или сборщиков?


дык посмотри на hh. Как минимум везде питон джанга и линуксы
Регулярные выражения #278 #912651
Как найти все строки где НЕ встречается слово "foo"? Мне в Sublime Text 3 нужно много строк удалить автозаменой.
912690
#280 #912690
>>912651
Можно найти все строчки, где встречается foo, скопировать их в новый файл, а потом удалить старый.
912693
#281 #912693
>>912690
Сработало, спасибо.Сделал инверсию вместо нового файла.
912704
#282 #912704
>>912693
Бля, а как делать инверсию?
мимо даун
912802
83 Кб, 884x641
#283 #912802
>>912704
В Sublime Text 3? В нем питоновкий синтаксис регулярных выражений, но инверсия выделения делается через меню.
912908
#284 #912908
>>912802
Ебать круто, спасибо за инфу
#285 #912933
>>910255
стори один в один из моей жизни
912968
#286 #912968
>>912933
Рассказывай, какой лвл и к чему пришёл.
#287 #913008
Привет аноны, посоветуйте книги, ресурсы по асинхронному программированию, желательно для совсем нулячих.
Заранее спасибо.
913044913051
#288 #913044
>>913008
+1
Вроде пишу сайт на торнадо, все работает, а все равно не понимаю, почему и как.
913051913231
#289 #913051
>>913008
>>913044
Первый том Кнута, сопрограммы.
913058913146
#290 #913058
>>913051

>Кнута


этого долбоеба еще кто-то читает?
913060
#291 #913060
>>913058

> этого долбоеба


Любитель хуяк-хуяк и в продакшен, ты?
913061
#292 #913061
>>913060

>Любитель хуяк-хуяк и в продакшен, ты?


теоретическая матаноблядь, ты?
#293 #913146
>>913051
ок, спасибо. Я правильно понимаю, что в зависимости от года выпуска тома, его содержание может кардинально изменяться ?
913215
#294 #913153
есть:
registry = []

class Plugin(object):
class __metaclass__(type):
def __init__(cls, name, bases, dict):
type.__init__(name, bases, dict)
registry.append((name, cls))

class TestPlugin(Plugin):
pass

print(registry)

почему registry пуст?
913155913229
#295 #913155
>>913153
ну и вообще, как можно зарегистрировать (помеченные для регистрации конечно) объявленные классы в модуле?
#296 #913215
>>913146

> кардинально


Не, они немного дополнялись всего лишь.
#297 #913229
>>913153

>class __metaclass__(type):


так дела не делаются

http://www.effectivepython.com/2015/02/02/register-class-existence-with-metaclasses/
#298 #913231
>>913044
Чот я посмотрел асинхронное это... Получается, что я именно им в 14 баловался на делфях? WaitForSingleObject, WaitForMultipleObjects...?
#299 #913234
Питаны, а подскажите ноут для питонинга комфортного. Что бы тянул одновременно pycharm, chromium и винду в виртуалбоксе с Photoshop
Мой нищебук рабочий заебал в смерть просто.
913237913326
#301 #913253
Есть ли хоть какая-нибудь теоретическая польза от степени кандидата технических наук при устройстве на работу питонистом? Не могу понять, писать диссер или нахуй в пизду
913261913328
#302 #913261
>>913253
если за бугор свалишь то да
#303 #913326
>>913234
macbook pro 15' (2015й)
dell xps 9550 15'
если дорохо то сморти линейку dell latitude
ленову стоить брать только если совсем денег нет и готов пердолиться с апгрейдом древнего говна
#304 #913328
>>913253
В машобе вполне, если соответствующая тема.
#305 #913403
Где можно скачать примеры из книги лутца?
913441
#306 #913405
Объясните нубу, почему, заходя на какую-нибудь вакансию по питону там требуется знание просто целой куче всякой хуйни, причем везде разной и к непосредственно программированию отношения не имеющей (то есть можно и без этого всего писать)?
913434913435913568
#307 #913434
>>913405
Сделай вид что знаешь. Ктож в здравом уме будет всю эту хуйню изучать на полном серьёзе? Роисся - страна об имитации деятельности, а не о деятельности.
#308 #913435
>>913405
Кто "внушает доверие" тот и победил блядь. А кто внушает доверие? Паталогический пиздёжник который не умеет нихуя.
913517
#309 #913441
>>913403
на его сайте посмотри
#310 #913453
>>912453

>минификаторов


>Python


Ты ебанутый?
#311 #913517
>>913435
Я таких пиздёжников на 2 из 3 собеседованиях валю, на простеньких вопросах типо как подрубить кеширование используя редис
38 Кб, 1425x542
30 Кб, 1445x724
#312 #913518
Парни, не знаю стоит ли создавать тред по вкатыванию в %похуй_что%
Щас вкатываюсь именно в питон, а нуб я абсолютный, выше скрин некого говна под названием Jupyter Notebook >>911496 и короче пока я смотрю один из видеокурсов, по мере изучения заполняю эти "дневнички", которые включают в себя возможности и консоли и самого "дневника" одновременно.
Можт кто захотел бы скооперироваться? Хуярить вот такие нубские файлы с тупорылыми пояснениями чё это вообще такое, и типа учить в коопе заодно там можно выучить стили гитхаба Markdown, и научиться делать охуенный дизайн на своих гитхаб страницах, т.к такая же хуйня юзается в этом ноутбуке
913519913527
#313 #913519
>>913518
Бля не то заскринил, ну да похуй
90 Кб, 1893x970
377 Кб, 1897x1050
153 Кб, 1919x1079
#314 #913527
>>913518
По идее не хуем делали это вот всё
https://jupyter.org/
#315 #913567
Короче такая задача. Есть проект на плюсах, который генерируется при помощи CMake. Хочу написать скрипт, через который я смогу задавать разные переменные и, в зависимости от их значений, генерировать проект. Есть ли либы или ещё что для настройки cmake из python?
913573
#316 #913568
>>913405
Год опыта и ты будешь знать это все хотя бы на уровне идеи, а скорее и на уровне некоторой реализации. Не ссы, питонопесочница на самом деле очень маленькая и уютная. не то что жиэс
#317 #913573
#318 #913587
>>909710
Есть несколько способов реализации "динамических моделей" товаров. Я не буду углубляться в те, что идут в разрез с реляционной моделью данных(json, разные модели). Json для монги. Разные модели нарушают нормализацию БД.

По-моему, лучшим вариантом будет использование одной таблицы Product со связью FK ProductCategory и M2M к ProductAttribute.

Характеристики товара будут храниться следующим образом:
class AttributeEntity:
title ...

class AttributeValue:
title ...
value_int
value_float
value_str
...

@property
def value(self):
... some logic ...
return value

class ProductAttribute:
entity = fk(AttributeEntity)
value = fk(AttributeValue)

class Product:
category = fk('ProductCategory')
attributes = m2m(ProductAttribute)

def get_denormalized_attributes(self):
... converting m2m attributes in json ...
... u can put it in search index or store it in db ...
... for fast access ...
return json_data

class ProductCategory:
title ...
attr_entities = m2m(AttributeEntity)
... use it for cook different forms or displays for your products...

В общем с товарами разобрались. Теперь с корзиной. Непосредственно товар в корзине хранить нельзя. И в заказе нельзя. Потому что товар изменяется. Представь что человек добавил в корзину товар по одной цене, а потом она изменилась. Ладно, плохой пример. Представь что человек оформил заказ и оплатил и получил его, а потом цена на товар изменилась. Сумма корзины или заказа будет изменяться, данные короч будут хреновые. Поэтому храни все в доп модели:

class Cart
owner = fk(User)
...

class CartLine:
cart = fk(Cart)
product = fk(Product)
quantity = PositiveInteger
price = Decimal

Как то так.
#318 #913587
>>909710
Есть несколько способов реализации "динамических моделей" товаров. Я не буду углубляться в те, что идут в разрез с реляционной моделью данных(json, разные модели). Json для монги. Разные модели нарушают нормализацию БД.

По-моему, лучшим вариантом будет использование одной таблицы Product со связью FK ProductCategory и M2M к ProductAttribute.

Характеристики товара будут храниться следующим образом:
class AttributeEntity:
title ...

class AttributeValue:
title ...
value_int
value_float
value_str
...

@property
def value(self):
... some logic ...
return value

class ProductAttribute:
entity = fk(AttributeEntity)
value = fk(AttributeValue)

class Product:
category = fk('ProductCategory')
attributes = m2m(ProductAttribute)

def get_denormalized_attributes(self):
... converting m2m attributes in json ...
... u can put it in search index or store it in db ...
... for fast access ...
return json_data

class ProductCategory:
title ...
attr_entities = m2m(AttributeEntity)
... use it for cook different forms or displays for your products...

В общем с товарами разобрались. Теперь с корзиной. Непосредственно товар в корзине хранить нельзя. И в заказе нельзя. Потому что товар изменяется. Представь что человек добавил в корзину товар по одной цене, а потом она изменилась. Ладно, плохой пример. Представь что человек оформил заказ и оплатил и получил его, а потом цена на товар изменилась. Сумма корзины или заказа будет изменяться, данные короч будут хреновые. Поэтому храни все в доп модели:

class Cart
owner = fk(User)
...

class CartLine:
cart = fk(Cart)
product = fk(Product)
quantity = PositiveInteger
price = Decimal

Как то так.
#319 #913593
Посоны,

на питончелендж дошел до 8-го уровня. Без хинтов. Подскажите куда перекатываться, чтобы уже начать делать какие-то проекты, чтобы потихоньку зарабатывать. Вообще что лучше читать/смотреть когда базики уже пройдены.
913601913626
#320 #913601
>>913593
django
d
j
a
n
g
o
913675
#321 #913626
>>913593
так в резюме и напиши, что дошел до 8го.
мимо дропнул на 6
#322 #913629
Скачал "Укус питона",
Поставил PyCharm, все правильно начал?

Мимоаспирант - инженер в постсовковом НИИ
#323 #913630
>>913629
Так же начинал.
913635
#324 #913632
>>913629
мог сразу начать с нормальной книги, а не детской зальюпы
913635
#325 #913635
>>913632
Ну я в последний раз на BASIC в школе писал, простые циклы там, алгоритмы. Думаю, мне нужно начинать с детской залупы. Из основ у меня только математика, дискретка и логика немножк
>>913630
Найс
#326 #913675
>>913601

Т.е. единственный путь это джанго?
70 Кб, 480x479
#327 #913746
Как программно открыть проводник с выделенным файлом?
Например:
вводим путь
вводим имя
пролистываем все файлы в директории, записывая путь файлов с нужным именем в список
выводим путь к файлу из списка и открываем его в проводнике, что бы он был выделенным.
Не пинайте, я нюфаг.
913859
#329 #913866
Анон, будь добр, дай кратенький гайд по virtualenv
913875
113 Кб, 500x281
#330 #913875
>>913866
Вроде сам нашел, но после установки через pip внутри venv питон ругается, что такого модуля не существует, ЧЯДНТ?
913877913878
#331 #913877
>>913875
что за модуль
913880
#332 #913878
>>913875
крч там иногда надо библиотеки бинарные линковать
913880
196 Кб, 500x560
#333 #913880
>>913877
>>913878
from openpyxl.reader.excel import load_workbook

wb2 = load_workbook(filename = 'file.xlsx')
print (wb2.get_sheet_names)

$ python a.py
ModuleNotFoundError: No module named 'openpyxl'
913882
#334 #913882
>>913880
(venv) λ ~/.scripts/ pip install openpyxl
Requirement already satisfied: openpyxl in ./venv/lib/python3.6/site-packages
Requirement already satisfied: et-xmlfile in ./venv/lib/python3.6/site-packages (from openpyxl)
Requirement already satisfied: jdcal in ./venv/lib/python3.6/site-packages (from openpyxl)
913890
#335 #913884
http://rextester.com/LWBYUI58024
Анончи,есть система рандома.Но что нужно сделать,чтобы изменить значение на одну единицу?То есть с
0<x<50
на
0<x<49
или
0<x<51

А если нужно сделать сделать несколько раз?Как это сделать рационально?Не делая вот так
0<x<51
0<x<52
0<x<53
0<x<54
913905
51 Кб, 604x318
#336 #913890
>>913882
Нашел. Нужно запускать через python a.py, когда venv активирована. Но я делаю небольшой скрипт для автоматизации рутины, а загромаждать систему библиотеками вроде как не рекомендуется. Как поступать в таких случаях?
913946
#337 #913905
>>913884

>А если нужно сделать сделать несколько раз?Как это сделать рационально?Не делая вот так


>0<x<51


>0<x<52


>0<x<53


>0<x<54



https://docs.python.org/2/library/bisect.html#other-examples
#338 #913946
>>913890

>Как поступать в таких случаях?


В чем проблема-то? Активируешь venv и запускаешь свой скрипт - так это и делается.
#339 #913957
Почему в sublimetext так охуительно подобраны цвета, а в pycharm такая дрисня?
913974
#340 #913966
Привет всем. Такой вопрос: Какой уровень навыков нужен, чтобы вкатиться на фриланс на что-нибудь самое простое?
913974913990915506
#341 #913974
>>913957
в пайчарме можно менять цвета, есть куча цветовых схем в интернете
>>913966
пиши на пхп и жсе, на питоне очень мало фриланс работы.
914039
#342 #913976
>>909635 (OP)
Вечерочка пр/ в общем сколько нужно знаний чтобы собрать мультивендор на джанго ммм ? сильно ли разнится код в джанге и в самом питоне? через сколько с нуля можно написать свой инстаграм? 25 лет это нормально для вкатывания в питон? за плечами городская олимпиада по информатике в школе задачки хуячки на паскале офк физматовцы и в хвост и вгриву выебали
913978915506
#343 #913978
>>913976
вкатываться не поздно, но работу найти очень сложно. у питона низкий порог вхождения, а вакансий мало. Код на джанго - это и есть питон, джанго - это каркасс, предоставляющий готовые решения для создания сайтов. Но лучше начинать не с джанго, а фласка.
913983
#344 #913983
>>913978
Спасиб за ответ. да наверное не заработка ради а так как хобби лучше бы рыбалкой увлекся
кодим для себя/психуем/забиваем кактотак.
а как по инстаграмму? и мультику? :D
914026
#345 #913987
Решил заняться программированием. Выбрал Python, потому что сказали, что он лёгкий и применяется почти везде. Алгебру в школе знал на "3", в программирование полный провал. Нужно ли начинать с Питона или чего другого? Спасибо.
913999915506
#346 #913990
>>913966

>вкатиться на фриланс


>на что-нибудь самое простое


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

В русском фрилансе вообще ловить нечего, как я понимаю.
Так что лучше не теряй времени и устраивайся стажером/джуниором в офис - быстрее наберешься опыта. Параллельно можешь пытать счастье на апворке.
913992
#347 #913992
>>913990
Да вот хер его знает насяет джуниоров. Туда тоже не просто попасть, да и работа сейчас у меня есть (не программист), просто само программирование и язык заинтересовали, вот я и подумал можно ли хотя бы подработать где-нибудь
914007
#348 #913999
>>913987

>лёгкий


да

>применяется почти везде


ну много где можно применить, да.

>Алгебру в школе знал на "3"


да это похуй, в принципе. если только начинаешь, то математика тебе не сильно пригодится.
914006
#349 #914006
>>913999
Отлично, спасибо тебе.
#350 #914007
>>913992

>да и работа сейчас у меня есть


Ну тогда и не парься насчет подработки раньше времени. Если заинтересовало, то изучай в первую очередь для себя то, что нравится и делай какие-нибудь свои проекты. Конечно, параллельно смотри на фриланс биржах проекты которые тебе по силам - может и получится что-нибудь ухватить.
914012
#351 #914012
>>914007
Спасибо. Тогда попробую подыскать какие-нибудь идеи для реализации. Я так понял иначе опыта не получить.
#352 #914014
Анон, выручай. Пытаюсь разобраться с библиотекой openpyxl.
Нужно вывести область значений так, как она есть. В офиц. документации указано только print(ws['C3'].value), но мне же нужна область. Есть некая функция, а именно print_are = 'XY:ZA', но при вызове таковой ничего не происходит. В консоли пусто, а документ не меняется. Где я проебался?
Можно конечно попробовать print($V1 $V2) print($V3 $V4), но по мне этот способ ну оочень костыльный. Что делать то?
914017
#353 #914017
>>914014
Да что за хуйня, блять? час пытался это сделать через гугление и как только оставил пост, то сразу нашел решение. Это именно так ответы маил@рупрограмач и помогает?
914022
#354 #914022
>>914017
Ну написал бы, что нашёл. Может кому поможет.
914042
#355 #914026
>>913983
Написать можно все, сколько будешь учиться - зависит от твоих способностей.
#356 #914039
>>913974

> в пайчарме можно менять цвета, есть куча цветовых схем в интернете


Спс.))
#357 #914042
>>914022
from openpyxl import load_workbook

wb = load_workbook("filename.xlsx')
ws = wb.active
print('Расписание', ws['C3'].value)
ms = ws['L14' : 'M22']
for c1, c2 in ms:
print(c1.value, c2.value)
914043
#358 #914043
>>914042
Осталось придумать как искать определенное значение ячейки на листе. Есть идеи?
914088
#359 #914088
>>914043
Перебираешь значения ячеек и сравниваешь их с искомым значением или парсишь, если в ячейках может быть ещё что-то. В чем вопрос то?
210 Кб, 500x283
#360 #914190
Это уже стало превращаться в мой личный блог.
for k in range(1, 62):
for n in range(1, 16):
db = ws.cell(row=k, column=n)
if db.value == 'key':
print(k, n)

Додумался только до этого. На выходе получаю 2 числа. Как одно преобразовать в ячейку, аля C2 ?
914416
#361 #914288
Ребят, на пайтоне можно написать бота для браузерки.
Интересует две вещи,
1. Тыканье мышкой по экрану определенной вкладки браузерки.
2. Распознование образов, ну хотя бы красную полоску хп от пустой отличить. Типа, если пустая - тыкнуть например хил. Как-то так.
914290914297
#362 #914290
>>914288
А забыл добавить еще. Желательно чтобы эта хуйня не занимала мышкой. Т.е. клик как бы виртуально проходил и параллельно можно было сидеть в пайчарме-другой йобе.
914295914297
#363 #914295
>>914290
роспозновай autoit
#364 #914297
>>914288
Лучше расковыряй протокол игры и общайся с сервером игры напрямую. Эмулирование мышки — хуйня полная, ничего серьезного не сделаешь с этим, если ты не Google.

>>914290
Если коротко, то это сложно. Есть мокрописьки для добавления второго курсора мыши, но хуй знает, как этот курсор потом программно дергать. В Линуксе можно невозбранно второй сервер иксов поднять и отправить всё это в бэкграунд крутиться.

Но, в общем и целом, AutoIt, AutoHotkey, UoPilot.
914298
#365 #914298
>>914297
Спасибо, будем стараться.
#366 #914328
Скажите зачем учить Питон, если на него хер устроишься и ничего не заработаешь?
914335
#367 #914335
>>914328
Django? Асинхронные имиджборды?
А как тебе reddit, а? Он тоже на пайтоне склепан.
914368
#368 #914342
А с django modeltranslation кто-то работал?
На сайте два языка - ru и en
Как сделать так, что бы в админке оно не дублировало поля из модели, и типа не:
title
title_ru
title_en,
а
title
title_en и пиздец
914354914381
#369 #914354
>>914342
Я в Питоне ньюфаг, с этой батарейкой не работал, но делать отдельную колонку для языка — неправильно. Если встаёт вопрос мультиязычности, то заголовок (и тело публикации, если у тебя что-то такое) выносится в отдельную таблицу (publication_title), скажем, в которой будет внешний ключ для статьи, языка и уже, собственно, само значение (переведенный заголовок).
914376
#370 #914368
>>914335
Какая разница, что на нем написано, если работы нет?
914370
64 Кб, 1308x692
#371 #914370
>>914368

>работы нет?

914374914403
#372 #914374
>>914370
А теперь сравни с другими языками + сравни количество джун вакансий на питоне (которых нет) и количество джун вакансий на других языках
#373 #914376
>>914354
Вкусовщина. Иногда удобнее так, иногда так как ты говоришь.
914379
#374 #914379
>>914376
Ты нормализуешь данные тоже так, как тебе удобно?
914387
7 Кб, 491x146
#375 #914381
>>914342
Можно сделать как на пике. У тебя не так сейчас?
914387
11 Кб, 501x278
#376 #914387
>>914379
Ну в принципе да, проекты - мои личные, работаю над ними я один. "Best practices" которые мне на глаза попадались так же обычно не обсерали затею с доп.столбцами.
>>914381
Не, у меня оно выводит всё подряд.
914392
#378 #914397
>>914392
Если не сработает, то просмотри всю инструкцию по интеграции в админку, может быть где-то ты ошибся.
#379 #914403
>>914370
Но ведь Москва не Россия же
#380 #914416
>>914190

>Как одно преобразовать в ячейку, аля C2


import string
column_letter = string.ascii_uppercase[n] # или [k], хз
print("{}{}".format(column_letter,k))
914444
#381 #914444
>>914416
Решил более костыльным методом, т.к. обращение к ячейке не потерпит не прямой ввод таковой.

http://pastebin.com/BYz4vLui
Почему не работает прерывание цикла?
914492914610
#382 #914492
>>914444
Да съеби нахуй уже со своим говном.
#383 #914503
чому код на питухоне выглядит как говно?
914530
#384 #914530
>>914503
что пишешь то и выходит
914546
#385 #914546
>>914530
а я на нем не пишу. просто код визуально выглядит как говно, вот на паскале/делпхи тоже код как говно выглядит. зря наверное в питухоне отступы захардкодили.
914712
#386 #914569
аноний, поясни за такую ситуацию:
у меня есть модель, в методе save() происходит вызов функции проверяющей значения 2 полей, назовем ее check_some_fileds_values() которая орет с SomeFuckingException если все плохо.
в админке, в классе SomeModelAdmin, в методе clean() мне приходится вызывать check_some_fileds_values() что бы проверить данные перед save(). получается два вызова check_some_fileds_values()!
как в админке не писать лишнего в clean()? то есть как просто вызвать save() и если SomeFuckingException выдать ValidationError в админке?
914587914591
#387 #914587
>>914569
пытаюсь так http://pastebin.com/97J4XQwi но интерпретатор вылетает с ошибкой

>> AttributeError: 'NoneType' object has no attribute 'save'

914594
#388 #914591
>>914569
Так админка ведь использует ту же модель, значит при сохранении должен вызываться метод save() у модели.

Это еще посмотри https://docs.djangoproject.com/en/dev/ref/models/instances/#validating-objects
914594914607
#389 #914594
>>914587
>>914591
убрал commit=False,эксепшн ловится, но летит прямо в браузер, минуя админку http://pastebin.com/qjkJjyBv
914597
#390 #914597
>>914594
то есть raise forms.ValidationError(e) летит прямо в глаз минуя админку
914603914621
#391 #914603
>>914597
получается что save() у формы вне зоны ответственности формы. или я что то не так делаю?
#392 #914604
>>913629

>ирант - инженер в постсовковом НИИ


БЛЯ ЧИТАЙТЕ dive into python заебали
#393 #914607
>>914591
посмотрел, хз что из предложенного использовать( там методы clean всех мастей, но они не вызовут save у модели и я не поймаю нужное мне исключение.
#394 #914610
>>914444

>Почему не работает прерывание цикла?


тому що ты только один цикл прерываешь, а их 4 вложенных

вместо Break юзай return
97 Кб, 884x470
#395 #914621
#396 #914634
>>914392
Спасибо большое, сработало.
97 Кб, 599x900
#397 #914651
Котаны, подскажите по Джанге.
Нужно, чтобы при сохранению изображения создавались еще несколько изображений различных разрешений и потом можно было выводить ссылки на них. Чем это можно сделать?
Еще немного распишу. Загружается через админку подготовленное изображение 2560х1440, происходит магия и у меня в медиа, появляется папка с именем=article_id и в нем 5 изображений, разных разрешений с именами типа img_name_1024x780.jpg. И потом я в шаблоне вставляю в нужном месте тэг типа {{ img_1024x780 }} опять происходит магия и у меня выводится ссылка на изображение это изображение.
Анончик, я знаю, ты сталкивался с такой задачей. Подскажи, будь няшей.
914654914656914661
#398 #914654
914660
#399 #914656
>>914651
django easy thumbnail
годнота, аккурат под твой реквест

{% thumbnail service.pic 50x50 crop as serv_pic %}
<img class="img-responsive" src="../../../../media/{{ serv_pic }}">
914664
#400 #914660
>>914654
спасибо, кэп
Я имел ввиду что-то типо easy thumbnails или sorl
914670
#401 #914661
>>914651
django-imagekit - лучшее что я юзал
914667
#402 #914664
>>914656
easy thumbnails пробовал, для данной задачи не подходит
Если знакомы с MODX, то там есть ms2gallery/ Вот карочи нужен ее аналог под джангу
#403 #914667
>>914661
спс, ща глянем
#404 #914670
>>914660
Так сам напиши, там делов то, зачем тебе сторонние модули?
914676914677
#405 #914676
>>914670
Я пхп макака, второй проект на Джанге
#406 #914677
>>914670
зачем писать самому если есть готовые, хорошие приложения для этой задачи? зачем тратить время и силы?
914688
#407 #914688
>>914677
Какие силы, элементарщина же. Заодно и скил поднимет.
914696914850
#408 #914696
>>914688
разве что для скилла...
элементарщина? а если надо прикрутить разных обработчиков\фильтров изображения? а отложенную обработку через целери, например? а навесить на все это кеширование? и наконец тесты тоже надо написать. сколько это, по твоему, времени? а это, рано или поздно, понадобится.
914701914850
#409 #914701
>>914696

> а если надо прикрутить разных обработчиков\фильтров изображения?


Так в посте про это ничего нет.

>а отложенную обработку через целери, например?


И во многих модулях реализован готовый таск для целери?
>а навесить на все это кеширование?
Nginx для этого есть.

>и наконец тесты тоже надо написать.


Там тест от силы в 10-20 строчек кода

>а это, рано или поздно, понадобится.


А если в готовом модуле не будет нужного функционала, не кажется ли тебе, что в таком случае он больше времени убьет.
914705
#410 #914705
>>914701
все есть в django-imagekit
914850
#411 #914712
>>914546
Пиши на php однострочники кто тебя останавливает?
#412 #914786
Сколько времени нужно для осиливания трех книг Лутца? Вкатывался кто через него? Только пишите те кто с нуля.
Марк Лутц - Изучаем Python
Марк Лутц - Программирование на Python I. том
Марк Лутц - Программирование на Python II. том
914823914825
#413 #914814
нужно в декораторе получить поля модели, делаю так http://pastebin.com/966MZa7A

>> cls._meta.get_fields() # raises: django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.


как получить поля?
#414 #914823
>>914786
0, ибо книги - хуйня. Вопрос, кстати говоря, тоже хуйня, ибо каждый осиливает с разной скоростью
#415 #914825
>>914786
лучше вкатывайся в мой тред пилить интерактивные слайды чтоб хорошо запомнить материал - https://2ch.hk/pr/res/913577.html. (М) Это говно кароч чёто среднее между презентацией и интерактивной книжкой. Чёт ржу с того что в том треде вообще уже все кто не лень этот подход обоссали и обосрали, прям лол. На реддит как ни зайдёшь - у, заебись, юпитер для питона охуенен посоны, ему аналог только spider, но он глючное говно хуёвое, хоть и ide, вкатывайтесь с юпитером, потом перебирайтесь на саблайм и атом
914827
#416 #914827
>>914825
потом пишут где там аналог функционала юпитера, какие плаги ставить, всё поделу. А здесь - нет, ты хуесос, лол, сажи тебе пидор, учи как мы учили, потом крутой сапог в жопу сможешь от начальника получить, это охуенно, нам нравится, стремись к сапогу сука
118 Кб, 640x922
#417 #914850
>>914696
>>914705
>>914688
Принято решение прокачивать скилуху и писать самому на базе pillow. Imagekit подходит, но всеравно с костылями. После пхп кол-во библиотек и готовых решений для Джанги удручает. но писать понятный и лаконичный код реально приятно
914911
#418 #914858
Привет. Сорян за может быть неуместный вопрос. Реши почитать документацию на Пайтон и понял, что инглиш не дотягивает. У меня pre-intermediate, до какого уровня нужно поднять инглиш, и какую литературу лучше юзать (желательно, чтобы с упором в айти)?
915506
#419 #914866
Сап кодеробоги. Отговорите ньюфага начинать изучать погромировать с с++. И расскажите насколько легче начать вкатываться именно с питона. Лучи добра вам
#420 #914867
>>914866

>Отговорите ньюфага начинать изучать погромировать с с++


Зачем отговаривать, учи кресты.
#421 #914876
>>914866
вся годнота написана на крестах, кстате, и роботает из коробки
#422 #914877
>>914866
Чем легче? Питон не шибко сиподобный даже в плане синтаксиса, не говоря уже про интерпретирование vs компиляцию.
Хочешь учить плюсы - учи плюсы, это хорошая, годная затея только вот питон тут вообще ни при чём.
914889
#423 #914879
>>914866

>насколько легче начать вкатываться именно с питона


Очевидно же! Скобок нет
#424 #914889
>>914877
Просто в треде по крестам, в шапке, не рекомендуют вкатываться именно с них, если до этого не имел дело с программированием.
914913914923
#425 #914911
>>914850
верное решение! если сроки позволяют.
#426 #914913
>>914889
вкатывайся с питона если совсем нуб, питоном ничего не испортишь. главное не php или того хуже js..
#427 #914923
>>914889
C++ дисциплинирует и учит внимательности при работе с памятью/пунктуацией и т.д., в питоне многое проще.
Так что лучше начать именно с с++, понять суть многого именно оттуда, а потом перекатиться в питон(ты почувствуешь неимоверное облегчение ^_^).
914926914946914974
#428 #914926
>>914923
p.s. Хз какую литературу рекомендуют в треде про с++ но я начинали закончил с лафоре и msdn.com.
#429 #914946
>>914923
Ну хз, я думал что надо от простого к сложному. К тому же я полный нуб и могу от силы запрогать какой-нибудь простейший цикл.
915158
#430 #914974
>>914923

>почувствуешь неимоверное облегчение


Поэтому и надо всё делать наоборот. От простого к сложному, а не начинать с проектирования зданий а потом хуярить складывать слово аутизм из кубиков, чтобы почувствовать ОБЛЕГЧЕНИЕ
915158
#431 #914979
Привет, Питоны.
Мне нужно передать немного датаграмм на другой компьютер ВНЕ локальной сети, могу ли я это как-то реализовать в python? Посоветуйте каких-то библиотек и примеры кода. Облазил англоязыный гугл - не нашёл, все зачем-то сами себе передают, на русскоязычном лазил чуть меньше и так же не нашёл.
914995915050915089
#432 #914994
трям, поясните за html5lib, оно дерево dom само строит?
#433 #914995
>>914979

>ВНЕ локальной сети


можешь по эфиру, юзай etherPy7
915006
#434 #915006
>>914995

>etherPy7


Похоже, гугл о таком не знает.
#435 #915050
>>914979
Нужно больше инфы
Опиши подробней задачу.
915376
#436 #915057
Материалов по алгоритмам, патернам не подскажите?
915060915066
#437 #915060
>>915057
нет
sage #438 #915066
>>915057
гугл тебе на что, долбич?
915074
#439 #915074
>>915066
Порно искать
#440 #915089
>>914979
Сделай всё так же, как с локальным, только укажи другой адрес, указывающий на нужный компьютер, в чём проблема-то?
915376
#441 #915098
https://m.hh.ru/vacancy/19180793 джуновакансия дс2, вроде ничего .
915133
#442 #915133
>>915098

> 2.6-2.7


> pyqt4

915168
#443 #915158
>>914974
Ну каждому свое, антош. Но и в с++ не все так сложно, тем более в основах, просто потом легче будет понимать принципы основные и вкатывать в питон(и не только). Мне именно так советовали бывалые бородатые 40-летние погромисты. Мне отлично зашла такая методика.
Но выбор за тобой >>914946
Удачи.
#444 #915168
>>915133
Бетатестер подгорел.
915175
#445 #915175
>>915168
Стабильные пердуны не нарадуются.
#446 #915178
>>909635 (OP)
Поцаны вкатился в Python. И начала сразу же с харкдора. Начал интеграцию 1с с Pythonом с asteriskом и все это в qt. И понял, что я лох в основах. А именно в ООП. Где мне почитать прям ахуенно про ООП чтоб прям понимать ахуенно
915506
#447 #915179
Выручайте, братцы. Пытаюсь установить beautifulsoup, пробовал уже все, и pip3 и wheel скачал-установил. Все поставилось, но как бы я не запускал и python3 и просто python, на import BeautifulSoup пишет что нет такого модуля. Подскажите, в чем может быть проблема?
915181915183915193
#448 #915181
>>915179
import bs4
915187
#449 #915183
>>915179
from bs4 import BeautifulSoup
915187
#450 #915187
>>915181
>>915183
Ппц. Ну я и идиот. Спасибо.
sage #451 #915193
>>915179
лутц
915196
#452 #915196
>>915193
там вроде нет нихуя. основной у меня затык в ООП, когда я с QT работаю. Че когда через точку, хуй пойми. Когда я могу дрочить его как метод, или наследовать как класс. А могу ли я его наследовать, КАРОЧЕ БЛЕАДЬ НИХУЯ НЕ ПОНИМАю.
Потому что не читал нихуя нормально про ООП, а сразу же макакил
915212
#453 #915212
>>915196
https://learnxinyminutes.com/docs/python3/
Листай до пункта 6. В конце есть ссылки на другие ресурсы, можешь оттуда что-нибудь почитать.
#454 #915376
>>915089
Локальный адрес и внешний - разные вещи. С внешним не работает bind(). Чем заменять - не знаю.

>>915050
Хочу со своей программы-сервера передать сообщение на твою программу-клиент. Но пока смог только передать по локальной сети.
915542
#455 #915454
Сап, питонач.
Есть одно ТЗ, в котором после выполнения скрипта должно происходить следующее:

>отписать в slack при помощи webhook goo.gl/LWjuda что выполнен успешно


Wtf?
915520915523
#456 #915506
>>913987
>>913976
>>913966
>>913629
>>914858
>>914866
>>915178

Как же вы зебали, вкатывальщики ёбаные. Пиздуйте на завод
915521
#457 #915520
>>915454
Можно я туда хуев накидаю, чтобы ты в следующий раз не копипастил что попало?
915523
#458 #915521
>>915506
Посылай их в мой (мёртвый) тред https://2ch.hk/pr/res/913577.html#914349 (М)
916019
#459 #915523
>>915454
>>915520
Просто отправь туда сообщение постом.
915524
#460 #915524
>>915523
http://pastebin.com/z0tvnU2a
Вот так должно сработать.
915623
19 Кб, 1289x163
#461 #915542
>>915376

>С внешним не работает bind()


А ты bind'у чей адрес-то пытаешься всунуть? Если у тебя провод не в компьютер напрямую (так кто-то ещё делает?), то внешний принадлежит рутеру, который будет перенаправлять на твой локальный определённые порты.
сокет биндить надо на локальный адрес (не локалхост), но посылать данные на внешний. (Можно адрес пустым оставить, тогда на всё что можно забиндится по порту.)
915543915622
16 Кб, 1283x116
#462 #915543
>>915542
Ну и отправляющей стороне даже биндить не обязательно, в принципе, если ей принимать ничего не надо и тебя устроит использование случайного порта.
915622
#463 #915563
Аспада хорошие, выручайте. Есть какая-нибудь либа мониторинга под сперму, которая работает быстрее, чем psutil.cpu_percent(1,True)? А то выполнение по 2 секунды этого куска меня никак не устраивает.
915565
#464 #915565
>>915563
Дядь, вы дурак? Ты же сам ему передаёшь первым аргументом одну секунду, вот он столько и ждёт. Документацию-то хоть открывал?
915566
#465 #915566
>>915565
Точно. Сорри. И я ж в курсе был, что за параметр и помнил, как его ставил, только вот нахуя...? Но ставлю 0.1 и всё равно получаю 1.2 сек. А надо бы 20-30 раз в секунду...
915567
#466 #915567
>>915566
Это уже не в библиотеке проблема. У меня до тысячи раз в секунду получается (т.е. тысяча вызовов psutil.cpu_percent(1/1000) выполняются за секунду).

Попробуй

>wmic cpu get loadpercentage


Оно-то выполнится быстро?
915568
#467 #915568
>>915567
Неа. Та же хуйня, ещё и дольше.

start_time = time.time()
a = s.Cpu().load
print("--- %s seconds ---" % (time.time() - start_time))

class Cpu:
def __new__(cls, args, kw):
if not hasattr(cls, '_instance'):
orig = super(SystemInformation.Cpu, cls)
cls._instance = orig.__new__(cls,
args)
return cls._instance

def __init__(self):
self.name = SystemInformation._cpu().strip()
self.load = psutil.cpu_percent(0.1, True)
915569915571
#468 #915569
>>915568
Ну ты бы ещё импорт модулей в тайминг включил.

>start = time.time()


>[psutil.cpu_percent() for i in range(1000)]


>print("time: %.2f" % (time.time() - start)


Что принт выдаст?
915576
#469 #915571
>>915568
Хотя, если даже нативная виндовая тормозит, значит это уже в компьютере проблемы, тут я ничего не скажу.
#470 #915576
>>915569
Млять, ну поприличней, 0,1 уже. А как тогда быть? Инициализировать s.Cpu() вначале, а потом только дёргать .load? Тоже не вариант, оно ж должно обновляться. Методом его сделать? Ну так оно ж свойство, по логике Просто я тут пытаюсь сделать человеческую либу для System Information, для собственного пользования, со всеми вот этими video, ram, cpu, os, hdd и так далее... Поэтому и пытаюсь херачить классами, но уж слишком медленно оно работает.
915583915585
#471 #915583
>>915576
Если так не хочешь метод (хотя это должен быть метод, я считаю), сделай через проперти — https://repl.it/FPIQ
Создавать новый объект CPU для обновления лишь одного свойства, как у тебя задумано, это глупость какая-то, да ещё и 30 раз в секунду.

Подавляющая часть той секунды это не вызов cpu_percent, а создание объекта, вызов SystemInformation'а и что ещё угодно, раз просто так тысячу раз нормально можешь вызвать.

У меня вопрос ещё:

>Неа. Та же хуйня, ещё и дольше.


А ты где это выполнял-то тогда, уж не через os.system, надеюсь?
915587
#472 #915585
>>915576

>Ну так оно ж свойство, по логике


И нет, по логике оно не свойство, а, эм, состояние. Ты можешь оставить .load свойством и добавить метод update_load, например, но это явно не что-то, что должно лишь единожды устанавливаться при создании инстанса.
#473 #915587
>>915583
Тащемта объект не создаётся (ну не должен, как я понимаю), там же синглтон получается вроде... SystemInformation тоже синглтон, если что.

>А ты где это выполнял-то тогда, уж не через os.system, надеюсь?



Ой... os.popen использовал, это плохо?
915588
#474 #915588
>>915587

>Ой... os.popen использовал, это плохо?


Ну я как бы предполагал, что ты откроешь cmd.exe и напрямую в винде и выполнишь.

>Тащемта объект не создаётся (ну не должен, как я понимаю), там же синглтон получается вроде...


Первый раз-то он всё равно создаётся. Ты пробовал дважды вызывать s.Cpu().load и замерять второй вызов? Только он будет уже бессмысленным, ведь значение-то то же самое.
915589916024
#475 #915589
>>915588
Внезапно значение таки почему-то изменяется. Ну если я правильно вижу, то второй раз оно не создаёт новый объект, но init дёргает всё равно.
915591
#476 #915591
>>915589
Да, про это я забыл. Точнее даже, не проверял твой код (после поста уже добрался). Так-то этого не должно быть, какой смысл в синглтоне, которые при каждом запросе инстанса будет "сбрасываться" на изначальные значения / заново инициализирвоаться? http://python-3-patterns-idioms-test.readthedocs.io/en/latest/Singleton.html тут какие-то нормальные способы, по-моему.
915595
#477 #915595
>>915591
Спасибо тебе, добрый человек. Сейчас всё перепишу в нормальном виде.

Двачи образовательные.
#478 #915622
>>915542
>>915543
Спасибо. Похоже, мне нужно подучить сети.
#479 #915623
>>915524
Сука, как же я проиграл.
Спасибо аноны за пояснение.
Можете хуев накидать :3
#480 #915757
Подскажите, ребята.
Есть сайт на джанго, нужно добавить на сайт какую-нибудь поебень для проведения вебинаров. Т.е. сервис что бы ебло записывал, экран разшаривать можно было, вопросы еблу задавать, и что там ещё из стандартного функционала. Из подводных камней нужно что бы всё это было конфиденциально, те Hangout с записью прямо в YouTube не канает.

Куда рыть? С чего начать? Вообще не в теме всего вебинарного ПО
915762915795
#481 #915762
>>915757
а на ютубе же вроде можно делать видео приватным?
915763
#482 #915763
>>915762
Ну типа да, но это заморачиваться надо.
Да и как я понял ограничение в 25 клиентов подключённых даже на платном аккаунте.
А мне надо по-возможности что-то совсем простое, может даже платный сервис что бы я через iframe его на какой-то url закинул и ебись оно всё конём.
915783
#483 #915783
>>915763
25 это наверное онлайн? я не в курсе как у других, но 25 онлайн - вполне здравое ограничение. наверное у других и того меньше.
а так хз google://webinar embed in website
#484 #915795
>>915757
Openmeeting Bigbluebutton
166 Кб, 640x985
#485 #915985
Питоняши, помогите разобраться с импортами в питоне (особенно в джанге)
Предисловие: есть models.py на дженге, в нем есть модель изображения и функция-загрузчик изображений по их исходнику, которая использует httplib2/requests.
У меня два стула:
- прописываю эти импорты в начале файла и не ломаю голову. Но функция используется раз в год, зачем каждый раз импортировать библиотеки?
- прописываю импорт в функцию. но может быть я выберу пару сотен объектов и запущу ту же функцию у каждого? При входе в функцию модули будут импортироваться заново? Пробовал с timeit потестить импорты в циклах - завис
Или еще вопрос: когда загружаются модули из models? При старте сервера/при обновлении файла/еще варианты?
Ну и последний: как можно проверить, импортирован ли модуль и иппортировать его, если он еще не был загружен.
Хотя у функций/цикла локальный namespace, при выходе переменные/модуль же должен удаляться?
916016
#486 #915993
Вкатился в питон, покурил немного BeautifulSoup, написал парсеров никому ненужных (чисто что бы закрепить то, что я понял). Можете что-то посоветовать по изучению отправки запросов и их парсинга? Русскоязычное желательно.
915995915996
17 Кб, 514x406
#487 #915995
>>915993

> Русскоязычное желательно

915998
#488 #915996
>>915993
Requests, scrapy, selenium
915998
#489 #915998
>>915995
Мне так легче на лету запоминать. Можно и англоязыяный мануал.
>>915996
Спасибо.
916001
#490 #916001
>>915998
Вот тебе еще на русском http://docs.grablib.org/ru/latest/
916003
#491 #916003
>>916001
Спасибо. Кстати, я тут читаю о Selenium, интересная вещь, надо будет затестить.
#492 #916004
Срочно нужна помощь пайтониста.

Мы сидим тут : https://2ch.pm/b/res/144922772.html (М)

Пытаемся программой Лазанья узнать пароль от другой учетки вин7. Скачали питон и все остальное, но что-то не робит лазанья как надо - возможно, проблема в кодировке или еще что-то. У нас там питон-кун, но он не эксперт. Придите помогите, пожалуйста.
916006916025916148
#493 #916006
>>916004
Python 2.7 стандартные кодировкопроблемы, гугли по ошибке.
916013
#494 #916013
>>916006
гуглю но понять ничего не могу. Я не кодер.
#495 #916016
>>915985
Пишешь какой-нибудь getimg.py в нём всё как положено с импортами-хуимпортами, а потом импортируешь в модельки после проверки "а надо ли оно"
#496 #916019
>>915521
Посылаю нахуй
#497 #916024
>>915588
попен)))))))))))00
#498 #916025
>>916004
помогите аноны, плез! :( Мы в отчаянии.
916027
60 Кб, 274x329
#499 #916027
916049
#500 #916049
>>916027
Ну епт. Анон. Ну помоги. Ты же шаришь.
916058
#501 #916058
>>916049

> Хакаем компьютер бляди-тред 2


Да ты охуел, делать мне больше нечего. Лучше ютуб посмотрю.
PEREKOT Perekoter !JLHGEtxGTk #502 #916062
ПЕРЕКОТ в тред >>916061 (OP)
#503 #916148
>>916004
Сегодня чуть позже гляну.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 2 февраля 2017 года.

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

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