LINUX.ORG.RU

Сообщения I-Love-Microsoft

 

PythonAnywhere как сделать его HTTPSным

Форум — Web-development

Осваиваю Яндекс.Кассу и там для создания веб-хука (коллбека), который мне очень нужен для работы, требуется чтобы URL моего сайта начинался с HTTPS.

Использую python anywhere + django. Как его обшттпээсить? Это что, настройка хостинга, настройка самого сайта, или нужно регистрировать свой домен и в нем указывать его https-режим?

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

 ,

I-Love-Microsoft
()

Консольная отладка кода с ассемблерными вставками

Форум — Development

Есть виртуальная машина QEMU AArch64 есть программа, которую можно компилировать с отладочными символами и без оптимизации. Как ее отлаживать?

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

Но можно ли повесить окошко со значением некоторых регистров, или заставить gdb выводить ряд некоторых регистров после исполнения каждого шага и последующей остановки?

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

Попытки повесить окошко с регистрами в текстовом интерфейсе cgdb не сработали, какой то глюк, видимо не поддерживается на aarch64.

Какие еще есть варианты? Нужен удобный обзор содержимого избранного набора регистров после каждого шага.

 , ,

I-Love-Microsoft
()

Работает ли x2 в разъеме x4?

Форум — Linux-hardware

Существуют такие nvme ssd диски у которых интерфейс x2, и их стало быть можно засунуть в разъем x4.

Вопрос: как оно определяет ширину канала? Есть PCIE_PRSNT2n_x1 и PCIE_PRSNT2n_x4 сигналы, с х1 и х4 понятно, как тогда поднимется x2?

Делаю плату и не понимаю что делать. Пары пришло отреверсить 0-1 1-0. Волнуюсь как бы оно это распознало.

В режимах x4 x8 реверсить порядок следования линий можно. Но что с х2 мне не ясно. Или оно определяет тупо пытаясь установить линк вообще по всем доступным дорогам (lanes). Значит мое перевернутое x2 оно должно по идее увидеть, верно?

 

I-Love-Microsoft
()

Не удается запустить механизм Mqueue

Форум — Development

Хочу освоить для одной задачи механизм Mqueue, это стандартный POSIX механизм IPC, который показался мне интересным. Отсоветуйте, если считаете его плохим, но он есть и на QNX 4 и на Linux, поэтому это портабельное решение для меня выходит.

Хочу слать сообщения, а они в другом процессе должны застревать до чтения третьим процессом, чтобы не городить два потока в программе. Выглядит всё вкусно.

Проблема вот в чем: не удается увидеть работу этого механизма, я явно что то делаю не так. Запускается сервер, открывается очередь под именем, под QNX 4 хотя бы открывается на сервере и клиенте, клиент что-то отправляет и это видно в статистике, сервер не видит данных. А под Linux попробовал - не работает и вовсе, канал не открывается.

Пробовал блокирующий и неблокирующий режим, но мне нужен неблокирующий - выстрелил и забыл. Далее код:

#include <stdio.h>
#include <mqueue.h>

char data[100000];

int main()
{
	mqd_t mq;
	struct mq_attr attr;
	int rc;

	attr.mq_flags = 0;
	attr.mq_maxmsg = 100;
	attr.mq_msgsize = 65536;
	attr.mq_curmsgs = 0;

	printf("test_mq_server\n");
	//mq = mq_open("/sqlite_sdb", O_CREAT | O_RDWR | O_NONBLOCK, 0660, &attr);
	mq = mq_open("/sqlite_sdb", O_CREAT | O_RDONLY, 0660, &attr);
	printf("mq opened, server mq= %d\n", mq);

	while(1)
	{
		rc = mq_receive(mq, data, 65536, NULL);
		printf("server rc= %d\n", rc);
		sleep(1);
	}

	mq_close(mq);
	mq_unlink("/sqlite_sdb");
	return 0;
}
#include <stdio.h>
#include <mqueue.h>

int main()
{
	mqd_t mq;
	char data[100000];
	int rc, i;

	printf("test_mq_client\n");
	//mq = mq_open("/sqlite_sdb", O_RDWR | O_NONBLOCK);
	mq = mq_open("/sqlite_sdb", O_WRONLY);
	printf("client mq= %d\n", mq);
	for(i = 0; i < 3; i++)
	{
		rc = mq_send(mq, "test_mq", 7, 0);
		printf("client rc= %d\n", rc);
		sleep(1);
	}
	mq_close(mq);
	//mq_unlink("/sqlite_sdb");
	return 0;
}

QNX4

test_mq_server
mq opened, server mq= 3
server rc= -1
server rc= -1
test_mq_client
client mq= 3
client rc= 0
server rc= -1
client rc= 0
server rc= -1
client rc= 0
server rc= -1
server rc= -1

