Это копия, сохраненная 9 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Расскажите плиз о django signals доходчиво - что это и нахуя
Блять, ну началось, давай теперь пол треда обсуждать твои набросы на картинку дебила по кличке оп
Лучше пол треда поясняй мне о сигналах джанго
Вот смотри у меня моделька для спорт-трекера для пары любителей ходить
ну типа там
Дата
Пешком
Бегом
На одной ноге
Велосипед
вот 5 морд в день вносят что они прошли пешком 2 км а проехали на велике 3
нужен ли тут сигнал что бы я кроме добавления в общую бд "личных" похождений, заодно добавил в бд с похождениями за день, похождениями за неделю - что бы графики строить более гладенькие не пересчитывая все значения личных табличек
или вот е-мейлы рассылать через банальный django sendmail - нужно тут хуярить ресивер который будет получать чёт типа Юзер Вова прислал картинку, Юзер Натаха написала длиннопост - и хуярить Натахе картинку, а Вовану длиннопост?
Или ещё лучший вопрос, вот говнофорум есть, список новых сообщений
Всем отписавшимся в ветке что бы при добавлении очередного сообщения прихуяривалось ещё +1 к непрочитанным, а при посещении ветки - счётчики персональные у всех сбрасывались. Как это лучше делать?
теперь и русик сломался.
sys.getdefaultencoding()
sys.getfilesystemencoding()
выдает utf-8
cp1251 у меня есть только в локали
изменение локали
locale.setlocale(locale.LC_ALL, "ru")
нихуя не дало
пошел по трайсбеку.
stream это sys.stderr
def __init__(self, stream=None):
if stream is None:
stream = sys.stderr
sys.stderr.encoding выдает utf-8
Какого хуя он вообще в cp1251 лезет? Ничего не понимаю, и это офицеры?
3.6
a = 1
b = a
b += 1
- почему переменная a не изменяет свое значение? b же ссылается на a
Если бы у тебя была нормальная книга там все это объяснялось на примере hash() и id()
если не лутц и не саммерфилд, лучше закрывай нахуй и удаляй
Лутца по сути и ненужно читать. Не понял что за хня, открыл по ключевому слову страницу и смотришь, Лутц справочник. Лучше читать какой-нибудь Дайв_Пистон, а еще лучше просто решать задачи с минимум теории, ебясь с доками/стековерфлоу.
>>940990
2.7 версия пистона вообще не видит utf без модулей. Так что лишний повод научиться пользоваться консолью.
Билл Любанович - Простой Python
Прост по быстрому нужно узнать о всех фишках пайтон, так как на работе пару скриптов дали написать на этом языке.
Вообще-то, только у меня эксклюзивное право форсить эту книгу :)
Двачую. Electron - наше всё.
Гугли кооперативная многозадачность, уступающая многозадачность и иже с ними.
Ох, спасибо, добрый человек. Наверно, я жопой читал. А почему строка передаётся, а не 2 целых числа?
>>941180
Почему? Библиотека относительно простая и содержится в стандартной. Я до этого гуёв не писал, так что самое то.
> Почему? Библиотека относительно простая и содержится в стандартной.
> А почему строка передаётся, а не 2 целых числа?
Ещё раз спасибо.
symlinks
алиасить не умеешь штоле?
И какую тогда брать?
А как на клиенте без неё запускать будут? Мне ещё и вручную всё это запихивать в мой проект и переувязывать там, чтобы всё своё носил с собой?
Думать о задачах нужно до выбора инструмента.
Джава аплликухи кстати, которыми мне приходилось пользоваться, имели отвратный интерфейс и никогда не интегрировались с системой.
Зато там всё их коробки, я как должен сделать чтобы на всех осях моя программа пошла без библиотек на клиенте?
Мне что на каждый случай либу ещё запихивать?
И всё это переувязывать, да это чистое издевательство.
Почему в стандартный пакет питона не входят все стандартные библиотеки? В Java всё по уму сделано.
Ну так для чего тогда ты выбрал питон и сюда зашел теперь рассказывать?
>Думать о задачах нужно до
Мне именно Питон нужен, неужели не понятно?
Как запихать либы в проект и чтобы всё с собой и на всех осях?
>>941511
Она и входит блядь. Что за необучаемые.
https://docs.python.org/3/library/tk.html
Другое дело что ты наебешься по самые помидоры, но ты и не против.
Гуй на питоне это боль и страдания. Tk это полный пиздец, годен лишь для написания простенькой формочки из 2-х полей и кнопки. PyQt - не такая адовая поебень как Tk, но есть и свои проблемы: нет вменяемой возможности наклацать формочку мышкой, qml сложна, а конвертить из *.ui в питоновский класс гуй при помощи pyuic это извращение по-хлеще ебли мертвых щеночков. Kivy - ебота для писания под мобилопарашу, на десктоп как-то не оче, на мой взгляд, ибо все виджеты под мобилку заточены, да и мышкой формочки не поебашить. Так что отается только сосать.
Установил сборку от васяна, видимо.
А есть для Питона IDE вроде Андроид-Студии или попроще, чтобы можно было как раз петераскивать мышкой?
tk встроенный
В реальности гуй пишут только для своих говнопроектов, даже на аутсорс говноскрипты не надо оборачивать гуём.
джанго это только для страничных обычных сайтов,или можно что то посерьезнее?
free-trial отличное решение
Если 1, 2, 3 итд
то...
Когда их становилось много, ну 5 там, например, вылетало в ошибку.
Захожу в тред раз в 10 лет, соре
> Что ты пытаешься сделать, присваивание?
Верно, хочу, чтобы в форме в поле автора было имя зарегистрировавшегося человека, а если нет такого, то самому можно имя написать.
Заливаю по ссш, перезапускаю супервизорд, гуникорн и нгинкс и сразу хуйак хуйак и в продакшн
Не, из шаблона ты не поменяешь данные в полях формы, насколько я знаю. Ну, вообще, конечно, можешь, если ты форму будешь описывать на html сам, а не дашь это сделать джанге. В таком случае, у тебя будет что-то типа такого:
><input value="{{ user.username }}">
Но правильней будет делать это в представлении. Не знаю как у тебя все там устроено, но вот, почитай доки про то, как рендерить форму с уже заполненным полем для имени.
https://docs.djangoproject.com/en/1.10/ref/forms/api/#dynamic-initial-values
https://docs.djangoproject.com/en/1.10/topics/forms/modelforms/#providing-initial-values
У тебя может получиться что-то вроде:
>name = request.user.username if request.user.is_authenticated() else ''
>form = MyForm(initial={'username': name})
Просто копируешь папку с исходниками? Может есть какие нибудь системы которые при изменении кода автоматом заливают исходники на сервер и запускают все процессы?
Спасибо, анон, сейчас почитаю.
Спасибо. Теперь при любом изменении автоматически все загружается на сервер. Осталось только с установкой зависимосей/запуском процессов разобраться. Попробую полистать python deployment.
Мне "что угодно" написать не надо
Например, нужно поиск сделать по бд и все name взять в таблицу.
Как написать этот самый "name"?
name* говнодвач ебаный
Пиздец, я вообще не понимаю что ты хочешь. Если ты про бд говоришь то надо было сразу об этом написать. Но все равно не понятно нихуя. Научись сначала мысли свои выражать правильно.
БД - это пример был, работа со списком.
А у нас инпат возвращает что-то, и нужно сделать так, чтобы в случае присутствия слова в тексте...
Но без извращений. Максимально просто.
Ну так, на уровне идеи - если зависимостей дохуя и пип инсталл -р рекваерментс.тхт не канает - я бы докер поковырял
А гончо тебе на что? Пишешь свой уберсложный процфайл из миллиарда процессов, прячешь свои креденшиалсы в конфиг окружения гончо, все что остается так это honcho start, и можешь смело пушить все в гит, не опасаясь что твой уссаный токен спиздят и завтра в школе за твоей спиной будут хихикать, и не нужно писать сотню строк баша чтоб запустить всю хуйню и настроить логгинг.
И еще, хончо спавнит процессы из-под себя, поэтому когда ты понимаешь что твой ебучий редисd и секельd начинает класть твою оперативку, ты вместо судорожного поиска каждой хуйни завершаешь все дерево гонча.
Вот такая есть.
Какое бля условие, ты вообще хоть сам понимаешь чего ты хочешь? БД, списки.
>Но без извращений. Максимально просто.
if "word" in s: проверит полное вхождение слова в строку.
Ладно, хватит бугурта.
Вопрос есть такой:
Создаю форму регистрации юзера, нужно наследовать поля не от стандартной модели "User" a от созданной мной "MyUser"(прикреплён), поля указаны в field. Как мне так исхитрится?
http://pastebin.com/ZJh8J9G2
Мы ожидаем некоторые слова в инпате, ну так, в инпате может быть целое предложение вместо слова и нам нужно произвести.
Когда получим ключевое слово, выполним некоторое действие.
Ну так вот мне и нужно забить усвловие, чтобы он произвёл поиск по инпату, а не ожидал отдельное ключевое слово.
Джанго проще, реально, просто в ней дохуя батареек
Тебе нужно:
1. Заебенить кастомную доп. модель юзера, ты это уже сделал
2. Навернуть какой-нибудь кастомный менеджер регистрации, я приловчился к django-registration-redux
3. В формах на следовать не какую-то непонятную форму свою, а форму регистрации django, ну типа как у меня :
from registration.forms import RegistrationForm
from .models import UserDetails
class UserDetailForm(RegistrationForm):
..email = forms.EmailField()
..password1 = forms.PasswordInput()
..password2 = forms.PasswordInput()
..first_name = forms.CharField(label="Ваше имя")
..middle_name = forms.CharField(label="Ваше отчество")
..last_name = forms.CharField(label="Ваша фамилия")
..phone = forms.CharField(label="Номер телефона")
..organisation = forms.CharField(label="Компания")
..vacancy = forms.CharField(label="Должость")
..def save(self, profile_callback=None):
....user = super(UserDetailForm, self).save(commit=False)
....user_cd = self.cleaned_data
....user.username = user_cd['email']
....user.user = user_cd['email']
....user.first_name = user_cd['first_name']
....user.last_name = user_cd['last_name']
....user.save()
....usr = User.objects.get(email=user.email)
....profile = UserDetails.objects.create(user=usr, middle_name=user_cd['middle_name'], phone=user_cd['phone'], organisation=user_cd['organisation'], vacancy=user_cd['vacancy'])
....return profile.user
4. и в проект_название/urls.py воткнуть
from accounts.forms import UserDetailForm as Reg
from registration.backends.simple.views import RegistrationView
..url(r'^accounts/register/$', RegistrationView.as_view(form_class=Reg), name='registration'),
Джанго проще, реально, просто в ней дохуя батареек
Тебе нужно:
1. Заебенить кастомную доп. модель юзера, ты это уже сделал
2. Навернуть какой-нибудь кастомный менеджер регистрации, я приловчился к django-registration-redux
3. В формах на следовать не какую-то непонятную форму свою, а форму регистрации django, ну типа как у меня :
from registration.forms import RegistrationForm
from .models import UserDetails
class UserDetailForm(RegistrationForm):
..email = forms.EmailField()
..password1 = forms.PasswordInput()
..password2 = forms.PasswordInput()
..first_name = forms.CharField(label="Ваше имя")
..middle_name = forms.CharField(label="Ваше отчество")
..last_name = forms.CharField(label="Ваша фамилия")
..phone = forms.CharField(label="Номер телефона")
..organisation = forms.CharField(label="Компания")
..vacancy = forms.CharField(label="Должость")
..def save(self, profile_callback=None):
....user = super(UserDetailForm, self).save(commit=False)
....user_cd = self.cleaned_data
....user.username = user_cd['email']
....user.user = user_cd['email']
....user.first_name = user_cd['first_name']
....user.last_name = user_cd['last_name']
....user.save()
....usr = User.objects.get(email=user.email)
....profile = UserDetails.objects.create(user=usr, middle_name=user_cd['middle_name'], phone=user_cd['phone'], organisation=user_cd['organisation'], vacancy=user_cd['vacancy'])
....return profile.user
4. и в проект_название/urls.py воткнуть
from accounts.forms import UserDetailForm as Reg
from registration.backends.simple.views import RegistrationView
..url(r'^accounts/register/$', RegistrationView.as_view(form_class=Reg), name='registration'),
поправочка:
не форму регистрации джанго наследовать, а форму регистрации кастомного менеджера регистрации
ну и "на следовать" это кайф ваще
пиздец, ты если тупой и не можешь понять, значит иди на хуй и не отвечай
У нас цикл, придурок, если пользователь пишет ключевое слово, тогда мы останавливаем цикл.
Ну так как написать в условии, чтобы программа выполнила поиск по предложению, которое написал пользователь, чтобы найти во всей его писанине ключевое слово?
Что ещё не понятно, бля?
stringobject.find("substring") will help you
This function returns -1 when there is no substring.
первый ответ стаковерфлоу после аналогичных тому что я тебе сказал
это ж не паскаль всюду вайлы пихать
Ну да, многое проще и работает из коробки, но вот тут я голову сломал сегодня, и даже нормальных примеров не отыскал.
Спасибо тебе, антош, буду ковырять.
я пол дня убил что бы эту хуету сделать, нормальных примеров и правда не дохуя
(особенно если как в моём случае мейл вместо юзернейма, а юзернейм User'а выкинуто из джанговской модельки нахуй)
>>941870
Лол, где тут костыли? Окей, давай поиграемся с вайлом:
while True:
..try:
....index = string.index(substring, new_start, end)
..except ValueError:
....return result
..else:
....result.append(index)
....new_start = index + len(substring)
>>941872
ты там спам/мат-фильтр что ли пишешь?
ну захуячь типа
if substring in string and badstring not in string and spamstring not in string :
https://repl.it/Fy5T
>мейл вместо юзернейма, а юзернейм User'а выкинуто из джанговской модельки нахуй
Я прихуел, где такое? 0.о
Короче, я что-то ничего не понимаю, во-первых, почему он заходит в if даже если я разлогинен и что собственно не так с формой ?
continuous
Оно не знает что за хуйню ты ему выдаёшь, формы - намеренно очень глупая штука, работают только с тем, что ты даёшь им вьюшкой
передавай во вьюхе в контексте
comment_form = CommentForm(initial= .....)
а в шаблоне просто {{ comment_form.as_p }} или типа того
и не request.user.is_authentificated а просто user.is_authentificated - это встроенный как я понимаю контекстный процессор джанги
а те вьюшки что не должны выдаваться без логина помечай
from django.contrib.auth.decorators import login_required
@login_required()
def secret_shit(request):
>if substring in string and badstring not in string and spamstring not in string :
и что в реале ничего не можешь, одни теории только стороить мастер?
Нет у меня не спам, там простейшее действие, которое никто из вас не в состоянии проделать.
Есть какой-нибудь CBV чтоб н писать условия или декораторы по аутентификации?
пидор
https://ideone.com/Pdc3Mr
Простой питон.
Какая разница?
> нет вменяемой возможности наклацать формочку мышкой
QtDesigner
> конвертить из *.ui в питоновский класс гуй при помощи pyuic это извращение
Ничего конвертить не нужно.
>>941507
Короче, берёшь pyqt5 и бед не знаешь.
>Ничего конвертить не нужно.
Вот я дебил, действительно, можно ui файлы использовать, а я мудак ручками ебашил. А если его в pyinstaller заворачивать он все ~150 метров Qt-шных либ за собой вытянет?
Codecademy -> Byte ... -> Think Python + Luts (когда возникает необходимость)
Это ортодоксальный путь в Питон
На тройка-двойка похуй, переучишься за 20 минут
>>941914
1.5 годика от нихуя в программинге вообще до приглашений на миддла, но я каждый день хуярил по часу-два
Хорошо, буду ждать :3
эрик метиз питон 3
От 20 до 100 у меня выходило в зависимости от использования qt.
Если это вэб, то это джанга/торнадо сверху еще.
Да, сука, да нахуй, я смог его победить)
Причём стандартной библиотекой, но всё равно - ещё раз спасибо тебе антош!
Уже вспомнил, screen.
Только начал погромировать. Уже написал несколько програм с использованием telnetlib, tkinter.
Решил пойти дальше и поработать с snmp. Нагуглил существование библиотеки, для работы с snmp, при помощи питона - netsnmp, и столкнулся с проблемой в самом начале. Эта бака не хочет подтягиваться через import Прикреплейтед Погуглив ещё, нашёл, вроде как, возможность установки этой библиотеки ( Или это отдельная тема? ), но тут оказалось всё ещё сложнее. Получил кучу непонятных папок Прикреплейтед2, import netsnmp не заработал, понятное дело.
Помогите деревянному нюфагу, ананасы. Кто-нибудь наверняка работал с данной библиотекой. Куда нажимать чтобы счастье было? Или пошлите на годный гайд.
Спасибо.
Ах да, всё происходит на винде ( Десятка ), Питон версии 3.5.2
Авось кто что найдёт полезного
Спасибо, анончик!
GIL потому что
>>941912
А теперь загугли условие FizzBuzz и пойми, что ты написал не его. А вообще, то, что ты написал - нечитабельное говно, убейся.
А вообще, анон, такой вопрос.
Я тут подумываю в веб вкатиться пока что на питоне только вычислениями занимаюсь, задравчивая numpy/scipy. И вот смотрю я на элегантный маленький Flask, а затем на монструозные Django и Pyramid. Объясните вкрацте, чем они лучше фласка?
На фласке очень просто в одно рыло делать одностраничники, и очень сложно более чем в одно рыло либо более чем одностраничники.
На Джанго писать неправильно довольно сложно, потому все относительно понятно хоть в 30 рыл коммитьте. Но для этого приходится дохуя вникать в само Джанго и его батарейки.
Пирамидку не тискал, но лучше чем на нее на асинкио или торнадо посмотри.
Печать квитанций их экселя, но чтоб номер квитанции постоянно менялся. А то самому каждый раз задавать номера листиков влом
>А теперь загугли условие FizzBuzz и пойми, что ты написал не его.
Действительно.
>А вообще, то, что ты написал - нечитабельное говно, убейся.
Не ругайся, вот исправил https://ideone.com/Pdc3Mr
Кому как, там вместо ORM Sqlalchemy, мне оно показалось ебанутой
Ну и маршрутизация декораторами для меня чуть дикось
Плюс нет админки из коробки, джанго в этом плане ебёт в хвост и гриву все фреймворки ибо "для себя/простенького клиента" нихуя надрываться не приходится, всё пашет и так
PANDAS
Но если серьёзно - конверть в csv и построчно печатай чё тебе хочется а номер чека бери из номера строки + если необходимо в него ещё чего воткнуть сам там допрёшь уже
А мне наоборот синтаксис декораторов охуенно нравится в этом плане. Удобна жи.
Но вообще на джангу я тоже гляну, но в более дальней перспективе.
Спасибо ещё раз.
https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/django
https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/flask
вот самое наглядное сравнение как кодить и в чём отличия, мало ли
За опом уже выехал пативен со стелс-пихотой, вооружённой бутылками из-под крымлёвки, наполнеными сгущёнкой. Вазелин в комплект экипровки не входит.
А по сабжу: моя либа достигла release grade, но пусть пока в бете (возможно переписывание коммитов) побудет. Оформление перекорёжено, так как на гитхабе цветного текста нет. Прошу любить и жаловать: https://github.com/KOLANICH/RichConsole
Cпс
В чем суть задачи. У меня есть два массива с кучей мужских и женских имён
Мне нужно составить тестовые подвыборки, взяв 20% от всей выборки ну и соответственно 20% от каждой подвыборки.
Подвыборка-множество имён на каждую букву алфавита, например 20% от имён на букву А, 20% на букву Б и так далее.
Есть ли какой нибудь не ублюдский способ создать это множество подвыборок? а не городить 52 массива и брать от каждого рандомно 20%?
Надо было убрать все гласные в строке и вернуть
Спасибо, ананас
Проблема в том, что мне надо пробежаться по своему массиву с именами и раскидать имена в словарь
Не писать же кучу case of или ifы?
Говно.
Может, это был НАМЁК
На питоне без гомоебли? Гомоебля это дзен питона!
>взяв 20% от всей выборки
В таком случае тебе же нужно сначала их соединить, и когда распихиваешь по буквам, мужские и женские уже смешаны?
Вот так вот можно — http://ideone.com/zdAyv4 (критика приветствуется)
Вроде довольно элегантно. кроме имён переменных.
>>942339
Так всё правильно. С виду тривиальная задачка, а на деле тебе нужно построить нейроночку и обучить её лингвистике, чтобы она определяла, когда у гласная, а когда — согласная.
Годнота. Спасибо!
Да. Можно писать на нем всякие сервисы, бэкенды для мобильных приложений и т.п, если ты это имеешь в виду.
и насколько это вообще целесообразно?можно примеры использования,заранее спасибо
>и насколько это вообще целесообразно?
Питон выигрывает в том, что на нем можно быстро и удобно разрабатывать приложения и есть куча отличных библиотек. На django можно быстро захуячить приложение, на django-rest-framework наклепать API для мобилок.
Примеров много. Инстаграм https://engineering.instagram.com/what-powers-instagram-hundreds-of-instances-dozens-of-technologies-adf2e22da2ad#.6tr73csyr
В Яндексе используют для своих сервисов.
Да.
django всюду будет круче, кроме того что в него въезжать на месяц дольше. да, при том что во фласк можно врубиться по самые помидоры за вечер, всё равно на месяц дольше.
Делать тебе конечно нехуй было, но пару полезных ссылок нашёл
Спасибо.
на пхп быстрее
А что тебе надо? Я говорю что питон и так крутится на сервере в виде хуевой горы скриптов любой ОС (может кроме видны, я хуй знаю что там, но даже мой макбук идёт из коробки с питоном 2 с хуем каким-то)
А так конечно можно и с апачем. Другое дело что ровные пацаны по такому не угорают, а гоняют чёт типа nginx для статики, gunicorn для питона и supervisord на случай если чёт ещё сдохнет, но это дело молодецкое
ну тут уже нееее, шашки онлайн только пхп потянет
Кстати удвою реквест, хотелось бы знать как делать правильно
Может какие-то best practices кому попадались?
смотря что делать
Например сейчас у меня проект, где рендерится ~20 различных шаблонов. В некоторых из них подгружаются небольшие скрипты с довольной простой логикой, типа ajax-запросов и построения графиков.
На одной из страниц клиенту нужно грубо говоря spa - динамическая форма ~10 полей, с возможностью строить разные графики-таблицы с данными, фильтруемыми по параметрам, задаваемым в этой форме. Сейчас это занимает 600 строк кода, будет больше. Я вот думаю, стоит ли ради одной страницы заводить сборщик, разбивать код на модули? Если да, то собирать только скрипт для этой страницы или делать бандлы для всех страниц с js? Как организовать точки входа? Кто-нибудь может посоветовать нормальные многостраничные опенсорные проекты на джанге, с нестандартным фронтендом, но не spa?
что то я не понял, как связаны скрипты на разных страницах с тем что ты хочешь сделать на одной другой странице? они же независимо работают?
В этом и вопрос, кто-нибудь вообще делает по несколько бандлов? Обычно привык видеть, что сборка идет в единый файл типа bundle/app.js, но это не мой случай. Хотелось бы посмотреть какие-нибудь реальные примеры приличного фронтенда вместе с rest framework, но без ангуляров и реактов.
ну я бы не стал все переделывать, зачем!? а сделал бы только этот 600-строчник, а как именно - это уже смотреть надо требуемый функционал, но точно c использованием es6, возможно реакт заюзал бы - удобная штука, упрощает многое. и естественно упаковал бы вебпаком.
>зачем!?
Ну вдруг появятся еще такие жирные страницы, которые возможно будут использовать одни и те же модули. Да и при приходе новых разработчиков в проект будет сразу понятно, что js везде собирается/минифицируется и тд
Реакт не хочу, но попробовал бы Vue. А вообще все уже на jquery написано, хочется с ним порядок навести
>>942594
>>942605
Вот кстати немного сатиры на тему фронтенда в 2016-м. Осторожно, в конце февраля 2017 эта статья могла уже безнадежно устареть.
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.p5ogudo98
Старые проекты - 2.7 и джанга строго определенной версии. Видел один проект на 2.6.
Новые проекты начинают на 3.х. Кажется, на него уже все перенесли. Слышал пару лет назад про проблемы с MySQL.
ORMов несколько. У джанги свой, встроенный. Он очень удобный.
Вне джанги используется SQLAlchemy. С ним почти не работал. По ощущениям, он ничуть не проще, чем писать просто на SQL. Просто на SQL тоже пишут, когда есть требования к производительности.
Насчет active record ничего сказать не могу.
Этим Питон и отпугивает, потому что там всего несколько и ормов и веб-фреймворков и даже самого питона. С точки зрения работника хуево, так как нужно больше знать. А у рубистов рельсы и всё. Но там магия и руби менее утилитарен, а точнее кроме веба нигде почти не используется.
всегда есть жс и фронтэнд, где вообще хуй пойми что творится
так что никого питон не отпугивает
я конечно не знаток джквери, но как по мне он не годится для сколько нибудь сложных приложений, для этих целей специально СПА фреймворки и придуманы. при приходе новых разработчиков они будут тебе очень благодарны за развесистую хуйню ввиде джквери.
>>Ну вдруг появятся еще такие жирные страницы
ну вот когда появятся тогда и делать.
Вот сделал как в примере( https://tutorial.djangogirls.org/ru/django_forms/ ), но вылазит ошибка:
> ValueError: Cannot assign "<SimpleLazyObject: <User: Andrei>>": "Projects.project_author" must be a "MyUser" instance.
Где я мог проебаться?
1 пик. вьюха
2 пик. форма
3 пик. модель моего юзера
4 пик. модель прожекта
Можешь почитать Two scoops of Django, очень годно для вкатывания, вопрос структуры проекта там освещен
Не думаю, что твой MyUser работает так, как ты хочешь. Какая получается таблица в базе данных? Если нужно хранить дополнительную информацию о юзере, для этого рекомендуется либо иметь отдельную модель с one-to-one relationship с юзером, либо делать своего юзера, наследуясь от AbstractBaseUser: https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#using-a-custom-user-model-when-starting-a-project
В любом случае, request.user у тебя типа User, а при правильной замене модели такого быть не должно.
И я бы не стал привязывать роль так сильно к юзеру. Кто-то может перейти из разработчиков в манагеры, и такое обновление ретроспективно запишет человека в манагеры в тех проектах, где он был разработчиком. Я бы завел модель UserProjectRole со ссылкой на юзера и на проект. Хранить ли роли в базе данных или как константы - дело десятое.
Человек в группе managers будет создавать проекты, а в таблице UserProjectRole будет указано, что проекты создал манагер. Тоже самое и для разработчика.
нет. я запретил
>>942147
Установил себе в итоге ОПЕРАЦИОННУЮ СИСТЕМУ Linux Mint ( Впервые имею дело в линуксом ), и понял, почему линуксоидов называют красноглазиками. Сутки ковырял, прежде чем прошла команда import netsnmp. Счастлив неимоверно
Завязывай с этой хуйней. Линукс пилят аутисты для аутистов. Он создается специально чтобы машина ебала в жопу человека, чтобы пользователь испытывал БОЛЬ. Так что ты играешь в опасные игры со своей психикой.
Не-а, просто ты лох-неосилятор, который в своей тупости винит систему. Ну, это как тетя срака из бухгалтерии, нацепляет троянов, а виноват "етот ящик".
Антош, я правильно понимаю, что создание abstractbaseuser, со всеми нужными полями(логин,пароль1,пароль2,мыло,роль) полностью заменит того юзера и все будет ок?
P.s. Спасибо за помощь и предложения, анончик:3
да, только в сеттингсах надо указать AUTH_USER_MODEL и включить админку для новой юзермодели
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User
admin.site.register(User, UserAdmin)
Editor->CodeStyle->Python
И там вкладочки справа смотри,выбирай что тебе нужно, там сразу примеры.
Никто и не ругается, удачи тебе :3
Но я работаю на линуксе уже 5 лет. Нихуя не изменилось. Кривые апдейты, GUI от инопланетян, анальная ебля ради каждой элементарной настройки. Никогда линухе в таком виде не развернуться нормально у обычного юзера. Пока ее пишут аутисты, дрочащие байты, не думающие о пользователе.
Да не парься, красноглаз, я знаю что у вас там своя атмосфера и луччая система в мире, лол.
Я все никак не пойму че вам надо от линукса-то?
Простой как ведро, работает и хер с ним. Самая простая система эвар.
Ты можешь хуярить ресиверы чтобы не наследовать и переписывать другие аппы. Например нужно тебе при сохранении юзера из django.auth создавать какую-нибудь хрень (профиль юзера) - пилишь ресивер который создает хрень.
когда напишешь игру, игра должна играться в браузере, на клиенте современный джаваскрипт, на бекенде современный питон, фреймворк любой.
крестики-нолики /thread
ага, миллиарды пользователей андроида дружно подписываются под каждым словом, мудак
Нужно быть полным дегенератом, чтобы назвать Андроид Линуксом.
Это как марвел и дс-мазню назвать аниме.
Или даже Unixом.
а чем эта задача не подходит?
а по подробнее можно? чем не устроил питон при разработке игры? что за игра кстати?
крестики-нолики /thread continue
вангую что больше одностраничника он не писал
понятно. а какую игру ты сделал на пхп?
а какой сервер? асинхронный? на пхп есть асинхронный сервер?
ну я собираюсь дальше вкатываться в джанго
Было бы что там задрачивать. Ну и ты будешь их часто использовать в работе, так что запомнишь все со временем и так.
я уже просто 99% вопросов пропускаю. считаю что это наглость - тупо спрашивать банальности, надеясь на помощь тех кто не ленится найти ответ на вопрос. мало того, дак еще и вопрос нормально задать не могут. ебучие попрошайки.
>дак еще и вопрос нормально задать не могут
Двачую. Пиздец, как они дальше работать собираются, не понимаю.
да
а с++ мощнее питона?
изменяться одновременно с изменением исходного объекта будут списки и словари. Поэтому их надо копировать dict1=dict2.copy()
d1={1:100, 2:200, 3:300}
d2=d1
d2[4]=400
print (d1)
{1: 100, 2: 200, 3: 300, 4: 400}
У меня есть 2 дня и 3 задачи:
1. Рассылка при помощи Celery.
2. REST API реализовать.
3. Написать автотесты.
Ваши ставки, лососну ли я? С учётом того что сайт то небольшой(для тестов и api), но rest и celery я никогда не юзал.
Может быть будут какие-либо предложения/советы кроме как забить хуй и не торопиться выполняя задание, а разобраться ?
можешь успеть.
рест (не юзал) и целери не сложно, единственное это тесты, у меня они много времени отнимают...
Скачай django by example
там блядь по аналогии и дебил сделает REST API с Celery + mail
Для автотестов хорошая книженция есть Test-Driven Development With Python но она длинная, легче обмажся по django polls tutorial примерчиками процентов 80 покроешь точно аналогией, для остально поебёшься
И того по времени - ну часа в 4 уложишься если такое же нубло как и я хотя бы
Хуйню несешь. Там LazyObject, потому что middleware модель пользователя в него заворачивает.
Накидайте советов, на что дальше упор делать, а то у меня впечатление, что я потолка достиг в Питоне, но я уверен, что это не так.
У тебя есть 2 терабайта данных в дата центре. Как их переместить в другой?
Асинхронщиной обмажься
Нейроночками и прочим машинным обучением, там лет на 5 развлекухи на каждый день
Опять я. Celery запустил, всё ок :3
Перешёл к рест апи.
Есть вопрос к анонам:
Оно того стоит? Вот сейчас выполняю тестовое задание на джуна в очередную говно-компанию(первое моё тестовое) , объективно понимаю что никаких других сфер применнеия питона в моей мухосрани, да ещё и без опыта - нет. Опыт который я получу (если возьмут, лол) пригодится мне где-то вне сайтостроения? А то как-то руки опускаются на 4 день работы безудержной и попыток разобраться в том что я не юзал никогда.
Давай я так сформулирую:
Кодить - или весело, или нет. Если нет - значит ты ещё недостаточно разобрался, или наоборот слишком разобрался и тебя заебало легкотню одну и ту же делать.
Самый топчик - это ебашить на себя. Нет, не фриланс, фриланс для таких же педиков что и в офисе, только с большей ебаторией и не всегда большей зарплатой. Ебашить под какие-то конкретные цели какой-то не шибко пока связанной с айти сферы отрасли, потому что это штучно, и потому что это весело. Работы непаханное поле, но нужно уметь продавать или иметь десяток кентов с хорошими и подходящими должностями, которые бы смогли проникнуться твоей охуенной темой или подсказать чего, а потом и кому втюхать. В таком режиме работать нескончаемый кайф пока не упрёшься в пидерастичного клиента которому и инструкции подавай, и сука поддержку 24, и СБ против размещения данных компании на сторонних сервисах ну и тд
Изначально - не понимал и не слышал о нем, сейчас немного почитал и понял основную суть.
Насчет rest api даже не читал еще.
Понял тебя. Забавно, но что-то подобное проклёвывается, правда приносит денег совсем немного пока и хз взллетит ли и не посодют ли вообще.
Вот над этим я работаю с удовольствием.
узнай эти штуки, лишним точно не будет. а как узнаешь всякие дурацкие вопросы сами отпадут. так же советую расширять кругозор по архитектуре информационных систем, поинтересуйся как общаются разнородные части системы, какие протоколы используются, шины данных... на том же хабре тысячи качественных статей.
Прочел про рест апи, все оказалось не таким уж страшным и непонятным, думаю все таки успею за 2 дня допилить ТЗ.
Купил книгу, по архитектуре пк, почитываю понемногу.
P.s. Спасибо :3
>>архитектура пк
хы) я тебе про другие системы - клиент-серверные, распределенные, гетерогенные... где много "пк") ну эту тоже читай, полезно)
Ты их наизусть учить, что ли пытаешься? Током ёбнуть? Прочитай один раз, пойми примерно, какие возможности есть, и потом уже, когда тебе надо будет сделать какое-то действие, загляни в документацию за точным названием и сигнатурой метода.
только популярные.просто если не понять,то дальше нихуя не понятно будет и потеря времени
когда напишешь игру
плохой дядя атата дядю
тут часто какие то сайты проскакивают, там типа интерактивно показывают основные конструкции языка и ты делаешь так же интерактивно на этих сайтах задачки. думаю тебе стоит что то такое попробовать.
Ну там в книге все описывается, в том числе и клиент-серверная ирхитектура. Правда я еще не дочитал, но видел что есть)
это не для меня.я читаю одну тему,потом тоже в остальных книгах,если все хуево с пониманием то гуглю все ссылки подряд.обычно на одну тему трачу пару дней по 2 часа.щас подошел к функциям.дрочки наверно будет овер дохуя
в "пк" несомненно куча клиент-серверной архитектуры, но тебе до "пк-внутренней" клиент-серверной архитектуры еще далеко, ну а так как ты изначально начал задавать вопросы и сферы веб, то про веб полезней ознакомиться.
ну как знаешь. если бы мне в мою юность попался такой сайт (и интернет вообще лол) я был бы безмерно счастлив.
ну обычно такое только в комментариях.а я бы начал с приветствия,хай мои очкастые дрочеры,не хватает денех шоб сводить свою еот в кафе,то питон твой выбор,мамкин ты кодер
тут один PANDAS обещал всех научить, статьи говорил буду вам писать а вы мне анус лизать... с тех пор ни ху я. с того кстати ПАНДАС микромем и пошел.
>системы - клиент-серверные, распределенные, гетерогенные
Классику не подскажешь на эту тему ?
Другой анон
Нисколько. Пиздуй на Кокодемию и делай там классику - пистон курс. Он заканчивается небольшой вход в ОПП - Полиморфизм, наследование, классы.
хз насчет классики, я только статьи читал (возможно и классические лол) и документацию и код
а какие темы сильно пригодяться при вкатывании в джанго?
а для начала про то как работает http
получается так, да. джуну на питоне трудно работу найти, в мухосрани почти нереально.
>>943437
https://www.codecademy.com/learn/python
Для тебя, у тебя нет права что выбирать, а что-то нет, ты сука шоха, раб, червь. Запомни это, ты будешь делать что скажут, будешь сидеть и тыкать в submit на ебучей кокодемии потому что иначе дальше ты охуешь от бессмылености этого говна, а ведь программист как ебучий сапер - он учится всю жизнь и делает ошибку один раззаленился, НИХОЧУ, СТЫДНО, МНЕ НЕПРИТЯНО и все, ловите, режте пидорса, что сука ? В бекенд захотел ? На сука Танненбаума или на кода на несколько тысяч строк, чисти, блять, вилкой, сука.
Вообщем делай все что предлагаю, потому что заучить как в школе математику ты не сможешь, ты либо можешь выводитьблагодаря опытузакономерности из ебучих аксиом, выдавать правильные запросы гуглу или использовать спец. поисковики по документациям либо колокол звонит по тебе.
Получается что ты доходишь до джанги и тот же ДЖ ПыХыП кажется тебе не таким уж говоном. Одна динамическая параша.
Да, я с пыхи начал и при первой возможности свалил на питон.
Кстати, чисто субъективно вакансий на питоне меньше стало (в том числе высокооплачиваемых) за последний год, так что подумай.
Это я к чему? Чем задавать вопросы которые легче загуглить и ждать как ебанашки ответа - пиздуйте ещё куда, в пхп тред там блядь, в ларёк за пивасяндрием - один хуй толку больше будет.
двачую.все дело в руках из жопы.спецов всегда меньше
>можно изучить клевый язык программирования Python и остаться на улице.
А что не так? Работодатели платят за умение сделать нужную им вещь, а не за то что ты там 100 аниме посмотрел или т.п.
но почему пхп ,а не питон.,дороже и геморней,или работодатели тупые или исходят из заказов тупых заказчиков?
лол, недавно создатель говорил, что мол "Я не настоящий программист, я всего лишь слепил вместе вещи, которые работали"
тогда я тоже не программист потому что тоже леплю и оно как то работает
Не поверишь, но заказчик в 99% даже не знает в чем разница между ними. Ты ж пойми что ты ценен до тех пор пока можешь продать себя работадателю. Он может и на джанго согласиться лишь б ты смог её продать. А еще лучше Хакскелл, выдай ему пару основ лямбда-порграммирования и скажи что управишься аж джва раза быстрее и вауля. Потом до тебя может дойдет что макак на С++ ничем не отличается от макаки на ПхП. Они оба выполняют одну и ту же функцию - обслуживают дядь с деньгами. Конечно по уником говорить ненужно.
Как дети блять
Изучаю сокеты в питоне3, расковырял пример tcp сервера и клиента.
Возник следующий вопрос: при отправке пакетов от клиента к серверу, можно ли использовать только функцию send без функции recv? Или все сломается нахер и сервер перестанет отвечать через N пакетов?
Как вообще работает recv - она просто ждет ACK + полезную нагрузку от сервера, чтобы можно было передавать следующий пакет?
> можно ли использовать только функцию send без функции recv?
На клиенте? Запросто. Если же отправлять данные на сервер, и там ничего не читать, тогда да, буфер сервера переполнится, скорее всего случится разрыв соединения (но это не точно).
> Как вообще работает recv - она просто ждет ACK + полезную нагрузку от сервера
recv ждет, пока во входном буфере машины появятся данные, и передает их пользователю. Вызов recv никак не связан с получением ACK. Вызов recv ни в коем случае не нужен для того,
> чтобы можно было передавать следующий пакет
Когда и как будет отправлен следующий пакет, выясняет операционная система (путем соблюдения правил congestion control протокола TCP) и сетевой интерфейс (путем контроля за буферами и средой передачи). Пользователь эти вещи не контролирует, пользователь просто пихает данные с максимально возможной скоростью в сокет.
send и recv никак между собой не завязаны.
Спасибо за развернутый ответ.
С recv не совсем понятно. В мануалах написано, что recv вернет 0, если сервер закрыл соединение.
Если в клиенте не использовать recv, а просто слать пакеты дальше, когда сервер уже закрылся, то как клиент поймет, что все плохо? У send есть какой то таймаут или количество попыток на передачу?
Если клиент отправил на сервер пакет с запросом, а сервер ответил просто ACK без пэйлоада, то что вернет recv на клиенте? Это вроде бы не должен быть ноль, так как сервер не закрыл соединение, и в то же время recv не вернет пэйлоад, потому что его не было.
> Если в клиенте не использовать recv, а просто слать пакеты дальше, когда сервер уже закрылся, то как клиент поймет, что все плохо?
В штатном случае, удаленная сторона уведомит машину о закрытии соединения и ты просто не сможешь отправить что-либо при помощи send.
При внештатном обрыве связи, send отдаст данные ядру ОС, ядро ОС в свою очередь отправит сообщение, не получит по таймауту ACK, отправит еще раз с таймаутом, растущим по экспоненте. После нескольких попыток соединение будет признано разорванным. Последующие send будут возвращать ошибку. Это всё протокол ТСР.
> Если клиент отправил на сервер пакет с запросом, а сервер ответил просто ACK без пэйлоада, то что вернет recv на клиенте?
Ничего не вернет, заблокирует поток до принятия реальных данных. Сокеты типа SOCK_STREAM скрывают от пользователя подробности ТСР. Рукопожатие, контроль потока, квитирование, разрыв соединения - все эти пакеты до пользовательского кода не доходят. Ты видишь только полезную нагрузку.
> В мануалах написано, что recv вернет 0, если сервер закрыл соединение.
Не помню точно, но кажется в man сказано, что например для линукса это почти невозможное событие. В любом случае, полагаться на такие вещи просто нельзя. ТСР-сокеты не предоставляют функционала для выделения границ сообщений и окончания общения. Это задача пользовательского протокола, решить - передано/принято ли сообщение полностью или надо принимать ещё; было ли соединение закрыто штатно или вследствие ошибки; нужно ли пытаться соединиться заново или нет; как определить, что удаленная сторона успела принять. Любые попытки положиться чисто на функционал ТСР-сокетов чреваты анальными багами при нагрузках на сеть. Задача ТСР, как следует из названия - чтобы данные приходили. Когда данные доходят до сетевого интерфейса или до ядра ОС - это больше не забота протокола.
зато на джаве больше работы,даже в мухосрансках
Питон+джанга - для забугорного фриланса на расслабоне
Пхп - родное, россиянское, всегда есть работа и жратва
Код смотрится слишком всрато, пакетные менеджеры всратые, фреймворки всратые, россиянские сайты которые годами висят на пыхе всратые. Ну а так в целом норм.
Я бы понял если бы ты доебался до того что в пыхе "хвост виляет собакой" и разраб Ларавела может сказать мол не пацаны новая пыха говно ну нахуй её, что в итоге все кому нужно ещё чёт кроме ларавела.
Но предъявы типа сайты написанные сто лет назад смотрятся как говно - так они и на Зопе(простите са несенсурсину) смотрятся как говно, они просто старые
>разработчик
>мухосрань
Это несовместимые понятия, в мухосрани даже 1С можно не найти и на деле вакансии "программиста" - это эникейщик и одмен гос-сайтов, где конкурс - 100 таких же охуевших хикканов на проперженное кресло в отделе с 60-летними ехидными тетками.
Хочешь нормально зарабатывать - что на пыхе, что на пистоне - пиздуй в миллионники или дрочи на забугорный фрилунс.
Создал несколько групп из одного массива с помощью библиотеки itertools
и функции groupby
Как теперь из этих групп что то извлечь? Какой вообще объект создался, как с ним работать блять?
Хочу получить тело запроса, котором простой json, но request.content возвращает бинарник. Как получить нормальную структуру типа словаря?
Спасибо, добрый Анон)
>>943920
Я знаю, чилига борде всегда есть добрый Анон, который поможет, посылающий анон, который отправить гуглить, изучить мануалы, читать Кнута, и злой анон, который просто обосрет
> добрый Анон, который поможет
Тупой анон, не иначе. Помогать падали, которая даже не может документацию aiohttp открыть может только безмозглый.
А вот и обсирающий анон. Как предсказуемо.
>первой строкой в гугле
Может ему там сначала ссылки на его каклод фетиши дают, а уже на 2ой странице нужная инфа ? Воистину странно.
Ну, думаю можешь попробовать.
Вот подскажите, как красивее/лучше/практичнее и где описывать бизнес -логику? Как и где вы это делаете?
Потому как глянул на свой view файл и огорчился от кол-ка нформации связанной именно с логикой работы и вывода/обработки информации.
P.s. REST api добил, остались тесты и разграничение доступа запилить, кажись все таки успею.
В models создал счетчик и метод по увеличению счетчика
Во views просто вызываю этот метод
Но лайки почему-то не отображаются, может кто помочь ?
Лайки НЕ НУЖНЫ
Ты должен лайки в базе хранить.
like_counter = models.IntegerField()
И товое like_counter += 1 может сломаться из-за многопоточности.
Гугли Django F object и используй его.
Плюс у тебя никакой защиты от накрутки лайков.
> Ну я сейчас добавлю поле is_liked = models.BooleanField(default=False)
> и если тру, то лайкнуть нельзя уже.
Не поможет, т.к. поле у тебя будет одно на весь комментарий, а лайков много.
Иными словами, надо лайки ассоциировать с юзером, то есть добавить там поле, которое проверяло лайкнул ли этот конкретный юзер, так что ли ?
Можно в модель Comment добавить поле likes = model.ManyToManyField(User)
Пример: http://stackoverflow.com/questions/38133136/how-to-implement-a-like-button-django
Или создать отдельную модель Like. Примеры: http://stackoverflow.com/questions/15407985/django-like-button
Небольшое обсуждение о том, какой вариант лучше http://stackoverflow.com/questions/32440167/django-likes-manytomanyfield-vs-new-model
А что тебе потоки? Интернет шире не станет. Можешь попробовать, но при хорошей архитектуре программы я бы не ожидал какого-то значимого ускорения. Разве что минимальный бонус в случае, когда один процесс ищет вебмки, а другой их качает.
Можно даже не разбираться с потоками. Пусть одна программа будет скачивать страницу и выдавать в stdout ссылки, а вторая программа будет принимать ссылки в stdin и скачивать содержимое. Программы соединяешь при помощи unix pipe operator. Для пущей конвейеризации первая программа может искать ссылки в процессе получения HTTP-ответа, если позволят обстоятельства.
эта хуйня просто краткий пересказ документации, которая есть на оф сайте.
я надеюсь ты понимаешь, что пока Уэс написал книгу, пока ее перевели, пакет 100500 раз обновился и что-то не работает как написано, а что-то работает уже не так как написано.
вывод: используй документацию на сайте
> unix pipe operator
нахуй!
каждая программа должна иметь свой интерфейсами взаимодействия, чтобы
> хорошей архитектуре программы
Так-то программа, которая принимает данные в stdin и argv и отдает результат в stdout, это программа с отличным интерфейсом. Такую программу очень просто засунуть в скрипт автоматизации, такую программу легко обернуть в гуй. Можно запросто устать, печерисляя, как можно применить программу с таким интерфейсом.
Тебе - никак.
Перезвонили из Макдональдса?
дапчую,красивый язык но с ним масло на хлеб не намажешь.перешел на пхп
иди ка ты джанго туториал сделай
Спасибо <3
Как сделать красиво и удобно?
Если одна админка - forms.DateField(widget=DateInput())
если и шаблоны - прихуярь http://jqueryui.com/datepicker/
повсеместное
Между слоями нейронов у нас связи, сила (вес) которых определеятся коэффициентами.
А что новые нейроны машины создавать не умеют что ли и работают только со связями?
Зачем тебе доп методы к виджетам?
Как в Python 3 делать перенос строк в переменных с русским текстом ?
c='ААА \n БББ'
print (c)
'ААА \n БББ'
Это из-за юникода ?
Искал но в поиске не то вылазит
Fix - print (x) нормально выдаёт, а печать путем просто ввода имени переменной в консоли - нет
скоко там планочка памяти час стоит? в минутах работы американского программиста, например
а я тоже так иногда говорю, не вижу в этом ничего плохого. Водочки выкушать с пацанами это вообще милое дело.
i = 1
while i <= 10:
print(i)
i += 1
и
i=1
while i<10:
print(i+1)
Потому что во втором случае к тебя бесконечный цикл
Во втором случае ты объявил i=1 что <10. В цикле ты не изменяешь i. Поэтому код будет крутиться вечно.
Это ты к чему? Типа в 2016 всем насрать на память?
Ну это да, просто у меня сервер дешманский и много скриптов висит. А платить 20+ баксов за впску для меня это пока дороха.
Ее можно за 200 р. арендовать
дело в инкрименте?
С чего бы это?
Кажется, области применения шарп с питоном не особо пересекаются.
Слишком всратый. Если свифту некуда взлетать, это тем более не взлетит.
Вся эта шумиха с компиляторами под линуксы и опенсурсом просто маркетинговый ход, чтобы хоть как-то привлечь девелоперов к загнивающей шинде.
Слишком мало написано для публики, слишком много времени уйдет чтобы это написать, создать репозиторий на манер pypi, все пляшет от того что питон изначально был открытым.
Например, кроме ASP.NET я даже не знаю на чем толком можно написать сайт. Да и он откровенно говоря смотрится как-то не очень.
Держи нас в курсе.
Не думаю что он может составить конкуренцию.
он теперь на чем угодно может хоститься
swift и не позиционируется как кроссплатформенный.
говно проходит по всему массиву, каждому элементу массива, списка, любой хуйни, итераторы, хуе-мое, что непонятного то?
забудь циклы плюсов как страшный сон
нихуя не понял.
как составляли этот код?
>>> stroka = "привет"
>>> for bukva in stroka:
print(bukva, end=' ')
п р и в е т *
>>>
Ну очевидно, что строку оно итерирует по буквам, массив по элементам. Нахуя строку итерировать вообще? Обычно юзают какие-то наборы данных. Хули тебе блядь непонятно? Ты даун штоле?
наверно даун
print("/")
почему не работает print(r'\') ?
Чего ты хочешь-то? Просто напечатать строку со слешем? Просто берешь и пишешь.
Твой принт будет добавлять после каждого отпечатанного аргумента пробел, если не передать ему end=.
Программа работает сверху вниз в любом случае и что отступы для неё меняют?
Вместо сишных { ... } скобок
долго грузиться и тормозит.лучше по старинке
В редакторах кода можно настроить отступы. Ну и, благодаря отступам и pep8, все кодят в одном стиле - и это хорошо.
ты да, с проблема много ебати при редактировании кода, в моём же случае мы вообще не будем думать о такой хуйне, как отступы и время и нервы на эту хуету не уходят.
Практическая скорость разработки с использованием готовых библиотек в 2 раза выше всего что есть другого, выше даже неба, даже аллаха.
у меня нет говноначальника, потому что я не пидор-шестёрка, я язык для себя учу и он мне не нравится
а я учу для веба.есть профиты?
>ебашишь код лопатой, потому что так удобно
>через пол года не можешь разобрать где что у тебя вложено
Во всех нормальных языках сейчас отступы во вложениях практикуются, это наглядно все показывает
Зато нужно точку с запятой везде ставить. Дело вкуса короче. После крестов и прочего околоси питон мне божественным откровением показался. Всё для программиста сделано, одно удовольствие писать.
Во-первых это удобнее, но это похуй, кому как. Во-вторых принудительное форматирование это охуенно, понятность и воспроизводимость важнее самого кода, так как ты написал и забыл, а после тебя неизвестно сколько народу будет. Это из того же разряда, что и комментарии. Жаль комментировать принудительно заставить нельзя. Хотя откуда тебе знать про хороший тон, ты даже тут пидор мелкобуквенный.
ну хрен с ним с наглядностью, чего ты очевидные вещи говоришь, но в питоне нужно правила отступов соблюдать, иначе ошибкой считается, не успел начать изучать, уже это дело заебало, а дальше что будет? я не хочу терять время на тупые отступы, я хочу писать программу.
А если у меня миллион крохотных модулей, я чо, бля, с каждым так мудиться должен? Какой мудак это придумал?!!
Ты же их и так ставишь, только лишнюю точку с запятой добавлять не нужно. По мне так это вообще как новый уровень ощущалось.
да, ерунда полная, я всего-то 0,25-0,4 всего времени разработки на ебатню с отступами потрачу в таком проекте
Ты в одну строчку код хуячишь что ли? Да и что там тратить то? Энтер нажать? Пиздец ты поехавший.
так всю жизнь в пидорах и проходишь, на дядю он до сих пор работает, вы посмотрите только, вот лох, а
Пустое место, ничего из себя не представляешь.
Смешно это слышать от мамкиного борщехлёба-однострочника.
По сути, когда ты пишешь на каком нибудь с\с++\с#\java и тд то ты все равно используешь отступы для обозначения вложений, просто к ним добавляются скобки
Если сразу с отступами писать, то не нужно ничего подгонять будет. Проблема в тебе.
А потом посчитать всё суммарно, эх.
Нет, Питон не так уж и заточен на быструю разработку.
А вы, что в 80х застряли? Только про отступы знаете, сейчас везде ещё и подсветка синтаксиса, и если подсветка есть, отступы от левого края уже особо ничего не дают. Тем более когда ты кошерно отделяешь блоки кода друг от друга, а не пишешь как чмо кирпичами.
Что-то не так указываешь.
Придурок, ты вносишь изменения в код, ты будешь подгонять, проверь.
А как апдейты делать? Как ошибки исправлять? И каждый раз ты мудишься с отступами.
Проблема в том, что ты не разработчик.
Ну только очень давно, ещё в школе учился. Тоже тогда бугуртил по поводу отступов, да. Но я тогда и не умел ничего толком, после многих лет практики форматирование кода в привычку вошло, когда на питон пересел, только обрадовался такой оптимизации, хз.
Ты должен открывать в идле новые окна: ctrl+n (в английской раскладке клавы обязательно) или через меню создай новый, их нужно сохранить сначала в файл на диск, а потом можешь писать в них. Только так это говно работает.
Идл идёт вместе с питоном, который ты установил. Просто он не создаёт значёк на рабочем столе, найди в поиске Пуска Винды и перетащи на рабочий стол правой кнопкой мыши.
жирдяй, чего не разу не было? Не что ни разу не вносил изменения в уже написанный код Питон? о чём и говорить с тобой.
Ни разу не было проблем из-за неправильного форматирования. Ну, то есть ситуаций, когда компилятор ругается и приходится скроллить и тыкать табы повсюду.
Интерпретатор, не суть.
Я и говорю про этот процесс постоянной правки отступов, который уже заебал, когда ты кучу раз переписываешь одни и те же места и хз ка клучше, потому ещё подумаю, это просто пиздец какой-то
постоянно проверяешь что получилось, работает или нет и постоянно сыпиться это говно
На видео запиши, что ты там с отступами делаешь.
Я и говорю, что такого не помню, за исключением того времени, когда совсем ещё зелёный был.
не знаю, но всем нравится
Спасибо, пошел учить матчасть.
Тупо в хранить jpg в /static/, на харде, а в статье-верстке, точнее в texfield, хардкором <img src="http://127.0.0.1:8000/static/1.jpg" alt="">? Как вообще правильно?
Статья сверстанная уже в textfield лежит. Это норма, если два раза обращаться к бд?
Не получается.
в /media/, в модели - imagefield, потом проксируешь nginx и отдаешь им
чтоо? это не молоко?
У меня щас вот так, в шаблоне:
<div>
{{ article.headtitle }}
{{ article.text|safe }}
</div>
И в textfield:
{{ article.headtitle }} и верстка. И когда в браузере открываю, оно не шаблинезируется второй раз. Вот эти Imagefield будут работать только если встретятся djange при шаблонизации.
собрал в exe
кому кинуть?
так-то там blade2 с pseudorandom key так что я все вернуть могут, за пару биток
так ведь законы нелегитимной власти нелегитимны и их можно не выполнять, верно?
сами полицейские законы нарушают, не говоря уже о политиках, а остальные что же лохи ? смешно :)
ваша цивилизация - говно сплошное снизу до верху, особенно, это ваше "государство", ах да, оно же даже не ваше.
устроим революцию тогда? ты достань мне ssh их серверов, а я скрипт запущу
меня это устроит, буду ждать
Обезъяны всегда делили власть и те у кого больше автоматов легитимны по определению, так уж устроено.
Ну и да, все ваши слова будут использованы против вас в суде. Революционеры хуевы.
Чем собирал экзешник?
Суди тех, кто судит тебя.
Ну не дебил?
Дядя присматривает за мной, за что я ему благодарен. В случае опасности именно к нему я побегу за помощью.
>Придурок, ты вносишь изменения в код, ты будешь подгонять, проверь.
Какие ты там такие изменения вносишь? Если у тебя больше 4 вложений (класс -> метод -> цикл / внутренняя функция -> условие -> условие), то ты делаешь что-то не так. И какие же тут изменения кода приводят к подгону отступов? Если нужны изменения отступов, значит и код серьёзно так преображается, а значит и отступы уже не важны, ты просто как бы "удаляешь и пишешь заново" кусок кода.
Единственное, что приходит в голову, так это необходимость убрать условие или цикл, тогда да, внутреннюю часть нужно будет сдвинуть. НО, во-первых, если это для временных тестов, всегда можно добавить if true or или "if false and" в начало условия или же изменить цикл на одну итерацию (будь то слайс массива или изменение ренджа), а во-вторых, в любом другом языке, если ты так и оставляешь этот изменённый код (убрав/добавив условие или цикл), но отступы всё равно придётся поправить, чтобы не превратить код в говно.
Ну а добавлять/убирать отступы для всех выделенных строк все нормальные текстовые редакторы уже давно умеют. Так что это ты проблемный какой-то, а не питон. Ну или действительно подробно опиши/сними на видео, где ты там с отступами так ебёшься, явно же что-то не так делаешь.
>>944810
>>944793
>>944839
Это бот какой-то, что ли? Или просто шизик?
Ты дебил, зачем ты пишешь об этом в подконтрольных интернетах?
Твой ай пи уже зафиксирован, сучечка.
http://pastebin.com/MREqiGqM
Котаны, почему неправильно работает add_word? Вроде же все заебись должно быть: идем по бору, пока он совпадает с нашим словом. Дальше добавляем новый элемент и продолжаем построение. Но вместо добавления он просто удаляет старое слово.
зато вакансий больше и требований меньше
С утверждением о моем слабоумии сложно поспорить, но в чем конкретно ошибка. Почему вроде бы аналогичный по смыслу код работает как надо и ничего не удаляет?:
x = {"1":{"2":{"3":{}}}}
now = x["1"]
now["3"] = {}
now = now["3"]
now["4"] = {}
Out: {'2': {'3': {}}, '3': {'4': {}}}
Хуево написал.
x = {"1":{"2":{"3":{}}}}
now = x["1"]
now["3"] = {}
now = now["3"]
now["4"] = {}
print(x)
{'1': {'2': {'3': {}}, '3': {'4': {}}}}
Сидишь я в офисе, пишу распределенные системы на Python, получаю $2к, а потом захожу на двач и узнаю, что я не разработчик.
А то!
В месяц.
>А как апдейты делать? Как ошибки исправлять? И каждый раз ты мудишься с отступами.
разве IDE не делает всю работу за тебя?
В пикоминуту.
пишу управляху от IoT перделок с кастомным UDP протоколом, для удобства обернул команды в классы в отдельном модуле.
при отправке можно из конструктора и/или дополнительных методов собрать нужный пакет с CRC хуемае запиздошить в сокет - тут все норм, все понятно.
но когда я получаю ответы, чтобы превратить данные неизвестной переменной длины в нужный экземпляр класса логично же их распарсить и уж потом хуевертить как надо.
как это все делать по уму, не совсем въезжаю..
во-первых т.к. часть заголовков у всех ответов одинаковая, логично их запердолить в базовый класс (так же как с пакетами на отправку) и из наследников передавать нужное в конструктор родителя, ок?
во-вторых где именно (чем?) парсить входящие данные? не очень логично было бы писать тупо функцию, раз уж взялся за ООП, напрашивается статик метод у базового класса ответов, как вариант - это годно? базовый класс может создавать экземпляры потомков - это норм ваще? если да, тогда он может возвращать данные базового же класса, а там полиморфизм все дела - можно разобрать нужный тип пакета.
или я тут какую-то хуйню пытаюсь накостылить?
вобщем у меня больше вопрос именно архитектурного характера по феншую, как правильно и годно этот все надо делать?
блджат короч пока только пришло в голову пиздошить все пакеты в базовый класс, разбирать в нем общую часть заголовка, в котором среди прочего говна есть тип, а у наследников тупо разбирать оставшуюся часть данных по нужным полям.
в итоге при обработке анализировать какой-нить условный packetType и для доступа к методам дочернего объекта юзать класс кастинг, и тут я погуглил и не вижу ничего кроме шаманства с __class__ -- это чо так и кастуют классы в питоне?!!
З.Ы. я вкатился буквально вчера
З.Ы.Ы. у меня 2.7.х поэтому желательно понять как именно в нем делается
> в итоге при обработке анализировать какой-нить условный packetType и для доступа к методам дочернего объекта юзать класс кастинг
Почти. Во-первых, такого приведения типов в питоне нет. Во-вторых, если тебе нужно для ориентации между типами-наследниками знать названия этих типов, это значит, что ты применяешь наследование/полиморфизм неправильно. При правильном применении ты один раз решаешь, какой тип-потомок использовать, и дальше работаешь с ним абстрагируясь от подробностей: http://pastebin.com/qmC4SLC6
> нужный пакет с CRC хуемае
А зачем? Контрольные суммы есть и в UDP, и в IP, и в Enthernet, и в 802.11.
>во-вторых где именно (чем?) парсить входящие данные?
Что касается "чем" - бинарные данные парсятся модулем стандартной библотеки struct. Модуль ctypes будет полезен, если нужно работать с библиотеками с интерфесом на Си.
Что касается ООП вообще - пистон это многопарадигменный язык. Ты можешь написать все в процедурном стиле, а когда поймешь, что к чему в коде, можешь перейти на построение иерархии классов.
У фласка хорошая документация. Есть ли какие-то причины, по которым ты не можешь ее использовать? http://flask.pocoo.org/docs/0.12/
Приведи полный тест с твоим классом, результат которого тебя не устраивает.
>ну это внутренние чексуммы пэйлоада поверх UDP же, сам же говоришь что они есть и в IP и в эзере - на каждом уровне свои
Ну это да. Просто подумал, в айпи контрольная сумма покрывает только заголовок айпи. В контрольной сумме удп покрывается заголовок удп и полезная нагрузку удп. Вроде как все покрыто. Почему все это есть поверх езернета, где FCS покрывает всю передачу, еще понятно - не везде езернет используется и в WAN-линках проверок на втором уровне может и не быть...
блять ипполит, вендор так прописал в спеке к железке, я если б даже оче не хотел - не смог бы отказаться!
А, ок. Я твой первый пост даже не читал полностью.
Нужно загрузить файл на сайт используя urllib.request.
Содержимое файла передается в адресной строке то бишь GET'ом.
Все предельно просто если бы не следующие жалобы пикрелейтед
Файл - это Cookies хромовский
Какие будут идеи?
Если операция "Наебать тех, кто хочет взламывать игры одним exe на деньги и золото" пройдет успешно я все что угодно скину
((((((((((((((((
Спасибки за помощь, все решилось небольшим изменением скрипта который файлик ждал + вместо корявой urllib.request я лучше requests возьму, она все отправила, размер не изменился
ща потестю и скину скрины)
2) Почему с Линуксами по умолчанию поставляется питон 2.7, а не какой-то из 3-их?
Очень важно получить объективный ответ.
Алсо, питонотред вроде есть уже, но он тухлый - да.
>Почему с Линуксами по умолчанию поставляется питон 2.7, а не какой-то из 3-их?
вроде идея в том, что 2.х имеет больше либов, чем 3.х, алсо больше скриптов на 2.х чем на 3.х, по этому 2.х считается более нужной, чем 3.х
Но веб-макаки ссут в уши что везде третий питон уже используют, обобенно для джанги. Хуй знает кому верить. Склоняюсь к тому что та работа, которую скидываю на аутсорс в страны СНГ связана больше со 2-ым питоном, ибо легаси-проекты в основном, от поддержки которых отказалисб эльфы. Опровергните, если мои предположения не соответствуют действительности.
Счастлиый трипл не даст соврать.
Потому что чтобы показать ошибку, мне придется написать нормальный вывод в __str__, а не return("I'm going to do it later").
Ты (или не ты, не знаю) сказал, что это даунская ошибка. Почти наверняка так и есть, на питоне я начал программировать недели 3 назад, не удосужился прочитать сколь-нибудь серьезную книгу и просто сел писать алгоритмы на строках бор мне нужен для Ахо-Корасика. А если ошибка даунская, то любой вменяемый погроммист мог бы просто ответить: "Ты накосячил в таких-то строках, вот что ты делаешь %коротенький пример с ошибкой%, а вот как надо: %Коротенький пример без ошибки%".
В общем, надо вместо классов написать обычный код и методом тыка проверять, какое исправление окажется верным.
Спасибо, няша.
>1) Если анон веб-макака, то почему выбрал питон, а не руби?
Как-то я прикинул, что поуниверсальней будет. А руби - это рельсы, в основном и кроме веба на них особо ничего и не пишут.
>2) Почему с Линуксами по умолчанию поставляется питон 2.7, а не какой-то из 3-их?
Смотря какие линуксы. В арче 3 питон по умолчанию уже давно. В новой, убунте, кажется, тоже теперь 3 версия.
>>945777
>Но веб-макаки ссут в уши что везде третий питон уже используют, обобенно для джанги. Хуй знает кому верить.
Использую Django и Python 3, наверное, с версии 1.7 - не помню, чтобы были какие-то проблемы. Все нужные сторонние либы уже давно есть для 3-ей версии. Django 2.0 (выйдет в декабре) вообще будет только Python 3.5+ поддерживать. А сам Python 2 перестанут поддерживать через 3 года. Какой смысл вообще на нем сейчас начинать новый проект?
Ангельский на недостаточно хорошем уровне чтобы всю инфу и магию понимать.
https://2ch.hk/pr/res/945863.html (М)
https://2ch.hk/pr/res/945863.html (М)
https://2ch.hk/pr/res/945863.html (М)
https://2ch.hk/pr/res/945863.html (М)
https://2ch.hk/pr/res/945863.html (М)
https://2ch.hk/pr/res/945863.html (М)
Это копия, сохраненная 9 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.