Опубликован выпуск платформы совместной разработки Forgejo 12.0, позволяющей развернуть на своих серверах систему для совместной работы с репозиториями Git, напоминающую по решаемым задачам GitHub, Bitbucket и Gitlab. Forgejo является форком проекта Gitea, который в свою очередь ответвился от платформы Gogs. Отделение Forgejo произошло в 2022 году после попыток коммерциализации Gitea и перехода управления в руки коммерческой компании. Проект Forgejo придерживается принципов независимого управления и подконтрольности сообществу. На использование Forgejo перешёл Git-хостинг Codeberg.org. Код проекта написан на языке Go и распространяется под лицензией GPLv3...Подробнее: https://www.opennet.me/opennews/art.shtml?num=63601
> добавлен файл robots.txt для информирования ботов о разделах, которые не следует индексироватьА боты такие: "А, ну хорошо, не буду тогда индексировать".
Сейчас уже нужно использовать robots.txt 2.0 - следующее поколение защиты, но уже от ии скейперов.
Из свободного есть https://github.com/TecharoHQ/anubis
В проде используется, на реальных сайтах лично наблюдаю либо его, либо клаудфлару. И маскот кавайный, няшный)
Уже научились обходить, используя обычных юзеров https://opennet.ru/63568
Так вот что за девочка, которую я видел много раз.
Только вот это bullshit за отключенный JS выводит текст с анимешной неко-девочкой.
Наконец-то проект на нормальном языке, а не сборная солянка. В итоге и приложение получилось легковесное и много не жрёт.
> Наконец-то проект на нормальном языкено оно на golang. наверное, вы ошиблись новостью, потому что ляпнуть "много не жрёт" про статическую линковку - нужно постараться
А в чем проблема?2021М у меня оно занимает в памяти, для сравнения udiskd занимает 601M, а mariadbd 1834M, для полноценного приложения не так уж много, сервисы систем-д на пару с нетворкменеджером жрут гораздо больше суммарно, так и чего теперь ручками dhcpcd запускать?
Ничё себе, много не жрёт. 2021 Мб? Это какой–то позор.
может, у него какие-нибудь snap-ы или flatpack-и (для статик-линковки самое то, лол)у меня в принципе на серваке со всем софтом занято в сумме 1.1Gb. ичсх, больше всего жрёт dendrite на golang, два юзера на серваке, ппц
> А в чем проблема?Вы на ник посмотрите внимательно, - поймете
(Расшифровка: 12 лет отроду (y=Year, o= Old) эксперт)
"Эксперт" считает, что в контейнере он очень много наэкономит на динамической линковкe, а то, что привяжется к конкретным системным либам, так он накопилирует бинарей на все версии ОС начиная с года когда он родился, ну для "легкости распространения по всей платформе" с зоопарком не совместимых glibc
какие контейнеры, уникум? а ну-ка ткни себя же носом в то место, где я писал про контейнеры
А чем контейнер хуже?
Если изоляция в контейнерах осуществлена средствами user namespaces, под одним запущенным kernel, память вполне себе разделяется (используется совместно) между ними.
А ещё у нас каждое второе десктоп-приложение (мессенджер, текстовый редактор и т.п.) - это браузер (electron, qtwebчтототам и т.п.) с кучей вкладок, по дочернему процессу на каждую.Вот у меня flatpak-ом запущен io.gitlab.librewolf-community с runtime/org.freedesktop.Platform.
Дочерний /app/lib/librewolf/librewolf на вкладку: VSZ ~ 2.5 GiB, RSS ~ 200 MiB.
Родительский /app/lib/librewolf/librewolf суммарно: Group VSZ ~ 55 GiB, Group RSS ~ 3 GiB.
Вся система: used = 2.0 GiB, shared = 460 MiB, buff/cache = 1.9 GiB
Ощутимая разница. Не?
Возможно, это больше за счёт кэша. Но разница есть, когда у процесса или у, загружаемых им через dlopen, библиотек много разделяемых зависимостей. Какой-нибудь libxul.so на диске занимает почти 160 MiB сам по себе, плюс в разделяемых у него половина дистрибутива числится. А кроме него ещё всякие кодеки, интерпретаторы и прочие самые необходимые в вебе вещи.
Это на самом деле довольно много. База данных понятно почему жрёт, тупо кэш.А вот в udisksd явно утечка памяти, это сервис монтирования дисков, господи боже мой. Пришла команда, монтируй диск, жди новой команды. Там 50 метров за глаза должно хватать, и это если вообще не париться за расход памяти.
Что именно может кешировать Forgejo мне непонятно совсем, надеюсь, я просто чего-то не знаю.
Эксперты опеннета как есть, по 1 циферке утечки памяти детектят....то что оно месяцами работает и не вылетает конечно пофиг при отсутствии свопа, то что речь идет о виртуальной памяти процесса тоже пофиг, блин, бро, а слабо запустить htop и посмотреть сколько у тебя самого чего, современные дистры мало чем отличаются. или тебе изподвинды недосуг, так а чего тогда, лишь б накинуть, а может сказать какая циферка там у фф? так тебя же кондратий хватит, в чем проблема что у системы есть куча памяти и она ее использует? у меня и на телефоне 16Гб озу и что, причем и на новом и на старом, 4 ядра 4 гига, это про коре 2 дуо - бро, 20 лет прошло, закон Муара помнишь, ну посчитай сколько памяти должно стать, на пальцах х10 - 64Гб - торт, ну все же просто.
2гига это как бы дохрена, это даже не бюджетный впс уже.
И да, эти 2гб оно в каком состоянии жрет, как запустилось без проектов в нем? А если начать им пользоваться, проктов туда назаливать, какой нибудь линукс с блендером? А если туда попрут 10+ команд с 15-20 чел. в каждой? В таких сценариях сколько оно жрать будет?
> "много не жрёт" про статическую линковку - нужно постаратьсяПричем здесь вообще статическая линковка? Я понимаю, еще сборщик мусора, но линковку-то надо за уши притягивать.
я про оперативу
> я про оперативуНа работу какую-нибудь не пробовали устроиться чтоб на оперативу накопить? А да, в 12 наверное еще не берут... ну так собак там выгуливать или траву стричь, можно с одной прогулки оправдать покупку памяти
у меня хватает оперативы, но тратить 2 гига, когда можно тратить 2 мб, я не будусобак и без меня отлично выгуливают, им даже платить не нужно (собакам)
а вас не смутило, что там и мария жрет не на много меньше, это память с учетом всех библиотек, программы которые кушали по 2мб остались в прошлом остается понять и простить, либо некрофилией страдать..на том же мини-пс с 64гб озу, крутится виндовс10 в виртуалке, которая иногда конвертируется в raw образ полностью упихиваясь tmpfs, просто чтобы не убивать nvme, и оттуда уже архивируется в сквошфс, что тоже сьедает не мало озу, но ее хватает..
а если вдруг надо еще больше, то есть второй мини-пс, он поскромнее, так как ему лет 10, но по 10-гигабитной сети файлеки образы летают легко.
10 гигабитный коммутатор покупал за 10к, смешные деньги, зато абсолютно пофиг где чего было и где должно быть, просто комфортное пространство для цифровой жизни, где не надо считать каждый килобайт
> конвертируется в raw образ полностью упихиваясь tmpfs, просто чтобы не убивать nvme
> не убивать nvmeИ эти люди имеют наглость кому-то советовать найти работу. Как-нибудь поинтересуйся сколько терабайт твой nvme записал за время жизни и прикинь как скоро он такими темпами достигнет максимальных значений, заявленных производителем. И перестать страдать хернёй.
Ну давай подумаем вместе, это бесплатно, это не требует какихто особых действий, временная папка создается в предназначенном для этого месте, если по каким-то причинам кэш nvme занят, то это быстрее, и это пусть даже гипотетически продлит жизнь железке, куча плюсов, 0 минусов."Эти люди", наверное инженеры, предлагают использовать временную быструю память, чтобы временно сохранить там чтото...наглые твари,...
Эти инженеры — они сейчас с нами в одной комнате? Бюджетный NVME может обрабатывать тысячи параллельных i/o, каждый со своей очередью. О каком именно из всего разнообразия кэшей ты сейчас говоришь? Ты понимаешь, что твоя железка без всяких наколенных оптимизаций протянет 15-20 лет и будет выкинута не потому, что сломалась, а потому что перестанет быть нужна из-за своих скромных размеров или просто устаревшего интерфейса? Инжениринг уровня локалхост с авито.
15-20 лет, ты давно такие железки в природе то видел?
Ну вон у меня старый DVDюк ... 2012 года выпуска. До сих пор читает диски. Что с ним не так станет ещё через 10 лет ?
15-20 лет с потолка взял? Как можно что-то рассчитать, если ресурс измеряется записями, а для каких задач взята железка ынжынер скромно умолчал.
И почему вообще, с потолка взятый, потолок в 15-20 лет - это норма? Тебя бежать спотыкаться "интерфейсы" обновлять, чтобы работающее железо выкинуть, кто-то заставляет? Лучше сознайся добровольно, кто этот растратчик, а то пойдешь как соучастник.
Тыртырпрайз, у тебя горизонт планирования завален.
Я пробовал. Сказали: "Слишком умный. Нам не подходишь". А мест, где я был бы глупее начальника, похоже, на свете не осталось. Что делать? Куда податься? Везде капитализм и наёмный менебжмент.А если серьёзно, то во-первых оперативу рационально (то есть - экономически целесообразно) тратить на что-то полезное. А не забивать мусором до отказа, пока по её душу не придёт OOM Killer и начнёт всех убивать. Во-вторых, данные перед попаданием в RAM зачитываются с диска. Иногда с HDD диска. А это не быстро. Иногда совсем не быстро. Особенно небыстро, когда данных на диске много. И все они напихуены в статически-компонованный бинарник. Предвосхищая, SDD под некоторые задачи с интенсивным использованием из-за быстрого расхода ресурса не годится всё по тем же, экономическим, причинам. Но если кто-то готов забивать гвозди микроскопом или прививаться туалетной бумагой, не осуждаю, искренне сочувствую, поправляйтесь там, а то работу /какую-нибудь/ работать будет некому. Кого тогда эксплуатировать? На чьём горбу тащить самую дорогую в мире яхту к морю? Каких собак выгуливать, а котов - пасти? Зелёненькую-то, родимую, как стричь? То-то.
> Сказали: "Слишком умный. Нам не подходишь".Ну ... ты хочешь найти контору которя скажет: "Слишком тупой. Нам подходишь, нам такие нужны!" ?!?!?
Ну ... удачи :)
IMHO 2GB под такую задачу... это даже на каком-нибудь Electon - надо ещё постараться так сделать. Они что там так кэшируют содержимое пользовательского диска гигантскими порция перед отправкой на свой сервер, что ли.Так это ведь с подзадерживаемым развитием в продаже объёмов памяти... Ведь сейчас её на не серверах - обычно как 10 лет назад было, пусть 32 GB. А, ещё 20 лет назад - было типично в 1000! раз меньше её, т.е. сейчас должно бы быть в x500 раз больше чем 10 лет назад - 16TB,
т.о. я так и вижу как такие как вы сейчас бы говорили:
- "2ТБ под эту git-приблуду - не так уж и много же и даже всем доступно"...
> обычно как 10 лет назад было, пусть 32 GBдокладываю, 10 лет назад работал в городском МУПе, там было 7 серверов по 128Гб озу в каждом
за 5 лет до того работал в коммерции, там меньше 64гб озу на серверах не видел
не москва, не миллионник, и даже не полумиллионник, жопа мира как есть
> докладываю, ...Сначала читать научиться не плохо было бы:
> Ведь сейчас её на не серверах - ...
Алё, это твое golang - чисто гугловский вендорлок. Глава гугла позвонит разрабам го и скажет, что мол завтра все обязаны слать телеметрию с банковскими данными! Как тебе такое?
Выше написавший ответит: "Ну так пока же без банковских данных. Поэтому спим спокойно." ;)
Проверял что ли?...
андроид тоже вендорлок и что? всем массово закупать айфоны? или реанимировать виндовсфоны? уж микрософт, то точно таким страдать не будет> Глава гугла позвонит разрабам го и скажет
Сделают форк и будет оно жить дальше, бесплатное и свободное..
Любой разраб любого продукта может начать чудить, суть опенсорса ровно в том и есть, чтобы когда один сломается можно было заменить другим, с другим названием мб, но можно.
Сейчас бы термины не к месту использовать. Вендорлок - это привязка к _поставщику товаров или услуг_. То есть если тебе продали железку суппорт на которую может делать только сертифицированный вендором специалист - это вендорлок. Если у железки есть функция совместимая только внутри линейки вендора - это вендорлок. А считать вендорлоком опесорсный софт только на том основании, что его разрабатывает вендор, - это надо сильно удариться головой. На том же основании можно считать вендорлоком вообще любой софт.
Сложно мыслишь. Тут надо проще: всё, что не nih, всё вендорлок. Почти Егор Летов.
Любой - нельзя. Разрабатываемый эксклюзивно коммерческой компанией, требующий высокой технической экспертизы и большого количества человекочасов на сопровождение - вероятно, можно. Не в строгом значении термина, разумеется. Определяющий фактор - готово ли (и объективно сможет ли?) сообщество поддерживать этот проект, если он останется без материальной поддержки компании-разработчика. "Да" - НЕ вендорлок. "Нет" - "вендорлок".
Да зачем эти полумеры? Давай просто от балды назначать значения любым терминам, так значительно удобнее. Можно вообще в любом споре победить не вставая с дивана.> готово ли (и объективно сможет ли?) сообщество поддерживать этот проект
Зависит от сообщества, не так ли? Впрочем, как мы неоднократно могли убедиться, опенсорсное сообщество даже собственные штаны без помощи корпораций поддержать не сможет.
> Глава гугла позвонит разрабам го и скажет, что мол завтра все обязаны слать телеметрию с банковскими данными! Как тебе такое?Ну M$ слал, шлёт и будет слать - везде и всюду. Многие возбудились?
Любой ваш код (например, хеллоуворлд), скомпилированный в Visual Studio 2015 Update 2 под Windows 7 и Windows 10, как в отладочных, так и в релизных сборках, содержал инъекцию телеметрии: https://www.infoq.com/news/2016/06/visual-cpp-telemetry/. Подтверждение от сотрудника компании: https://www.reddit.com/r/cpp/comments/4ibauu/comment/d30dmvu/.
А вот, ближе к обсуждаемой теме, M$ внедрил отправку телеметрии в свою сборку компилятора Go, который используется, в том числе, за пределами компании: https://www.securitylab.ru/news/561510.php
Про телеметрию в Дотнет нужно ли говорить? Вот собирают вводимые пользователями команды:
https://learn.microsoft.com/ru-ru/dotnet/core/tools/telemetry
https://learn.microsoft.com/ru-ru/dotnet/machine-learning/re...
и т.п.А вот ещё интересный похожий случай: https://github.com/microsoft/vcpkg/issues/8756
Про шпионаж Винды, начиная с последнего сервис-пака Семёрки, - это тоже известная история.
А ведь эта компания не занимается (таргетированной) рекламой, как Гугл. Всего лишь "улучшает условия предоставления вам сервиса". А от рекламщиков, которые собаку съели на сборе персональных данных (например, читают вашу почту с вашего негласного согласия), кто-то ждёт чего-то другого? В бесплатном, как сыр в мышеловке, продукте?
Возьми да пересобери с отключением телеметрии. А то только велосипеды делать могут да плакаться что им все должны. Как дотнет открыли не нравится. Как стек сделали мауи не нравится. Как мауи сделали под большинство рынка и отдали на откуп линух версию сообществу не нравится.
Сами то что полезного нетелеметричного для людей делаете? Где можно ознакомиться с результатами так-сказать?
А мне это зачем? У меня бесплатный и свободный Линукс и GCC. Продуктами M$ лет 15 уже не пользуюсь. Да и что там можно пересобрать с закрытыми/недооткрытыми/подзакрытыми исходниками?
Ну и Дотнет когда открыли? (И уже начали по-маленьку закрывать.) Когда уже был бесплатный и открытый Mono от небезыствестного линуксоида Мигеля Иу^W Икасы. Пока поклонники и защитники M$ плакались и молились о подаяниях от своего Кумира. (Кумара? Как там его теперь?) А в это время ваш любимый техногигант уже взял курс на побирание у сообщества (E - Embrace). В общем, если проспали, идите и ознакомьтесь с нетелеметричными результатами, причаститесь духом свободы, так сказать. А эти свои корпоративные убер-велосипеды лучше спрячьте сразу в чулан и не показывайте сообществу. Не смешите людей. Сегодня открываете с феерверками и ленточками, сияете на весь маркетинговых бюджет, завтра, неизбежно, с мрачными лицами в тишине складываете в картонные коробки. Плавали в этих ваших инновационных "технологиях", знаем.
Либо у тебя бесплатный линух почти мало где. Либо у тебя не твой андроид, дистры с телеметрией, платные линухи.> Да и что там можно пересобрать с закрытыми/недооткрытыми/подзакрытыми исходниками?
Из анабиоза надо выходить. Открываешь гитхаб и получаешь всё от дотнет до вскоде. Можешь найти репы от мс. Можешь взять в твоём дистре всё пересобраное с отключеной телеметрией.
> Ну и Дотнет когда открыли? (И уже начали по-маленьку закрывать.)Что-то новенькое. А все в курсе?
> Когда уже был бесплатный и открытый Mono от небезыствестного линуксоида Мигеля Иу^W Икасы.
Десткие писюльки которые в взрослой жизни мало кому нужны. Не было ни одного продукта в округе меня и моих знакомых на этом. Сейчас сервисов на лин вагон попадается от сторонних фирм.
> А в это время ваш любимый техногигант уже взял курс на побирание у сообщества (E - Embrace).
Прокапаться надо всему лин сообществу. У кого-то навязчивая мания преследования и прочие шизоидные бреды в сторону одной компании.
В соседней новости аосп уже который выпуск закручивается, вендорлочится, переводится в состояние что нормальные производители стороннего софта начинают испытывать затруднения. И в той соседней новости только робкие попытки спросить может корпорация добра уже не совсем наша.> В общем, если проспали, идите и ознакомьтесь с нетелеметричными результатами, причаститесь духом свободы, так сказать. А эти свои корпоративные убер-велосипеды лучше спрячьте сразу в чулан и не показывайте сообществу. Не смешите людей.
Ознакомься с всем что сейчас у людей. Начиная от вскодиум и всего дотнет доступного в репозитарии лин производителя отечественного.
Да, да. Надо ваши самописки набрать опенсурсные. У нас уже который производитель попадается что продает сделанное под дотнет. И нормально выполняет свои функции в бизнесе. Ваши бесплатные поделки и близко ничего не могут.> Плавали в этих ваших инновационных "технологиях", знаем.
"Плавальщик" не такой как местные нетакусики не могущие документацию на сайте мс найти.
Ещё не на нормальном, но хотя бы на компилируемом, и компилируемом в бинарный код, а не в код для интерпретатора. Уже прогресс.
Интересно, эксперты опеннета что используют для совместной разработки?
Только цгит и ручную отправку патчей по почте (России)
причем по голубиной почте
Внезапно, git. Вот как он есть.
GitHub + Jira
Лучшее комбо. Всё остальное это разработка в два рыла — своё и кота.
gitea, стоит уже лет 5, можно и на сабж перейти, но лень
> Интересно, эксперты опеннета что используют для совместной разработки?Э-э, внезапно -- опеннет!
Под любой новостью можешь наблюдать совместную (с разрабами) разработку любого софта!
В смысле, самую важную часть -- наши Ценные Указания насчет правильного ЯП, компилятора, IDE, билд-системы, тулкитов и библиотек, WM, DE, шелл-инит-ОС, одежды, прически и цвета волос, сексуально-политической ориентации и прочих вещей, без которых разработка просто невозможна!
Кроме шуток - опеннет мог бы прикрутить себе гит и стать хабом для софта, разрабатываемом на Си. Критерии отбора:
Си как основной язык
Makefile как единственная система сборки
Можно было бы собрать нечто вроде нашего suckless, этакий уголок для хардкорных минималистов.
> вроде нашего sucklessО, да. Опеннет отличное место для разработки этого нашего "suckless". Миллион советов как "не надо" делать и ни одного готового, эталонного решения "как надо".
Для этого даже гит прикручивать не надо.
autotools ещё забыл.Ну а серьёзно, я не понимаю всех этих "единственно верных систем" и "единственно верных языков".
Каждый др0чит как он хочет.
git без всяких этих ваших gitea, gogs, forgejo, gitlab и github
почитай для развития про merge request и как работают в команде
Это какое-то гитхабно-гитлабное изобретение, в гите такого нет.
А Линус нам врёт прилюдно рассказывая, как ему присылают мерж реквесты. Ты бы хоть разобрался в матчасти.
> git без всяких этих вашихУ меня всё что я делаю сам - именно так.
А на работе, почти всё - НЕ так. Почему - понятно или надо жевать?
> В редакторе комментариев реализована возможность расстановки отступов клавишей Tab.за изменение поведения клавиатуры в браузере нужно расстреливать
> за изменение поведения клавиатуры в браузере нужно расстреливатьПро tampermonkey не слышали? Помогает. А то, что добавили табы, так то не криминал, т.к. таб и есть = 0х09
слышал, но пока не пробовал. наверное, попробую
Слышали про спать на потолке и надевать штаны через голову? Тоже при помощи tampermonkey можно.
> Слышали про спать на потолке и надевать штаны через голову? Тоже при помощи tampermonkey можно.Каких только специалистов здесь не встретишь, даже оказывается есть специалисты по надеванию штанов через голову... богатый у вас однако опыт
Я вот довольно часто ставлю GitLab для новых крупных проектов разных заказчиков и меня постоянно одолевает желание перейти на Forgejo, потому что у GitLab очень жирный и развесистый бекенд. Останавливает только функционал CI/CD у GitLab. Гораздо удобнее Jenkins, Teamcity, Bamboo и прочей гадости...
> Останавливает только функционал CI/CD у GitLabТам с версии 1.19 кажется есть: Forgejo Actions, - built-in CI/CD
Его там както отдельно ставить надо...Кстати, как он по функционалу, кто добрался?
от это ты отжигаешьсравнил куцые акшены с дженкинсом
> Останавливает только функционал CI/CD у GitLab. Гораздо удобнее Jenkins, Teamcity, Bamboo и прочей гадости...Jenkins прекрасен, если его использовать в паре с Jenkins Job Builder. После этой связки было очень тесно в гитлабовом CI/CD. Хотя уже привык, конечно.
Выше уже ответили про Actions для Forgejo. Сам не пользовал, но судя по докам - оно клон GitHub Actions.