NeМакс
крч
NeМакс
я переработал уже
NeМакс
надо скомпилить и пойти спать
🎉
То что плюсом ещё прога запустилась, комп не помре от этого, тем более что у меня вифи, и паралелльно спиногрызы его юзали, с десктопа и двух мобил. А сеть не стабильна, это я просто словлю ошибку доступа к сайту и всё. Да, лучше спать иногда, иначе каша в голове случается.
NeМакс
это был для меня шок
NeМакс
жал ctrl z изо всех сил
🎉
Это всего-лишь программа, что она может железу сделать? ))
🎉
Ну максимум повесить его, такое у мну было, разок затупил, в цикле запустил несколько горутин, и они стали плодиться... причем загрузка проца показала 109%
NeМакс
Класс простая тулза 7мб
NeМакс
js меньше весить будет 😂
NeМакс
Хотя стоп
NeМакс
нифига
🎉
А так? -ldflags "-w -s"
NeМакс
я чот уже путаю
🎉
Флаги для компиляции, погугли.
NeМакс
я чот уже путаю
все фреймворки для фронта оконного весят от ~100мб
🎉
Размер сокращает существенно, у мну Линукс.
NeМакс
Флаги для компиляции, погугли.
спасибо незнал. Просто я только взялся за go нормально
🎉
Под венду не знаю, лучше опытных поспрашать... да компиль, страшного всё равно не случится.
NeМакс
Я пока наткнулся на gccgo. Ты им не пользовался?
🎉
go env ... GCCGO="gccgo" CC="gcc" CXX="g++" CGO_ENABLED="1" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" ...
NeМакс
а раньше был другой
🎉
а раньше был другой
В смысле? А какая у тебя версия го?
🎉
а раньше был другой
Во, нашёл https://golang.org/doc/faq#What_compiler_technology_is_used_to_build_the_compilers
NeМакс
я теряюсь в больших статьях английского
🎉
Честно говоря, только щас задумался кто у меня компилит, ибо в голэнде стоит любой а каким он компилит даж не в курсах.
NeМакс
Я пытался указать в флаге компилятора gccgo а мне в ответ "Нет такого компилятора"
NeМакс
я взял да и установил как обычно 😂
🎉
У меня можно какой-то один указать или Any... ну хз, провентилирую вопрос.
🎉
Как я понял GSSGO написан на С++, а GC с версии 1.5 на го, а раньше вроде на Си. Нужно запробовать, и посмотреть какая разница.
🎉
я взял да и установил как обычно 😂
Я разницы не заметил, у мну проект может махонький, а так вот что нарыл https://habrahabr.ru/company/intel/blog/348230/
🎉
я взял да и установил как обычно 😂
Вот интересные способы по уменьшению бинарника, ща запробую ещё и упаковать. http://qaru.site/questions/98570/how-to-reduce-compiled-file-size
🎉
Я пытался указать в флаге компилятора gccgo а мне в ответ "Нет такого компилятора"
Во, ужал, почти с 7 MB до 2 с половиной File size Ratio Format Name -------------------- ------ ----------- ----------- 6889376 -> 2588452 37.57% linux/ElfAMD app
🎉
Щас вот ковыряю как мне в мэйкфайл goupx прописать, шоб автоматом паковалось...
NeМакс
тут все программы дико маленькие
🎉
Дык венда отстой, на ней только в игрушки играть...
NeМакс
один гуи только да бесит
Sergey
Товарищи, дозвольте вопрос, как правильно располагать файлы тестов? В тех же каталогах, что и основной код?
Slava
да
Sergey
благодарю!
Vsevolod
Доброе утро, коллеги. Посоветуйте пожалуйста, как лучше организовать репозитории. Есть проблема в том, что сейчас все находится в монорепе, но там слишком много всего и мержить все это - это проблема. При коммите там, происходит сборка всего разного. Вижу как решение все таки, это разделение процесса сборки в CI по разным веткам на разные компоненты. Однако потом встанет вопрос о разделении прав доступа различных разработчиков к различным кускам кода. Хочется все разбить на отдельные репозитории, однако столкнулись с не очень приятной вещью. Если у тебя проект А зависит от проекта B, то glide скачивает его в свою папочку vendor. Первое неудобство, в том, что если ты хочешь одновременно работать в двух репозиториях, то тебе приходится удалять копию проекта B из папки vendor проекта А. Второе неудобство в том, что если между двуми проетами совместно используется какая то третья либа (ThirdPkg), то go начинает ругаться на то, что projectA/vendor/ThirdPkg не может бысть использован как projectB/vendor/ThirdPkg. Также было бы удобно, если все это хорошо показывалось в Goland. Разделением на репозитории, хотим решить проблему различного по времени деплоя различных проектов и разделения по правам доступа. Хотелось бы услышить какие нибудь советы и рекомендации, или аргументы почему нам не стоит так делать и как лучше тогда сорганизовать монорепозиторий. Спасибо.
Zver
Доброе утро, коллеги. Посоветуйте пожалуйста, как лучше организовать репозитории. Есть проблема в том, что сейчас все находится в монорепе, но там слишком много всего и мержить все это - это проблема. При коммите там, происходит сборка всего разного. Вижу как решение все таки, это разделение процесса сборки в CI по разным веткам на разные компоненты. Однако потом встанет вопрос о разделении прав доступа различных разработчиков к различным кускам кода. Хочется все разбить на отдельные репозитории, однако столкнулись с не очень приятной вещью. Если у тебя проект А зависит от проекта B, то glide скачивает его в свою папочку vendor. Первое неудобство, в том, что если ты хочешь одновременно работать в двух репозиториях, то тебе приходится удалять копию проекта B из папки vendor проекта А. Второе неудобство в том, что если между двуми проетами совместно используется какая то третья либа (ThirdPkg), то go начинает ругаться на то, что projectA/vendor/ThirdPkg не может бысть использован как projectB/vendor/ThirdPkg. Также было бы удобно, если все это хорошо показывалось в Goland. Разделением на репозитории, хотим решить проблему различного по времени деплоя различных проектов и разделения по правам доступа. Хотелось бы услышить какие нибудь советы и рекомендации, или аргументы почему нам не стоит так делать и как лучше тогда сорганизовать монорепозиторий. Спасибо.
Добавить эти пакеты в исключения, чтобы не импортировались в вендор.
Vsevolod
Добавить эти пакеты в исключения, чтобы не импортировались в вендор.
А как же сборка в CI? Их же нужно импортить при сборке.
Zver
А как же сборка в CI? Их же нужно импортить при сборке.
По идее должны тогда импортироваться из обычных путей в src. Но надо смотреть. Я не делал. Попробуйте.
Sergey
Коллеги, кто каким configuration manager пользуется? Я так понял на пике viper?
Slach
Коллеги, кто каким configuration manager пользуется? Я так понял на пике viper?
да viper на пике, но его надо вкурить =) в awecome-go еще configor есть, но немного недоделанный
Oleg
Доброе утро, коллеги. Посоветуйте пожалуйста, как лучше организовать репозитории. Есть проблема в том, что сейчас все находится в монорепе, но там слишком много всего и мержить все это - это проблема. При коммите там, происходит сборка всего разного. Вижу как решение все таки, это разделение процесса сборки в CI по разным веткам на разные компоненты. Однако потом встанет вопрос о разделении прав доступа различных разработчиков к различным кускам кода. Хочется все разбить на отдельные репозитории, однако столкнулись с не очень приятной вещью. Если у тебя проект А зависит от проекта B, то glide скачивает его в свою папочку vendor. Первое неудобство, в том, что если ты хочешь одновременно работать в двух репозиториях, то тебе приходится удалять копию проекта B из папки vendor проекта А. Второе неудобство в том, что если между двуми проетами совместно используется какая то третья либа (ThirdPkg), то go начинает ругаться на то, что projectA/vendor/ThirdPkg не может бысть использован как projectB/vendor/ThirdPkg. Также было бы удобно, если все это хорошо показывалось в Goland. Разделением на репозитории, хотим решить проблему различного по времени деплоя различных проектов и разделения по правам доступа. Хотелось бы услышить какие нибудь советы и рекомендации, или аргументы почему нам не стоит так делать и как лучше тогда сорганизовать монорепозиторий. Спасибо.
я бы все-таки подумал насчет монорепо с git-submodules
Daniel
Не надо сабмодулей
Vsevolod
Не надо сабмодулей
А что думаете лучше делать в этом случае?
Daniel
Мультирепо
Vsevolod
Мультирепо
Можно поподробнее? Или есть линк, где почитать можно?
Daniel
Да че тут подробнее
Daniel
Каждый сервис - в свою репу
Daniel
Каждую либу - в свою
Daniel
Vendor у каждого свой (и закоммиченный)
Vsevolod
Ну а что делать с теми проблемами, которые я описал выше?
Vsevolod
Если мы хотим править одновременно несколько репозиториев.
Daniel
Правьте
Daniel
При закоммиченном вендоре это только в момент обновления важно
Vsevolod
То есть решение такое, что в случае если мы хотим работать одновременно, то мы удаляем копию локального проекта из vendor?
Andrey
> Если у тебя проект А зависит от проекта B, то glide скачивает его в свою папочку vendor. Первое неудобство, в том, что если ты хочешь одновременно работать в двух репозиториях, то тебе приходится удалять копию проекта B из папки vendor проекта А. Второе неудобство в том, что если между двуми проетами совместно используется какая то третья либа (ThirdPkg), то go начинает ругаться на то, что projectA/vendor/ThirdPkg не может бысть использован как projectB/vendor/ThirdPkg. У вас сборка одновременно двух сервисов чтоли?
Vsevolod
Зачем удаляем?
из за вот этого. сли у тебя проект А зависит от проекта B, то glide скачивает его в свою папочку vendor. Первое неудобство, в том, что если ты хочешь одновременно работать в двух репозиториях, то тебе приходится удалять копию проекта B из папки vendor проекта А. Второе неудобство в том, что если между двуми проетами совместно используется какая то третья либа (ThirdPkg), то go начинает ругаться на то, что projectA/vendor/ThirdPkg не может бысть использован как projectB/vendor/ThirdPkg.
Daniel
А я - ответа
Andrey
переходите с glide на dep тогда, если он не умеет собирать проекты по отдельности
Daniel
Умеет