LINUX.ORG.RU

Продолжается работа над портированием Lorsource на Rust

 , , , ,


0

4

Продолжается работа над портом движка форума LINUX.ORG.RU на Rust.

Целью изначально было создание полностью совместимого на уровне интерфейсов REST API и доступа к БД порта кода написанного на Java.

Проект казался интересным лично для меня, как с точки зрения изучения работы самого форума, так и реальная работа с большим объемом чужого (открытого) кода с применением GPT.

Первые попытки дали очень скромный, не пригодный ни к чему результат, в виду того, что я не верно оценивал возможности ИИ в контексте разных уровней подписки. Выяснилось, что для подобной задачи не стоит рассчитывать быстрые результаты. Попытка использования начальных уровней подписок привела к перерасходу бюджета. То что удалось получить с базовыми возможностями агентов, было настолько плохо, что я принял решение начать портирование с чистого листа. Так появилась новая ветка в репозитори GitHub

В итоге используя ChatGPT Pro x20, удалось добиться результата, который видно на скриншотах. Более того, такая подписка даже является избыточной.

Работу веду по выходным, достигнутый результат потребовал 4 выходных дня.

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

Преимущества порта которые видны без сложных тестов:

  • мгновенный старт
  • низкое потребление памяти
★★★★★

Проверено: cetjs2 ()
Последнее исправление: unclestephen (всего исправлений: 2)

требую добавить реакцию «вдвойне ненужно»

mittorn ★★★★★
()

Last commit message

init

08.08.2026

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

Ygor ★★★★★
()

Преимущества порта

Время сборки сколько теперь? Обычно почему-то стыдливо отводят глаза в сторону, когда всплывает неудобный вопрос об увеличенном времени сборки в разы при миграции на Rust.

nullb0t
()
Ответ на: комментарий от nullb0t

А какая разница - сколько там время сборки? Тебе же не надо собирать для каждого запуска, например.

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

LightDiver ★★★★★
()
Ответ на: комментарий от unclestephen

Не замерял, время старта гораздо более критичный параметр, например при обновлениях.

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

Вообще это одна из проблем языковых моделей, они позволяют проделывать большой объем работы не задаваясь вопросом, а надо было ли

Gary ★★★★★
()
Ответ на: комментарий от LightDiver

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

nullb0t
()
Ответ на: комментарий от nullb0t

Go в свое время взлетел в том числе и по этому параметру, так как там время сборки практически мгновенное.

Возможно го взлетел вообще не поэтому. Как я заметил за последние 20 лет, продукты взлетают не по какой то там причине, а потому что их продвигают определенныеы компании. Вот они сказали, что это хорошо - значит это хорошо. Все.

Ну и вон в соседней теме жалуются, что го нахрен никому не упился сейчас и популярность падают. Видимо потому что эти «правильныые люди» сейчас продвигают раст.

Но этот клятый раст хоть и можно использовать для подобного, но нахрена? Все что я видел на нем в данном контексте - невнятные демки. Ни одного реального крупного проекта. Он хорош вообще в другом.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Вот он нашел себе вариант, ну и пусть пилит хоть что то.

Мне кажется, так не будет работать, учитывая что пилит не он, а чатгпт

pihter ★★★★★
()
Ответ на: комментарий от pihter

эээ может «эт я(пПечкин) такой злой был потомучто теперь с велосипедом»

так что да успех продукта общего труда тс+языкастая_модель вполне вероятен

qulinxao3 ★☆
()
Ответ на: комментарий от qulinxao3

Мне точно так же три года назад сначала подогнали готовый скрипт на луа

#! /bin/env lua
print ("fdsa");
local signal_file_name = '.coffee'
local signal_file = os.getenv('HOME')..'/'..signal_file_name;
local file = io.open(signal_file);

