• Секторные WiFi антенны, соответствует ли угол излучения углу приёма?

    @iamFake Автор вопроса
    Понял, а влияет ли коэффициент усиления антенны на её чувствительность на приём?
  • Bit shift (swap bytes) как это в действительности работает?

    @iamFake Автор вопроса
    Ё-моё, надож было так лохануться )) Спасибо.

    "Рисовать надо на чистом холсте"
    "Рисовать надо на чистом холсте"
    "Рисовать надо на чистом холсте"
  • Submit формы в QML, как лучше это делать?

    @iamFake Автор вопроса
    Спасибо. Реализовал через создания класса формы с набором Q_PROPERTY и затем прокидывания в общий предок для всей формы. По событию на это поле уже яваскриптом каждый отдельный блок формы рассовывает данные из нужных полей по контролам и устанавливает биндинг для автоматического сохранения. При сохранении читаются все поля из метаобъекта и сохраняются в файл.
  • Как сформировать рандомную выборку товаров с присутствием минимум 1 товара определенной группы?

    @iamFake Автор вопроса
    собственно выборка которая меня интересует происходит без задействования поля parent, поэтому думаю таблица категорий не нужна. Мне нужно вытащить 4 товара и как минимум у одного из них должно быть charity=true. В данный момент (на этапе разработки) решил двумя запросами, позднее планировал замерять производительность запросов которые пришли в голову при описании вопроса. Но мне кажется у этой задачи должно быть более простое решение, чем навороченный юнион или процедура.
  • Как сформировать рандомную выборку товаров с присутствием минимум 1 товара определенной группы?

    @iamFake Автор вопроса
    Николай Маев: Часть полей вырезал т.к. там около 20 полей для описания вторичных свойств товара. Один товар может принадлежать к более чем одной категории. Внешних связей не определяю, целостность контролирую на уровне приложения.

    CREATE TABLE "public"."bazaar_items" (
    "id" serial4,
    "name" varchar COLLATE "default",
    "active" bool,
    "parent" int4[],
    "sdesc" varchar COLLATE "default",
    "desc" varchar COLLATE "default",
    "qnt" int2 DEFAULT 1,
    "price" numeric(24),
    "uniq" bool DEFAULT false,
    "owner" int4,
    "title" varchar COLLATE "default",
    "currency" int2 DEFAULT 0,
    "type" int2 DEFAULT 0,
    "created" int8 DEFAULT 0,
    "faces" jsonb,
    "deleted" bool DEFAULT false,
    "deletedate" int8,
    "reserve" int2 DEFAULT 0,
    "end_action" int2 DEFAULT 0,
    "charity" bool DEFAULT false,
    "charity_flag" bool DEFAULT false,
    "charity_share" int2 DEFAULT 0,
    CONSTRAINT "bazaar_items_pkey" PRIMARY KEY ("id")
    )
    WITH (OIDS=FALSE)
    ;

    ALTER TABLE "public"."bazaar_items" OWNER TO "bzr_usr";
  • Почему на хостинге запись всего лишь 1 значения (Timestamp) в БД MySQL работает быстрее, чем в файл, хотя у меня на компе быстрее файл?

    @iamFake
    VZVZ: Конкретно fsync (само название функции) это функция библиотеки libc , а основным "потребителем" этой библиотеки является линукс (а еще андроид и некоторые другие мобильные ОС на базе линукса). Но эту библиотеку можно использовать и на других системах, включая винду.

    В целом функции синхронизации обязательно есть во всех современных ОС и языковых библиотеках (libc стандартная библиотека языка Си, для винды и C# это вероятно Microsoft C Run-time Library). В винде такая функция тоже есть, но т.к. я специализируюсь именно на линукс-юникс системах, я не знаю как она там называется.

    Низкоуровневые оптимизации - тема очень обширная, вам стоит проанализировать вашу задачу и расставить приоритеты в ней. Тут как нигде актуальна дилемма 90\10 - на первые 90% задачи тратится 10% времени, но на оставшиеся 10% задачи - уходит до 90% всего времени... Если вы задаётесь этим вопросом исходя из повышения собственной квалификации - то это очень хорошо, но если вы решаете конкретную задачу, залезая в эти дебри вы рискуете потратить тонну времени, получив в итоге минимальную выгоду.
  • Почему на хостинге запись всего лишь 1 значения (Timestamp) в БД MySQL работает быстрее, чем в файл, хотя у меня на компе быстрее файл?

    @iamFake
    VZVZ: Соответственно про синхронизацию в базах данных запрос нужно дополнить названием базы :) Но как правило в современных субд синхронизация включена всегда, это требование ACID.
  • Почему на хостинге запись всего лишь 1 значения (Timestamp) в БД MySQL работает быстрее, чем в файл, хотя у меня на компе быстрее файл?

    @iamFake
    VZVZ: Когда приложение запрашивает у ФС какой либо элемент, ФС сначала смотрит в свой кэш, а потом, если нужный кэш отсутствует(или текущий устарел), читает с диска и прочитанное так же ложит в кэш. Этот механизм необходим чтобы снизить износ диска когда идет частое обращение к "горячим" данными. Поэтому даже записанное в кэш становится доступно для всех приложений моментально.

    Проблема кэша в том, что если между записью в кеш и "сбросом" на диск произойдёт, например, отключение электроэнергии - данные будут потеряны. Вероятность этого весьма мала, т.к. сброс на диск в современных ФС происходит в короткий промежуток времени - от 50 до 500мс в зависимости от настроек, но все равно такая ситуация реальна.

    Когда нужен факт физической записи на диск нужно использовать принудительную синхронизацию с диском, но к сожалению в стандартной поставке php не обладает таким функционалом, поэтому использование более низкоуровневых функций не поможет (в них попросту нет вызова fsync). Такой функционал можно добавить только через расширения, например Eio (функция eio_fsync), но это расширение не присутствует в стандартном наборе и потому отсутствует у большинства хостеров.

    Почитать о синхронизации ФС можете загуглив фразу fsync - это название стандартной сишной функции из библиотеки libc, которая есть в каждом дистрибутиве linux (в винде может называться чуток по другому). Если нет проблем с английским - вот неплохая статья https://en.wikipedia.org/wiki/Sync_(Unix)
  • Стоит ли слишком сильно волноваться за безопасность сайта, если все денежные операции будут выполняться на стороне (страничка банка, paypal и др.)?

    @iamFake
    АртемЪ: Согласен, по хорошему в компании должен быть отдел разработки и отдел ит безопасности. Хороший программист != хороший спец по безопасности, но лично мое мнение - профессиональный программист обязан быть хорошим спецом по безопасности(не нужно быть профи, но знать должен много, очень много).

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

    Про закрытые проекты не спорю, до сих пор не могу избавиться от ненависти к винде за её дырявые нулевые, да и Flash у всех на слуху. И бэкдоры случаются.
  • Стоит ли слишком сильно волноваться за безопасность сайта, если все денежные операции будут выполняться на стороне (страничка банка, paypal и др.)?

    @iamFake
    АртемЪ: Поэтому я и написал, что это всего лишь дополнительное препятствие, не более того...

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

    За последние лет 5 мир уже не раз доказывал, что открытая система != надёжная система. Сколько там heartbleed жил в openssl ? А пудель? Количество "глаз" смотрящих в код бесполезное число, пока все эти "глаза" не являются спецами по безопасности. В ядре линукса, в постгресе и других проектах, за которыми стоят убер-профи и то встречаются use-after-free и прочие проблемы "моветоны". Опенсурс - не гарантия более высокой безопасности.
  • Зависает сервер, как выяснить причины?

    @iamFake Автор вопроса
    @icCE вобщем на sysrq не реагирует вообще... сменил БП, ждемс... ))
  • Зависает сервер, как выяснить причины?

    @iamFake Автор вопроса
    Не пробовал, при следующем зависании попробую, но есть сомнения, т.к. нум-лок, капс и скрол-локи - не работают во время зависания, как и остальные клавиши\сочетания (пробовал Ктрл+Альт+Дел :D ).

    Емнип в ядре вроде включаю всегда.
  • Зависает сервер, как выяснить причины?

    @iamFake Автор вопроса
    @ZoomZoom а разве проблемы с БП не должны приводить к ребуту или полному отключению, а не к зависанию?

    @oia у меня ядро скомпилено с опцией panic=3 (щас посмотрел специально), и команда sysctl kernel.panic выводит kernel.panic = 3 и это не помогает... в момент предполагаемого зависания в логах нет вообще ничего, ни одной строки, вообще... отсюда я делаю вывод что зависание скорее всего аппаратное, просто напросто останавливается выполнение команд и ядро даже не имеет возможности среагировать...
  • SWF как обёртка для CPP\Qt, такое возможно?

    @iamFake Автор вопроса
    Фактически публиковать исходные коды (пусть и обфусцированные) не всегда вариант :) спасибо