Linux

test_mq_server
mq opened, server mq= -1
server rc= -1
server rc= -1
итого 0

------ Очереди сообщений --------
ключ   msqid      владелец права исп. байты сообщения
0x331100ea 0          root       622        0            0           

test_mq_client
client mq= -1

client rc= -1
------ Очереди сообщений --------
ключ   msqid      владелец права исп. байты сообщения
0x331100ea 0          root       622        0            0           

server rc= -1
client rc= -1
server rc= -1
client rc= -1
server rc= -1
server rc= -1
server rc= -1

Запускалось так

./test_mq_server &
sleep 1
./test_mq_client &
sleep 5

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

Под QNX4 хотя бы очереди открываются, а под Linux нет. Что-то надо запустить? Или модуль ядра запустить?

 , , ,

I-Love-Microsoft
()

Замедлить доступ к диску виртуальной машины

Форум — Linux-hardware

Есть система на базе VirtualBox и софт на ней нужно проверить как он будет работать на медленной тачке. Известно, что процессор можно замедлить хоть в 5, 10 или во все сто раз, настройка эта на поверхности.

Существует ли способ на хосте ограничить скорость работы с файлом образа, или сам VirtualBox снизить скорость записи и чтения на диск? Сам гость такой функции не поддерживает, старая ОС там.

 ,

I-Love-Microsoft
()

Чем удобнее засовывать файлы в виртуальную машину QEMU?

Форум — General

Ранее в этой теме я сделал виртуальную машину с ARM64 Как включить графику или хотя бы текстовый цветной режим?

С помощью virt-copy-out/in -a <>.qcow2 я могу засовывать и извлекать файлы. А есть ли способ засовывать файлы в виртуальную машину так, чтобы это работало на других операционных системах?

Нужен максимально простой способ...

 , ,

I-Love-Microsoft
()

Не удается скомпилировать код а asm вставкой

Форум — Development

В теме Как включить графику или хотя бы текстовый цветной режим? установил QEMU ARM64. Там Debian 10, и есть gcc 8.3

Есть пример: http://www.ethernut.de/en/documents/arm-inline-asm.html

Есть простая программа:

#include <stdio.h>
int main()
{
printf("test\n");
asm("mov r0, r0");
}
При компиляции gcc test.c -o test пишет: operand 1 must be an integer register. Жалуется на строку mov r0, r0. Она же из примера взята, что ему не нравится? Пробовал r20, r30, всегда один ответ.

 , , ,

I-Love-Microsoft
()

Как включить графику или хотя бы текстовый цветной режим?

Форум — General

По этой восхитительной инструкции https://translatedcode.wordpress.com/2017/07/24/installing-debian-on-qemus-64... затащил Debian 10 arm64 (aarch64) на qemu. Правда установить нормально удалось только под Linux, к тому же по инструкции там нужно выдрать ядро и инитрамфс при помощи утилит, которые есть лишь в Linux. Слава Linux-у.

Когда я запускаю в инсталлятор среде konsole на Linux то у меня есть цветная консоль, правда только в инсталляторе, в рабочей системе всё черно белое.

В оффтопе, а чтобы нести ARM и Linux в массы я вынужден сначала это дать при помощи QEMU 64-bit для Windows, и тем более консоль паршивая, там даже черно белый режим тошнотен, работать даже в mc невозможно, нереально даже.

Получается запустить только в nographic режиме, что в Linux что в Windows, SDL GTK отрисовка или не работает или не показывает ничего. Всё пробовал. Как получить графику, а мне хотя бы консоль цветную нормальную???

P.S. Пробовал через PowerShell будь он проклят, не понимает тоже символы раскраски консоли.

P.P.S. Пробовал QEMU окошко режим serial0, что странно, оно загружает Debian с цветными строками. Когда система стартовала - только ЧБ режим и тошнотные поехавшие псевдографические символы, всё не так как ожидается и работать тоже невозможно!

qemu\qemu-system-aarch64 -M virt -m 256 -cpu cortex-a53 -kernel vmlinuz-4.9.0-11-arm64 -initrd initrd.img-4.9.0-11-arm64 -append "rootwait root=/dev/vda2" -drive if=none,file=hda.qcow2,format=qcow2,id=hd -device virtio-blk-pci,drive=hd -netdev user,id=mynet -device virtio-net-pci,netdev=mynet

Кстати без rootwait не находит корень и валится. Сеть работает, интернет есть софт ставить, но текстовый режим является огромной проблемой, пользоваться невозможно, текст редактировать нельзя толком, даже mc не отображается даже в чб режиме.

