Диджитализируй!
27.6K subscribers
459 photos
54 videos
11 files
530 links
Авторский канал Алексея Голобурдина о разработке ИТ систем и прочем важном

ПРАВИЛА — https://xn--r1a.website/t0digital/200

ЛАЙВ-КАНАЛ — @smthisgoingon

Дать много деняк — sterx@rl6.ru

Роскомнадзор: https://vk.cc/cJmDDB
Download Telegram
Сижу накидываю код (ничо не на вентилятор) с музякой в наушниках. Я тут какое-то время назад решил посмотреть, что есть из наушников сейчас хорошего. Проводных, беспроводных — не аудиофил, но музыка занимает важную часть в моей жизни. Сейчас у меня Sony WH-1000XM2, очень популярная серия ушей. Сейчас уже 5 версия вышла, они, правда, по отзывам хуже 4й. А у меня вообще вторая, старенькая.

И я сходил послушал разные другие. Самые дорогие были Bang & Olufsen H95, что-то в районе 135к руб, подключали и по проводу, и по bluetooth. Все на англоязычном ютубе расхваливают. Вообще не понял прикола. Проводные послушал, Beyerdynamics несколько моделей, с усилителями там правильными в магазине. Всё равно не понял прикола. Остался со своими старенькими Sony. Если вдруг хотите себе большие полноразмерные наушники — послушайте их актуальные версии. Я от 2 версии огромное удовольствие получаю уже несколько лет. В запрещенном инстаграмушке еще хвалил их 4 года назад:)

Активное шумоподавление есть. Кому-то оно давит на уши сильно, а мне комфортно. Не надо включать громко музыку, чтобы было её слышно и можно было комфортно работать без шума окружающих людишек:). В офисе или кафе.

В качестве гарнитуры, для звонков — все полноразмерые наушники не работают. Собеседник будет вас слышать плохо, будет злиться и называть вас нехорошими словами, что вы со своей стороны услышите хорошо. Когда надо созвониться, или просто когда нет с собой больших Sony, использую маленькие Huawei Freebuds 3. Нравятся. Эпловые не использую, так как не использую айфоны.

И рекомендации Яндекс Музыки хороши. Сохраняю понравившееся в свой плейлист, но чаще всего слушаю именно рекомендации. Хороши.

#tools
👍208🔥73🤔2🥰1
Диджитализируй!
Типизированный_Python_для_профессиональной_разработки.pdf
Вдогоночку. Если надо указать тип для переменной, принимающей класс Animal или классы его наследники (а не экземпляр класса Animal) — можно указать так:

animal: type[Animal]

Удобно, когда функция принимает класс. Например, функция-фабрика какая-то, которая принимает на вход класс и создаёт его экземпляр.

class Animal: pass
class Cat(Animal): pass
class Dog(Animal): pass

def create_animal(animal_cls: type[Animal]) -> Animal:
print("create another animal...")
return animal_cls()

create_animal(Cat)
create_animal(Dog)


#IT #backend #python #codebetter
👍124🔥22😁2
Ну шо посоны, учим пихэпэ! И ЗП хороша, и кодить прям в HTML можно! Судите сами: файл один, а в нем тебе на-ка и HTML, и CSS, и немного jQuery присыпано, и здесь же PHP с SQL select'ами, собранными из query параметров. А что ещё надо. Одни плюсы, собстна. Фулстек девелОпмент. Пол мульта на нос в месяц — опа!

https://www.cnews.ru/news/top/2022-06-30_v_rossii_vzlet_zarplat_it-spetsialistov

#news
😁123🔥20👍19🤔13😢6
Узнал о новом слове — DX. Developer Experience. Горд собой. Теперь вы тоже можете. Гг:)

Простыми словами — это про впечатления, которые испытывают разработчики при работе над продуктом. Помимо UX (впечатления пользователей продукта) теперь есть и DX.

Это про инструментарий разработки, фреймворки и даже уровень токсичности в команде.

Довольные девелоперы = хороший продукт. Ну, по идее. Иногда. При хорошем стечении обстоятельств.

Даже целый сайт вот ребятки сделали developerexperience.io

#IT #management
👍111🤔19😁9🔥84
Господа фронтендеры, используете БЭМ в связке с CSS Modules?

С одной стороны, одной из решаемых БЭМ проблем была изоляция имён CSS-классов во избежание коллизий; и CSS Modules решает эту проблему по умолчанию, т. к. классы каждого компонента изолированы. В таком контексте БЭМ не нужен, если используешь CSS Modules.

