uk
Feedback
dev notes

dev notes

Відкрити в Telegram

Пишу про Go, Vim, и про то, как я медленно ползу в сторону FAANG. Веду @digest_golang С предложениями: @junsenpub

Показати більше
1 397
Підписники
Немає даних24 години
-37 днів
-730 день

Триває завантаження даних...

Схожі канали
Немає даних
Виникли проблеми? Будь ласка, оновіть сторінку або зверніться до нашого support-менеджера.
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+1
в 0 каналах
травень '26
+1
в 0 каналах
Get PRO
квітень '26
+4
в 0 каналах
Get PRO
березень '26
+3
в 0 каналах
Get PRO
лютий '26
+2
в 0 каналах
Get PRO
січень '26
+8
в 0 каналах
Get PRO
грудень '25
+4
в 0 каналах
Get PRO
листопад '25
+62
в 0 каналах
Get PRO
жовтень '25
+20
в 0 каналах
Get PRO
вересень '25
+2
в 0 каналах
Get PRO
серпень '25
+2
в 0 каналах
Get PRO
липень '25
+3
в 0 каналах
Get PRO
червень '25
+2
в 0 каналах
Get PRO
травень '25
+8
в 0 каналах
Get PRO
квітень '25
+5
в 0 каналах
Get PRO
березень '25
+16
в 0 каналах
Get PRO
лютий '25
+3
в 0 каналах
Get PRO
січень '250
в 0 каналах
Get PRO
грудень '240
в 0 каналах
Get PRO
листопад '240
в 0 каналах
Get PRO
жовтень '240
в 0 каналах
Get PRO
вересень '240
в 0 каналах
Get PRO
серпень '240
в 0 каналах
Get PRO
липень '240
в 0 каналах
Get PRO
червень '240
в 0 каналах
Get PRO
травень '240
в 0 каналах
Get PRO
квітень '240
в 0 каналах
Get PRO
березень '240
в 0 каналах
Get PRO
лютий '240
в 0 каналах
Get PRO
січень '240
в 0 каналах
Get PRO
грудень '230
в 0 каналах
Get PRO
листопад '230
в 0 каналах
Get PRO
жовтень '230
в 0 каналах
Get PRO
вересень '230
в 0 каналах
Get PRO
серпень '230
в 0 каналах
Get PRO
липень '230
в 0 каналах
Get PRO
червень '23
+2
в 0 каналах
Get PRO
травень '23
+4
в 0 каналах
Get PRO
квітень '23
+1
в 0 каналах
Get PRO
березень '23
+3
в 0 каналах
Get PRO
лютий '23
+2
в 0 каналах
Get PRO
січень '23
+1
в 0 каналах
Get PRO
грудень '22
+5
в 0 каналах
Get PRO
листопад '22
+9
в 0 каналах
Get PRO
жовтень '22
+3
в 0 каналах
Get PRO
вересень '22
+2
в 0 каналах
Get PRO
серпень '22
+5
в 0 каналах
Get PRO
липень '22
+7
в 0 каналах
Get PRO
червень '220
в 0 каналах
Get PRO
травень '220
в 0 каналах
Get PRO
квітень '22
+7
в 0 каналах
Get PRO
березень '22
+7
в 0 каналах
Get PRO
лютий '22
+5
в 0 каналах
Get PRO
січень '22
+150
в 0 каналах
Get PRO
грудень '21
+3
в 0 каналах
Get PRO
листопад '21
+2
в 0 каналах
Get PRO
жовтень '21
+5
в 0 каналах
Get PRO
вересень '21
+12
в 0 каналах
Get PRO
серпень '21
+9
в 0 каналах
Get PRO
липень '21
+9
в 0 каналах
Get PRO
червень '21
+2
в 0 каналах
Get PRO
травень '21
+4
в 0 каналах
Get PRO
квітень '21
+6
в 0 каналах
Get PRO
березень '21
+5
в 0 каналах
Get PRO
лютий '21
+8
в 0 каналах
Get PRO
січень '21
+11
в 0 каналах
Get PRO
грудень '20
+2 634
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
12 червня+1
11 червня0
10 червня0
09 червня0
08 червня0
07 червня0
06 червня0
05 червня0
04 червня0
03 червня0
02 червня0
01 червня0
Дописи каналу
LLM, конечно, страшные вещи делает. Купил подписку на google, включающую помимо всего прочего расширенные лимиты для antigravity, и решил набросать небольшой проектик, где на фронте будет отображаться большая 2D карта мира с разной красивой анимацией. Первым промптом gemini развернул мне backend на go и frontend на react, и набросал базовую версию. Запускаю, открываю браузер - карта вывелась, но анимации на основе данных с бэка нет. Второй промпт: запусти агента, который в визуальном режиме поймет в чем проблема и поправит ее. Antigravity открывает окно хрома, начинает ползать указателем по интерфейсу, выгребать DOM, после чего вносит пачку правок. Проверяю - все работает. Затем еще переключил модель на Claude Opus и тот делает ревью и правит баги, и только потом я иду читать код. В целом - мне особо придраться не к чему, все написано красиво, и главное - все завелось за 30 минут. Думаю в течении пары недель допилю проектик и, помимо прочего, поделюсь тут ссылкой, там должно быть интересно. А с агентами, которые визуально умеют понимать, что происходит (конечно, никто там ничего визуально не понимает - они просто ходят по DOM и тыкают в js, но все же) - отрыв башки. Знаете, кстати, что еще заметил, пока ходил по собесам и разгребал вакансии? Многие компании, которые раньше нанимали фронтов - теперь нанимают fullstack разрабов в лучшем случае, и даже моя перешла к такой политике несколько месяцев назад. Чисто фронтовых позиций стало в разы меньше. Рынок меняется, и меняется несколько быстрее, чем многие предполагали.

