Илья
Оно просто ничего не меняет. Что с реплейсом, что без него – одинаковые ошибки
если не ошибаюсь, то нужно в форке новую версию создать
Dilame
Форкаешь и импортируешь свой, например. Но лучше все-таки свою обёртку сделать, где будешь довешивать. Потому что мб там какие баг фиксы прилетят
Форкнуть-то можно, это понятно. Но это не удобно в данном случае, так как патч неразрывно связан с проектом, для которого он делается. Хочется, чтобы это была одна кодовая база. Я так делал с другим модулем, в котором нет директории internal – работает просто великолепно!
Dilame
Но тебе ничто не мешает в свой форк "подсасывать" мастер интересующей тебя либы
Можете подробнее рассказать про это? Не понимаю концепцию
Mr.
Если возникает такой вопрос, я бы порекомендовал серьёзно задуматься над необходимостью микросервисов на текущем этапе развития вашего проекта. Судя по всему, вы разрабатываете проект либо в одиночку, либо одной небольшой командой. А это значит, что вы просто ещё не доросли до необходимости микросервисов. Микросервисы – это дьявол, который помогает решить проблему масштабирования кодовой базы и команды разработчиков, но взамен приносит множество других проблем. Я лет 5 назад тоже решил что я уже крутой архитектор и сделаю-ка новый проект на микросервисах. Сколько же соли я сожрал на попытках правильно спроектировать взаимодействие между ними. А какие данные в каком МС должны храниться? А как быть, с консистентностью, когда микросервис биллинга должен списать деньги с баланса, а микросервис рулетки должен сделать ставку на зеро, но ставка зафейлилась, а деньги списались? В СУБД это решено уже давно на уровне транзакций, а на микросервисах вам придётся героически переизобретать эти довольно сложные механизмы. А как извлекать повторяющийся во всех микросервисах код, чтобы централизованно его править и переиспользовать? А точно ли это независимые микросервисы, если они имеют общие участки кода? И таких челенджей множество. Поэтому, рекомендую присмотреться к архитектуре монорепозитория. Это идеальная точка для старта. Любой из модулей монорепы можно впоследствие легко извлечь в микросервис, если руки из плеч росли при проектировании.
Понял, благодарю) Микросервисы хотел для обучения сделать, что бы понять как эта штуковина вообще работать должна. Появляется куча вопросов по пути. Проект – мессенджер и довольно маштабный. Пилю в соло, сам я сырой недоджун, но вроде оно даже чот получается, чот работает. Но наверное вы правы, стоит начать с монолита) Правда это ж все потом переписываааать...
Dilame
Понял, благодарю) Микросервисы хотел для обучения сделать, что бы понять как эта штуковина вообще работать должна. Появляется куча вопросов по пути. Проект – мессенджер и довольно маштабный. Пилю в соло, сам я сырой недоджун, но вроде оно даже чот получается, чот работает. Но наверное вы правы, стоит начать с монолита) Правда это ж все потом переписываааать...
Довольно масштабный мессенджер – понятие очень растяжимое. В парадигму монорепозитория вполне можно уместить бэкенд любого месенджера, будь то телеграм или слак. Есть множество примеров компаний, которые очень долго жили в монорепе. Хотел бы обратить внимание – именно монорепозиторий, но не монолит. Немного разные вещи. Если вы, будучи джуном, решили пилить месенджер на микросервисах – очень вряд ли он дорастёт до момента, когда его надо будет переписывать:) И, как я говорил – при условии правильно выстроенной архитекруты, из монорепозитория можно относительно безболезненно извлечь любой модуль и сделать из него микросервис. То есть если у вас всё хорошо с архитектурой – то переписывать “потом” придётся не так много. Если всё плохо, и вы стартуете с микросервисов – велик шанс, что переписывать не придётся вообще ничего, просто потому что вы тупо не запуститесь.
Alexey
Так уж вышло, что перешел на Goland. , подскажите, как убрать его поиск таблицы? я сам знаю, что у меня есть а что у меня нету, его дебильные подсказки не уместны. К базе успешно подключился и все там есть, а то что он не видит, это не должно мешать мне, пусть уж выкинет ошибку если так, но дает запустить из-за этого не дает применить миграции
Grigorij
обычно через эти же подсказки можно отключать чеки там обычно такая опция предлагается или поискать через shift shift
Alexey
обычно через эти же подсказки можно отключать чеки там обычно такая опция предлагается или поискать через shift shift
как раз таки нет, итого переделал на sql файл, но опять сложности, хз, посижу еще и если нет, выберу другую тулзу через sql все отлично видит и даже выдает автокомплит под мою базу
Andrey
Можете подробнее рассказать про это? Не понимаю концепцию
Вот пример вопроса https://stackoverflow.com/questions/3903817/pull-new-updates-from-original-github-repository-into-forked-github-repository
Dilame
Вот пример вопроса https://stackoverflow.com/questions/3903817/pull-new-updates-from-original-github-repository-into-forked-github-repository
Так это вообще какой-то другой вопрос, который с моим даже не пересекается:)
Andrey
Так это вообще какой-то другой вопрос, который с моим даже не пересекается:)
Хмм...мне казалось ты хочешь сделать правда в интернал, но без форка никак этого не сделать, но при этом ты не хочешь отставать от мастер-репы. Но видимо я что-то не понял)
Dilame
Хмм...мне казалось ты хочешь сделать правда в интернал, но без форка никак этого не сделать, но при этом ты не хочешь отставать от мастер-репы. Но видимо я что-то не понял)
Не, мне вообще не нужна upstream репа. Я просто хочу копировать либу в поддиректорию своего проекта. Просто чтобы код работал. Обновления не нужны
Alexey
почему не дает применить?
не стал разбираться, переделал на sql и все заработало, изначально то в go файле описывал
Кіт ✙
Dilame
В папку vendor, главное
Так папка vendor не предполагает ручное изменение кода внутри неё
Илья
Так папка vendor не предполагает ручное изменение кода внутри неё
почему ты уверен, что больше никому не понадобится изменить эту константу? я бы добавил какой-то сеттер
Dilame
почему ты уверен, что больше никому не понадобится изменить эту константу? я бы добавил какой-то сеттер
Потому что это ломает совместимость в некоторых частях библиотеки. Просто меня это устраивает, чтобы выполнить задачу
Илья
а что за либа, если не секрет?
Roman
Потому что это ломает совместимость в некоторых частях библиотеки. Просто меня это устраивает, чтобы выполнить задачу
Делать форк, править под себя и периодически подхватывать обновления от основного репозитория. Хотя я бы в первую очередь подумал, а зачем вот это всё надо
Dilame
а что за либа, если не секрет?
https://github.com/lucas-clemente/quic-go
Кіт ✙
adal
Довольно масштабный мессенджер – понятие очень растяжимое. В парадигму монорепозитория вполне можно уместить бэкенд любого месенджера, будь то телеграм или слак. Есть множество примеров компаний, которые очень долго жили в монорепе. Хотел бы обратить внимание – именно монорепозиторий, но не монолит. Немного разные вещи. Если вы, будучи джуном, решили пилить месенджер на микросервисах – очень вряд ли он дорастёт до момента, когда его надо будет переписывать:) И, как я говорил – при условии правильно выстроенной архитекруты, из монорепозитория можно относительно безболезненно извлечь любой модуль и сделать из него микросервис. То есть если у вас всё хорошо с архитектурой – то переписывать “потом” придётся не так много. Если всё плохо, и вы стартуете с микросервисов – велик шанс, что переписывать не придётся вообще ничего, просто потому что вы тупо не запуститесь.
Привет, а можете подробнее раскрыть что вы имеете ввиду под монорепозиторием и главное его отличие от монолита?
Nikita
Подскажите пожалуйста, почему-то сваггер странно работает. То один раз все хорошо, то выдает как будто не проходят js скрипты. Как пофиксить? swagger json и docs вроде видит.
Dilame
Оп, а что пилим?
Совершенно новый революционно-инновационный JavaScript фреймворк
Vladislav
потому что это язык будущего
Alexey
соратники, подскажи плз, вот развернул монгу в докере(да-да плохие практики и тд), но не могу к ней подключиться, чтобы не делал Монго экспресс норм работает mongodb://root:example@mongo:27017/ не работает mongodb://root:example@mongo:27018/ тоже вместо монги вставлял и localhost и 127.0.0.01 тож самое
Vladislav
да нет, это голанг уже в прошлом остаётся, не набрав особой популярности за 13 лет даже в своей родной среде
Vladislav
а жс и на фронте, и на бэке, и на мобилках, и на десктопах
Alexey
Стоило лишь убрать в конце / и прошло
Egor
😤
Egor
Хорошо что так)
Anonymous
Всем здравствуйте) Столкнулся с проблемой,что нужно избавиться от либы sync/atomic в коде чужого человека Я совсем далек от работы с DLL в golang. Можете подсказать,как можно избавиться от atomic'a? Допустим,тем же syscall func lazyAddr(pAddr *uintptr, lib *syscall.LazyDLL, procName string) uintptr { addr := atomic.LoadUintptr(pAddr) if addr == 0 { addr = lib.NewProc(procName).Addr() atomic.StoreUintptr(pAddr, addr) } return addr }
Артем
Всем привет. На сервере лежит картинка 40мб. Есть ендпоинт который выполнит некое сжатие и отдаст картинку. Для маленьких файлов это делается быстро, для больших - достаточно. В моем примере это занимает 13 секунд. Я с постмана шлю запрос на ендопоинт, по логам вижу, что все хорошо, все обработалось, файл сохранился локально даже, но в постмане вижу следующее. В структуре сервера прописал специально сейчас таймауты по 20секунд. Конечно, на проде будет nginx и надо такой тест провести с ним, но все же. Если кто знает почему рвется соединение, подскажите, пожалуйста
Артем
напрямую к го хожу, пока что. Обязательно надо будет протестить тот же кейс с nginx. Пока не дошли руки
wagner
аа, тогда я мимо)
Артем
там картинка 6 мегабайт выходит
Артем
не в этом дело
Артем
если с браузера слать, тоже обрывает
Артем
сейчас попробую, спасибо
Artur
кто-нибудь хочет создавать свои списки с вопросами, вопросы с картинками и кодом?
Илья
не помогло
а если курлом дернуть?
Артем
сейчас трайну, не подумал
Артем
грешу на голанг сервер
Артем
но странно, таймауты поставил большие специально
adal
не помогло
и не могло, http без состояния
adal
Посмотреть надо кто обрывает соединение для начала клиент или сервер
Илья
грешу на голанг сервер
а какие настройки у http.Server?
Артем
блин
Артем
во я дурак
Артем
представляете
Артем
я задрал read, idle таймауты
Артем
типо читают с ответа сервера, угу, думал я
Артем
задрал write
Илья
но не write?)
Артем
оказалось работает все ровно наоборот
Артем
вывод; надо читать доку лучше. Write таймаут зарешал. Спасибо всем, вы помогли
Илья
кстати, а можно ли как-то убрать timeout'ы только для метрик и pprof?
Sergey
Привет. Подскажите, пожалуйста, как с помощью JWK (алгоритм RS256, приватная часть ключа есть) подписать сгенирированный JWT токен? Желательно через cli
NU
как через пост запрос кидать время для crontab linux? может у кого-то есть ссылки реализации для http сервера
Maks
В виде строки формата кронтаба?
Maks
* * * * *
Maks
через бади
Кіт ✙
* * * * *
Так звезда это безопасный символ, суй хоть в заголовках
Тимофей
я правильно понимаю, что slice в го является альтернативой связному списку, только с доступом по индексу?
Тимофей
а, не это будет динамический массив
Maks
Так звезда это безопасный символ, суй хоть в заголовках
ну просто пост запросы всё таки должны быть информативны по контенту. По этому я так и предложил