if(file) then
    local stat = file:read('*all');
    file:close();
    if stat == 'working' then
       file = io.open(signal_file,'w');
       file:write('stop');
       return 0;
    else
       file = io.open(signal_file,'w');
       file:write('working');
       file:close();
       stat="working";
    end
    local timer = 430;
    -- получаум ID прогессбара
    local qpopen = io.popen('kdialog --progressbar "Кофе" '..timer..' ',"r");
    local qprogress_id    = qpopen:read("*l");
    local play_sound = true;
    -- теперь мы крутим цикл не вечно, но оставляем его
    while(stat=="working") do
            -- заводим цикл отправки сообщений прогрессбару
            for coffee=0, timer ,1 do
                -- теперь проверяем стастус в цикле 
                -- отправки счётчика прогрессбару
                file = io.open(signal_file,'r');
                stat = file:read('*all');
                file:close();
                -- если повторно нажать хоткей
                -- значением поменяется на стоп
                -- выходим из цикла прогрессбара
                -- и задаём оснанов для основного цикла
                if stat == "stop" then 
                    play_sound=false; 
                    stat="stop"
                    break; 
                end
                --шлём счётчик прогрессбару
                local qdbus = 'qdbus '..qprogress_id..' Set "" value '..tostring(coffee)..' >/dev/null';
                os.execute(qdbus);
                os.execute("sleep 1")
            end
            -- проигрываем музыку тогда и только тогда когда завешилось естественно
            -- если прервали играть не надо ибо зачем, а главное ****я
            if play_sound == true then 
               -- если музыка не просто тилинь тилинь короткая, а целая песня 
               -- то будет играть до победного и только тогда всё завершится корректно
               -- если тут музыка длинная то надо делать детекст нажатия в окне
               -- прогресс бара кнопочки "закрыть" и в фоне грохать музыку
               -- для этого уже надо завести отдельный поток который будет это делать
               -- музыка просто тилинь-тилинь недолгая
               os.execute("mpv --force-window=no /home/diver/Загрузки/Музыка/12/coffee.mp3");
               os.execute("killall kdialog_progress_helper");
               file = io.open(signal_file,'w');
               file:write('stop');
               file:close();
               break;
            end
            -- всегда грохаем прогресс бар после достижения таймером финала
            os.execute("qdbus "..qprogress_id.." org.kde.kdialog.ProgressDialog.close");
            -- после того как в любом случае завершился прогресс бар 
            -- посылаем сигнал сами себе что мы всё. 
            file = io.open(signal_file,'w');
            file:write('stop');
        end
    end

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

До этих двух ступенек мне просто не было понятно с чего вообще начать. Ну я и начал.

Отсутствие опоры оно гораздо хуже переизбытка информации.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)

Продолжается работа над портом [******] на Rust.

Это, видать, заразно...

Somebody ★★★★
()
Ответ на: комментарий от LightDiver

остальной еще не переделанный код будет ансейф

Это не наш, не «ржавый», метод!.. :))

Somebody ★★★★
()

Первые попытки дали очень скромный, не пригодный ни к чему результат, в виду того, что я не верно оценивал возможности ИИ в контексте разных уровней подписки. Выяснилось, что для подобной задачи не стоит рассчитывать быстрые результаты. Попытка использования начальных уровней подписок привела к перерасходу бюджета. То что удалось получить с базовыми возможностями агентов, было настолько плохо, что я принял решение начать портирование с чистого листа. Так появилась новая ветка в репозитори GitHub

Сразу видно, что впервые за долгое время текст руками набирал, ух кокой грамотей!

Bfgeshka ★★★★★
()
Ответ на: комментарий от Gary

буду я ради игрушки ещё 2 одинаковых сервера поднимать))

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от Bfgeshka

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

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от Dimez

торчков

по себе, говорят судить о других нельзя, но именно так все и делают

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от seiken

Будут судебные иски.

расскажи подробнее, какие подобные риски ты видишь

ЛОР-революцию/мятеж

я уже не в том возрасте, чтобы устраивать революции

Без революционной идеологии ничего не взлетит

а от чего сейчас более всего возгорают пердаки? из за чего в этом треде примерно треть меня поддерживает, или по крайней мере понимает, а треть травит, при этом не понятно, понимает ли большинство из этих 2/3 о чем они говорят…

в общем оказывается идеи есть, озвучивать пока не буду

unclestephen ★★★★★
() автор топика
Ответ на: комментарий от LightDiver

Отсутствие опоры оно гораздо хуже переизбытка информации.

по ситуации

продолжая велосепедопритчи

кому колёсики(к заднему) помогли кому отсутсвие седла ets - существенная часть популяции может ездит на двухколёссах

однако вот жанглирование мало распространённый навык - что скорее всего хорошо.

и в целом о навыках(как плода повторов) - не все навыки полезны(и наличие тех или иных навыков в той или иной страте эпохе симптом чего то большего)

т.е. в целом инструментарий это польза при этом высокой кухни не было до какого то момента в истории

qulinxao3 ★☆
()
Ответ на: комментарий от ggrn

@unclestephen я серьёзно, ну никто так не делает в 21 веке. Посмотри как в оригинале https://github.com/maxcom/lorsource/blob/master/src/main/scala/ru/org/linux/comment/CommentDao.scala почитай, подумай. Шо как малый

