LINUX.ORG.RU

Решил изучить python

 ,


2

3

Решил изучить python. До этого фигачил только скрипты на баше. Нашел задачку. написать црмку и связать ее с asterisk. Стоит ли начинать изучение Python с Джанги?


Ответ на: комментарий от Centrin0

сам себе придумал. не люблю абстрактные задачки.

tits
() автор топика

сколько не пробовал, так и не смог придумать задачу для джанги, которую нельзя было бы решить гораздо проще на bottle. как только начинаю по куче файлов носиться *там поправь, там исправь*, так сразу плачу. так и обхожусь без джанги

buratino ★★★★★
()
Ответ на: комментарий от buratino

ну джанга вроде в вакухах светится. А bottle хз

tits
() автор топика
Ответ на: комментарий от buratino

Можешь попробовать ImportD. Архитектура фласка с бибилиотеками от джанги (D is for Django). Но для продакшена, конечно, не подойдет ибо пилится одним человеком и я нашел пару косяков в совместимости с новыми версиями библиотек (руками быстро поправил, но сколько таких можно ещё найти )

Dred ★★★★★
()

Питон глубже чем кажется, генераторы, корутины, любовные отношения с коллекциями в функциональном стиле, метапрограммирование, e.t.c. Ты разберись что тебе нужно, хорошее глубокое понимание концепций питона или поверхностное знание на уровне восприятия синтаксиса, написания простых итеративных скриптиков и т.д. К сожалению не все можно так просто взять и освоить поставив себе простенькую задачу. Для глубокого понимания можешь изучить лекции CS center если они есть в публичном доступе(там у них не так тривиально достать, если на ютуб не выложили).

plotnikovanton
()
Ответ на: комментарий от plotnikovanton

Так как я шива-админ-эникей. То мне нужен python, что бы я смог с ним спокойно в qa, devops, и в разработку.

tits
() автор топика
Ответ на: комментарий от tits

оставить все эти фреймворки, и делать ручками и задачу выбирать правильную. Как ни странно правильно выбранная задача тоже влияет на результат. Поищи где то есть задачи чисто для питона. А если тебе нужно именно фреймворки изучать, то это дело другое.

gssomi ★★
()

На джанго можно сделать только сайт для джанго©. Не бери джангу, лучше что-то простое. И бери сразу питон 3.5

ggrn ★★★★★
()
Последнее исправление: ggrn (всего исправлений: 1)
Ответ на: комментарий от gssomi

для веб на питоне ручками? можно, но ЗАЧЕМ? когда есть ВСЁ, от мегаминимального bottle.py до чего-то тяжёлого и сурового

buratino ★★★★★
()

я вообще python выучил случайно, по туториалу от bottle.py. причём, со своим старческим склерозом я вообще не могу не то, чтобы что-то выучить, но даже книжку почитать или кино посмотреть мне восприятие не позволяет - мозг отключается через несколько минут.

а python как-то сам выучился, при этом первые два сайта, причём со много чем, я написал ВООБЩЕ не зная python, даже не зная, как там hello world написать... естественно, книжек никаких не читал, всё как-то само в руки отрывками попадалось. это уже потом, для общего образования, полистал какие-то весёлые книжки, чтобы посмотреть, насколько я знаю то, что в них написано.

и ничё, пишем помаленьку :) в общем, даже если ты не хочешь изучить python, он сам тебя изучит :)

buratino ★★★★★
()
Ответ на: комментарий от buratino

я вообще не могу не то, чтобы что-то выучить, но даже книжку почитать или кино посмотреть мне восприятие не позволяет - мозг отключается через несколько минут

А, ну это многое объясняет в вашем поведении.

Deleted
()
Ответ на: комментарий от gssomi

Дык он ж админ, а не веб-программист.

- возьмите кирпич, сбейте им самолёт противника!
- но как?
- но вы же коммунист!
- (ломает кирпич надвое) я собью им два самолёта противника!

buratino ★★★★★
()

Нашел задачку. написать црмку и связать ее с asterisk

Что-нибудь попроще взял бы для начала, без веба

Стоит ли начинать изучение Python с Джанги

Неееееет. Джанга очень сложная на самом деле.

qI__Ip
()
Ответ на: комментарий от gssomi

а я не говорю, что ему нужно django. я не знаю, кому оно нужно. но bottle.py изучить не помешает.

buratino ★★★★★
()
Ответ на: комментарий от tits

Но зачем вам подправлять то, что написал кто-то другой кривыми руками. Если вы можете сами написать для себя то, что нужно?

gssomi ★★
()
Ответ на: комментарий от tits

во-во. а для bottle.py я код даже в бумажке на тетрадке писал :) последний раз до этого код в тетрадке я писал для ZX Spectrum на Бейсике в начале 90-х :)

buratino ★★★★★
()
Ответ на: комментарий от gssomi

он вообще про другое говорит - про то, что createproject/createapp создаёт уже кучу кода, и его не пишешь, а подправляешь

самому всё это писать - бесполезно. ну, кроме, как уже выше показали, importd

buratino ★★★★★
()

И вообще, неужели вам легче прочитать доки по Джанго, чем доки по самому Питону?

gssomi ★★
()
Ответ на: комментарий от buratino

про то, что createproject/createapp создаёт уже кучу кода

и кучу ненужного говна.

Ну, если человеку так легче работать то да. Можно все что угодно заюзать.

gssomi ★★
()
Ответ на: комментарий от gssomi