2
Тут две недели назад приняли пропозал в Go от Robert Griesemer - это, на минуточку, один из создателей языка. Пропозал добавляет возможность объявлять типы-параметры у дженерик-методов, а не только у структур и обычных функций. На простом примере: допустим, есть у нас структура ответа c дженерик-типом: type Response[T any] struct { Data T Err error } И получая ответ для типа User, мы хотим его замапить в другой тип - UserDTO. Если ты не знаком с дженериками, то интуитивно хочется сделать что-то такое: func (Response[T]) Map[U any] funcname... Но так сделать нельзя. Сейчас Go позволяет на структуру навешивать методы только с тем типом, который определен для структуры. Чтобы решить проблему с маппером выше сейчас нужно определять глобальную функцию: func MapResponse[T any, U any](r Response[T], f func(T) U) Response[U] { if r.Err != nil { return Response[U]{Err: r.Err} } return Response[U]{Data: f(r.Data)} } и вызывать ее потом следующим образом: resp := GetUserFromDB(1) dtoResp := MapResponse(resp, func(u User) UserDTO { return UserDTO{Name: u.Name} }) Когда пропозал завезут в новую версию, дженерик-структуры получат возможность навешивать методы с собственными параметрами: type Response[T any] struct { Data T Err error } func (r Response[T]) Map[U any](f func(T) U) Response[U] { if r.Err != nil { return Response[U]{Err: r.Err} } return Response[U]{Data: f(r.Data)} } // использование: dtoResp := GetUserFromDB(1).Map(func(u User) UserDTO { return UserDTO{Name: u.Name} }) Куда это красиво ляжет? Например, на обработку коллекций или потоков данных. Можно будет использовать цепочку вызовов: mySlice.Map(transform).Filter(check).Collect() В целом, после первичной стадии отторжения дженериков пару лет назад - я плавно перешел в стадию их принятия, особенно когда на работе появился проект, где мы их начали использовать. Сейчас же, когда их использование стало совсем привычной вещью - этот пропозал выглядит очень полезным и явно двигает систему дженериков в Go в нужную сторону.
0