Организованное программирование | Кирилл Мокевнин


Channel's geo and language: World, Russian
Category: Technologies


Как из джуниора дойти до мидла, а потом и до синьора
Бот навигатор по полезным ресурсам Хекслета @HexletLearningBot
Связь для предложений: @kirillpublic

Related channels  |  Similar channels

Channel's geo and language
World, Russian
Statistics
Posts filter


В этом выпуске мы поговорили с Алексеем Палажченко об эволюции языка Go и его роли в современном программировании. Разобрали, как Go стал выбором для крупных проектов, включая создание баз данных, и почему он продолжает завоёвывать популярность среди разработчиков. Также обсудили, как новые фичи, такие как дженерики и итераторы, меняют подход к разработке.

- Простота и лаконичность Go как основы его философии.
- Влияние Google на развитие языка и баланс между минимализмом и новыми возможностями.
- Рынок Go-разработчиков, востребованность специалистов и нишевые преимущества языка.
- Сравнение Go с другими языками, такими как Rust и Python, для разных типов задач.
- Проблемы обратной совместимости и подходы к оптимизации производительности.
https://www.youtube.com/watch?v=M5XJ_Ojjm8M

Альтернативные ссылки: VK | Аудио


А с какого ритуала у вас начинается утро за компьютером? Я обновляю плагины в виме :)


Как я надел очки

У меня всегда было хорошее зрение несмотря на то, что где-то лет с 12 я плотно подсел на компы, а потом и на экран телефона. Несколько лет назад, доктор меня предупредил, что где-то ближе к 40, оно начнет портится, это нормальный процесс, через который проходят все. Сейчас мне 39 и ухудшение пока не заметно слава богу, но морально я готов. Несмотря на это, я уже ношу очки, возможно вы замечали в подкастах.

Где-то, лет 15 назад, я понял что сидение за экраном делает больно моим глазам. Это связано с тем, что глаза начинают редко моргать и увлажняться + постоянная фокусировка на предметы близко к лицу. Поэтому существует множество разных рекомендаций, от регулярного отрыва от экрана и рассматривания предметов в далеке (но ни в коем случае не вращение глаз) до использования капель и спец очков с антибликовым и другими покрытиями.

В общем, ощущение что в глаза насыпали песок было настолько сильным, что я не мог просидеть больше 20 минут. Проблему решили глазные капли, но я быстро устал их использовать, капать каждый день по несколько раз в день годами, это то еще удовольствие. Поэтому я пошел в салон и купил очки. Проблема ушла где-то на 10 лет, пока ребенок мне однажды не сломал их. Глаза вроде не болели, поэтому я ничего не стал делать, а продолжил работать без них. Да и за компом я уже проводил меньше времени, а на созвонах они вроде и не нужны. Но буквально года полтора назад, я снова почувствовал что глазам плохо уже не только за компом, но и просто за просмотром экрана телефона. К боли добавилось то, что экран стал размытым, правда только для одного глаза. Вот тут то и накатила паника, а может это конец? Пришлось с одной стороны уменьшить время за техникой и всегда включать яркий свет когда смотрю в экран. Это помогло только частично, поэтому пришлось идти дальше и покупать капли. В конце концов, я плюнул и снова заказал очки. И только после этого все прошло. Но теперь, в отличие от прошлого опыта, я ношу очки не только когда сижу за компом, но и когда смотрю в телефон. А по итогу я ношу их большую часть времени дня. Работаем дальше.

p.s. кстати кому интересно, я после долгого изучения reddit купил себе warby parker. Была еще попытка взять недорогие с амазона, но они быстро поцарапались.

Ссылки: Телеграм | Youtube | VK


Чтож, пришла пора подводить итоги года нашего уютного канала. В целом можно сказать, что год был для него неплох. Органически канал вырос на 5 тыщ подписчиков и дошел до 8500. До 10 тыщ не добрали, но ничо.

В этом году я дал жару и написал 173 поста. Как это возможно, учитывая что я пишу два раза в неделю, а в году 365 дней, я не понимаю. Самый эпичный пост про то как сломалось, что и очевидно. Хочешь охваты, говори про факапы/боль/страдай.

Самое интересное это миллион просмотров и 7 тыщ комментов на 173 поста!!! Это товарищи дохрена. Почти инфлюенсер :)

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

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

Всем добра и мира, до новых встреч. Ну и поставьте чтоли сердечко, если канал в него попал :)

