Обложка канала

Типа про IT

1563 @tipaproit

Типа про IT и вот это вот всё — full stack development и современные инструменты, подборки и рекомендации, интересные находки и практические советы. Профессиональный авторский контент.

  • Типа про IT

    🦾 Используете Docker Desktop? Знаете такой? Нравится? Однажды, он нас всех так заебал своими обновлениями, маркетологическими заскоками и крэшами на ровном месте, что никого даже особо уговаривать не пришлось удалить его под ноль и перейти на Colima. Just works as a drop-in replacement. Пока есть только один известный мне случай, когда сторонние приложения опираются на /var/run/docker.sock, которого там нет (как вот testcontainers-python), но это лечится простым советским export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock". Саму colima можно немного потюнить на старте, у меня так: colima start --cpu 2 --memory 8 --disk 20 --vm-type=vz --mount-type=virtiofs Ну и всё. Рантайм крутится, контейнеры мутятся.
  • Типа про IT

    Animation vs. Math

    How much of this math do you know? 🖐 ASK ME ANYTHING! ► https://www.youtube.com/noogai89/join 👕 MERCH! ► https://alanbecker.shop 💬DISCORD SERVER ► https://discord.gg/alanbecker 🕹️ANIMATORS VS GAMES ► @AnimatorsVSGames 📷INSTAGRAM ► http://www.instagram.com/alanbecker ✏️TWITTER ► http://twitter.com/alanthebecker 🔹🔶 WRITTEN BY 🔶🔹 Terkoiz 🔹🔶 ANIMATION🔶🔹 Terkoiz n8ster @n8sterAnimates Ellis02 @Ellis02Media Hexal @Hexalhaxel Oxob @oxob3000 ARC @ARCpersona SmoilySheep @smoilysheep4670 CoreAdro @CoreAdro SimpleFox @SimpleFox1 ExcelD eds! @eds7236 ajanim@ajanimm Fordz @Fordz 🔹🔶 SOUND DESIGN🔶🔹 Egor https://twitter.com/E_SoundWork 🔹🔶 MUSIC🔶🔹 Scott Buckley @ScottBuckley 🔹🔶 PRODUCTION MANAGER🔶🔹 Hatena360 @hatena360

    YouTube
  • Типа про IT

  • Реклама

  • Типа про IT

    В Q1 2023 дошли, наконец, руки и до проектной документации. Для этого, правда, пришлось договориться с командой не только о том, что документация это first-class citizen, но и придумать как держать её в актуальном состоянии без усложнения рабочего цикла. Конечно, у нас есть Confluence. Более того, мы обязаны вести документацию в Confluence, потому что “так надо” с точки зрения бизнеса для cross-team knowledge sharing и вот это всё. С другой стороны, я ненавижу душный Confluence и мне кажется, что это нормально. В этом плане, у нас в команде полное взаимопонимание. К тому же, документация в Confluence всегда отстаёт от жизни. Следить за её актуальностью как бы надо бы регулярно, но для этого нужен какой-то особый уровень дисциплины, а мы тут про реальные вещи говорим. Хочется держать полную документацию со всеми C4 и прочими диаграммами поближе к коду, в репозитории проекта. Изменение должно версионироваться и проходить review, так же как и код. Диаграммы должны быть, по большей части, декларативными, поэтому завозим Mermaid. Хотелось бы D2, но уже в другой раз. Sphinx выглядит старо, a его RST-формат громоздко, все хотят Markdown. Берём mkdocs и наряжаем в mkdocs-material с расширениями. Во, теперь классно. И с Mermaid он дружит из коробки, cool. Дополнительно добавляем mkdocstrings для интроспекции и ещё пару свистелок. Объявляем make docs с hot reload и наслаждаемся красотой. Локально. А как же Confluence? Тут уже пришлось заморочиться и запилить решение, которое рендерит нужные нам markdown в html, а потом с помощью lxml приводит его к формату, который нравится Confluence, учитывая все его фирменные xml-based macros. Готового полного решения, увы, не нашлось. После чего загружаем документ и сопутствующие attachments через API ну и остаётся прикрутить весь этот процесс к CI/CD, чтобы документация публиковала себя самостоятельно сразу после попадания в master. Получилось достаточно удобно и решило большую часть первоначальных проблем.
  • Типа про IT

    Layoffs.fyi - Tech Layoff Tracker and Startup Layoff Lists

    [LIVE] Tracking all tech startup layoffs — and lists of employees laid off — since COVID-19 was declared a pandemic. This page is constantly being updated.

    Layoffs.fyi
  • Типа про IT

    The Distributed Computing Manifesto

    Today, I am publishing the Distributed Computing Manifesto, a canonical document from the early days of Amazon that transformed the architecture of Amazon's ecommerce platform. It highlights the challenges we were facing at the end of the 20th century, and hints at where we were headed.

    Allthingsdistributed
  • Типа про IT

    ​​🧑‍🏫 Последние несколько лет я использовал Bear для всех своих заметок, постов и прочей работы с текстом. Люблю простые инструменты (но не проще). Конкретно Bear — это как Notes, только с markdown и парой-тройкой дополнительных фич. Но без таблиц, ведь таблицы не нужны, правильно? Потому что именно так думают разработчики Bear. И как-то мне всего этого неожиданно стало мало, документов сотни, связывать их тегами совершенно бесполезно, никаких расширений для тех же таблиц не предусмотрено, в общем хочется большего (но не слишком). Мне кажется, что я попробовал вообще всё, от Emacs Org Mode до Notion, но очень быстро снова возвращался к Bear, потому что оно простое и не требует от меня преждевременной категоризации. Я даже пробовал редактировать заметки в VSCode и подшивать их в MkDocs, но это уже совсем ебобо. Потом я вспомнил, что мы уже обсуждали сей вопрос пару лет назад и там проскакивал Obsidian. Одновременно с этим, Youtube подсунул мне рекомендацию в виде скринкаста Obsidian As A Second Brain: The ULTIMATE Tutorial, а потом канала Nicole van der Hoeven и я, зачем-то, посмотрел их полностью. Теперь, когда у меня всё переехало на Obsidian с плагинами Advanced Tables, Dataview, Excalidraw и так далее, когда пишу заметки по системе Zettelkasten, когда подсадил на это дело всю команду, вопрос только один — а почему не раньше, почему только сейчас? Там ещё и клёвый Canvas завезли! Это ж просто праздник какой-то! Более того, весь проект (vault) — просто папка с md-файлами, которая лежит у меня в приватном гите, версионируется и которую, в случае чего, можно заархивировать и записать на дискету. Self-hosted, offline-first, plain markdown files, всё как деды завещали, но при этом с отличным UI и замечательным UX. Неистово рекомендую для учёбы, работы и личной жизни.
  • Типа про IT

    Ну и в чём этот иудейский Альф не прав?
  • Типа про IT

    ​​🤖 Планируем сейчас следующую большую фичу — holdout groups и я решил перед scoping session поинтересоваться у ChatGPT правильно ли поставлена задача, какое он может предложить решение и чтобы он расчехлил меня как гангстер из кинофильмов. По-моему, будущее наступило.
  • Типа про IT

    📚 Лучший показатель здоровой рабочей атмосферы в коллективе — наличие живого knowledge sharing. Это когда люди, склонные к профессиональному росту делятся своими знаниями или источниками знаний с такими же самомотивированными коллегами. Справедливо и обратное. В 2022 Q4 мы решили угореть по DDD полностью и сейчас практически все материалы, к которым я прикасаюсь, так или иначе про DDD. Или про Category Theory, тут уж как карта ляжет. 🥃 Купили по экземпляру Domain Modeling Made Functional, культивируем любовь к строгой типизации и FP. 🥃 Есть и простая ознакомительная Domain Modeling with Monoids для тех, кто пока не готов к серьёзным отношениям. 🥃 Effective Aggregate Design в трёх частях (раз, два, три). Как говорит мой коллега, I cannot recommend enough these three articles. 🥃 Statecharts: a visual formalism for complex systems — бонусный архивный материал для тех, кто разделяет мою нежную любовь к конечным автоматам.
  • Типа про IT

    🎉 Урааа! 😒 Ммм, класс…
  • Типа про IT

    🧑‍💻 Для всех, кому лень листать трансляцию Modern Frontends Live, чтобы выудить оттуда хоть что-нибудь значимое — here is my summary. Начну, как я люблю, с токсичного негатива. 💩 Низкая плотность полезной информации, половина докладов сугубо маркетологические. Несмотря на наличие спонсоров в лице Google, Microsoft, Stripe, Postman и других, эти ушлые капиталисты рубили по up to 500 фунтов за билет. Я глубоко убеждён, что конференция такого уровня должна быть бесплатной или условно-бесплатной. 💩 Все докладчики указывают Twitter в качестве основного канала коммуникации. Какой. Нахуй. Twitter. Есть же Mastodon, ну камон! Тем не менее: 🍒 AG Grid (один из спонсоров, кстати) — реально крутой и производительный grid. От этих ребят было аж два доклада, где они достаточно подробно расписали свои приключения с производительностью отрисовки в React и с производительностью отрисовки на canvas в целом. В итоге, JSX оставили, но уехали на SolidJS и, судя по бенчмаркам, получилось почти как на vanilla JS по скорости и почти как на React во всём остальном. Для тяжёлых графиков используется комбинация трюков вокруг scene graph, offscreen canvas и наложение слоёв, чтобы всё было по красоте. 🥑 Сам SolidJS меня не впечатлил из-за дебильного, на мой вкус, Control Flow, но и небольшого демо для полноты картины мало, надо пробовать. 🌶️ Нам показали как можно использовать конечные автоматы на фронтенде, рисовать их прям в VSCode с помощью соответствующего плагина, меняя бизнес-логику на лету, сохранять состояние автомата в cookies, а сам сайт при этом может работать как с JS, так и без него. Обожаю такое. 🍬 Будущее фронтенда в Module Federation. Или нет. 🍭 Будущее фронтенда в PESPA — Progressively Enhanced Single Page Apps. Или нет. Докладчик (он же автор Epic React, самого дорогого курса по React ever) топил за Remix, который уже сегодня решает почти все проблемы, но два абзаца кода на слайде не продали мне даже желание попробовать. 🥃 Инженеры Stripe — хороший пример слабоумия и отваги. Они лет 8 назад переписали весь JS на JS+Flow. После чего резонно захотели Typescript, но, судя по всему, им не дали переписать всё ещё раз. В итоге они пропатчили всю свою кодовую базу на уровне AST, чтобы привести код к синтаксически корректному TS. А там, где что-то пошло не так — подавили ошибки и по сей день фиксят их руками, понемногу убирая suppressed errors. Это ли не LoL? 🏺 Web Components — это как будто сейчас 2012-й и самые модные пацаны пишут на Backbone.js. Говорят, что всё это для cross-framework design systems и есть любители делать именно так. Ок. 🍑 RxJS крутой, я в очередной раз вспомнил, что давно хочу его попробовать. Доклад также показал насколько Futures уступают Observables, но 7-летний proposal сделать нативную поддержку всё так же сидит в девках, чем сильно расстраивает батю Бена. Вот он и решил начиная с RxJS 8.0 поставлять Observable отдельным пакетом, для тех, кто хочет этот примитив, но не хочет целый RxJS. Coming soon in 2023. 🍆 Рамирез, в свою очередь, приехал продавать фронтендерам Python в обёртке из-под FastAPI, но, как мне лично кажется, напрасно. Пожаловался заодно, что никому не интересна фича с Generate Clients, а ведь он так старался! Вот я и сэкономил вам 300-500 фунтов :) You’re welcome.
  • Типа про IT

    🚀 Modern Frontends Live Stream
  • Типа про IT

    🧑‍💻 Иду ж завтра на Modern Frontends Live, кстати. Они, наконец, опубликовали программу и там… ну такое. С другой стороны, билеты мне купили, два дня отгула на работе дали, что ещё надо? Sebastián, наш дорогой, Ramírez, опять же. Планирую посетить: 📍Are They Really Using It? Monitoring Digital Experience to Determine 📍Feature Effectiveness 📍State Machines On The Edge 📍Monolith to Micro-Frontends 📍Migrating millions of lines of code to TypeScript 📍Optimising Largest Contentful Paint 📍Gotta Go FAST 📍Micro-Frontends in AWS 📍Passwordless deployments to the cloud with GitHub Actions 📍Monorepos - The Benefits, Pitfalls and Importance of Tooling Support 📍Qwik, the O(1) web framework 📍tRPC - Move Fast and Break Nothing 📍TypeScript and the DOM: Everything you never knew to ask 📍Intro to FastAPI for frontend developers Возможно, проведу а-ля стрим в комментариях, как делал когда-то давно в Twitter. Кто-то вообще пользуется Twitter сегодня? Ну, кроме Маска?
  • Типа про IT

    🐍 Мне вчера прилетело, мол, почему я не пишу про Python 3.11 или про то, что pydantic-core, переписанный с нуля на Rust, вмёржили в main? Пишу. Вышел Python 3.11, вот-вот переедем. Python 3.11 is between 10-60% faster than Python 3.10. On average, we measured a 1.25x speedup on the standard benchmark suite. Pydantic переписали на Rust. In general, pydantic V2 is about 17x faster than V1 when validating a model containing a range of common fields. Классно? Наверное, да, если вы где-то упираетесь в производительность и для вас это важно. Ещё, кстати, появился новый drop-in replacement for flake8 — ruff, тоже на Rust. JSON library orjson, которую мы везде используем по-умолчанию, тоже на Rust. Есть почти рабочая версия самого Python на Rust. Linux теперь поддерживает Rust как второй родной после C язык. Тренд “а давайте теперь всё перепишем на Rust” начался уже давно, поэтому ничего удивительного в нём нет, привыкайте. А лучше освойте. Ещё лучше — возглавьте. Rust is the next Python FFI.
  • Реклама

  • Типа про IT

    В Python 3.8, то есть года три назад, завезли так называемый structural subtyping (aka Protocols), он же PEP 544 авторства Івана Левицького (Dropbox). Сделано это в противовес nominal subtyping, который, в свою очередь, в мире Python тоже вещь относительно новая, но к который уже успели немного привыкнуть и даже стали друг от друга требовать. До недавних пор я не встречал протоколы в дикой природе, в каком-нибудь реальном проекте, чтобы попробовать, ну и сравнить с более привычным и потому понятным ABC. А теперь у нас что ни класс, то протокол или следование протоколу :) ABCs are run-time checks, Protocols provide static-checking. When to use which one? Даёт ли это какие-либо преимущества? В целом да, особенно когда команда угорает по DDD. Можно обвешаться хинтами и перенести часть ответственности за валидность имплементации на mypy, заодно отлавливать глупости ещё на этапе билдов в CI/CD. Можно более смело проворачивать подмену имплементации. Можно чуть больше думать о сущностях, композиции и высоких материях. Но каких-то специальных инструментов сверху, помимо непосредственно тайп-чекинга пока, вроде, не появилось. Самому языку всё ещё безразлично что вы там придумаете, но всё идёт к тому, что Python при нашей жизни станет (опционально) строго типизированным языком по-умолчанию. Также занятно, что FastAPI культивировал доселе чуждый нашей больничке Inversion of Control и мы научились любить Dependency Injection как родного. Protocols, DI, фабрики… ожидали ли вы лет 10 назад, что с питоном случится такое?
  • Типа про IT

    ☕ Есть джависты в зале? Посоветуйте мне, пожалуйста, как программисту со стажем, который в целом в курсе нездоровых особенностей языка и умеет его читать, какую-нибудь книгу или экспресс-курс по Java, который за неделю-вторую научит меня всему, что нужно? А нужно мне починить пару эндпоинтов в позабытом-позаброшенном проекте на Java (и немножко на Kotlin). Там есть Spark, jOOQ и ещё куча хер пойми чего. Я уже установил IntelliJ IDEA! Что дальше?
  • Типа про IT

    Tools for better thinking

    Collection of thinking tools and frameworks to help you solve problems, make decisions and understand systems.

    untools.co