• Как улучшить читаемость кода (много операторов if)?

    usdglander
    @usdglander
    Yipee-ki-yay
    Тут не паттерны, а рефакторинг нужен. Например "выделение метода".
    Ответ написан
    Комментировать
  • Для чего читать Таненбаума?

    @res2001
    Developer, ex-admin
    Для программирования сетей читайте Стивенса "Unix. Разработка сетевых приложений" 2007 год. Книга не новая, но лучшего описания программирования сетей я не встречал.
    Ответ написан
    Комментировать
  • Как сортировать HashMap?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    В корне не правильной! Не юзать! Спасибо Ivan Sokolov за тычек носом.
    HashMap<String,SomeClass>  someHashMap= ...;
    Collections.sort(someHashMap, new Comparator<SomeClass>() {
            public int compare(SomeClass o1, SomeClass o2) {
                //return a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
            }
    });
    Ответ написан
  • Как сделать POST запрос с переходом на нужную вьюху?

    Astrohas
    @Astrohas
    Python/Django Developer
    извращение, какое-то, но
    success: function (data) {
               window.location.href = "http://stackoverflow.com";
            }

    без форм не получится.
    Ну вы можете создать скрытую форму и отправить ее
    Ответ написан
    6 комментариев
  • NAS и proxmox на 1 сервере?

    opium
    @opium
    Просто люблю качественно работать
    какую то вы хрень городите
    ставите проксмокс, и в нем как хотите крутите рейды .
    Ответ написан
    Комментировать
  • Как печатать страницу одинаково во всех браузерах?

    LenovoId
    @LenovoId
    svg, css,js
    Так же вариант использовать @media print
    Ответ написан
    Комментировать
  • Как реализовать асинхронный запрос в python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    ищи spyder asyncio aiohttp есть код на хабе
    или multicurl

    и там и там пулы
    Ответ написан
    1 комментарий
  • Что такое JFM и для чего он нужен?

    longclaps
    @longclaps
    Journal of Fluid Mechanics is the leading international journal in the field and is essential reading for all those concerned with developments in fluid mechanics.
    Журнал, стало быть, механики жидкостей. Одним нужен, чтобы в него писать, другим - чтобы его читать. Вы писатель или читатель?
    Ответ написан
    Комментировать
  • За что олдскульные электронщики ругают ардуино?

    @n12eq3
    всё правильно говорится, с некоторыми оговорками. основные минусы
    1) говнокод. если использовать родное приложение, прошивка получается крайне кривой. отсюда лезет убогость работы по скорости, убогость работы библиотек (совместная работа нескольких), убогость вырастающего на этом кале "программиста", убогость по работе устройства в целом.
    2) отрешённость от железа, искажение представлений о его работе. крайне плохой инструмент для начала изучения контроллеров. самый бородатый и эпичный пример киселя в головах "программистов" - 99% уверены что у всех моделей ардуин (соответственно у их "центральных" чипов) есть аналоговые выходы.
    3) отсутствие развития в изучении и стимула для самостоятельной работы, отупление пользователя в целом. digitalPin high работает равнозначно на uno- и на due-, тогда как первое это древняя atmega а второе это контроллер с ядром cortex-m3 и с кратким даташитом на 1500 страниц. купить камаз чтобы засыпать своему коту лоток.
    4) очень странно, но наличие коммьюнити. просто из статистики имеется достаточное количество адекватных инженеров-пользователей этой платформы. также достаточно количество тех же инженеров не-пользователей, но работающих с этим железом за деньги. условно пару процентов пользователей производят скорее всего 100% всех модулей и/или библиотек + китайская штамповка ---> см п.3 но уже не касаемо железа, а всей платформы в целом. зачем что-то учить и изобретать если можно купить 3 готовых модуля, инклуд 3 библиотеки и "устройство" готово.
    5) говнокачество. форм фактор андрунно не предполагает использование, отличное от настольного. в готовое устройство - не засунуть. в прототип который будет "надёжным" в эксплуатации - не засунуть. каких-либо кастомных схем не собрать - pls-pbs разъёмы при постоянном использовании разбалтываются и при большой схеме на бредборде можно часами шевелить провода ища плохой контакт. всё это можно помножить на хламовые компоненты из чины (кто у нас покупает оригиналы по 20 евро?)
    6) искажение "имиджа" профессии. любой аутист соберёт вайфай замок с эзернет шилдом и блютус чайником за 13 минут, при том, что изготовление "взрослой" электроники займёт неделю или месяц. при этом в популистских статьях полученные результаты подаются как сопоставимые. т.е. дядя учился и работал 10 лет чтобы проектировать правильно и хорошо а школьник собрал аналог пока сидел на унитазе. при этом сравнить качество/функции/надёжность/технологичность забывают, и у дяди подпекает.
    основной источник наездов это п.1, п.2, п.6.

    в целом это интересная поделка для хобби и быстрого прототипирования. очень полезна во многих ситуациях.
    также можно (нужно) посмотреть на отношение к этому у более развитых коллег из западных стран - там это преподносится именно как конструктор для хобби, никаких "инженеров" из этого кала не вырастает.
    ещё достаточно показательный пример - сравнительно часто в проектах по фрилансу (на западе) встречаются задания вида "я сделал прототип и он работает. хочу перенести в реальное железо". это очень правильный подход.
    Ответ написан
    2 комментария
  • Django + Vue.js. Как лучше организовать форму с мульти шаговым заполнением?

    kulakoff
    @kulakoff Куратор тега Vue.js
    Vue.js developing
    Чисто vue решение:
    Создаете json файл со списком шагов, полей, описываете в нем логику переходов.
    При заходе на страницу, получаете этот файл, парсите, строите поля, прогрессбар и т.д.
    Тут надо быть готовым к перезагрузке страницы, и возможно, сохранять промежуточные данные в localstorage например.
    Ответ написан
    6 комментариев
  • Почему не обновляются данные props vue js?

    amux
    @amux
    alp.ac
    Потому что this не проходит в объект axios, инициализируйте перемененную, которая будет ссылкой на this.
    Ответ написан
    6 комментариев
  • Как сделать удобную разработку?

    Fragster
    @Fragster
    помогло? отметь решением!
    Завести на сервере git, разрабатывать локально, при определенной степени готовности "заливать на прод" из того же репозитория.
    Ну и небольшой скрипт-деплойку, который делает все, что нужно.
    Ответ написан
    Комментировать
  • Готовая сборка Web сервер на Linux (без мусора)?

    opium
    @opium
    Просто люблю качественно работать
    А зачем сборка?
    Просто ставьте минимальный Дебиан и на него то что вам нужно, никакого мусора не будет
    Ответ написан
    6 комментариев
  • Книга о том как правильно должен работать программист?

    sim3x
    @sim3x
    1. Пофиг как - если делает работу
    2. Никак не избегать - принять их как данность и фиксить
    3. Делать оценку перед задачей, делать переоценку во время решения, оценивать реальное время -
    после

    Мифический человекомесяц
    Психбольница в руках пациентов
    Ответ написан
    Комментировать
  • Какой подход для поиска лучше?

    qonand
    @qonand
    Software Engineer
    Лучше не изобретать велосипед и воспользоваться ElasticSearch или Sphinx
    Ответ написан
    8 комментариев
  • Что будет если забьется swap и оперативная на сервере ubuntu?

    mannaro
    @mannaro
    Умею профессионально гуглить
    В таком случае будет убито какое-либо приложение, дабы освободить оперативную память.
    Ответ написан
    1 комментарий
  • Зачем 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;
    }
    Ответ написан
    Комментировать
  • Чем плохо проверять аргумент функции на допустимые значения внутри функции?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Вы заменяете условием то, что делается в два сдвига.
    Ответ написан
    1 комментарий
  • Чем плохо проверять аргумент функции на допустимые значения внутри функции?

    @res2001
    Developer, ex-admin
    assert в драйвере - это как-то перебор.
    Просто обнуляйте младший бит принудительно и будет у вас всегда четное число.
    А в инструкции опишите, что значение приводится к ближайшему меньшему четному.
    Для 1 байтового значения это будет так:
    val & 0xfe
    Ответ написан
    3 комментария
  • Как разрабатывать на маке в дома?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Напрягает, что постоянно висит в системе даже когда не разрабатываешь. А выключать, включать апач через консоль постоянно неудобно.

    Apache встроен в Mac OS не просто так. Он обязателен для работы многих внутренних систем.
    В связи с этим отключать его не рекомендуется.

    Да и в разработке, то по сути что надо? Используй одну версию php + веб-сервер, заливай файлы по фтп / sftp на боевой и все.

    По хорошему - свой сервер с git на борту (я использую gitlab), и работа только через него. FTP - зло.

    Что касается вашего вопроса - лучше всего Vagrant, но опять же это довольно неповоротливая махина, хоть и достаточно гибкая.

    Но лично я поставил php7.1 через brew и попросту запускаю проект на локалке через следующую команду:
    php -S localhost:8000 .

    В качестве среды разработки рекомендую PHPStorm. Серверы лицензий гуглятся за пару секунд. Пользуйтесь.
    Ответ написан
    2 комментария