и кучу ненужного говна.
Ну, если человеку так легче работать то да. Можно все что угодно заюзать.

ещё раз. речь о разности ПОДХОДОВ. и пока в том, что подход django хороший, ещё никто не сказал :) но все говорят, что он ДРУГОЙ

buratino ★★★★★
()
Ответ на: комментарий от gssomi

оооо нашел где я писал на Pythonе не зная python И то более половины кода копи-паст. Это было единственный раз:

#!/usr/bin/python
import random
import sys
def f_gen_passwd(count_char):

    arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', \

    'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B',\

    'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',\

    'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6',

     '7', '8', '9', '0']



    passw = []

    for i in xrange(count_char):

       passw.append(random.choice(arr))

    return "".join(passw)
def encodePassword(password, key):
    """
    // psi-0.12/src/common.cpp:113:QString encodePassword(const QString &pass, const QString &key)
    QString encodePassword(const QString &pass, const QString &key)
    {
            QString result;
            int n1, n2;

            if(key.length() == 0)
                    return pass;

            for(n1 = 0, n2 = 0; n1 < pass.length(); ++n1) {
                    ushort x = pass.at(n1).unicode() ^ key.at(n2++).unicode();
                    QString hex;
                    hex.sprintf("%04x", x);
                    result += hex;
                    if(n2 >= key.length())
                            n2 = 0;
            }
            return result;
    }
    """
    if len(key) == 0:
        return password

    result = u""
    for offset, char in enumerate(password):
        x = ord(char) ^ ord(key[offset % len(key)])
        result += "%04x" % x
    return result

password = f_gen_passwd(8)
print password
# jid = raw_input('')
# comp = raw_input('')
# ip = raw_input('')
jid = format (sys.argv[3] )
print jid
psipass = encodePassword(password, jid)
my_file = open('user', 'a')
text_for_file = format (sys.argv[1] ) + ' ' + format (sys.argv[2] ) + ' ' + format (sys.argv[3] ) + ' ' +   password + ' ' +  psipass + '\n'
my_file.write(text_for_file)

tits
() автор топика

Стоит ли начинать изучение Python с Джанги?

Если хочешь знать джангу, то да. В остальных случаях (то есть, если хочешь знать питон), однозначно нет. Разберись, что тебе нужно, фреймворки или питон.

И плюсую bottle.py

Psych218 ★★★★★
()

у меня есть реальная задача с астериском, нужен юай дайпплана и дайлер. Я правда в сторону го смотрел. Если интересно могу поделиться

paulwine
()
Ответ на: комментарий от tits

если коротко то: 1. компилируемый язык который изпользовать так же просто как и интерпретируемый. (даже проще, все компилится в один бинарник и под любую ОС, не надо вм) 2. статическая типизация 3. есть либы и примеры для работы с ARI/AGI/AMI.

а вообще: https://www.infoq.com/presentations/Go-Google

paulwine
()

Я не въехал, куда для твоей задачи надо жангу засовывать. Бери Python 3.5, какой-нибудь bottle.py или flask и дело в шляпе :)

slaykovsky ★★★
()

Нужно читать книги для начала. Для отправной точки пойдёт - «A Byte of Python»(есть русская версия). Потом классика Лутца - «Изучаем Python», желательно последнее издание.

После такого начала можно будет и к практике переходить.

th3m3 ★★★★★
()
Ответ на: комментарий от buratino

Он про то, что можно взять компилятор го для оффтопика, и скомпилировать его хелло ворлд, который он писал под онтопиком.

slaykovsky ★★★
()
Ответ на: комментарий от slaykovsky

а, я думал, что универсальные бинарники. а то у меня gogs собрался на 32 мб бинарник, в amd64/6.0, а в amd64/5.9 не работает :)

а что, в других языках нельзя, что ли? мой проект на python2 работал на haiku, aros, win, linux, openbsd, netbsd - вообще, где есть python 2.5-2.7. :)

buratino ★★★★★
()

Плюсую го. Он уже довольно зрел чтобы его использовали широкие массы.

anonymous
()
Ответ на: комментарий от tits
import string
from random import choice
def f_gen_passwd(count_char):
    return "".join([choice(string.digits+string.ascii_letters) for x in range(count_char)])
Yur4eg ★★
()
Ответ на: комментарий от buratino

Я могу сказать, что подход джанги - хороший, т.к. на других фреймворках в итоге всё-равно получится джанга, через полгода. К тому же, вообще не вижу смысла в этих ваших боттлах, т.к. на фласк писать ничуть не дольше, а код во фласке идеально читабелен и вылизан, к тому же для фласка уже куча батареек написана.

menangen ★★★★★
()
Ответ на: комментарий от buratino

Тут дело в том, что тебе с сорцами надо интерпретатор таскать с собой, если его нет. А в го типа просто бинарь. Но он все равно г*вно.

slaykovsky ★★★
()
Ответ на: комментарий от slaykovsky

тока питон в haiku и aros есть, а go - нет :( но всё равно он мне не нужен - главное, что gogs собирается под debian/armhf и под openbsd/amd64, большего пока не нужно :)

buratino ★★★★★
()
Ответ на: комментарий от buratino

go - нет

Я люблю питон, но если пишешь на go - поставить не проблема, а распространять этот один несчастный файлик-бинарник проще простого. С питоном все сложнее в этом плане

Например сейчас сталкиваюсь с серверами где питона нет, а ставить - лишняя морока

Dred ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.