Вернул https://twir.app за cloudflare, потому те кто из России сообщите доступен ли домен без впн, запретов, и прочего.
Anonymous Poll
41%
Доступен
14%
Не доступен
45%
Посмотреть результат
Satont.
Вернул https://twir.app за cloudflare, потому те кто из России сообщите доступен ли домен без впн, запретов, и прочего.
Проголосуйте те, кто не проголосовал. Кому лень печатать адрес, вот: https://twir.app
❤1
Satont.
Вернул https://twir.app за cloudflare, потому те кто из России сообщите доступен ли домен без впн, запретов, и прочего.
Перевёл реверс прокси на другой хост, теперь проблем с доступом из России быть не должно.
Пути-безопасный i18n на Golang бэкенде в Twir.
Захотелось мне поюзать i18n на бэке твира, и сразу в голове появилась мысль: а почему бы мне не сделать type-safe путь до строк? Например в TypeScript это легко решается декларированием глобального типа в одном месте, с базой от импорта
Я захотел так же в го.
В итоге написал реализацию генератора через AST дерево, смотрит в yaml файлики и ключи внутри, и в итоге генерирует мне вложенные структуры ключей, с типизированными переменными внутри строк перевода. Склееный контент всех файлов тоже выплёвывается в .go файл, потому не нужно эмбедить переводы в бинарь, они уже и так есть в
То есть, если мой генератор видит строку вида
Использование либы максимально простое получилось:
Контекст нужен, чтобы достать из него локаль для последующего использования (с дефолтом внутри), а
Ни и вот пример сгенерированного файла: https://github.com/twirapp/twir/blob/main/apps/parser/locales/locales.go
Осталось только действительно взять и написать переводы. =)
Захотелось мне поюзать i18n на бэке твира, и сразу в голове появилась мысль: а почему бы мне не сделать type-safe путь до строк? Например в TypeScript это легко решается декларированием глобального типа в одном месте, с базой от импорта
.json, с последующей трансформацией в плоскую структуру. Я захотел так же в го.
В итоге написал реализацию генератора через AST дерево, смотрит в yaml файлики и ключи внутри, и в итоге генерирует мне вложенные структуры ключей, с типизированными переменными внутри строк перевода. Склееный контент всех файлов тоже выплёвывается в .go файл, потому не нужно эмбедить переводы в бинарь, они уже и так есть в
map.То есть, если мой генератор видит строку вида
Error happend, {reason}, он автоматом сгенерит структуру с филдом Reason внутри.Использование либы максимально простое получилось:
i18n.GetCtx(
ctx,
locales.Translations.Commands.Seventv.Errors.ProfileNotFound.SetVars(locales.KeysCommandsSeventvErrorsProfileNotFoundVars{Reason: err.Error()}
)
Контекст нужен, чтобы достать из него локаль для последующего использования (с дефолтом внутри), а
SetVars выступает как конструктор по сути, просто мне так удобнее в плане нейминга здесь. Ну и для каждого ключа свой SetVars, с конкретным типом структуры.Ни и вот пример сгенерированного файла: https://github.com/twirapp/twir/blob/main/apps/parser/locales/locales.go
Осталось только действительно взять и написать переводы. =)
😁2👍1
Наконец-то кто-то со скиллами и желанием в продвижении создал дистрибутив основанный на арче, имеющий тайлинг из коробки, и кучу свистоперделок, чтобы людям не сведующим во всём этом было проще.
Я видел уже не первый кейс непроплаченной рекламы, где люди действительно рады и получают удовольствие.
Может следующий год действительно станет годом Линукса на десктопе? Кажется мы сейчас очень сильно приближаемся к этому, ведь кач-во софта на порядок выросло, врождённые болячки уже почти зажили.
Хотя я конечно понимаю, что система не для всего пула задач, но всё же.
Я агитировал и продолжаю агитировать вас хотя бы попробовать. Так вы либо поймёте, что пути назад нет, и продадите ваш мак, либо проникнитесь и купите thinkpad, да пару чулочков.
Даёшь Arch в массы! Даёшь само-контроль за стабильностью и работоспособностью своей системы!
Скажем нет баганым апдейтам максоси!
Именно вы станете собственником вашей системы.
Именно вы будете решать что ей делать, а что не делать.
Именно вы будете выбирать как система выглядит, и как вы хотите её настраивать.
Именно вы получите освободившиеся миллионы утекших на макос калькулятор мегабайт.
Именно вы не просрете все ваши файлы с обновой винды.
Именно вы получите нативный экспириенс.
П.С
DHH кстати руби на рельсах создал, небольшой факт.
И бейзкэмп, тоже небольшой факт.
Я видел уже не первый кейс непроплаченной рекламы, где люди действительно рады и получают удовольствие.
Может следующий год действительно станет годом Линукса на десктопе? Кажется мы сейчас очень сильно приближаемся к этому, ведь кач-во софта на порядок выросло, врождённые болячки уже почти зажили.
Хотя я конечно понимаю, что система не для всего пула задач, но всё же.
Я агитировал и продолжаю агитировать вас хотя бы попробовать. Так вы либо поймёте, что пути назад нет, и продадите ваш мак, либо проникнитесь и купите thinkpad, да пару чулочков.
Даёшь Arch в массы! Даёшь само-контроль за стабильностью и работоспособностью своей системы!
Скажем нет баганым апдейтам максоси!
Именно вы станете собственником вашей системы.
Именно вы будете решать что ей делать, а что не делать.
Именно вы будете выбирать как система выглядит, и как вы хотите её настраивать.
Именно вы получите освободившиеся миллионы утекших на макос калькулятор мегабайт.
Именно вы не просрете все ваши файлы с обновой винды.
Именно вы получите нативный экспириенс.
П.С
DHH кстати руби на рельсах создал, небольшой факт.
И бейзкэмп, тоже небольшой факт.
🔥9😐1🆒1
Ребят, включите BBR на своей системе, скажите мне спасибо.
Если коротко, то это более новый алгоритм контроля над перегрузкой в TCP, от Google.
Уменьшает задержки, увеличивает пропускную способность.
У меня с ним сайты около-моментально грузится стали, даже с vpn.
Поищите как сделать это на вашей системе, его можно и на Windows и на Linux сделать.
- Arch
- Windows / Если у вас 23h2+, то прочтите снонску внимательней, иначе может отвалиться что нибудь. Надо ещё пару команд написать.
- Debian/Ubuntu
Если коротко, то это более новый алгоритм контроля над перегрузкой в TCP, от Google.
Уменьшает задержки, увеличивает пропускную способность.
У меня с ним сайты около-моментально грузится стали, даже с vpn.
Поищите как сделать это на вашей системе, его можно и на Windows и на Linux сделать.
- Arch
- Windows / Если у вас 23h2+, то прочтите снонску внимательней, иначе может отвалиться что нибудь. Надо ещё пару команд написать.
- Debian/Ubuntu
❤14😁1
Тяжёлый год, но в целом успешный.
Ощущаю ли я себя взрослым дядей? Никак нет.
Please open Telegram to view this post
VIEW IN TELEGRAM
27🎉30❤4❤🔥4🎄1
Forwarded from suhodolskiy
Немного запоздалая новость, но вслед за WebStorm теперь и DataGrip от JetBrains можно использовать бесплатно для личных и некоммерческих проектов.
https://blog.jetbrains.com/datagrip/2025/10/01/datagrip-is-now-free-for-non-commercial-use/
Я активно использую плагин для работы с бд прямо в goland, но только для разработки. Для продакшена я использую отдельное приложение TablePlus, чтобы не перепутать и случайно не наделать проблем 😆 Однако подписка закончилась, так что думаю, что это знак, чтобы дать ещё один шанс DataGrip 🤷♂️
https://blog.jetbrains.com/datagrip/2025/10/01/datagrip-is-now-free-for-non-commercial-use/
Я активно использую плагин для работы с бд прямо в goland, но только для разработки. Для продакшена я использую отдельное приложение TablePlus, чтобы не перепутать и случайно не наделать проблем 😆 Однако подписка закончилась, так что думаю, что это знак, чтобы дать ещё один шанс DataGrip 🤷♂️
❤🔥2👍2
Это ооочень необычно, вызывает некоторый диссонанс в голове, но мне нравится.
Оркестр + днб.
https://www.youtube.com/watch?v=AZ7MN4WpZRI
Оркестр + днб.
https://www.youtube.com/watch?v=AZ7MN4WpZRI
YouTube
Camo & Krooked & Christian Kolonovits - Red Bull Symphonic Johann Strauss 2025 Edition | UKF On Air
Camo & Krooked & Christian Kolonovits return to the Vienna Konzerthaus for Red Bull Symphonic Johann Strauss 2025 Edition, featuring Wiener Symphoniker and special guest performances from Mira Lu Kovacs, EXEA, Kärntner Trommlerkorps and V.O.I.C.E!
---
Tracklist:…
---
Tracklist:…
❤🔥1🤨1
❤2❤🔥1