Это копия, сохраненная 5 июня 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вкатился месяц назад в контору.
Говорили - нужен фуллстак. Бэк питон, фронт - разъебаный ангалар, похожий на осьминога.
Сижу хуяру в основном таски с ангаларом.
Задавайте ваши ответы.
https://pastebin.com/0dcBbpjn
C глобальной переменно разобрался. Как мне оформить input чтобы он не блокировал другую корутюну? Там же есть какие то фишки, как блокирующие вызовы оборачивать.
В общем на стековерфлоу, советуют использовать async.add_reader()
http://stackoverflow.com/questions/29475007/python-asyncio-reader-callback-and-coroutine-communication
Но даже есть заменить asyncio.async на asyncio.ensure_future , у меня этот пример не работает.
Вопрос немного не в тему, но у меня пригорает еще с прошлого треда: Можешь показать пример реального ТЗ с работы?
Как сделать так, чтобы он не исчезал?
https://repl.it/H7Y4
Походу никак ибо в этом и есть смысл этого виджета и из сигналов у него только messageChanged
Да, сложно, джуны питонисты вечно воют, что работу не могут найти.
Если нет хорошей корочки, которой ты можешь помахать, попытайся в ПХП/ЖС-там точно быстрее устроишься, Ну и чисто субъективно, работы меньше стало на Питоне за последний год, кроме машоба, наверно. Так что я бы не рекомендовал, сириусли.
А что тогда лучше, если я отлично могу в математику и мне больше бекэнд интересен?
Мы рискуем устроить срач.
Можешь в машоб с Питоном попробовать как раз, если интересно.
Попробуй в какой-нибудь компилируемый Жава/Сисярп, только от го-параши держись подальше.
Вот исходный скрипт:
https://www.dropbox.com/s/lsjq9w0y2q3tuao/test_house.py?dl=0
Исходный файл со ссылками:
https://www.dropbox.com/s/op1q6ort48xkazk/parsed_houselist_links_5_level.txt?dl=0
Говорю сразу, можете убрать все следы тора - тогда будет работать тоже. Импорт пандас тоже. Логику с антикапчей тоже можно убрать.
Задача какая, у меня есть функция, которая возвращает значения и есть просто отдельные переменные - строки в конечном итоге. Все это нужно только в одном цикле.
Мне нужно это просто записать в цикле (одна итерация - данные берутся для одной ссылки - house_link из файла) в одну строку, в конце добавить '\n' чтобы следующая запись началась с новой строки. Формат по-моему самый простой. Бля. Я не понимаю в чем ошибка/ошибки, я пишу в пандас и пр. все эти разделители, писал просто открыть, писал с with, блять почему это так сложно адекватно организовать? Прошу помочь.
Нужно:
а). записать все данные построчно
б). делать переход на новую строку между каждой строкой
Поцоны, помогите изменить этот пример со стековерфлоу чтобы он заработал, ну будте же вы людьми.
Да.
>, блять почему это так сложно адекватно организовать?
в чем сложность? что у тебя получается вместо того, что надо?
или блять ты хочешь чтобы мы твой код у себя сами выполняли блять и тебе диффы прислали?
вообще, изучай scrapy
в целом, все плохо и надо переписывать
>>982015
>>982017
>>982018
у тебя антигейт поддерживает base64 или байты, а ты на диск пишешь и с него считываешь
не надо так
спасибо за ключ антигейта
>оказать пример реального ТЗ
Ну тз нет -- есть задачи в таск трекере(у нас jira, когда сидел сапортом в другой конторе там юзали редмайн ибо денег на жиру не было).
Тебе выдают определенную задачу и ты ей занимаешься.
Один раз получил задачу разработать приложение для манагера продавана, там было тз, но оно было максимально простое, в стиле -- сходи в нашу бд, дерни нужную хранимку обработай данные, пошли json на страничку, выведи такие то поля, такую то форму сделай, чтобы манагер мог фильтровать нужные ему данные.
>нибудь насчёт рубей слышно
руби в основном в штатах котируются, хз почему, в россии еще сложнее будет найти что-нибудь чем на том же питуне.
Во спасибо большое!
Я в курсе что процедурно и много каши. Задача пока не требует делать супер ооп и т.п.
Про Scrapy знаю, понравился, но я пока хочу разобраться скажем так с общими подходами + у меня настроен тор и мне как-то все равно уже на 403, например. Да не, не надо ничего менятьи пр, просто подсказки прошу типа как у 982017.
Да я уже начал всякое говно тестить), индуктивно и тупо, понимаю.
а этого недостаточно разве там - wb или в чем прикол? Можно подробнее пожалуйста? Там обыкновенная картинка, в стилях не было вроде base64, хотя на одном сайте который парсил было прямо в тегах написано :)
Тут тебе нужно четенько понимать, что когда ты вызываешь функцио, связанную с IO, а ОС не готова этот вызов обслужить, то поток исполнения будет заблокирован. Нельзя делать жестокие системные вызовы типа чтения из stdin и при этом делать в этом же потоке какую-то работу.
Таким образом, ты должен вызывать stdin.read только в те моменты, когда там есть что читать. Здесь начинается веселье. В линуксе скорее всего можно применить функцию select. В виндовс наверное есть что-то еще. Эти вещи зависят от платформы. Поскольку ты используешь функцию, которая выглядит как кроссплатформенная, тебе нужно пойти сейчас в документацию питона и почитать что к чему. Функция add_reader указана в разделе Watching File Descriptors. Подход "всё можно представить в виде файла" - это линуксовый подход, он необязательно будет работать в винде. Для того, чтобы удостовериться в этом, рекомендую посмотреть на исходники add_reader.
Ensure future или make sure hui вместо add reader вряд ли здесь релевантно - нужно понимать, каким образом функция работы с IO пытается не допустить блокировку потока. Если со всех сторон функция хороша, возможно есть проблемы уже с твоим кодом.
Спасибо за ответ.
Может копать в сторону loop.run_in_executor() ?
Если он позваляет блокирующий urllib.urlopen выполнять?
https://github.com/calebmadrigal/asyncio-examples/blob/master/run_in_executor.py
Ну, run_in_executor выглядит неплохо. Опять же, стандартные екзекьюторы из документации - thread pool executor и process pool executor - подразумевают создание новых потоков для выполнения кода. Новые потоки означают, что ОС будет переключать процессор между задачами (либо расположит свежий поток на другом ядре), и таким образом два потока будут работать незаметно друг для друга. (При условии, что потоки не будут лезть в дела друг друга и бороться за общие ресурсы.) Да, поток или процесс запросто может выполнять urllib.urlopen, как и любую другую функцию.
Занимаюсь по книге bite of python, изучил наследование классов, но где найти упражнения, чтобы закрепить знания?
на рельсах ничего кроме веба делать нельзя категорически, иначе потом жопа будет с поддержкой
на руби можно еще всякие автоматизации и DSL пилить, очень крутой синтаксис и вообще
вместо того, чтобы сохранять на строке 140 картинку в фаел и пихать ее в антигейт на строке 150,
можешь удалить созранение в фаел и на строке 150 вместо 'captcha.png' подсунуть REsponse.raw
смтори примеры здеся тута:
https://github.com/gotlium/antigate
# Per line binary example
>>> print AntiGate('API-KEY', fp.read())
И используй для определения своего внешнего IP httpbin.org/ip
А лол, конечно так лучше, спасибо!
На бекенде джанго, я к нему привык и оно меня устраивает, но настало время добавить интерактива и бутстраповских сниппетов уже недостаточно.
Что есть, что проще интегрировать, как это всё происходит (я так понимаю надо безудержно срать из джанго json'ом который будет подхватываться ещё чем-то)
И на что обратить внимание / что проще для вката человеку, который в JS вообще нихуй не понимает, даже просто js и просто jquery крайне туго. Если ещё и пару книжек порекомендуете - буду признателен.
P.S. О JS треде конечно знаю, но хочу мнение именно джанго-девелоперов
Только начал учить язык, поясните за создание функций.
не совсем понимаю про их аргументы
>джанго-девелоперов
Тут без реакт-девелоперов, ангуляр-девелоперов и жиквери-девелоперов никак не обойтись. Но сначала я узнал мнение бывалого ваниллажс-девелопера. Но будь осторожен, они очень хорошо маскируются под цсс-девелоперов.
Я с одной стороны понял, что ты хотел сказать, а с другой как-то не очень. Странное ощущение.
Да.
Нет.
и программа выполнялась, а на винде хз как.
Работает, спасибо
Отправка комментариев без перезагрузки
Дорисовка уведомлений если таковые появились с момента загрузки страницы
Дорисовка комментариев если таковые появились с момента загрузки
Дорисовка новых сообщений в чяте, звук дилинь-дилинь новое сообщение
Обновление счетика непрочитанных сообщений / уведомлений
Ещё было бы здорово что бы js ставил в адресное поле страницы ссылку ( # anchor ) на самый верхний параграф из тех, что сейчас на экране что бы народ мог кидаться ссылкой на конкретное место длинного документа не особо напрягаясь
В разделе документы отображать онлайн кто сейчас вместе с тобой оноайн дописывает документ, догружать его комментарии если таковые появились с момента загрузки страницы, сорт оф чят тоже с дилинь-дилинь
Возможность вызова простенького редактора к определенному <p> документа, что бы он загружал на редактирование не весь документ, а выстраивался вместо этого параграфа с его содержимым, а только его часть ибо знаю я этих криворуких
Возможность ctrl+z и загрузки из снапшота редактируемого объекта модели предыдущей редакции с заменой соответствующего содержимого
Может ещё чего, не знаю пока
Переменную PATH настрой, чтобы cmd знала где python искать.
Пишет что отсутствует }} или %}, хотя они на месте.
p.s. в документации по джиджа написано что это одно и то же:
{{ foo.bar }}
{{ foo['bar'] }}
Но первый вариант у меня работает, а второй нет - чому?
Совсем не кашерно писать "element.1.data"
Так ты Jinja 2 или шаблонизатор Джанго используешь ?
Уверен что нужный бекендв сеттингс.пу указал?
Большая часть того что ты перечислил помимо прочего является т.н "реалтаймом", который требует сокетов, либо поллинга, т.е касается не только фронтенда.
Ага, это я понимаю, но в Джанго сделать это относительно просто.
Вопрос стоит что делать во фронте, какой жс фреймворк выбрать и насколько это вообще реально перепилить из чиьх-то примеров, или надо спеца искать
Да, ты прав антош, проеблася с шаблонизатором, был джанговский настроен.
Но теперь проблемы с {% csrf_token %}, типа отсутствует.
{% csrf_token %} - это тег для шаблонизатора Django, вполне ожидаемо, что его нет в Jinja2. Поскольку Jinja2 - это просто куски питоньего кода, то CSRF-токен можно достать из request.META["CSRF_COOKIE"] - нужно только удостовериться, что объект request доступен из шаблона. Если токен нужен для формы - то его нужно завернуть в input с аттрибутом name="csrfmiddlewaretoken".
Либо же достать токен из куки, название которого дается в settings.CSRF_COOKIE_NAME.
p number, v number, s search_param, и т.д
Их будет не много, но вот ебля со стандартными метода string меня не радует, хочется как-то проще. В Си есть библиотечка, которая парсит параметры запуска по типу -c 1 т.д. Хотелось бы аналог.
Смысл такой, но нет, мне из потока ввода получать их надо. То есть уже в процессе работы.
Спасибо тогда, то что надо.
Ну тогда зависит от сложности команд.
1. Очень простые команды проще всего распарсить самостоятельно. Вот как-то так, например: https://pastebin.com/1wc3SH5i
2. Команды средней сложности - argparse работает не только с командной строкой. Почти все примеры из документации просто подают туда данные.
3. Для сложных команд нужен полноценный лексер и парсер типа flex+bison (или их аналогов на питоне), но до этого лучше не доводить.
><input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
Заюзал это и всё ок, спасибо, антош.
Скачай нормальную среду разработки.
Если же не осилил, то:
import time
%тело программы%
time.sleep(999)
извращения итт
В принципе разобрался, через VS норм запускается, а вот через комодо что-то нет
Хотя там старая ошибка с UTF-8, которую я год не исправляю, когда еще в прошлом году пытался осилить питона так на нее и забил
Консольное окно закрывается, потому что завершается процесс, который это окно вызвал (твой скрипт). Чтобы оно не закрывалось, надо либо сначала открыть консоль, а потом из нее запустить программу, либо не дать программе закрыться: вызов raw_input() заставит программу ждать нажатия клавиши Enter.
аа, точно спасибо
к примеру
функция([1,2,2,1], 1)
выводит 2 поскольку в списке 2 двойки.
Что я делаю не так?
Само собой, ты когда находишь элемент, заносишь в список found единицу. Оператор += в этом случае работает именно так.
у тебя found - лист
>>983209
Блять очевидная вещь же, спасибо огромное! Как меня порой заебывает такое, уже месяц учу язык но забываю про такие элементарные вещи.
Задача и правда простая, думаю, проще будет как-нибудь самому. Хотя argparse еще копну. Спасибо за помощь!
Есть ли возможность работать с базой данных имея файл bd.sql и библиотеку, посредством которой с помощью питона можно будет с этим файлом взаимодействовать?
MySql взят для примера. Интересуют возможно для всех доступных из-под питона баз.
В следующий раз попробуй воспользоваться дебаггером.
Разворачивать такую базу как mysql на машине (каждого) пользователя - это плохая затея. Чтобы работать с базой, достаточно развернуть ее на каком-нибудь сервере и подключаться с машины клиента (да, что-нибудь установить придется). Если же хочется иметь базу данных для каких-то сугубо локальных дел, то можно поступить так, как это делают в андроиде - использовать sqlite. Вот там действительно вся база в одном файле. Более того, даже скачивать ничего не придется, потому что оно уже есть в стандартной библиотеке - https://docs.python.org/2/library/sqlite3.html
Спасибо.
Я программу для 1 пользователя пишу и не хотелось бы тратить ресурсы ПК или сервера ради 4-5 запросов в неделю.
Может еще какие-то варианты есть? Pymongo, например, подойдет?
PyMongo это для MongoDB, тут уже вопрос выбора архитектуры и вида БД(реляционная или нет).
Чем тебе SQLite не нравится? Для такого кол-ва запросов и объёмов(явно ж небольшие) она будет в самый раз.
Ни то что бы она мне нравится или нет - я с ней и не работал, мне подошла нереляционая бд. На худой конец, в json'е хранить.
Ты имеешб в виду, что умеет копировать область ячеек? Так с этим и так проблем нет, толкьо я копирую по однйо ячейке, тк надо копировать выравнивание, рамки и тд. Дело не в этом, а в том, что бы то что я скопировал верно компановать - сначала скажет в А1-А6, затем в F1-F12, затем в A7-A15, затем F13-18 и тд, при этом нужно всегда смотреть что бы область не выходило за значение кратное 57 (столько строк влазит при печати).
MongoDB тут ни к чему. Не думаю, что сервер монго будет кушать много меньше ресурсов. SQLite здесь будет оптимальным вариантом с точки зрения размера базы, выч. ресурсов, скорости разработки и самообразования.
Если выкинуть самообразование - есть еще более примитивные вещи типа https://pypi.python.org/pypi/tinydb
Блять, вот нагляделся и думаю переводить свой прожект на Постгресе, с json`ами в ячейках, в Моного или подобное, ну бляяяять.
А зачем? Какие бонусы ты видишь в своей ситуации? Никогда не использовал JSON-поля в постгре, да и монгу тоже, и не очень понимаю, зачем эти вещи нужны.
Мне изначально такой доступ кажется удобней, иначе пришлось бы создавать к основным таблицам ещё подтаблицы, наследовать их + куча столбцов, что не воодушевляет.
А так мне лишь с json.(loads/dumps) работать приходится.
p.s. что можно почитать за организацию БД реляционных? А то мне кажется что прочтения документации явно не хватает при построении систем.
>p.s. что можно почитать за организацию БД реляционных? А то мне кажется что прочтения документации явно не хватает при построении систем.
Вот тут есть больших размеров курс от Стендфорда: https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/about
Поясняется за реляционную алгебру, за приведения баз данных в нормальные формы, потом вижу есть мини-курс по SQL. В общем все здорово, разве что XML Databases можно пропустить.
Спасибо, мудрый анон.
Кодекадеми раньше годное было для совсем нихуя в программинге не понимающих - что бы механически зазубрить основы синтаксиса. Если это есть - можешь сразу укус и синкпайтон начинать.
Оборудование и все, что с ним связано.
Может глянешь на курсере кратенький курс яндекс ШАД или более подробный стенфордский(вроде, точно уже не помню) курс с которого шад слизали?
Ну и держи когда-то сохранял тоже с двачей по мл и прочему https://trello.com/c/Lhispmvg авось в тему будет хоть там и не везде (почти нигде) не питон
Разобрался за пару секунд сам, извиняюсь за беспокойство. Хотя до этого минут 20 тупил, пиздец.
Я сегодня два часа протупил в django-simple-poll думая какого хуя оно не работает но не додумавшись поглядеть где оно хранит инфу о "голосовал - не голосовал"
Ясен хуй в кукисах, сука, пытался починить не сломанное блядь
Я решал простенькую задачу в результате решил наговнокодив 40 строк, а потом посмотрел пример решения с 5 строками.
> =ЕСНД(ВПР(column_blah;table01;2;ЛОЖЬ);ЕСНД(ВПР(column_govno;table02;3;ЛОЖЬ);ВПР(column_zlaupa;table03;3;ЛОЖЬ)))
Пистоно-дети, оправдывайтесь, почему у вас остановка итератора сделана через жопу исключений?
Очередной хэлоуворлдщик обсуждает высокие материи, но никогда не сделает ничего реального.
Ладно. Но очень все странно сделано.
Можно на православный фор переписать без ебнутого генератор-тормоза, но пока похуй.
и что это за параша?
Бля, ну и параша.
не особо понимаю значение закорючек слева от описания горячих клавиш, собсно как и некоторые описание клавиш.
Буду рад, если поделитесь ссылкой.
Пощелкай там.
Ты же отдаешь себе отчет что способные преуспеть никогда не будут задавать такие вопросы?
УСПЕХ ЕТО МИФ
ДЕД РАБОТАЛ НА ЗАВОДЕ И ТЫ РАБОТАЙ
БРИН ЕТО ВЫДУМКА
У БИЛАГЕЙЦА ДЕНЕГ НА САМОМ ДЕЛЕ МАЛО КТО Ж КУПИТ ПРОГРАММУ ВОН СТЁПКУ ПОПРОСИ У НЕГО ПЛЕМЯННИК ТЕБЕ БЕСПЛАТНО ПОСТАВИТ
не выдумывай, бро. все в жопе как и ты.
>такие вопросы?
Откуда тебе знать, какие вопросы задают успешные люди? Ты же на дваче сидишь.
>>982762
алсо вот это мне сильно помогло вкатиться в современный жс http://www.pauleveritt.org/polyglot/
Покажи структуру проекта. Сборщики? Как комбинировать темплейттеги джанги и реакта? Откуда начать учить фронт? С разметкой и CSS-фреймворками могу совладать .
l = [line.strip() for line in f]
В примере создается список строк, из файла. Зачем тут line.strinp, и как его используют до объявления ?
и добавлю, без редакса реакт просто темплейт либа, мощная, но не более того.
Какая-то колдовская хуита.
Разобрался, спасибо.
Двачаю
Она хорошая и не является справочником. Больше нигде некоторые пробелы документации не раскрываются.
Не, для меня дороговато, увы
Авось всплывёт за пару недель в вк / ещё где, я бы тоже полистал
Можешь полистать прошлую 1.8.
strip стандартная функция строк в пистоне. Без параметров возвращает обрезаную строку без пробелов:
" строка " => "строка"
Обрезать можно по любому символу.
Суть твего говнострочника: в каждой строки f убрать ведущие пробелы.
>используют до объявления
Хех мда. Доку чекай прежде чем такое говорить.
Я бы скинулся, но покупать не стану.
>Зачем тут line.strinp, и как его используют до объявления ?
line = "azaza"
dir(line)
help(line.strip)
str.strip(" ebalo zakryl ")
Хуй знает почему он зовет инпут как переменную. Попробуй инпут обернуть в str().
действительно, лол . Обоссал так обоссал
Обоссыте меня, я ничего в этом не понимаю, но нельзя ли как-то "авторизоваться", чтобы скрипт как бы заходил с моего аккаунта?
Бля, это надо копать в API команды, но хз есть ли там авторизация.
Я уже писал в прошлом или позапрошлом треде. Можешь поискать. Если кратко - есть OAuth и вроппер под VK API.
Какие подводные камни?
Ну на вскидку: присутствует гил, это надо учитывать, если второй питон - ебучие кодировкопроблемы, несколько ебанутая асинхронщина, ABC вместо интерфейсов, да и вобще странноватая реализация ооп. Ну и динамическая типизация конечно.
Дайте пожалуйста какие-нибудь толковые примеры, как это всё лучше оформить, где можно подлгядеть и всё такое.
За полторы неделю справлюсь? Может быть, у кого-нибудь уже есть что-то похожее?
Спасибо.
>За полторы неделю справлюсь?
Нет.
>Может быть, у кого-нибудь уже есть что-то похожее?
Есть. Купи слона фрилансера, сука. Все будет за поторы недели под ключ.
Например, сгенерированную PIL?
Нет, всё же не понимаю.
Почему-то через такую запись (без print) выводит не более одного объекта в ячейке.
А через print объект image нормально не выведешь.
Зависит от того что ты собственно хочешь от сайта
Но так, на вскидку - вылепить эту хуету на джанго + бутстрап без жс интерактива сложнее jquery того же - можно часа за три
Выйдет хуйня, конечно, но работать будет.
поищи ещё на гитхабе и прочих по запросам django school / student / schedule авось и найдёшь чего прям то что нужно
Вот например https://github.com/skyl/Django-School
А как сделать, чтобы не было переноса строки после каждой пикчи? Мне так не нравится.
Решил все исходники перенести в папку src и запускать все из корневой папки. Пришлось переписать все импорты на from src.utils import ... , но все равно если пытаюсь запустить отдельный модуль выдает ошибку импорта: нет модуля src. Что делать? Нахуя гвидо сломал относительный импорт в трешке?
В итоге вынес скрипт в корневую директорию. Ну гвидо и пидор, у него скрипты внутри пэкеджей это антипаттерны. Надо на двойку перекатываться.
Просто та далбаёб.
У меня ставка 300к/секунда. Управлюсь за 64 часа, так что 230400*300000 = 69120000000 рублей без учета налогов
Во-первых, так было всегда. 2-ю версию не использовал
Во-вторых, зачем тебе доступ по индексу?
> Во-первых, так было всегда.
Ну видимо я по второму питону инфу глянул.
> Во-вторых, зачем тебе доступ по индексу?
У меня есть два словаря, один со множеством старых значений/ключами второй с одним значением/ключом, и вот мне нужно обновить значения по ключу(из нового словаря) в старом словаре(сложить значение из старого словаря со значением из нового словаря). Я не придумал ничего лучше как вытащить ключ из нового словаря и применить его к старому.
Видимо придётся цикл вставлять для обхода.
Тоже недавно охуел с этого. По приколу писал шифр цезаря, пришлось два идентичных словаря создавать, где ключ и значение менялись местами.
select * from ... order by id desc limit 3
Ни за сколько. Просто умножm свои полторы недели на шесть и ебашь с чистой совестью во славу Кутлху.
Почитаю, спасибо
Не спарашивай его. Он конченый пидрила, если юзает богомерские iter, чтобы сделать элементарную вещь - получить первый сраный (к, v) в словаре.
Нахуя? Это ведь не то, что тебе нужно. Прост ребенок выучил стишок.
Я прекрасно знаю, как оформить то, что я хотел. И я оформил. Просто ты хотел поумничать, но в силу твоей ограниченности у тебя это не вышло.
у тебя ретина или зрение -20?
Спасибо гляну, но я уже через цикл сделал, думаю тоже не плохо, если к примеру ключ захочу не один модифицировать. Р - расширяемость.
P.s. Аноны, назрел еще вопросец, вот есть у меня приложение на фласке+apache2 и есть парсер, который для веба данные парсит и в бд выкладывает. Вопрос:
Как заставить и парсер и веб приложение крутиться вместе? Ну и вообще,как на серверах запускают всякие телеграм боты/веб приложения(на торнадо и прочем) к примеру? Как грамотно задать вопрос гуглу на этот счет? А то вроде что-то пишу,делаю, а таких вещей не знаю.
Защеканчик предложит сделать цикл или ОБЕРНУТЬ ИТЕМС В ЛИСТ И ВЗЯТЬ НУЛЕВОЙ ЭЛЕМЕНТ. ебало своё закрыл чтобы тебя не видно было
Вот ставлю на комент id = {{forloop.counter}}
То есть у каждого же комента должен быть свой id правильно ?
Тогда почему когда я в скрипте нажимаю спрятать один комент, то прячутся все ?
числа с плавающей точкой хранятся с определенной точностью. там могло быть 12.4999999999999999999999999998
Потому что 0.5 * 4 = целое число.
А подробнее? Читал байт питона и лутца и написал кучу мелких меньше 50 строк программок. Что нужно ещё?
Ну а ты кем работать то хочешь? Скорее всего тебе пригодятся знания теории баз данных - можешь почитать дэйта, ну и разнял алгоритмов - кормен тебе в помощь.
Зубри Джанго и пиздуй искать. Тебе наверняка надо будет знать class-based views, mixins, модели, формы, сериализаторы, сигналы, миддлвари и т.д.
>Ну а ты кем работать то хочешь?
Не поверишь. Питоновским программистом.
>теории баз данных - можешь почитать дэйта
Ахуеть. Это же книга на месяц. Я планировал курс в интернете пройти за недельку параллельно каким-нибудь другим курсом. Что в этой книге важного?
>алгоритмов
Знаю.
>>985200
>Джанго
А это не сильно сузит поиск?
>class-based views, mixins, модели, формы, сериализаторы, сигналы, миддлвари и т.д.
Это какие-то мелкие темы. Если для работы что-то из этого понадобится, то выучу.
>А это не сильно сузит поиск?
Полуркай hh.ru > 50% работы на Питоне это Джанго. А ты что хотел?
>>985204
>Это какие-то мелкие темы. Если для работы что-то из этого понадобится, то выучу.
Понятно, что это всё легко можно узнать. Тебя это на собеседованиях спрашивать будут.
По общепитону тебя скорее всего будут спрашивать про ООП и утиную типизацию, генераторы, декораторы, может ещё про асинхронность и метапрограммирование (это скорее на мидла уже).
Ок. Тогда дай литературу где всего этого побольше. Что по каждой теме не листать отдельные статьи.
Документация, ёпте. Пиши свой проект - и сам поймёшь, чего не знаешь. Смотри гитхаб по топовым проектам, постарайся объяснить зачем "это" а зачем "то"
Хочу вкатиться в питон, но не могу определиться с выбором. Подойдет ли официальная документация для меня, если я уже имею небольшой опыт программирования? А то a byte of python показался слишком скучным и легким.
Тебе нужно начать с официальной документации.
начни писать программу, долбоеб. серъезно, как, вы - все вкатывальщики хотите получить результат, незная что вы хотите сделать!? задай себе вопрос: "что я хочу сделать с помощью программы?"
> все вкатывальщики хотите получить результат, незная что вы хотите сделать!?
Ты не понимаешь сути вкатывальщиков, вкатывание это процесс, результат не важен. Главное это обсуждать какая книга/курс для вкатывания лучше, реквест советов для вкатывания, споры по выбору яп, подписка в соц сетях на тематические группы и т.п.
Для примера у меня есть функция get_cache, которая если не находит кэш пытается вытянуть данные из БД и проблема в том что БД к которой она обращается задана в models.py и соответственно когда я запускаю тесты она обращается к продакшн БД. Как сделать чтобы во время тестирования использовалась тестовая БД?
Вот сам запрос к БД.
https://github.com/bushig/webmtube/blob/dev/webmtube/caching.py#L79
Инициализировать новую БД я могу, но вопрос в том как потом ее использовать самой функцией, не передавать же функции аргумент с сессией из нужной бд.
В общем по ходу нужно врываться в функциональное тестирование: стартовать апп с нужными настройками БД и выполнять тесты относительно нее. Походу придется опять рефакторить приложение.
Я правильно понимаю что с этой штукой у меня получится убрать все проверки на автора модели в представлении?
Ананас, я тут удолил случайно себе весь раздел с lubuntu на нетбуке, в связи с чем возник вопрос. А как там на винде с питоном и джангой, нет ли лишней ебли, удобно ли? А то думаю толи винду оставить, толи дебиан какой впилить. Просто без лишней необходимости не хотелось бы на винде сидеть
>. Просто без лишней необходимости не хотелось бы на винде сидеть
Ну так не сиди. В любом случае программировать будет только хуже.
Мож я чего-то не понимаю, но разве этого нету в стандартной модели юзера и групп? ну там где две панельки и из одной надо перекинуть в другую что пользователь может делать с какими объектами, что нет
def foo(moo, zoo):
return moo, zoo
def boo(moo, zoo):
return moo, zoo
def roo(moo, zoo):
print(moo + zoo)
roo(foo(boo('а', 'б')))
Ваа, спасибо! ^_^ А где можно почитать про то, почему без астерисков не работает?
судя из уроков должно быть так
Привет
МирМирМирМирМир
IEEE754
тому що у тебя функции возвращают одно туплё мосье хранцуз, а на вход принимают два аргумента
ты функцию say вызываешь из функции say, бесконечная рекурсия гурен лаган
строчки с say("azaza") влево сдвинь на 4 пробела
Вобщем, задачка стандартная - посчитать сколько месяцев уйдет на накопление бабла для покупки дома.
Короч не понимаю как считать, а точнее - что делать с downpayment, вычитать ее из общей цены дома или складывать их, бля да я никогда дом не покупал ну откуда мне знать!
Ну суть в том чтоб разрешения присоединить к модели, чтобы не париться при написании дальнейшего кода вообще, не писать проверки. Т.е по любому обращению к модели просто ебашить декоратор разрешения и все, как только чет не то - бросается аксесс дениед с соответствующим статусреспонсом.
Пробую использовать curl через с командой такого вида:
> for ((i=1;i<=500;i++)); do curl "localhost:3000/endpoint"; done
Но в этом случае не иногда начинают сыпаться > curl: (52) Empty reply from server
Что я делаю не так?
пифон кукбук
гугли http load testing, http stress testing
Я уже допер, пиздец, какой же я тупой.
Но если ты хотел предложить какой-то способ, то я не откажусь на него посмотреть.
(Я сейчас допер до самого очевидного, стыдно)
Бывает.
Рекомендую с путешествия на половой член.
Мне нужно найти сумму вероятности этих событий
Пикрл формула для подсчеста суммы вероятности независимых событий. Проблем написать ее как рекурсию не вижу, нашел такую функцию на С, могу переписать
https://toster.ru/q/22586
Но проблема в другом. эта функция как раз не учитывает, что для вероятностей AB=abcde, а не abcdcd*e.
Что мне делать? Как мне быть? Очень не хочу использовать символьные выражения.
Анон, помоги вспомнить название книги для нубов. Там был раздел про сетевое программирование, и надо было в качестве упражнения инфу с некоего сайта парсить, вроде бы номера штатов или что-то подобное.
Блядь в каждом треде пишу что все уже сделано за вас в питоне. И каждый раз как новый.
https://github.com/idlesign/torrt/blob/5e3e7521ee92ca675276c98c658a91fc2eace8dc/torrt/trackers/rutor.py#L47
Грустна. А я просто хотел свой велосипед. И на этом спасибо.
Читай книги, по улучшению скилла, + ставь задачи
think python
the python standard library by example
http://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/index.html
Fluent Python
Test-Driven Development with Python
Python Essential Reference
будет мало - можешь в моей заначке покопаться там хуйни года на три активного изучения https://trello.com/b/ik9s9Xv5/python-develop
Когда начинал учить питон и программинг в целом нормальной структурированной инфы по источникам почти не было - были обрывки и старье. По мере поиска за пол годика интересные ссылочки накапливались и я их туда и сохранял. Сказать что мол я специально или целенаправленно составлял - нет, просто так вышло.
Прочитал /ознакомился хорошо если с четвертью-третьей частью, последние пол года работы много и я не успеваю ничего.
> По мере поиска за пол годика интересные ссылочки накапливались
> последние пол года работы много и я не успеваю ничего.
Вкатился за пол года?
>>986350
Где-то пол года и заняло от нуля в программинге вообще до прикладного джангоебства и прочих P A N D A S
Стажа "программирования" как такового уже 1,5-2 года.
Но я никуда не вкатывался, я учил в нагрузку к своей основной не айтишной работе, ею и занимаюсь попутно пиля несложные круды под нужды клиентов и компании.
>>986356
Я написал "пол года", чтобы показать, что чел "читает" сотню книг, но не знает как пишется "полгода". А вы продолжаете эту хуйню, типа я с вами по теме базарю.
Ебало своё закрыл, я в /c/ в три раза дольше, чем ты программируешь, ёпту.
И всё.
@tbot.message_handler(commands=['start']
def start_handler(message):
tbot.send_message(message.chat.id, message.text)
Тут все понятно. Но. Если завернуть функцию start_handler в класс, получается так, что в self (self, message) передается message, а сам message не передается. Как заставить это работать?
>ValueError: invalid literal for int() with base 10: ' '
Страшно представить какой заеб там кастомные формы пилить, но для визиток с говномагазиком самое то кажется.
Кто-нибудь из местных его использовал в боевых условиях?
Или как из того что на первой картинке сделать так, чтобы было как на 2 картинке?
Просто надо в папку __init__.py положить, с импортами
Решение есть или нет? Я не собираюсь, сейчас ботов писать, это просто наглядный пример.
Я про setStyleSheet
во-первых, так делать не по понятиям
во-вторых, тебе надо тупли в списки передеалть чтоли? тогда
tuples = [list(tuple) for tuple in tuples]
Пишет, что math нету, есть только cmath
У меня и при "импорте" и при "импорте из". Переустанови пишарм с питоном или питон, он в него ведь входит эта либа.
В питоне он есть, я проверял через интерпретатор питона. Переустанавливал пишарм, не помогло.
bump
Посмотри там в настройках пишарма что-нибудь типа Python installation directory, убедись, что там правильная директория, если неправильная то исправь. Что за ОС кстати?
windus
Спроси у создателей пичарма.
В принципе терпимо, но например, по тому же Django by example 1.8 некоторые примеры таки не работали, от чего иногда не илюзорно пригорало.
Может знает кто где скачать можно, или сам поделится ?
Можно посмотреть на примеры проблем? У джанги, в общем-то, основной костяк не меняется. Я например даже не знаю в точности с какой версией имею дело на работе, с 1.6 кажется, но это не мешает мне сделать сайтик на 1.11. Навскидку могу сказать, что из популярных функций изменились только миграции (стали легче). Если ты видишь много нерабочих примеров, то возможно их не стоит разбирать.
есть ббгге. но хуй я тибе дам ибо пейсал сам, а опенсорс для лошка и нищих сдудней ббггее. гани бабло или иди нахей макакий ты.
Я пытаюсь вкатиться в программирование с 2010 года, так что ты поздно дал свои советы.
Норм, или выбрать что другое?
Это FastVPS.
А чем digital ocean не угодил?
Мне просто интересно, я-то ещё на vps мастерхоста сижу но ищу замену
Сложно. Ну ладно, спасибо.
> Есть встраиваемый MS Office. ВК с недавних пор использует.
Спасибо, поищу.
Было бы здорово если бы оно документы никуда не передавало на обработку, а ебалось с ними локально.
>>987219
Да я бы за редактор для Джанго, конвертирующий Ворд в маркдаун а потом во фронте выставляющий чёт типа редактора с medium.com / sir travor js / wagtail streamfield а потом pydiff'ом выявляющий разницу между версиями и денег заплатил бы, но кто такую гору ебатни делать станет не за штуку баксов.
Но до того как представленный код реализовать, я искал уже готовое решение и натыкался на использование, но применить мне их так и не удалось.
Как данную задачу можно реализовать более элегантно?
> на использование
средств Qt(типа QAbstractItemModel.beginResetModel, QAbstractTableModel.reset())
fix
Обычно пишут обобщённую обёртку с одним try-except и повтором при ошибке, например. А потом её просто вызывают в нужных местах.
Спасибо.
Способ оплаты. На фаствпс могу оплатить Яндексом и вебмани - мне так проще.
Плюшками. Мне не нужно столько памяти на жестком диске и такая скорость инета.
Мне хватит и того что есть.
Бумп вопросу
Ты проходил, знаешь примерно материал? Я просто думаю, достаточно ли я узнал про него, либо есть ещё какая-то годнота, которую изучить нужно. Лутц — справочник, я не осилил.
Как вариант так:
self.table.model().removeRows(0, self.table.model().rowCount())
Или просто переключай модельку на новую во вьюхе если старые данные еще нужны будут.
Решил пока оставить как есть.
Теперь другая проблема: как в QTableView + QSqlTableModel выравнивание теста по центру?
Как вы организуете стейдж, продакшен, тестинг окружения? Где и как храните секреты и прочее? Где и как выставляете ENV=stage, ENV=production?
Сейчас у меня в папке configs лежат yaml-файлики production.yaml stage.yaml и т.д. ENV выставляется в запускающем скрипте (/etc/init/projecyname.conf)
Каковы вообще бест практисес для фласка в продакшене?
Алсо
Как стейдж вписать в гитфлоу? как еще один псевдомастер или как промежуточную ветку между дев и мастером?
набигаем на абу, все кого подзаебало копипастит на пастебин и сюда вставлять ссылку https://2ch.hk/d/res/421281.html#449386 (М)
Какие подводные?
Умрешь.
после синка уже можно спокойно кодить что тебе хочется
если не допрешь что хочется - гугли туториалы по всему подряд
Хочу почитать, потому что в раздумьях: не слишком люблю Питон (джавист или на худой конец рубист по натуре), но сама Джанга на прошлой работе понравилась, крайне годный фреймворк, думаю, не переписать ли продакшен на текущей на неё и хотелось бы представлять заранее, куда костыли вбивать придется.
Палю годноту: arubacloud
За 1 евро Если скинешь им скан паспорта и, например, счета за воду, чтобы снять европейский НДС получаешь очень даже вкусные характеристики.
Сам сейчас держу на нем детектор скримеров 427 активных установок если верить гугл вебстору, на который каждые несколько секунд приходят различные запросы и практически нонстопом качаются вебмки для анализа. Пользуюсь арубой с 10 апреля. До этого был firstbyte, тоже казался годным хостингом, но потом их кто то выкупил и они невероятно порезали скорость SDD
Вот что означает звездочка.
https://github.com/bushig/webmtube
Уже почти месяц не получается выкатить обновление - все это время переписывал бэкенд чтобы обрезать метаданные вебмок перед анализом Как оказалось кукла по дефолту добавляет рандомные данные, из за чего при каждом аплоаде меняется хэш.. Думаю завтра-послезавтра выкачу обновление и создам тред в /b/.
По истории коммитов можешь посмотреть. Там был длинный перерыв с ноября по март.
Думаю это будет последний апдейт на долгое время, так как все равно добавлять уже нечего. Только если поддержку 4chan, но у них там вебмки без звука во всех разделах кроме Worksafe GIF
Наконец то продолжу пилить свой проект на джанге.
Круто, удачи.
Странно, у меня не хочет создаваться.
> Attention. An error has occurred. Please try again later
А, не, всё ок, сменил серв с итальянского на чешский и всё заработало.
Спасибо тебе антош, за годный совет!
Написал парсер, который, среди прочего, сохраняет пикчи и добавляет в БД путь до них.
Вытягиваю путь:
img_obj = item.cssselect(image)
img_item = r'%s/%s' % (main_page, img_obj[0].get('src'))
Потом сохраняю её:
if item[5]: #тут лежит путь до пикчи
image = urllib.urlretrieve(
item[5], os.path.join(settings.MEDIA_ROOT, u'files/dish/%s' % item[5].split('/')[-1]))[0]
image = image.replace('{}/'.format(settings.MEDIA_ROOT), '').decode('utf8')
img, created = PhotoDish.objects.get_or_create(image=image,
dish=dish)
И всё, сука, работает, пока на сайте в имени пикчи не появляются скобки, файл сохраняется как 320x320-margarita%281%29.c73.jpg, а когда я пытаюсь её просмотреть со своего сайта, он ищет очевидные 320x320-margarita(1).c73.jpg
Как обойти эту хуйню и сохранять пикчи с нормальным названием?
Как вариант переименовывать на своей стороне. Или просто будь мужиком, отрежь скобки, блядь.
Суть в том, что сегодня - скобки, завтра - ещё что-нибудь. Мне бы их как-нибудь преобразовать в символы. Или да, хуярить рандомные названия. Но, мне кажется, я за это получу пизды.
Что будет использоваться: csv, json, библиотеки для перевода и машинного обучения, кластеризации и т.д.
Сложность предположительно средняя. За бабки, разумеется.
Почта: ultragrafon1083v60ANUSramblPS1erPUNCTUMr*15u Там всё подробнее расскажу
Какой наиболее уместный способ хранить временную картинку в виде байтов?
tempfile, BytesIO, bytes, bytearray? После всей хуйни нужно чистить память.
второе
Я сам уже не помню, но в джанго бай екзампл даже в самом первом примере с блогом не всё работало.
По-моему, с поиском на джаве завзяано было. Модуль, который обеспечивал совместимость этого самого поиска не работал на джанге 1.10.
Вроде Haystack + Solr уже не работал, по крайней мере в том виде, в каком он был в книге.
только что при помощи requests стянул страничку и там вроде есть все данные
и да, там джаваскрипт
конкретно что делаешь и что не получается?
Драйвер Фантом жс для селениума это хромиум без окошка и прочих мутных отрисовок внутри командной строки
Рекомендую если тебе надо не разок что-то отпарсить, а регулярно разгребать.
У меня, например, не отдавало блок <table class="values"> и не только его. Вообще почти всей информации о персонаже не было. Делал так:
req = requests.get(url)
soup = BeautifulSoup(req.text, 'html.parser')
table = soup.find_all('table', 'values') # получал пустой список
Смотрел в print(soup) - там не было того, что мне надо.
>>988151
Да, видимо он всё-таки нужен, т.к webdriver.Firefox() вообще открывает гуй.
В офф. документации всё так просто у них что пиздец просто.
http://alexandersimoes.com/hints/2015/10/28/deploying-flask-with-nginx-gunicorn-supervisor-virtualenv-on-ubuntu.html мне больше всего это нравится
под фласк но разницы хуй да нихуя
господа, кто-нибудь имел дело с модулем dns.resolver?
Как при указании своих серверов имен не получать такую ошибку:
dns.resolver.NoNameservers: All nameservers failed to answer the query example.com. IN A: Server 8.8.8.8 UDP port 53 answered REFUSED;
если на серверах имен такой записи нет? То есть, чтобы вместо ошибки был возвращен пробел, или текст
БАМП
> int(16 / 2)
При всём уважении, я бы на твоем месте советы не давал.
Есть оператор целочисленного деления: //. 16 // 2 == 8 (int).
Думаю, создать его будет хорошей идеей.
Еще один глупый вопрос. Читаю одну из книг по питону для чайников, я наткнулся на списки
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
Автор пишет, что такое встречается довольно часто и пользователи хранят данные в программах. Н оу меня назрел вопрос, можно ли подключить БД к питону, чтобы данные хранились не в коде, а именно в БД( конечно же можно) Это делается стандартным модулем import? Можно ли использовать БД мелкомягких? Оракл? Постгрес?
На этот вопрос нет смысла отвечать, потому что ты ленивый пидорас и не хочешь все учить постепенно, но да, можно, конечно. Мог бы догадаться. Следующим вопросом будет, можно ли на Питоне что-то сложнее хеллоуворлда написать?
В стандартной библиотеке есть поддержка только базы данных sqlite (import sqlite). Для обучения и многих задач подойдет хорошо. Для веб-сайта в продакшене - нет. SQL везде примерно одинаковый.
>ленивый пидорас
Самоутвердился?
Для меня самое важное бюыло узнать про постгрес и sql server, но все равно спасибо
> Самоутвердился?
Нет, вас тут таких просто 24 7 365,25 часов в году на борде, поэтому, уж пойми, заебали. Скорее всего, где-нибудь на ранних этапах обучения дропнешь, а на смену тебе еще дюжина таких же придет со своими очень, блядь, уникальными и не гуглящимися просто вопросами.
Для более серьезных баз чаще всего используется библиотека sqlalchemy (нужно устанавливать). В Django используется свой ORM. Для постгре еще нужно будет установить библиотеку psycopg2. Насчет других серверов не в курсе.
Нет, в треде спрашивают либо существует ли в нашем мире карандаш, либо не могут найти гантелли посреди тренажерного зала.
кстати, рисую гантелями, если нормально надавить она оставляет чорный мазок.
Глядите, гантельный девственник ИТТ! Это, наиболее вероятно, резиновое покрытие или краска, ну или же анон может быть так суров, что рисует прямо металлом, из которого сделана гантеля.
Насколько сильно нужен надавить, чтобы оставить краску? Бумагу (если он рисует на ней) распидорасит. Если это бетонная или кирпичная стена, то да, очевидно это покрытие оставляет следы.
Если резиной покрыто, то усилие не больше, чем от карандаша, требуется. Если краской, то надо знать, какая краска. Да и бумага не простая может быть — от ватмана до всамделишного холста. Негоже художнику на 180 г/м2 рисовать!
сенсей, ты опять выходишь на связь(
https://www.youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
нифига не на питоне, но систематизировать идеи программинга поможет
старое железо, 32bit + старое несовместимое железо за несколько миллионов с несовместимыми дровами. Железо дропнуто производителем "хотите новый софт - купите у нас новую штуку за несколько миллионов" -> winxp -> все дропнули winxp и 32bit -> обновить нельзя, линукс нельзя -> пиздец.
Сегодня меня походу ломануло АНБ. BSOD, в стек трейсе tcpip.sys. Эксплоиты для этого дерьма давно в сети давно есть. Ну ладно, на это похуй: другого компа мне всё равно не выделили. Я пришёл спросить вот о чём. Почему нет колеса для lxml? Мне без неё нельзя, а доверять всяким мутным хуям вроде Кристофера, который даже шифрование поднять не удосужиля, не говоря уже о воспроизводимых билдах я не хочу. Ставить студию тоже неприемлимо.
Пролистал мельком, что-то уровня школьной программы только вместо бейсика и паскаля си и пыха? Ну и плюс шуточки за 100. Или там есть что-то стоящее?
С такой параноей тебе на прыщи опенбсд надо перекатываться, заодно и проблема с lxml отпадет.
> Почему нет колеса для lxml? Мне без неё нельзя, а доверять всяким мутным хуям вроде Кристофера, который даже шифрование поднять не удосужиля, не говоря уже о воспроизводимых билдах я не хочу.
http://lxml.de/build.html
Если только самому собрать.
> uwsgi --emperor /etc/uwsgi/vassals --uid root
Всё работает.
Как только хочу сделать автозапуск:
> [crit] 14544#0: *1 connect() to unix:/var/www/%имя проекта%/%имя%.sock failed (2: No such file or directory) while ....
Файл /etc/rc.local выглядит так:
https://pastebin.com/pxFj8SMd
Python3, Django1.11, Nginx 1.6, uWSGI2.0.15.
Где я проебался, куда копать? Ведь если сам прописываю в строке условия запуска - фал нужный оно находит.
ага, только быстрее и веселее
или ты думаешь что все вкатыватели программу помнят эту школьную?
плюс дремать под неё одно удовольствие, я только что проверил
>/etc/rc.local
кто же туда свои поделия пихает!? удали оттуда все свое быстро! гугли systemd, supervisord...
Хоть я и отношусь к ресурсам ТМ с таким же пренебрежением, как и ты, в данном случае ты ведешь себя как клоун и даешь комментарии уровня пикабудебила.
>>988865
Древний как говно мамонта перевод древней как говно мамонта документации, полагаю. Данная инструкция написана для систем с SysVinit, который ныне в дикой природе почти не встречается, поэтому у тебя в системе наверняка systemd. Тебе нужно описать свой сервис, чтобы можно было им управлять. Вот ссылки, чтобы сориентироваться:
https://linuxconfig.org/how-to-automatically-execute-shell-script-at-startup-boot-on-systemd-linux
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html
https://unix.stackexchange.com/questions/47695/how-to-write-startup-script-for-systemd
http://patrakov.blogspot.ru/2011/01/writing-systemd-service-files.html
> Данная инструкция написана для систем с SysVinit
rc.local не привязан к иниту, поставляется/поставлялся практически везде втч на бзде, просто полуживое nix легаси
SysV-style init ежжи, нет особого смысла окунать анона в детали полуживого *nix-legacy, да.
https://pastebin.com/QgEvu2JM
Но я не Никита.
Огромное спасибо за материал, почитаю.
На серваке уже всё настроил через supervisord, всё ок.
1) Поля id не нужны. Они есть по умолчанию.
2) У Subject всего один teacher, student, course, mark. Это не id, это полноценные модели, суффикс id не нужен. ForeignKey - это связь один-к-одному. Для связи многое-ко-многому тебе нужен ManyToManyField.
3) (субъективное) Я бы сказал, что subject и course - это синонимы, обозначающие предмет, учебную дисциплину. Mark - это, мм, метка? Оценки называются grades.
Везде используется ForeignKey и почти везде не в тему. ForeignKey - это когда у одного объекта есть связь одним с другим объектом. Нужны many-to-many таблицы, как сгенерированные автоматически, так и ручные, типа CourseEnrollment, CourseWithdrawal.
Точно необходимо потратить время на изучение реляционных баз.
И вдогонку - если уж хочется свой собственный id, он должен быть помечен как primary key. Primary key - это концепция, которая позволяет уникально адресовать строку в таблице. Просто использовать IntegerField нельзя. Очень часто у поля id должен быть свой генератор значений, который в SQL-базах называется sequence.
>3
Не знал как обозвать специальность, потому взял course.
Спасибо за подробное объяснение, анон. Буду исправлять.
Добра тебе.
Многие либы содержат в себе код на си для ускорения. Код на си (если не cffi в режиме abi) не совместим в бинарном виде. Хотя вроде есть какое-то гарантированое подмножество api пифона, которое будет поддерживаться отныне и впредь, но это не точно. А те чё, либы не установить которые нужны? Это же одна команда python -m pip install -r requirements.txt.
Плюс, вроде в виртуалэнве ссылка на бинарник пифона. Это тоже может сломаться при переносе на другую систему.
Изучил основы. Из книг.
- Укус Питона.
- Лутц-Изучаем python.
- ThinkPython.
Руки чешутся не могу, хотелось уже перейти к практике. И начать писать риал программы.
Я думал что "Лутц Программируем на Python (2 томник)" мне это даст. НО после первых 200 страниц я понял что там опять ебаная теория, еще больше ебаной теории.
Как же быть сеньоры?. Всвязи с чем назрело пару вопросов. Книгу то я все равно дочитаю. Но вот 100 страниц про модули os и sys все их возможности одих хрен не запомню без практики.
1) Где взять практики по голому питону? Решение своих каких-то задач для пк не требуется, нужен опыт который пригодится для работы и трудоустройства.
2)После практики можно переходить к джанго? или можно попробовать обмазаться им сейчас (параллельно)
3) Самое конечно волнующее меня это базы данных
4)CSS и Html я тоже бегло изучу, но насколько они нужны в бэкэде?
Все пока что. Буду благодарен любому совету опытного анона.
>>989088
Я изначально, похоже, не так понял предназначение virtualenv, но, сказать честно, теперь вообще не понимаю, нахер это говно нужно. Я уж по простоте душевной думал, что virtualenv — инструмент для деплоя, а это просто рубишный бандлер, решающий те же проблемы, что и рубишный бандлер, но заставляющий при этом хоть иногда голову включать, что, впрочем, в данном случае профита не дает, но идеологически более верно.
Я не то чтобы очень уж опытный анон, но всё же.
1) Маленькие алгоритмические задачки можешь посмотреть на codewars.com и exercism.io
Идеи для проектов чтобы попрактиковаться можешь посмотреть здесь: https://github.com/tuvttran/project-based-learning
2) Имхо если понимаешь ООП в Python и знаешь основы SQL (и что вообще представляют из себя реляционные БД), то можно смело тыкать Django. Поясню за SQL: в Django своя ORM, которая сама составляет SQL-запросы, так что писать SQL руками не придётся. Именно поэтому имхо лучше заранее иметь представление об SQL, чтобы можно было проще понять как под капотом работает ORM (в джанговской REPL можно посмотреть SQL запросы которые ORM генерирует).
3) Собственно, на начальный порах можно пользоваться SQLite - вся БД в одном файле в папке проекта. Но рано или поздно все равно придётся познакомиться с более серьёзными СУБД. Классика - MySQL или PostgreSQL.
4) Ну HTML знать точно нужно, потому как шаблоны для джанги ты все равно сам пока будешь писать. CSS выдрачивать на уровне профессиональной вёрстки смысла не вижу, если нет желания фронтендом заниматься, но какие-то базовые знания пригодятся в любом случае.
Страница у меня не открывается почему-то, но вообще Brython - это ж компилятор Python to JS. Зачем? Без понятия.
Задача очевидна. В разных проектах используются разные версии пекеджей. При стандартном использовании питона у тебя нет возможности поставить один и тот же пекедж разных версий. Но я рекомендую тебе окунуться в мир pyenv и забыть об этом сраном venv навсегда.
Я для этой задачи использовал TfidfVectorizer из sklearn. Реализация сейчас следующая:
https://pastebin.com/b2qvGhmW
Итого, всё работает, но на 20 000 документов уже не хватает 500 мб памяти на халявном хостинге. Я ещё в процессе проверки узких мест.
Думал кроме матрицы всего и вся сделать группы документов, с документами-представителями и проводить сравнение документа с представителем каждой группы, если наблюдается совпадение на квадрат минимального процента - добавлять в группу, с лидером которой наибольшее совпадение. Если совпадения такого нет - создавать новую группу, представителем которой будет этот документ, а потом из каждой группы строить матрицу.
Но оказалось, что этот векторайзер очень медленный, если его использовать итерационно. Например, для того, чтобы сравнивать два документа между собой. Хотя, весьма вероятно, что в sklearn есть более подходящий инструмент для этого.
Посоветуйте годных, быстрых реализаций сравнения. Можно для массива, можно для двух документов.
По закрытию браузера не получится, наверное, а вот по таймауту куков проще простого: http://stackoverflow.com/questions/14830669/how-to-expire-django-session-in-5minutes
зачем ты мне транспайлер то кинул ?
ну юзай сокет.ио в чем проблема?
Спасибо, антош.
Антон, разъясни пожалуйста за многозадачность.
Есть сайт без API, мне его нужно скраулить. Проблема в том, что GET каждой страницы выполняется долго. Не беда - распараллелим всё это дело по разделам. Я заюзал multiprocessing.Pool().map, стало быстрее в 10 раз, но хочется больше
Обработку каждого раздела можно дальше распараллелить: я могу сгенерить полсле обработки первой страницы в разделе список урлов в разделе. В идеале, хочется после генерации этого списка хочется подкинуть обработчику еще задач и дождаться их выполнения, но multiprocessing.Pool так не работат (или я что не так делаю?).
Что посоветуешь посмотреть?
part.add_header('Content-Disposition', 'attachment; filename="%s.xlsx"' % os.path.basename(file).encode('utf-8'))
Тут уже лучше, файл отсылатеся, но имя не корректное. Как сделать все правильно?
Спасибо.
google://aiohttp crawler
Да, антош, ты прав, спасибо за наводку.
спасибо за развернутый ответ. тонны нефти тебе
Tk насколько я понимаю мертв, стоит ли тратить время на изучение pyQT ради расширения кругозора пунктика в резюме
Ну смотря что тебе нужно. Если ты чисто вебом хочешь заниматься, то можно не торопиться тыкать PyQt. Если есть желание что-то под десктоп попилить, ну тогда учи конечно. Tk пойдёт чтобы быстро накидать прототип какой-нибудь, но чтобы кто-то на нём что-то серьёзное делал я не слышал.
Вот есть объект, у него есть 3 поля - name, x1, x2 (например). Из списка таких объектов мне нужно получить такой словарь словарей, что на 1м уровне все объекты будут сгруппированы по значению поля x1, далее, значением для каждого ключа x1 будет словарь, в котором объекты, которые там есть, сгруппированы по значению x2. Я написал рабочий вариант, но есть подозрения, что всё это делается как-то короче.
https://pastebin.com/mFad7yCJ
Тоже интересует, я так полагаю, что кроме честного слова анонима вариантов особо и нет ?
Или можно сразу начинать учить джангу?
да ладно, уже прочитал
просто я не понимаю в чем смысл следующих двух книг лутца, особенно если ты давно уже не ньюфаг в программировании
Так не тебе же, а Лутцу, глупенький
Можно, у меня на гитхабе ничего кроме блога нет.
Так что у кого гитхаб нормальный пусть и собирает.
Ну о том и речь.
Мож я куплю просто, а потом первым 4 за 10 баксов буду скидывать копии
Шансы что первый выложит почти 100%, конечно, но мало ли
Хз, могу задеанонить твитур разве что, хотя не горю желанием собирать деньги, потому что а кто мне всё равно поверит, сам бы себе не поверил.
Давай ты покупаешь, я покупаю у тебя за 10 баксов, а потом первым 4 продаю за 2,5 бакса.
Шансы что первый выложит почти 100%, конечно, но мало ли.
Формально количество паранойи от этого не уменьшается, потому что теоретически левый анон скинет свой вебмани или что там и кто знает что это ты.
Содержимое классов, наследующих QVBoxLayout, менять не надо, т.к. в том коде, на котором построен пример, они, помимо большего числа виджетов, содержат минимум 2 лайаута.
Пример: https://repl.it/HwWX/1
может это не по теме
но где тут ошибка?
menu:
"испробовать ли пивасия?"
"да":
show syl happy at left
syl "вздрогнем!"
"да, но лучше водки":
$ ppoints += 1
show syl happy at right
syl "алканафт дохуя?"
"нет":
show eileen norm
elin "тогда вали отсюда"
scene bg room2
if <$ ppoints = 1>:
show eileen happy
elin "ну, ты точно алкаша!"
else:
show syl happy at left
syl "Меня твои охуительные истории доебали уже"
return
может это не по теме
но где тут ошибка?
menu:
"испробовать ли пивасия?"
"да":
show syl happy at left
syl "вздрогнем!"
"да, но лучше водки":
$ ppoints += 1
show syl happy at right
syl "алканафт дохуя?"
"нет":
show eileen norm
elin "тогда вали отсюда"
scene bg room2
if <$ ppoints = 1>:
show eileen happy
elin "ну, ты точно алкаша!"
else:
show syl happy at left
syl "Меня твои охуительные истории доебали уже"
return
Анон, что купил, оставляет своё мыло и оттуда уже отправляет свой вебмани.
безумно извиняюсь, я тут новенький
просто меня эта переменная доебала уже
в видео весь синтаксис точно такой же
а ошибка -пишет в синтаксисе
Останется ли покупатель обманут, или обманут ли скинувшихся ? За этими и другими событиями следите только в этом треде!
Перекат бы лучше запилил.
На питоне вообще адекватно делать десктопные вещи?
И как это запустить?
Это копия, сохраненная 5 июня 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.