• Какими средствами можно проанализировать нижележащие протоколы http, средствами django?

    un1t
    @un1t
    На уровне Джанги никак. Это нужно делать на уровне веб-сервера или фаервола или балансировщика. Смотря что у вас торчит наружу и непосредственно получает tcp трафик от клиентов.
    Ответ написан
    Комментировать
  • Как работодатель относится к девелоперам и qa, которые переходят из разработки игр в более традиционную область?

    un1t
    @un1t
    Есть два варианта.

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

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

    Если человек осознанно сделал выбор, это нормально. Если же ему пофигу где работать и он просто откликается на все вакансии - это фигня.
    Ответ написан
    Комментировать
  • Что выбрать - получить настоящий опыт разработки или продолжать изучать то, что нравится?

    un1t
    @un1t
    С опытом работы, пусть и на другом языке, работу найти легче чем без опыта. Работа это же не только ЯП, а еще и куча разных технологий, плюс опыт взаимодеийствия и процессы.
    Ответ написан
    3 комментария
  • Обработка POST запроса python?

    un1t
    @un1t
    А какой у вас веб сервер? nginx/apache?
    Вы можете посмотреть в сторону CGI, но nginx например это не поддерживает.
    Посмотри лучше в сторону WSGI.
    Если самому не охото данные руками парсить, лучше взять какой-то фреймворк. Если джангу не хотите, то посмотрите например на Werkzeug.
    Ответ написан
  • Можно ли сделать интернет-стартап не будучи ИТ-специалистом?

    un1t
    @un1t
    Вам нужен сооснователь с техническим бакграундом - тимлид (это такой кентавр который и программист и менеджер). Который в будущем займет у вас должность тех директора. Именно сооснователь, а не просто наемный сотрудник.
    Ответ написан
    4 комментария
  • Книга о том как правильно должен работать программист?

    un1t
    @un1t
    Чед Фаулер "Программист фанатик"
    Джоэл Спольски "Джоэл о программировании"
    Роберт Мартин "Идеальный программист"
    Том ДеМарко, "Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения"
    Том ДеМарко "Человеческий фактор. Успешные проекты и команды"
    Роберт Гласс "Факты и заблуждения профессионального программирования"
    Игорь Савчук "Отъявленный программист. Лайфхакинг из первых рук"
    Питер Сейбел "Кодеры за работой. Размышления о ремесле программиста"
    Хант Эндрю, Томас Дэвид "Программист прагматик"
    Ответ написан
    1 комментарий
  • Сколько подключений к Mongo можно держать в MEAN?

    un1t
    @un1t
    Если вы создаете соединение на каждый зарос то это не норма, и скоро все встанет колом.
    Если создается пул соединений и потом он используется, то это норм.
    Ответ написан
    Комментировать
  • Зачем goto в исходниках Python?

    un1t
    @un1t
    Стандартная практика обработки ошибок или освобождения ресурсов в Си. Обычно в таких случаях goto более удобен и читаем чем альтернативные решения.
    Однако в данном конкретном примере функция очень короткая и в ней нет множества ветвлений, поэтому конечно проще написать без goto, но видимо сила привычки или задел на будущее.

    Вот напиример функция из питона с более уместным использованием goto

    static int
    ast_type_init(PyObject *self, PyObject *args, PyObject *kw)
    {
        Py_ssize_t i, numfields = 0;
        int res = -1;
        PyObject *key, *value, *fields;
        fields = _PyObject_GetAttrId((PyObject*)Py_TYPE(self), &PyId__fields);
        if (!fields)
            PyErr_Clear();
        if (fields) {
            numfields = PySequence_Size(fields);
            if (numfields == -1)
                goto cleanup;
        }
    
        res = 0; /* if no error occurs, this stays 0 to the end */
        if (numfields < PyTuple_GET_SIZE(args)) {
            PyErr_Format(PyExc_TypeError, "%.400s constructor takes at most "
                         "%zd positional argument%s",
                         Py_TYPE(self)->tp_name,
                         numfields, numfields == 1 ? "" : "s");
            res = -1;
            goto cleanup;
        }
        for (i = 0; i < PyTuple_GET_SIZE(args); i++) {
            /* cannot be reached when fields is NULL */
            PyObject *name = PySequence_GetItem(fields, i);
            if (!name) {
                res = -1;
                goto cleanup;
            }
            res = PyObject_SetAttr(self, name, PyTuple_GET_ITEM(args, i));
            Py_DECREF(name);
            if (res < 0)
                goto cleanup;
        }
        if (kw) {
            i = 0;  /* needed by PyDict_Next */
            while (PyDict_Next(kw, &i, &key, &value)) {
                res = PyObject_SetAttr(self, key, value);
                if (res < 0)
                    goto cleanup;
            }
        }
      cleanup:
        Py_XDECREF(fields);
        return res;
    }
    Ответ написан
    Комментировать
  • Как настроить фильтр в админке?

    un1t
    @un1t
    Тебе нужно написать свой кастомный фильр. Вот документация как создать свой фильтр.
    https://docs.djangoproject.com/en/1.11/ref/contrib...

    В фильтре тебе нужно написть свой queryset (sql запрос).
    Чтобы понять какой запрос писать тебе нужно прочитать про nested sets.

    Выбор потомков:
    SELECT id, name, level FROM my_tree WHERE left_key >= $left_key AND right_key <= $right_key ORDER BY left_key


    Можно также посмотреть исходники метода get_descendants из mptt
    https://github.com/django-mptt/django-mptt/blob/ma...

    Должно получиться как-то так:
    section = get_objects_or_404(Section, id= request.GET.get ...
    
    Section.objects.filter(
        tree_id=section.tree_id
        left__gte=section.left,
        left__lte=section.right
    ).order_by('left')
    Ответ написан
    Комментировать
  • Best practies? Две независимые модели для пользователя и админа, Django 1.11.x?

    un1t
    @un1t
    Делаешь одну модель, добавляшь ей поле role например. И по ней потом даешь доступы.
    Ответ написан
    2 комментария
  • Разработка web-сервисов – LAMP (Python/Django) vs. MEAN (Node.js)? Или что-то другое?

    un1t
    @un1t
    Выбор ЯП и стека вещь сугубо субьективная. Параметров слишком много, чтобы можно было объективно сравнить.
    Все перечисленные технологии популярны и в ближайшиее 5 лет будут востребованы. Выбирай то что нравится.

    В пользу Node: всё идет к тому, что js станет стандартом как на фронте, так и на сервере. Через 5 лет серверную часть не на js будут писать только ленивые ретрограды.

    Ну-ну. Или стухнет как руби.

    Приложения получаются быстрее python и др. в 10-15 раз, выдерживают большие нагрузки,

    У JS нет превосходства в производительности над Python. Скорее наоборот. Но в целом я бы не рассматривал производительность как фактор выбора, т.к. в первом приближеннии она одинакова.

    нет задач, которые нельзя было бы реализовать в рамках MEAN-стека.

    Можно так и про ассемблер сказать, но это не делает его удобным для веб разработки.

    Технология в стадии активного развития, через 5 лет сегодняшние её косяки будут исправлены, и она станет стандартом де-факто для web-приложений, как php для web-сайтов когда-то. Нет смысла тратить время и распыляться на морально устаревающие средства.

    Некоторые косяки действительно будут исправлены. С монгой все поигрались и забыли, вернулись к реляционным БД. Express.js это наколенная поделка, которую можно написать за один вечер. Там по сути кроме роутинга ничего нет. Может быть черзе 5 лет на ноде появятся какие-то полноценные фреймворки типа Джанги, Рельсов или Симфони, но на сегодняшний день их нет. Angular это вообще фронтенд, его можно с любым бакендом использовать.

    На мой вкус Python имеет преимущество, как более приятный язык программирования с более широкой областью применения. Также Python является стандартом в популярной сейчас области анализа данных и машинного обучения. В Python можно писать синхронный код, так и асинхронный и это поддерживается на уровне языка.
    Ответ написан
    Комментировать
  • Насколько легко трудоустроиться программисту в 40+, 50+ итд лет?

    un1t
    @un1t
    Просто есть много контор, где пыщ-пыщ и в продакшн. Там особой квалификации не нужно, зарплаты, маленькие, переработки постоянные. Конечно им нужен "до 35 лет ... молодой, энергичный", а по факту просто низкоквалифицированный чувак с низкой зарплатой.

    Опытные программисты и сами в такие конторы не пойдут.
    После 50 знакомых программистов нет, но после 40 вроде никаких проблем с трудоустройством не замечено.
    Ответ написан
    Комментировать
  • Как найти причину заполнения памяти сервера на 100%?

    un1t
    @un1t
    atop умеет писать логи, и по ним можно посомотреть загрузку проца и памяти по процессам в любое время.
    как настроить на запись не настраивал, у хостера оно настроено по дефолту
    а читать вот так можно
    atop -r /var/log/atop/atop_20170519 -b 20:45
    Ответ написан
  • Кем можно пойти работать после программиста?

    un1t
    @un1t
    1. А почему зрение то падает? Могу предположить ,что ты сидишь в очках или линзах которые тебе прописали перед компом. Только рецепт тебе давали когда ты смотрел на стену в 5 метрах от тебя. А ты смотришь на монитор в 50 см от тебя, а то и ближе. Этого делать нельзя для чтения вблизи тебе нужны другие очки/линзы меньшими диоптриями.

    2. Проводил исследование с расширенным зрачком? Есть спазм аккомодации?
    Ответ написан
    Комментировать
  • Что нужно регистрировать перед запуском стартапа?

    un1t
    @un1t
    Забей, больше денег на регистрацию потратишь (ИП сейчас 28 тыс в год надо платить, даже если ты ничего не зарабатываешь + банкам за рассчетный счет ). Если реально денег много будет, тогда зарегистрируешь.
    Ответ написан
  • Django QuerySet и raw sql запрос?

    un1t
    @un1t
    Для таких запросов может помочь https://github.com/ambitioninc/django-query-builder
    Ответ написан
    Комментировать
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    un1t
    @un1t
    мой непосредственный руководитель главный дизайнер

    беги чувак оттуда!)

    Я планирую делать связку Angular2 + Node.js (для server-side-rendering) + PostgreSQL (возможно еще сделать API не на node а том же самом Django чтобы работало максимально быстро).


    Нафига node.js там же нету полноценных фреймворков. В итоге у тебя все велосипедами обрастет. К тому же я тут сомневюась, что тебе для этого проекта нужна асинхронность.
    Ответ написан
    1 комментарий
  • Бекенд для одного сайта на разных технологиях?

    un1t
    @un1t
    Я не знаю что у вас за веб сервер. Но если например nginx, то проблем нет. Настроить location'ы для разных путей и все.
    Ответ написан
    3 комментария
  • Стоит ли иди в программирование, будучи инженером?

    un1t
    @un1t
    Надо смотреть не на зарплату, а на следущее: Нравится программировать (больше чем быть конструктором) - иди, не нравится - не иди.
    Ответ написан
    Комментировать