ggrn ★★★★★
()
Последнее исправление: ggrn (всего исправлений: 1)
Ответ на: комментарий от unclestephen

расскажи подробнее, какие подобные риски ты видишь

Вообще говоря, ничего кроме глупости на ум не приходит. Например, Максим Валянский задним числом сменит лицензию на исходники на такую, в которой ЛОР как бы опенсорс, но натравливание на него ИИ’шки с целью получить функциональный эквивалент на другом ЯП будет считаться запрещённым актом реверс-инженерии. Хотя, не думаю, что у нарушения такого вообще есть какая-то судебная перспектива.

seiken ★★★★★
()
Ответ на: комментарий от unclestephen

а от чего сейчас более всего возгорают пердаки?

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

Ну, типа, как я позавчера проснулся в отдельном номере в городе Ульм, в 4 часа утра, потому что оказалось, что центр города - клоака для всякой швали. С понедельника по пятницу они недозагружены, потому что работают на говно-работах с (условно) 8 до 5, строго по распорядку, инструкции, без элемента творчества. За неделю они не устают, потому что мозги их вообще не напрягаются, а на фитнес-студию у них не хватает денег - всё уходит на оплату жилья, говнохавчик и зарядку электроскутера.

И вот, из-за этой недоусталости и отсутствия женской половины, они выходят ночью с субботы на воскресение, в этот час, который у занятых полностью людей, посвящен покою и единению с Морфеем и о чём-то переругиваются с себе подобными.

Недалеко от меня находится Дахау - это совершенно другая крайность, когда людям даже не давали никакого шанса, приговаривали к смерти просто, потому что не из того лона они появились на этот свет…

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от seiken

В крайнем случае, добропорядочный гражданин в их понимании всё свободное время уделяет жене и/или детям.

именно поэтому я вайбкодю, с одной стороны работа с кодом, с другой, остаётся время на семью

unclestephen ★★★★★
() автор топика

Помнится, движок ЛОРа писали с использованием TomCat.
Вы собираетесь TomCat на Rust перепереть?
Или моя память сильно устарела.

vada ★★★★★
()

А движок может автоматически добавлять пробел перед знаком вопроса ?

Jullyfish
()
Ответ на: комментарий от qulinxao3

кому колёсики(к заднему) помогли кому отсутсвие седла ets

Какие то странные у вас сегодня аналогии. Я пока не встречал тех, кому помогло отсутствие седла. А вот я начинал как раз с велосипеда с 3 колесами. После него поехал на обычном взрослом с первого раза. Просто сел и поехал.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

ща есть велы которые в комплекте без штыря с седлом - трюковые вроде как

там ещё на переднем колесе на оси вращения подножки

научится на нём вполне обычно ездят стоя - если сидят то на заднем крыле

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

qulinxao3 ★☆
()
Ответ на: комментарий от qulinxao3

ща есть велы которые в комплекте без штыря с седлом - трюковые вроде как

И кто то, не умея изначально кататься на велосипеде, учится на профессиональном трюковом?

Но в целом это вторичное. Многие когда учатся кататься, до седла в принципе не достают. Я как минимум первый год катался, ниразу не сев на седло. Не ну садился, но тогда не доставал до педалей.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 2)
Ответ на: комментарий от unclestephen

Как я уже писал выше, раньше, когда каждый придумывал движок на коленке, писали всякое. Хотя, в lorsources таки порядка сильно больше, чем у тебя сейчас. Ну и опять же. Ты то, что сейчас делаешь, не отрефакторишь. Это будет полное переписывание с нуля. Так как данная каша данных и логики - это ужасно. На это больно смотреть даже мне.

shell-script ★★★★★
()
Ответ на: комментарий от ggrn

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

tzekunosyosha
()
Ответ на: комментарий от mamina_radost

Дядя Стёпа был приговорён к двум годам пожизненного расстрела.

Set440 ★★
()
Ответ на: комментарий от thesis

Попытка потроллить дида его Сишечкой - защитана. А чинить-то Сеньера кто будет? ИИ будет разрабатывать ИИ по промптам джунов.. Круто-круто, жду с нетерпеньем.

vvb333007
()
Ответ на: комментарий от vvb333007

Попытка потроллить дида его Сишечкой - защитана.

Фантазии какие-то.

А чинить-то Сеньера кто будет?

Эникей с отверткой, как всегда. Под чутким руководством самого помидора.

thesis ★★★★★
()
  1. Зачем?
  2. Ты хоть вникаешь в то, что машина тебе стругает? Вдруг она в коде бэкдоры оставляет, чтобы потом тебя же взломать?
PunkPerson ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.