update: Тема решена, вот ссылка на решение Как включить графику или хотя бы текстовый цветной режим? (комментарий) После установки, достаточно убрать -drive file=debian-10.1.0-arm64-netinst.iso,if=none,format=raw,id=iso -device usb-storage,drive=iso и оно будет стартовать с основного носителя.

 , , ,

I-Love-Microsoft
()

Годный симулятор архитектуры ARM Cortex-M/A

Форум — Development

Нужен симулятор архитектуры ARM. Чтобы тестировать на нем ассемблерные вставки в код на языке Си. Есть ли что-то подобное, например с arm-gcc и qemu, готовая сборочка?

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

 , ,

I-Love-Microsoft
()

Не ясна причина утечки памяти

Форум — Development

SUMMARY: AddressSanitizer: 350261968 byte(s) leaked in 487181 allocation(s)

Везде где есть prepare или step оно считает за утечку. А в процессах действительно видно как идет зажор памяти:

int db_query(void *db, char *query)
{
	sqlsdb_state *state = (sqlsdb_state*) db;
	sqlite3_stmt *stmt = NULL;
	int rc;

	rc = sqlite3_prepare_v2(state->sqlite, query, -1, &stmt, NULL);
	if(rc != SQLITE_OK) return rc;
	rc = sqlite3_step(stmt);
	sqlite3_finalize(stmt);
	return rc;
}
Если sqlite3_prepare_v2 не вернул SQLITE_OK, то должен ли я вызывать sqlite3_finalize? Так вот утечка сохраняется, несмотря на то что всегда там SQLITE_OK

Пробовал и с бибилиотекой из состава Ubuntu 18.04, так и с https://www.sqlite.org/2019/sqlite-amalgamation-3290000.zip прямо подключенного к проекту, чтобы яснее видеть отладочные символы и места утечек - результат один

Иногда еще показывает на sqlite3_open_v2 как место утечки, хотя close_v2 нормально вызывается

ЧЯДНТ?

 ,

I-Love-Microsoft
()

Расширенная отладка кода в gcc

Форум — Development

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

Пользуюсь Valgrind (он же и профилировать позволяет очень точно, не статистически), помогает многое находить по памяти, но хочется еще больше каких-то проверок насыпать. Код очень важный, но тестированием покрыть будет сложно. А вот отловить сбои в процессе работы на тестовых данных - это реально.

 , ,

I-Love-Microsoft
()

Как продолжить обновление Ubuntu 14.04 -> 16.04?

Форум — Linux-install

Обновил на ноутбуке с Ubuntu 14.04 до 16.04, всё прошло идеально как часики, заработало всё как прежде. Решил что обновление сработает нормально и на основном ПК.

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

Возможно ли как-то продолжить обновление? Или как-то его запустить заново и довести до конца? Там 95% примерно пакетов успешно обновилось...

Осложняется тем, что хомяк шифрован. Думаю это не проблема должна быть. На крайняк, есть внешний USB HDD на 1 Тб и я спокойно выцеплю свои полудрагоценные данные и установлю заново (драгоценные фоты хранятся еще на другом отдельном USB HDD), но может есть способ всё же выправить ситуацию?

Я там Xubuntu desktop наворачивал, возможно этот эксперимент подкосил ненадежный скрипт обновления, в котором не додумались сделать пропуск каких-то этапов второстепенной важности типа не базовых пакетов. Еще драйвер nVidia ставил отдельно из run-инсталлятора, а не из реп ввиду новизны карты на тот момент.

Решение найдено, подробности в моем последнем сообщении в теме: Как продолжить обновление Ubuntu 14.04 -> 16.04? (комментарий)

 ,

I-Love-Microsoft
()

Расширение языка C поверх C89/99

Форум — Development

Помню на гитхабе смотрел некий проект, но не могу вспомнить его название. Не Vala. Какой-то язык, расширенная версия Си, с поддержкой классов и многого другого. Напомните пожалуйста его название, или просто посоветуйте проекты. Там кажется даже сигналы слоты эвенты были, или их суррогат...

Хочется на платформе, которая застряла на C89/99 и на старой версии C++, что-то современнее и удобнее.

А еще интересует, чем бы заменить Qt? Нет возможности там Qt 5 использовать, как бы мне этого ни хотелось. Графику заменю на Nuklear, а вот чем заменить базовые классы Core, типа контейнеров?

Может есть еще хорошие классы для работы с памятью и массивами, но не STL, а что то ближе к Qt?

 , objects,

I-Love-Microsoft
()

Интернет эквайринг с поддержкой refund

Форум — Web-development

Учтите, что я физ лицо. Но если нужна более серьезная регистрация для предложенного способа - мне придется на это пойти

Итак, то что работает с «физиками» это Робокасса. Я ее освоил, работает на моем тестовом сайте (если кому надо будет потом помочь, кастаните меня). Выяснилось - refund там только вручную, код сайта не может осуществить подобное в автоматическом режиме!

