• Как убрать ошибку при обработке запроса INSERT запроса в SQL. JAVA?

    EnterSandman
    @EnterSandman
    Эникей
    (`name`, `quantity`, `price`, `replace`)
    Ответ написан
    Комментировать
  • Почему в программировании используются моноширинные шрифты?

    Winsik
    @Winsik
    сис.админ, недопрограммист :)
    отступами :)
    Ответ написан
    Комментировать
  • Qt как создать много окон внутри одного?

    @Mercury13
    Программист на «си с крестами» и не только
    Сам не работал с этим под Qt, но называется это «многодокументный интерфейс» и простейший пример тут.
    doc.qt.io/qt-5/qtwidgets-mainwindows-mdi-example.html

    Также можно погуглить «Qt MDI».
    Ответ написан
    1 комментарий
  • Unknown column 'TEST' in 'field list' |?

    Akdmeh
    @Akdmeh
    PHP, Yii2, Music
    Вы не заэкранировали строку.
    Сейчас вы отправляете строку UPDATE `coupon` SET `coupon` = TEST, а нужно TEST засунуть в кавычки, т.е.:
    mysql_query('UPDATE `coupon` SET `coupon` = "'.$coupon.'" ') or die (mysql_error());

    Ну и плохо то, что вы используете устаревшую библиотеку mysql.
    Желательно использователь mysqli или еще лучше PDO, при этом использовать prepared statements (подготовленные запросы) - погуглите, что это.
    Ответ написан
    3 комментария
  • Выбор key-value хранилища?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Redis, с включением Persistence redis.io/topics/persistence

    В MongoDB вы можете использовать https://docs.mongodb.org/manual/reference/configur... для старого хранилища.
    Для WiredTiger по умолчанию идет компрессор snappy. Но вы можете использовать zlib или bzip
    source.wiredtiger.com/2.4.1/compression.html Правда нагрузка на CPU вырастет. Будьте осторожны.
    Кроме этого я могу сказать, что у вас неправильный подход к бекапам для MongoDB. Использовать режим полного бекапа не очень удобно. Правильно использовать отложенную репликацию.
    Могу сказать, что у меня текущая база содержит примерно 100 GB данных (на диске 253G, Mongo 2.6). Все отлично реплицируется (у меня replica set из 2х машин) и бэкапится (delayed). Это требует отдельный сервер, но он может быть не таким мощным как основной или иметь другой диск, например обычный HDD.
    10 GB это очень маленький объем данных. Пересмотрите свою архитектуру.
    Ответ написан
    3 комментария
  • Как добавить SPF-record в debian?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Запись надо добавлять на NS-сервере вашего домена. Но для начала надо определить, почему не доходят письма. Отсутствие SPF-записи всего лишь одна, и не самая вероятная из возможных причин.
    Ответ написан
    3 комментария
  • Поиск решения задачи, не похожей на предыдущие. Есть ли идеальный алгоритм?

    Denormalization
    @Denormalization
    Часто сталкиваюсь с такими людьми. Это "программисты поневоле", как я их называю.
    Этим людям не интересно программирование как таковое, им интересна их зарплата.

    Обычно такие "программисты" заучивают базу + небольшой объем типичных решений, и с этими знаниями набиваются в работники. Они просто не хотят ничему учиться, так как им неинтересна эта область.
    С ними сложно что-то сделать. Сколько им не вдалбливай, они не станут от этого умнее, и будут так же продолжать тупить на нестандартных задачах.

    Если вы хотите заставить их нежные мозги шевелиться - ни в коем случае не давайте им решения.
    Пусть думаю сами, пусть ищут решение. Можно лишь давать наводки в какую сторону копать, но ни в коем случае нельзя делать так:
    В итоге описание задач сводится к полному написанию алгоритма решения, включая названия методов и переменных, а иногда и простая диктовка кода.

    Когда вы рассказываете им решение задачи - они ничему не учатся. Они тупо заучивают очередное решение, возможно даже не вникая в его суть.

    Заставляйте таких людей ДУМАТЬ. Задавайте наводящие вопросы.
    Пусть лучше они сделают кривое решение, которые вы потом заставите их переделывать, но у них в голове останутся хоть какие-то знания.
    Ответ написан
    15 комментариев
  • Поиск решения задачи, не похожей на предыдущие. Есть ли идеальный алгоритм?

    @MonkAlex
    C#, SQL, Delphi, C++ etc
    Не силён в питоне, но мне в большинстве случаев нужен опыт решения похожих задач.
    В том плане, что мне нужно какое то ядро, на основе которого я начну строить всё остальное.

    Нужна синхронизация системы с системой - я подумаю о системе хранения данных в обоих системах и способах конвертации.
    Нужен красивый отчет - я вспомню о fastreport (не лучшее воспоминание, но других я не пилил).
    Надо кроссплатформенную утилиту для сбора логов - я подумаю о питоне или тупо о каком нибудь grep.

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

    Дело в опыте и ничем ином. Конечно, гугл поможет с простыми вопросами типа "как сформировать и передать DTO c клиента на сервер", но гугл редко помогает нормально с вопросами типа "как написать сервер-приложение для %название на %ОС".

    А без опыта и гугла остаются только наставники.

    UPD: если я неправильно понял вопрос, то приведите примеры, на чем они могут зависнуть. Потому как зависнуть на том, что можно сделать за час, можно только при очень расплывчатой формулировке.
    Ответ написан
    Комментировать
  • Как сделать очередность товаров?

    dubr
    @dubr
    пыхарь
    1. Как советовали выше, добавляем колонку (у меня называется priority - дело вкуса).
    2. Определяем ее, например, как decimal(6,3) - то есть число с тремя знаками после запятой.
    3. Для новых объектов заполняем ее значением max(priority)+1 - вставка в конец.
    4. Когда пользователь решает перетащить объект на другую позицию, получаем значения предыдущего и следующего элементов. Если нет предыдущего, считаем его за 0, если нет следующего - за предыдущий+1. Записываем для сортируемого объекта priority = (prev + next) / 2.
    5. Если очень много раз таскать туда-сюда, можем получить ситуацию, когда соседние priority отличаются на 0.001 - обрабатываем этот случай в коде, пересчитывая приоритеты так, чтобы увеличить интервал. Или просто переиндексируем все целиком в фоне с какой-то разумной регулярностью.

    Таким образом для сортировки нам нужно выбрать только два объекта одним запросом и изменить только одну строку.

    Вместо дробных значений можно тупо добавлять новые с большим шагом - max(priority)+1000.
    Ответ написан
    Комментировать
  • Может ли Nginx так работать со статикой?

    @sunrails
    Проверка существования файла nginx.org/ru/docs/http/ngx_http_core_module.html#t...
    Передача запросов другому серверу + кэш nginx.org/ru/docs/http/ngx_http_proxy_module.html
    Ответ написан
    Комментировать
  • В чем разница между "!==", "!=", "==", "==="?

    27cm
    @27cm
    TODO: Написать статус
    Комментировать
  • Как получить элементы массива с определенным значением?

    Stalker_RED
    @Stalker_RED
    $filtered = array_filter($data, function($item) {
        return $item['parent_id'] === 0;
    }
    Ответ написан
    Комментировать
  • Есть ли книжка по профилированию php кода?

    @sunrails
    Есть официальная документация тынц тынц, например. В сети полно мануалов, ничего сверхсложного.
    Ответ написан
    Комментировать
  • Какой сервис подойдет для организации работы веб студии?

    kirill89
    @kirill89
    Redmine, Jira.
    Ответ написан
    Комментировать
  • PHP7 и foreach. Коварное изменение?

    romy4
    @romy4
    Exception handler
    Приведённый код будет нормально работать в php7.
    Ответ написан
    3 комментария
  • Почему GRUB UEFI пропускает меню с выбором ОС?

    1. Вы не правильно ставите grub. Не путайте boot-раздел и esp-раздел. В Linux esp-раздел должен быть примонтирован в /boot/efi и содержать одну-единственную директорию EFI. Таким образом, пути к загрузчикам будут выглядеть как /boot/efi/EFI/blablabla/loader.efi. На это опираются большинство заинтересованных программ и скриптов. Хотя это пока и не является частью FHS.
      У вас же всё скидано в кучу. Если вы понимаете, что делаете, то всё в порядке. Иначе могут в дальнейшем возникнуть проблемы.
    2. При наличии 2-х систем Linux и Windows, grub-mkсonfig отдаёт предпочтение Linux и ставит его на первое место в порядке загрузки. Но у вас загружается Windows. Можно сделать вывод, что grub у вас не загружается.
    3. Т.к. grub не загружается, значит в настройках bios/uefi на первом месте стоит windows-boot-entry. Нужно именно от туда сменить приоритет загрузки. Если там отсутствует запись с grub, то идём к пункту 1 и устанавливаем grub по канонам.
    4. Посмотрите на опцию GRUB_HIDDEN_TIMEOUT. Если предыдущая загрузка была успешной, то grub прячет меню. Такого его стандартное поведение в большинстве дистрибутивов.

    UPD:
    Makaleks: у вас arch указывает на раздел с UUID 00229d17-2906-45ce-a8b4-9e90c31b72fd, а Windows Boot Manager на раздел bc3117d8-d1fe-4fa5-8ece-8136e5609e48. Легко заметить, что они разные. Arch у вас не правильно прописан.

    Сначала удаляете старую запись: sudo efibootmgr -b 3 -B
    Затем создаёте новую:
    sudo efibootmgr -c -L ArchLinux -l "\EFI\arch\grubx64.efi"

    И пробуем загрузиться с неё.
    Путь к загрузчику может быть другой, т.к. я не знаю, что лежит у вас на ESP-разделе. Могли бы на pastebin или gist кинуть что-ли.
    Ответ написан
  • Freelancer.com это fl.ru, но глобальная?

    vawsan
    @vawsan
    Frontend Developer
    Тогда вконтакте, это фейсбук, но глобальная =_))

    Fl
    Наш почтовый адрес:
    129223, Москва, а/я 33;
    Обязательно укажите наименование организации-получателя — ООО «ВААН».


    www.freelancer.com/
    Юридический адрес
    Level 20, World Square
    680 George Street
    Sydney, New South Wales
    Australia 2000
    ACN 141 959 042
    Ответ написан
    3 комментария
  • Давать или не давать доступ клиенту в git?

    MegaMufa
    @MegaMufa
    Даю readonly доступ к репе только в том случает, если клиент проверенный или в случае полной предоплаты. В других случаях не даю в виду описаных вами причин.

    Если вы работаете поэтапно с отдельной оплатой каждого этапа, то можно сделать так: завести отдельную ветку и дать доступ к ней. И сливать в нее новый код, после оплаты. Получается, клиент отлатил, скажем, личный кабинет - слили его в эту ветку. И так для каждой итерации.

    Полный доступ, я бы поостерегся давать.
    Ответ написан
    Комментировать