Задать вопрос
  • Будет ли польза от Jython на AWS Lambda?

    @rPman
    Тарифы на использование AWS Lambda смешные, полагаю тарифные ловушки скрыты в округлении до 100мс и расчете не используемой памяти а выделенной (даже если ваша функция не утилизировала ее всю).

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

    p.s. https://read.acloud.guru/comparing-aws-lambda-perf...
    Ответ написан
  • Как в PHP цикле выделить первые элемент?

    @rPman
    завести переменную $isFirst=true; а в цикле в конце установить ее значение на false
    Ответ написан
    Комментировать
  • Как сделать CRUD приложение средствами php для управления несколькими таблицами?

    @rPman
    Если вам не подходят готовые решения, а хотите сделать свой велосипед, попробуйте посмотреть в сторону метапрограммирования.

    Когда вместо того, чтобы описывать в коде структуру вашего проекта, которая с помощью фреймворка во время выполнения разворачивается в необходимые sql-запросы и html/js интерфейс пользователя (делая это каждый раз плюс очень много лишнего). Вы делаете почти то же самое, но пишите генератор всего кода и sql запросов по вашему описанию. Когда то очень давно я делал такую систему, когда по описанной модели данных (очень близкой к ЕР) с небольшими добавлениями по описанию графического интерфейса (типы данных и способы/ограничения по их редактированию), генератор компилировал в десятки/сотни php файлов, без каких либо требований к фреймворку, и достаточно эффективного кода, но позволял создавать очень быстро большое количество сложных интерфейсов по работе сданными (в основном это был поиск, просмотр и редактирование).

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

    И еще, не про вашу задачу а вообще.
    Задумайтесь о React PHP, это целая парадигма в разработке асинхронных приложений, когда cli php приложение само является веб-сервером (в т.ч. и websocket), позволяет делать очень высокопроизводительные приложения.
    Ответ написан
    Комментировать
  • Какие есть способы (или разрешения) получать координаты местоположения сайтом с https ( ssl ), открывающемся в браузере приложения Android или iOS?

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

    Соответственно, если приложение не озаботилось выдачей вам координат, то облом.

    p.s. обычно все используют webkit , вроде в списке возможностей geolocationapi заявлено:
    https://webkit.org/status/#

    https://developer.android.com/reference/android/we... так же заявлена поддержка, если сайт использует ssl но разработчик приложения сам должен реализовать колбек на подтверждение выдачи данных
    Ответ написан
  • Как парсить сайты если сертификат битый?

    @rPman
    curl -k https://... что выдает?

    если выдает собственно контекст сайта - может грузить страницы с помощью функций curl_.., выставив опцию CURLOPT_SSL_VERIFYPEER = false

    file_get_conents будет посложнее заставить работать со сломанным сертификатом, у меня даже с не валидным не получилось (но там проблема уязвимости, новые версии php/openssl работать с ним отказывались), так же можно отключить проверку сертификата при использование socket_open...
    Ответ написан
  • Как разгрузить диск от журналирования?

    @rPman
    добавить ssd диск в качестве кеша, используя, например, bcache

    если использовать bcache в режиме кеширования чтения, то можно даже брать дешевый, ненадежный, в случае чего данные в этом случае не будут испорчены.
    Ответ написан
    Комментировать
  • Какая программа может сохранить sql в xls?

    @rPman
    Практически любая IDE умеет экспортировать результаты в csv или xls
    https://www.devart.com/ru/dbforge/ есть для большинства популярных баз данных

    А еще сам excell умеет импортировать данные из любой БД, если установлен драйвер ODBC
    Ответ написан
    Комментировать
  • Как открыть файл .bin из под анроида?

    @rPman
    Ставишь в chroot полноценное linux-окружение, хоть ту же ubuntu, ставишь xorg/waylang сервер (они уже давно есть прямо в гуглплее) и запускаешь любые opensource приложения, собранные для arm.
    Ответ написан
    Комментировать
  • Как разлогинить всех пользователей на сайте?

    @rPman
    На сервере у вас уже есть (должны) быть инструменты, для определения авторизации пользователя (не доверять же одним кукам), например сохраненный идентификатор сессии у пользователя в базе, вот эти данные и очищайте, одним запросом к базе на сервере.
    Ответ написан
    Комментировать
  • Делать скрин браузера пользователей. Есть такое?

    @rPman
    Если разработчики браузера разрешат делать такое (без разрешения пользователя) это будет еще одной дыркой в cross site scripting, т.е. можно будет получить доступ к данным другого домена (открыв его в iframe), со всеми сохраненными авторизациями.

    click jacking уже работает (прозрачный iframe подставляется под курсор мышки нужной стороной), но в слепую, а будет - нет.
    Ответ написан
  • Возможно ли осуществить с сайта #2 вход на сайт #1 на простой форме входа?

    @rPman
    сайт #2, на котором проходит авторизация должен предоставлять механизмы (специальные запросы доступные только другим сайтам #1), сообщающие что вот такой то пользователь (идентификатор, создаваемый на старте авторизации еще в #1) ввел верные данные (и его роль админ/пользователь/гость...).
    Ответ написан
    Комментировать
  • Нарушение прав доступа при чтении по адресу 0x39383835 как исправить?

    @rPman
    Черт, неужели нельзя переделать код на использование & а не *, в идеале вообще избавиться от malloc и free а организовать код чтобы освобождение было автоматическим, или переместить логику в классы и деструкторы.

    Причина может быть страшнее - где то порушена память heap но узнаете вы об этом когда станет совсем поздно - т.е. в другом кучке кода.
    Ответ написан
  • Работа с файлами в C++. Как считать построчно из файла такие строки?

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

    @rPman
    Либо вы гарантированно сохраняете события но медленно их обрабатываете либо наоборот.
    Для начала не усложняйте систему - попробуйте писать в лог на каждое событие, если скорости диска будет не хватать, изменить способ хранения, последовательно исключая то что тормозит (например файловую систему, при записи в файл реально происходит несколько операций, в т.ч. в разных частях диска).
    upd: 16байт записи, дешевый ssd+ntfs:7674 rec/sec, старый hdd+ntfs:425 rec/sec

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

    Если линейной скорости диска будет не хватать (в вашем случае само собой хватит, если конечно в лог вы не пишите многомегабайтовые записи) - ставьте несколько дисков, даже без RAIDа с чередованием (его можно реализовать самому, раскидывая сообщения лога по разным дискам по своей логике).

    Еще, вместо попытки все реализовать в одной машине, можно поставить несколько (важно - с независимыми источниками энергии!), тогда можно будет использовать буферизацию уже в оперативной памяти этих машин, т.е. отсылайте записи лога сразу на несколько машин, и считайте что запись записана после получения более чем несколькими из них (не обязательно всеми),.. Вот тут можно воспользоваться готовыми инструментами.
    Ответ написан
  • Как реализовать миграцию данных / виртуальных шардов?

    @rPman
    Делайте идентификаторы такими, чтобы можно было гарантированно их разбить на группы, например с шагом N (макс количество серверов) а стартовое значение сиквенсов у каждого сервера разное (от 1 до N) - назовем это стартовое число 'модуль индекса', таким образом вы сгруппируете данные, и перемещать их можно будет группами, по принадлежности индекса своему модулю индекса (получить его можно взял модуль от индекса по N, если N- степень двойки, то достаточно будет битовой маски).

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

    Чтобы в процессе переноса на сервере данные не появлялись, сделайте механизмы, отключающие эту ноду от создания новых записей (этакий read/write only) и логирование факта модификации записи по id (дата последнего изменения в каждой таблице - либо используйте штатные механизмы низкоуровнего лога sql-сервера), т.е. таблица, которая будет у вас отвечать за информацию о размещении групп на серверах должна содержать содержать и этот флаг. И да, эту таблицу реплицируйте между серверами штатными инструментами sql-сервера.

    Кстати, точно помню, в oracle можно было настроить репликацию данных по условию... не удивлюсь если это есть и у других, тогда за перенос данных между серверами будет отвечать внутренний механизм sql-сервера - это на порядок эффективнее и надежнее чем самописные инструменты.
    Ответ написан
    Комментировать
  • Node.js+request почему время на отправку первого запроса больше, чем последующие?

    @rPman
    Есть большой шанс что HTTP канал с сервером не закрывается, это дает заметный бонус на последующие запросы.
    Попробуйте делать запросы к разным серверам. А для бенчмарков лучше поднимать свой http сервер.
    Ответ написан
    Комментировать
  • Как установить Windows 10 параллельно с Linux?

    @rPman
    предполагается что с разбиением диска вы справитесь сами.

    установщик винды заменяет своим загрузчиком загрузчик linux, но ничто не мешает загрузиться после установки windows в live linux с usb/cd и вернуть grub обратно, на сколько я помню проблем с загрузкой windows из grub нет.

    интересным хаком может быть размещение загрузчика grub в недоступном для windows месте, например на другом устройстве (если есть второй диск или карта памяти, которые в биосе можно выбрать загрузчиком)

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

    p.s. в некоторых случаях винда может пожить в виртуалке, мало того, можно вообще на ноуте поднять что то типа cytrix и уже в нем запускать linux/windows и т.п., при должном везении даже видеокарту перебросить в windows получится, т.е. игры или тяжелые приложения будут работать как на реальном железе.
    Ответ написан
    Комментировать
  • Машинное обучение. Какой алгоритм выбрать?

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

    дальнейшее развитие это решение этой задачи не полным перебором, а значит с не полной информацией о пространстве решений а значит попытка обойти возможные западни, типа локальных минимумов.
    Ответ написан
    Комментировать
  • Как быстро сменить значение в БД?

    @rPman
    Ответ написан
    Комментировать
  • В каком формате чисел работать с Bitcoin в PostgreSQL?

    @rPman
    Все зависит от того, где вы будете работать с базой, т.е. на каком языке и какими библиотеками будете пользоваться.
    Универсальный случай - не доверяйте нецелым числам, в какой то момент вы можете получить очень неприятные округления!
    Пользуйтесть целыми числами int64 (и самостоятельно делите на 10^8 при выводе и учитывайте если будете проводить умножения на такие же целочисленные значения , например при умножении на стоимость в другой валюте, которая будет храниться так же)

    Если будете пользоваться php, пользуйтесь строковым представлением числа и методами BCMath - bcadd, bcdiv, bcdiv,..) таким образом даже на 32-битных системах (вам могут попасться такие виртуалки) вы не получите преобразование числа в float
    Ответ написан
    Комментировать