Куда войти? @kydavoiti Channel on Telegram

Куда войти?

@kydavoiti


Куда войти? В IT. Канал о технологиях.

Автор: Илья Ильиных, разработчик. Программирую деньги с 2018 года.

GH: https://github.com/IlyasYOY
VK: https://vk.com/kydavoiti
YouTube: https://www.youtube.com/c/Кудавойти

Куда войти? (Russian)

Вы когда-нибудь задумывались, куда войти в мире IT? Если да, то канал @kydavoiti именно для вас! Здесь вы найдете множество информации о последних технологиях, новейших разработках и многое другое.

Автор канала - Илья Ильиных, опытный разработчик, который занимается программированием уже с 2018 года. Его знания и опыт позволяют делиться самой актуальной информацией и советами о мире IT.

Не упустите возможность быть в курсе всех изменений и современных тенденций в сфере технологий! Присоединяйтесь к каналу @kydavoiti и откройте для себя новые горизонты IT мира.

Также можете следить за автором на других площадках:
GitHub: https://github.com/IlyasYOY
ВКонтакте: https://vk.com/kydavoiti
YouTube: https://www.youtube.com/c/Кудавойти

Куда войти?

11 Feb, 17:13


Я закончил монтаж большого ролика про историю Vim, получилось 44 минуты. Выйдет в четверг вечером. 👩‍💻👩‍💻

Куда войти?

04 Feb, 15:42


Как думаете, я ответил там почему Go лучше Java? 🤔

https://t.me/javaswag/1253

PS. Там подкаст про Java и все-все-все.

Большое спасибо Диме, у него крутой подкаст. Когда был Java-разрабом — плотно слушал. Из последнего, у него есть выпуск с Сашей Барминым, а он классый. Советую гляуть тем, кто в теме Spring & около него.

Куда войти?

29 Jan, 07:28


Мне часто говорят, что в IDEA очень круто сделано решение merge-конфликтов. Я с этим согласен, но если честно, то в Vim оно тоже работает круто.

Подробнее можно глянуть статью: http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/

Я всегда пользуюсь этим методом, и мне он кажется удобнее варианта с IDEA. fugitive - это чудо, сложно придумать способ лучше организовать работу с Git в Vim. Не просто так же tpope сделал расширение для Copilot. Microsoft знали кого просить, чтобы получить качестВО.

Куда войти?

26 Jan, 14:23


Новый год — новый кодвиг [^codevig].

На этих выходных я ездил в Москву, чтобы повторить прошлогодний кодвиг.

Кто-то, наверное, помнит мой старый ролик. В нем я рассказывал — почему важно похдить на встречи, делиться на них опытом, общаться с коллегами.

В этом году, я опять узнал, что будет активность по парному программированию и TDD. Поэтому я не удержался и взял билеты в Лучший город Земли, чтобы провести субботу в хорошей компании. Cейчас подробнее про эту компанию и впечатления.

- Во-первых, спасибо организаторам, что они занимаются популяризацией практик Экстремального программирования. С моей колокольни — они единственные, кто делает это в формате мастер-класса, в России такого больше нет. Поэтому еще приятнее осознавать, что это становится традицией.
- Во-вторых, первый раз был сложнее. В этот раз я чувствовал себя в своей тарелке почти сразу. Проблемы, которые я подсвечивал в своем видео уже не так актуальны.
- В-третьих, поездку по профессиональным потребностям получилось примастырить к приятной прогулке со старым другом.

Отдельное спасибо хочу сказать:

- Злате, потому что от нее я узнал про это сообщество. Она ведет классный канал про всякое, в частности, TDD и Java! @mother_of_java_devs.
- Никите, потому что мы с ним очень классно поработали в паре. У нас двоих был опыт работы по TDD, мы оба пользуемся Vim, оба пишем на Go — у меня сложилось впечатление, что мы уже не первый раз программируем за одним столом. Может быть, потому что были заочно знакомы, приятно было встретиться. Он тоже ведет классный канал, где рассказывает про практики и не только: @i_am_a_dev.