К тому же блок в терминологии БЭМ это как правило и есть компонент, а всё, что внутри компонента это как правило элементы с редкими модификаторами. В итоге это приводит к тому, что просто все CSS-классы компонента начинаются с имени этого компонента, что кажется избыточным. Мы и так находимся в отдельном CSS этого компонента, нет смысла каждый его класс начинать с имени компонента, это едва ли положительно сказывается на читаемости CSS.

С другой стороны, в каких-это сценариях БЭМ и в связке с CSS Modules улучшает читаемость и структурированность кода. Модификаторы, например, в этом помогают. Или использование блока как элемента, когда блок=компонент переиспользуется в другом блоке=компоненте и ему задаются отступы и положение на странице как элементу. Улучшает читаемость, думаю.

Отказаться от Б в БЭМ?

А styled components (css in js) мне чёт не нравится. Давайте сюда ещё PHP добавим с SQL, чего по файлам прыгать:)

#IT #frontend #javascript #typescript #css
👍60🤔3😁2
Понимаю, что здесь в основном backend спецы и вижу, что посты про frontend не заходят, но всё же буду писать и про frontend, потому что занимаюсь им сейчас, да и собственно почему бы и нет:)

Наткнулся на такой прекрасный бенчмарк frontend JS фреймворков. А ещё вот на такой ресурс, собирающий статистику по состоянию JS каждый год.

И вижу (неожиданно для меня) любовь сообщества к библиотекам Svelte и Solid, а также их эффективность. 90% удовлетворённость разработчиков по 2021му году у обоих, для сравнения React 84%, Vue 80%.

Svelte и Solid представляют собой исчезающие фреймворки, то есть в рантайме в браузере нет или почти нет кода самого фреймворка, нет виртуального DOM и вся работа ведётся с DOM реальным. Сколько бы React ни выпендривался этим своим чудодейственно эффективным обновлением DOM дерева и движком Fiber, подходы без виртуального DOM показывают, кто тут батя.

В бенчмарках можно выделить интересующие фреймворки и сравнить в разных сценариях. Выделил Solid, Svelte, React в разных связках, Vue. И чёт React всегда справа и не сильно зелёный:) Vue посередине, Solid всегда слева и зелёный. Svelte тоже слева и тоже почти всегда зеленый. А React чаще желто-красный, то есть его показатели отстают от собратьев.

Доверять бенчмаркам дело, конечно, такое — но всё равно интересно.

Кстати, Solid — практически копия React с его JSX и хуками. Потому вероятно и заходит разработчикам, ибо знакомый и привычный подход, но зато маленький бандл, высокая скорость обновления UI и меньше жрёт RAM (приветы виртуальному DOM).

#IT #frontend #javascript #typescript
🔥92👍70🤔94
Читаю сижу про Solidjs. Бодрая штука. Разрабатываем тут одну хитрую большую систему, о которой расскажу вам позже, по фронтенду готовы несколько первых экранов — и, думаю, днём перетащу их с реакта на Solid🙄

Если всё пройдёт ок, сделаю материал по нему. Кажется, это реакт здорового человека.

#frontend #IT #javascript #typescript
👍156🔥31
Уууууу что я нашёл!

https://github.com/gothinkster/realworld

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

Например, интересно вам, как выглядит бэкенд такого проекта на Rust'овском Actix с Diesel ORM? Пожалуйста. Или на Rust'овском Rocket? Лови. Или на чистом Go? Есть и такое. FastAPI? Получай. На C++ (стрелять-колотить, почему нет) — на-ка!

Аналогично и по фронтенду. На Solidjs вот, например.

#it #backend #frontend #python #rust #javascript
👍263🔥898🤔4🥰2
Торшина про маркетинг на 100 тыщ. Знаю, что есть здесь люди, думающие про бизнес, моё видео по теме в Ютубе набрало почти 100к просмотров и вошло даже в топ20 материалов на канале. Я в нём по-моему тоже что-то из её постов упоминал.

По URL понятно, что используется обсценная лексика, если чо 🙈

https://torshina.me/pizdaboliya/15-luchshix-sposobov-oxuenno-effektivno-vlozhit-v-biznes-100-000-r

#marketing
👍29😁14🔥7😢5
Мой nvim показывал ошибки от LSP сервера красным шрифтом, что в связке с моей gruvbox темой смотрится чересчур вырвиглазно. В конфиге это можно легко поправить, сбросив цвет на любой другой (мой текущий конфиг здесь, последние строки отвечают за цвет этого текста).

