24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
>>931572 (OP) Сап программмач. Нужно вывести окно, в котором мышкой тыкаются в произвольных местах точки. И После определенных вычислений нужно эти точки соединить в некотором порядке. Кстати сами точки должны знать свое расположение в полярной системе координат. т.е. свой радиус и угол наклона.
Вот типичный Django для статики на dev сервере: >urlpatterns = [ ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) У меня есть деплой, и там каортинки загруженные с админки так не отображает. Мне не охота ебаться с ngnix там и прочим потому что хостинг не позволяет да и образовательных целей нахуй не надо. Памахите.
>>931730 Туториалы до пизды, все равно забудешь все. Главное это практика, прикладной код, а не школьная хуйня, а там уже и сам все изучишь. Пару раз по доками прошелся - и вперед писать свой двач.
>>931747 Вот я так просрал кучу лет, читал книжки, туториалы, думал, что это поможет, а в итоге всё равно начинаешь думать с нуля, находить другие приемчики, заново читать доки, когда пишешь реальный проект.
>>931753 А я так просрал все внимание. Когда начал галопом прыгать по вебу и интересующим меня фреймворкам, а потом выяснил что существуют itertools, collections и что чтобы вернуть None вместо несуществующего ключа, можно использовать .get а не писать блок проверки.
Аноны, устанавливал кто apache2.2 и python3.5(for flask)? Ебусь уже долго и упорно. Смог установить лишь апач со вторым питоном, вроде как вычитал что не всё так просто, и нужна какие-то йоба библы ставить, прошу, помоги, антош.
Так что, никто не юзал апач2,2 с питоном 3? >>931941 Окей, антош, что тогда юзать? Посоветуй. Ну и желаетльно линк дай на адекватное описание процесса установки/запуска.
>>931973 Допустим у тебя есть ютуб урл на входе, алгоритм разработки таков: 1. Идешь в гугл, спрашиваешь: "how to get the direct url of youtube video" (+опционально %языкнейм%), теперь у тебя есть способ преобразования "https://www.youtube.com/watch?v=кодвидео" в "https://видеохостинг.com/blablabla.mp4", полдела сделано. 2. Теперь опять идешь в гугл, и спрашиваешь: "how to download a media file python" гугл говорит что-то типа: > import coollib > coollib.download('https://видеохостинг.com/blablabla.mp4', '/ДискЦе/file.mp4') 3. Оборачиваешь это все в свой main.py и выкладываешь на гитхаб.
Все, можешь спокойно идти трудоустраиваться за 300 к/сек.
Начал работать с твистед и сразу вопросы к опытным анонам.
1) Как проверить - блокируется ли приложение или нет? 2) Добавлять в список словарь - блокирующая операция или нет? 3) Есть ли специальные средства для вызова системных команд, типа ls и тд? Или делать через subprocess? 4) Может кто даст нормальный пример хорошего веб-приложения на твистед? С роутерами, пост запросами, какими-нибудь длинными неблокирующими операциями? Мне просто код посмотреть и сделать по подобию.
>>931140 А в чём смысл брать менторов на ночь, кстати? Ведь всё равно обучаться будешь не больше пары часов, а если немного перед работой утром захочется освежить знания, так ещё на часок можно взять.
>>932094 Ну так и чего тебе не нравится-то? Так вот питон типа обозначает, <class 'XXXX'>. Если хочешь получить конкретно то, что было написано при объявлении (class ZZZ: ...), то обрабатывай эту строку, формат всегда один.
name = input("Please tell me what's Your name? ") print("Nice to meet You, " + name)
def age(age_1): if age_1 == 20: print(name + "'s age is " + age_1) else: print("Sorry, You should go back and print number")
age_1 = print(input(name + ", please enter Your age: "))
Почему возвращает ВСЕГДА else, а не if условие? я ввожу 20.
Сначала хотел просто чтобы он тип проверял, как в этом примере >>932094, но пока не знаю как это реализовать, ибо возвращает как анон подчеркнул >>932096 class 'int', наверное, надо просто со строками играть типа len[7:9]
>>932097 >age_1 = print(input(name + ", please enter Your age: ")) В переменную age_1 записывается то, что возвращается функция print. Что возвращает функция принт?
Перед твоим следующим вопросом, input возвращает строку, а ты это потом с числом сравнить хочешь. Строка не равна числу никогда.
>но пока не знаю как это реализовать type(x) возвращает именно тип переменной x, а не строку с его названием. Для простоты можно сказать, что класс и тип это одно и то же. Так вот, если ты хочешь сравнить тип/класс переменной с нужным тебе, почему не хочешь просто взять и сравнить их? Вот ты сравниваешь две переменных, в которых записаы цифры, а у тебя будут, условно, две переменных, в которых записаны классы. Никакой разницы нет.
>>931572 (OP) Вопрос всем работающим: Почему требования при трудоустройстве на питон слабее, чем при устройстве на ту же джаву? Т.е. , насколько я знаю, на собеседованиях по джаве спрашивают хотя бы основы - простейшие алгоритмы и структуры данных, ООП и тд. На питоне же самый каверзный вопрос который мне задали за все время это что будет если сложить True и False. Уточню что я джун-питонщик и для работы джава пока не требовалась. И до сих пор я устраивался только в сомнительные-полусомнительные конторы.
>>932095 Бывают такие ситуации, когда СТУПОР, и можешь неделями пытаться решить проблему и в итоге бросишь и пойдешь работать в мак, а ментор мог бы за пять минут решить и объяснить.
>>931973 Качалка с ютуба это хуйня однострочная, ты лучше вкатывайся в веб, напиши более-менее функциональное приложение на фласке, например. Традиционно - это написать борду, но можешь и своё что-то придумать. Это не сложно, но зато придется использовать более широкий стек знаний.
Подскажите, пожалуйста, литературу для изучения питона 10класснику (новичок практически) Основная цель сейчас - разобраться во второй части ЕГЭ по информатике. Хотел начать Лутца, но где-то читал, что бегиннер не все поймет. Ваши варианты? Еще рассматриваю Майкла Доусона
>>932238 Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Лутц нужен только когда уже вкатился и имеешь представление что к чему. Для начального уровня достаточно документации/онлаен академий/книжек для нубов. Потом пишешь пару своих прикладных мини-проектов, начинаешь вдуплять, думать об оптимизации, встроенных функциях вместо своих костылей, алгоритмах, тогда уже и открываешь всякие лутцы.
>>932238 Ну ты тупой школьник. Переходишь в шапку на гитхабе и смотришь раздел Легкие книги, читаешь их и начинаешь программировать на питоне через 5 часов.
анон, есть строка, в ней слова разделены точкой с запятой. Надо каждую пятую точку с запятой заменить. Знаю про string.replace, но не знаю как подобраться к каждой пятой
ребята, нужен совет: фласк или джанго? сам опытный веб-программист (и не только веб), но не работал уже много лет. осваиваю питон. желательно веб-фреймвок НЕ для дебилов, без миллиона слоев абстракции, автоматики, "магии", чтобы легко заменялась встроенная ORM и шаблонизатор, чтобы новичку можно было им уверенно пользоваться без скаффолдинг-скриптов для боилерплейта, чтобы легко и просто было в нем разобраться и контролировать. раньше сам писал MVC-фрейморк, но под питон пока не потяну, надо готовый. говорят джанго мне не подойдет, но: реально ли вообще будет найти удаленную удаленную питон-джуниору на фласке? ощущение что для джуноиров даже джанго-работы мало, не говоря уже про фласк. в сомнениях короче.
>>932432 >Чем отличается urls.py в настройках проекта от созданной urls.py в приложении? В настройках проекта - главный файл. Там ты можешь подключать urls.py из отдельных приложений. Но можешь вообще ничего не подключать, а все писать в главном файле, если не планируешь использовать свои приложения отдельно в других проектах.
>>932407 > веб-фреймвок НЕ для дебилов, без миллиона слоев абстракции, автоматики, "магии", чтобы легко заменялась встроенная ORM и шаблонизатор очевидный bottle, Все ручками
>>932440 такой подход импонирует лично мне, по опыту который у меня был много лет назад (мне всегда проще было собрать весь проект из отдельных компонентов либо некоторые даже написать самому: тот же роутинг, каскадные конфиги и т.п.). но мне 32, я уже не быстро учусь и пытаюсь вкатиться джуниором в питон. изучать способы обхода волшебства джанги будет трудно и непонятно зачем нужен фреймворк-черный ящик чтобы потом с ним воевать. (слышал что и компонентны у него не идеальны и их многие заменяют). но я в не том положении чтобы выебываться. вопрос насколько это вообще реально устроиться питон джуном удаленно не зная джанги (но зная на начальном уровне например фласк, или черрипай или боттл или что-то подобное)? т.е. смысл-то не учить джангу если на любой работе мне придется с ней столкнуться, тупить, не справляться и т.д.
Анон, такая проблема. Пишу скрипты, написал даже бота для телеграма, но никак не могу понять, где и как можно применить ООП. Есть какой-то страх в изучении этого. Как перебороть? Есть какие-то задачки по возрастанию с объяснением по этой теме?
антон, я тут недавно накрапал тулзеху, пингалка инета + опрос роутера на предмет отвала 3G мопеда и его ребут. раньше до питона руки не доходили, но задачка-то хуйня, единственное на чем встал в ступор - при загрузке страницы с помощью urllib2 срабатывал редирект, НО! при внимательном рассмотрении трафик дампов (девконсоль браузера мне тоже ничего не показала и я решил проверить наверняка) выяснилось что 30x там не пахнет, а редирект сделан window.location.href= в яваскрипте страницы (они там организованы в фреймы - для этого и редиректят после проверки)! БЛЕАТЬ НО КАК ЖЕ ТАК? питонячья urllib2 чо нативно умеет яваскрипт или это какая-то исключительная ситуация? редирект-то я задавил кастомным обработчиком urllib2.HTTPRedirectHandler, но ситуация так и осталась не понятной.
P.S. еще была трабла в том, что на боевом роутере (TP-Link) требуется авторизация, и у китайцев походу свое видение использования Authorisation Basic, т.к. в хедерах они передавали правильную строку, но не с 401 а с 200! ну допустим это еще можно понять, чтоб не браузерное стандартное окно рисовать, а свою красивую форму, но она при отправке авторизации вместо передачи чисто в заголовке, как положено, передает правильно сформированную строку в куке - вот кто все-таки уебок - китайцы или я?
>>932523 ооп в пифоне удобно как данные + методы. можешь конечно свои данные явно закидывать в функцию, но какой смысл? "abc".upper() vs str.upper("abc")
>>932485 Нужно для повторного использования своего кода. Из этой задачи проистекают требования к формированию объектов.
Например ты хочешь в далеком светлом будущем воткнуть своего нахуй никому не нужного бота для телеграма в свою будущую охуенную мега-программу которая будет делать хуй знает что, причем ботов в этой программе планируется запускать сразу пачками. Нужно взять существующий говнокод, добавить к нему процедуры инициализации параметров по умолчанию, перетрясти код в плане выявления всяких неявных параметров, передаваемых основным функциям, обернуть все это в класс, протестировать в работе, написать документацию. Тогда через год для запуска пяти ботов с разными параметрами тебе нужно будет всего лишь импортнуть описание класса и написать пять строчек инициализации для объектов. Если ты всего этого не сделаешь, через год есть шансы что твой бот для телеграма вообще не запустится и чтобы разобраться в чем дело и запустить их пять штук разных понадобится уйма времени, которого скорее всего у тебя не будет. Как-то так.
Гайз имею такой текст http://pastebin.com/SirYDhNn где кол-во текста и кол-во таких ссылок может быть бесконечно большим. Как мне оттуда выцепить весь текст не имеющий отношения к тегам, причем последовательно?
>>932572 посмотрел, я все равно не понимаю, как это использовать. Это скорее поможет мне вытащить текст между тегами <a><a/>, а мне нужен то нужен весь текст, который не находиться между тегами и который не теги.
>>932633 Ну, блядь, ты знаешь что такое разные энвайрменты? Вот база на одном, а скрипт на другом. Мне, блядь, данные оттуда вытягивать надо, фирштейн?
>>932642 а на русском есть!??!? чо ты мне лажу какую то опять втираешь!!??! или это не ты!?!??! вы чо меня дрочите!!?!? вы на каком серваке щас подъеду!!
>>932226 >вместо божественных библиотек. А, то есть для тебя "написать скачивалку с ютуба" это "заимпортить youtube-dl и вызвать его"? Так любая задача в одну строку будет решаться.
Шановні друзі, сейчас будет вопрос из серии "больной ублюдок". В Pycharm Edu есть возможность цеплять курсы из сторонних источников и со спокойной душой их проходить. Вот только не ясно где эти курсы искать кроме стандартных и существуют ли они вообще? Помогите зеленому хорошими линками.
Значит есть утилита psexec, с помощью нее я подключаюсь удаленно к компьютеру в локалке запуская шелл.
Нужно автоматизировать через процесвс через 3й питон. Проблема в том, что os.system(#команда) после выполнения данной команды закрывает окно, а последующие вызовы не будут относиться к процессу удаленного подключения. Как мне сделать так, чтобы последующие команды относились к процессу с запущенной удаленной сессией? Используется шиндовс
Есть сайт с кучей страниц, на которых есть изображения. Надо выкачать все изображения с каждой страницы. В какую сторону гуглить и копать, чтоб это сделать?
html отдаёт какую-то хуйню, в которой нету изображений со страницы вообще.
>>933213 Помимо всего прочего, там каждая страница открывается какого-то хуя в новой вкладке, если клоцать "Дальше". Можно, конечно, задать последнюю страницу и подставлять аж до первой в url и парсить каждую, но может есть другой способ?
Другой вопрос теперь. На сайте дохуя страниц. Единственным выходом я нашел - сгенерить массив чисел от 1 до 649 (последняя страница сейчас) и подставлять в линку при парсинге. Возникает проблема, как сделать так, чтобы скрипт автоматически начинал с последней страницы, а не приходилось ручками идти на сайт и смотреть, какой номер сейчас последний?
>>933326 >>933326 > <a href='/tag/Dota%2BArt/new/649' class='next'>Дальше</a></div></div> Получается тут всегда будет линка на последнюю страницу? Охуенно, анон!
>>933448 >Ананасы,в чем сакральный смысл обязательного добавления запятой в кортеж с одним элементом? В противном случае любое выражение со скобками становится неотличимо от кортежа. Как пример:
Кто там в прошлом треде советовал VSCode? Пара минусов для меня: нет минимапы, нельзя открыть несколько директорий в одном окне. Всё остальное действительно лучше, чем в атоме. Даже не знаю что теперь делать, очень привык к карте.
>>933321 почему нельзя сделать цикл, который проверяет число страницы на доступность? Пусть проверяет от 1 до, скажем, 1000, при ответе "не найдено такой страницы" пусть останавливает цикл и выдает номер предыдущей доступной, допустим 998. и этот номер возвращает в главную твою часть кода.
>>933567 >Иначе ты кортеж с одним элеметом не создашь, Ну, не считая побочного случая с tuple(elem), когда elem это строка с одним символом, или при обрезании уже существующего кортежа до одного элемента. А то набегут же сейчас.
Анон, есть такие сервисы, которые оценивают твой говнокод, и советуют, где и что можно улучшить? Я говорю, конечно же, про реальных людей, которые могут пояснить. Говнокода не много, скрипты на 150-200 строк, примерно.
>>933736 >get_or_create >Returns a tuple of (object, created), where object is the retrieved or created object and created is a boolean specifying whether a new object was created. В документацию заглянуть лень?
Не знаю, насколько это актуально здесь и взлетит ли, но я запилил группу в телеграмме по питону. Туда зазываются все желающие вкатиться и вкатывающиеся, как и я, для совместного поиска решений. Я пока практикуюсь писать ботов для телеграмма, там же их можно и тестить. В общем, всем пис.
Как сделать так, что бы при каждом запуске фласк сервера появлялся новый сервер? Например, запустил в терминале сервак, хостится на локалхост:5000. Я хочу открыть еще один терминал и запустить сервак, но что бы он был отдельным, а не тем же самым(на локалхост:5000). Только вкатился во флакс, сори за хуевый вопрос.
# сюда приходят сообщения @channel_session_user def ws_recieve(message): # получили тело сообщения msg_content = json.loads(message.content['text']) # отправили ответ в текущий канал message.reply_channel.send({'text': 'slojno slojno blyat'}) # добавили текущий канал в группу Group('te_komu_slojno').add(message.reply_channel) # отправили в группу # взяли юзера джанго username = message.user.username Group('te_komu_slojno').send({'text': 'we have a new member! {}'.format(username)})
>>933916 только зачем имплементация в самом интерфейсе? не правильней тогда сделать так? def huy(self, pizda): raise NotImplementedError('huy must implement in subclass.') думаю так тупо удобней кому то было вот и зделол, остальные поглядели и тоже зделоли и понеслась...
В общем эта дич у меня так работает: стучусь в словарь по индексу 1, полученое сохраняю в number_photo и так дальше пока не дойду к фото, а там уже дергаю с нужных ключей их значения
Суть в том что бы получить самый большлй размер фото который есть в вк, по этому там и это блок из иф - елиф
НО, вот там сперва стучусь по индексу что бы все остальное получить) этот индекс должен быть как строкой передаваться "1"
И вот допустим мне нужно 200 фото потянуть в цикле через всю эту конструкцию
То есть в Json вернуло 200 ключей и нужно каждый из них прогнать и потянуть ссылку, но как ?
Аноны, есть код digits_pattern = re.compile(r'^[0-9]+ [0-9]+$', re.MULTILINE) try: matches = re.match(digits_pattern, query.query) except AttributeError as ex: return num1, num2 = matches.group().split() нужно переделать его так, чтобы проверялась одна переменная, то есть грубо говоря, чтобы была только num1. Помогите пожалуйста
Аноны, у вас нет ощущения, что на нашем любимом языке стало меньше вакансий? Мониторю хх, и что-то одни и те же вакансии по кругу, а новых очень мало, если машоб в счёт не брать.
>>934367 >>934362 >obj.get('x'), а просто obj.x Во-первых, нахуй велосипеды, если есть getattr Во-вторых, getattr(obj, 'x') имеет смысл, если название аттрибута заранее неизвестно, либо если хотим сделать getattr(obj, 'x', 'default_value')
>>934371 Помониторь другие, меня на Моем Круге заебали уже своими молодыми активными коллективами использующими асинхронный микросервисный TDD в корпоративном смузи спортзале.
>>934388 Потому что контакт не дурак, он не дает всяким роботам качать. Вдобавок там же через JS рендерятся страницы и тд. Конечно же ты не получишь такую же страницу. Тут либо надо научиться маскироваться под человека и исполнять джаваскрипт, или да, через апи.
Сап, программач. Нужно запилить веб-сервис на питоне в качестве проекта по учёбе (студентота). Главное, чтобы были реализованы классы и использовался фреймворк (желательно джанго). Веб-сервис может делать что угодно на ваше усмотрение, главное, чтобы было прокомментировано и понятно.
Кто сможет помочь за символическую плату и очень срочно - мыло [email protected] пишите, что из программача
>>934486 Да, пиши сколько готов заплатить, а мы посмотрим. Я в принципе готов за денек какую-нибудь крудо-фигню запилить. Только учти, мой час в офисе стоит 500 рублей, я конечно с тебя столько не возьму, но имей в виду, когда будешь прицениваться.
>>934563 Вот я бы тоже не против перейти на фриланс. Хотя я сейчас считай удаленно работаю. Появляюсь в офисе раз в неделю где-то на несколько часов. Но это полуофициально, поэтому не считается.
>>934558 >500 рублей Взоржал с нищей спидерахи, бббгггее. работающей за восемь баксов как мойщик сартиров в испании, хехе. До чего нищий народишко, бббггее.
Питонач, подскажи как можно оптимизировать приблизительно такой метод выборки, имея значение search_material? http://pastebin.com/JvVZRXzD Есть родительский класс, и есть дочерние классы, у некоторых из них есть поле material. Надо вернуть список дочерних классов, у которых material равно входящему параметру search_material. Сейчас тут крайне медленно такой метод работает - выгребает все элементы родителя, потом итерируется по ним и складывает по одному. В итоге перебор 1,5 кило объектов родительского класса занимает 7 секунд. Это овер дохуя при таких малых объемах. Как составить правильно запрос, что сразу одним кверисетом вытащить все дочерние классы, у которых значение material совпадает с search_material? Через prefetch_related не получилось, это, кажется, не совсем то. Пробовал через http://django-model-utils.readthedocs.io/en/latest/managers.html#inheritancemanager select_subclasses() , но там FieldError: Cannot resolve keyword 'material' into field. когда я пробую подставить значение search_material
>>934246 А на что ответить-то? >много раз перечитывал, и только сейчас дошло Были б тут все такие, которые думать пытаются, а не как этот наркоман с json'ом из вк, всем бы лучше жилось.
>>934992 Возмездно предполагает некие обязательства, я так не умею и не могу. Лучше безвозмездно в треде (я тут постоянно, если только товарищи Мао и Абу совсем уж не пойдут против меня) или на крайний случайно на почту, по мере возможностей отвечу.
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Как фиксить?
В manage.py shell пишу from django.conf import settings settings.configure()
Привет ИТ-Боги. Решил вкатиться в программирование чтобы доказать себе что я не тупой. (26 лет, думаю надо как то мозг нагружать) то есть нет цели получать 300к в секунду через 3 месяца.
Почитав отзывы решил начать с Питона.
Из опыта ранее только писал игры на QBasic где то в пятом классе. (в кружке) , единственное что помню что тогда мне это очень нравилось.
Сейчас начал читать Лутца "Изучаем Питон"
Годная книга для старта? Нужно ли читать что-нибудь еще параллельно?
>>935110 Открыл Bite of Python всего 130 страниц. У Лутца я прочитал 130 страниц только введения и узнал как запускать Python через UNIX, про сериал Monthy Python и про все его существующие модификации. Спасибо анон!
>>935113 > Открыл Bite of Python всего 130 страниц. Там охуенно всё сжато и по полочкам, но мне не хватило, чтоб понять всё полностью. Но для старта - збс.
>>935109 Лутц — параша редкостная. Я даже Dive Into Python не дочитал до конца, всё стало понятно и я начал писать свои первые опердени. Позже, с удовольствием прочитал весь python cookbook, вот это заебись, хорошо зделали.
>>935219 Этот фак родом из 2015, аккаунт неактивен, аппрувить коммиты некому. Когда я предложил собрать реально недостающую и новую инфу, в частности по асинку в 3.5, то стало примерно ясно насколько это невозможно при текущей аудитории. Сам же я не осилю писать полный гайд, т.к у меня опыта и знаний банально меньше чем у многих. Я пятый месяц прерывисто изучаю.
>>935252 Пиши что можешь предложить. Я могу предложить: - Установка интерпретатора в линукс, использование нескольких версий, установка свежих версий которых нет в репах убунты. - Новые книги (пьюр питон, джанго) из 2к16: уровень, полезность, наличие воды, наличие перевода, стоимость... - Бриф фреймворков для веба и не для веба. - Несколько источников с гайдами. - Несколько видеокурсов (понадобится коллективное скачивание через генератор премиум линков, т.к лежат на обменниках разбитые на много частей). - Бриф по Git. - Бриф по pip.
Кто вкатывался джанго джуном на удаленку, запилите свои стори. Что спрашивали, сам процесс работы? Интересно, насколько реально джуном удаленно работать.
Гайс, прошу код ревью. Наговнокодил тут немного имиджборду, собственно есть куча вопросов. Вот ссыль https://github.com/YraganTron/Dvach (да репозиторий через жопу создал). Собственно нужно ли указывать комментарии к коду? По факту у меня 2 большие вьюхи, где я много чего делаю, выглядит это, мягко говоря, плохо. Есть мысль попробовать разбить на большее кол-во функций, но как-то оно не очень разбиваться то и хочет, ну и попробовать переписать все на классы(все равно нужно понять, как классы работают). Как лучше решать эту проблему? Достаточно ли такого кода, чтобы прикладывать его к резюме? Или нужно больше функциональности? На данный момент реализовано примерно следующие -Подсчет пользователей через сессии -Увеличение фото по клику -Расчет score для тредов(тут же сага и вывод по score) -Динамическая загрузка страницы -Добавление идентифицированных ответов с tooltip(тут беда правда одна есть, скип тултипа происходит только после клика по body) -Модераторы(криво и через админку, но по факту они все же есть) -Фиксированная форма, которую можно таскать за ручку
В планах докрутить: -Верхняя панель у треда(обновление, автообновление и т.д.) -Поиск -Дроп зона для загрузки файлов -Возможность оставлять почту и соответственно возможность по кнопки бросать туда письма
>>935453 >Достаточно ли такого кода, чтобы прикладывать его к резюме? Я бы показывать такой код постеснялся кому бы то ни было, не то что к резюме прикладывать.
>>935453 >Достаточно ли такого кода, чтобы прикладывать его к резюме? У тебя там нет ООП, юнит-тестов, работы с настоящей базой данных, gitflow. В общем, нет даже элементарных вещей, на которые смотрит потенциальный работодатель. Зато, прямо сразу, репозиторий встречает кучей лишнего закоммиченного говна.
>>935453 Я может и ебанутый, но это пиздец какой-то блядь, где коменты? Где хоть какой-то порядок среди сотен папок? Как эту ебань вообще потом поддерживать? Может стоить сделать что-то поменьше но с качеством кода получше? Наебашить туда декораторов,рекурсии,регулярок,асинхронности ну специфических либ заюзать, прокоментить все, ну и руководствоваться pep8. И тогдааааа, можно с уверенностью и без стыда его выставлять на показ. Удачи тебе, антош.
>>935495 Ну насчет кучи говна я предупреждал, все-таки в 4 утра все делал. Тогда у меня есть пара вопросов 1)Я правильно понимаю, что добавление ООП это переписать просто проект на классы? 2)Не совсем понимаю, что такое работа с настоящей базой данных?(накатывать какой-нибудь мускл и показать, что я умею работать на нем через питон?) 3)На какие элементарные вещи смотрит работодатель? >>935514 Мне казалось там был порядок среди папок... Под асинхронностью ты имеешь в виду торнадо?
>>935519 >1)Я правильно понимаю, что добавление ООП это переписать просто проект на классы? Class based views. У тебя во вьюхах говнокод лютый, все равно переписывать. >2)Не совсем понимаю, что такое работа с настоящей базой данных?(накатывать какой-нибудь мускл и показать, что я умею работать на нем через питон?) Хз, что тот хер имер вииду, один хрен через орм-ку работаешь. Ну ебани например редис для хранения сессий и кэша. >3)На какие элементарные вещи смотрит работодатель? Начни с внешнего оформления, почисти репозиторий от говна, добавь документацию и тесты.
>>935519 Под асинхронностью я имею ввиду asyncio. Ну и там нет порядка, кучи всякого говна лежат в непонятно как(хотя может тому что это джанго, но на фласке у меня так глаза не разбегаются). p.s. В любом случае тебе дали годные советы - действуй)
>>935611 Пс, парень, а зачем ты всё в функции позагонял? На сколько я помню так лучше делать когда участок кода юзается больше 1-2 раз, или же он сликом огромен и будет неудобно читать его в основном теле файла и тогда его выносят, а то у тебя порой попадаются такие йобы как: >def yoba(): >____.... >____.... >... = yoba() Не кошерно. Ну а так в принципе нормально, комменты есть, всякие плюшки def __yoba__(self) юзаешь(забавно, давно не видел так много их в одном месте, что-то недолюбливают их). Для большей структурированности можешь ещё по файлам распихать и к каждому файлу развернутое описание(если вообще это логически возможно). p.s. Поясни за тесты, что и как они тестят.
Аноны, возможно вопрос задавался не раз, но ответ я так и не нашёл на него. Есть прожект на Flask, на странице есть несколько форм, к каждой форме есть своя кнопка отправки данных, как мне вычислить какая из форм отправляет данные? Или же каждый раз проверять ПОСТ запрос и то какие данные в поля форм ввёл, и если поля пустые - значит форма не та, а если заполнены - то что нам надо.
>>935625 >Пс, парень, а зачем ты всё в функции позагонял? На сколько я помню так лучше делать когда участок кода юзается больше 1-2 раз, или же он сликом огромен и будет неудобно читать его в основном теле файла и тогда его выносят
Для самодокументации. Имя функции - это её комментарий, даёт высокоуровневую инфу о том, что делает код.
>Для большей структурированности можешь ещё по файлам распихать
Там нечего распихивать, один маленький монолитный модуль.
>p.s. Поясни за тесты, что и как они тестят.
Один тест тестит неявные зависимости между родителем и детьми (их там и не было, но когда у меня прога, юзающая либу, неверно заработала, я решил это проверить).
Второй тест (testReferenceCases) не работает, потому что я поленился его реализовать. Там нет ни единого ассерта, это должно было тебя насторожить.
Ещё тебя должно было насторожить хранилище - доступ к нему слишком неудобный.
>>935636 > Там нет ни единого ассерта Тому и спросил, как-то странно было не понятно. >Ещё тебя должно было насторожить хранилище Тыкни носом где это и чем не удобно
Ещё с тревисом и пипом какой-то пиздец, заебали блять. На тревисе какая-то хуйня с pypy3, все билды фейлятся, как и большая часть билдов cpython под макось. Чтобы в пип деплоить на тревис надо класть пароль от аккаунта, что стрёмно, так как авторы pypa не осилили OAuth.
>>931572 (OP) Котаны, вопрос по оформлению. Что на практике нужно писать в списке документации. Только описание функции и двумя строчками ниже список параметров с описанием этих параметров? Также, есть ли в конторах требования по комментариям? Или каждый лепит комментарии в меру своей испорченности? Судя по гитхабу, многие считают нормой в нескольких словах объяснить суть того, что они делают, а потом написать огромную стенку текста без единого пояснения.
>>935647 pep8 - дерьмо, придуманное и принятое в высшей мере странными людьми. Одни обязательные табы чего стоят. Я буду делать по-своему, мой стиль оформления лучше и по моему наблюдению он весьма широко поддерживается инструментами, а значит довольно популярен.
>>935677 тем не менее, все пепы/прочие стандарты придуманы для того, чтобы им следовало как можно большее колво людей впрочем, если ты работаешь один - можешь класть на стандарты все, что угодно
Аноны, ни у кого нет кода для перевода из десятичной системы измерения в одиннадцатиричную, вообще в любую, где есть не только цифры. Буду очень признателен, хотя бы за помощь как это сделать
>>935677 Чтоооа? Там наоборот написано, что табы юзать нельзя, лучше пусть будут пробелы. Вообще это не проблема ибо любой текстовый редактор умеет по нажатию на таб подставлять 4 пробела (ну или сколько захочешь). Вообще там вполне разумные правила, например, ограничения длинны строки или пробелы между арифметическими операторами.
>>935682 >тем не менее, все пепы/прочие стандарты придуманы для того, чтобы им следовало как можно большее колво людей
Принцип простой - не нравится стандарт, по которому код в моей репе - либо не коммить, либо конверти, в исключительных случаях я сам конвертну. Чтобы люди не заморачивались, в проекте лежит .editorconfig. Те странные люди, что юзают pep8 могут продолжать жрать говно, придёт время, сами поймут.
>>935693 значит так. Пробелы зло, любой репо с пробелами - это боль. Люди должны перестать жрать это говно. Я не собираюсь ни под кого прогибаться, в репе лежит эдиторкогфиг, он всех упоротых адептов пробелов должен поставить на место, так как в нём жёстко прописано, сколько пробелов занимает таб. На самом деле это похую, таб это гибкая фича, сколько настроишь - столько и будет занимать, чисто дело вкуса, таб удовлетворит каждого.
>или пробелы между арифметическими операторами. исключительно дело вкуса и ситуации, в некоторых случаях выглядит лучше с пробелами, в некоторых пробелы лучше убрать для более интуитивно-понятного кода
>>935634 Гугли " flask multiple forms on one page". Увидишь ответы на stackoverflow про то, что в формы можно передавать параметр prefix, так ты сможешь их различать.
Есть проект вида: dir1: |-->dir2: |----|---->testmod.py |--->test.py
Как мне в test.py импортировать testmod.py на стадии запуска программы, т.е. не ебясь с system PATH до запуска программы, в идеале и не редактируя system path во время работы. И как вообще джанго импортирует модули?
>>931572 (OP) можно как-то элегантно решить следующую задачу? На вход подается строка1 если эта строка1 является подстрокой строки2 И отличается от подстроки2 на >= 1 и <=4 символов, то функция выдает True. Я конечно могу сделать список из подстрок2 длиной строки1 и потом измерять расстояние Хамигнтона, но может быть есть более красивый способ?
Джанганы, а вот нужно уведомлять юзеров отписавшихся в определенной теме форума о новых сообщениях в этой же теме. Как это проще||правильнее сделать? Куда хоть рыть?
>>936027 Ну хотя бы на уровне циферки "новых сообщений Х" Прихуярить модель Read со всеми открытымы когда-то темами и пересчитывать все посты каждое обновление страницы как-то тупо, наверняка есть другие возможности более изощренные
я кажется понял как не переутомляться! нужно переключаться на другую задачу, на другой язык (js в моем случае), после переключения значительно легче опять питонировать.
>>936665 не отдых не про меня, я тугодум и что бы успевать в нормальном режиме, нужно больше времени кодить... ну и как следствие, с увеличением опыта сокращается время на решение каких то задач.
Посоны, что-то я в отчаянии. Первый пик - я через sqlalchemy пытаюсь сделать поиск по трем полям. Как видно - результат 4 записи. Второй пик - я копирую sql, который получается из моего кода и запускаю напрямую в базе. Из запроса просто убрал лишнее, чтобы не мешалось. Результат - 5 записей. Т.е. не ищет именно по фамилии - surname. Я не понимаю почему. Облазил гугл уже весь. БД - sqlite.
Чем именно? Пробовал писать свою хуйню на pygame, врод что то вышло. Хочу попробовать джанго, но дело застопорилось на первых же шагах. Как начать работу с ним?
Как же остопиздил этот кодинг ебаный, эта вечная ебля со сраными required but not now saved from view's __save__ уебиными unicode slugify полями ебаными, директором-ебонатом и тем что я сука вынужден тут жить блядь прямо возле компа всегда нахуй в зоне покрытия и с ноутом под рукой ожидая что в любой момент vps может перегрузиться, туда может прилететь галимым коммитом от фронтендщика, может сука отвалиться сраная exchange почта, блядь, а ты такой заебанный всегда что часто или не жрешь нихуя за день, или жрешь в кфц под домом, но один хуй пухлый как пельмень потому что прикован к компу. И все это ради чего? 120 тыщ? Да у меня знакомый менеджер по розничной продаже межкомнатных дверей получает больше.
Ну и нахуя вы все вкатываетесь в программинг блядь?
Няши, объясните вот эту хуйню на пальцах: >Add the request context processor to your settings.py, e.g.: >from django.conf.global_settings import TEMPLATES >TEMPLATES[0]['OPTIONS']['context_processors'].insert(0, 'django.core.context_processors.request') Взято отсюда: http://django-el-pagination.readthedocs.io/en/latest/start.html Это нужно непосредственно в settings.py вставлять? Если я это туда вставляю, то у меня случаетя IndexError: list index out of range Куда это вообще надо вставить кроме моей жопы, и надо ли вообще с этим что-то делать? Если что Джанга у меня 1.10
>>937101 у тебя в Django уже есть переменная TEMPLATES, там смотри Options и contex_processors, там будет список из уже вставленных и туда просто добавляй нужный тебе.(давно возился с пагинатором этим, вот не помню точно, но есть шанс, что что в сеттинге просто дописал установленное приложение и все)
>>937082 >а ты такой заебанный всегда что часто или не жрешь нихуя за день, или жрешь в кфц лол, ты просто до денег видимо жадный получаю 40к попил сейчас теплого молока пару часов назад спокойно отобедал, голову никто не ебёт, дедлайнов нет, пописываю фор фан для себя, книжки читаю
>>937082 Ты странный. Иди поработай в продажи, где тебя так же все ставят раком и заставляют впаривать непонимающим клиентам откровенный шлак. При невыполнении планов продаж виноват не кризис а точно ты. Или в общепит, за 30 000 в месяц за 10часовой день на ногах. И всем знакомым гордо будешь рассказывать что работаешь в маке. И получишь опыт работы шикарный. Или на вахту на север строителем смотайся разок, где тебя может вообще с деньгами кинут и здоровье посадишь так что доживешь от силы лет до 47. Или псом режима поработай общаясь с алкашами и зеками расследуя преступления, причем кол-во преступлений должно быть ПО ПЛАНУ не меньше чем в АППГ. Почта у него отвалилась, я аж проиграл с твоих жизненных проблем.
>>937107 Спасибо. Нашел вот это: >django.core.context_processors >Built-in template context processors have been moved to django.template.context_processors.
django.template.context_processors.request у меня прописан, но один хрен не робит. Буду дальше ковырять.
Анон, снес кривыми руками /usr/local/bin/ansible Теперь, даже после переустановки через pip $ ansible --version -bash: /usr/local/bin/ansible: No such file or directory Где ее взять-то?
>>931624 >какая библиотека подойдет? Действительно, зачем думать, зачем что-то свое писать если можно просто накатить стороннюю библиотеку, ты наверное и для калькулятора специальую библиотеку качал и калькулятор у тебя выглядел так: import calc calc.calc()
Аноны, что лучше юзать, sqlalchemy или же напрямую конектится к БД и прописывать запросы? Недавно было собеседование по скайпу, спросили за БД, сказал что юзал много чего(MySQL,SQLite,PostgreSQL) и везде прописывал запросы вручную, без алхимии, собеседник тяжело вздохнул, сказал "понятно,ладно" и пообещал перезвонить (но нихуя). Это вина его тараканов, или же тру хацкеры юзают алхимию?
Аноны, пояните человеческим языком за дженерики Джанго. Не могу вкурить как они работают. Я слишком туп, чтобы понять много сложных слов их официальной документации. Вот прям на пальцах.
>>937596 Это все делается через ansible, docker, jenkins. Я хуй знает правда, как это делать на винде, никогда с ней не работал. Насчет питона - да можно.
>>937689 Если ты планируешь сделать проект, отладить его, выкатить в продакшн и больше никогда не менять схему БД - то можешь не тащить. Иначе тащи конечно. Особенно если могут случится написанные ручками datamigrations.
>>931673 ну так дебаг когда вырубаешь, джанга больше не раздает статику и медиа. Дрочи nginx или что там у тебя. на хероку задеплой, там халявно, поиграться хватит.
Может кто по джанге подсказать в чем проблема. Подключил вместо стандартной базы данных постгрес и локально всё работает, а вот на PythonAnywhere выдает ошибку с psycopg2. Может кто-то подсказать в какую сторону смотреть ? line 24, in <module> raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
>>937852 Кури до просветления. Как там в питонэнивер устроено окружение я не знаю. Попробуй в шелл самостоятельно зайти, активировать венв и удалить/установить псигопгу.
>>937860 Да я первый тутор только заканчиваю, что там посоветовали, то и юзаю, тем более проблема то не уйдет поди, если поменять сайт. >>937855 Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/local/lib/python2.7/dist-packages
>>937893 В жопу сваю мамку паюзай, лох теоретичный. Так кредитка нужна, бббггее. и спидоранам засанкцаинировали по самые спомидоры, хехе. А инстанс микро (как хуй в тваей жеппе). када низаметна лимит ушел выше, тебя хуй уведомят. а потом будешь плодить бабло, хехе.
>>937868 >>937867 Сука, я даун, забыл активировать virtualenv, там установил psycopg2 >>937913 Точно, только что прочитал, только вот интересно, ошибку которую оно мне дает связанно с бд ?
>>931572 (OP) Сап двощи, хочу задрочить веб. Взял пока джангу. Что сделать на ней, чтоб покрыть большую часть разных плюх, необходимых в реальных проектах?
>>937932 > Что сделать на ней, чтоб покрыть большую часть разных плюх, необходимых в реальных проектах? Удалить джангу, выучить php и битрикс. В крайнем случае ноду и реакт/ангуляр.
>>937928 Ты думаешь, кто-то на той машине, на которой ты запускаешь код, поднял для тебя постгрес на локалхосте? :) Тем более, если у тебя бесплатный аккаунт, то твой выбор либо mysql, либо sqlite. Когда создаешь в админке pythonanywhere базу данных, то для тебя сгенерируется хост, который тебе нужно будет добавить в файл настроек. Трюк с локалхостом не пройдет. Вот инструкция для mysql https://help.pythonanywhere.com/pages/UsingMySQL/
Если хочешь сам поднять постгрес, то тебе нужен какой-нибудь vps, где тебе будет предоставлена возможность все настроить как тебе хочется.
>>937942 Да вы тут хуйней занимаетесь все на самом-то деле. Отличный пример того как не думать глобально, а ковырять говно что первое попалось/было предложено в туториале.
>>937932 Сделай бложик или борду. Лучше сначала бложик, конечно. Сначала на FBV (function based views), потом на классах. Сделай кастомную модель юзера, в первую очередь откажись от sqlite, пиши формы в forms.py, а не в шаблоне. Используй полезные приложухи по типу crispy forms, jinja2 > django.templates. Делай хитровыебаные связи между приложениями, настрой админский шаблон под свой вкус, напиши middleware, который НАПРИМЕР юзеру в реквест будет ебашит какую-то куку. Потом поставь DRF и ебашь апишки с красивеньким жопоскриптом. После всего этого поймёшь, что джанго - говно и для хайлода надо использовать что-то другое.
Борду самую тупую сделал с двумя модельками, класс бейсед вью, читаю документацию, пока не понимаю с view до конца когда что использовать (FBV, CBV, MBV, ...) и миксины всякие когда плохо, когда хорошо. Возник вопрос - много ли в реальности используется разных приложений сторонних для джанги. (Писал чуток на руби - язык не понравился, но это оффтоп, так там в рельсах по сути все что есть заменялось на сторонние гемы), тут вроде больше используется функциональность самой джанги, если включить в нее rest framework и шаблоны. И чем другие шаблоны лучше, чем джанговские? Я почитал посмотрел, но не очень понял - вроде то же самое делается.
>>938056 Год назад работал над проектом на джанге в 70к строк питоняьчего кода, без учета шаблонов и прочей хрени. Так там процентов на 70 использовались стандартные возможности джанги. Десяток сторонних модулей и пяток своих. Джанга давольно таки функциональный фреймворк, стандартных возможностей для небольших проектов хватает с головой.
>>938062 >для небольших проектов хватает с головой Лол, это вообще ебаный комбайн. Надеюсь, когда-нибудь люди поймут, что лепить все на джанге не нужно и начнут юзать божественный фласк.
>>938056 Ну смотри. CBV это чтобы не писать хуйню в одной функции типа if request.method == 'POST': logic1 elif request.method == 'GET': logic2 По-хорошему, функции я бы использовал только когда надо что-то сделать с реквестом (хотя и для этого middleware существуют) или когда какая-то ебатория с логикой моделей (надо здесь какой-то ахуенный запрос, етц). На джанго вообще полно приложений (по-моему, только в PyPy их около пары сотен), token-authentication ещё из годных. В общем, вот, пока попробуй заебенить какой-то бложик, с регистрацией, коментами. И не забывай, jinja2 > django.templates
>>938090 А смысл? Для маленьких проектов джанга норм. Для больших - тоже норм. Ты просто берешь джангу и без задней мысли все делаешь. Можешь со временем свою маленькую джангу сделать большой и все будет отлично. Наверное и с фласком так можно, но у джанги все целостнее выглядит.
>>938092 А зачем для маленьких проектов, не блогов mvc-модель и все эти папочки никому не нужные? Это только переусложняет задачу и вместо того чтобы писать под свою задачу ты пытаешься подогнать под логику джанги.
Но что это за проект, где для тебя папки и мвц - много? Самый минимум что ты можешь сделать - это засунуть все модели в один файл и вьюхи и парочку шаблонов завести. Куда еще меньше? Начнешь усложнять - разобьешь сначала по файлам, а потом по модулям.
>>938096 блять. ну скажите мне что в джанге такого сложного? структура проекта предельно прозрачна и логична. и никто не заставляет использовать все батарейки джанги в чем тут оверхед? >>938052 много ты хайлоада написал?
Хочу на сайтике запилить главную страницу с редиректом под названием /home/ где будет представление сайта, и дальше по отдельным ссылкам весь функционал сайта. Получается мне надо отдельно создать приложение "home" и "<another>"? Хотелось бы в одном приложении всё иметь.
>>938640 Смотри: www.mysite.com - редиректит на www.mysite.com/home/ где описание сайта и т.п. Допустим мой сайт про описание чего-либо (собак), и я хочу чтобы инфа была на www.mycite.com/dogs/ Для /dogs/ у меня есть приложение "dogs", и в главном ulrs.py я делаю /dogs/ include dogs.urls, но как сюда присобачить "home"?
Кто-нибудь для создания регистрация на джанге пользовался django-registration ? Что-то я по их документации нихуя не понимаю. Типа создать форму, которая наследовала бы RegistrationForm, а что там внутри должно быть, такое ? class Meta: fields = {'username', 'password1', 'password2', 'email'}
И еще, пишу точно такое, что они рекомендуют в своих юрл - 404, что не так ? url(r'^accounts/$', include('registration.backends.simple.urls')),
>>931572 (OP) Есть АТ Glonass/GPS хочу запилить себе свой сервер, есть описание протоколов (EGTS/ADM/GalileoSky и др. терминалов) всё это дело хочу написать на python. Как организовать приём данных (с дальнейшим расширением)? Есть идее, организовать MQ (ZeroMQ или что-то типо этого, потом данные записывать в БД). Помогите советом мудрым.
Вечер в хату. Короче, есть такая конструкция. Она работает, но нужно что-то более лаконичное. Можно ли что-нибудь придумать? Суть в том, что в строке нужно найти цифры, а для того, чтобы их достать, нужно достать одну конструкцию и уже из неё потом вычленять цифры. Естественно, просто указать в регулярке множество цифр не сработает, т.к. неизвестна нужная длина. Всё никак от конвейеров баша отвыкнуть не могу.
>>938774 Пишу парсер картинок в gelbooru <span id="s3570992" class="thumb"><a id="p3570992" href="index.php?page=post&s=view&id=3570992" ><img src="//gelbooru.com/thumbnails/96/e7/thumbnail_96e7f6e2dd0ebce605ea9c66539aa430.jpg?3570992" alt="здесь идут теги, среди которых могут быть и цифры"class="preview " style=""/></a></span>
<span id="s3570986" class="thumb"><a id="p3570986" href="index.php?page=post&s=view&id=3570986" ><img src="//gelbooru.com/thumbnails/77/50/thumbnail_7750d954104237cf01fd977288b464e0.jpg?3570986" alt="здесь идут теги, среди которых могут быть и цифры"class="preview " style=""/></a></span>
>Version: 2016.3.2 >Build: 163.10154.50 >Released: December 30, 2016
Вот это 3.2 это версия пайтона или че блядь? Пиздец у меня бомбит нахуй, почему блядь нельзя большими сука буквами написать версию питона, а не версию блядской ИДЕ?
asyncio в stdlib видимо с бинарными заплатками, поэтому дебажить мои хелло ворлды с ним было не умно, так как pdb пропускал кучу моментов и многое было не понятно. Создал venv с asyncio из pypi, там он называется reference implementation, и уже с ним дела пошли в гору. Именно непрерывной последовательности действий интерпретатора не хватало для понимания. Наверное, неплохо добавить эту деталь в фак для ньюфагов, может кому-то будет полезно.
>>939000 Дебил блядь, нахуя тебе пичарм, ты там отладку с профилированием собрался делать или что? Пиздец нахуй, берешь сука скачиваешь пистон нахуй, ставишь pip, все пакеты остальные блядь ставишь через pip и компиляешь свой экзешник (нахуя тебе он вообще блядь) через командную строку нахуй. Уебок блядь криворукий не понимаешь нихуя но везде уже лезешь своими ручонками пидор.
>>939016 Пс, чем компиляешь в ехе? Юзаю пайинсталлер, но что-то в винде не запустился прожект(на линуксах полет нормален, но походу я там библу проебал одну). Мимодругойанон
>>939000 Ну во-первых скачай комерческую, плюшки приятные есть, во-вторых последняя версия - 3.3, в третьих в настройках пайчарма, там где интерпретатор, ты сам указываешь место нахождения твоего пистоновского интерпретатора, какого хочешь(2.7,3.2,3.4,3.5 & e.t.c.).
>>939000 Ты, долбоеб неотесанный, вместо того чтоб писать пост за это время мог бы уже изучить что такое интерпретатор, а что такое IDE и в каком они соотношении.
>>939000 Такой трипл эпичный.лол Хуле тебе не ясно, опездол? Выше версии для 64бит, ниже 32. Качай последнюю 3,5. Там есть ридми файл, почитай его. Че как школяр тупой то?
>>938758 А в чём проблема использовать группы-то? Ты, похоже, не знаешь, зачем вообще .group() нужно. >print(re.search(r'jpg\?(\d+)', line).group(1)) и получишь своё.
Да и вообще, лучше бы ты айдишник именно из поля id выдирал. Впрочем, решение основной задачи тебе уже дали, в любом случае.
Подскажите пожалуйста несложных книжек для старта в SQL. Планирую работать с ORM, преимущественно, так что запорсы и прочая сложная хрень не нужна. Нужно понимание форигнфилдов, мэнитумэни отношений (как например биндить несколько изображений к одному посту). Основы, в общем.
Сап, питоноводы. Засоветуйте какую-нибудь либу для oauth, нужно сделать тестовое задание. Нашел python-social-auth, но он слишком толстый и заточен под использование в продакшонах, как я понял, а мне бы что-нибудь небольшое чтоб хуяк-хуяк и получить токен. Нашел под эти требования requests-oauth2 но оно чот тухлое судя по комитам. Есть у кого мысли/советы что запользовать можно? oauth нужен чтоб получить токен от вконтактика, серверов городить слава б-гу не надо
Хорошие новости для веб-рзработчиков! Vue.js теперь будет иметь нормальный плагин для PyCharm, а не старый, забытый и нерабочий. Как раз буквально недавно осваивал Vue.
>>939276 Нет )))00)0) На получение работы веб-макакой
>> - Хочу у вас работать, но опыта нихуя нет. >> - Окей, но сделай такое то тестовое задание, вот ТЗ. >> - Ладно, пойду посоветуюсь на двощах какую либу запользовать.
>>939291 Спасибо большое за помощь. Я просто сам довен, не до конца объяснил что мне надо, и начали не те советы давать.
"Сделать веб приложение, на выбранном вами языке, при открытии должно показать кнопку «авторизоваться» по нажатию делает oauth авторизацию ВКонтакте, и отображает базовую информацию о пользователе"
Это задание на джуна, надо сделать его. Мощные oauth фреймворки для этой задачи не подходят, а вот requests-oauthlib то що надо.
Так, а вот если я блог свой на джанге запилил и хочу сделать профили для пользователей это должно быть новое приложение app, или там же где и блог пилить ?
>>939399 Спрашиваешь. Само собой актуальна. 93-го года же.
А если серьезно, то иди читай "Дейт К.Дж. - SQL и реляционная теория. Как грамотно писать код на SQL - 2010.pdf" А потом документацию postgresql от одной ебанной корки, до другой, а потом заново
>>939399 Там только основа, которую старается реализовать каждая приличная СУБД. На год издания можно забить, это примерно как с той белой книжечкой от Кернигана и Ричи 1975 года.
Саб. Прошел базовый курс, знаю все не очень хорошо. реквестирую задания или упражнения, чтоб отточить знания. из вариантов какие-то задачки или еще что-то. мейби какой нить легкий мини проект
А почему у меня всё новые пользователи при регистрации в джанге получают is_superuser = True и как это убрать, если в форме напрямую написать, что False, то и мой юхер получает False.
>>939554 А, нет, я даун, забейте, другой вопрос. Как мне во view в определенной функции достать юзера, которых хочет воспользоваться этой функцией ? То есть как мне понять, кто делает запрос ?
Привет питоняхи. Подскажите нормальные-адекватные требования на питон-джуна. Летом хотел вкатиться - была вакансия то ли на джуна, то ли на стажера - давалось задание тип сделать приложение на джанге (это ладно) с фронтендом на ангуляре. Я такой подумал - ну тип на джанге то я могу что-то сделать и rest-framework разберу, но блять ангуляр чет дико смутил и я дропнул
>>939785 В 70 процентах случаев никто не хочет нанимать фронтендщика, который будет натягивать твою джангозалупу на веб-морду, поэтому желательно знать ангуляры и прочие реакты. Иначе ты нахуй никому не нужен будешь в вебе. Думал в сказку попал и будешь сайтики из девяностых лепить?
Объясните зачем в channels нужны какие-то бекенды кроме in-RAM? Я сейчас использую каналы как замену AJAX (посылаю ивенты, которые требуют времени, в сокет, потом принимаю результат). Как я понимаю, если добавить редис то можно создать несколько воркеров? Это получается нужно на кадой машине заливать весь код джанго эппа? Иначе как воркер поймет контекст (например если есть миддлварь типа авторизации)?
>>940005 насколько я понимаю каналы, не надо ничего тебе "заливать", оно само под капотом маршрутизирует между воркерами как раз через редис, просто работаешь так же как с inram. но могу ошибаться, поправьте если не прав.
Ладно, давайте взглянем дальше чем Django channels. Возьмем мою конкретную задачу.
На фронте у меня Vue.js. Для него создан компонент, который представляет из себя несколько ползунков. Позиции ползунков представлены в виде JSON и связаны с computed JS переменной. Когда пользователь выбрал нужную конфигурацию ползунков, он жмет кнопку.
Теперь это нужно обработать в Django (а именно, принять данные и записать в Postgres, при этом в аккаунт конкретно этого пользователя).
Мне пока видится два решения: 1) Создать отдельный маршрут, принимающий POST, и привязать к кнопке отправку POST-запроса. В джанго создать вид, который будет это обрабатывать и писать в базу, а также возвращать JsonResponse с успешным/неуспешным выполнением. Дальше принятый респонс вылезет где-то на странице. Плюсом является прямая простота реализации и поддержка всеми броузерами. Минусом: Лишние запросы (в сравнении с сокетами, например), отправка хедеров и прочей ненужной лабуды, хотя полезен только сам JSON. Нагрузка, соответственно. Также возможность отправить респонс только один раз за запрос. Промежуточные результаты не сообщить (напрмер если я хочу проинформировать что что-то записалось для каждого посланного объекта). 2)Channels/SocketIO и прочие сокеты. Тут явный плюс это сколько угодно ответов на один реквест. Ретрансляция по чужим сокетам (в нашей задаче в член не уперлась). Разгрузка сервера.
Что бы выбрали вы? Есть ли третий, четвертый, n-вариант? Как быть с неподдерживающими сокеты обозревателями? Особенно настораживает Opera mini, которая по-прежнему часто встречается в отличие от всяких IE6. Создавать для них отдельный функционал, детектить и слать нахуй или что-то еще? Расскажите о своем опыте разработки интерактивных бекендов, дайте советов мудрых.
>>940083 я выбрал сокеты (channels) на фронте react. но у меня много действий и есть ответы как на действие, так и broadcast уведомления по всем каналам. тебе если только ползунок обработать наверное хватит и аякса.
Как через регулярные выражения убрать все знаки оставив лишь цифры из этого "['452564']" ---> "453564" делаю через re.sub , но что то все ничего не получается.
Питаны, кажись меня с моей не айтишной работы выпизживают. И так, у меня есть десятка законченных проектов которые делал для фирмы на джанго + бутстрапе, всё функционально, всем пользуются, азы джанго знаю, сигналы там всякие, контекст процессоры, темплейт теги, рест апи, раббит эмкю, селери, перепиливание админок и тд Не знаю совсем js даже на уровне jquery Верстаю при этом вполне сносно на вышеупомянутом бутстрапе Найти удалёнку на 40-50 штук в таком раскладе реально вообще?
>>940563 В ойти типа с 2005, только беда в том что программёром я не работал с 2012, все проекты выросли из тупой скуки и "шеф ля какую поебень я сделал помнишь те валенки говорили мол круто было бы" + всякие корпоративные сайты-затычки, но их я вообще не считаю
Посоны, спермопроблемы. Короче logging пытается записать в cp1251. И естественно у него не получается (пикрелейтед). Пробовал делать как здесь написано http://bugs.python.org/issue11593 теперь и русик сломался.
>>940642 >спермопроблемы что общего между окнами, окошками, виндой, виндусом, мелкософтом, майкрософтом, мс и тд и блядь спермой. В чём связь? Я просто не понимаю.
>>940958 так ты бизнес аналитиком был? Хуй знает тогда. По моему с таким бекграундом можно в того же бизнес аналитика и метить, только в IT сфере. Т.к. сайты писал, понимаешь что кнопочку поправить может быть как задачей на пол часа, так и на 2 недели.
А вообще попробуй создать 2-3 версии резюме и посмотреть как конторы на них реагируют
>>941055 У меня есть корпоративная файлопомойка на которой валяются файлы ±120 клиентов, от инструкций по пользованию станками до какого-нибудь говна типа проектов инвест. программ. При аплоаде файла файл закидываю в очередь rabbitmq что бы оно засунуло его в один скрипт если это docx или odt или ещё что человеческое, сконвертировало в html а затем из html в markdown; если это pdf то просто нарезало на jpeg-листочки Если файл не является новой ревизией существующего - раббит засовывает его в скрипт, а скрипт выплёвывает хмтл в одно поле джанги, markdown в другое, но недоступное пользователю и нужную для определения изменений + поиска Если файл был изначально docx/odt, и это ревизия какого-то из существующих файлов - дальше раббит запихивает значения из поля в велосипед из говно-гит-подобного поделия, которое гитовским diff'ом находит изменения файла относительно прошлой версии, что бы можно было всё не читать а выгрести например "изменения за последний год" и посмотреть чем устаревшее говно у подрядчика отличается от актуального и за что его отпиздить/посоветовать/или что бы сам подрядчик залогинился и вкурил
С учётом того что система не оптимизирована и вполне так валится от всего подряд, а времени особо переписывать на чём ещё у меня нету - раббит - единственный способ что бы твои задачи хоть и не сразу, но выполнялись не заморачиваясь дрочкой except'ов или ещё чем непонятным для меня типа полной асинхронщины и похуй как колбасит сервак и не ребутнится ли он вообще - раббит нихуя не просрёт
https://github.com/TheKnightsWhoSayNi/info/wiki/Hat