Подписывайтесь на ребят!

И вот вам небольшой отрывочек кода, который мы сделали на последней сессии программирования:


type Dice interface {
Roll() int
}

type DiceFunc func() int

func (df DiceFunc) Roll() int {
return df()
}

func NewFixedDice(n ...int) Dice {
i := 0

return DiceFunc(func() int {
nextVal := n[i]
i++
i %= len(n)
return nextVal
})
}


[^codevig]: это я решил так называть активности по преодолению себя, которые касаются кода.

Куда войти?

14 Jan, 09:04


Привет!

У меня есть два факта:
- Docker — наше все,
- Docker — это Xerox.

Уже давно Docker платный для коммерческого использования. Счастья с ним не сыскать. После всех этих историй я перешел на: Rancher Desktop by SUSE. Мне он показался удобным для перехода: похож на бывшего и ставился просто.

Потом я пересел на abiosoft/colima: Container runtimes on macOS (and Linux) with minimal setup. Сижу и бед не знаю, потому что:

- все работает через терминал, там из коробки нет UI, это особенно удобно, когда ты живешь в терминале и не хочешь лишний раз открывать окно с отдельным приложением + алиасы и история команд к моим услугам;
- понятно настраивается без запроса лишних прав, rancher просил админские права, чтобы перезаписать ссылку на docker.sock;
- свежии версии, Rancher грешил тем, что использовал старый API для cgroup, когда уже был v2. (иногда это хорошо, но не всегда, у меня есть про это ролик).

А чем пользуетесь вы для работы с Docker? Podman?

Куда войти?

31 Dec, 20:59


С Новым Годом! 🎉 🎄

Спасибо большое! Продолжу работать в следующем году, пока что отдыхаю и всем этого желаю.

Куда войти?

30 Dec, 10:02


Меня спрашивали, как я погружался в Go. Сегодня в видео расскажу про два самых интересных пункта этого процесса.

В ролике есть немного новогоднего настроения. С наступающими вас праздниками!

📱 YouTube

Куда войти?

29 Dec, 09:02


Автор дуреет от этой прикормки:

PS. Останавливаться не собираюсь, 30 числа в час будет новый ролик.

Куда войти?

26 Dec, 13:46


Илья — автор канала «Куда войти?», мы душевно поговорили о Java и Go-разработке, использовании vim и сплит-клавиатур, автотестах и TDD, книгах и обучении.

Приятного просмотра/прослушивания!

YouTube | VK | RuTube | Платофрма | Дзен

Куда войти?

25 Dec, 07:31


Ответ на вопрос выше я взял отсюда. Я прочесал, кажется, все что есть в интернете про историю Vim. Готовлю большой ролик.

Спасибо Браму за работу, редактор живёт, работа продолжается.

Куда войти?

25 Dec, 05:34


Записали подкаст с Ильей Ильиных @kydavoiti, отсмотрел монтаж и прошу добавить в видеоряд обложки упоминаемых в подкасте книг:)

Бодрый списочек получился!

📌Подкаст рекомендасьён, днём выйдет! Поговорили о Java & Go, vim, тестах, собеседах и резюме, TDD, клавиатурах — кайф!

Куда войти?

14 Dec, 13:21


Привет! Я там опубликовал свою небольшую цветовую схему для nvim, которой пользуюсь последнее время.

Вдохновился на создание после того, как посмотрел разговор с Никитой Соболевым на канале Диджитализируй.

Кажется, что получилось неплохо. Надо было просто:

- найти хорошую базу,
- исправить в ней баги,
- перелопатить под себя,
- и не париться, а просто сделать.

Можно глянуть ее тут: IlyasYOY/theme.nvim

Куда войти?

06 Dec, 14:30


Hot take 😲

https://youtu.be/dyif3iQ33P8?si=l9JvRVIhEpXr0tAE

Согласны?

Куда войти?

05 Dec, 13:31


🐱 Привет!

