Задать вопрос
  • Django, как расширить юзера?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Зачем это всё? До 1.5 создаёшь профиль
    class UserProfile(models.Model):
        user = models.OneToOneField(User)

    и прописываешь в settings.py
    AUTH_PROFILE_MODULE = 'UserProfile'

    С 1.5 создавай полностью свой класс пользователя или наследуй от User и прописывай в settings.py
    AUTH_USER_MODEL = 'myapp.MyUser'
    Ответ написан
    4 комментария
  • Таблица отношений пользователей. Как правильно?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    Правильная таблица отношений:
    Отмечу на всякий случай никаких id(самих записей) не должно быть! все выборки по ключам приведенным ниже
    user_id|friend_id|relation_id|date(timestamp)
    222|444|1|ts
    444|222|2(не просто дружит а например встречается, женат, и т.п. для каждого случая свой уникальный id)|ts

    первичный ключ составной (user_id,relation_id)
    дополнительный ключ (friend_id, relation_id)

    если кидают заявку создается 1 запись user_id>friend_id>0

    проверка на поступившие заявки friend_id(current_user_id) | relation_id = 0

    подтверждение: (должна быть транзакция!) то есть если отвалится один из запросов нужно вернуть все как было.
    на MyISAM ручками(средствами PHP проверяем). На innodb делаем транзакцию средствами БД.
    вписываем строчку с подтверждением курент_юзер > фриенд_ид > relid - 1 и обновляем основную заявку до единицы. Повторюсь если одна из команд не пройдет надо все откатить.

    если отказ то удаляем основную заявку из базы.

    по поводу дополнительных отношений:
    кинуть заявку можно только пользователю у которого взаимно стоит 1 и проверка собственно на заявки
    friend_id(current_user_id) | relation_id >(больше) 1.
    Остальной алгоритм тот же. одновременно у 1 пользователя может быть только одна запись с отношением больше 1 (желательно, это как индикатор именно личного отношения, для группировки друзей лучше все же завести отдельное поле)
    Описание с реальной базы данных на 30 миллионов пользователей.
    Ответ написан
    Комментировать
  • Как ухватить заказ с фриланса?

    Nidora
    @Nidora
    Бонус 200 руб всем новым клиентам! VDS - 149 руб
    Не всегда нужно находиться только на биржах, ищите заказы на IT форумах. Поверьте, там заказов тоже много бывает (только фильтруйте заказчиков).
    Ответ написан
    Комментировать
  • Продолжить изучать Python или начать учить PHP?

    @ikeagold
    Кодю на php, но в твоем случае я бы подальше держался от 1c (ответ FanatPHP тоже тому подтверждение), потому лучше змей) та и после таких слов "Всё свободное время я посвящаю кодингу на нём" все равно потом будешь по нему скучать и по ночам кодить на питоне и в итоге скоро охватит депрессия и тебе в любом случае прийдется вернуться на свой любимый язык :D
    Ответ написан
    2 комментария
  • Продолжить изучать Python или начать учить PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос не о программировании.
    Жадный и тупой работодатель в айти - явление, увы, не редкое.
    Но, к счастью, не настолько распространенное, как в других областях.
    Так что найти того, которому не важен паспорт - не проблема.

    Но дело не только в работодателях, дело еще и в самих технологиях.
    Учитывай, что:
    1. Спрос на джуниоров в питоне на порядок меньше, чем на пхп
    2. 1C Битрикс - это НЕ пхп. Это адская поделка, не совместимая больше ни с чем. Связываясь с ней, ты должен понимать, что не будешь развиваться в профессиональном плане, даже в РНР - весь полученный опыт ты сможешь использовать только с тем же битриксом.

    Вывод - я бы не стал переходить.
    Ответ написан
    3 комментария
  • Как стать Magento разработчиком?

    opium
    @opium
    Просто люблю качественно работать
    1)Год активной разработки + сертификация.
    2)да зенд надо знать конечно на пятерочку.
    3)БОльшой проект девелопим 6-12 месяцев.
    4)от 5 до 50 баксов в час.
    5)Суть сертификата не в весе, а в ваших знаниях.
    6)Зачастую все учитывается в магенто и уже внешние системы с ним интергрируются. А так да много с чем надо интегрировать.
    7)Заказов в сто раз меньше, скажу что сборка федюка зло.

    Много заказов всего лишь по одной причине на магенто больше всего интернет магазинов в мире.
    Ответ написан
    4 комментария
  • Как стать Magento разработчиком?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Аналог 1С имеется.
    Magento - по моему мнению лучшая система для торговых площадок. Много всего из коробки, много готовых моделий по работе с товаром и пользователями.
    Так же имеется множество дополнений к системе, какие то бесплатные, какие то платные.
    Я пользовался только 1С и мейлчимпом.

    Zend знать обязательно, т.к. весь год на нем. Там везде идет работа с коллекциями zend.
    В российских реалиях magento использовать можно и нужно. Пример butik.ru

    Если честно, не понимаю тех кто предлагает др. убогие продукты типа всяких opencart.
    Точнее, понимаю - просто они не могут познакомится с magento, для этих людей слишком тяжело.
    Ну и как причина - русские люди не любят тратить деньги на хорошие лицензионные продукты. Если глянуть на запад, то там почти везде magento.
    Ответ написан
  • Обязательно ли необходим javascript для того, чтобы работать с angularjs?

    Bandicoot
    @Bandicoot
    Вась-программист
    Ну конечно, чтобы работать с фреймворком или библиотекой на каком-либо языке программирования, нужно знать и сам этот язык. Только тогда работа станет эффективной
    Ответ написан
    Комментировать
  • Обязательно ли необходим javascript для того, чтобы работать с angularjs?

    kompi
    @kompi
    nullstack devoops
    В любом случае js лучше выучить. Как минимум, чтобы понимать, почему что-то работает нет так как запланировано (часто в силу особенностей js).

    PS Если в jquery можно обойтись их api с минимумом чистого js, то во многих фреймворках придётся часто использовать ванильный js.
    Ответ написан
    Комментировать
  • Как перенести крупное PHP приложение на Python?

    @bromzh
    Drugs-driven development
    Самое простое - взять Flask и SQLAlchemy. Прикрутить ОРМ джанги к готовой базе труднее, чем в SQL. Да и сам фласк не навязывает свои решения, он модульный. Нужна админка - ставь отдельно. Аутентификация тоже отдельно. ОРМ отдельно, и т.д.

    А инфы мало, потому что сам фреймворк маленький. В документации фласка всё есть. Для всяких расширений доже документации обычно хорошие. Мне обычно хватает инфы из доков.
    Ответ написан
    Комментировать
  • В чем разница Django между разными версиями питона?

    @bromzh
    Drugs-driven development
    Будут (возможно) пробемы с юникодом. Например, для имён моделей в 2.7 надо перегружать __unicode__, а в 3-м - __str__. Ну и не стоит ещё забывать, что http будёт слать всё в однобайтовой кодировке, что в 3-м питоне обозначается как тип bytes, а не str. Поэтому, иногда придётся делать decode.

    Например, во фласке в 3-й ветке, тестовый клиент сохраняет данные в response-объекте в виде bytes, а JSON умеет только со строками работать (которые в 3-й теперь только юникод). Надо декодировать. Хотя в самом фреймворке (не в тестовом клиенте) не надо так делать, он сам декодит как надо.

    Ну и почитай основные отличия веток: print теперь функция, методы словаря iteritems, iterkeys, itervalues упразднены, так как итераторы теперь используются по-умолчанию (остались только items, keys, values). Некоторые либы (в том числе urllib) поменяли структуру, так что некоторые модули надо будет импортить по-другому. Ну и так далее.
    Ответ написан
    Комментировать
  • Как "прикрутить" простую авторизацию к flask-admin?

    Tark
    @Tark
    Pyramid'альный мир
    Ну... Первое, что приходит в голову, это сохранение данных для входа в переменных.

    def logged_in():
        # в сессии будет храниться информация о том, что пользователь вошёл
        return session.get('logged')
    
    # от этого класса должны наследоваться все классы админки - кроме индекса
    class MyView(BaseView):
        def is_accessible(self):
            return logged_in()
    
        def _handle_view(self, name, **kwargs):
            if not logged_in():
                # делать редирект в некоторых случаях не стоит
                return self.render('admin/login.html')
    
    class AdminIndex(AdminIndexView):
        @expose('/', methods=['GET', 'POST'])
        def index(self):
            if request.method == 'POST':
                frm = request.form.get
                login = frm('login')
                password = frm('pass')            
    
                # проверяете введённые данные...
                if ...
                    session.update({обновляете сессию})
                    session.modified = True
                    return self.render('admin/index.html')
                else:
                    return self.render('admin/login.html',
                                       error=u'Ошиблись паролем?..')
            # уже вошёл, но перешёл на /admin/
            if logged_in():
                return self.render('admin/index.html')
            return self.render('admin/login.html')
    
        # остальные методы класса


    А с чем возникли сложности?
    Ответ написан
    Комментировать
  • Как перенести крупное PHP приложение на Python?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Почему бы просто не зарефакторить проект? Как по мне от этого толку будет явно больше с учетом ваших требований. И это не может быть сложнее переноса на python.

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

    Если же так считает руководство - пусть они и переписывают. Достаточно просто набросать риски на бумажке сходить к ним и сказать "это будет в 3 раза дороже" и возможно они одумаются. Ну а коль уж переписывать всеравно заставят то можно спокойно менять структуру всего и вся. Риски от этого не увеличатся сильно уже.

    Я бы пытался настаивать на постепенном развязывании системы и рефакторинге с последующим переводом на Symfony2
    Ответ написан
    3 комментария
  • Как перенести крупное PHP приложение на Python?

    viktorvsk
    @viktorvsk
    Откуда уверенность, что поддерживать Франкенштейна будет проще, чем просто сложное приложение? И что значит "поддерживать"? Вам не хватает гибкости для дальнейшего расширения? Тогда однозначно затык не в языке или базе, а в структуре.

    Раскладывайте все по полочкам, выясните цели, а там уже посмотрите, может действительно будет выгоднее переписать с нуля.

    Не хотите даже структуру базы и работу с сессиями менять? Тогда все просто:
    1. Разработчиков Джанго меньше, чем разработчиков пхп (подставьте ваш фреймворк)
    2. Разработчиков перепиленного под пхп джанго еще меньше, чем просто разработчиков джанго.

    Я бы может сказал, что в Rails есть некоторые возможности поизвращаться, что б поддерживать кастомные названия таблиц, структуры и т.д., но как-то не логично: использовать фреймворк (культуру, опыт и бестпрактис сообщества), что бы пойти против культуры, бестпрактис и опыта сообщества.
    Ответ написан
    9 комментариев
  • Черный экран при загрузке компа. Почему?

    Spetros
    @Spetros
    IT-шник
    У старых компов обычно электролитические конденсаторы дохнут. Т.е. на "включиться" их характеристик хватает, а на дальнейшую работу системы уже нет.
    В первую очередь нужно проверить с заведомо исправным БП. Если не поможет, осмотреть мат.плату на предмет вздувшихся конденсаторов.
    Ответ написан
    Комментировать
  • Возможно ли совместное использование библиотек Jquery tools и Jquery?

    laska
    @laska
    PHP/JS разработчик
    Сначала загружайте jQuery, потом jquery.tools. То есть вот примерно так:
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="/media/jquery.tools.min.js"></script>

    Но как правило никакого смысла загружать jQuery нет, он уже есть в jquery.tools, однако можно скачать и без него, поэтому попробуйте и так, и так.

    Но использовать такую старую версию jQuery и jquery.tools нельзя ни в коем случае, если это новый проект. Используйте новые инструменты. Это можно только если вы поддерживаете старый сайт, и с новыми версиями оно не заводится.
    Ответ написан
    1 комментарий
  • С чего начать изучение php?

    @Stone-Studio
    Во-первых, надо знать основы программирования. Что такое цикл, переменная и т.д.
    Во-вторых, надо знать HTML & CSS на среднем или высоком уровне.
    В-третьих, надо развернуть локальный сервер для мучений и испытаний!
    В-четвертых, надо приобрести/скачать хорошую IDE. Лучшая - PHPStorm (ИМХО).
    В-пятых, надо подготовить Базу Данных. Я советую MySQL. Есть книги которые предполагают умение работы с Базами Данных, а есть те, которые Вас этому постепенно обучают. Если предполагает знание SQL, то сначала купите книжку с кратким курсом SQL.
    В-шестых, приобретите книгу. Я настоятельно советую всю серию Head First от издательства O'Reilly - Изучаем PHP и MySQL. Там внятно объяснят все! Без замудрения! Просто и понятно от А до Я. Книга как уже понятно расчитана что Вы не знаете MySQL, SQL. Самое главное отличие от ВСЕХ книг по PHP - она написана интересно. Вы сможете написать первый код после 2 страниц. Все объясняется на ПРИМЕРАХ, тобишь на приближенных к реальности Проектах. Все рассказывается на картинках, якобы беседах между функциями PHP. Кучу упражнений!
    Вы сможете закрепить свои знания и поймете что Вы об этом не УЗНАЕТЕ, а будете ЗНАТЬ! Я видел много книг, но эту книгу считаю лучшей.
    В-шестых, Вам нужно любить Программирование! Любить кодить! Любить то, что Вы делаете. Полюбить PHP.
    -------------------------------------------------------------------------------------
    Лучшая книга по PHP - www.headfirstlabs.com/books/hfphp
    Книга по SQL если вы не выберите книгу выше - www.headfirstlabs.com/books/hfsql
    Книга по HTML и CSS - msiter.ru/knigi/dzhon-dakett-html-i-css-razrabotka...
    Еще книга по HTML и CSS - www.headfirstlabs.com/books/hfhtml
    Сервер для пыток (там-же можно работать с Базами Данных) - open-server.ru
    Лучшая IDE (скачать) (ИМХО) - rutracker.org/forum/viewtopic.php?t=4830573
    Лучшая IDE (купить) (ИМХО) - www.jetbrains.com/phpstorm
    Ответ написан
    Комментировать
  • Смена специализации, как?

    @ylebedev
    как по мне, тут главное страсть к программированию.
    Придумайте себе проект который вы хотели бы сделать, и делайте на досуге.
    Или найдите клиента под свой проект, дабы интересное с деньгами совместить.

    В начале я занимался дизайном сайтов, рисовал макеты и т.д.
    Потом перешел на сис. админа. (это отдельная тема развития от win до linux)

    а начинал с Perl, особо ещё даже не подозревая что такое Linux.
    Просто сам освоил и писал сайты, каталоги, гостевые книги, чаты.

    Потом услышал про php, в принципе почти одинаковые языки были.
    Перешел на php, начал писать применять.
    Сайты делать.

    Потом попросили сделать в клинике - мед. систему. начал делать,
    заодно изучил весь JS, MYSQL, CSS3, ну html понятно - оно простое.

    Писал своё, писал систему, ещё кто то попросил сайт доделать.
    Так и идет.

    Вот недавно добрался до Фреймворков, понимая то что на чистом языке писать больше и не особо безопасно стало.

    Главное чтобы была страсть. А резюме вы себе сделать успеете.
    А насчет сторон познания, сейчас столько всего выходит нового, что нифига не успеваешь следить, даже супер про. пока они пишут на одном - уже 10 новых вышло продуктов.
    Можно даже не морочить голову. Главное результат!

    Дорога открывается под ногами идущего.
    Ответ написан
    Комментировать
  • Как в phonegap приложении общаться с сервером?

    ali_aliev
    @ali_aliev
    Разработчик на Django/Python, JavaScript
    Так же как и через броузер. Отправляем запрос от phonegap приложения серверу, получаем JSON ответ, отображаем данные на клиенте.

    UPD
    простенький пример
    samcroft.co.uk/2012/posting-data-from-a-phonegap-a...
    Ответ написан
    2 комментария
  • Как в phonegap приложении общаться с сервером?

    mmmaaak
    @mmmaaak
    Я даже текст вопроса не менял lmgtfy.com/?q=%D0%9A%D0%B0%D0%BA+%D0%B2+phonegap+%...
    Ответ написан
    Комментировать