Илья
Это стартап
Илья
От банка отпачковывпется
Yura
а чем занимается стартап если не секрет?
Илья
Стронг мидл Фулстек сервер мобильные приложения веб дизайн
Илья
Не знаю чем занимается но что то там от крупного банка их Тех лид собеседовать
Vadik
Yura
просто что-то знакомое)
Vadik
а чем должен заниматься мидл?
Илья
Это в Казахстане
Vadik
вы меня конечно извините, но у вас какое то странное представление о программировании, разработке, градациях и тп
Илья
Ответственность должна быть я это не отрицаю и признаю что был неправ
Илья
На то и Стронг мидл чтобы все тестировать на сервере и смотреть профилировщика давать большие нагрузки
Илья
Под разными нагрузками как это делают системщик
Artem
А между ними есть разница? Я бы задал вопрос по-другому.
Кажется правильней спросить в каком пространстве создатся тред при создании горутины: в пространстве ядра (kernel space) или пользователя (user space).
Ну и чем собственно различаются потоки в зависимости от пространства.
Но я могу быть не прав 🙂
Илья
Или там сварщик сделает шов а он потом может разорваться и кому то голову расшибет Для этого насколько мне известно проверяют рентгеном и ультразвуком
Илья
Artem
конечно есть
Думаю стоит уточнять с какими потоками идет сравнение. Потому что термин потока достаточно обширен в CS.
Илья
Помнится я задался давно сделать на гитхабе интернет магазин на Го так запарился писать и забросил но набрался опыта И я понял что не всегда нужно следовать теории
Emin Zalaev
Илья
Илья
Emin Zalaev
Почему
Илья
Var a slice это вообще неправильно
Илья
Тут всё хорошо и проблем нет?
Yura
Emin Zalaev
Илья
Emin Zalaev
Кроме этого есть проблемы?
Илья
Правильно по моему
Илья
Надо
Илья
make нужен для оптимизации т.к. мы знаем размер
Илья
Щас
Илья
Надо использовать sync.Pool и оттуда брать готовый массив а потом обратно его отдавать в пул
Илья
Знаете что такое пул
Илья
?
Илья
Илья
знаешь что такое sync.Cond?
Tom
Господа, Давайте тут обсуждать вакансии , есть отдельный чат по языку
Tom
🦫 Golang полезные ресурсы
@Golang_google - учебные материалы, код , статьи по Go
@golangtests - тесты и задачи по GO
@golangl - чат разработчиков
@golang_jobsgo - канал вакансий и проектов Go
@GolangJobsit - чат вакансий и проектов Go
@golang_books - Golang книги
Илья
Илья
Все познаётся в сравнении
Emin Zalaev
Не знание как устроено все под капотом ведёт к ошибкам и просто ты будешь код дольше писать и всё ломаться будет
Emin Zalaev
Так в итоге кто быстрее нормальный код напишет, тот кто знает или тот кто не знает?
Илья
Maksim
Илья
Большие массивы лучше держать в пуле например картинки
Null
Прокачиваем чистую архитектуру приложений на Go и растем в зарплате
Зачем нужна чистая архитектура?
На проекте с плохой архитектурой задачу, которую можно решить за час, вы делаете две недели, а потом ещё чините полгода. Чистая архитектура помогает убрать лишние зависимости, снизить вероятность появления ошибок и увеличить скорость разработки.
Курс от Слёрм «Чистая архитектура приложения на Go» — это 3 дня, 8 часов теории, 16 часов практики
Вы изучите, что такое чистая архитектура на языке Golang, и под руководством опытного спикера создадите сервис по работе с контактами и возможностью их группировки.
Чем займемся на курсе?
▪️Создадим структуру проекта на Golang
▪️Наполним DI + подключим PostgreSQL
▪️Создадим структуры папок, конструкторы + зависимости
▪️Наполним слои Domain, Use Case, Delivery, Repository
▪️Добавим логирование ошибок
▪️Подключим Jaeger
▪️Добавим трассировку
▪️Покроем тестами блок Use Case.
Важно! У курса прогрессивная цена: чем раньше записываешься — тем дешевле. Можно вступить в сообщество и выиграть место на курс бесплатно.
Стать крутым архитектором на Go: https://slurm.club/3N62okc
Илья
Надо использовать sync.Pool и оттуда брать готовый массив а потом обратно его отдавать в пул
При чем здесь пул? он нужен для безопасного конкурентного использования объектов (например подключений к бд). Можно хранить большие массивы для повторного использования памяти (не создавая новый), но точно не для постоянного хранения картинок.
Имхо, в коде выше мы уже знаем размер слайса, поэтому можем аллоцировать через make (и даже обойтись без append )
Извиняюсь за оффтоп, надеюсь что закончили дискуссию
Илья
Илья
Смысл пула заключается в переиспользовании из пула и вам не поможет знание планировщиков если вы не имели опыта в таком деле
Илья
https://habr.com/ru/post/277137/
Depash
https://habr.com/ru/post/277137/
Это понятно, но вас спросили конкретно про тот участок кода, там создаётся один массив, там sync pool не упёрся, вопрос был задан чтобы услышать, будет ли код работать и какие есть у него проблемы, проблема там была одна, это из-за устройства slice и того что мы не задали длинну, у нас будет несколько выделений памяти, которых не будет если мы сделаем make и сразу зададим размер
Emin Zalaev
Это понятно, но вас спросили конкретно про тот участок кода, там создаётся один массив, там sync pool не упёрся, вопрос был задан чтобы услышать, будет ли код работать и какие есть у него проблемы, проблема там была одна, это из-за устройства slice и того что мы не задали длинну, у нас будет несколько выделений памяти, которых не будет если мы сделаем make и сразу зададим размер
да, идея была в этом
Depash
Хотели проверить понимаете ли вы в принципе что происходит под капотом тех или иных вещей, потому что планировщик и горутины на самом деле тоже нужно знать, у них есть узкие места
Depash
Как и слайсы, чтобы не было лишних аллокаций. Когда за вас язык берёт какую-то часть работы, нужно понимать как он это делает, чтобы потом не было проблем
Emin Zalaev
Да, безусловно многие вещи вам вообще не понадобятся, но в конкретных кейсах вы сэкономите и не один день, исправляя какой нибудь баг или ошибку, ведь вы будете знать что и как происходит. Ну или потратите все время на заполнение пробелов в теории и исправление простых ошибок
Илья
Это как дали задачу Нильсу Бору в школе, про то как определить высоту с помощью барометра, так он сказал что надо бросить барометр и посчитать время падения и так можно опредить высоту, когда мне дали эту задачу я спросил где в учебнике эта задача, значит она вымышленная и недействительная, а вообще высоту здания можно опредеить по тени и углу, и никакие там барометры не нужны
Emin Zalaev
Вы пытаетесь оправдать не знание теории тем, что она не понадобится никогда?
Илья
Нет конечно, теория нужна, но не всегда она верна, как люди ошибались насчет относительности времени
Илья
или там отрицали квантовую телепортацию
Emin Zalaev
"Не всегда верна", можно тут по подробнее? Имеется ввиду, что ЭВМ состоящяя из 0 и 1, из транзисторов и сигналов может ошибаться? В том, плане, что вам скажут в документации как это работает под капотом, а на деле окажется что не совсем так, как написано?
Илья
Есть компьютеры работающие троичной системе а не только на 1 и 0
Emin Zalaev
Машинный код != предположение и догадки без доказательств. Да, безуслвоно, слово "теория" воспринимается как что-то, что мы можем и не доказывать а просто предполагать. Но я имею ввиду, что есть конкретная работа программы и знание как это все работает и почему
Илья
Вы пытаетсь опрадать уместность make, но это не решение проблемы
Emin Zalaev
Я не говорю, что вам нужно знать как работает GC в Golang, но остальные вещи по типу переназначение памяти при append, в случае когда сapacity не хватает. Мне кажется это довольно таки важная штука, тк вы часто используйте слайсы и знание их внутреннего устройства защитит вас от ошибок
Илья
ну вот зачем аллоцировать новый массив, это затратно, когда можно переиспользовать старый массив из пула
Emin Zalaev
Я не говорю, что на собеседованиях нужно спрашивать всё по языку и внутреннему устройству, но кандидат, который знает это, выглядит компетентнее того, кто не знает
Илья
Если углубляться в глубину, тогда вы никогда не вынернете и не полетите
Илья
Про make я знаю и знаю еще более лучший способ связанный с пулом
Emin Zalaev
Глубина для разных людей воспринимается по разному, для аквалангиста, который побывал в марианском желобе глубина не страшна, как тому, кто никогда не бывал в море
Emin Zalaev
так и никто не просит все глубины изучать
Илья
Изучив глубины вы останетесь в глубине, многие ассемблерщики так и не поняли что такое спекулятивные вычисления
Илья
и как их обойти