Скорее личный пунктик, я не профи разработчик устройств. Для меня более частая ситуация когда сделал себе девайс условно v0.0.1, попользовался, понял что не хватает чего-либо, и хочется снять с платы дорогие компоненты.
Вот про новатек странно, у меня он сох даже быстрее указанного. Как вариант - он на силиконовой основе, а там бывают приколы с умершим отвердителем.
Ещё, кстати, что вспомнил - мне этот компаунд из-за наполнителя показался каким-то хрупким. Если обычный силикон тянется в очень широких пределах, то новатековский рассыпается на куски при сдавливании. Оно, конечно, удобно при ремонте, но...
Теплопроводный компаунд (пользовал от Новатек, он вполне работает). Но относительно дорого
Силикон для литья форм на оловянном катализаторе - дает отличную защиту от пыли, воды и механики, имеет нулевую адгезию, но есть требования к корпусу девайса и положению платы и плохо проводит тепло. А ещё имеет пакостное свойство протекать в незаметные дырки (моторы, кнопки, etc) и блочить то, что должно двигаться
Полиуретановые пластики - не пробовал лля плат, но слишком хорошо прилипают почти ко всему (минус ремонтопригодность) и слишком жесткие
Саммари: в любительских девайсах - или лак, или силикон. Ну или сначала лак, а корпус залить силиконом.
Нагружаются теги - да, есть такое. Но на мой вкус - не критично. Валидация используется для выходящих объектов, а там разве что json/yaml ещё будет.
Для того, чтобы поймать ошибки в таких тегах есть юнит-тесты
"не очевидны тем, кто не знает" - ну тут уж извините... Доку надо читать )
Для меня единственный минус этого валидатора - использование рефлексии, и, соответственно, скорость выполнения. Поэтому где возможно использую генератовы
А точно ли на неверный код ответа надо кидать панику?
Обертка через fmt.Errorf - редкостная гадость, потому что на верхних уровнях (грпц интерсептор, например) через errors.As/Is получится достать только исходную ошибку, но никак не контекст. Для нормального оборачивания есть errors.Join и "константные" ошибки слоя
Замечание: слайсы не то чтоб прямо ссылочный тип. Он скорее как морская свинка, которая не свинка, и не морская.
Для примера могу автору попробовать сделать append к слайсу, переданному как аргумент функции, потом поменять какой-то элемент по индексу и объяснить себе разницу в поведении в зависимости от capacity
Для увеличения оптической мощности ставят не один диод, а несколько. Ну и, соответственно, хитрая оптическая схема чтобы собрать их в один пучок. Фокусировка чуть страдает при этом, но в целом - не критично
Хмс. Поднять-то дополнительные рутины подняли. А гасить их кто будет и в каком случае? Потому что если их не гасить, то проще с самого начала запустить весь пул на один канал и вообще не писать дополнительной логики
Апд про скидывание из консьюмера в канал: т.е. консьюмер поднят с автокоммитом, и если обработка сообщения пойдет не так, то второго шанса это сообщение не получит. Приемлемо, конечно, но в ограниченном количестве случаев
А для разработки бека очевидно удобнее линукс. Так что лично для меня wsl - отличная идея. Да и возможность забекапить рабочую машину одним файлом подкупает
Про машины не знаю, но на эндуро мотоциклы часто ставят именно agm или гелевые аккумуляторы. Просто потому, что они не плюются кислотой при падениях.
Для машин-внедорожников скорее всего те же причины могут быть. Плюс у них, по слухам, меньше саморазряд и за счёт стеклоткани/гелевого наполнителя вроде должна быть большая устойчивость к вибрации
Гонки там нет, но решение... Странное.
Хотя бы тем, что если уж "счётчик", просто инкрементится, то логичнее канал пустых структур, а не интов.
Хотя как пример работы - сойдёт
Апд: а, сорри, ступил. Вызов Value() в отдельных рутинах а процессе инкремента даст гонку
up to you, но из вот этого https://github.com/go-playground/validator/blob/master/errors.go#L76 можно вытащить всё необходимое и отформатировать так, как нужно
Скорее личный пунктик, я не профи разработчик устройств. Для меня более частая ситуация когда сделал себе девайс условно v0.0.1, попользовался, понял что не хватает чего-либо, и хочется снять с платы дорогие компоненты.
Вообще go-playground возвращает типизированные ошибки, в которых есть и сработавший тег, и имя поля
Вот про новатек странно, у меня он сох даже быстрее указанного. Как вариант - он на силиконовой основе, а там бывают приколы с умершим отвердителем.
Ещё, кстати, что вспомнил - мне этот компаунд из-за наполнителя показался каким-то хрупким. Если обычный силикон тянется в очень широких пределах, то новатековский рассыпается на куски при сдавливании. Оно, конечно, удобно при ремонте, но...
В том числе в хабе "электроника для начинающих"..? Ну может быть )
Варианты:
Акриловый лак из баллона. Быстро, просто
Теплопроводный компаунд (пользовал от Новатек, он вполне работает). Но относительно дорого
Силикон для литья форм на оловянном катализаторе - дает отличную защиту от пыли, воды и механики, имеет нулевую адгезию, но есть требования к корпусу девайса и положению платы и плохо проводит тепло. А ещё имеет пакостное свойство протекать в незаметные дырки (моторы, кнопки, etc) и блочить то, что должно двигаться
Полиуретановые пластики - не пробовал лля плат, но слишком хорошо прилипают почти ко всему (минус ремонтопригодность) и слишком жесткие
Саммари: в любительских девайсах - или лак, или силикон. Ну или сначала лак, а корпус залить силиконом.
Нагружаются теги - да, есть такое. Но на мой вкус - не критично. Валидация используется для выходящих объектов, а там разве что json/yaml ещё будет.
Для того, чтобы поймать ошибки в таких тегах есть юнит-тесты
"не очевидны тем, кто не знает" - ну тут уж извините... Доку надо читать )
Для меня единственный минус этого валидатора - использование рефлексии, и, соответственно, скорость выполнения. Поэтому где возможно использую генератовы
А точно ли на неверный код ответа надо кидать панику?
Обертка через fmt.Errorf - редкостная гадость, потому что на верхних уровнях (грпц интерсептор, например) через errors.As/Is получится достать только исходную ошибку, но никак не контекст. Для нормального оборачивания есть errors.Join и "константные" ошибки слоя
https://go.dev/ref/spec#Comparison_operators
Да, но...
func makeSomething(s []string) {s = append(s, "item"); s[1] = "meti"}
ar := make([]string,3,4)
ar[0], ar[1], ar[2]. = "f", "s", "t"
makeSomething(ar)
Гошные слайсы по традиции не являются Comparable типами (для скорости..? Не знаю), а ключ мапы требует именно Comparable
Замечание: слайсы не то чтоб прямо ссылочный тип. Он скорее как морская свинка, которая не свинка, и не морская.
Для примера могу автору попробовать сделать append к слайсу, переданному как аргумент функции, потом поменять какой-то элемент по индексу и объяснить себе разницу в поведении в зависимости от capacity
Для увеличения оптической мощности ставят не один диод, а несколько. Ну и, соответственно, хитрая оптическая схема чтобы собрать их в один пучок. Фокусировка чуть страдает при этом, но в целом - не критично
https://pkg.go.dev/builtin#append
Ну может потому и не сказано, что его нет..?
Как я понимаю - этот материал пропускает ИК, но отражает видимый свет. Плюс непонятно каким образом он увеличивает съем тепла со светодиодов.
А вот дальше моя логика сказала "дальше сам" и ушла курить)
Хмс. Поднять-то дополнительные рутины подняли. А гасить их кто будет и в каком случае? Потому что если их не гасить, то проще с самого начала запустить весь пул на один канал и вообще не писать дополнительной логики
Апд про скидывание из консьюмера в канал: т.е. консьюмер поднят с автокоммитом, и если обработка сообщения пойдет не так, то второго шанса это сообщение не получит. Приемлемо, конечно, но в ограниченном количестве случаев
Мне, например, больше нравится UI винды.
А для разработки бека очевидно удобнее линукс. Так что лично для меня wsl - отличная идея. Да и возможность забекапить рабочую машину одним файлом подкупает
Два реле, умеющих коммутировать 30-40А, чтобы с запасом
А почему не твердотельные реле? Они вроде как и 0 умеют ловить, и встречный диод им особо не нужен?
Про машины не знаю, но на эндуро мотоциклы часто ставят именно agm или гелевые аккумуляторы. Просто потому, что они не плюются кислотой при падениях.
Для машин-внедорожников скорее всего те же причины могут быть. Плюс у них, по слухам, меньше саморазряд и за счёт стеклоткани/гелевого наполнителя вроде должна быть большая устойчивость к вибрации