Это копия, сохраненная 28 октября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий >>1472577 (OP)
ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 года
Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK
Анон, вместо того, чтобы без разметки постить код, лучше шарь код через специальные ресурсы:
https://ideone.com/
https://pastebin.com/
https://pyfiddle.io/
https://www.codepile.net/
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.
Стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
А что ещё можно читать? - Питон сам по себе очень хорошо задокументирован, и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.
В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Питон всегда на посту и готов перекатиться в любой момент.
Привет, двач. Есть у кого на примете годный курс лекций по алгоритмам? Знаю, что библией алгоритмизации считается книга Кормэна(потом по нисходящей идут Дасгупта и Бхагарва, тоже знаю) и мне нравится её полнота, однако, формальный язык очень и очень отталкивает, не способствуя пониманию. Да и вообще, формат лекций мне как-то ближе, нежели просто чтение книги. В общем, какие требования? Полнота(речь не об N-полноте, лол) Кормэна в сочетании с интересным, не сухоформально рассказывающим преподом. А, да, и чтобы на русском(знаю, что охуел). Подскажите чего по сабжу?
Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Интересует именно что, как, где и зачем это применять.
>>484265
Мфтишный курс, например, https://www.youtube.com/user/tkhirianov/playlists
Вот код: https://pastebin.com/KUYjNzBa
Спасибо за помощь.
Специально для тебя шизик.
Сверился с доками: в текущей реализации CPython он каждые 400 инструкций меняет контекст потока исполнения на следующий тред.
В версиях ~до 3.0 многопоточные треды вешались
Аноны, помогите c PyQt, пожалуйста. Написал на PyQt небольшой скрипт, который выводит результаты расчетов по введенным параметрам(первый пик), но когда меняю значение одного из параметров и нажимаю кнопку рассчитать(по идее все значения должны переопределиться), он добавляет строчки поверх других(видно на втором пике), когда писал на tkinter,, строчки автоматически обновлялись, а здесь нет. В чём проблема в общем? Неужели еще писать отдельную функцию для очистки строк или я что-то проглядел? вот ссылка на код: https://pastebin.com/RCuGZDHA
Еботню написал полную, в плане архитектуры твоего окна и виджетов.
Возьми ты КТДезигнер и накидай всё нормально и потом уже логику прикрути.
А че консольное для такой хуйни не подойдет? Или тебе надо именно кнопки для бабок срак? Тут имха проще по шурику какой нибудь флакс развернуть и хтмл кнопки нарисовать
Второй вариант. Сам бы я смог и в консоли, но скрипт этот буду показывать дядьке, который в программировании не понимает ничего(хотя я и сам новичок в этом), а так покажу приложение это мол смотрите что умею, с кнопками всё и всё автоматически чертит и считает, презентовать так сказать навыки свои.
второй петухон все? Сразу в третий вкатываться? Что думаете о курсах на юдеми? Как апнуть левел с "рисованием совы"?
> второй петухон все? Сразу в третий вкатываться?
Он был всё ещё 10 лет назад.
> Что думаете о курсах на юдеми?
Хз, но если уже кодил на чём-то, для начала хватит официального туториала.
> Как апнуть левел с "рисованием совы"?
Писать свои проекты.
Хуйню несуразную написал даже лень разбираться. Ты печатаешь каждый новый результат поверх всех прежних.
сделай грид с QLabel и используй QLabel,setText("твое говно")
Сап, б, как мне запилить анимацию графика в матплотлибе, если есть уже готовые точки?
Есть переменная такого вида
G = [array([ 0.71047606, -1.08423201]), array([ 0.6865158, -1.0781426]),...array(..)]
В каждом из array'ев х и у координаты.
Я прост не могу по примерам переделать, не понимаю куда что идёт
Конечные автоматы
Первый вопрос:
Как строка хранится в памяти? Сколько места занимает один символ из строки в памяти?
Забавно, такой хуйни я ещё не слышал.
Ну ещё немного от задачи зависит. Если у тебя что-то серьёзное, то надо думоть. А тут же хуйня из-под коня, расслабься.
Я б расслабился, если б разбирался в вопросе. Потому что заполнение данных и кое-какую форму логина я собрал из говна и палок, что нашел в интернете. FlaskWTF вообще полным пиздецом показался на первый взгляд.
Максимум - list comprehension, ну или лямбда-хуйню. А тут такое вот, прям охуеть.
for i in list:
--ib
Как вот это самое ib через фласк сервис отобразить так, чтобы оно пошагово выполнялось? Что-то типа i1b показалось, потом обновил страницу отобразилось i2b и так пока цикл не закончится?
Все что нужно было ответить копируется ли значение из других переменных по ссылке или по значению и про утф лол
Пахнет асинхронщиной.
Если прям через фласк хочешь - возьми Celery, создай там таск, верни юзеру ID таска и пускай он периодически проверяет состояние данного таска.
В одной из книг по фласку - было подобное. Чекай книги по ссылкам в ОП-посте.
> А что, есть альтернативы?
Можно сделать через потоки/процессы с костылями и кучей говна.
Выход есть всегда.
Ну да я сказал, что мне нехорошо и надо выйти, извинился и пошел в туалет быстрым шагом, за спиной услышал "фу блядь", оказывается повидло по ноге стекло и оставило след на полу. Ну я обратно не вернулся.
> Ты хоть чето ответил мудак бля
Я охуел от такого вопроса сразу и совсем его не понял.
Он потом пизданул про утф, я дополнил, он пизданул про 2 байта на символ и всьо.
Благо дальше собес норм прошёл.
>>485775
Вот кстати было подобное(ну почти) однажды.
Пришёл на собес, пропиздели там 2 часа с двумя лидами, в конце спрашивают "Есть ли к нам вопросы?", я - "Не, нихуя". Лиды уходят, остаюсь с хрюшей. С ней ещё попиздел и захотел ссать. При выходе из переговорки спросил у неё, где туалет на этаже, она рассказала. Идём блять около мест в попенспейсе, где сидят те лиды, и она во весь голос им говорит "Вы знаете чому у анона не было вопросов к вам? Он в туалет захотел, лол.". Сука, ну ебаный в рот блять, чому ты такое тупое животное?
Ну и самое охуенно ждало в туалете: весь такой ниибацца БЦ снаружи, всё охуенно, ага, а туалет(очко+писуар) один на этаж, а офисов то дохуя.
Охуительных историй трэнд
Для начала задай себе главный вопрос: а нахуя тебе разбираться в многопоточности?
У меня известен диапазон, в котором находятся случайные числа. Идея в том, что пять из шести должны быть взяты каждый из своего диапазона таким образом, чтобы в сумме они давали 100.
А шестое число мы будем брать такое, чтобы в итоге сумма шести была равна 100? И в чем проблема тогда? Складывай пять случайных чисел, вычитай из них сто - получишь шестое число с обратным знаком.
Я так понял у него уже есть какое-то рандомное число и надо к нему приплюсовать еще пять рандомных таким образом, чтобы получилась сотка.
>>485962
Спасибо, я с этим разобрался. Только проблема: оно почему-то не работает. Сам не кодер ни разу, не разбираюсь, просто некоторые вещи своей работы хотел автоматизировать, чтобы в ручную не считать нихера. Вот че наделал: https://pastebin.com/L7vpMDsg почему-то выводы print(1) и print(Possible) не делаются, только print(2), а интерпретатор не ругается ни на что. Подскажите, где я мудак?
Ну тут много вариантов. Мой любимый:
uwsgi->sock->nginx
Ещё неплохо:
Gunicorn->sock/port->nginx
Но второй вариант с aiohttp юзаю обычно.
Можно ещё через апач, можно вообще напрямую тестовый сервак ебнуть.
1. Где нормальный нэйминг?
2. "Закройте программу и попробуйте снова" - ты серьезно? Ебни над каждым выбором цифры цикл бесконечный, который бы прерывался только верно введённым числом + хоткеем каким кастомным.
Конец вообще не осилил
Я новичок, за пару недель вроде натянул базовый пайтон, посмотрел видосы, прочитал несколько книг.
Хочу попробовать создавать парсеры, что бы хотя бы за копейки сделать какой нибудь заказ на парсер. Не ради денег, а просто интересно и для мотивации, что бы понять как знания можно применять.
Что для этого сейчас актуально учить? Видосы в ютубе по парсерам планирую посмотреть, но там в основном 16-17 год, мб уже что то изменилось.
Не, курс по ОС для этого не нужен.
По ОС полезно что-то знать, чтобы понимать, что такое процесс, системный вызов и прочая хрень. Треды тоже туда, но ты учти, что это про более низкий уровень, не про питон.
Теме наверное нужны материалы по конкурентному программированию, это и про потоки, и про ОС. Попробуй вот этот видос: https://www.youtube.com/watch?v=MCs5OvhV9S4
английский тут умеренно сложный. Тут как раз очень наглядные примеры и про потоки, и про процессы, и идеи асинхронности.
Спасибо, попробую нагуглить на эту тему.
>Хочу попробовать создавать парсеры, что бы хотя бы за копейки сделать какой нибудь заказ на парсер.
Такого рынка практически нет. Есть, но очень эпизодический.
>Что для этого сейчас актуально учить?
Доки по регуляркам.
> Видосы в ютубе по парсерам планирую посмотреть, но там в основном 16-17 год, мб уже что то изменилось
Это настолько древняя тема, что даже за 20 лет ничего не изменилось. Эту тему можно и по книгам для второго питона учить, ничего не потеряешь.
>Такого рынка практически нет. Есть, но очень эпизодический.
То есть смысла нет? Я просто читал, что так можно получить первый опыт, что бы потом легче было на нормальную работу устроиться, на постоянке то естественно не собирался только этим заниматься
Найди среди книг на я.диске "скрапинг данных"(или что-то типа того), там всё годно расписано.
На ум приходит только запуск в celery таска, раз в час, который выгребал бы все события из бд по определённым параметрам и потом запускал рассылку. Но это выглядит как-то не очень.
Выглядит интересно, попробую, спасибо.
В чем смысл идеи - создать монстра, чтоб ходил по моим же сайтам, и накручивал клики Адсенс!
Главный вопрос: есть ли вообще шанс обмануть таким образом всемогущего гугла? (хотелось бы посредством питона). Кажется, всё достаточно просто: посылай реквесты с разными параметрами (ну и конечно прокси). Спалит? Можно ли с помощью реквестов эмулировать разное время пребывания на сайте, или для этого нужен другой инструмент?
Посоветуйте куда копать...
Гугол с помощью своих метрик анализирует поведение пользователей плюс снимает уникальный слепок браузера (есть куча browser fingerprint техник).
угу, уже почитал, походу это нереал ((
А если и реал, то ооочень трудозатратно, легче замутить белую тему
Я даже и не заметил этой надписи, забавно.
Ещё вопрос, ибо туплю.
Надо в простейший фласк сервис засунуть json, обработать его внутри, и потом выдать результат в виде json'a.
Как это сделать? А если будет поток json'ов на входе и выходе?
Посмотрел уже кучу примеров. но не понял, поэтому и спрашиваю.
Вот есть какой-нибудь input.json
Как его в простейшем случае подать на вход , чтобы получился выход?
@app route("/")
def huita():
----return jsonify(do_something(input.json))
а что там такого
тем более наверняка есть либы для отслеживания событий и не надо велосипедить
я лично вкатывальщик на фронт а не бэк тоже такое напишу (не на питоне а на джс офк) но пришлось бы несколько дней мучиться потому что никогда не тыкал всерьез регистрацию и рассылку почты это же бэк
Для меня важно сделать это эффективно с точки зрения компуктерных ресурсов. Для меня очевиден генератор в генераторе, пик2. Но т.к. остаются пустые элементы, их нужно исключить.
Следовательно вопрос, пик3 или пик4? Может быть я глуп и можно сделать иначе/проще?
>>486622
В смысле технологии? Джанга очевидно на питоне, рест очевидно мейн подход к жанге, жсон очевидно в 99.9% используемый формат
Асунк сейчас вообще везде по умолчанию исплоьзуется странно что он вообще перечислен
Задание буквально на полтора роута/контроллера и один апи колл. Я бы давал однодневный дедлайн на такую хуйню
Анон очевидно устраивается в шарашкину контору и скорее всего по распределению с вуза
> Анон очевидно устраивается в шарашкину контору
Скорее всего, хз, они ноунэймы, а выебываются много. Вначале опыт им детально распиши, потом они такие "шото слабо" теперь и тестовое.
Это я ещё последнюю страницу не заскринил, там вообще ор, чуть позже скину.
> скорее всего по распределению с вуза
Ноуп
Но мне хули, пока без работы сижу - сделаю.
Сап, двач, в чем основная проблема вката на работу с python?
Он кажется очень классным для решения многих задач. Намного проще, чем, скажем, Java. И как-то не так много моментов, когда день не можешь понять, что не так и как что сделать. Да и в целом он приятен. Значит ли это, что можно забить на прошлое и за несколько месяцев подтянуть себя до написания приложений/скриптов нормального уровня? Пора уже работу искать, но страшно что-то менять. Кажется, что если уделил столько времени другим языкам -- не стоит перекатываться пока.
В ТЗ на джангиста указан блять питон с джангой но не указаны ни меил сервис ни условия использования крона ни бд )
Какая-то галерная ловушка
> В ТЗ на джангиста указан блять питон с джангой но не указаны ни меил сервис ни условия использования крона ни бд )
Ну гляди, они перечислили желаемые технологии, для данного теста. Очевидно юзание БД, любой, раз не прописано. С меилсервисом я ебаториться не буду у них, оставлю пустые места для кредов под мыло.
> Какая-то галерная ловушка
Таки галера, да ещё и мелкая, тут иначе никак.
Чуть позже скину скрины вакансии.
>необязательно в async/await писать постоянно loop.run_until_complete()
Ну вроде как во всех последних версиях(3,5+ точно) можно писать не только лишь run_until_complete, но и другие команды.
А про это почитать можно в доках. Как и про многое другое.
https://docs.python.org/3/library/asyncio-eventloop.html
regexp сучка
О така хуйня
Пик 3 - завершение тестового письма, немного проиграл с этих условий начала разработки и т.п. Проиграл ибо у меня есть гитхаб, нужны комиты и качество коментах к ним - пиздуйте туда.
Это наверно наебка гоев, там носатый сидит и раздает задачи с фриланса под видом тестового лол.
>Че ты сразу не сказал
Конечно тут все пидорасы
Сайт сделан на жкверях с моргающими анимациями
Проекты половина мертва
http://celebstalker.com/
http://remoda.io/
http://app.nrs.co.uk/
Наебалово какое-то 100 процентов
Че орешь-то, все так и начинается как в тюрьме бля. Сначала говорят, подай кружку пожалуйста, потом подмети пол, а потом ты уже хуй сосешь.
Вот и тут также, сначала создать проект на битбакете, а потом будешь анус на вебку дергать.
сначала создать проект на битбакете
потом закоммитить на него свое обнаженное фото
ну а там и до вебки недалеко
> тут натуралы сидят.
> обсуждают своих питонов
> доказывают, что у кого-то питон лучше
> натуралы
Окай
Создай ботнет, правда использовать его в таких целях будет не очень выгодно
run_until_complete вообще плохой выбор, это функция скорее для разового запуска задачи, это больше какие-то тестовые примеры. Если у тебя в программе больше одного вызова run-функций, то ты скорее всего что-то не так делаешь.
В разных версиях свои нюансы. Сейчас тенденция такова, что стараются выпиливать явное указание loop отовсюду, откуда можно.
Начиная с версии 3.5.3 можно узнать текущий loop специальными функциями и поэтому явно передавать не обязательно. Беда с версиями в том, что в ubuntu LTS 16.04 версия 3.5.2.
Грамотнее перейти на 3.6, или лучше сразу на 3.7, если нет завязок на 3.6
В 3.7 уже практически полностью ушли от того, чтобы явно цикл обработки сообщений указывать. Ты просто вызовы функций вроде
asyncio.run(main()), все сервисы тоже через asyncio, никуда loop не передаёшь.
Повышаю:
Сап, двач, в чем основная проблема вката на работу с python?
Он кажется очень классным для решения многих задач. Намного проще, чем, скажем, Java. И как-то не так много моментов, когда день не можешь понять, что не так и как что сделать. Да и в целом он приятен. Значит ли это, что можно забить на прошлое и за несколько месяцев подтянуть себя до написания приложений/скриптов нормального уровня? Пора уже работу искать, но страшно что-то менять. Кажется, что если уделил столько времени другим языкам -- не стоит перекатываться пока.
Нет никаких проблем. Берешь и вкатываешься. Но если ты где то там например в джаве или шарпе что то не можешь понять по целому дню то в питоне будет тоже самое.
Может программирование просто не твое. Иди на пекаря лучше выучись. Будешь вкусный хлебушек печь в пекарне.
Не всем дано головой работать.
Сын педофила, он по жизни дизморальнутый. По его посту видно что он не сможет в программирование.
Но я прошу 1900$, я сейчас получаю 1400$
Ты понимаешь, что если отзеркалить твой пост, смысла станет куда больше?
Проблемы всё примерно те же, что и с другими языками. Сложно вкатиться не в питон, а в коммерческое программирование, конкретный язык не так важен.
В Java сильно тяжелее вкатиться потому, что на Java в основном серьёзные проекты и нужны серьёзные матёрые программисты. За хороших сеньёров драка, уже мидлы не очень нужны, джуны даже за доплату не нужны.
Так сразу не понятно, что не так. Ты ведь создал предварительно ручками каталог RESERV, да? Должно работать тогда. Если не создал, должно НЕ работать.
И вместо того, чтобы руками склеивать путь, вставляя os.sep, лучше делать как-то так:
target = os.path.join(target_dir, time.strftime(xxxx) + '.zip')
Вкатиться в джаву - херня по сравнению с теми же плюсами. Работы, где не нужен опыт, полно. Стажировок тоже хватает.
Мимоджун
создал ручками
> херня по сравнению с теми же плюсами
Да ты что? Вот это новость.
> Работы, где не нужен опыт, полно. Стажировок тоже хватает.
Как насчёт пруфов?
Активирую эту среду и пытаюсь ставить туда модули pip. При установке выскакивает ошибка доступа к директории /usr/local/основнойпитон и предлагает использовать флаг --user. С этим флагом все работает. Вопрос такой почему вообще установка модуля в виртуальной среде стучится в папку основного интерпретатора? В добавок модуль ставится не в папку созданной env, а не понятно куда в систему. Это норма?
Это всё на линуксе, если что.
Тут все в порядке. Показывает папки моей виртуальной env.
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. plt.show()
Поставил я python3-tk sudo apt install python3-tk
Графики стали отображаться, но только на интерпретаторе 3.5. Если ставлю 3.6 ошибка повторяется. Как и куда мне прописать путь, чтоб python3-tk видел python3.6?
От самого python3-tk только текстовые файлы нашел в usr/share/doc
С официального туториала. Ну, мне ещё Саммерфилд зашёл.
Вопрос и варианты ответа, выбираешь вариант он тебе ответ правильно или нет, либо список 10 вопросов из 100 и в конце результат правильно-неправильно.
Как лучше это все реализовать?
Знаю что есть отдельные программы и без питона, он хочется на питоне)
Немного о проекте под спойлером:
Разрабатывается сервис, который призван стать новой рыночной средой, объединив в рамках одного интерфейса (мобильного приложения и веб-сайта) любые товары и услуги, которые существуют в мире, и оптимизируя рыночные взаимодействия по всей цепочке "добыча—потребление". Разработано это будет как переносом модели теории игр на взаимодействие участников рынка, так и созданием прогнозируемой рыночной среды, в которой запросы на товары и услуги будут удовлетворяться предложением и наоборот.
В конечном итоге это приведёт к тому что:
а) потребитель будет быстро находить наиболее подходящие для него товары и услуги и платить за них меньше;
б) производитель увеличит оборот, будет затрачивать меньше ресурсов и получать больше прибыли.
У нас продуманы концепции инструментов, на которых будет функционировать будущий сервис (они раскроют намного больше возможностей), разработана дорожная карта, составлен бизнес план формата UNIDO, сформирована команда единомышленников — людей самых разных навыков, которые двигают разработку. Мы пока в начале пути и привлечь нам удалось лишь 106к рублей инвестиций — мелочь, но мы набираем обороты. Совсем недавно в сырой версии выкатили презентационный сайт, который сейчас активно допиливается. Сейчас переходим к этапу малой маркетинговой кампании. Все члены команды, которые вносят вклад в развитие проекта впоследствии получат справедливую долю в компании. Однако, и уже сейчас мы стараемся платить какие-то деньги, из идущих инвестиций, согласно потребностям людей, и приобретать необходимые для эффективной работы вещи. В ближайшей перспективе планируем перекатываться на иностранный рынок.
Как же ты заебал, шизик
Естественно айпи адрес по этой хуйне получить невозможно
Ты тупой, да?
20*(1,04)^(2006-1626)
Консольный или графический? Если графический, то именно оконный или через браузер можно?
Самый ключевой вопрос в том, на чём интерфейс делать.
Чтоб красиво было . Там выдакт число с точкой и нулем
>формула сложных процентов
>экономист
У меня на первом курсе был один семестр экономики, и то там были задачи мудовейшие, типо про то, сколько там завод выработает, если у него 10 видов станков, и детали должны по каждому виду пройти, но скорость станков разная, они работают в разное время в день, на разных видах разное количество рабочих с фиксированным процентом того, что рабочий забухает и на работу не выйдет и так далее
Да, можно и на пистоне, чому б ни?
По идее, во второй переменной значение меньше, чем в первой. Но они одинаковые, хотя сам файл занимает место. Проверял и не с временными директориями и файлами. Всегда результат такой. Что я делаю не так?
Ссылка на код: https://www.codepile.net/pile/jDjEl4yN
Что ты тестируешь? Создание файла? Выделение системой места под файл? Нет, ты вроде тестируешь функцию, которая возвращает свободное место на диске. Поэтому, как по мне, тебе нужна получить объём свободного места через свою функцию и вызвать системную команду, которая выведет тебе это же значение, затем сравнивай их.
Да, это не будет кросс-платформенно(на сколько я понимаю), но зато будет логичней.
Файл точно создаётся, ты его сохраняешь и все такое? Попробуй ручками создать и сравнить.
Да, я понимаю, что тестирую функцию, которая возвращает свободное место на диске. Но вот придумать, как правильно протестировать, с этим трудности. Я могу попробовать вызвать системную команду, но разве это не будет один и тот же код, что я тестирую? Или я неправильно понял?
Да, файл создается. Пробовал и обычные файлы создавать(через open().write()).
Функцию, которую тестирую, прикрепляю.
А, ты пишешь тест ради теста?
Просто в идеале, твою функцию можно не тестировать, ибо тут ты берёшь и выполняешь методы из стандартной либы.
Протестируй возвращаемый результат(тип) и позитивные/отрицательные тесты над вариантами переданного параметра проведи.
На этом всё.
Бамп с уточнением. pycharm тут не играет роли как я понял. Если в консоли запускать python 3.6 затем import tkinter, то выдает:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
То есть будто его нет. Но при запуске python 3.5 import tkinter работает без ошибок.
Если важно, то python 3.5 лежит в /usr/bin/python3.5
python 3.6 лежит в /usr/local/bin/python3.6
Возможно из-за разных путей модуль не подгружается, но я без понятия куда путь нужно прописывать.
Спасибо за помощь.
Я пытаюсь вникнуть в правильное написание тестов, и пока стараюсь писать их для всего, для чего могу. И когда встречаются функции сложнее, чем стандартные (def calc(a, b): return a + b), я хз как подступиться.
Уточню только насчет поз./отриц. вариантов - это значит вызов функции с корректными/некорректными данными? Или что-то типа assertTrue(), assertFalse() над результатом?
> и пока стараюсь писать их для всего, для чего могу
А надо для того, что нужно, но скоро поймёшь.
> корректными/некорректными данными
This
Позже, чем 2 издание
А, ну тогда она не нужна.
На сколько я понял из коментов к книге - это просто выжимка его статей с сайта, с небольшими дополнениями/пояснениями.
Оно того не стоит, в общем и целом.
Когда только кикстартер по ней подходил к концу - была скидка, хотел купить, но потом передумал и не жалею.
1280x720, 5:39
Только не после того как процесс завершится, а "пайпить" по мере выполнения процесса.
Короч мне нужно поведение как если бы я просто в шелле команду исполнил.
subprocess.run - очевидно не подходит.
Кажется нужно ебаться с subprocess.Popen.
как мне перекодировать это начале
в нормальные символы?
Можно конечно прогонять строки через цикл while, но это выглядит по-дебильному, уверен есть способ проще
https://docs.python.org/3/library/re.html#re.sub
>re.sub(pattern, repl, string, count=0, flags=0)
>The optional argument count is the maximum number of pattern occurrences to be replaced; count must be a non-negative integer. If omitted or zero, all occurrences will be replaced.
Аргумент count ты не трогал?
Если нет, то скорее всего ты обосрался где-то в самой регулярке, запости её.
С этим сложно. Мне когда-то очень давно удавалось решить эту проблему, через fcntl кажется, но сейчас на нагугленных тестовых примерах проверил, не работает ничего.
Недавно спрашивал тут про решение на asyncio, ничего не работает, никто тут не ответил.
Это всё на линуксе, и раньше, когда удавалось, и сейчас. Раньше делал на 2.6, на работе такой питон был.
Если у кого есть рабочее решение, отпишите.
Я ещё гляну, может у меня моё решение сохранилось где-нибудь, может заново воссоздам.
1280x720, 2:22
Ну, я до вот такого решения дошел (пока без stderr).
def _run_command(args):
....process = subprocess.Popen(args, encoding='utf-8', stdout=subprocess.PIPE)
....for c in iter(lambda: process.stdout.read(1), ''):
........print(c, end='')
Техноблядь? Не выебывайся, пиши вывод результата в консоли.
ты можешь писать на джанге так же, как и на фласке
а можешь писать на фласке так же, как и на джанге
на что планируешь туда и вкатывайся
Есть ли смысл перекатываться на джангу, если более-менее разобрался и пишешь на фласке?
И ещё хотел узнать, почему в опере и хроме с моим костыльным дизайном все нормально, а в фоксе все идёт по пизде. Юзаю бутстрап.
мимо
Читал мельком, что следующую версию будут делать асинхронной, там же охуеть сколько переписывать.
блять я сам пишу на фласке и мне норм. Но если будет проект на джанге - для меня не проблема и перекатится на неё.
Вопрос "стоит ли" исходит из проекта под который пишешь. А если по фану во что-то вкатится - вкатывайся в джангу.
Вёрстка в комплект не входит так-то.
ебаная хуйня для ебаных макак. Как они Django ORM в асинк будут перетягивать интересно
Можешь оставить мне тележку, поболтаем если хочешь))
Не вижу толком разницы между джангой/фласком/пирамидой/etc
Все одно и тоже. Полистай доки и будешь готов к проекту на любом фреймворке.
Нахуй вся иерархия эксепшнов? Чтоб було!
планирую и на том и на том. просто сооль в том что фласк же более низкоуровневый и надо будет все ручками по шагу писать - чтопоможет мне в изучении веба, как и что устроено и как все это реализовать.
на джанге многое это из коробки кнч идет, но думаю будут проблемы из за непонимания вот веба
Ты бы его уже освоил вместо того, чтобы здесь весь постить.
Да хуй знает.
Сколько попросишь - столько и будет.
Всё зависит от твоих скилов и опыта ибо вакансия эта как "хуйня в вакууме", на неё и мидла зовут и ждуна.
а не в дсах этих ваших? просто в своем поволжье миллионике там нигде не написана зп конкретно джун интересует
Где-то было сравнение зарплат в Москве и регионах у программистов. Загугли. И попроси чуть выше.
ну опыта нет. вот подучил джангу фласк sql соответственно ну и хтмл и ксс чтобы это все как то вывести. херовые знания в общем. из практики реально ток то что в доках, видеоуроках, книгах да да везде давайте создадим свой бложик ведь это мега оригинально ну и джва сайта которые я сам писал когда присылали тест задания на 17 откликов лул. хуй знает как вкатиться в это ебучее айти и где брать идеи для заданий чтобы можно было хоть какое то портфолио набить. соваться на фриланс ?
>>489745
а меня не пошлют ли нахуй сказав мы вам перезвоним и будут глядеть на другого кандидата в таком случае?
> а меня не пошлют ли нахуй
Нет.
Ты не грузчиком устраиваешься.
Есть разные варианты.
Могут отложить вопрос ЗП до момента, когда будут делать офер.
Могут поинтересоваться, почему столько. Скажешь как есть - сайты говорят столько, но ты готов к торгу
Могут сразу сказать свою вилку.
А могут и дать.
Фреймворки это хорошо.
Но;
1. Не собираешься в фуллстэк - не учи особо хтмл/жс. Слегка по верхам можешь, что бы уметь свою админку сверстать, но не более.
2. Что плохого в бложиках/борде? Это идеи лежащие на поверхности, бери и пили + добавляй свои фишки, заодно выучишь кучу сопутствующих библиотек и сервисов.
3. Кроме фремворков, потыкай ещё скрапинг данных, автоматизацию и ботов, тоже полезные вещи. Можешь запилить свой фреймворк с плагинами для этой ерунды, тоже охуенная практика.
4. Как по мне, идеи если и брать, то для своих проектов, которые, возможно, взлетят.
Я б на твоем месте просил 300-400$ и похуй куда(но не больше года), что бы набить "комерческий" опыт. Поверь, с ним тебя будут с руками отрывать на рынке труда.
Ну и не забудь на линкедине зарегаться.
HH был и есть говном, вернее хрюши его в это превратили.
В линкедине, после расширения своей сети "друзей," за неделю по 3-4 хрюши пишет с предложениями различных вакансий, да, в 99% это галеры и большинство говно, но тем не менее, чому б ни? В то время как на HH мне из 5 откликов лишь в 1 отписались, причём на почту, и позвали в телегу на разговор, а оттуда потащили в зум, ебаны рот.
Можно скинуться
Знаю Python, немного Django. Пробовал делать блог на чистом django, что дальше? Гуглил, как стать веб-разработчиком. Между моими знаниями и нужными знаниями огромная пропасть и я вообще хз как сделать мостик((
Постоянно учить новое и использовать это в своих проектах. Просто ебашишь и ебашишь.
"Новое" - в плане новое для себя, а не появившееся недавно.
Бежать за технологиями, появившимися вотпрямвчера - не самая хорошая идея. Вот взять что-нибудь проверенное временем и положиться на это - норм.
Ты ошибаешься, но по правде говоря это замедление настолько мизерно, что можно сказать, что его вовсе нет.
иди в си и ебись со своими миллисекундами.
Сложность у try/except константная.
достаточный пролет будет если эксепшн будет всё таки вылетать, поэтому флоу надо планировать по успешному кейсу, а не наоборот.
>достаточный пролет будет если эксепшн будет всё таки вылетать, поэтому флоу надо планировать по успешному кейсу, а не наоборот.
Бросать эксшепшн затратная хуита, почти в два раза дольше дольше по времени выходило чем просто сверять на true/false.
мимокродидил
что ты тогда в питоне делаешь? Это вообще интерпретируемый ЯП.
Хм, интересно было б посмотреть как на производительность влияет количество бросаемых эксепшнов в нетривиальных циклах
Что подразумеваешь под нетривиальными циклами?
меня только интересует на сколько надо быть отбитым на голову, чтобы думать о производительности эксепшнов в питоне.
Ах да, мы ж на двоще!
Если у вас есть функции, которые занимают CPU, перепишите их на c/кресты/раст/cython.
А не ебите мозги производительностью эксепшенов
> думать о производительности эксепшнов в питоне
Это после си у многих остается такой вид извращения. Я сам в одно время дрочил на ассемблерные вставки, на хитрые изъебы с помощью битовых смещений, но это было в молодости, когда компиляторы были тупые, сейчас уже такое не встретишь.
альтернативно можно перейти к использованию numpy и делать всё в C-way стиле
И грешен, байтоёбил, но перешёл на питон патамушта быстро и намного проще поддерживать то что было написано до.
>патамушта быстро и намного проще поддерживать
Я просто понял, что если перейду на питон, то буду получать больше при меньших затратах. Как перестал байтоебить сразу высыпаться начал, похудел на 15 килограмм, женился, стал отцом и живу полной жизнью.
Спасибо, здоровья тебе и твоей матери.
>Что плохого в бложиках/борде? Это идеи лежащие на поверхности, бери и пили + добавляй свои фишки, заодно выучишь кучу сопутствующих библиотек и сервисов.
хорошая идея? ибо если мне дадут какую то левую идею и пооставят перед фактом я буду думать че и как делать и ебаться, а если я сам чет придумываю - задача в разы легче уже выходит
>Ну и не забудь на линкедине зарегаться.
уже давно там есть. даже до того как стал кодить там уже был зареган. но смысл от него? там если искать по вакансиям по городам то выходит либо тоже самое что и на хх (даже ссылка туда ведет) либо что то от йоба-иностранных компаний где нужен сеньор на 3к вечноевропейских в месяц
>после расширения своей сети "друзей," а где их найти то, раз я нигде не работал и никого не знаю?
Становись сеньером и предложения будут поступать. Т.к. имеет смысл тебе переезжать только при з.п. от 3к€, ведь жизнь а Европе дорогая(даже есть годный сайт с калькулятором цены жизни в разных городах, чекни).
> ибо если мне дадут какую то левую идею и пооставят перед фактом я буду думать че и как делать и ебаться, а если я сам чет придумываю - задача в разы легче уже выходит
Поэтому, после того как запилишь базовый блог/бороду, можешь придти сюда и анон предложит расширения для нее и дополнения.
Ну вот если хочешь нетривиальную задачу, вот тебе пример с недавнего собеса в стартуп:
Есть мобильное приложение(на самом деле похуй какое), и нас надо собирать логи юзеров, то есть юзер кликнул по этой кнопке, юзер выбрал такой цвет, юзер открыл такой пункт меню и т.п.(абсолютно все действия. На чем писать будешь? Как реализовывать будешь? Чем бы ты визуализировать потом это?
Попробуй это решить, для начала теоретически, м?
> а где их найти то, раз я нигде не работал и никого не знаю?
И то правда.
У меня был коллега, в армии служил, так он каждое утро начинал с того, что заходил в линкедин, в предложку друзей и добавлял всех подряд, после 1.5 лет службы у него уже была сеть на 2к контактов.
Намек, думаю, понял. Нет блять, не идти служить, а перебороть себЯ и добавлять незнакомых поезд/хуев в друзья, тебя не покупают за это.
Я сьебываю просто по учебной линии в Германию, а опыт работы всего один год. Вряд ли я за 6 месяцев до сеньора допру.
>можешь придти сюда и анон предложит расширения для нее и дополнения
ну видимо так и сделаю т.к. вариантов особо то и нет
>вот тебе пример
да, задача реальнно оч сложая, пока что не очень понимаю как такое реализовывать даже теоритически
>перебороть себЯ и добавлять незнакомых пёзд/хуев в друзья
тупа там находить ит компаху в своем усть-пиздинске на линкеде и всех подписчиков из нее френдить?так получается чтоли?
> тупа там находить ит компаху в своем усть-пиздинске на линкеде и всех подписчиков из нее френдить?так получается чтоли?
Можно так, но можешь ещё просто всех из предложки своей добавить, они всё равно подбираются максимально полезно для тебя. Пикрил.
> да, задача реальнно оч сложая, пока что не очень понимаю как такое реализовывать даже теоритически
На самом деле не очень. Ты подумой и первые свои мысли накидай, мне интересно просто. Есть как минимум 2 варианта решения.
Хотя бы с чего начал бы, про БД и визуализацию потом решишь.
На первом пике класс клетки. На втором пике наследуемый от нее класс. В этом классе есть метод next (см. пик 3), но там есть строчка (обведена на третьем пике зеленом), которая вызывает у интерпретатора сообщение, которое можно лицезреть на пике 4. В чем дело?
Он пишет, что нельзя изменять этот инт, но по идее хули нельзя то мне?
Понял в чем обосрамс, можете не спрашивать на мой ответ.
>первые свои мысли накидай
ну думаю что можно записывать все действия пользователя в последовательность в БД ???хуй знает на самом деле???
Следить за экраном пользователя, сохранять в кэш кадры за последнюю секунду, например. Отслеживать нажатия, при каждом брать кадр из кэша, брать координаты нажатия и проверять, изображение какой из всех возможных кнопок больше всего подходит под эти координаты. Нужно составить какое-то дерево состояний программы, чтобы в каждом состоянии были свои возможные кнопки.
попросить тех, кто писал приложение, просто в хэндлер каждой кнопки вставить хуйню, записывающую данные о кнопке в лог
мимо другой вкатывальщик
Официально - нет, сейчас в активной разработке.
Но у них на гите есть вторая ветка, в которой миграция в тестовом режиме прикручена. Если ты не юзаешь JSON поля у себя, то всё будет ок, а если юзаешь - надо будет пару правок внести, что я и сделал.
Да, это хуйня, но ОРМ зацепила свой питоничностью и удобством работы.
не проще ли картинку сохранять только если она отличилась от предыдущей (с указанием момента времени изменения) + координаты тычков тоже с указанием?
Ебать ты перец. Универ недавно закончил что ли?
Или я не так пояснил или вы загоняетесь.
Вот два варианта, которые я придумал:
1, RabbitMQ. Пускай приложение пишет свои логи в очередь на нашем сервере. Разбить типы логов с приложения на группы и развести по очередям. Логи брать из очереди и ложить в БД.
2, aiohttp/tornado. Асинхронный веб-сервер который просто принимает хттп запросы и складирует в БД.
Первый вариант лучше, т.к. в рэбите мы можем настроить долговременное хранение логов, если у нас что-то поломается, да и скейлить рэбит тоже легко.
Второй вариант тоже неплох, но со своими минусами.
И первый и второй вариант хорошо справится с кучей мелки запросов, т.к. логи с мобилы приходят к нам как JSON с N полей.
> любой хттп сервер может принимать запросы
Угу
> ты сюда асинк из-за моды предложил?
Нет, из-за RPS, ибо по заданию там очень много мелких запросов.
и как бы передача данных кроликом от сервера в бд это какая то наркомания. Балансер запустить на фронте и кучей серверов обычных разгребать, не, надо хуйню строить
UniqueContraint, CheckConstraint
p.s. вообще хотел Falcon туда предложить, но это ноунейм всё ещё.
Аа, я думал мы должны доставать логи просто из приложения, даже если оно в оффлайне, и вообще у нас к коду никакого доступа нет, есть только картинка, которую выдаёт приложение и информация о действиях пользователя.
В твоём-то случае можно как угодно это сделать, хоть отправлять инфу на сервер при каждом клике, хоть сохранять инфу куда-то в память телефона и отправлять при соединении с сетью, или например, копить штук 50 действий и отправлять, чтобы сервак особо не грузить
>>490245
Так чтобы понять, отличилась она или нет, всё равно нужно картинку сохранить, только нужно ещё и сравнивать её с последней. Проще просто в кэш сохранить новую и из кэша удалить самую старую
> и как бы передача данных кроликом от сервера в бд это какая то наркомания.
От какого сервера? Я пишу про передачу данных с мобильного устройства в рэбит и из рэбита в БД, после обработки.
И почему наркомания сразу? Рэбит довольно популярный способ для сбора логов и прочей инфы.
И как я уже написал, рэбит решает трабл если у нас, к примеру ошибка при парсинге будет или сервер отвалится, данные тупо в рэбите останутся. Офк если включено подтверждение получения.
> В твоём-то случае можно ....
1, Приложение работает только с сетью.
2, Логи отправляются каждый раз при действии.
Это всё жёстко забито в приложении, я поэтому и писал про "много мелких запросов".
если ошибка при парсинге будет то это вопрос к тому, кто этот сервис будет говнокодить.
Ребит не гарантия персистентности.
> если ошибка при парсинге будет то это вопрос к тому, кто этот сервис будет говнокодить.
Вопрос и задача была не в этом, ты помнишь?
> Ребит не гарантия персистентности.
Той гарантии, что он даёт хватает для логов.
>Вопрос и задача была не в этом, ты помнишь?
Вопрос вообще был сформирован некорректно, и звучал "как собирать логи на клиенте"
>Это не магия, а рабочее решение.
оно рабочее но длиннее чем требуется и выглядит "я хочу выпендрится и использовать для задачи хранения логов которые можно потерять отказоустойчивую очередь сообщений"
Одно дело потерять все сообщения за 1-2-3 суток из-за изменений логики/ошибок и совсем другое дело, когда ты знаешь, что можешь проебать пару сообщений, что не критично.
Глянь на досуге
https://youtu.be/jMZviSKf3QU
обычно когда мы пишем логи, мы пишем их сразу в БД. и парсинг там может быть минимальный если это json. И если что то сломается - то сломается только один лог, один запрос - один лог, понимаешь???
Какая там еще магическая ошибка парсинга возникнет?
ИЛИ: как заставить потоки включаться в работу только при достижении некого события? Допустим на часах появилось время 13:44 UTC или же какая-либо функция вернула значение определенного рода? Загнать все это в цикл и бесконечно дрочить if/else - такая себе затея, т.к. условие при котором запускается поток, выпадает весьма редко и производительность будет неслабо страдать
Вот кстати, ещё кейс:
У тебя отвалилась/иногда отваливается БД. То есть ты успешно распарсил пришедший хттп запрос, но записать его никуда не можешь.
Потому что всем нужен максимальный rpc, реалтайм и утилизация ресурсов.
Синхронные фреймворки уже нах никому не упали, aiohttp и торнадо уверенно сместили джанги/фласки.
Что бы Джанго не сдох, его нужно тоже пересети на асинхронные рельсы (гыгы, рельсы).
Они запланировали все это в версии 3.0. Правда работы дохуя, но если сделают, то это будет лучший движок.
Я все равно не понял. Что за rpc, переведи плс. И все же, что дает ассинк движок. Тип несколько пользователей смогут сделать какую-то хрень одновременно и ничего не будет тормозить?
За рест почитай на джанго/фласке и всё
Не, там был период когда он протухал, но сейчас опять окъ
Даже PHP не сдох,что там про торнадо говорить.
Я бы перенес aiohttp на первое место, второе место занимают фласк и Django.
Все остальное - местечковые решения.
Ну, я думаю анон просто список написал, без мест и важности.
Но вообще да, ты прав.
Но изучение лучше всё же с синхронщины начать, как по мне
Що, желающих все ещё нет?
https://twitter.com/pythontrending/status/1180883261976907777?s=19
Да, адаптивный тренажёр python, от JetBrains на русском.
Хэдер он в любом случае хэдер
Добрый день,столкнулся с такой проблемой,что когда пытаюсь запустить код в PyCharm,среда ругается на команду zip. Как фиксить?
Ты команду zip буквально в cmd прописываешь. У тебя винда такой команды не знает
У тебя в системных переменных возможно не прописан путь к этому, попробуй заранее через cd зайти в директорию, куда ты свой zip ставил. Но это все догадки, гугли
Немного не понял про подписку, нужна ли она для того чтобы пройти курс? (рядом с ним стоит метка PRO, про платный акк).
Там на аккаунт дают триалку 7 дней, после этого можно запилить новый акк и проходить с того урока, на котором закончил?
Я установил zip в С:\\GnuWin32, затем зашел в системные переменные и добавил в Path вот эту директорию куда зип установил,но все равно что-то не пашет.
> после этого можно запилить новый акк и проходить с того урока, на котором закончил?
А ты смешной.
Попробуй заранее заходить в эту директорию, может быть неправильно что то прописал. Как я писал выше, я захожу, у меня все работает.
Охуевший нигер, вот что это.
Янго?
Питончик же умеет сам делать зипы без внешних команд.
print написана на си
Попробуй зажать ctrl. Иначе не ебу.
> [YouTube] David Beazley - Python Concurrency From the Ground Up: LIVE! - PyCon 2015
Какой крутой мужик.
Ебать ты высрал хуйню. Для логгирования действий пользователя на мобилках есть специальные инструменты: AppMetrica или Google Analytics например. Мобилка просто добавляет хэндлер на кнопку, в котором это событие логгируется (там есть ещё много разных фичей). Если грамотно релизовать, то даже бэк не понадобится, эти сервисы тебе и базовую аналитику предоставят, если нужна своя кастомная логика, то можно на бэке периодически (зависит от нужд) запрашивать данные у этих сервисов и дальше уже их обрабатывать
Что нужно сделать, чтобы коннектить к серверу клиент с другого компа?
Порт у меня открыт, но сервер ничего не видит, клиент пару минут висит и выходит с connection timed out
Сервер на шиндоус и сокет биндит на локалхост, клиент на линуксе и коннектится к внешнему айпи, который я на 2ip посмотрел
Да, я проверял, что порт открыт на шиндоус
Ты долбоёб? Долбоёб.
Читай выше, это вопрос на собесе и там требовалось продумать логику/принцип своей системы. Дальше на этом строился разговор и отрабатывались различные решения.
Забрал. Спасибо.
Всё, решил вопрос, я загуглил в итоге архивач с десятым тредом по питону и там было расписано, что нельзя биндить на локалхост. Я забиндил на "" и всё заработало.
> простейшие операции в стиле "залесть на сайт и пёрнуть коммент или типо того"
bs4/selenium + requests
Начни лучше с основ синтаксиса, то есть книг из шапки.
В той же шапке найди книгу про скрапинг данных.
Затем почитай за selenium(для тыканья по сайту)
Думаю попробовать вкатиться, вай нот.
Пик 1, результат в пайтоне.
Книга устаревшая и синтаксис поменнялся? Или моих 30.4 iq не хватает чтобы понять этот текст?
У тебя путон 3, а книжка древнее говно мамонта с путон 2
я абракадабру ввожу вместо этих слов, но я уже понял что книжечка устарела, и все в скобочках пишется
Блять, тебе даже сам питон подсказывает что писать нужно, нет, нужно лезть на двач и плакаться нам. Пиздец.
Найди "Автоматизации тред". Там много интересных примеров применения питона.
> фронтэнд тоже
А питон и не про фронтенд, он про бекенд.
Ты глупый, твоё утверждение это капитан очевидность, но даже если принять в расчёт, будто бы я не видел, что там написал питон, то "Привет, мир!", это не конечная в обучении языку.
В дальнейшем будут более сложные примеры в стиле
name = raw_input('Enter file;')
handle = open (name, 'r')
text = handle.read()
words = text.split()
counts = dict()
for words in words:
counts[word] = counts.get(word,0) + 1
bigcount = None
bigword = None
for words,count in counts.items():
if bigcount is None or count > bigcount:
bigword = words
bigcount = count
print (bigword,bigcount)
В книге описано именно так, но на такой текст 3 питон выдаёт пикрил 2, т.е сдесь уже не обойдется тем простым действием, добавления скобочек, тут уже просто нихуя непонятно, и возможно ли обучится по книге, которая так сильно устарела?
У меня спросили про него, но не пояснили почему нельзя, я вообще не очень понимал значение айпи адреса в бинде сокета, сейчас понял только что сокет на локалхосте слушает только этот компьютер, а "" слушает всё
бамп вопросу.
Бамп
Зависит от размера файла.
Грядёт второй эдишон годной книги для нубов.
Можно пожалуйста чуть подробней? А то там чет слишком много всего и нихуя не понимаю.
Мне лень!
Круто. Как раз осилил первую треть боринг стафа. Наверное, одна из самых полезных книг с точки зрения практики.
На торрентах (ну или на Udemy для честных котиков) есть полный курс его видеоуроков по этой книге, мне было чуток удобнее, чем заниматься с текстом, мб тебе понравится.
До этой книги был опыт погромирования, или начал с нее? На что собираешься переходить, закончив ее? Я в начале пути, и кажется, что вариантов очень много, хз что выбрать.
В шапке даже комментарий есть на твой вопрос.
Нет, ищи другую книгу, про питон-3 и современную. Слишком много разницы как в самой базе, так и в продвинутых возможностях, так и в библиотеках разных.
Не обращай внимание, это трансвиститы и редкие феминистки развлекаются, ответка на то, что везде принято обращаться в мужском роде.
ну...да, в английском обращение не имеет пола. гораздо удобнее, чем в русском, конечно, никаких "замечала/замечал, ты/вы".
arr2=numpy.array([1,2,3,4,5,1,1])
matplotlib.hist(arr2, rwidth=0.8);
Выходит пикрил. Столбцы гистограммы смещены, причем по разному. Как это фиксить, чтоб они были по центру цифр на оси Х? Желательно используя matplotlib.hist, а не matplotlib.subplots().
Опыт есть, да. В молодые годы увлекался программированием. Паскаль, С++, Ассемблер.
Сейчас вот опять решил вкатиться. Я сейчас параллельно прохожу Python for Everybody Specialization. Добью его и боринг стафф и буду пилить какой-нибудь свой пет-проект (заодно гит освою)
Я не подскажу, но вот недавно на хабре статью выкатили по твоей теме. Может поможет...
https://habr.com/en/post/470535/
точно. спасибо анон
Нужен простейший клиент отправляющий json и простейший сервер принимающий его.
Сервер же должен быть активным когда ему посылают файлы, правильно?
> Сервер же должен быть активным когда ему посылают файлы, правильно?
А как иначе? Где файл висеть должен будет, пока сервак не `проснётся`?
Это если при простейшей реализации.
Можно какой-нибудь пример рабочий и порядок вызова?
Допустим, один py-файл - клиент, другой - сервер.
Как смоделировать отсылку json'a с клиента, и может даже ответ с сервера?
Пример клиента? Например, вот:
response = requests.post(адрес, json={'foo': 'bar'})
С сервером чуть сложнее.
> Как смоделировать отсылку json'a с клиента
Читай доки requests
> и может даже ответ с сервера?
Читай доки фласка
И там и там сразу наглядные примеры, я бы начал с фласка
Ну и сервер:
from bottle import request, route, run
@route('/адрес', method='POST')
def perform_json():
print(request.json)
run(host='localhost', port=8080)
Не уверен в правильности применения слова "моделирую" в данном контексте, это ведь и есть "реальные" клиент и сервер, только совсем маленькие.
Вызвать оба в третьем просто так не получится. Сервер блокирует текущий тред, потому что ждёт подключений, а не обработал и сразу завершился. В принципе, можно сервер вызывать из одного треда, а клиент - из другого. Тогда всё можно будет вызвать в одном файле.
А так да, сначала запускается сервер, а затем запускается клиент и что-то ему шлёт.
Типа того. Ну или процессы.
Самый простой вариант - не делать этого, оставить два файла (с сервером и с клиентом), а сервер запускать вручную.
Запускается в отдельном процессе сервер и находится в постоянном ожидании. Затем запускается уже клиент и начинает общаться с сервером. Офк у тебя это все в пределах одного компа, но сути это не меняет
Ну то есть конечно хочется сказать ДА Я ЗА, ГО, но я пока бесполезный элемент, прошедший половину Automate the boring stuff и вряд ли смогу чем-то помочь. Но идея заебись, конечно.
>Ну вот вопрос, клиент и сервер разнесены по разным файлам, вызываются оба в третьем
Самые вопросы вот здесь.
Как твои клиент и сервер запускаются, как отдельные процессы? Тогда основные запарки будут с тем, чтобы с их вводом-выводом работать.
Или ты подключаешь их как библиотеки?
Если ты в одном процессе всё запускаешь, то надо смотреть либо на запуск в тредах, либо на asyncio.
я Вот делаю на Arma3 проект и у меня там 1001 унылая операция, которую можно переложить на плечи змеи.
Питон может быть штукой, которая отдаляет тебя от скучных однообразных действий в повседневности трудовой.
> Мне лень!
Не кажется ли тебя что это немного жестоко посылать меня ковырять огромный пласт знаний которые для питонануба будут очень сложными для того чтоб решить пустяковую задачу?
Решение за тобой конечно, я не настаиваю.
> В чем прикол смеяться над человеком с экзотропией?
Прикол в том что у неё нет экзотропии, её просто сделали похожей на Долана.
Нет, хочу что бы он накидал свой проект на джанге и выложил на гит и хостинг
Ничего не понял, таблица хоть в каком формате?
Если это можно собрать в пандас, то элементарно
df[столбец с номером группы].fillna(method= 'ffill')
Номера групп заполнят соответствующие им пропущенные ячейки и можешь фильтровать по номеру своей группы все что захочешь
Страница что из себя представляет статичный html или йоба-JavaScript ?
В первом случае для парсинга нужен beautifulsoup, во втором - selenium
Поебешься немного с разметкой и вытянешь нужный тег с таблицей, из содержимого можно уже датафрейм собрать
Забыл добавить, что у пандас в коробке есть встроенный парсер read_html(), который считывает все таблицы на странице. Попробуй, может и без танцев с бубном все получится
> Стоимость программы 60 000 ₽
Ну если деньги есть на такое, то чому ни?
Но вообще, по анализу данных есть куча бесплатного контента и видеоуроков, в том числе.
Вводный курс какой-то совсем с нуля, хз.
csv файл?
Например, надо подать сигнал на вход функции для преобразования, что он из себя будет представлять?
И да, нужно воспроизводить несколько звуков одновременно.
Лучше начать с основ сетевого взаимодействия(не пистон), потом основы пистона и затем уже браться за задачу.
Ну я щас на ООП сижу,немного ковырял май скл
Хороший вопрос, сам хочу знать
Это отдельная дисциплина по ЦОС. Матлаб должен дать ответ даже четче
Экранирование слэша?
Тебе же сказали- массив чисел. Какая разница какой формат у файла? Интерпретацией этих чисел будет заниматься проигрыватель звуковых файлов.
Нацело поделить n на d, результат сохранить в n.
Почитай, как устроен wav, это один из самых простых форматов аудио.
Кратко: у реального сигнала есть амплитуда и частота для каждого момента времени. Но время можно делить на сколь угодно малые промежутки, поэтому для хранения сигнала на ЭВМ вводится понятие дискретизации: синусоида делится на маленькие равные промежутки, в каждом таком промежутке значения усредняется, полученное среднее называется амплитудой и сохраняется как "квант" сигнала. Ну и в результате у тебя получается цепочка амплитуд, которую можно анализировать. Об оригинальном сигнале сохраняется информация, сколько длится каждый такой "квант".
Хранить эту последовательность чисел можно как угодно, хоть wav, хоть csv.
>Одномерный?
Сигналы и двумерные бывают. А видеосигналы это вообще 3D - длина, ширина и время.
А данные томографа во времени - это 4D сигналы
>И всё-таки, какой формат файла имеет такой сигнал?
Какой хочешь. Обычно это заголовок, плюс идущие подряд байты, представляющие собой:
поток восьмибитных чисел, где от -127 до 127, где 0 - отсутствие звука
потом шестнадцатибитных чисел от -32767 до 32768
поток 32-х битных чисел с плавающей точкой , где вышеперечисленные амплитуды отображаются -1.0 до 1.0, а все, что выше - резерв для зашкаливания
Если у тебя моно звук, то массив одномерный, если стерео - то это 2D массив с N строк и 2 столбцами, при чем каналы расположены локально во времени, так удобнее считывать временной поток (то есть данные левого и правого канала идут в перемешку парами, а не сначала левый канал, потом правый)
Если звук 5.1 - это будет массив с N строк и 5-6 столбцами.
>>492687
>Почитай, как устроен wav, это один из самых простых форматов аудио.
На самом деле wav это контейнер. То что ты описываешь называется LPCM
Столбиков слишком много, или они слишком широкие для консоли, вот он и показывает только то, что помещается. Можно явно указать, чтобы он выводил больше, для этого есть настройка:
pandas.set_option('display.max_rows', 500)
pandas.set_option('display.max_columns', 500)
pandas.set_option('display.width', 1000)
Я сейчас пытался в csv файл превратить, но он почему-то хуярит все названия столбец в одну ячейку, потом в ячейку ниже неё данные все подряд. Не понимаю, что не так делаю, гуглил про df.to_csv и у людей вроде нормально сразу получается
Спасибо, но у меня в некоторых ячейках много инфы, он их зажевывает, тут походу неудобно это через консоль делать
У тебя куча словарей и ты их пытаешься превратить в датафрейм?
Уж не из json'a ли ты их достаёшь?
Нет, парсю html бьютифулсупом. В туториале, с которым я сверялся, занесение в датафрэйм точно так же выглядит, только у меня столбцов больше. Но там всё в айпайтон ноутбуке и дальше он сам рисует красивую табличку
Это только одно из возможных представлений, самое примитивное, но не самое лучшее. Потому что такое представление ни воспроизвести нельзя напрямую, и преобразовать трудно.
Ты можешь представлять сигнал не в виде значений в каждый момент времени, а в виде суммы каких-то базисных функций с какими-то коэффициентами. Скажем на каком-то отрезке любой звук можно представить в виде суммы синусоид. Тут работают разные преобразования, всякие преобразования Фурье, свёртки и т.п. хрень, это серьёзная очень наука.
На этих идеях работают алгоритмы по кодированию аудио и фото-видео.
>>492496
>Например, надо подать сигнал на вход функции для преобразования, что он из себя будет представлять?
Тебе надо документацию изучать на конкретные библиотеки и АПИ, с которыми ты работаешь.
Можно просто в файле + .gitignore
Я для каких-то чувствительных конфигов делал так, создаёшь два конфига, базисный, который попадает в git, где описаны все параметры и какие-то тестовые примеры, и локальный конфиг, где чувствительные параметры, пароли и т.п. Локальный не загружается в транк, прописывается в gitignore
Сначала загружается общий конфиг, потом локальный, который перезаписывает часть параметров.
спасибо
Спасибо, анон
> SMS email gateways - A new section on how to send SMS text messages via the phone carrier's email gateways. Now your Python scripts won't need to use a service such as Twilio to send occasional text messages.
Кто-то сталкивался ли с подобным? Тема интересная.
Django - installing mysqlclient error: mysqlclient 1.3.13 or newer is required; you have 0.9.3
https://stackoverflow.com/questions/55657752/django-installing-mysqlclient-error-mysqlclient-1-3-13-or-newer-is-required
Вроде решено, но уж очень костыльно.
Никто больше не сталкивался?
Не помогло?
1. Uninstall mysqlclient: pip3 uninstall mysqlclient
2. Uninstall pymysql: pip3 uninstall pymysql
3. Install mysqlclient: pip3 install mysqlclient
Например, мне нужно было кое-что автоматизировать на сервере - написал скрипт, всё красиво.
Проблема в том, что мне больше ничего в голову не идёт.
Видел как-то картинку с заданиями "напиши то-сё", но она показалась мне довольно таки сложной. Не мой уровень.
tl;dr
реквестирую простенькие задачки для обучения во время написания кода
Вот, это хороший реквест. Удваиваю.
Shape
У numpy массивов есть shape, в голом питоне массивов нет.
Все же помогло, у меня pymysql оказался в requirements.txt, из-за этого и произошел весь затык.
В смысле клиент-обертку? Фронтенд, как Nitter-Твиттер?
Да у меня и на ноуте с линуксом вешает, причём до самого линуксовского ядра, что кнопки перезагрузки графической оболочки работать перестают. Пиздец какой-то
Я думаю, сложность не в том, чтобы картинки вытащить из сайта, а в том чтобы сделать готовый продукт, с которым мог бы работать юзер
Искусство, которое мы заслужили.
Так снова я, вообще объясните мне просто как сделать так, чтобы я со страницы собирал инфу, добавлял в словарь, потом заходил по ссылке собирал инфу и добавлял в тот же словарь.
Ты упоротый? Весь тред этим засрал.
Ну вот, а ты выебывался.
Нельзя супом пользоваться, только scrapy, что за книжка не понял?
Бля, скушало звездочки, ну короче загугли первую ссылку как словари сложить, епта
Можешь сказать что мне сложить то надо? чекни скрины, я вообще не понимаю что-то.
>как словари сложить
Когда-то и меня вела дорога приключений. Тут надо бы перебор ключей зафигачить, как в любой уважающей себя мутабельной хэшмапе. Но, да, можно и так.
d = dict()
d.update(d1)
d.update(d2)
" \u0413\u0430\u043b\u043e\u0448\u0438", что с этим делать?
Или так и должно быть в json? просто если я вывожу данные в python то там все в порядке, то есть использую
import json
with open('test.json', 'r') as f:
data = json.load(f)
print(data)
и принтится кириллица нормально, просто в самом файле json проблема с кодировкой.
При записи в файл данных json надо чтоб файл был в нужной кодировке:
myfile = open('file.json', 'w', encoding='utf-8')
myfile.write(json.dumps(some_data, ensure_ascii=False))
myfile.close()
у меня таким образом получается human readable json.
(но если что, то проблем с \u0413 тоже в принципе никаких - выводится оно нормально, единственно конечно напрягает видеть эти кракозябры в файле)
Кстати, а почему миллисекунды в json не записываются, когда я вызываю datetime.datetime.now() в консоли питона все вызывается, а в jsone только до секунд?
А бля, там же метод timestamp() есть, кароч переписал так datetime.datetime.now().timestamp() вроде то что надо.
Это всё мне напоминает: Собрались поехать на машине на далекое расстояние. И мы знаем что через 500 км у нас может закончиться бензин. Но мы просто едем и улыбаемся. Когда бензин заканчивается, панель приборов радостно нам сообщает: "у вас закончился бензин!" Но это же тупо. Мне кажется логичнее изначально предотвратить такую ситуацию (ведь мы знаем о ней), и например за 50 км предупредить о том что надо заехать на заправку. То есть в этом случае мы вовсе не допустим окончания бензина?
Ты не можешь предотвратить все ситуации
>Когда бензин заканчивается, панель приборов радостно нам сообщает: "у вас закончился бензин!" Но это же тупо.
Не так. У тебя заканчивается бензин и машина глохнет. При помощи Exception ты можешь сделать прибор, который откроет багажник и напишет водителю: "Ну что лошара, ты приехал! Канистра в багажнике, иди теперь пешком за бензом"
Не думал, что эксепшны ты можешь возбуждать САМ? Не думал что тот же эксепшн StopIteration под капотом сигнализирует генератору и прекращении работы? Не думал, что по отлову эксепшна можно обнаружить конец контейнера, файла и тд?
Не думал, что я могу поиметь тебя прямо в попку, м?
>Мне кажется логичнее изначально предотвратить такую ситуацию (ведь мы знаем о ней), и например за 50 км предупредить о том что надо заехать на заправку
Окей, значит в код приборной панели включаем вызов подпрограммы машины времени
Ну чел тут вопрос времени ровно одна книга (может меньше), вон прямо над твоим постом ссылка.
Это копия, сохраненная 28 октября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.