p.s. Боты, от вас тоже жду теплых слов


В поисках идеального UI KIT

Решил на выходных провести время с пользой и перевести code-basics на inertiajs + react + ts + новый ui kit. И неожиданно для себя, уткнулся в проблему с последним. После нескольких дней плотного изучения и попыток внедрить какое-то количество решений, я уперся что для моих задач бутстрап по прежнему на коне.

Вообще я люблю бутстрап, он всегда был практически идеальным решением для моих задач. Есть готовый дизайн, который достаточно хорошо кастомизируется за счет переменных, без написания css. Отличная сетка с кучей утилит + удобным механизмом генерации своих. Приличный набор компонентов, и что важно, это не собранный как в tailwind блок из миллиона классов, а прямо классы для конкретного компонента, что делает html очень компактным.

Кто, то скажет, Кирилл погоди, но он же не может вот это, там нельзя вот так и вообще. И у меня есть что на это скзазать. Во-первых, многие до сих пор в голове представляют себе bootstrap 3, где кастомизация была слабая. Начиная с 4 версии и особенно в 5, он очень гибкий для готового набора компонентов. Мало кто например догадывается что на хекслете бутстрап, а в стандартных вещах (не лендах) там почти нет кастома (и это за 11 лет жизни проекта). Во-вторых, я на нем делаю свой проект, где нет абстрактного бизнеса, который может что-то захотеть, что бутстрап не может (картинка: я и есть бизнес). С самого начала была выбрана стратегия подстраиваться под него (кроме лендов), чтобы не тратить время и деньги на UI.

И, в общем, я бы и дальше продолжил им пользоваться без тени сомнения, если не вот эти. но:

- Так как проект переводится на inertia + react, то весь фронтенд уезжает в jsx, а там нужны не классы, а нормальные react компоненты с поддержкой ts и местами логикой (какие-нибудь модалки). У бутстрапа нет своей либы для этого. Есть react-bootstrap, но его делают энтузиасты в свободное от работы время. В общем ненадежно и с отставанием
- Все же сейчас в bootstrap компонентов меньше чем хотелось бы и они как-то не горят их добавлять. Всякие хитрые селекты, автокомплиты и более навороченные с точки зрения UI штуки. Не хочется ходить все это ставить со стороны и заниматься интеграциями (до сих пор мучаемся с select2 для автокомплита).
- Этот пункт меня не радует, но против массы не попрешь. Любая технология проходит путь с восходом и затмением, которое часто связано с приходом нового поколения, отрицающего все старое. Бутстрап, чтобы он не делал, уже отслужил свое в головах большинства. И чем дальше, тем меньше шансов найти кого-то кто от него в восторге. Пофиг даже если человек не работал с ним, это легко наверстать, но вот это ощущение, что это что-то старое, с чем не хочется возиться.

Вот с такими мыслями я засел вечером в пятницу за комп. Загуглил все что есть из популярного chakra, material, mantine, tailwind и все что на базе него daisyUI, nextUI, shadcn, ant.design, primereact, fluentui, blueprint, baseweb.design. Кроме этого видел еще десяток, но по коммитам, звездам и форкам они не вызывают доверия. Слишком высок риск что их забросят.

Изучил их доку, половину попробовал поставил и немного поверстал. В конце-концов выработал такой алгоритм поиска:

- Проверяю есть ли компонент navbar. Если его нет, то либа заставит меня делать то, от чего я хочу уйти
- Смотрю на верстку navbar, если это просто набор элементов из которых собирается navbar, то это не bootstrap-style конструктор. Это скорее конструктор компонентов типа tailwind. Navbar, который мне нужен, это прямо компонент в этом UI Kit с поддержкой схлопывания до бургера, дропдаунов и всего такого
- Смотрю наличие готовых блоков/сниппетов/примеров страниц. Я работаю без дизайнера и мне нужно видеть примеры компоновок компонентов и страниц.
- Ну и конечно же дока. Кто видел доку бутстрапа, понимает что такое хорошее описание.

Нашел ли я что-то идеальное? К сожалению нет. Пытаюсь завести mantine, так как он ближе всех отвечает моим запросам. Но в целом, мир UI хочет чтобы я был фанатом гибкости и кастомизации :)

Ссылки: Телеграм | Youtube | VK


