Для вскода я обычно использую плагин remote development, который умеет и к wsl цепляться, и по ssh и что-то еще. А так - есть ощущение что из винды работать с путями wsl выходит сильно медленнее, чем из самого wsl
Скорее личный пунктик, я не профи разработчик устройств. Для меня более частая ситуация когда сделал себе девайс условно v0.0.1, попользовался, понял что не хватает чего-либо, и хочется снять с платы дорогие компоненты.
Вот про новатек странно, у меня он сох даже быстрее указанного. Как вариант - он на силиконовой основе, а там бывают приколы с умершим отвердителем.
Ещё, кстати, что вспомнил - мне этот компаунд из-за наполнителя показался каким-то хрупким. Если обычный силикон тянется в очень широких пределах, то новатековский рассыпается на куски при сдавливании. Оно, конечно, удобно при ремонте, но...
Теплопроводный компаунд (пользовал от Новатек, он вполне работает). Но относительно дорого
Силикон для литья форм на оловянном катализаторе - дает отличную защиту от пыли, воды и механики, имеет нулевую адгезию, но есть требования к корпусу девайса и положению платы и плохо проводит тепло. А ещё имеет пакостное свойство протекать в незаметные дырки (моторы, кнопки, etc) и блочить то, что должно двигаться
Полиуретановые пластики - не пробовал лля плат, но слишком хорошо прилипают почти ко всему (минус ремонтопригодность) и слишком жесткие
Саммари: в любительских девайсах - или лак, или силикон. Ну или сначала лак, а корпус залить силиконом.
Нагружаются теги - да, есть такое. Но на мой вкус - не критично. Валидация используется для выходящих объектов, а там разве что json/yaml ещё будет.
Для того, чтобы поймать ошибки в таких тегах есть юнит-тесты
"не очевидны тем, кто не знает" - ну тут уж извините... Доку надо читать )
Для меня единственный минус этого валидатора - использование рефлексии, и, соответственно, скорость выполнения. Поэтому где возможно использую генератовы
А точно ли на неверный код ответа надо кидать панику?
Обертка через fmt.Errorf - редкостная гадость, потому что на верхних уровнях (грпц интерсептор, например) через errors.As/Is получится достать только исходную ошибку, но никак не контекст. Для нормального оборачивания есть errors.Join и "константные" ошибки слоя
Замечание: слайсы не то чтоб прямо ссылочный тип. Он скорее как морская свинка, которая не свинка, и не морская.
Для примера могу автору попробовать сделать append к слайсу, переданному как аргумент функции, потом поменять какой-то элемент по индексу и объяснить себе разницу в поведении в зависимости от capacity
Для увеличения оптической мощности ставят не один диод, а несколько. Ну и, соответственно, хитрая оптическая схема чтобы собрать их в один пучок. Фокусировка чуть страдает при этом, но в целом - не критично
Есть, но с чуть большим гемором.
А вообще вывод в статье верный - го как числодробилка не очень чтобы подходит
Грубо: Вв го обращение к слайсу по индексу - это синтаксический сахар с проверкой границ слайса. В исходном варианте - два обращения и две проверки.
Есть squirrel, который отлично подходит для таких задач.
У меня есть личная аллергия на формирование SQL запроса через принты.
Только мне в обработке строк чудится заготовка под инъекции?
Для вскода я обычно использую плагин remote development, который умеет и к wsl цепляться, и по ssh и что-то еще. А так - есть ощущение что из винды работать с путями wsl выходит сильно медленнее, чем из самого wsl
В смысле - запускать экзешник вскода на wsl?
Самое интересное что я тоже работаю с впн, но с такими приколами .... Вру, сталкивался, но только на vpn от Cisco. На openVPN всё работает без проблем
Гонки там нет, но решение... Странное.
Хотя бы тем, что если уж "счётчик", просто инкрементится, то логичнее канал пустых структур, а не интов.
Хотя как пример работы - сойдёт
Апд: а, сорри, ступил. Вызов 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
Для увеличения оптической мощности ставят не один диод, а несколько. Ну и, соответственно, хитрая оптическая схема чтобы собрать их в один пучок. Фокусировка чуть страдает при этом, но в целом - не критично