Обсудим, как сделать ваш репозиторий дружелюбнее для коллег.

Буду рад поддержке лайком-комментом. Последнее время получается выпускать что-то нечасто.

YouTube

Куда войти?

25 Nov, 08:53


Привет! Какими операциями с git вы пользуетесь в своей IDE? Может быть просто в терминале?

Кажется, что я что-то упускаю. У вас есть крутые приемы - делитесь ими в комментах. Я был бы рад адаптировать себе хорошие сценарии работы с git, вещица полезная.

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

Куда войти?

22 Nov, 14:01


Привет! В Go только и разговоров про обработку ошибок. Лучшее чтиво по этой теме - это Google StyleGuide.

Сегодня в посте хочу подсветить проблемы обработки ошибок, что я вижу:

- Ошибка не отменяет значение. Можно взять значение без проверки ошибки. В Java в случае исключения мы теряем доступ к возвращаемому значению. В функциональных ЯП мы тут защищаемся типами. В Go надо делать правила или добавлять линтер. Иначе можно использовать значение без проверки err != nil.


got, gotErr := do()
fmt.Println("Никто не запретит использовать got, пусть у меня и ошибка", got)
// Кроме linter =]


- Должен ли быть сценарий ошибкой? Если у нас в БД нет данных, должен это быть nil ответ, либо лучше сделать ошибку ErrNoRows? Для меня это все еще вопрос без однозначного ответа. Я скорее за второй вариант, но на 1 тоже могу согласиться.


func fetchCurrentUser(ctx context.Context) (*User, error) {
return nil, nil
}

// or

func fetchCurrentUser(ctx context.Context) (*User, error) {
return nil, myerrors.ErrNotFound
}


- Использовать error или comma-ok? Тоже вопрос, на который я не знаю ответа. Для себя я решил, что использую comma-ok, если функция с поведением а-ля map. Но прав ли я?


func GetDetail(key string) (string, error) {
return nil, myerrors.ErrNotFound
}

// or

func GetDetail(key string) (string, bool) {
return nil, false
}


- Что делать, если обработка ошибки это и есть позитивный сценарий? В Go принято логику happy path держать на нулевом уровне вложенности. Вложенность - это ошибка, отклонение от нормы. Что делать, если метод не про норму? Допустим мне надо вызвать метод, а в случае ошибки вызвать другой fallback и так несколько раз. У меня получится вложенность на каждый fallback. Читать такое будет сложнее (как минимум непривычнее). Для себя я это решаю комментом в начале метода, где подсвечиваю, что обработка ошибок в основном сценарии.


gotErr := do()
if gotErr != nil {
gotFallbackErr1 := doFallback1()
if gotFallbackErr1 != nil {
gotFallbackErr2 := doFallback2()
if gotFallbackErr2 != nil {
return gotFallbackErr2
}
}
}

// or

gotErr := do()
if gotErr == nil {
return nil
}
gotFallbackErr1 := doFallback1()
if gotFallbackErr1 == nil {
return nil
}
gotFallbackErr2 := doFallback2()
if gotFallbackErr2 != nil {
return gotFallbackErr2
}


Как видите, вопросы еще остались, но я с ними разбираюсь 😂

Куда войти?

31 Oct, 13:55


Так, обсудим мой переход на Go 👩‍💻 с моей любимой 👩‍💻.

Делитесь там своим опытом в комментах.

YouTube

PS. В описании море полезных ссылок, что упоминались в видео; посмотрите - найдете что-то интересное.

Куда войти?

31 Oct, 09:45


Я уже говорил, что перешел на Go. Сегодня в видео поделюсь мыслями о переходе. Видео выйдет в 17:00 на ~40 минут, поговорим про плюсы и минусы перехода.

В @kydavoiti_live есть фоточка по мотивам перехода.

PS. Я бы добавил по такому emoji 👩‍💻👩‍💻, но у канала нет Boosts 🐱
UPD. Теперь есть.

Куда войти?

05 Oct, 12:59


