• Из-за большого количество посетителей сайт поплыл, что делать?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Как исправить проблему, кроме как переделывать на Nodejs?

    Контролировать запросы к БД. Не создавать повторных идентичных запросов без нужды. Повторно использовать полученные данные. Использовать кэширование данных. Оптимизировать структуру БД, включая индексы.

    Есть ли решения кроме Nodejs?

    Проблема у вас не в PHP.

    Как сделать чтобы на сайт могли зайти неимоверное количество людей и чтобы сайт выдержал нагрузки

    Использовать рекомендации, которые я и другие вам написали.

    Правда жизни: Прочитал книгу "Как изучить PHP за 20 минут" - сделал сайт. Все классно, но если заходит больше 3х человек сайт перестает работать! PHP - га**о! Ухожу на NodeJS\Ruby\Python\*...
    Ответ написан
    2 комментария
  • Как получить значение в классовом представлении?

    @marazmiki
    Укротитель питонов
    Где получить? В шаблоне, в логике вьюхи? Если внутри вьюхи, то в любом методе, включая пресловутый get_context_data(), можно обратиться к объекту через вызов метода get_object():
    def get_context_data(self, **kwargs):
        author = self.get_object()
        kwargs.update(last_accessed=author.last_accessed,
                      name=author.name)
        return super().get_context_data(**kwargs)
    Если речь о шаблоне, то по умолчанию переменная с объектом называется незатейливо — object. Соответственно. в тексте шаблона можно писать
    Hi, {{ object.name }}, you're seen at {{ object.last_accessed }}
    Если не устраивает название object, можно указать имя этой переменной через атрибут context_object_name вашего CBV:
    class AuthorDetail(DetailView):
        context_object_name = 'author'
        model = Author
        template_name = 'author_detail.html'
    и можно будет писать в шаблоне:
    Hi, {{ author.name }}, you're seen at {{ author.last_accessed }}
    Ответ написан
    1 комментарий
  • Почему не запускается Django в virtualenv через Dropbox?

    sim3x
    @sim3x
    Хочу копаться с проектом на разных компах.

    есть воркфлоу с использованием внешнего репозитория - не нужно изобретать велосипед, тем более с дропбоксом
    git commit
    git push <remote host>
    
    ...
    git pull
    pip install -r requirements.txt
    ./manage.py runserver
    Ответ написан
    Комментировать
  • Как вы освоили шаблоны проектирования?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Когда начался бум и восторг вокруг концепции паттернов проектирования, выкрики "GoF рулит!" и так далее, я озадачился тем, чтобы понять, что за шум?

    По своей сути - паттерны - это обычные шаблоны проектирования. Заимствовано у обычных архитекторов (те, которые зданиями занимаются). Суть проста. В работе архитектора есть задачи, которые удобно решать одним или несколькими проверенными способами.

    По аналогии в проектировании софта имееются свои архитектурные вопросы вроде разбиения приложения на компоненты/модули, организации зависимостей между ними, распределение функциональных обязанностей и т.п. Как ловко подметили авторы книжки из этой банды четырех (The "Gang of Four") в нашей индустрии можно также выделить некоторе количество типовых шаблонов, проверенных на практике, чтобы тем самым не наступать на уже обойденные другими грабли.

    Суть постижения паттернов заключается в том, чтобы осознать в каких ситуациях правильно использовать тот или иной шаблон проектирования и правильно его применить. Важно понимать при этом, что формула "чем больше паттернов я придумал засунуть с свое приложение - тем лучше" - неверная. Использовать их следует с умом и только там, где они действительно нужны. Кроме того, патерны устаревают, превращаются в анти-паттерны по мере развития технологий (которые в нашей области делают это более чем стремительно). Ну и, конечно, есть шаблоны общепринятые и есть те, которые успешно используются в узких кругах.
    Тут тоже надо понимать, что это не догма какая-то - типа 10 священных паттернов проектирования :)

    Чтобы понять, где они нужны - нужен опыт. То есть (я лично убежден), что учиться на ошибках других может только крайне ограниченное число людей. Все остальные обязаны набить шишки самостоятельно :)

    К изучению паттернов я дам такие советы:

    1) Прочтите пару книжек, чтобы понять, что это за зверь и с чем его едят. Можно взять одну из вариаций книжки GoF или какие-то производные для вашего стека разработки - познакомиться с основными популярными шаблонами. Сразу после этого я посоветовал бы прочесть книжку "Горький вкус Java" (Брюс Тейт) - она про анти-паттерны. Это чтобы понять обратную сторону их использования. Мне понравилась и уберегла думаю от многих проблем. То что на примере Java - неважно. Речь идет о шаблонах, так что представителям других стеков (к которым отношусь и я) будет просто понять все равно.

    2) Постарайтесь осознать, доводилось ли вам сталкиваться в работе раньше с чем-то, что является или могло бы легко стать одним из шаблонов. Где получалось применить концепт верно, а где из-за этого только проблемы были.

    3) В новых проектах, держите в голове полученные по шаблонам знания - вдруг пригодятся.

    В конечном итоге, знаете ли вы паттерны, или нет - с опытом приходит понимание того, какая архитектура будет правильная, а какая - нет. Как сделать удобно, а как нет. И неважно, какими паттернами это обозвать.

    Я даже пожалуй посоветовал бы подойти к освоению айтишной архитектурной мудрости с другой стороны - со стороны нефункциональных требований или так называемых "-ilities" - их много. Тут вот описаны 7 штук. А вообще их десятки.

    Среди прочих - такие как maintainability (простая поддержка кода), scalability (масштабируемость), extensibility (расширяемость), availability (устойчивость ) и тп. Если, проектируя свое приложение, вы задумываетесь об этих "илитях" и стараетесь их обеспечить в необходимом проекту объеме, то, как правило, ваше приложение будет иметь отличную архитектуру. При этом шаблоны проектирования в ней появятся лаконично сами собой.

    Поскольку идея использовать шаблоны - это попытка опытных программных инженеров дать десяток готовых рецептов менее опытным, чтобы пока они не научились варить "вкусную кашу", они не варили уж что-то совсем несъедобное. :) Учитесь "готовить", разбирайтесь в -ilites :) и все будет хорошо
    Ответ написан
    6 комментариев
  • Как реализовать привязку модели User к постам?

    syschel
    @syschel
    freelance/python/django/backend
    1. У вас бы клавиатуру отобрать за заглавные буквы в именах переменных. Обязательно к прочтению pep8!
    2. Выполните миграцию
    python manage.py makemigrations
    python manage.py migrate

    3. Откуда взялась такая модель User у вас? Есть же базовая, с тем же названием, а у вас она не переопределена по правилам. Без проблем ловить ошибки на конфликтах имён.
    4.
    «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте» © Стив Макконнелл
    Ответ написан
    5 комментариев
  • Какое направление выбрать для смены карьерного пути?

    @Elizavetta
    Matroid: gamedev/js-разработка
    В первую очередь надо исследовать возможности оставаться в рамках маркетинга, для этого заняться онлайн-маркетингом/веб/аналитикой, которые строг оговоря ко всему этому оффлайн маркетингу вообще никак не относятся, это совсем другие навыки и инструменты. Займитесь маркетингом в онлайне (например в нише e-commerce, интернет-магазинов, что более характерно для регионов), это последовательно. Что у нас в стране за традиция такая обязательно работать не по профессии?

    Что касается резкого перехода в программирование, сначала нужно выяснить, сможете ли( хотите ли) Вы в принципе программировать. Для этого нужно заняться абстрактными задачами, либо как вариант каким-то реальным проектом и проследить "реакцию организма".
    Принять жизненное решение, что вы теперь разработчик, ни разу не программируя до этого момента, Вы не можете в принципе, оно принимается после практики. И тут не уместны советы про начать фрилансить абсолютно.
    Ответ написан
    Комментировать
  • Какое направление выбрать для смены карьерного пути?

    Посмотрите в сторону онлайн маркетинга + ин. язык.
    1. Основная специальность остается та же.
    2. Ориентация в первую очередь на заруб. клиентов , через upwork к примеру
    3. Желательно кроме англ. еще какой нибудь европейский язык. В Европе бюджетный сектор этой услуги оккупирован индусами, а с ними конкурировать вполне возможно.
    3. В комплект так же просится SMO. В сторону SEO - не смотрите, тут каждый второй - уже спец.
    Ответ написан
    Комментировать
  • Какое направление выбрать для смены карьерного пути?

    s0ci0pat
    @s0ci0pat
    I'm Awesome
    Вполне можете работать по специальности.
    Ответ написан
    2 комментария
  • Как в DJANGO принять POST с другого сайта?

    MAKAPOH
    @MAKAPOH
    многостаночник
    Можно конкретно для этой вьюхи отключить csrf проверки. Для этого есть декоратор csrf_exempt.
    Ответ написан
    Комментировать
  • Как изучаем Python?

    @pollino
    На степике есть отличный курс для начинающих

    или вотЪ pythontutor.ru
    Ответ написан
    Комментировать
  • Где можно пройти стажировку в Спб верстальщик/фронтенд?

    @mamkaololosha
    Делай портфолио. Учи тонкости. Оптимизицию. Фронтенд сейчас очень жирное место. И работы очень много.
    Требования:
    знание HTML5 + одного из шаблонизаторов (slim, jade);
    CSS (sass, less, whatever...);
    Frameworks: React.js, необязательно, но желательно знание MVC фреймворков (Angular, Backbone), а также: FLUX, jquery, CoffeeScript;

    Тут в ходу целый набор технологий. Читай тематические форумы.
    Ответ написан
    Комментировать
  • Где можно пройти стажировку в Спб верстальщик/фронтенд?

    @FoxInSox
    1. hh.ru
    2. ищите вакансии фронт-энд разработчиков или верстальщиков
    3. в вакансиях находите почту компании или почту hr отдела или hr специалиста
    4. пишите на почту предлагая свои услуги и/или спрашиваете про стажировку

    ps детский сад.
    Ответ написан
    Комментировать
  • Как раздать права в админке Django?

    @deliro
    Правами. Они стандартные и при добавлении модели генерируются.
    Ответ написан
    Комментировать
  • Что выбрать MySQL или PostgreSQL?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    Будет много insert'от. (В день 5000 - 50000 добавлений)

    Это НЕ много для "в сутки" . в минуту - еще что-то, и то не особо впечатляет.
    Примерно 100 000 человек в сутки.

    это 4400 в час - тоже, далеко не самые впечатляющие цифры. Хотя посетитель посетителю рознь.

    резюмируя. тут скорее как с выбором дистрибутива/языка - в чем больше сами разбираетесь (или есть неплохой знакомый) - то и выбирайте. Что-то мне подсказывает опыт, что потянет что угодно. По первости - даже SQlite
    Ответ написан
    2 комментария
  • Стажировка C++ программистом в компании. Реально ли?

    opium
    @opium
    Просто люблю качественно работать
    Ну что вы такая ленивая скотина ну напишите одну игру и у вас уже будет опыт выше вашего джуниора
    Ответ написан
    Комментировать
  • Как узнать к каким сайтам\сервисам прикреплен Мой номер телефона?

    s0ci0pat
    @s0ci0pat
    I'm Awesome
    А как ты себе это представляешь?
    Ты зарегистрировался, к примеру, у меня на сайте. Я должен дать доступ к БД для всех желающих, чтобы они проверяли наличие некого телефона?
    Ответ написан
    2 комментария
  • Java android dev курсы от Geekbrains?

    s0ci0pat
    @s0ci0pat
    I'm Awesome
    У меня знакомый есть. Прошел курсы по Java на stepic.org и устроился программистом.
    Ответ написан
    2 комментария
  • Идеи приложений для начинающего разработчика под Android?

    sintez
    @sintez
    Например, анализ списка вызовов и смс и построение чартов на экране, где показывается кому чаще всего звоню-пишу.
    Далее можно усложнять - сохранять эти чарты в виде картинки и постить на стену/твит/инстаграмм/оправить другу по емейл.
    Сохранение всей этой статистики в локальной БД.
    Бэкап данных статистики в облако - например экспортить данные в json и класть куда-нибудь на Яндекс. Диск. Соответственно и возможность восстановления этой статистики.
    Бэкграунд-задачка которая в фоне смотрит обновления списка вызовов и СМС, пересчитывает статистику и складывает в базу.
    Показывать всякие нотификашки, например после успешного обновления статистики в фоне напистаь об этом.

    Этого уже будет достаточно, чтобы изучить приличный кусок АПИ Андроида =)
    Ответ написан
    Комментировать
  • Локализация имени аппликейшена в Django?

    Доступно начиная с django 1.7

    project/myapp/apps.py

    from django.apps import AppConfig
    
    class MyAppConfig(AppConfig):
        name = "myapp"
        verbose_name = "Моё приложение"


    project/myapp/__init__.py

    default_app_config = "myapp.apps.MyAppConfig"
    Ответ написан
    8 комментариев