Какие есть способы, в которых гарантированно поддерживается refund, который можно сделать на основании некоей transaction id, что будет лежать у этого сервиса или банка, на основании реквизитов в которой по моему запросу, будет осуществлен возврат?

Есть у кого банки или сервисы на примете? Желательно для начала не сложнее ИП регистрация

 ,

I-Love-Microsoft
()

Как настроить табы вместо пробелов

Форум — Development

Стал юзать редактор Atom (не знаю почему, вроде годный), когда просто возможностей хорошего редактора Kate стало несколько не хватать.

Как в Atom сделать так, чтобы отступы в редакторе для Python были всегда табы шириной 4 пробела, вообще чтобы табы были.

P.S. Си-шный код я еще настроил чтобы оно как мне надо обрабатывало. Но дело в том, что я ненавижу пробелы в качестве отступов, не только я но и все мои коллеги а мне писать код с ними в едином стиле надо, так что в любом случае это надо настроить.

 ,

I-Love-Microsoft
()

Что учитывается при переводе ctime

Форум — Development

Есть функция ctime и она может перевести в читаемый формат значение из миллисекунда начиная с 1970 года. Нигде не могу найти, вот эта функция учитывает високосные годы, а что она еще учитывает?

На сколько миллисекунд ежегодно увеличивается время года? Где-то пишут 2 миллисекунды за столетие, кто-то что на 250 миллисекунд в год, еще пишут про какие-то 2-3 секунды в год. Непонятно какому источнику верить, и что в реальности используется в дате ctime?

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

 

I-Love-Microsoft
()

Где фокс теперь хранит настройки дополнений?

Форум — Web-development

Кое какая задумка перестала работать, когда в FF начиная примерно с 64+ я обнаружил, что настройки расширения хранятся теперь не в browser-extension-data. Может у других расширений оно там и продолжает хранить, но я подозреваю что появился некий другой механизм хранения, и он может быть в другом месте?

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

 ,

I-Love-Microsoft
()

SQLite3 насколько велика фрагментация

Форум — Development

Допустим, есть база SQLite 3.27.x. В нее ежедневно попадают десятки тысяч записей. Но два раза в сутки (каждые 12 часов) все старые записи, старше недели - удаляются. Носитель - CompactFlash.

Благодаря тому что это CF флэшка, хочется верить, что фрагментация не приведет к замедлению более чем в два-три раза скорости чтения базы (выполняя запросы, не просто копирование файла), если сделать кэш в ОЗУ побольше (есть соответствующая pragma).

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

Или при таком режиме, удаляя сразу большой шмат данных за 12 часов, будет очищаться большое сплошное пространство внутри файла и фрагментация на краешках этих временных интервалов будет ничтожной? Фрагментация подозреваю касается лишь БД с произвольно добавляемыми и удаляемыми записями, у меня же всё плоско, монотонно и последовательно.

Данные просто добавляются монотонно последовательно, единственное что происходит в плане редактирования - тупо удаление старых записей за период 12 часов одним махом. В процессе прочистки отдельных таблиц - новые данные не добавляются.

 ,

I-Love-Microsoft
()

Сервисы приема платежей (с возвратом)

Форум — Web-development

Требуется добавить на сайт, инструмент разработки которого еще только на стадии выбора, добавить некий сервис, чтобы можно было принимать платежи максимально разными способами, будь то киви ЯД visa/мир смс и прочие подобные. У сервиса должна быть возможность вернуть средства (за вычетом комиссии, разумеется).

Что можете посоветовать в этой теме? Я совершенно не представляю, хотя как пользователь юзал очень разные, их много. Или стоит сосредоточиться на чем-то одном, но с наименьшей комиссией, с чем проще работать?

Как срастить с сайтом. Допускается любой API, думаю можно срастить при помощи ZerocICE ZeroMQ и прочих там штук между языками и фреймворками.

 ,

I-Love-Microsoft
()

Как работать с потоками в UE4?

Форум — Development

Посоветуйте, пожалуйста, хороший пример по работе с потоками в рамках движка Unreal Engine 4. Также интересует как в потоке выводить отладочные сообщения, потому что в руководствах на оф сайте предупреждают чтобы не пользовались UE_LOG в потоке, а как тогда отлаживать?

Чем меня не устраивают существующие примеры? Они какие то невнятные, не компилируются, список хедеров почему-то убран в примерах (нахрена???). Я накатал простой пример, он компилируется, но намертво вешает UE4Editor.

Вот код: http://paste.org.ru/?vn3sqn Он у меня виснет, когда я делаю так:

void Atest::BeginPlay()
{
	thread.Init();
	thread.Run();
...

 , ,

I-Love-Microsoft
()

RSS подписка на новые темы