Недавно у Саши вышел новый выпуск про текстовые редакторы. Мне было очень интересно его послушать. Там он общается с создателем шрифта FiraCode. Скорее всего, вы им пользовались.

Есть что сказать по его поводу. Сделаю это в большом видео про Vim, которое готовлю. Пока не знаю, когда будет сделано.

Куда войти?

01 Oct, 09:52


Привет! Сегодня делюсь крутым блогом, где автор пишет приложения и делится процессом.

Я знаю, что многим нравится такой формат. Меня особенно задело то, что автор использует TDD; его надо двигать в массы.

Куда войти?

28 Sep, 09:01


Привет! Я тут вспомнил ролик и решил проверить как там с настройкой home row mods на Mac. Так вот, я нашел способ сделать это через Karabiner. Это намного проще, чем KMonad, вы тоже можете попробовать. Я пользуюсь, полет нормальный.

В статье подробно все описано. Вот моя настройка.

Моего варианта не было в репозитории автора. Пришлось немного посидеть. Благо изменяется настройка легко, если есть поиск с заменой.

Куда войти?

22 Sep, 09:01


Давно не делился полезными ссылками. Тем более, про тестирование!

Вот интересная статья с hot take: https://dev.to/manuartero/if-you-dont-write-unit-test-its-a-skill-issue-22db

Куда войти?

19 Sep, 14:55


Привет! Я недавно нашел интересный проект, хочу поделиться. Будем настраивать свой комп на Python.

Буду рад обратной связи на YouTube, спасибо!

YouTube

Куда войти?

27 Aug, 16:42


Недавно я перечитал "Совершенный код". Решил перечитать после сообщения в @t0digital. Это одна из первых книг про качество, что я читал. Было дело на первом курсе. Много чего я тогда не понял.

После прочтения решил собрать все списки, что привел автор. Я нашел готовые на английском, на русском голяк. Fine, I'll do it myself. В комментариях файлик с этим чудом.

PS. В целом, прочтение книги вызывало эмоции утерянной цивилизации. Давным давно люди исследовали практики, писали такие книги. Сейчас как-то иначе все, как будто прошли это. Прошли мимо, правда.

Куда войти?

21 Aug, 13:29


Сегодня научимся не забывать поправить что-то, что хотели, но забыли.

YouTube (YouTube в ВК, работает окей)

Куда войти?

27 Jul, 09:48


Привет! Я в Казани, куда посоветуете сходить покушать/погулять/посидеть? 👀

Куда войти?

15 Jul, 09:03


Интересный пост для тех, кто хотел собрать себе клавиатуру.

Куда войти?

10 Jul, 08:03


Вы хотели написать свой линтер для Go? Тогда у меня для вас есть инструмент работы с AST: go-tools/pattern.

Там автор для своего решения написал Lisp-like язык для парсинга кода:

 (IfStmt
(AssignStmt (Ident "x") ":=" (CallExpr (Ident "fn") []))
(BinaryExpr (Ident "x") "!=" (Ident "nil"))
(RangeStmt
(Ident "_") (Ident "v") ":=" (Ident "x")
(CallExpr (Ident "println") [(Ident "v") (Ident "x")]))
nil)


Вы можете заметить, что это очень похоже на query-язык для treesitter, про который я рассказывал

Куда войти?

09 Jul, 14:04


Привет! Сегодня поговорим про мощный способ работы — vim-расширение, со слабой технологией.

А вы пользуетесь LLM в каждодневной работе? Для чего? Действительно ли эти "модели" вам помогают?

YouTube

Куда войти?

09 Jul, 07:02


Сегодня вечером будет видео про классные инструменты для работы с LLM (которые уже не такие классные).

Конечно же это будет на примере Vim-расширения.

Куда войти?

02 Jul, 14:10


Продолжаем тему, открытую тут.

https://www.software.com/reports/code-time-report#few-developers-code-more-than-2-hours-per-day

Куда войти?

01 Jul, 13:22


Типичная документация