Это копия, сохраненная 10 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Код вбрасывать в тред через https://ideone.com/
Прошлый: >>738709 (OP)
Создать универсальные метод и вызывать в цикле? Но как...
https://ideone.com/3fdl4F
Так не работает:
https://ideone.com/5r6etx
>Питон можно скомпилять в экзешник, который будет работать без самого интерпретатора питона, ну и не декомпилировать чтоб.
В прошлом треде ответили, что можно. Чем/как?
>Питон можно транслировать в с++/с#, чтобы работало и было более-менее читаемо? В идеале, в исходном питоне используя функции и классы того, во что собираешься транслировать?
В прошлом треде ответили, что можно. Чем/как?
>Можно ли (и если да, то как) написать скрипт автоматизации или макрос, группу таких скриптов-макросов (хоткеи, бинды кнопок и сочетаний, действия с системой), запускающиеся по событию мыши, клавиатуры, системному событию (изменилась раскладка, отключился интернет, етц)?
В прошлом ответили, что нельзя, но на днях в /b говорили, что можно, да и из прикрепленного послали к вам или крестовикам (подцепить винапи и писать на нормальном языке типа).
> buttons.append(ttk.Button(WinFrame, text=str(i+1), command=lambda: button_press(i+1)))
> buttons.grid(row=i//3+1, column=i%3, sticky=NSEW)
>В прошлом треде ответили, что можно. Чем/как?
http://nuitka.net/pages/overview.html
Но зачем это? Какая разница, скомпилировано оно будет или просто упаковано вместе с интерпретатором? Кроссплатформенности же всё равно не будет, нужно под каждую платформу отдельно компилировать.
в руководстве по дельфи для такого же калькулятора была одна функция на все баттоны, которая выясняла по ID в каком баттоне было нажатие и делала все необходимые действия
Я мимохуй из ноды, и мне нужно было запилить простенький REST сервис, который бы работал с уже написанным кодом на питоне. Проблема в том, что я так и не понял как тут принято делать асинхронные штуки. Как сделать так, чтобы сервер отдал данные на обработку какому-то модулю, а сам пошел обрабатывать другие запросы? Или как в PHP держать несколько процессов одного и того же python скрипта?
Хорошее решение - celery. На коленке - просто запускать обработку в отдельном процессе, гугли python multiprocessing.
>Или как в PHP держать несколько процессов одного и того же python скрипта
это автоматически делается
Что конкренто тебе кажется смешным? Что ты скобки не можешь правильно проставить?
>>745696
>PHP держать несколько процессов одного и того же python скрипта
Погодите, помогите разобраться. Уже второй тред вижу различные версии работы веб-приложений. Поправьте, где я не прав. Я себе представляю это так:
1. Веб-сервер, допустим nginx, принимает запрос. Видит, что это не статические файлы, и отправляет запрос wsgi-серверу, допустим gunicorn.
2. wsgi-сервер форкает свой процесс и вызывает скрипт веб-фреймворка.
3. Веб-фреймворк генерирует ответ и возвращает его wsgi-серверу.
4. wsgi пересылает это дело nginx, тот -пользователю. Форк wsgi процесса убивается.
В прошлом треде писали о неком процессе django, который так и не был найдет. Сейчас вот версия про автоматические создаваемые несколько процессов python-скрипта.
Так как же дело обстоит?
Закрытость кода, невозможность декомпиляции...
Бамп
Но я расставил скобки и оно не работает должным образом образом. Уже вбрасывал скрин.
Ясно, мог бы пояснить в чем проблема раз уж постишь сломанный код, а не включать даун-мод.
from functools import partial
...
buttons.append(ttk.Button(WinFrame, text=str(i + 1), command=partial(button_press, i + 1)))
В каком месте ты увидел толстоту? Ты не можешь объяснить, какие есть трансляторы для питона? Или ты не можешь объяснить, как сделать обработчик всяких кликов и подобной хуйни для винды (или, например, событий xdotool для *nix)?
>мог бы пояснить
Я скидывал скрин с твоим передыдущим способом
>from functools import partial
Хорошая штука.
Грид всё равно не хочет ставить "0" хотя другие кнопки рисуются и работают теперь как надо.
Спасибо.
Ребят, а с django-haystack кто-нибудь работал?
Насколько хуевая идея?
Насколько все плохо будет с индексацией страниц?
Насколько хуевая идея?
Насколько все плохо будет с индексацией страниц?
Подход вообще к фронту как SPA - зашквар?
Да я в курсе почему.
В django by example была глава о нем, но я ее пропустил пока
Я работал. Нахуя такие вопросы задавать? Спрашивай сразу, что тебя интересует.
https://ideone.com/x1nqlx
Работает с одним из символов, например 't,e,s,e,t' распознаёт как палиндром, но 't!e, s,eT' не распознаёт. В чем ошибка?
Анон, ну, блядь, пожалуйста. Особенно, третий пункт направь, в какую сторону гуглить человеку, слишком тупому для сайта мсдн (пока что). Пайкьют там или отдельно какой класс, реализующий такие циклические проверки без подвешивания системы, или еще что-то в этом духе?
Ну и второй пункт чисто из интереса, раз говорите, что можно.
Строки в питоне неизменяемы.
ты все правильно написал какой-нахер процесс джанго
торнадо
Затем что я был на работе и у меня не было времени сформулировать вопрос.
Дано: django 1.8; django-haystack 2.4.1 и elasticsearch 2.3.1 поставленный из дебпакета с оф сайта.
Вот такой индекс http://pastebin.com/R39gcA6b и шаблон text-а http://pastebin.com/Q3H0QxBj
Проблема: допустим у меня есть посты с content "spa", "SPA", "spam", "spamming" и "spaghetti". При попытке поиска (PostIndex.objects.filter(content=u"spa") или PostIndex.objects.autocomplete) возвращает посты содержащие только "spa" или "SPA", при content=u"spam" соответственно спам. Я хочу чтобы при content=u"spa" он возвращал все посты с этим вхождением и тд. Очевидно что я недопонимаю как работать с апи хайстека, но сам не могу разобраться как это сделать.
Хочу просить Вас опровергнуть, либо подтвердить сие заявление, и в случае ежели это правда - порекомендовать мне литературы, способной пояснить работу веб-сервера и было бы и вовсе идеально если бы ещё это как-то соотносилось с Django
В противном случае, прошу нарекомендовать мне просто литературы по джанго с кучей кода, помимо общеизвестных официального туториала, 2 scoops of django и django by example
Это я понимаю, может я его самого неправильно понял?
На всякий случай приведу сего господина:
>>739358
В таком случае что мне учить, что бы понять как и почему оно так работает? С питоном просто было - почитал много раз пояснения по книгам, посмотрел примеры, написал примеры, решил задания все что попадались по теме и образовалось понимание что к чему.
Что мне делать что бы повторить этот трюк и с django?
Не читай книги. Не надо. Прочитай какой-нибудь туториал, сделай несколько простых приложений, читай документацию. Если что-то конкретное будет не понятно - гугли или задавай вопросы. А вот когда ты овладеешь какой-никакой практикой, тогда можно начинать читать книги.
Для меня загадка даже почему в шаблонах {% %} отличается от {{ }} даже, понимать-то я понимаю что скажем if или url .... в {% %}, но в чем разница между {% url "eeegggg" %} и каким-нибудь {{ django.core..... }}
К сожалению, я не понимаю его диалекта. Трудно сказать, что он имел в виду.
Ничего тебе не надо учить. Ты не в школе и не стишок у доски рассказывать будешь. Тебе нужны навыки. Делай веб-приложения, любые. Не знаешь как сделать - читай документацию, гугли.
Так что может все же немного книг не помешают?
Конкретику гуглить-то я умею, в плане реальных заданий. Просто это не дает мне понимания.
Только так и делаем.
Тогда переставай гуглить и читай документацию.
Пока зделал так http://ideone.com/ztkwr1
Но явно можно и проще как-то. Хочется чтобы и велосипедов было меньше и чтобы как у namedtuple обращаться через точку, "Foo" дважды не писать.
А, ну и это должны быть именно инстансы разных типов, ибо если они все буду одного типа, то не будет работать isinstance и нахуй они тогда нужны.
Что надо выучить в английском, чтобы писать не только посты на форчан, а еще стихи, бестселлеры и научные работы по математике?
>>746323
Вот пример сесси в manage.py shell при текущем конфиге. http://pastebin.com/f5nxqpxy
Соответственно content это EdgeNgramField, а text это CharField.
Собственно EdgeNgramField я потому и попробовал что с CharField у меня не получилось. Тогда такой вопрос - это может быть из-за несовместимости версий эластика и хайстека? Судя по всему https://github.com/django-haystack/django-haystack/pull/1336
сейчас хайстек не поддерживает 2ю ветку эластика
1) Декораторы: как работают, как сделать без сахарка;
2) Как работает with, как определить в классе;
3) Генераты: как и для чего, отличие от итераторов;
4) Итераторы: как можно пройтись, как стопануть без брейка.
5) Магические методы: какие есть, для чего;
6) GIL: плюсы и минусы;
7) Асинхронность: как и для чего, отличие от многопоточности;
8) И вопрос ответ на который я не знаю, может, анон скажет: сделать, чтобы при вызове функции каждый раз печаталось некое сообщение;
Добавляйте ваши.
> сделать, чтобы при вызове функции каждый раз печаталось некое сообщение;
Декоратором можно.
9) Кем вы видите себя через пять лет?
10) Почему ты должны выбрать именно вас?
11) Почему у вас нет вышки?
12) Работали ли вы с <унылый фреймворк/CMS для клепания одинаковых сайтиков нейм>?
Декоратор можно.
А вообще всех существующих методов? Есть базовый класс всего?
Такое может сработать?
object.__call__ = new_call()
def new_call():
print 'nigger'
Базовые типы появляются в программе ещё до твоих оперденей, так что это не будет иметь никакого эффекта. Как минимум. Остальное (твой код) уже можно зделать декораторами.
По-моему, в вопросе-таки подразумевается отсутствие каких-либо действий по отношению каждой отдельной функции. Да, у тебя декоратор один на класс, но внутри этого декоратора ты к каждому методу применяешь её один декоратор. Формально, просто сократил код, суть та же осталась.
>>746577
Но как? Наследуются-то они от function, к которому во-первых не подкопаться, а во-вторых, по аналогии с object/int/str, там нельзя будет ничего изменить.
Мсье знает толк!
По Джанго задавали следующие вопросы:
1) function/class-based views отличие, плюсы/минусы;
2) Как и в каком порядке работает middleware;
3) Какие отношения можно определить в полях моделей;
Должен быть какой-то аналог алгоритмов и структур данных для англ яызка
>1) Декораторы: как работают, как сделать без сахарка;
>2) Как работает with, как определить в классе;
>3) Генераты: как и для чего, отличие от итераторов;
>4) Итераторы: как можно пройтись, как стопануть без брейка.
>5) Магические методы: какие есть, для чего;
>6) GIL: плюсы и минусы;
>7) Асинхронность: как и для чего, отличие от многопоточности;
>8) И вопрос ответ на который я не знаю, может, анон скажет: сделать, чтобы при вызове функции каждый раз печаталось некое сообщение;
бесполезная никчемная хуйня
Представляются обычно до вопросов
Расскажи об этом собеседующим.
Ну такое, оно не работает на встроенные функции, плюс вызывается при объявлении класса, а также на магических методах работает только если они были переназначены вручную.
Ну и при объявлении функций, если есть декораторы, тоже вызовется.
http://ideone.com/lr5PZ2
Хотя на eval реагирует.
Cкажи, зачем использовать декор wraps из модуля functools если и без него работает?
>Декораторы оборачивают функции, что может затруднить отладку.
Проблема частично решена в Python 2.5, добавлением в стандартную библиотеку модуля functools включающего в себя functools.wraps, который копирует всю информацию об оборачиваемой функции (её имя, из какого она райомодуля, её docstrings и т.п.) в функцию-обёртку.
Забавным фактом является то, что functools.wraps — сам по себе декоратор.
читабельный трейсбэк
Из гугла понял, что единственный (или нет?) способ это сделать - с помощью cx_freeze.
Проблема: расширение .whl. Во всех инструкциях, как его устанавливать, пишут какие-то наборы команд, наподобие
pip install wheel
Но не говорят, куда собственно эти команды вбивать. Так вот, вопрос, куда?
Если собственно в прогу pip, то она открывается на полсекунды (так и должно быть, или это кривая установка?).
Короче, какой есть человеческий способ перевести файл python именно 3.5 версии в exe?
Здрасте, я тут мимонуфаг. Дано: код на python 3.5. Требуется перевести .py в .exe.
Из гугла понял, что единственный (или нет?) способ это сделать - с помощью cx_freeze.
Проблема: расширение .whl. Во всех инструкциях, как его устанавливать, пишут какие-то наборы команд, наподобие
pip install wheel
Но не говорят, куда собственно эти команды вбивать. Так вот, вопрос, куда?
Если собственно в прогу pip, то она открывается на полсекунды (так и должно быть, или это кривая установка?).
Короче, какой есть человеческий способ перевести файл python именно 3.5 версии в exe?
cx_freeze же
Вводил тупо то, что нашел в гугле
Используй pyinstaller
Бамп вопросу.
Пробую сделать учебное расписание.
В models это.
http://pastebin.com/ZXfNJLJ6
У меня вопрос, как мне сделать в админке, чтобы при добавлении записи в Timetable, была одна запись "Дата" и возможность добавление нескольких групп из оставшихся записей в таблице.
Попробовал сделать новую таблицу Date и к ней привязать таблицу Timetable, убрав оттуда поле даты, но django ругается: day = models.ForeignKey(Date,
NameError: name 'Date' is not defined
То, что сейчас в models:
http://pastebin.com/TAcktRCD
Объяви модель Date над моделью Timetable и не будет ошибки.
И переименуй Timetable в Class или Lesson.
Спасибо!
И еще вопрос один.
http://ru.stackoverflow.com/questions/325916/Как-правильно-составить-зависимости-моделей-в-django
До сих пор нет такой возможности?
Ебашишь примеры без задней мысли. Читаешь, как они работают. Читаешь дальше. Попробуй Укус Питона лучше.
Мне кажется, лучше быстро пробежать по книге, чтобы примерно понимать что да как, затем пойти на checkio или codewar какой-нибудь и решать задачки, или начать маленький прожект, гугля необходимое. То есть изучать по ходу дела. А уж потом читать книгу, вникая в тонкости, которые ты бы все равно не понял по первой.
Когда создавали гвидон никто не предполагал, что понадобится параллелизм в скриптоязычках. Сейчас уже сказывается исторический фактор и отсутствие жирного вендора, так что каких-то подвижек можно не ждать. Светлов годно расписал: http://asvetlov.blogspot.ru/2011/07/gil.html
Мне кажется, что это нужно.
При добавлении нового пункта в расписание, например, выбираю предмет и мне должно показывать только тех преподавателей, кто занесен в список преподающих этот предмет, это ведь логично, но мне отображает список всех преподавателей.
Что это за хуйни и зачем они нужны?
http://ipython.org/
inb4: за щеку пояснил, проверяй
ipython - это питоновская консолька на стероидах: автодополнение, всякие подсказочки и всё это пашет по трём кнопочкам.
jupyther notebook - это типа гугл документов только с возможностью встраивать скрипт и выдачу прямо в а4 листочек что бы красиво и канонично было, и правилось легко. На деле это такой ipython вмурованный в веб-текст-редактор.
upd: войс по желанию но для дела не нужен.
Бамп вопросу.
Спасибо.
При том что можно обойтись без, но придется больше попердолиться.
Этого я не знаю точно. Но несложное, джунлвл. Причем есть ограничение по времени. Я-то сам не дно но подстраховаться охота.
Niet. Максимум буду задавать вопросы.
Если я указываю os.path.join('media', 'log.txt'), то с какой директории будет идти поиск 'media'? С root, если мы говорим о прыщах?
использовал для этого html.escape, вот что получилось(на пиках с Internet Explorer) .Занимаюсь по учебнику Лутца (программирование на python I том 4 издание)
Если я её поставлю, то мне придется переустанавливать
все модули из пипки?
https://ideone.com/gfYMZ5
https://ideone.com/2HEXdB
марк лутц например
1) file - зарезервированное слово
2) заведи урл для отдачи чисто картинки, без шаблона, и там все сделай
у тебя шаблон неправильный кароч
>>747867
Поясните, как начинать читать новую книгу, если уже понял базовые штуки, но не хочешь пропустить интересности?
В укусе питона не настолько детально описаны базовые вещи, работа со словарями, списками и прочим. В Лутце это всё рассматривается намного глубже. Есть ли смысл перечитывать с нуля и скипать то, что и так понятно или сразу переходить к ООП?
есть, однозначно
Спасибо.
>Питон можно транслировать в с++/с#, чтобы работало и было более-менее читаемо? В идеале, в исходном питоне используя функции и классы того, во что собираешься транслировать?
В прошлом треде ответили, что можно. Чем/как?
>Можно ли (и если да, то как) написать скрипт автоматизации или макрос, группу таких скриптов-макросов (хоткеи, бинды кнопок и сочетаний, действия с системой), запускающиеся по событию мыши, клавиатуры, системному событию (изменилась раскладка, отключился интернет, етц)?
В прошлом ответили, что нельзя, но на днях в /b говорили, что можно, да и из прикрепленного послали к вам или крестовикам (подцепить винапи и писать на нормальном языке типа).
Я слишком тупой для сайта МС, даже на сях воспроизвести это говно не смог.
https://github.com/ujjwalkarn/DataSciencePython
> Питон можно транслировать в с++/с#
Транслировать можно лишь вызовы к динамической либе пифона. Гугли cython для своих целей. Там вызов именно си/си++ из «пифона» (на самом деле это отдельный язык).
> скрипт автоматизации или макрос
Я тебе уже в том треде ответил. Есть autoit, есть autoitx в виде dll. Воспользоваться из пифона очень просто.
Больше не пиши сюда
>Транслировать можно лишь вызовы к динамической либе пифона. Гугли cython для своих целей. Там вызов именно си/си++ из «пифона» (на самом деле это отдельный язык).
Подожди, а мне сказали, что питон в любой язык можно как бы "конвертировать". Это пиздеж???
Про вызов одних либ из других знаю.
>>748076
>Есть autoit, есть autoitx в виде dll
Ну это не то все, блядь. Автоит сдох, к слову.
Я хочу понять, как вообще писать событийно-ориентированную хуйню. Неужели это так сложно, что нет никакого нормального гайда? В яве, жс и прочих это искаропки все, я хочу то же самое делать в сях или питоне. Но получилось только простенький клиент-сервер сделать на пхп, да и то он очень нерационально использует ресурсы и требует непрерывного висения этого скрипта в ожидании, что для пхп не норма. Вот, хотелось к вам или к крестовикам перекатиться. Но лучше к вам, т.к. я еще по вебу угораю.
А конкретнее ?
лол, сам только что заметил, <P> пропустил в .html файле и {} не поставил в файле .py в строке с методом format()
По уровням:
Джуниор
Миддл
Сеньор
Гуру
Расскажи свой опыт.
служба|папка/файл|местохранения;служба2|папка/файл2|местохранение2
Не очень понятно в каком месте он должен быть трехмерным. А вообще, три split() должно быть достаточно.
Из какого вида, откуда информация берётся?
Почему трёхмерный-то? В поле "служба" могут повторяться значения (т.е. у службы может быть 2 и более файлов)? Может быть, словарь будет удобнее? Ведь названий служб-то в массиве не будет, либо это будет костыль тупой в виде ['service1',['file1','location1']].
как бы да,но нет. всё это параметры. служба будет передаваться через os.system(net stop mysql)
словари может лучше
Как можно распределить списки по вкладкам, чтобы "Офис", "Программирование" и т.д., а имена программ из внутренних списков отображались, например, на `Gtk.Label`?
Говнокод -- http://pastebin.com/QeHRd5CT
Списки -- http://pastebin.com/Nb8EyVvC
Анончики тут говорили, как отсортировать списки, показывая принадлежность каждого списка программ к категории:
for ndx, j in enumerate(root):
apps = []
for i in j:
if isinstance(i, list) and len(i):
apps.append(i[0])
print(ndx,apps)
json?
Листая информацию о питоне, наткнулся на такую фразу:
>вместо скобок { } или блоков begin end используются отступы в виде 4 пробелов; это позволяет отлично структурировать код
Это действительно так? Не путаются из-за этого люди?
4 пробела пухлые как слон, не заметить их невозможно.
Это при том что официальная регенерация свести к минимуму вложенность кожа.
Если с иде работать которая чёрточки ставит вертикальные на всех if, while, ... - вообще никогда проблем не видел
>Это при том что официальная регенерация свести к минимуму вложенность кожа.
Да тут всё предложение стоит починить.
length = (length, 200)[length>200]
Как оно работает, а главное зачем так делать?
Человек не в курсе, что можно написать min(length, 200), чего тут непонятного.
Ну это не тайное знание, например. Я сначала не понял как это работает, решил, что это какой-то хитрый ход, тонкости которого не я улавливаю.
"не" не увидел.
Хотя, быть может он о производительнсоти беспокоится - вариант с туплом-таки в 2—2.5 раза быстрее.
Если бы беспокоился - самые злые части писал бы на плюсах
> питон в любой язык можно как бы "конвертировать"
Не в любой и не полностью. Есть потуги, но это всё пердёж в лужу.
> Автоит сдох
> Updated: 18 September, 2015
> событийно-ориентированную хуйню
Это не к пифону вопрос, собственно, а к ОС. Есть ли у неё такие возможности, чтобы запускать твою хуйню в какой-то момент времени. Обычно делают процесс и он висит и ждёт «события». Либо периодически опрашивает «флажки», либо для этого есть вызов в ОС, который заблокирует твою программульку, пока событие не произойдёт.
>как часто питонопрограммисты беспокоятся об производительности?
Так же часто, как пишут что-то сложнее скрипта для автоматизации запуска порнушки после ужина, например.
Не прям уж каждую миллисекунду выжимать нужно, разумеется, но о глобальных вещах и использовании нампи думать стоит.
Например, частная реализация скалярного произведения двух трёхмерных векторов на чистом питоне без каких-либо проверок раз в 5-10 быстрее, чем обобщённая нампиевская (которая как бы на си), что может очень пригодиться, если ты вдруг достаточно сумасшедший, чтобы рейтрейсинг кучи объектов на питоне делать. А векторное так вообще 20+.
Мне по работе нужно было сделать небольшое гуи приложение, которое открывает файлы с логами и даёт возможность потом с данными работать. Казалось бы, прошёлся в лупе регэкспом по каждой строке, нахуярил флагов (начало-конец) и готово. Ну запускается секунду-две (логи большие), подумаешь, всё равно ж асинхронно. На деле оказалось, что этот непримитивный регэксп к каждой строке это говнокод какой-то, и является самым проблемным местом, а сделав даже примитивную проверку на наличие ">" в строке перед применением регэкспа сократило запуск до собственно, каких-то там незаметных сотен миллисекунд.
В общем, если если риалтайм, есть пользователь или можно сократить приличный кусок абсолютного времени, то о производительности хотя бы забывать не стоит.
1) slots когда у тебя много инстансов тощих объектов (или вообще namedtuple)
2) set для хранения значений для фильтрации
if value in filter_list:
____error()
filter_list желательно иметь set
3) ''.join(map(str,some_list)) вместо
superstring = ''
for item in some_list:
____superstring+=str(item)
хотя вроде в cpython как-то пытались второй подход оптимизировать в силу его распространенности
Как в админке django сделать выбор из нескольких элементов для типа TimeField?
Пробовал так же как и для CharField, но в админке ругается, мол формат времени не подходит: models.TimeField(choices=times)
В times кортеж из ('HH:MM'). Настройки формата времени пробовал менять, один и тот же результат
Да это вряд ли от производительности, там нужно десятки миллиардов раз эту операцию делать, чтобы хоть секундочку выиграть.
Скорее, просто по привычке от других случаев притащил, вроде
>var rights = ('full', 'no')[sex == "male" && skin == "white"]
Ой, местами перепутал. Гм, неудобно вышло.
У меня рак случился.
Писал-писал шкрипт и внезапно в половине мест "приватные" поля идут с __ вместо _. И еще методы где-то накосячены.
Памяти нет, все заебало, ненавижу это убожество вместо языка.
Нет, как ты тут словарь вставишь? Это, считай, просто замена тернарному оператору.
Он и есть.
http://pastebin.com/BpEZfwdu
Пробовал строку юникодной делать, пробовал добавлять ":SS", не помогло.
Нагулил по вопросу только тикет https://code.djangoproject.com/ticket/15536
Держи нас в курсе событий.
кто умничка? ты умничка!
>Обычно делают процесс и он висит и ждёт «события». Либо периодически опрашивает «флажки», либо для этого есть вызов в ОС, который заблокирует твою программульку, пока событие не произойдёт.
И как (если возможно) делаются на шинде эти три варианта?
Два варианта. Как на шинде смотри в доках шинды. Я использовал autoit, соответственно вариант с вызовом блокирующего api.
Не называй идиотом
>Два варианта.
1)
>Обычно делают процесс и он висит и ждёт «события»
2)
>Либо периодически опрашивает «флажки»
3)
>либо для этого есть вызов в ОС, который заблокирует твою программульку, пока событие не произойдёт.
???
Алсо, "флажки" - это ведь вещи нечто вроде логических переменных окружения "клавишаНажата" и символьных вроде "активноеОкно", "кодНажатойКлавиши"?
Ты, получается, делал "третьим способом"?
С правами админа в консоль вводи.
1 - это идея. 2 и 3 как раз два варианта реализовать эту идею.
Обычно человек приходит в бухгалтерию и ждёт зарплату. Либо периодически заглядывает в кабинет, либо к нему выходит Машенька с конвертом.
>Алсо, "флажки" - это ведь
Да. Вот только нахуя тебе autoit посоветовали не понятно, оно ж никак к
>по событию мыши, клавиатуры, системному событию (изменилась раскладка, отключился интернет, етц)
не относится
Мне кажется, это нельзя. По крайней мере, в семёрке ведь даже раскладка у каждой программы своя, а не одна глобальная какой мудак это придумал вообще, и не очень ясно даже тут, что делать при альт-табе: формально же раскладка сменилась, но вряд ли тебя это интересует.
То есть, фоновым процессам вряд ли чего подобное отсылается.
Походи по msdn, может есть что-то хоть типа такого (таблица 7-1) https://developer.apple.com/library/mac/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/Timers.html и там уж ясно будет, бывают ли вообще подобные ивенты.
>autoit
Автохоткей.
Ну как-то это явно делают все это. Я примерные ивенты написал, в крайнем случае, я могу сделать, например, реакцию на нажатие кнопок, а там уже проверку, какая сейчас раскладка.
comprehension expression
generator expression
?
Вот тут >>748645 примерно всё объяснили. Autoit даёт какие-то возможности. Ты ведь задачу конкретно не описывал. Глобальные хоткеи вроде можно повесить.
>>748898
Тут - это где? Глобальная задача - хочу научиться писать скрипты автоматизации, в том числе вот реакцию на всякие события клавиатуры и мыши и прочие такие. Питон как наиболее симпатичный язык.
>>748899
Нет, мне советовали в /s автохоткей, а в прикрепленном в /pr вместо него отправили к вам.
Короче, поставь хотя бы одну-две конкретных задачи, а то с твоими абстракными запросами хуй поймёшь, чё тебе там в действительности надо.
Что думаете, реально на змеюке приложухи под андроид писать? Или изврат?
В доках к модулю datetime нет ни слова об этом.
Джангомакак за еду.
Одним питоном-то вряд ли. У меня где-то 60/40 в пользу питона. Второй язык си.
То, что нельзя на пифоне. Для микроконтроллеров и одноплатных компьютеров некоторых.
Как привести к нему time?
django не хочет принимать в поле TimeField/DateTimeField значение из timedelta объекта.
>>74930
Напиздел я тебе про timedelta, она только с datetime работает. Можешь приводить к datetime, прибавлять timedelta и потом брать оттуда время, но проще так:
>>> import datetime
>>> t1 = datetime.time(1, 15)
>>> t2 = datetime.time(3, 5)
>>> t3 = datetime.time(t1.hour + t2.hour, t1.minute + t2.minute)
>>> t3
datetime.time(4, 20)
нужно зделоть API, пользователь загружает изображение, а пототм оно в бэкграунде обрабатывается
на торнадо кинь релевантный туториал, если такой есть?
пазязя
используй халяльный Arrow, datetime - джахилия и дикое невежество
импортирую относительно пакета в python 3.4.0 и выдает такую ошибку :
SystemError: Parent module '' not loaded, cannot perform relative import
что делать правильно ?
лол блять, неужели ты с этим не втсречался ?
читал я это там пиздец никто не знает, одни догадки
Там подробно написано почему так происходит и предложено несколько вариантов решения. Если ты не умеешь читать - это твои проблемы.
>сервачки, сетевая хуйня, смс-шлюзы, биллинги
>туповат
Ну тогда у меня вообще надежды нет. Буду писать хелловорды для развлечение и ладно.
ок, стоп, погоди
я правильно понял если модуль запускается как сценарий, то в нем не должно быть относительного импорта ?
селери уже есть
я думал, есть норм туториал, который поясняет феласафию))) торнады
ну ок спасибо
оп спс
Сильно зависит от случая на собеседованиях. Бывает, что задают вопросы, а ты их наизусть знаешь, потому что каждый день этим занимаешься или просто отложилось хорошо, бывает и наоборот, соответственно, вот тогда-то я заваливаюсь, потому что глубоких знаний нет, говнокод только по докам и гуглу могу писать.
Звали как-то в жирное место, когда казалось бы я завалил интервью, задали пару общих вопросов по архитектуре и бд. А вот в другом сразу нахуй послали, когда не смог рассказать что-то про интепретатор питона, асинхронность и говногил.
Помогач, ты нужен как никогда
Вася решил выложить бордюр из кипричей для дорожки на своем участке. Расположенный по соседству кирпичный завод выпускает кирпичи длиной A1, A2, …, Am. Промоутеры завода раздают потенциальным клиентам по 2 кирпича бесплатно. Вася взял по 2 кирпича каждого типа и теперь хочет узнать, может ли он выложить из них бордюр длиной N и толщиной в один кирпич.
Формат ввода
Сначала вводится число N (1 ≤ N ≤ 109), затем — число M (1 ≤ M ≤ 15) и далее M попарно различных чисел A1, A2, …, AM (1 ≤ Ai ≤ 109).
Формат вывода
Выведите сначала K — количество кипричей, которое нужно использовать для выкладывания бордюра, если можно выложить бордюр длиной ровно N. Далее выведите K чисел, задающих длины использованных кирпичей. Если решений несколько, выведите вариант, в котором Вася использует наименьшее количество кирпичей. Если таких вариантов несколько, выведите любой из них.
Если для выкладывания бордюра придется обязательно разломить какой-то кирпич, то выведите одно число 0. Если же у Васи не хватит кипричей, чтобы выложить бордюр, выведите одно число –1 (минус один).
invert a binary tree.txt
Не, на мидла-таки.
Чувак, ты понимаешь, что если бы у меня было $20, я бы не просил помощи на двощах
>>749514
я подобосрался, это не совсем она
но динамическое погромирование, по-моему, тут вкатит
blocks = list(map(int, input().split(" ")))
...
____for x in blocks:
________if N-x in blocks:
квадратичная сложность на ровном месте, юзай
if (N-x) in set(blocks):
В таблице есть поле ManyToMany, как обращаться к сгенерированной таблице, чтобы получить id записей из нее, которые связаны с основной?
короче у товарища есть куча легаси на перле, через соснолечку все запускается
я к этому пытаюсь приделать HTTP API.
blocks = list(map(int, input().split(" "))) <= обрати внимание, это список, а не множество/словарь
...
____for x in blocks: <= N итераций
________if N-x in blocks: <= N итераций, в списке in ищется полным перебором
итого N*N получаем квадрат
всякие научные вычислялки падвенду
Веб-хуета, шлёт гет/пост с устройства на другой сервер, там происходит неведомая ёбаная хуйня и отвечает тем же жсоном, юзер посылается нахуй или авторизовывается.
pyenv + venv + бинарные сборки, но вообще говно. Как я понял изначально преимущество анаконды было в том, что там были бинарные пакеты для разных ОС. Но сейчас это появилось в pypi, wheel поддерживает бинарные сборки, чем воспользовался ривербанк и выложил pyqt5.6 и теперь его можно под любой (популярной) ОС поставить через pip не имея ни qt, ни компилятора. Для меня причиной почему я не стал даже пробовать использовать анаконду является то, что в официальном репо нет pyqt5. Это просто днище уровень.
>Короче, поставь хотя бы одну-две конкретных задачи, а то с твоими абстракными запросами хуй поймёшь, чё тебе там в действительности надо.
Поставлю и никто как всегда нихуя не ответит. Так хоть какие-то советы общего плана получаю. Ладно, допустим:
1) По нажатию alt+a+e печатать символ æ, а по shift+alt+a+e - символ Æ. Разумеется, по отдельности а и е должны по-прежнему нормально работать.
2) При перетаскивании активного окна в левый верхний угол экрана (за его верхнюю рамку) развернуть его в этом верхнем левом углу (на 1/6 или 1/4 экрана, например, не суть).
Я хочу писать это на питоне или подобном, потому что это именно скрипты автоматизации, а не какие-то невъебенные проги, для которых там быстродействие нужно или еще что-то такое. Ну и не на джаве, ее просто нахуй с этой джава-машиной и прочим.
Сказали что сразу внедрять мой сервис не будут, но если он проявит себя с хорошей стороны нужно будет постепенно увеличивтаь количество серверов. Как деплоить джангу без проблем? Использовать докер?
Масштабирование и деплой джанги ничем не отличаются от всего остального. Или у вас там админов нет и ты сам все будешь делать?
на удивление полезные вопросы, не уровня "Кем вы себя видете через пять лет". Про паттерны не хватает вопросов.
У меня спрашивали про особенности параллелизма/много поточности в пайтоне, про типизацию, TDD и необходимость написания тестов. Спрашивали про скорость работы интерпретируемого кода, ускорение работы и целесообразность ускорения, спросили, как динамическая природа языка упрощает использование Design Patterns
У нас в веб отделе всё на всяких докерах рабоатет и админов почти нету, но у них там пхп
А, забыл, еще про линуксы спрашивали, работу с AWS, Django/Flask/Celery/Redis/PostgreSQL стек, системами management configuration (ansible, salt, etc), потрындели на английском.
Middle Software Engineer, 2-я по размеру контора страны
>Спрашивали про скорость работы интерпретируемого кода, ускорение работы и целесообразность ускорения
И что ты на это ответил?
Если работает недостаточно быстро - нужно ускорить. Если затраты на ускорение меньше дополнительной прибыли от ускорение, то можно ускорить. Если делать нечего — тоже можно ускорить. Что тут ещё-то можно сказать вообще, лол.
Много способов.
Юзать __slots__ в классах, чтобы уменьшить потребление памяти
По возможности распараллеливать код (IO-bound вещи в ThreadExecutor/asyncio, CPU-bound - в multiptocessing, ProcessPoolExecutor),
Для сложной математики юзать numpy, scipy, где не хватает их - добавлять JIT-компилицию через PyPy/NUMBA Jit.
Обычная компиляция через Cython дает x2 производительности на обычном коде, в среднем.
Ну, само собой нужно смотреть на алгоритмы, если у тебя поиск чего-то занимает N^4, то исправляй это место
Обязательно юзать профилировщик, чтобы понять, какой кусок кода выполняется больше всего раз и оптимизировать его.
Ну, и понять, нужно ли тебе вообще его оптимизировать, заметна ли в твоем кейсе разница между секундой и половиной секунды. Можешь читануть книжку High Perfomance Python, там хардкорно поясняется за оптимизацию производительности
рассказал про то, что ускорять не всегда надо (premature optimization is the root of all evil) и про все, что знал, как можно ускорять код на питоне, тут где-то ответ есть. Ну, естественно рассказал про всякие менеджерские трейд-оффы
1. Лучше уже упомянутый AutoHotKey используй, потому что на чистом питоне всё равно не сделать, только через биндинги к подобным библиотекам.
2. Таки не зря autoit советовали. Каждые n миллисекунд получай активное окно, проверяй координаты и, если попадают в нужное место (я не знаю, откуда там отсчёт начинается), изменяй размер окна.
Мне, однако, кажется, что питон далеко не самый лучший выбор для подобных задач, которым требуется привязка к window manager'у и клавишам будучи фоновым процессом, и лучше что-то конкретно виндовое найти/делать.
А почему при "коннекте" всем кнопкам даётся последняя команда из списка - "thunar"?
Пробовал тестить через tkinter: http://ru.stackoverflow.com/questions/526143/python-tkinter-Как-назначить-команду-на-кнопку-в-цикле-считывая-данные-из-json
Может, кто знает, в чём проблема?
Почему перечисленные выше области работы считаются фигней ?
Попробуй lambda apps=apps: ...
ок понятно
клиент иногда дает бонусы по 100-200 баксов, тип за хорошую работку
Всё работает, но если переводить в gtk: http://pastebin.com/bu3ci8Dq , то он возвращает int, вместо Gtk.Widget.
Если в цикле вывожу кнопки без "коннекта", то он выводит id кнопок. Как только конекчу, то всё переходит в трёхзначные числа.
Нехуй писать однострочную лапшу раз сам не понимаешь как она работает, нахуя ты в container.add() передаешь результат button.clicked() он возвращает int вместо button Gtk.Widget?
Олсо, gtk-шный обработчик передает в функцию ещё сам виджет.
https://ideone.com/DSi7kC
Больше тебе спасибо. :3 Буду исправляться.
У меня сложный урл с пробелами, да и удобнее в виде словаря передавать, а не писать велосипеды для парсинга урла. Неужели нет встроенной функции передачи параметров?
> Селениум+фантомжс нормальная связка?
Да, но я использовал селениум+фаерфокс для отладки, т.е. когда браузер открывается и все видно.
Вот я освоил Укус, Лутца почитал. Подучил библиотеку, пишу всякую хуйню for fun, типа небольшой борды. А как вкатиться в разработку и поиметь с этого профиты? Учить джангу и фласк? Что есть кроме веба? Какие фичи языка нужно изучить ещё?
Как отфильтровать значения 2 модели по day?
Пробовал
Model2.objects.filter(day=datetime.date.today().strftime("%Y-%m-%d"))
Бросает invalid literal for int() with base 10: '2016-05-22'
Зацените тессеракт.
> Алгоритмы
Подробнее? Сортировки/поиск, как в олимпиадках? Где можно конкретный список глянуть, который понадобится?
умничка, продолжай в том же духе!
https://github.com/AceLewis/my_first_calculator.py/blob/master/my_first_calculator.py
Я бы тебя отняшил :3
умничка, продолжай в том же духе!
Сходи на собес куда-то, там увидишь, что спрашивают, что нужно подучить, и не бойся говорить "не знаю".
Так то да, ты прав. Но в Н-ске моём питонщики не нужны. А в мск на собеседования не наездишься. Думал уже с багажом заний искать работку.
Нахуя ездить? По скайпу пройди.
>на чистом питоне всё равно не сделать
Я понимаю, няша, мне это сразу прояснили >только через биндинги к подобным библиотекам.
Я и хочу! Через Qt, голый WinAPI или биндинг к нему
>Каждые n миллисекунд
Ну хуй знает, очень перегрузит систему же
>Мне, однако, кажется, что питон далеко не самый лучший выбор для подобных задач
;-( Я хотел взять питон как самый универсальный, чтобы стать через лет 5 на все руки мастером, и бэкап данных запилить, и сайт с джангой, и десктопную хуйнюшку с PyQt, и скрипты автоматизации, и под прыщеоси... Типа как язык для всего , но не джава
Вот этот вот одностроный for с командами через запятую - не делай, потому что, во-первых, работает оно совсем не потому, почему ты можешь подумать тупл создаётся, а во-вторых, это нечитаемо нихуя.
>>750618
Qt тут не при чём. autoit и autohotkey твои единственные варианты, походу. Через winapi, вроде, можно получать нажатие кнопок.
Вот, например, вариант костыля:
получаем нажатую кнопку, которую питон проглатывает и дальше не даёт распространяться - http://stackoverflow.com/questions/37305012/how-to-read-keypresses-in-the-background-in-python
А дальше уже из питона заново отправляешь это нажатие в нужное окно через тот же autohotkey или pywin32 какой-то - http://stackoverflow.com/questions/136734/key-presses-in-python
>Ну хуй знает, очень перегрузит систему же
Да нет. Раз в полсекунды выполнить ничтожную операцию это не так уж и затратно мало.
>и скрипты автоматизации
То, что нужно тебе - это не совсем автоматизация, я бы сказал.
Короче, тут всё упирается в то, создаёт ли винда какие-то либо события на подобные действия, которые может любая программа перехватить или нет. Начни поиск с этого. Потому что если система не сообщает о, например, смене сетевого устройства, но любое решение будет костыльным.
чет дохуя толсто, не в обиду тебе
Ещё один прозрел.
недавно на какой-то конфе люди на фласк наоборот жаловались
http://www.slideshare.net/AlexeyPopravka1/presentation-57962394
Блин ну это ж инструмент а не сакральная панацея какая-нибудь.
Ну сдохнет и ладно, нам было хорошо вместе, теперь выучу что по-интереснее. Не сдохнет - ещё лучше.
Чего бы она прямо сейчас взяла да загнулась - я хуй знаю, работает охуительно, вопросы решает. Кайф же.
Только хотел запостить, господин Светлов выступавшый на той же конфе разработчик aiohttp тоже недоволен - http://asvetlov.blogspot.ru/2014/10/flask_20.html , как по мне шило на мыло.
че за хуета
почему эт жанга умереть должна?
Ну, самый "для всего" из тех, что я знаю.
Лаба1 - джава
Апплеты, сервлеты (то бишь десктопное говно, веб бэк, веб фронт) - джава
Десктопное тормозящее говно, в том числе событийное - джава
Энтерпрайз - джава
Мобильники - джава.
Но мне она не нравится своей перегруженностью кода, зависимостью от наличия джавамашины и т. д.
>>750640
>и дальше не даёт распространяться
Это в смысле хук кнопки, или что ты имеешь ввиду?
>>750640
>Раз в полсекунды
Скорее 100 раз в секунду
>Короче, тут всё упирается в то, создаёт ли винда какие-то либо события на подобные действия, которые может любая программа перехватить или нет. Начни поиск с этого. Потому что если система не сообщает о, например, смене сетевого устройства, но любое решение будет костыльным.
Так это вот мне в прикрепленном насоветовали:
>Ну епт. Идешь и читаешь в MSDN статьи про SetWindowsHookEx и LowLevelKeyboardProc, ну и про RegisterHotKey можно.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646296(v=vs.85).aspx
http://ideone.com/JPEa7X
Только это все слишком сложно пока для меня, особенно в голом виде да на крестах, я вещей вроде
static LRESULT CALLBACK LowLevelKeyboradProc(int code, WPARAM wParam, LPARAM lParam)
и
SetWindowsHookEx(WH_KEYBOARD_LL, &LowLevelKeyboradProc, GetModuleHandle(NULL), 0);
нихуя не понимаю
Манямысли школьника. Откуда вы лезете блять
Если посмотреть на то куда двигаются технологии то понятно что джанга не нужна.
1)Сейчас в тренде микросервисы, а джанга для них не очень подходит.
2)Так же ты не можешь заменить стандартную орм точнее нет смысла это делать, из за чего нельзя использовать всякие монго, графы и т.д.
3)При создании SPA ты теряешь практически все фишки джанги включая админку.
4)Зачем иметь отдельный сайт для браузеров и отдельно приложение для мобилок через рест?
Ну серьезно, какое сейчас применение у джанги? Только магазинчики клепать. Сегодня важен юзер-экспириенс, поэтому основная разработка происходит на фронте, а на бэкэнде обычно крутится примитивный рест-крад.
Алсо фласк тоже не идеален, особенно для новичков, которым я рекомендую сначала посмотреть как все делается в джанге. Возможно так же стоит посмотреть на новые фреймворки типа HUG и aiohttp нет
А сам то шаришь? Я могу запилить, только скиньте хотя бы в текстовом виде. Заодно на гитхаб зальём, чтобы у ньюфагов меньше вопросов было.
Кукарекай дальше, даун.
> 3)При создании SPA ты теряешь практически все фишки джанги включая админку.
Только темплейты.
> Ну серьезно, какое сейчас применение у джанги?
спасибо
>Это в смысле хук кнопки, или что ты имеешь ввиду?
Как я понял из его описания, если питон поймал нажатие нужной кнопки, то ни в какую другу программу это нажатие уже не попадёт. Может оно и не так, возьми да проверь, там кода 5 строк же.
>Скорее 100 раз в секунду
А зачем тебе так часто?
>Только это все слишком сложно пока для меня
Ну, учи тогда. Я, надеюсь, ты уже за эту неделю понял, что никто такого на питоне не делал и более никакой помощи тебе не даст?
Если так хочется питона, то его можно и через C API вызывать из c/c++ кода после того как перехватил событие.
Cоре, брат, так не пойдет.
http://ideone.com/6ot2Iw
А в чём твоя сложность?
Алсо, как нормально сгенерить список случайных элементов с повторениями? Каждый раз забываю. Что-то вроде itertools.combinations_with_replacement, но чтобы не нужно было сначала создавать хуиллиард туплов со всеми комбинациями, а затем выбирать случайный.
Да сложности вроде нет, я вообще не программист. Задача легкая, но это решение не подходит.
[ 0.03861629 -0.08524625 0.21310113 0.07684746 -0.15177739 -0.28585392
-0.11434451 0.3011105 0.06306993 -0.08853281 0.21798799 -0.11096174
-0.03136558 -0.1926455 -0.20188542 0.22558136 0.16253267 -0.15384039
-0.12600945 0.05844919 0.09120456 0.00881124 0.16352847 -0.11736301
0.05771141 -0.12852871 -0.07916549 0.07753161 0.05560199 0.13703541
0.00757082 0.09416878 -0.00494686 0.01587463 0.02042944 0.01173795
-0.06212846 -0.2166842 -0.22013642 0.39610018 0.07208658 0.00578472
0.12546169 0.03242728 -0.23138095 -0.12756624]
Там что-то типо такого.
Я сделал как ты написал:
5
6 for i, v in enumerate(f):
----> 7 ([first, second][v < 0]).append(i)
8
9 print f
AttributeError: 'dict' object has no attribute 'append'
Так от меня ты что теперь хочешь? Проходишь в лупе по своим элементам, если больше нуля — аппендишь к одному списку, если меньше — к другому. Угадать, что там и в каких переменных у тебя я, к сожалению, не в состоянии.
Если вдруг намёк не понял: весь код скидывай. У тебя first и/или second это словари. Что в них и зачем, а также почему это не только что созданные пустые списки, я понятия не имею, ты должен объяснять.
first={}
second={}
for i, v in enumerate(f):
if f(i)>0:
first.append(i)
if f(i)<0:
second.append(i)
print f
print first
print second
Я так попробовал, но нет, пишет:
TypeError: 'numpy.ndarray' object is not callable
Там v во втором, но я хз как к нему обращаться. по сути f это вектор должен быть.
Спс! Да, так получилось
https://ideone.com/YMMBQi
Потому что с табами обосрался.
Не, ну это понятно (с choice(range) это я перемудрил), я думал есть какой-нибудь random.sample([1,2,3], WITH_REPETITIONS_PLEASE_GVIDO).
Видел такую для пистона, может даже сохранил, дома посмотрю.
особенно за рубежом
А че на нем делать-то?
import turtle
wn = turtle.Screen()
t1 = turtle.Turtle()
t1.ht(); t1.pensize(5); t1.rt(90); t1.up(); t1.fd(200); t1.down()
t1.lt(112.5); t1.fd(100)
for i in range(7): t1.left(45); t1.forward(100)
t1.lt(90)
for n in range(3): t1.fd(100); t1.rt(45); t1.fd(100); t1.lt(135)
t1.fd(100); t1.rt(45); t1.fd(100); t1.lt(90); t1.up(); t1.fd(100); t1.down(), t1.lt(135)
for n in range(3): t1.fd(100); t1.lt(45); t1.fd(100); t1.rt(135)
t1.fd(100); t1.lt(45); t1.fd(100); t1.lt(180); t1.fd(100); t1.lt(45)
for n in range(8): t1.fd(100); t1.lt(135)
Я противопоставляю широкий спектр задач с одной единственной, таки разные.
хочу начать изучать язык программирования,какой лучше изучать ?
c++
Вы заебали. Выучите хоть одно что-то, что бы понять чтр им одним все щели не заткнуть, что нет идеального инструмента с одной стороны, но и принципиальной разницы между ними нету. Питон для бекенда и жс на фронтенд - это уже та комбинация, которую можно продать и которой можно пользоваться.
> двач я учу фотошоп что мне выучить - выделение по маске или такое, обычное. Что учить что не учить? Ответь с точки зрения логики
Английский
Потом плюсы или lisp по sicp. Можешь и на питоне sicp пройти попробовать, авось и потянешь.
Анон, какую хорошую программу написать, чтобы утвердиться в своих знаниях python?
На вопрос, что актуальнее js или питон, ты ответил "и то, и то". Потом начал рассказывать, что надо оба выучить. Какое это все имеет отношение к вопросу об актуальности языка?
Такое, что вопрос некорректен абсолютно. А каков вопрос, таков и ответ
Стоит.
Если использовать Model.objects.filter(fk=...), туда нужно вбивать id, а у меня есть только значение, по которому фильтровать нужно.
Возможно, я не так вопрос задал.
В Model1 поле
type=models.ForeignKey(Model2)
В Model2 поле
type=models.CharField()
Нужно вывести все элементы Model1, отфильтровав по определенному значению type в Model2.
Model1.objects.filter(type__type=%то что нужно отфильтровать%)
первый type - fk, второй - его поле, хуевые имена подобрал
>([positive, negative][v < 0])
камрад, поясни за эту конструкцию, как она представляет список, к которому применяется аппенд, и как выбирает, к какому из списков добавлять элемент, или дай ссылку на описание конструкции
Мы вам перезвоним.
True - единица, False - ноль. Результат выражения [v < 0] есть индекс элемента из списка [positive, negative]. Если False - элемент c индексом 0, то есть positive, если True - элемент с индексом 1, то есть negative.
Я не он.
>А зачем тебе так часто?
Ну клавиши отслеживать, например. Нажатия мыши в какой-нибудь игре еще быстрее, наверное, происходит.
>Я, надеюсь, ты уже за эту неделю понял, что никто такого на питоне не делал
Хуево.
>Если так хочется питона,
Ну просто он такой...няшный Я с PHP хочу укатиться, но чтобы веб не терять. Джава с шарпом меня бесят своей корпоративностью и перегруженностью кода, на плюсах веб не пишут, жс - хуй знает, синтаксис вырвиглазный и слишком он нестабилен, 5 фреймворков-однодневок в месяц новых. И работу хуй найдешь, если не фронтенд. А питон - выглядит няшно, пишется красиво, не кококорпоративен, работа более-менее при этом есть, джанга да фласк, фласк да джанга, ляпота
Так а в чем проблема? Пилишь django+restframework. Пилишь FE на angular 1.x.x/2. Профит.
Бамп.
Ну и нахуя?
Сука, какой же ты больной ублюдок. Таких раньше в дурках галоперидолом закармливали до состояния овоща и правильно делали. Неудивительно, что у тебя нет тян.
На самом деле ты молодец.
Есть куча гет/пост-запросов на удалённый сервер, наговнякал примерно такую обёртку, чтобы не писать простыню на каждый запрос: http://pastebin.com/KPq8S36T сойдёт? Как сделать лучше?
Вот так:
try:
...
except (Exception1, Exception2) as e:
____logger.exception(e)
logger.exception сам получает traceback, ну и эта лабуда привязана к papertrail который по фильтрам бросает исключения в slack.
Спасибо, понял.
Недавно начал изучать Python, прошел курс по основам, прошу совета у опытных:
Есть ли какие-нибудь сурсы со свободными реальными проектами (где, ясно дело, никто денег не заплатит), чтобы прокачать скилл и понять как это всё происходит в реальности.
Приветствую прочие советы, как апнуть скилл )
Иди работать в офис, чем быстрее, тем лучше.
http://python.su/forum/topic/24793/?page=3
Ощущение скорее как от пикрил, особенно когда натыкаешься на какой-то заброшенный форум, коих становиться всё больше и больше.
Это стандартная задача в бд. Любую книгу по любой бд почитай.
>Ну клавиши отслеживать,
Клавиши отслеживать это autohotkey и то, на что я ссылку на СО давал, там не нужно поллить, события нажатий сами приходят. ПРо каждые n сек я говорил проверять положение активного окна. Ты оче хуёво читаешь, если честно.
Кубов более высоких измерений рисовать не буду, потому что они уже не няшные фигурки, а подсолнухи какие-то.
Зачем ты это делаешь? Это какие-то задачки для школьников или что?
Ты хоть написал функцию draw_cube(n), где n — размерность пространства, или так вручную всё и строится?
UPD: мне придется переступить.
Питон стоит учить? Будут ли проблемы с поиском работы, она вообще есть, ну кроме каких-то топовых компаний, куда без 5 лет опыта работы не попасть?
Я только на фрилансе видел всякие парсеры\скраперы\кроулеры. Чуток джанги.
Стойкое ощущение ни на чем неоснованное(я поехавший наверно), что ньюфагу просто нечем будет заняться, кроме скраперов.
> re.findall(r'([0-9][0-9]%|[0-9]%)', '20% text text 4% text 65%')
Можно регуляку как-то сократить, чтобы без '|' ?
Лучей добра.
И с чего ты взял, что я не в теме? больше двух лет в питоне, начинал без опыта Ты, дебил, вместо того чтобы самому посмотреть рынок труда, спрашиваешь совет на дваче. Иди лучше пхп учи или js, там точно есть работа.
Два года назад дропнул вузик с ИТ специальностью, из скиллов - плохо помню С, немного C#.
В данный момент сисадмин в говнохостинге, захотелось обмазаться python'ом и кодить в уютном офисе.
Возникает вопрос - какова средняя по ДСу ЗП у мидла питониста?
Каков мастхев? SQL знаком, *nix знаком, pyton - 0.
Планирую ближайшие месяца обмазываться python'ом и django.
Что еще могут захотеть от меня?
Хочу сверху писать своё говно, запускать его в другом фрейме/окне/рамке и в ней же в интерактивном режиме ещё ковырять результаты этого говна. возможность потом добавить эти ковыряния в свой код были бы совсем кошерными.
>PyCharm
блять, да там неделю только с настройкой IDE, и месяц вникать в её суть нужно. оно того стоит?
sudo apt-get install python
Индустриальный стандарт для питона
Ты хотел сказать борщехлебства.
Няши, чё жмакать в этом вашем саблайме, чтобы консоль приняла мой инпут и дальше проиграла код? Ентер тупо абзац делает
Ага, нашел-таки на stack overflow. А дальше чё делать?
>>To use it go to Tools>sublimerepl>python from the menus.
Как видно из пика, нихуя такого нет, какие-то вложенные списки
Странно, у меня там 100500 языков на выбор. Попробуй перезапустить саблайм.
При помощи filter и map.
Документацию по scrapy почитай.
Сейчас что-то уровня джанго-блога на коленке.
Как попасть в офис без опыта? У меня даже образование не профильное и опыт работы тоже. Алсо, мухосранск миллионник.
Да платина
Ну у меня вообще нет образования, начинал без опыта работы. Мухосранск <1кк.
Просто идешь на hh.ru и смотришь какие есть вакансии. Смотришь, что в требованиях везде пишут, если что-то не умеешь, слова не знаешь - гуглишь, учишь. Подсказка: тебе не обязательно знать всё, берут даже если ты знаешь только 50% от их "обязательных" требований. Пиши тем, кто ищет стажеров, людей без опыта или с небольшим опытом (1-3 года).
Сделай нормальное резюме, нормальный акк в вк (сейчас все смотрят твой вк).
Если не получится найти на так, то ищи активным образом. Узнай какие есть компании в городе, чем занимаются, попробуй найти контакты их эйчаров или менеджеров, сам пиши им на почту. Можно даже сотрудниками в вк попробовать писать.
Поиск работы это не хуи пинать. Удачи, короче.
Нет и не хочу вк. Github не вариант? А что в резюме без опыта писать? Ололо освоенные технологии?
>А что в резюме без опыта писать?
блять сделай ты один проектик да залей на хероку
базу мемасафф )))) например
>>752979
>>752981
Спасибо анон, но у меня вопрос о минимуме скилов. Или тут критерий возьмут/не возьмут, а там научишься?
Алсо, непрофильный опыт работы не указывать?
Тут скорее возьмут/не возьмут. Ну минимум ты должен норм знать язык, фреймворк, git (git-flow), linux, реляционные базы, html/css/js (хоть что-то, даже если ты чистым бэкендом будешь заниматься).
Опыт всегда только профильный указывается.
в ней есть функция traverse() которая в каком то порядке обходит все узлы этого дерева
Понятно что их можно печатать по мере обхода.
А можно ли их как то выдавать по одному в функцию которая вызвала traverse() ?
Чую какуюто еблю с yield, поясните только не защеку
Это ж интерактивный интерпретатор, он так работает. Как бы можно сделать file - new file, что-нибудь написать и нажать там run module. Но лучше просто поставь норм редактор, пиши в файлик и запускай в нем (или через консоль).
Ну yield вот так используется. Придумай, как в твоем случае это будет.
https://ideone.com/I0aDDc
это да, но детали не ясны.
ведь когда мы обращаемся к traverse() оно разве должно не один раз пройтись по циклу и отдать что есть(т.е. "1")? Почему оно успевает выдать 1.2.3 ?
Ну а что надо? Что сразу в голову пришло.
>orm
Django, Pony, SQLAlchemy, парочка еще есть.
>gui
PyQt, Tkinter, Kivy, wxWidgets, PyGTK
>web
Django, Flask, Bottle
>tests
Nosetests
>REST
Tastypie, Django Rest Framework
>
>оно разве должно не один раз пройтись по циклу и отдать что есть(т.е. "1")
нет, потому что yield это не return.
https://habrahabr.ru/post/132554/
да. у тебя, блять, не будет колбасы из списков после каждой функции в памяти лежать. я понимаю, что хабр - чисто пидорский источник, ходить туда западло, вот потому, антоха тебе всё правильно затрёт про чёкавосучара.
да, на хабр ни ногой. Там Дмитрий Маликов
Петян, спасибо, охуенчиком, от души, прямо-таки. шустрее и бодрее этого пижарама.
расскажи ещё, где у спидера автодополнение, и почему оно не работает по ctrl+space?
>jQuery.each(jQuery('img[src$="jpg"]'), function(index, image) {
>if (jQuery(image).width() >= min_width && jQuery(image).height >= min_height) {
>....image_url = jQuery(image).attr('src');
>....jQuery('#bookmarklet .images').append('<a href="#"><img src="' + image_url +'"/></a>');
>}});
php такой смешной язык.
Без xargs просто количество файлов выводит.
я тут накодал, но боюсь, что через две недели я уже не раскурю, что же там.
https://ideone.com/tJS5TN
Почему проходит вот такая хуйня?
https://ideone.com/0TCHJr
если добавить в начало leaf_over вот это:
if not isinstance(book, Book):
raise TypeError
то нахуя мне было объявлять в сигнатуре (book: Book) ?
Смотря какого рода хочешь писать игру. Мое знакомство с питоном началось с написания микророгалика в 1к строк. Ничего лишнего, только Python с модулем random, консоль и ASCII. Бросил его, не осилив ИИ.
Если же хочешь писать 2d игры с двиглом гугли в сторону Box2d. Для 3д тоже есть куча движков с python оберткой. А вот если хочешь создать СВОЙ движек, на питоне далеко не уедешь (тормозная змеюка).
Django by example + djbook.ru вся вообще сопроводительная документация
Джанго сложное, но того стоит.
Люди, не обмазывающие фронтенд долгоживущим фреймворком, чтобы потом это нормально поддерживать, должны страдать
Я не хочу именно в игроделание лезть, просто мне кажется что написать игру на питоне-это и проверка того, можешь ли ты вообще кодить, и как ты знаешь язык
SproutCore/Ember уже хуй знает сколько лет, нет хочу лапшу на $ писать.
MVC не серебряная пуля, но оно оптимизирует многие вещи, когда ты с ними разберешься.
jquery-таки всё равно старше их всех.
Ну, попробуй сделать рогалик, используя известные тебе конструкции. Я его делал как-раз для их изучения.
Не, буду кароче читать Лутца (Изучаем питон,программируем на питоне), потом уже начну делать что-то. Не хочу по ходу задачи искать решения, не для первого языка это.
Навык приходит только с практикой, по другому знания выветрятся менее чем за месяц.
/shit {
proxy_pass http://192.168.10.10:3000;
}
mysite.com/shit из браузера даёт некоторое нужное дерьмо
curl http://192.168.10.10:3000/shit всё выдаёт тоже.
Как получить этот ресурс из самого приложения из контроллера?
Ничего не дают:
urlopen('http://192.168.10.10:3000/shit')
urlopen('http://mysite.com/shit')
Когда запускаю руками run.py на том же порту, что и слушает nginx, всё выдаётся, т.е. нжинкс на фронте всё равно вроде как работает, а на lighttpd-нихуя.
Даже так работает через run.py, а через сервер нет:
res = os.popen('curl http://192.168.10.10:3000/shit').read()
Алсо, какие права должны стоять на файл, чтобы писать в него логи? Вроде 0777 поставил и владельца менял на www-data, а www-data всё равно писать в него не хочет.
Хипстерское говно вроде react, polymer не нужно. А вполне устоявшиеся фреймворки навроде ember, backbone вполне живут больше 4 лет уже.
Я понял о чем ты, сам использую бекбон из схожих соображений, но пока подход к построению фронтенда не устаканится ни о каких долгоживущих фреймворках и речи быть не может, 4 года — это не возраст, ещё через 4ре года ни о каких емберах уже никто не вспомнит, а "устоявшимися" фреймворками будут react'ы и прочие polymer'ы.
Это то понятно, прочитал-написал прогу по пройденному материалу. Так то я всё понимаю, с первого раза прочитал-сразу сделал
Да ты что?! Типа у uart/eth/milstd1553 нет протокола обмена? Стартовые, стоповые, контрольные биты и тому подобное. Так-то они все по двум проводам передаются.
от души! это даже ёж поймёт, спасибо, петян!
Python и анализ данных - 2015
Попробуй уроки trydjango на ютубе, правда на англ, но они для актуальной версии, поц все четко поясняет.
Сорян, все врод работает. База данных появилась, нужно тестить, правда в терминале постоянно ошибка вылазит.
value = norm.encode('utf-8')
print value[0]
Получаю что-то вроде "D0", т.е первый байт первого символа, хотя вроде бы encode должно возвращать уже юникодную строку. ЧЯДНТ?
Несколько нубский вопрос, но всё же.
Нубский ответ (python 2.7)
norm=u'АБВ'
value = norm.encode('utf-8')
print value # строка выводится нормально
print len(value) # длина = длина строки * 2
char=str(value[0])+str(value[1])
print char # А
Камрады помогите с печатью юникодовских символов в ворде через docx.
Хочу, например, тире.
str1=u'АААА'
str2=u'ББББ'
string=str1 + defis +('%').encode('utf-8')+str2
document.add_paragraph(string)
В результате оно наезжает на предыдущий символ.
encode возвращает закодированную строку, т.е. байтовую
decode из байтовой строки делоет юникодовую
xpath-выражение
//div[@class="нужный класс"]/img
можешь добавить /@src в конец
xpath запросы исполнять при помощи lxml
возможно, xml minidom тоже пойдет из стандартной бибилиотеки
если смотреть через терминал то много таких файлов с именно таким расширением( "~.py" ), а если зайти в папку обычным способом то таких файлов с таким расширением( "~.py" ) нет.
Заранее спасибо за ответ.
второй день в никсах? тильда в конце имени файла это резервная копия. то же, что в досе .bak
скорее всего твой гедит или другой эдитор так шутит.
>Питон можно скомпилять в экзешник
py2exe, pyinstaller, cx_freeze (на самом деле их больше) качаешь@пробуешь. У меня вот работает только pyinstaller.
Это копия, сохраненная 10 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.