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 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