А ещё, как сегодня узнал, показать длинный текст ошибки, когда он не помещается на экран, можно, нажав на проблемной строке space+e. Лучший эффект получается, если нажимать мышью на экранной клавиатуре, конечно.

#linux #IT #tools
😁93🔥22👍20🤔1
666 аццких фулстеков
🔥138👍20🤔12🎉4😁3
Ох, накрутил я тут сегодня в nvim этих ваших модных помогателей-облегчателей-стандартизателей фронтендерских: ESLint, Prettier, Stylelint. И в гитовый pre-commit их добавил до кучи, в процессе коммита всё запускается-проверяется-мигает-улюлюкает. Рассказать-показать в видосе или неинтересно:)?

#tools #IT #frontend
360👍265🔥90🤔2
* Контрибуторы Vue.js, первые места по количеству коммитов: 2467 коммитов основатель, дальше 47 и 43 коммита и дальше по убыванию.
* Контрибуторы Solid.js, основатель с 994 коммитами, дальше 18 и 14 коммитов.
* Контрибуторы FastApi, 1118 коммитов у основателя и 2 место 25 коммитов.
* Контрибуторы Redis, первые места 5681, 496, 460, 199 коммитов соответственно. Реальный большой вклад в redis по сути делает 1 человек даже в такого уровня проекте c вроде как 607 контрибуторами.

Только в опенсорсе, поддерживаемом корпорациями, есть много людей, реально делающих вклад в проект. Реакт с экстремистским фейсбуком или ядро линукс с коммитящими туда Google и Huawei тому пример.

Пока нет людей на ЗП, кто занимается разработкой проекта, почти всегда костяк это 1 человек, сильно реже 2-3 человека.

Это только кажется, что опенсорс это «сообщество». Опенсорс это кучка крутых альтруистов-одиночек:)

#IT
😢167👍101🤔29🔥98
И снова дичь с nvim на Диджитализируй! На этот раз варим фронтенд. Устанавливаем и настраиваем в nvim работу с ESLint, Prettier, Stylelint, TypeScript проектом для фреймворка Solid JS (для React и Vue почти всё аналогично), а также настраиваем автоматический запуск проверок в процессе Git коммита с помощью pre-commit.

https://youtu.be/p2hAddDJ96E

Конфиг nvim
Проект с файлами настройки
Фреймворк Solid

#youtube #IT #frontend #linux #tools
🔥81👍24😢64🤔3
Штож...
😁267😢66🔥29🤔15👍6
Григорий Бакунов с интересным философско-прикладным докладом о работе программиста, инструментах, StackOverflow.

Рекомендую и часть вопросов-ответов там не пропускать.

Уверен, кстати, что Григорий мастерски владеет мышью и копипастит со SO через right_click->copy быстрее звука!

https://www.youtube.com/watch?v=h10qZGq36DE
😁66👍40🔥5😢2
Как я писал где-то в комментариях, мы сейчас разрабатываем платформу для образовательных программ. На ней буду перезапускать мой курс. Я буквально сейчас занимаюсь фронтендом платформы.

Там готовы 5 первых экранов, которые я сделал на React, но затем решил переписать их на Solidjs. Просто попробовать, посмотреть, как пойдёт. Фреймворк понравился на первом знакомстве и решил оценить на практике.

Переписал.

В Google Chrome Developer Tools встроен Lighthouse — инструмент тестирования производительности фронтенда. Обобщённый показатель Performance для React версии приложения — 79 из 100, для Solid версии 97 из 100.

Трафик для загрузки всего приложения (html, css, js, images) для React-версии 884 kB, для Solid-версии 255 kB.

Функционал обеих версий полностью идентичен. Причём для React версии ещё не подключен внешний state менеджер, который будет нужен и с которым трафик и performance точно лучше не станут, а для Solid внешний state менеджер не является необходимостью благодаря иной модели реактивности.

С точки зрения удобства процесса разработки Solid это тот же React с почти тем же JSX, но более простой в работе из-за иной заложенной модели реактивности. И, как видим, с гораздо более высокой производительностью в частности за счёт отсутствия виртуального DOM.

Я доволен. Буду продолжать на Solid.

Рассказывать вам о ходе проекта:)? На бэкенде у нас FastAPI с SQLAlchemy и Postgres, планируем активно использовать Яндекс облако для всех задач, насколько сейчас видим, его возможностей будет достаточно.

#IT #backend #frontend #course #javascript #typescript #python #LMS
🔥345👍1487🤔3