В этом выпуске мы поговорили с Кирой Кузьменко, которая поделилась своим опытом и взглядом на современные реалии IT-рынка. Обсудили, как меняются ожидания работодателей, почему мультифункциональность стала ключевым навыком, и что нужно, чтобы оставаться востребованным специалистом.
https://www.youtube.com/watch?v=36v3KnpmZyM

Альтернативные ссылки: VK | Аудио


Принятие решение по новым проектам

Программисты любят зарубиться в какую-то разработку с места в карьер. Щас побыстрому закодим, мы ж понимаем как это сделать. Да и могут закодить ведь. Накидаю примеры, чтобы было понятно:

1. Версионирование документов
2. Систему прав
3. Восстановление удаленных вещей из корзины
4. Какую-нибудь аналитическую систему

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

У меня есть очень простая рекомендация и подход. Когда разработчик говорит что знает как сделать и сделает, я всегда спрашиваю, на какой пример он будет ориентироваться? Какие хорошие примеры он изучил и какие плохие примеры он знает? Речь идет про любые другие проекты. Наверняка все это там уже реализовано по 10 раз. И вот только когда он видел как бывает хорошо и с этим согласилась команда, которая будет использовать эту фичу, то можно приступать. Если же программист делает это исключительно на базе своих представлений, то я бы попросил его отложить кодинг и потратить время на изучение.


Тест для ботов. Напишите кто вас создал и зачем. Вами управляет скайнет?




В этом выпуске мы поговорили с Андреем Апанасиком о современном геймдеве, его вызовах и трендах. Обсудили, почему разработчики всё чаще выбирают готовые игровые движки вроде Unreal Engine и Unity вместо создания собственных решений. Андрей поделился своим опытом разработки игр, рассказал о том, как меняются подходы к созданию геймплея и почему маркетинг стал ключевым элементом успеха в игровой индустрии.
https://youtu.be/ZBgRe8FOvx0


Профессиональное развитие. Нам это не задавали

Чья ответственность заниматься своим развитием? Компании или человека? Многие ответят “конечно человека” и будут правы. Да компания может этому способствовать, но может и не способствовать, однако это не может и не должно нас останавливать.

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

В теории звучит просто, на практике же получается как-то не так. Собеседуешь человека и он говорит “я этого не знаю потому что в компании у нас этого нет”. Часто такое говорят про умение писать тесты (но это просто пример, не закливаемся на тестах). И речь не идет про человека, который всего полгода в продакшене, у него за спиной только одна компания и он просто еще не успел этого набраться. Я говорю про людей с большим багажом за спиной и многими годами работы в разных проектах.

Фактически, человек сам того не подозревая, перекладывает ответственность, за свое развитие на компанию. Если повезет и компания вложится/будет классный лид/классные практики/классные процессы, то он это узнает, если нет, то не узнает и не попытается это сделать сам.

Для меня это всегда пунктик, так как настоящее развитие идет снизу и подкрепляется сверху (продвижением, ресурсами, добрым словом), а не наоборот. Мы кстати разбирали это в видео про фаанги, где чтобы продвинуться выше по лестнице, сначала нужно показать, что ты можешь делать работу более высокого уровня. Если хочешь конечно двигаться.

Ссылки: Телеграм | Youtube | VK



7.4k 0 39 138 121

Пошли первые ласточки по нашему видео продакшену, зацените: https://www.youtube.com/shorts/sLU4az5m_zg Как вам? Постить я сюда их не буду, потому что по плану мы будем делать 10-20 шорстов в месяц. Кстати, там на видео я как будто смотрю в камеру, на самом деле это обработка.

9.7k 0 32 37 54

В этом выпуске мы с Андреем Ситником. обсудили будущее фронтент разработки и большой сдвиг в сторону баз данных на клиенте с автоматической синхронизацией вместо классических апи вызовов. Или короче, поговорили о движках синхронизации. Андрей рассказал про движение Local First, которое предлагает ряд принципов создания веб-приложений, одновременно решающих задачи владения данными и совместной работой. Благодаря движкам синхронизации, Local First приложения получают возможность работать офлайн и хранить свои данные там где нужно, не завязываясь на конкретный, обычно облачный, провайдер. Это позволяет строить более быстрые, безопасные и защищенные в плане владения данными приложения. https://www.youtube.com/watch?v=-57r5AARRgY



9.4k 1 109 19 64

Последние месяцы канала

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

