All streams
Search
Write a publication
Pull to refresh
24
0
Andrew Ka @comerc

#кодеротбога

Send message

А почему -race не детектит гонку данных для примера кода выше?

Решили написать свое решение. 

Что помешало научиться готовить temporal.io (единорог, на минуточку)? Пилить инфраструктурный велосипед - это значит откладывать на потом "business value".

Ещё один пример в мою коллекцию:
https://habr.com/ru/companies/oleg-bunin/articles/418235/
https://habr.com/ru/companies/ozontech/articles/590709/

В GoLang отсутствуют ссылочные типы данных, но вместо них используются указательные типы данных. Указатели в GoLang позволяют работать с данными по их адресу в памяти. Указательные типы данных в GoLang позволяют эффективно работать с данными и передавать их по ссылке, что может быть полезно во многих ситуациях.

В GоLang нет ссылок, только указатели (ссылки есть в c/c++). У переменой есть значение, адрес ссылки это адрес значения, а указатель на значение имеет свой собственный адрес (​это очень грубое объяснение).

Кошмар для UGC сайтов. Но фарш невозможно провернуть назад. Надо учиться теперь с этим жить.

Это отправная точка. Если относиться к LLM с фигой в кармане, то можно получать некоторую выгоду.

"Огласите весь список, пожалуйста!"

slices, maps, channels, pointers, interfaces, functions, strings.

Почему для “type parameters” квадратные скобки, когда угловые для генериков в Java, C#, C++, TypeScript и Dart?

Вероятно, по аналогии с объявлением типа для ключей мапы: map[int]bool

И чтобы дистанцироваться от генериков в других языках, т.к. нет возможности создавать классы или интерфейсы с “type parameters”. Вместо этого можно использовать обобщенные функции и методы.

Всем известна простая истина - в Go абсолютно все передается по значению.


А вот что рассказывает робот по теме "Ссылочные типы данных":

Ссылочные типы данных в GoLang - это типы данных, которые хранятся в системной куче (heap) и передаются по ссылке, а не по значению. Это означает, что при передаче ссылочного типа данных в функцию, функция работает с оригинальным объектом, а не с его копией. Некоторые из ссылочных типов данных в GoLang:

  • Срезы (slices) - это динамические массивы, которые представляют собой ссылку на последовательность элементов определенного типа.

  • Карты (maps) - это ассоциативные массивы, которые представляют собой ссылку на набор пар ключ-значение.

  • Каналы (channels) - это механизм для обмена данными между горутинами (goroutines) в многопоточной программе.

  • Указатели (pointers) - это переменные, которые хранят адрес в памяти другой переменной.

  • ?? Структуры (structs) - это пользовательские типы данных, которые могут содержать поля разных типов.

  • Интерфейсы (interfaces) - это типы данных, которые определяют набор методов, которые должны быть реализованы для типа данных, чтобы он удовлетворял интерфейсу.

  • Функции (functions) - это типы данных, которые могут быть переданы в качестве аргументов другим функциям или возвращены из функций.

Все эти типы данных являются ссылочными в GoLang и передаются по ссылке, а не по значению.

Нельзя сравнивать []int{1,2,3} == []int{1,2,3}, в отличии от [3]int{1,2,3} == [3]int{1,2,3}

Поправка:

В GoLang тип данных struct является составным типом данных, который объединяет несколько полей разных типов данных в один объект. struct не является ссылочным типом данных, а является значимым типом данных, то есть при передаче struct в функцию или присваивании его переменной происходит копирование значений его полей. Однако, при передаче struct в функцию в качестве аргумента, происходит передача его копии, что может быть неэффективно для больших struct. В таких случаях можно использовать указатели на struct.

Да почему "лажа"? Это отправная точка. Если относится к LLM с фигой в кармане, то можно получать некоторую выгоду.

Добавил про Channel Axioms к 9-му вопросу.

Попробовал пройти практику. Брокеры kafka-2 и kafka-3 оставнавливаются сразу после запуска. В логе было предупреждение про KAFKA_KRAFT_CLUSTER_ID - прописал, не помогло. В итоге невозможно создать topic:

Failed to create topic, kafka responded with the following error: INVALID_REPLICATION_FACTOR: Replication factor is below 1 or larger than the number of available brokers.

Вы ничего не написали про блокчейн-проекты: golos.id / scorum.ru / bastyon.com

Из тематических вики интересен fandom.com

Федеративные чаты - тоже модная тема.

Спасибо! Только оно пока не умеет рефакторить.

Вот почему мой канал в Ютубчике называется #кодеротбога )) Сложность технологий нарастает по экспоненте. Применение абстракций - профит, очевидно.

У семи нянек дитя без глаза. Осваиваем бюджеты. Самопальная оркестрация микросервисов. Теперь ещё это безобразие. Рука-лицо. А я же прикупил акции Ozon-а ))

Information

Rating
Does not participate
Registered
Activity