Состоялся релиз распределённой СУБД rqlite 7.0, которая использует SQLite в качестве движка хранения и позволяет организовать работу кластера из синхронизированных между собой хранилищ. Из особенностей rqlite отмечается простота установки, развёртывания и сопровождения распределённого отказоустойчивого хранилища, чем-то похожего на etcd и Consul, но использующего реляционную модель работы с данными вместо формата ключ/значения. Код проекта написан на языке Go и распространяется под лицензией MIT...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=56600
Очень напоминает рекламную брошурку, а в рекламе, как известно, брешут.
Просто ты поверхностный еще не попробовал, а уже сделал вывод что это брошЮрка.
рекламировал раст тут некто кверти, кстати давно про него не слышал
Он еще предыдущий транш на Канарах не пропил. Еще услышишь.
Следующая конференция по расту в Мск только в следующем году.
В 2023м штоли?
>В 2023м штоли?в 2к23м.
Очень хорошо что программа написана не безопасном и быстром языке Go.
Это многое объясняет.
небезопасном?
Там сборщик же. И сильно тупит со строками в режиме демона.
К стати Rqlite использует оригинальную библиотеку SQLite которая на C.
Т.е. вместо того чтобы продолжить развивать структуру и стиль оригинального проекта, автор решил тяп-ляпать по-своему. И в продакшен, конечно.
в продакшн ставить такое будет только какой-нибудь фанатик го или ещё чего
Скорее фанатик sqlite. Sqlite кроме встройки особо отношения к базам данным не имеет. Зато масштабировать проект который изначально по какой-то причине был написан с sqlite.
> Sqlite кроме встройки особо отношения к базам данным не
> имеет.Вот это не совсем так, я лично видел под 600Гиг базы, и не раз, которые обслуживаются через стандартный sqlite3 CLI
Подписываюсь.
У самого терабайтная база с небольшими блобами (сорцы для обучения ии с метаданными плюс статистика доступа/использования) - все превосходно работает.
> в продакшн ставить такое будет только какой-нибудь фанатик го или ещё чегоПравильно, настоящие пацаны пишут на gwbasic и бат-файлах
> Т.е. вместо того чтобы продолжить развивать структуру и стиль оригинального проектаЕМНИП, у SQLite они описываются фразой "вы кто такие, я вас не звал, идите на*й". Проект "чисто для своих", открытая модель разработки и патчи от простых смертных идут лесом.
> Проект "чисто для своих"которым овердохрена кто пользуется? не находишь нелогичным своё изречение?
А в чем проблема? Пользователи пользуются результатом. А программистам сторонним ничего делать не дают.
У них Ларри и баги правит документацией, из подхода, - "раз документировано, то это фича, а не баг"
конечно, sqlite разработан для системы управления ПРО Иджис(аегис)
> Т.е. вместо того чтобы продолжить развивать структуру и стиль оригинального проектас ума сошел? Там же tcl! Это ж книжку надо читать чтоб хотя бы начать понимать код!
Некогда, некогда - agile не ждет!
tcl там вообщето optional
Тот кто поставил минус, - обьяснение в студию плиз
нашли как минусить - не сдержали радости.
> нашли как минусить - не сдержали радости.Чем бы детки не тешились, лишь бы не гадили :)
Какова цель существования сабжа, если https://github.com/canonical/dqlite быстрее, надежнее и обеспечивает более вменяемую репликацию?
API, вероятно
Использование Go. Он компилируются на все платформы и компилируются при этом статически под все платформы, как результат он просто работает. А не делает мозги своими зависимостями.
Совсем как с *подставить название любого языка программирования*? Не может быть, вот это достижение!
А для го это прорыв
Ну давай, скомпилируй что нибудь под линолиумом на х86_64 что имеет в зависимостях libc.Ну к примеру:
---------------
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netdb.h>
#include <string.h>int main(int argc, char const *argv[]) {
struct addrinfo hints;
struct addrinfo *res, *tmp;
char host[256];memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = AF_INET;if (argc != 2) {
fprintf(stderr, "%s string\n", argv[0]);
exit(EXIT_FAILURE);
}int ret = getaddrinfo(argv[1], NULL, &hints, &res);
if (ret != 0) {
fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(ret));
exit(EXIT_FAILURE);
}for (tmp = res; tmp != NULL; tmp = tmp->ai_next) {
getnameinfo(tmp->ai_addr, tmp->ai_addrlen, host, sizeof(host), NULL, 0, NI_NUMERICHOST);
puts(host);
}freeaddrinfo(res);
exit(EXIT_SUCCESS);
}
---------------
Если получится, - поделись плз как получилось
$ vim probe.c # копирую здесь текст программы
$ gcc probe.c
$ ldd ./a.out
linux-vdso.so.1 (0x00007ffd705e2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f833dd000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3f835c8000)
> $ vim probe.c # копирую здесь текст программы
> $ gcc probe.c
> $ ldd ./a.out
> linux-vdso.so.1 (0x00007ffd705e2000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f833dd000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f3f835c8000)Друг, это не статика. Статика выглядит так:
>ldd a.out
> not a dynamic executable
друг, да ни проблема, дружищщщще! не глибц единым. :^)
Т-с-с, про смусли молчим, т.к. проблема именно с глибц, которая на всех популярных линях
> Т-с-с, про смусли молчим, т.к. проблема именно с глибц, которая на всех
> популярных линяхПроблема у тя с головой, родной, причём серьёзные. Ты говоришь что я самоутверждаюсь за твой счёт, но посмотри на себя, ты ж иди ёт. Глибц хэндлит getaddrinfo через libnss. Нет никакой проблемы слинковать с глибц статически, если очень хочется, просто нужно знать что делаешь, а не сувать флаги наугад. Посылать тебя в "Static linking considered harmful" не буду, не в хипстера корм. :)
> Глибц хэндлит getaddrinfo через libnss. Нет никакой проблемы слинковать с
> глибц статически, если очень хочется, просто нужно знать что делаешь, а
> не сувать флаги наугад.Аха, глибц --enable-static-nss и до кучи затем перекомилить с такой же опцией всех его друзей IDN, gconv, hretad которые очень тоже хотят нсс, но и после этого, глибц юзазет еще много где dlopen().
Теория и практика она немного отличается, "мешки ворочить" здесь одно, а убить кучу времени в практике - другое
> Посылать тебя в "Static linking considered harmful" не буду, не в хипстера корм. :)Звучит прям как на Х послать :)))
Не, на хипстера я не тяну, точно, но вот игнорировать хорошие тренды в индустрии, если она того заслужила показательным опытом, то это прямой путь к мамонтам
Так что посылай, не посылай, но если заказчики хотят чтоб работало - везде, и не ломалось при апгрейдах и не требовало платного супорта, то статика это - то что именно надо.
Я скажу даже больше, - мултиплатформенная статика, компилишь раз и оно работает везде, на лине, винде, да хоть из под биоса напрямую и без плясок с бубном
> Аха, глибц --enable-static-nss и до кучи затем перекомилить с такой же
> опцией всех его друзей IDN, gconv, hretad которые очень тоже
> хотят нсс, но и после этого, глибц юзазет еще много
> где dlopen().
> Теория и практика она немного отличается, "мешки ворочить" здесь одно, а убить
> кучу времени в практике - другоеЗачем убивать кучу времени, если ты не знаешь что делаешь? Почему не берешь сразу масл? Зачем тебе так важно что глибц на всех линуксах, если распространять всё равно статику? Что за наркомания вообще? Ты так хочешь ограниченность гошки за достоинство выпереть? Обосновав, что есть случай в твоей шаражке, где статика нужна? Ну ок, ну я рад за тебя, и за го тоже, но вы оба обо5р4лись, но я рад за вас. :-D
> Не, на хипстера я не тяну, точно, но вот игнорировать хорошие тренды
> в индустрии,Не уметь в динамику -- это "хороший тренд" (с) гошники в кокошниках
> Так что посылай, не посылай, но если заказчики хотят чтоб работало -
> везде, и не ломалось при апгрейдах и не требовало платного супорта,Прям брошюрка про яву с 90-х. Найс... времена меняются, а лохов как стригли купонами, так и стригут.
> Я скажу даже больше,
Огосспади >_<
> - мултиплатформенная статика, компилишь раз и оно работает
> везде, на лине, винде, да хоть из под биоса напрямую и
> без плясок с бубномШедеврально. Свежо! Актуально!
Я уже хочу обмазаться этими бинарниками, шатап энд тейк май мани!!!!1111
> Зачем убивать кучу времени, если ты не знаешь что делаешь? Почему не берешь сразу масл?Именно это и делаем :) Но здешь есть "шпециалисты", утверждающие:
> Совсем как с *подставить название любого языка программирования*? Не может быть, вот это достижение!Вот о них и разговор, для кого и был мой пример поробовать компильнуть статически на х86_64 лине
> Не уметь в динамику -- это "хороший тренд" (с) гошники в кокошниках
Что ты не несешь? Ты сам с собой разговариваешь?
> Прям брошюрка про яву с 90-х. Найс... времена меняются, а лохов как стригли купонами, так и стригут.
Лохов вообще-то стригут с динамикой, где при очередном мажорном апгрейде ОСи софт перестает работать, и у любителей динамики есть шанс ткнуть пальцем в ОСь, сказать, "это они, это не мы, гоните бабки за супер дуппер нашу работу, чтобы мы перекомилировали наше чудо"
> Шедеврально. Свежо! Актуально! Я уже хочу обмазаться этими бинарниками, шатап энд тейк май мани!!!!
Блин, какой же ты Фома не верующий...
Бери: с pastebin.com/VX74MYGm
Это скомпилиный мултиплатформенный https://github.com/lz4/lz4/blob/dev/programs/lz4cli.c
делай раз: cat "контент с pastebin" | base64 -d >lz4cli.com.xz
делай два: xz -d lz4cli.com.xzТеперь бери полученый бинарник и можешь его юзать на винде, на лине, бсдях и даже можешь подсунуть напрямую в UEFI
И да, шатап энд тэйк ёр мани бэк как попробуешь ;)
>> Зачем убивать кучу времени, если ты не знаешь что делаешь? Почему не берешь сразу масл?
> Именно это и делаем :)Ничего "вы" не делаете. Из всей ленты сказанного, ты то пишешь, то не пишешь на гошечке, то разраб, то хелловордщик, то психонавт, то ишака уши. Звездо-ball, не знающий зачем нужна динамика, но срывающий покровы вот уже fat binary из 80-х. >_<
> ты то пишешь, то не пишешь на гошечкеА ну, покаж где это я говорил
> то разраб, то хелловордщик
Наигрался словами ? :)
> Звездо-ball
Бывает, не спорю, но до твоего уровня мне еще очень далеко
ты лучше расскажи где другой компилер взять для го, с динамикой. Можно не такой распространёный как масл.
> ты лучше расскажи где другой компилер взять для го, с динамикой. Можно
> не такой распространёный как масл.Так Игогошка насколько я помню, кажется может и динамику на х64 с опцией -dynlink
>> ты лучше расскажи где другой компилер взять для го, с динамикой. Можно
>> не такой распространёный как масл.
> Так Игогошка насколько я помню, кажется может и динамику на х64 с
> опцией -dynlinkcgo? gccgo? Впрочем пох что эти ыдлокодеры за ".01к2" лет (как вы любите) наконец родили для одной платформы. Время утеряно.
> cgo? gccgo? Впрочем пох что эти ыдлокодеры за ".01к2" лет (как вы
> любите) наконец родили для одной платформы. Время утеряно.Проще...
динамика:
> go build -o app .
Статика:
> env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o app
> Время утеряно.Судя по предлагаемым зарплатам Го-шникам на рынке больше на 20% чем С++ никам, то вроде каk наоборот
>> cgo? gccgo? Впрочем пох что эти ыдлокодеры за ".01к2" лет (как вы
>> любите) наконец родили для одной платформы. Время утеряно.
> Проще...
> динамика:
>> go build -o app .
> Статика:
>> env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o appСпрашиваю: cgo? нет, проще! мама мия, да они кантуженые.
>> Время утеряно.
> Судя по предлагаемым зарплатам Го-шникам на рынке больше на 20% чем С++
> никам, то вроде каk наобороту кого что болит :-D
> Спрашиваю: cgo? нет, проще! мама мия, да они кантуженые.Не, ты просто редкостный нарцис ! :)
>> Время утеряно.
>> Судя по предлагаемым зарплатам Го-шникам на рынке больше на 20% чем С++
>> никам, то вроде каk наоборот
> у кого что болит :-DО, да я смотрю есть еще орлы за корочку хлеба и за идею пахать, ну удачи тебе, всезнайка
Обмазался кстати бинарником который просил ?
Очень интересно мнение товарища, поставившего минус, это от злости что не получается скомилить ?
Тогда понимаю...
Нет, он просто не понял, что означают эти нерусские буквы.
С защитниками сишно-юниксовых скреп такое регулярно происходит.
> Нет, он просто не понял, что означают эти нерусские буквы.
> С защитниками сишно-юниксовых скреп такое регулярно происходит.Сам себе петтинг устраиваешь из под анонима? :-D
> Сам себе петтинг устраиваешь из под анонима? :-DА у тебя смотрю и правда , того этого, мерещится, по себе судишь ? :)
> Использование Go. Он компилируются на все платформывинду, винду, винду, и вот...минуточку...а, ну да - linoops 64bit only и то на трех популярных архитектурах?
"все платформы" по мнению гугля этим и исчерпываются.
Вот тут ты и попал под каток рекламы.Архитектуры что поддерживает Go
"aix/ppc64", "android/386", "android/amd64", "android/arm", "android/arm64", "darwin/amd64", "darwin/arm64", "dragonfly/amd64", "freebsd/386", "freebsd/amd64", "freebsd/arm", "freebsd/arm64", "illumos/amd64", "ios/amd64", "ios/arm64", "js/wasm", "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/mips", "linux/mips64", "linux/mips64le", "linux/mipsle", "linux/ppc64", "linux/ppc64le", "linux/riscv64", "linux/s390x", "netbsd/386", "netbsd/amd64", "netbsd/arm", "netbsd/arm64", "openbsd/386", "openbsd/amd64", "openbsd/arm", "openbsd/arm64", "openbsd/mips64", "plan9/386", "plan9/amd64", "plan9/arm", "solaris/amd64", "windows/386", "windows/amd64", "windows/arm", "windows/arm64"
https://gist.github.com/asukakenji/f15ba7e588ac42795f421b48b...
нет, это архитектуры для которых он сам собирается. Причем сильно подозреваю что в варианте запуска под qemu, для гугля маловероятно иметь коллекцию всех этих платформ да еще и чтоб они хотя бы загружались. Что после сборки работает - никто не обещал.И да, расскажите им кто-нибудь, что android и linux - одна и та же архитектура, а вот arm - две или три, и если отдельно не считать neon, и компиляторы им нужны разные, особенно в стиле игогошеньки, где нет даже внешних библиотек - так что даже там где кое-как можно было обойтись универсальным кодом, не получится.
Т.е. ты серьёзно думаешь что если под платформу собирается компилятор от под ней не может скомпилировать нативное приложение?Там конечно есть ограничения на некоторый платформах нужна помощь C компилятора. Но под многие платформы он компилит нативно. И да можно на x86 лине компилить под виндовый арм и никто тебе ничего не скажет. Задается это переменными окружение GOARCH и GOOS.
Скомпилировать - может и сможет (искренне верю что модные ребята уже настроили соответствующую континьюнс дезинтеграцию - правда, в эмуляторе она немного стоит). А может упадет - как получится.
А уж что скомпилированное сложнее хеловрота правильно работает - это никто не обещал.А раз ребята считают разными архитектурами андроид и линукс, зато арм у них один - наиболее вероятно именно такое.
> А уж что скомпилированное сложнее хеловрота правильно работает - это никто не
> обещал.Ну вот правда, здесь просто все тролят или действительно кроме своего замкнутого мирка даже не выглядывают наружу
docker
https://github.com/minio/minio
https://github.com/ethereum/go-ethereum
https://github.com/syncthing/syncthing
https://github.com/drakkan/sftpgo
...
> Что после сборки работает - никто не обещал.Как никто? Вот народ обещает и у всех очень даже работает
https://github.com/syncthing/syncthing/releases
>А не делает мозги своими зависимостями.import (
"github.com/..."
"github.com/..."
"github.com/..."
...
skipped...
)Эт да, вообще мозг не делает.
Поставь старую версию фаерфокса на новый дистрибутив. Или наоборот на старый дистрибутив Убунту 10.04 например новый фаерфокс. Узнаешь что знаешь много новых слов, которых раньше не говорил.А го приложение можно даже от libc отвязать если захочется.
> Поставь старую версию фаерфокса на новый дистрибутив. Или наоборот на старый дистрибутив
> Убунту 10.04 например новый фаерфокс. Узнаешь что знаешь много новых слов,
> которых раньше не говорил.
> А го приложение можно даже от libc отвязать если захочется.Зачем отвязывать? Это же начинает делать нам мозги, а они тут не нужны.
И как много популярных проектов вы знаете, которые не тянут зависимости, а вот прям все исключително - только свое? Правда, прям так весь мир с нуля строите ?
> И как много популярных проектов вы знаете, которые не тянут зависимости, а
> вот прям все исключително - только свое? Правда, прям так весь
> мир с нуля строите ?При чем тут это? "Не делают мозги зависимости" -- это только у бравой ребятни в штанишках с подворотами. Остальной мир решает проблему зависимостей, не убирая всё г0-но под капот, простите, в статическую компиляцию, и поощряя школоту импортировать напрямую с гита-модули в этот ваш "продакшен".
> Остальной мир решает проблему зависимостей,Ага, решает с помощю платного персонала, если могут себе позволить таковой, иначе при первом же мажорном апгрейде все перестанет работать, т.к. "продукт" завязан на конкретную версию какой-то либы
> не убирая всё г0-но под капот, простите, в статическую компиляцию,
А вот при статике, ничего не ломается
> и поощряя школоту импортировать напрямую с гита-модули в этот ваш "продакшен".
"И" здесь не уместно, т.к. статическая компиляция и подключение зависимостей из исходников - это очень разные вещи.
Кстати, вы не ответили, ваши продукты не имееют ни одной зависимости и это чуток больше чем хелоу ворлд ??? Или вы просто пользуетсть библиотеками, слепо веря в их бинарную святость.
>> Остальной мир решает проблему зависимостей,
> Ага, решает с помощю платного персонала, если могут себе позволить таковой,Что ты несёшь? Ты нищепрод с гошечкой наперевес? Ищешь кому бы втюлить плюс "статической компиляции" своего гнософта?))
> иначе при первом же мажорном апгрейде все перестанет работать, т.к. "продукт" завязан
> на конкретную версию какой-то либыг-нософт ломается не только при обновлении, а еще от фазы луны. Нормальные люди не связываются с гнософтом.
>> не убирая всё г0-но под капот, простите, в статическую компиляцию,
> А вот при статике, ничего не ломаетсягнософт по определению ломается от каждого чиха.
>> и поощряя школоту импортировать напрямую с гита-модули в этот ваш "продакшен".
> "И" здесь не уместно, т.к. статическая компиляция и подключение зависимостей из исходников
> - это очень разные вещи."И" здесь уместно, потому что го создавался для колхозников гугла, пишущих софт культяпками. Создатели в этом признавались, впрочем оно и так видно.
> Кстати, вы не ответили, ваши продукты не имееют ни одной зависимости и
> это чуток больше чем хелоу ворлд ??? Или вы просто пользуетсть
> библиотеками, слепо веря в их бинарную святость.Я просто пользуюсь достижениями 21 века, вроде динамической линковки и дистрибутивами, состоящими из динамически линкуемых компонент, обновляемых отдельно. А тут приходит гошник с смузи, и рассказывает мне о плюсах статической компиляции для неосиляторов динамики. Хах. Назад в 80е, просто.
> Я просто пользуюсь достижениями 21 века, вроде динамической линковки и дистрибутивами,
> состоящими из динамически линкуемых компонент, обновляемых отдельно. А тут приходит гошник
> с смузи, и рассказывает мне о плюсах статической компиляции для неосиляторов
> динамики. Хах. Назад в 80е, просто.С каждым дистрибутивом. Отдельно? Проспись уже это и есть 80-ый год. Когда оперативы было 128 килобайт на компе размером с дом. И без постоянной пересборки на целевой платформе у тебя всё равно ничего не заработает. Какой смысл от твоего софта, когда он скомпилированный нигде не работает, а в виде исходников нигде не собирается. Чето ору с тебя и твоего говнoсофта.
> Что ты несёшь? Ты нищепрод с гошечкой наперевес? Ищешь кому бы втюлить
> плюс "статической компиляции" своего гнософта?))Я просто обожаю опеннет !!!
Нищеброд говоришь... чувак, иди и посмотри сколько предлагают на рынке за програмиста на Го и сколько Плюсовику... Го-шникики на 20% дороже.
На всю остальную чушь, обоснованую на детских обзывалках и "на фазах луны по определению", просто нет никакого желания отвечать.
> Я просто пользуюсь достижениями 21 века, вроде динамической линковки и дистрибутивами,
> состоящими из динамически линкуемых компонент, обновляемых отдельно.Вам бы сэр в политику податься, слишком много булшета, но ничего конретного
> А тут приходит гошник
> с смузи, и рассказывает мне о плюсах статической компиляции для неосиляторов
> динамики. Хах. Назад в 80е, просто.Вот именно динамика и есть из 80-х где была жуткая экономия на памяти.
Ты дружок сперва научись вести себя прилично в обществе, а потом вернемся к технике
ну он то и не знает, что динамическая линковка библиотек пришла от необходимости беречь память и что все проекты в лине тоже пошли в сторону динамики и совместно используемых либ именно из-за экономии оперативы и скорости работы системы от этого. человек про дельфи и си со статикой не слышал. а ведь кстати винда частично идет еще по той старой концепции. флат и снап пакеты пытаются увести в ту же сторону. история по кругу....
там это, в раст-стд уязвимость нашли, с самой первой версии. Перекомпиляли уже все свои хелловорды на всех ваших игрушечных продакшенах? :-D
> там это, в раст-стд уязвимость нашли, с самой первой версии. Перекомпиляли уже
> все свои хелловорды на всех ваших игрушечных продакшенах? :-Dне пользую раст. еще не дорос.))) а ошибки .... ну опенок считался супер безопасной ось, пока его не начали копать. И в один момент оказалось, что дырявый этот опенок как дуршлак.)))) полагаю линь не меньше, а про винду молчим уже всем миром лет так 20))) а то что перекомпиляли хелловорды.. ну так это ж дело хорошее. пусть начинают компилять что то потяжелее. хоть заткнутся со своим safe и unsafe . да и вреда от них меньше будет.
>> там это, в раст-стд уязвимость нашли, с самой первой версии. Перекомпиляли уже
>> все свои хелловорды на всех ваших игрушечных продакшенах? :-D
> не пользую раст. еще не дорос.))) а ошибки .... ну опенок считался
> супер безопасной ось, пока его не начали копать. И в один
> момент оказалось, что дырявый этот опенок как дуршлак.)))) полагаю линь не
> меньше, а про винду молчим уже всем миром лет так 20)))
> а то что перекомпиляли хелловорды.. ну так это ж дело хорошее.
> пусть начинают компилять что то потяжелее. хоть заткнутся со своим safe
> и unsafe . да и вреда от них меньше будет.бла-бла, пук, бла-бла, опёнок, пук, дуршлак, пук-пук.
Госспади, какая чушь.
Слухай, друже, я люблю suckless и sta.li. Компоненты моего васяно-дистра, вроде инита и менеджера пакетов компилируются статически, чтоб пережить обновление и поломку кора. Я не против статической компиляции, и понимаю где ей место и время. Но ты несёшь не просто хню, ты и твой коллега по посасыванию смузи, несёте просто адскую дичь. Нужно чтоб кто-то сказал вам остановиться, иначе вы начинаете друг друга пинговать и входите в рекурсию, создавая из опеннета эхо-камеру: Заткнитесь, и%::оты!
ты кажется не понял, вообще ни про что. ни про статическую линковку, ни про динамическую с совместным использованием либ( одна из фишек пингвина была кстати), ни про линковку вообще. почему от статики отказались в свое время в юникс-лайк? да просто потому , что часто приходилось держать в памяти одни и те же либы по куче копий для каждой проги(если ты не застал то увы), что собственно привело к либам( а точнее механизму) одновременного использования одной и той же либы 2 и более приложениями. что косвенно конечно привело к невозможности использования 2 либ разных версий( обойти можно но не суть). статика го имеет несколько другое значение, хоть и похожа.
> ты кажется не понял, вообще ни про что. ни про статическую линковку,
> ни про динамическую с совместным использованием либ( одна из фишек пингвина
> была кстати), ни про линковку вообще. почему от статики отказались в
> свое время в юникс-лайк? да просто потому , что часто приходилось
> держать в памяти одни и те же либы по куче копий
> для каждой проги(если ты не застал то увы), что собственно привело
> к либам( а точнее механизму) одновременного использования одной и той же
> либы 2 и более приложениями. что косвенно конечно привело к невозможности
> использования 2 либ разных версий( обойти можно но не суть). статика
> го имеет несколько другое значение, хоть и похожа.Нет, это ты не понял: до звезды ваш исторический экскурс. Не умеете в динамическое связывание -- это ваша проблема, а не достоинство вашего недокомпилятора ;-)
не пинай в пустоту. я вообще ГО не занимаюсь. мне хоть их компиляторы, хоть либы пофигу. всегда считал инструменты, которые опасны, но дают полный контроль лучшими. например си/с++(хотя плюсы те еще замороки). вот раст семантикой не оч понравился. с го вообще только просмотр возможностей языка. не более. я к слову не сторонник создания инструментов, которые ограничивают программиста. это как дать тебе машину с полностью управляемым роботом, который не позволит тебе свернуть на грунт, потому, что там нет асфальта. (а к этому призывают в программировании) не лучше ли создать несколько инструментов под определенные задачи и не пытаться сделать язык на все области.
> не пинай в пустоту. я вообще ГО не занимаюсь. мне хоть их
> компиляторы, хоть либы пофигу.Так а в чем смысл тогда вашего с анонимом выше консенсуса про статическую типизацию? Просто читали друг другу википедию чтоль? Или кукушка хвалит петуха? :-D
> всегда считал инструменты, которые опасны, но дают
> полный контроль лучшими. например си/с++(хотя плюсы те еще замороки).кмк, дело не в опасности инструмента. это тоже, но важнее его назначение: с и с++ рулят в системщине, там где надо работать с памятью и тд и тп. Написаны гигатонны кода. Разумеется, есть ошибки. Растаманьки попровали в системщину -- наплодили таких же уязвимостей, начиная с логических, заканчивая переполнением буфера. Хотя уж их то страпон, пардон, компилер, вообще не вылезает из растаманских булок. Настолько он к ним жесток и беспощаден.
Полагаю здесь ошибка выжившего, и судят о лучших представителях по ошибкам. А разумеется они есть, ведь никто другой в системщину не лезет. А если лезет, но программировать на этом мучительно -- оно тихо умирает где-нибудь в военщине.
> я к слову не сторонник создания инструментов, которые ограничивают
> программиста. это как дать тебе машину с полностью управляемым роботом, который
> не позволит тебе свернуть на грунт, потому, что там нет асфальта.Это да, но не стоит забывать и опыт. Свобода играет роль только когда чувствуешь её отсутствие, а опыт постоянно. Представь, тебе надо написать что-то серьёзное. У тебя есть компилер отточенный десятилетиями, либы отточенные десятилетиями, и опыт людей, на которых ты можешь опереться.
Это не про моду, нестабильный синтаксис, сырой мусор вместо либ и прочее нео-дегенеративное искусство. =)
> (а к этому призывают в программировании) не лучше ли создать несколько
> инструментов под определенные задачи и не пытаться сделать язык на все
> области.Узнаю старину Вирта в этих словах. ;)
> ты и твой коллега
> по посасыванию смузи, несёте просто адскую дичь.Телепатия замучила? Так, к сведению, я кроме типа хелоу ворлд и правки других проектов, на гоу ничего не писал ;)
> Нужно чтоб кто-то сказал вам остановиться, иначе вы начинаете друг друга пинговать и входите в
> рекурсию, создавая из опеннета эхо-камеру: Заткнитесь, и%::оты!Чувак, у тебя серьёзные проблемы с психикой, если ты как школьник спрятавшись за анонима самоутверждаешься хотя бы здесь, в он лайне. Чем дальше ты корчишь из себя пупа, тем только усложняешь своё состояние, серьезно, оставь комп в покое, выйди к людям, у тебя явно недостаток общения
> Телепатия замучила?а спустя пару слов ...
> Чувак, у тебя ... [эйчарошный психанализ поскипан]
Гошник одним словом :-D
Молодца, поставил щекастого на место, он реально надоел.
любой популярный язык работает на всех платформах.
собсно, потому и популярный.
> любой популярный язык работает на всех платформах.
> собсно, потому и популярный.Язык может и работает, а софт, который он компилирует нет. А чем же тут такая загвоздка? Может просто твои «языки» программирования делают это через одно место поэтому таргет у них даже не платформа, а отдельный дистрибутив?
плохому танцору -- растишка с гошечкой тока не мешают в одном месте.
[я познаю мир]а с использованием сабжа или dqlite можно сделать что-то похожее на распределенную базу 1С v7 ?
Ну когда на дискетках или через модем локальные базы в филиалах синхронизировались :)[/я познаю мир]
Репликация баз на чтение есть в любых базах данных. Это к sqlite надо велосипеды дописывать чтобы было как у всех.Если очень хочется можно. Но троллейбус.
не это не совсем то.нужно для случая когда постоянного интернет соединения, но писать можно на любой из машин, а при появлении интернет соединения БД синхронизируются.
как это было в 1ЦЭ:
один или два раза в день филиалы соединялись с головным офисом через модем (или даже таскали на дискетках) и таким образом базы синхронизировались.
Нет тебе нужна репликация Мастер-Мастер. Почитай в инете с этим в большинстве своём всё плохо.В сабже мастер один и только обещают какую-то мутную систему когда реплики каким-то образом будут сообщать адрес мастера.
> всё плохопечально. колхозить свое очень уж неохота...
>отказоустойчивость
>Данные SQLite на каждом узле хранятся не в файле, а в памятиЭто точно надёжно?
По логике узлы должны обмениваться инфой о своих данных, и если что-то потеряется, то прилетит из другого узла.
У всего есть пределы надёжности.Конечно "настоящие" БД так хранить нельзя ни в коем случае.
Но как кэширующий слой, фронтенд и т.п. волне.
Должно быть надежно; на диске хранится журнал записей, в случае чего из него можно восстановиться.
Отказоустойчивость! Это то что мне нужно!
sqlite - это которая однопользовательская ?
Там мастер один и фиксированный. И да туда либо всегда пишет один пользователь. Либо еще перед этим всем надо ставить очередь.
изобрели убогий hazelcast в 2022м ? )
А к MySQL еще в движки не завезли SQLite? Вообще было бы интересно посмотреть и сравнить производительность с InnoDB
Не интересно. Если исключительно на чтение, при полном отсутствии записи, то ещё может потягается. Но в реальных применениях, с мало-мальской записью, сольётся.Всё-таки, InnoDB вполне себе навороченный и оптимизированный.
Бесполезная хрень как и dqlite. Там ограничений столько что проще старперский постгрес поставить
У старперского постгресса есть рафт-репликация? Пока нет.Если что и проще поставить с репликацией, так это Etcd и MongoDB - battle tested современные решения. Но не SQL.
А вот Rust...
* раздается звук выстрела *
эй аноны, я тут годноту спалил от комрада с лора:
https://github.com/golang/go/issues/40028- "Если дядя решит по накурке весь код делать без пробелов, будете привыкать читать без пробелов."
:-D
Не понятно почему автор не поддержал реплику на диск через апишный метод sqlite BackupDatabase. Каждый раз после перезапуска из raft log поднимать базу не хорошо, особенно если много объектов хранится. У меня несколько стендов работают в ram, реплицируются на диск, при перезапуске восстанавливаются с диска, а что не успело зареплицироваться уже из логов подтягиваются. Вполне рабочая схема.