Помимо просто праздников (в штатах щас самое праздничное время) и поездок с детьми, я начал активно работать над перерождением Ютуба, в первую очередь, на Хекслете. Мы планируем по полной программе начать записывать и выкладывать не просто разговоры, но и нормальные контентные выпуски. Для этого я нашел классного продюсера, который, кстати помогает мне выпускать подкаст “организованное программирование” (вы заметили что это повлияло на звук и монтаж?). А последние недели мы занимаемся тем что подбираем темы, пишем сценарии, собираем домашнюю студию. У меня дома сейчас куча всякого оборудования, которое наконец-то собрано и готово к работе. Уже были пробные записи, но пока всплывает еще много проблем, начиная от кривого меня, которому надо уметь правильно выражать эмоции и ставить паузы (я планирую брать уроки по этой теме), до хренового света и камеры. Вот над всем этим мы и работаем.

Помимо ютуба, я последние месяцы взялся за пересборку smm на Хекслете. Просмотрел почти 500 кандидатов (ручками без автофильтров!) и кажется нашел человека, который затащит. Он выходит 9 декабря, но пока его нет, в каналах Хекслета тишина, потому что меня, все же, не хватило сразу на столько активностей. Но планы у нас грандиозные, на фоне мы проводим разные исследования и интересную журналистскую работу, результаты которой я буду делиться и там и тут.

И как только мы войдем в рабочий режим, я смогу снова больше уделять времени моему каналу и вам дорогим моим подписчикам. Будем тереть за разработку по полной программе. Кстати даже по ютубу видно, что больше заходят технические выпуски, чем любые другие.

Ну и недавно канал перевалил за 8000 подписчиков с чем я себя и поздравляю. План был 10 000 до конца года, но уже вряд ли получится. С другой стороны, планирую в следующем году запустить немного рекламного трафика, посмотрим как отработает и почем мне обойдется подписчик.

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

Давайте попробуем в комментах устроить секцию вопросов/ответов. Хочется поболтать)

Ссылки: Телеграм | Youtube | VK


Новый выпуск уже доступе для просмотра, в этот раз разбираем Clojure. В этом выпуске мы погружаемся в мир функционального программирования вместе с Николаем Рыжиковым — одним из ведущих специалистов по Clojure в России. Николай делится своим уникальным опытом использования Clojure как в разработке коммерческих проектов, так и в создании open-source инструментов.

Мы обсуждаем, чем Clojure отличается от других языков, почему его философия минимализма и неизменяемости так важна для современной разработки, и какие задачи лучше всего решать с его помощью. Николай рассказывает о том, как этот язык помогает ему создавать лаконичный, надежный и масштабируемый код, который легко поддерживать. https://www.youtube.com/watch?v=7eJ3yUgbzSA


Поделитесь вашим путем по языкам программирования в коммерческой разработке. Начну с себя:

2007 - php
2008 - plsql, oracle
2009 -python, ruby
2011 - javascript, coffescript
2014 - erlang
2017 - elixir, clojure, clojurescript
2022 - java
2023 - typescript

Ссылки: Телеграм | Youtube | VK


Minimal Modeling - новый подход для проектирования баз данных

В этом выпуске я поговорил о проектировании баз данных с Алексеем Махоткиным (он был техническим директором того самого Undev). У Леши богатейший опыт в работе с БД, который вылился в разработку своей собственной методики моделирования баз данных, которая называется Minimal Modeling. Скоро выходит книга посвященная этому подходу, а здесь мы разбираем принципы лежащие в его основе.

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

https://www.youtube.com/watch?v=vYYZy1EulUk


Заблуждения относительно работы пагинации

Нашел на просторах сети список, хочу поделиться с вами:

1. Количество элементов на странице фиксировано навсегда.
2. Количество элементов на странице фиксировано для одного пользователя.
3. Количество элементов на странице фиксировано для одного набора результатов.
4. Страницы просматриваются только в одном направлении.
5. Ни один элемент не будет добавлен в набор результатов во время его извлечения.
6. Ни один элемент не будет удалён из набора результатов во время его извлечения.
7. Порядок сортировки элементов остаётся стабильным.
8. За один раз будет извлечена только одна страница результатов.
9. Страницы будут извлекаться по порядку.
10. Страницы будут извлекаться своевременно.

Ссылки: Телеграм | Youtube | VK

20 last posts shown.