24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Не встречал ли никто модуля для работы с эппловскими табличками из Numbers (аналог excel'я)? Или, может, хотя бы человеческое описание формата? Там внутри, в отличие от экселя, обычная xml'ка, сжатая зипом (впрочем, можно и не сжимать), но огроменная с не очень явным описанием ячеек (данные просто подряд идут, без, например, прямых указаний "колона 1 ряд 2"), поэтому разбираться не один вечер нужен.
Пацаны, нид хелп Нахожусь в командировке Имею вин-10 ноут с ебанутым UEFY на который ещё и ставить толком ничего нельзя из альтернативных систем Внезапно нужно до пнд запилить простенький сайтец-одностраничник Хочу сгенерировать его на https://github.com/eudicots/Cactus или http://blog.getpelican.com/ и потом доводить до ума, ведь шеф тот ещё эстет.
А теперь, внимание, вопрос знатокам: Как мне всё это провернуть из-под блядской винды? И какой сайт-ген выбрать? Где брать джанго-шаблончики для Кактуса и тд
>>779452 Можно. И в эксель, и в пдф можно, только мне не просто данные один раз выдрать хочется (вручную открывать файл для экспорта ведь нужно), а просто работать с ним из соснольки, добавляя, удаляя и изменяя данные, не теряя при этом также и форматирование (группировки и т.д.).
Призываю тех, кто работал с бутылкой. Вопрос: как мне сделать аналог редиректа без выброса эксепшона и передачи старого реквеста, т.е. просто переход по сслыке?
>>779576 >без выброса эксепшона и передачи старого реквеста Между получением запроса функцией и этим самым редиректом проходит слишком много времени, так что тамошний апач всё ломает по таймауту, в который обработка запроса не укладывается. Если б можно было редирект использовать, так и делал бы.
>>779579 И правда raise res. Тебе просто надо установить статус код, установить заголовок Location, вернуть response. response.status = 302 response.set_header("Location", redirect_url) return response Все как и в функции redirect, только без копирования объекта.
Хочу написать скрипт, который будет чекать каждые 30 секунд перезаписан ли файл. Но т.к. я хеллоувордщик, то прошу помочь. Не обязательно писать за меня код, просто направьте в нужном направлении.
Купил книжку. Много раз пытался освоить Flask. Эта с видео-лекциями. Особо отмечается, что она обновлена под 2016 год. Качаю. Гигабайт - это видео лекции+книга.
>>779696 А, ну можно. Просто это универсальный вариант: для цифр, строк, букв, элементов и т.д. С больше/меньше можно работать только с числовыми типами данных.
>>779700 То есть, я всего его использую для проверки: есть в списке/котреже/словаре это значение, независимо от его типа данных. Просто это дает универсализацию, т.к. всегда понятно, что тут проверка на совпадение. Хотя для больших массивов и кортежей такая хуйня не подходит. Но никто не делает большие кортежи, делают БД и работают с ней. Так что, блять, нормально тут все.
>>779695 Когда платишь за что-то деньги, то не хочешь, чтобы они были потрачены зря. Когда книгу скачиваешь бесплатно, она порой лежит мертвым грузом. А когда покупаешь, то читаешь из принципа. Лично на мне это работает.
>>779706 Я в range подставил длину конкретного списка. Мне нужно было, чтобы он запонял список символами от low до high. >>779708 Можно, но я, как правило, не использую стандартные функции, если пишу для себя. Это настраивает мозги. В питоне и так все слишком просто. Но я не отрицаю того, что пишу говнокод. Просто я люблю его писать.
Ебучий препод по объектно-ориентированию сказал делать курсовик на джаве.Внятного ответа на вопрос "Почему нельзя использовать Python" я так и не смог.Мои доводы о том, что ооп на питоне продумано ничуть не хуже чем на этой ебаной джаве его не заставили передумать, а я не хочу создавать сто экземпляров только для того, что-бы вывести хулоуворд или сходить посрать.Что же мне делать, анончик?Этот вопрос стал для меня вопросом веры
>>779718 Ну я знаю, поэтому сказал, что для больших диапазонов аж два for'а со сложностью n^2 - идея не хуевая, а очень хуевая. Но для больших диапазонов логичнее юзать БД.
>>779763 Я не буду жаловаться. С фласком уже имел дело. Работает прекрасно. Но никогда далее хеллоу ворд я не заходил. Насчет обновление, оно вообще никак не ломает предыдущий апдейт. Поэтому я и говорю, что ты злой.
Кстати, хлопцы, у меня в пределах тыщ 20 в мес есть финансирование на книжки-курсы и тд по работе, хоть я его и спускаю на всякое говно типа новых клавиатур и тд Так может это, кидайте мне реквесты на книги а я если оно и мне покажется пиздатым и не смогу найти уже запираченную версию - куплю да отсыплю на ргхост
>>779829 Да блядь, я за объект говорю. Открываешь блядь пустой файл, пишешь там str. и после точки выпадает куча методов просто ни с хуя для неинициализированного объекта. Запускаешь код, и никаких ошибок. А вы мне за функции какие-то ебаные.
Необходио скриптом протестировать, скажем, какую-нибудь систему следующим образом: 1. Выполнить все необходимые функции, независимо от результата предыдущих. 2. Выдать False, если хотя бы одна из них не отработала верно. (Функции возвращают True/False, свидетельствую об успешном или нет выполнении.)
Есть ли более красивый/умный/правильный способ, чем вот это - http://pastebin.com/9s8WBhH4 ? funcN изменять, вставляя выставление флага именно в них, не желательно.
Без привязки к питону или питонобиблиотекам, делается всё в Lua.
Питонач, посоветуй видео-гайд (можно на анлийском), в котором освящаются следующие моменты: Покупка хостинга, покупка домена, заливка сайта с локалхоста на хостинг, и установка домена, чтобы получился в итоге рабочий сайт. Проблема в том, что сделать проект на локалхосте я могу, а как этот проект засунуть в сеть практически не представляю.
>>780220 Ну можно ещё по чему, что будет мне самому интересно. Пока это правда только питон, и ничего другого я особо не учу, но мало ли. >>780221 Отправил инвайт на лепру
>>779717 Он всё правильно сделал. В питоне нет внятного ООП. Там нет даже приватных методов и интерфейсов, не говоря уже о более сложных вещах. >ооп на питоне продумано ничуть не хуже чем на этой ебаной джаве За такой явный пиздёжь тебя обоссал бы любой нормальный программист.
>>779640 >>779610 Да та же фигня - с мелкими файлами справляется, а на крупных дохнет, причём только редирект; ffmpeg то нормально конвертит до конца и файл потом доступен по ссылке, на которую должно было редиректнуть. У меня ещё был план редиректить на какую-нибудь промежуточную страницу, которая мониторит активность ffmpeg'а или что-нибудь типа того, но хз, как это сделать.
>>780366 >приватных методов и интерфейсов А зачем они нужны в скриптовом языке? В компилируемых ладно, чтобы тебе за свой магический говнокод стыдно не было, а тут то зачем, если это всё и так любой увидеть может?
>>780475 >Подобные тебе луддиты Рано или поздно на любом языке создаются огромные легаси системы. Которые никто не будет переписывать, чтобы хипстеры были довольны. Это нормально писать в 2016 году на коболе. Потому что проект на нем УЖЕ РАБОТАЕТ и постоянно приносит деньги. А стартапы на самом можной петухфреймворке в 99% случаях приносят только убытки.
>>780668 Этот анон вводит тебя в заблуждение. Весь мир на самом деле пишет на Brainfuck, но рептилоиды скрывают сей факт, и при помощи тайной ложи нас убеждают учить кобол.
>>780808 Твой код говно, поясню почему: 1. Во первых хуй знает, какие итерации ему еще нужны, поэтому я не задействовал итерации по range. 2. Во вторых тебя, мудилу, никто не просил выводить текст в stdout, не надо додумывать там, где тебя не просят. Просили склеить строки.
Питонач, я пишу свой твиттер на Джанго. Дошел до места, где нужно спроектировать ту часть бд, которая должно отвечать за "ленту новостей". Так вот, как в принципе решать эту задачу и решать правильно?
У меня получается таблица Подписки, с колонками: ид_юзер, ид_подписка_на_юзера, ид_сообщения. И таблица Сообщения: юзер, сообщение. Когда происходить сохранение в таблице Сообщений, ид_сообщения, ид_юзера сохраняется в таблице Подписок.
И когда приходит запрос, я из таблицы Подписки достаю последние 30 записей == ид_юзера. Потом делаю обход через for каждого объекта и сохраняю в массив ид_сообщения. И этим массивом выбирают сообщения из таблицы сообщений. И потом возвращаю render_to_response. Норм так?
>>781156 Нихуя не понял. Нужны: таблица юзер, таблица сообщение, которая привязана к юзеру, таблица подписок. Выбираешь из таблицы пописок всех юзеров, проходишь по ним, берешь первые 30 сообщений у каждого.
>>781224 >Потому что во втором случае ты потратил время на создание миллиона списков, чего в первом случае не делалось. Будь добр, покажи как сделать тоже самое с join, чтобы было быстрее, чем str+= в этом конкретном случае. Буду очень благодарен. >http://ideone.com/Is8gWC Это какой-то синтетический пример, демонстрирующий совершенно другой случай.
>>781229 Ну почему синтетический, соединение элементов массива в одну строку не такое уж и редкое явление. Не есть много людей, которые через += его и реализуют.
>Будь добр, покажи как сделать тоже самое с join, чтобы было быстрее http://ideone.com/nuK7XQ (даже генератор внутрь, для честности, запихнул)
Разница, однако, проявляется на больших цифрах. На малых на идеоне += даже выигрывает, хотя на моём компьютере это не заметно (на десяток-другой процентов += отстатёт от join). На 1млн разница в 4 раза, а на 5млн += просто захлёбывается, так как ему приходится уже мегабайтными кусками памяти туда-сюда бросаться (49сек против 2.42).
>в этом конкретном случае Если ты именно про соединение исключительно "Вася" и "1", причём один раз, то нутыпонел.
>>781248 Значит, зависит от компьютера. Я ж не из головы цифры в прошлмо посте взял.
>Не стоит так опрометчиво утверждать join быстрее, чем +=, это я уже показал выше. Быстрее ли создание списка/генератора + join, чем конкатенация? Оказывается, что скорее нет, чем да. Если что, >>781185 не я. Проверил сейчас на другом компьютере — тоже += побеждает.
>>781275 >join быстрее, чем +=, это я уже показал выше http://ideone.com/P8vWfo Здесь создается список один раз, правильно? Конкатенация все равно быстрее, правильно?
>>781185 Если есть желание поебаться (если надо склеить миллион васянов), то можно склеивать через конкатенацию bytearray. Но мне было это лень расписывать, т.к. тут видно, что васянов будет максимум тысяча, а для таких объемов похуй чем реализовывать, не на PIC-ах же интерпретатор запускается.
>>781290 >На двух элементах возможно. Что значит "возможно". Тесты показывают, что так и есть. Ты опять принёс какой-то надуманный случай, который не имеет отношение к конкретной задаче, зачем?
>>781287 На двух элементах огромный оверхед в виде вызова дополнительной функции. Но на таких размерах нет никакого смысла сравнивать же. Конкретно тут, на двух штуках, он может и быстрее, ладно, признаю (использовать жоин на двух строках это идиотизм, но думать о скорости при соединении двух струк это ещё больший идиотизм). Только толку? += расходует дохрена оперативки, постоянно пересоздавания строки, что потенциально и может привести к медлительности. Он плохо скалируется с количеством элементов, то есть там, где скорость-то и становится важной, а не пикосекунды сохранять.
Однако же, у тебя функции разне вещи делают. Даже http://ideone.com/fnBder у меня на компьютере, например, выдаёт на 30% лучшие результаты для жоина.
А сделай там 3 элемента (не миллионы, а просто 3!) и столько же +=, то уже и на идеоне жоин выигрывает. http://ideone.com/QEsp0f , даже скинув четверть времени за сброс переменной в пустую строку.
Немного ньюфажный вопрос, но меня он коробит - есть функция1 и функция2 в которой используется результат полученный в функции1, как мне КРАСИВЕЙ сделать вызов этих функций? я вижу три способа: 1. йоба = функция1 функция2(йоба) 2. функция2(функция1) получается коротко, но мне кажется НЕ КРАСИВО, мне одному так кажется? 3. вызов функция1 в теле функция2 кажется коротко и ясно, но я чет хз, это нормальная практика?
>>781434 Тоесть, я после питона окунувшись в жабийскрип рискую проблеваться. Я почеу вообще тему поднял, глянул на вакансии, а там везде этот соловьиный язычок с его фреймворками, мне аж жутковато стало
>>781427 Ну чуть туповат, ну неповоротлив, но жить можно. На чистом жс хуй кто пишет(но для тех кто пишет есть всякие велосипеды делающие жс чуть менее вырвиглазным, кофескрипт тот же), а фреймворки вкусовщина чистой воды типа выбери наименее тебе омерзительный и фигачь на нём.
Аноны, вот выучил я python, реализовал парочку алгоритмов, связанных с криптографией. Но в нашей мухосрани на нем нет ни одной вакансии, вообще. Как себя продвинуть, что делать?
Я пишу свою поебень на Flask и я выкинул нахуй алхимию, ибо проще сразу писать sql, чем сначала sql, а потом думать как перевести его в orm. Но чисто строки sql в коде выглядят ужасно, может быть есть какой не уёбищный паттерн?
>>781605 Это какой-то молодежный сленг? Что означает? В соседнем треде видел выражение "оракли-свитера".
Судя по контексту, полагаю что-то похожее на "мудрый опытный специалист высокого уровня, при взгляде на которого у типичного обитателя /pr вырабатывается желчь в количестве требующем немедленного выплеска, каким бы беспомощным вскриком не выглядела его бессмысленная реплика".
Сделал сприпт. Поставил pyinstaller, скомпилировал exe. Работает отлично. Перегрузился под мак OS X El Capitan. Скомпилировал app, крешается на записи файлов на диск. Это именно скомпилированный вариант. Гугление вопроса выявило, что 1) нужно указывать полный путь к файлу 2) и не глючный вариант такой > import sys, os > path = os.path.dirname(sys.argv[0]) Откомпилированный вариант заработал без проблем.
>>779677 Я делал такую прогу, за три часа сделал, год назад. Надо поискать. Она смотрела все изменения в директории и когда появлялось, что-то новое или файл изменялся, прога копировала все в резервную папку. Такая нужна?
>>781908 Нууу, там ведь и другие действия могут быть между функциями, вроде тех же логов/инструкций. Да и иногда-таки нужно пропускать что-то, если предыдущая зафейлилась Хотя сохранение результатов в спиок и проверкой в самом конце, наверное, неплохо, но это l.push(func()) делать постоянно.
Вообще, то, как у меня сделано, это коряво или норм и я зря парюсь? Я думал, может есть какой кардинально другой подход к подобному заданию.
>>779413 (OP) 1. Как поднять сайт с джангой на VPS с наименьшей еблей? 2. Как происходит процесс исправления ошибок/разработки фрилансером, когда он получает подобное задание? Ему дают доступ к сайту, высылают исходники проекта или как? Если он сам разрабатывает сайт, то он исходный код отсылает или сам его правит на сервере, или сам сервер конфигурирует?
>>781955 >1. Как поднять сайт с джангой на VPS с наименьшей еблей? Заменить джангу на нормальный фреймворк. >2. Как происходит процесс исправления ошибок/разработки фрилансером, когда он получает подобное задание? Ему дают доступ к сайту, высылают исходники проекта или как? Если он сам разрабатывает сайт, то он исходный код отсылает или сам его правит на сервере, или сам сервер конфигурирует? Зависит от заказчика. По разному.
>>781972 >Заменить джангу на нормальный фреймворк. Почему он тебе так не нравится? Для меня просто аналогов нет, потому что на пхп очень неприятно что-то писать.
Боже, как заебали эти охуительные советы про ПРОСТО БЕРЁШЬ И ПИШЕШЬ)))) НУ ТАМ ТИП АШИПКИ НО ТО АБУЧЕНИЕ
Когда я начинал врубаться в фреймворки я блядь даже не понимал что такое mvc модель. Прочитать в вики прочитал конечно что это, а вот как эту хуйню делать в душе не ебал. И да, до этого опыта с фреймворками не имел вовсе. Таки что я хочу сказать? До того как ПРОСТО БЕРЁШЬ И ПИШЕШЬ))))))))))) найди штук пять туториалов, может даже пару книжек и перепиши всё что в них есть пытаясь врубиться в то, что тебе объясняют, потом на гитхабе вбивай "название фреймворка + название целевого приложения" и смотри что люди пишут. По-хорошему из глаз потечёт кровь от говнокода, психанёшь и напишешь глядя на васянопроджект свой чуть менее быдлокоднутый. Повторяешь until profit, а потом конечно просто берёшь и без задней мысли пишешь всё что захочется.
Анон, почему, когда я делаю проход по словарю с помощью for, то каждый раз значения ключей печатаются в разнобой, а не по порядку? Что за магия? как починить? Для примера: https://ideone.com/9vV2zQ
>>782056 Тэкс, что-то я не врублю. Вот захотел я инвертировать словарь (напечатать вперед ногами), но не могу из-за случайного порядка. Этот orderedDict чому-то не работает.
>>782081 Никогда. > If keys, values and items views are iterated over with no intervening modifications to the dictionary, the order of items will directly correspond.
>>782150 > найди штук пять туториалов, может даже пару книжек и перепиши всё что в них есть пытаясь врубиться в то, что тебе объясняют, потом на гитхабе вбивай "название фреймворка + название целевого приложения" и смотри что люди пишут. По-хорошему из глаз потечёт кровь от говнокода, психанёшь и напишешь глядя на васянопроджект свой чуть менее быдлокоднутый. Повторяешь until profit, а потом конечно просто берёшь и без задней мысли пишешь всё что захочется.
>>782157 Да работает, понял уже как им пользоваться, правда он как-то по-уебански работает. Запилил вот свой вариант reversed. https://ideone.com/cy5IrF
В процессе написания одной хуйни 4fun наткнулся на вопрос: нужно увеличивать на определенное количество значение из базы каждые N минут. Без участия пользователя конечно, чтобы все это на сервере происходило. Как? Может в базе данных есть какой-нибудь автоинкримент. Или... просто вычислять новое значение при запросе пользователя, да?
>>782290 Диван нашептывает мне несколько вариантов: 1. Если известно время создания значения, то вычисляем разницу в минутах между текущим временем и временем создания, делим на N, умножаем на значение, суммируем, записываем новое значение. 2. Увеличиваем значение по крону. 3. Читаем документацию к СУБД в поисках Event Scheduler(как в mysql) или чего-то подобного и используем его. Первый вариант, самый дешевый, как мне кажется. Так что, да, ты все правильно придумал.
>>782359 блядь между 2 и 3 разницы хуй да нихуя, если хоть что-то одно знаешь и глаза имеешь, а ты о 3.2 и 3.5 переживаешь И вообще накати в виртуаленв 3.2 и не морочь голову
>>782452 <input type="hidden" value="{{id}}" name="id"> То есть вот так получается. Это же никак не заменить? Только устроить еще одну проверку: письмо на емеил, смска на телефон.
>>782563 Самый охуенный вариант - это начать с Саммерфилда и потом шлифануть сверху Лутцем. Лутц в таком случае очень легко заходит, т.к. многие темы читаются как треды в Б, но есть некоторые нюансы и всякие хитровыебанные фичи, которые полезны, но которые в Саммерфилде не описываются.
Блять, если вкатываетесь в питон, лучше вкатиться с Доусона и его ПРОГРАММИРУЕМ ИГРАЮЧИ, я вот не жалею, что начал ее читать, хотя умею в программирование. В питоне столько ебучей магии и нюансов, что это можно только прочувствовать и уяснить на ранних порах, а начинать с укуса, доков или лутца - хуевый путь. Лучше начать с Доусона, а потом уже полировать Лутцем непонятные моменты.
>>782607 Ладно, брат прости пожалуйста, я стараюсь не мамоебить, но не так просто взять и прекратить это делать. Шайтан попутал. Прости. Твоя мать хорошая женщина.
>>783055 > Да, это может быть директория. Но, согласись, человек додумавшийся назвать дирректорию, так чтобы название оканчивалось на '.png' должен страдать. > pathlib Чем плох os.path?
Подскажите как на django валидировать данные POST такого типа POST['item'][0] = 1 POST['item'][1] = 2 POST['item'][3] = 3 POST['item'][4] = 4 POST['item'][5] = 5 etc
ты в input пишешь name="название" (или в ajax - 'название': твоя переменная). В джанго пишешь переменная = request.POST.get('название'). Если нужно предать массив-объект делаешь их в json формат и передаешь как строчку. И в джанго декадируешь обранто.
>>783069 > Но, согласись, человек додумавшийся назвать дирректорию, так чтобы название оканчивалось на '.png' должен страдать. Не соглашусь. Программка, которая упадёт от директории, которая оканчивается на ".png" должна страдать.
Аноны пытаюсь решить такую задачу, но пока не получается : дана последовательность чисел (например 112222555555444), нужно написать функцию которая выводит самую длинную подпоследовательность одинаковых чисел в этой последовательности, понятно что это 555555, но как вывести её и индексы начала и конца этой подпоследовательности.
>>783384 Итерируясь по списку ищешь одинаковые посделовательности чисел сравнивая текущее значения с предыдущим, длинна текущей посдовательности в счетчике tmp_len, если значение меняется сбрасываешь tmp_len в max_len если он tmp_len больше, и запоминаешь индекс конца. индекс начала = индекс конца - длинна
Анон, попытался тут посчитать рекурсивно степень и нихуя не пойму. Вроде на последней итерации цикла выводится print выводит правильное значение, но return отдает None. Где я ошибаюсь? https://ideone.com/ZjRIei
Подскажите, как заставить питон выдавать исключение при попытке file.read(n), когда n байтов в файле нет или когда файл кончился. Мне нужно сделать нечто вроде: while not file.ENF_OF_FILE(): ....x = file.read(nx) ....y = file.read(ny) ....тут много таких строчек ....z = file.read(nz)
Я же заебусь проверять, что каждое чтение прочитало столько, сколько нужно, и что еще не EOF. Как у вас вообще принято рандомные бинарные файлы парсить? Если подскажете статью с best-practices, будет вообще охуенно.
Сделал прогу с выходом в интернет, откомпилировал её. Собираюсь отдать друзья попользоваться. Хочу, чтобы она мне втихаря стучала мне о каждом запуске. Какое наилучшее решение? Какие мысли есть?
>>783446 А я там пояснил для чего второй раз берем chislo, лол. Второй раз chislo берется, чтобы с ним работать можно было. Она что-то вроде temp - значение, которое можно изменять без проблем.
>>783463 >return under_row(chislo, stepen, chislo) Спасибо, я не знал про это, я просто после SICP'а начал питон учить. А чому функция возвращает None?
>>783462 Короче, есть два решения: 1) Она постит ip в google form и там же получает команды на отключение. Это решение я уже пробовал, оно работает, просто это дополнительные 50 строк кода. 2) Либо она использует встроенный почтовый сервис, тихо отправляет мне письмо, тихо получает ответ. Пока не пробовал. Какие еще есть мысли?
>>783501 Ну я же объяснил, что возвращаешь ты result в предыдущую функцию under_row, а она, в свою очередь, ничего не возвращает. Если return не указан, функция возвращает None, вот его ты и получаешь.
Анон, знаю что платина, и все же: Что надо знать/уметь кандидату на джуна можно список маст рид книг, типовых заданий, умений конкретных? На сколько реально попасть на работу не дотягивая в каких-либо местах из этого спика на испыталки, уменьшенную зп или интерна там какого? Был ли ты, анон, питоноджуном? Если есть опыт, то поделись, пожалуйста. Если что, софтскиллы нормальные я бы даже сказал хорошие, не как у забитого двачера. Упор на проф-навыки в вопросе. Заранее спасибо что не обоссал
>>783485 Я про нее знаю, но это не решает ни проблемы с детектом EOF, ни проблемы чтения таких структур, где каждый последующий элемент зависит от того, что было в предыдущих. Что-нибудь более адекватное есть? inb4 ctypes
1) Декораторы: как работают, как сделать без сахарка; 2) Как работает with, как определить в классе; 3) Генераты: как и для чего, отличие от итераторов; 4) Итераторы: как можно пройтись, как стопануть без брейка. 5) Магические методы: какие есть, для чего; 6) GIL: плюсы и минусы; 7) Асинхронность: как и для чего, отличие от многопоточности; 8) И вопрос ответ на который я не знаю, может, анон скажет: сделать, чтобы при вызове функции каждый раз печаталось некое сообщение; 9) Кем вы видите себя через пять лет? 10) Почему ты должны выбрать именно вас? 11) Почему у вас нет вышки? 12) Работали ли вы с <унылый фреймворк/CMS для клепания одинаковых сайтиков нейм>?
По Джанго задавали следующие вопросы: 1) function/class-based views отличие, плюсы/минусы; 2) Как и в каком порядке работает middleware; 3) Какие отношения можно определить в полях моделей;
>>783586 У меня проблема, я могу писать, могу кодить, но объяснить, что я сделал языком - не могу. Могу в воздухе нарисовать, в тертадке, на доске - но не объяснить, я не могу объяснять такие вещи почему-то. Хуй знает.
>>783586 >1) Декораторы: как работают, как сделать без сахарка; Функция, делающая что то до и/или после переданной функции. Без задней мысли. >2) Как работает with, как определить в классе; Ну область видимости создают вроде. Без задней мысли, берешь и определяешь. >3) Генераты: как и для чего, отличие от итераторов; Это типа дженерики что ли? Ну в джанге типа страницы с переданными значениями из базы. Ну итераторы итерируют, а дженерики с базой работают. >4) Итераторы: как можно пройтись, как стопануть без брейка. Можно фором, можно вайлом. Можно вызвать os.system и стопануть все процессы со словом python, тогда итерация прекратится без использования брейка. >5) Магические методы: какие есть, для чего; Ну init есть, он в классе нужен. Типа свойства объекта задает. >6) GIL: плюсы и минусы; Что? Может JIT? Это типа компиляция такая, я не ебу. >7) Асинхронность: как и для чего, отличие от многопоточности; Ну асинхронность когда все в потоке выполняется асинхронно, а многопоточность - в разных потоках. >8) И вопрос ответ на который я не знаю, может, анон скажет: сделать, чтобы при вызове функции каждый раз печаталось некое сообщение; Добавить print в функцию. Или в декоратор обернуть. >9) Кем вы видите себя через пять лет? Трупом, выпилившимся два года назад. >10) Почему ты должны выбрать именно вас? Остальные ещё хуже. Нет, правда. >11) Почему у вас нет вышки? Я начал получать вышку, но на первой сессии я попал в дурку, а потом понял, что в вузе одно быдло и мне нечего делать среди этих интеллектуальных нищенок. >12) Работали ли вы с <унылый фреймворк/CMS для клепания одинаковых сайтиков нейм>? Да я их сам пишу. Хотите посмотреть на список из моих фреймворков и цмсок? Некоторые я даже юзал пару раз. В основном для создания следующего фреймворка или цмс.
>>783586 >4) Итераторы: как можно пройтись, как стопануть без брейка. А без брейка стопануть это на StopIteration эксепшн намекают, который внутри и вызывается в конце обхода коллекции?
>>784083 Не только руку набьешь, а получишь реальный опыт. Да, будешь дохуя гуглить, если задачка сложная попадется. Зато такой то прогресс! Скинуть не могу, планшет дома, а я не дома. Если готов погодить и употребить это время на гугление своейпроблемы то погоди
>>784113 Я в реверсинг с самого начала хотел, потому си, асм, плюсы, вот это все. Сейчас вот пишу для развлечения движок для 2д пошаговой игры, типа икскома. сильно трудно для ньюфага, конечно
Есть ли какой смысл на третий питон перекатываться? Что-то я про него почитал-почитал и ни каких серьёзных профитов не увидел, какие-то охуительные достижения уровня переименовать xrange в range, вместо того чтобы нормальную многопоточность запилить, да ещё и строки калечным юникодом сделали...
Господа, есть один тест(шучу, 4), написано всё на python 3.4+selenium2+unittest, так вот, на проверку этого всего, тратится порядка 20-30 минут, это нормально?! Возможно сделал немного по-извращенскому, в функции-тесте идёт поиск значения элемента, затем вызов обычной функции в которой идёт поиск таких же элементов но уже на странице и после этого возвращается лишь результат для проверки на assertTrue(значение переменной, значение элемента взятое со страницы). На какие моменты стоит обратить внимание? Переделать всё иначе?
>>784056 > data=file.read() и парсь как хочешь Печально. У меня сложная сущность без четко выраженного формата. Например в >>783451 набор u8 prefix1, prefix2, n, u8 keyword[n], и дальше, в зависимости от кейворда и префиксов, еще что-то, а после этого снова кейворд с префиксом, иногда с несколькими. И хотелось бы при невозможности чтения чего-либо из этого великолепия дропнуть обработку целиком. Алсо, как вы вообще живете без do .. while и нормального for (i = ...; ...; i += n), где внутри цикла можно манипулировать i?
Алсо, существует ли в двойке аналог int.from_bytes кроме самодельного или struct?
Ребят, вот я впринцепе могу написать на фляге говно-сайт, могу сделать парсер (даже с очередями если подзаебаться). Как мне получать с этого шекели? На какие биржи идти? Или стоит квалифицироваться в анализатора? Или писать свои говносайты? Какие хостинги ты посоветуешь? конечно не бесплатные, покушал уже, спасибо
>>784441 >>784448 И внутри цикла можно манипулировать i, если что. Внутри цикла можно манипулировать вообще чем хочешь, цикл даже строки из файла может брать, как i
>>784450 > string = "penis" Делаю так же. Правда, без пенисов. Но ведь некрасиво жи.
> внутри цикла можно манипулировать i Ты не понял. В си-подобных языках можно так: array[n] = { ... }; for (i = 0; i < n; i++) item = array; do_something(item); if (do_it_again(item)) { i--; // На следующей итерации мы снова обработаем этот же элемент. } В питоне можно сделать генератор и внутри for сделать send, но что, если я хочу вернуться назад на 2, 3, ..., n элементов, а не на один?
>>784508 Этот поехавший каждый день пишет "прочитал то-то, как применять знания". Бля, да задачки решай любые, хоть школьные, бери и переписывай функции, например: reverse строк, списков, кортежей, словарей, высчитывай длины последовательностей в строке. Чем угодно займись, блять. Прежде чем за проект браться, хоть эту поебень осиль.
>>784508 Когда защитил диплом понял что надо бы наконец работку найти, но я нихуя не умею, вспомнил про пистончик(когда-то расширение для exaile на нем писал, язык оче доставил, после мерзкой жабы особенно), окзалось что он ещё в веб умеет, посмотрел несколько дней уроки по джанге на ютюбчике, написал бложик, поразбрасывал резюмешки и через недельку пошел работать за еду на удаленку в васяностартапчик.
Собрал скрипт на вин10. Откомилировал в exe, работает прекрасно. Попросили сделать под мак. Перезагрузился под Эль Капитан. У меня mac-mini, на нем две системы, родная Эль Капитан и на другом разделе харда вин10. Откомпилировал при помощи pyinstaller --windowed myscript.py Получил app, запускаю, ничего не происходит. Выяснилось, что у pyinstaller какой-то баг в открытии файлов в формате --windowed. Бился два дня. Решил все-таки сделать pyinstaller --onefile myscript.py Проблема, что создается приложение, которое нужно запускать в терминале с прописанием пути к приложению. Тупой юзерзверь на такое не способен. Решил запускать при помощи applescript. Это что-то вроде батника для винды. Выяснилась новая проблема, когда скрипт запускается, он определяет путь не из папки запуска, а прямо my root/user. Прописать полный путь нельзя, потому имя юзера у каждого отличается. Решение, запомнить путь директории запуска и уже потом открывать. Итого. Открываем AppleScript вписываем туда http://ideone.com/Hh11fo сохраняем как при Application (внизу выбрать). Все теперь юзерзверю надо дважды кликнуть на этом.
>>784441 Ты бы хоть документацию почитал. https://docs.python.org/3/library/io.html?highlight=read#io.RawIOBase.read Обычный питоний стрим while True: ....data = f.read(8192) ....if not data: ........break ....# do shit Для сложных бинарных данных да и для простых, ёпту использую construct. Там есть всё кроме реверса битов у битовых полей.
Есть какой-нибудь краткий гайд по архитектуре питон-приложений? Я имею в виду чистый питон безо всяких фреймворков. Какие там правила хорошего тона? Каждый класс в отдельный файл выносить?
>>784883 Какая может быть архитектура у Пистон-приложений? Либо это мелкая наколенная glue-залепень, тогда архитектура ей нахер не нужна. Либо это Жанга, там вся архитектура уже гвоздями прибита, не оторвешь.
>>784913 >нескольких модулей и пары десятков классов Если тебе нужно пара десятков классов, лучше взять язык программирования, пригодный не только для обучения, непрограммистов, джанги и наколенных утилит из 20 строчек.
Господа, просто тренируюсь в сериализации и не могу понять, как мне приручить pickle. Shelve я приручил, а вот pickle -не могу. Я хочу загрузить пару объектов в файл .dat и извлечь их, но не последовательно (вдруг я не знаю, сколько там объектов загружено, вдруг их миллион?), а через for. Но при работе с for выдается ошибка. В чем моя проблема? Где я дебил?
>>785043 Я нихуя не пойму, можешь подкинуть идею, как выбрать все объекты из файла? >>785045 Да я уже двое суток не сплю из-за ебаной сериализации, даже не заметил, что у меня там while
>>785048 >но не последовательно (...), а через for. Или я кретин, или ты написал неправильно. Либо выводи всё, делая как тут ( http://pythonworld.ru/moduli/modul-pickle.html ). Либо , если хочешь рекорд, то пробегайся по всем данным и ищи максимальный(твой кэп).
>>785052 Короче, я так понял pickle не подходит для записи нескольких объектов, их удаление или модификацию. Он подходит для записи одной структуры на длительное время. Shelve работал как словарь и я хотел, чтобы pickle также работал. Но видать не судьба. В любом случае, спасибо за внимание к проблеме, анончик, пойду я опочевать, а то заебался уже.
>>785492 >>785495 Если есть опыт и понимание того, как все работает - укус/синк. Если нет - бери Доусона, там 400 страниц всего. А вообще питон неудачный вариант для новичка. Язык сложный, возможностей мало, работы тоже мало, а на каждую вакансию десяток джунов. Сейчас каждый школьник учит питон, а потом не знает что делать с ним. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Если никогда не занимался программированием, то начинать лучше всего с Haskell - после него другие языки учатся быстрее. Работы полно, платят отлично. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.h.. Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
>>783787 Нахуй ты переходишь вначало файла? И по чтоб не оставить не перезаписанные места?почему бы тогда не сделать цикл внутри with и там не реплейсить? Мне кажется так пизже, вместо того, чтобы после каждого реплейса файл писать?
>>785500 зачем вы этим даунам вообще отвечаете? Всё же в шапке есть? Не помогайте им. Нормальный анон и так всё найдёт, а отбросы не способные к элементарной культуре пусть отсасывают.
>>785549 бля а если 2 язка сразу учить? Будет хоть какой-то профит? И вообще зная хештиемель и ксс, за сколько лет я смогу нормально писать на питоне? Если удиляю ему около 3-4 часов в день
>>785756 Ну для начала лучше языки низкого уровня учить, как по мне, что бы понимать что и как там происходит, так что с++, а потому уже можно python\js и т.д., чего душа пожелает.
Сейчас сидел и пытался разобраться в декораторах. Сестра подошла с какой-то бабой и из-за плеча сказала: "аноннейм, повесишь этой бабе роллставни?", я сказал "занят, не до этого.", а шлюха-сестра ответила "ничего, найдешь время, повесишь, сидишь играешь только". Я охуел, повернулся и сказал "командовать можешь только своей вонючей жопой, выметайся отсюда", она охуела, а та баба аж побагровела. Что это было, блять?
>>785556 >И по чтоб не оставить не перезаписанные места? >Нахуй ты переходишь вначало файла? Чтобы его целиком перезаписать, ведь он не заменил один символ на другой, а добавил перенос строки, потому твсё всё сдвинуться должно, нет "не перезаписанных мест".
>почему бы тогда не сделать цикл внутри with и там не реплейсить? Зачем, если можно всё разом?
>вместо того, чтобы после каждого реплейса файл писать? У него только один раз пишется в файл.
Я нахуй тупой. Но, вот, понадобилось мне скомпилировать в exe-шник. http://pythonworld.ru/osnovy/program-compilation-with-cx-freeze.html Нашёл вот это. По ссылке на оф. сайт версия только для 3.4, а у меня 3.5 По второй ссылке, вроде, 3.5, но в whl. И чего мне, ебанашке под виндой, делать?
>>792877 напомните как победить ошибку отсутствия файла requests.exceptions.SSLError: [Errno 2] No such file or directory Пытаюсь спаять exe-шник для скрипта на tkinter и vk_api (от него и зависимость к реквестам)
Код вбрасывать в тред через https://ideone.com/
Прошлый: