Latest posts

Hello World
27 Jan 2025, 19:19




Hello World
11 Sept 2024, 20:32
https://nixos.orgnixos.orgNix & NixOS | Declarative builds and deploymentsNix is a tool that takes a unique approach to package management and system configuration. Learn how to make reproducible, declarative and reliable systems.
Hello World
11 Sept 2024, 17:08edited
докер и микросервисы это залупа конченая, а фирмы которые это используют просто страдают “shiny new framework syndrome”.Change my mind.


Hello World
29 Aug 2024, 14:26
Мда, если даже здесь всё не так однозначно... Ладно, вот вам ещё один спорный тезис. Кто-то в обсуждениях заметил, что некоторые программерские инструменты будто бы специально сделаны сложными в использовании. Например, те же СУБД (почему-то не люблю это слово).
Hello World
29 Aug 2024, 14:25
Мда, если даже здесь всё не так однозначно... Ладно, вот вам ещё один спорный тезис. Кто-то в обсуждениях заметил, что некоторые программерские инструменты будто бы специально сделаны сложными в использовании. Например, те же СУБД (почему-то не люблю это слово). Postgres — это, конечно, мощно, но если у вас тоже возникал вопрос: почему бы не использовать MySQL или даже sqlite, то вы не одиноки. На примере того же Левелса можно отметить, что его сервера выдерживают большой наплыв пользователей, несмотря на использование самых простых инструментов, таких как sqlite. Я, честно говоря, вообще не уверен знает ли он, что есть асинхронная обработка реквестов и т.д. (интересно, как оно на пыхе там?).Можно долго спорить, но у каждого инструмента есть свои причины для использования. Если ваш проект используют всего трое человек (вы и ещё два фаундера), возможно, не стоит стремиться "сделать всё
Hello World
28 Aug 2024, 21:12

Hello World
28 Aug 2024, 21:11
Я в последнее время часто сижу в Твиттере. Там собралась большая техническая тусовка: люди постоянно создают новые проекты и стартапы, зарабатывают деньги и делятся опытом. После выхода того самого интервью с Лексом Фридманом и Питером Левелсом (ну про Фридмана-то вы наверняка слышали?), там активно обсуждают, нужно ли действительно "вылизывать" свои приложения, делать тесты и писать код "как надо", а не как хочется. Питер высказывался о том, что все эти TDD, Vercel, крутые базы данных и прочее — не так уж и важны. Он буквально на коленке создал вирусные AI-проекты, которые приносят огромные деньги. Инди-хакеры тут же подхватили эту идею и начали постить, мол, да, надо пушить в продакшен сразу, тесты не нужны, вообще всё не нужно — хочу и пушу говнокод прямо в мастер. "Что вы мне сделаете?" Поэтому мне интересно, что вы думаете по этому поводу:


Hello World
15 Aug 2024, 09:29
Вот бывает такая фигня, работаешь в своем бранче, никого не трогаешь, но тут надо тесты писать. Написал, запускаешь nox, показывает что coverage 99% где то в совсем другой части проекта, никак не связанной с твоим кодом. Начинаешь вопрошать мол как оно попало


Hello World
13 Aug 2024, 08:41
В каком то из давних интервью меня попросили предсказать вывод следующего Python-кода:class A: passclass B: value = 1class C: value = 3class D(A, B, C): def __str__(self): return str(self.value)print(D())Эту проблему на тот момент я не мог решить, но я ее запомнил и вернулся к ней только недавно. Ключ к решению этой задачи лежит в понимании т.н. Method Resolution Order (MRO) в Python. MRO определяет порядок, в котором происходит поиск базовых классов при обращении к методу или атрибуту.💡 В данном случае D наследуется от A, B и C. Но когда мы печатаем D(), атрибут value берётся из класса B! Почему?
Hello World
8 Aug 2024, 14:15
Вот бывает такая фигня, работаешь в своем бранче, никого не трогаешь, но тут надо тесты писать. Написал, запускаешь nox, показывает что coverage 99% где то в совсем другой части проекта, никак не связанной с твоим кодом. Начинаешь вопрошать мол как оно попало в master? Стягиваешь master, запускаешь nox и показывает зеленый билд... Меняешь бранч, показывает что проблема все таки есть. Снова в master обратно, и уже и там показывает что все плохо. Но ведь это все уже в мастере, вот как так? А github actions который у нас там подвязан в CI/CD тоже показывает зеленый билд 🥲Я эти тесты на одном месте крутил. Особенно если их писал не я. Это конечно не часто случается, но когда проект содержит десятки тыщ строк кода, может случиться и такое.
Hello World
30 Jul 2024, 14:27
Наконец то норм фронтэнд на питоне? А мне только недавно зашел Next.js...https://x.com/jeremyphoward/status/1818036923304456492https://fastht.mlНадо попробовать на досуге.fastht.mlFastHTMLModern web applications in pure Python
Hello World
15 Jun 2024, 09:12
ща из калифорнийской комы выползу...


Hello World
23 Feb 2024, 19:35edited
🚀 Привет! Давненько не заглядывал к вам сюда, дел было много, как всегда. Недавно наткнулся в твиттере на обсуждение Groq. Парень там хвалит эту штуку, говорит, что у него время респонса офигенное, и в целом не уступает даже ChatGPT. А я решил спроектировать клиент для использования их API, и самое крутое – без необходимости закрытого ключа!Хотя pylint, правда, решил подкинуть мне немного головной боли и отказывается работать. Видимо, я мог пропустить мелкий косяк где-то. Хотя вроде бы все работает без нареканий.Если интересно, вот ссылка на мой проект: GitHub - Dartrisen/groqGitHubGitHub - Dartrisen/groq: groq clientgroq client. Contribute to Dartrisen/groq development by creating an account on GitHub.
Hello World
31 Dec 2023, 21:02
Хотел чет еще вкинуть по логгированию или юнит тестам, но увы не успел. Итоги подводить не буду, сами для себя думаю уже все это сделали. Так что, без лишний предисловий, с нг. 🥳
Hello World
18 Dec 2023, 10:01
Ну и напоследок еще один немаловажный момент, связанный с датаклассами. Иногда нам в таком классе нужна чисто классовая переменная (сори за масло масляное, cls var). Рассмотрим на примере с датаклассами и без.Создание переменной классаБез датакласса мы бы написали такclass User: cvar: float = 0.5def __init__(self, user_id: int, name: str) -> None: self.user_id = user_id self.name = nameИспользуя датакласс мы бы написали такfrom typing import ClassVar@dataclass class User: cvar: ClassVar[float] = 0.5
Hello World
17 Dec 2023, 19:53
Дрочим датаклассы v 2.0 💅💅Приветствую, дорогие читатели! Ваш любимый шизоид снова выходит на связь. В этом посте мы закончим разбирать датаклассы (надеюсь). В прошлом посте я не осветил такой интересный вопрос, как "зачем же все-таки они нужны?". Поясняю: вам необходимо создавать датаклассы в первую очередь для хранения и управления данными (как и следует из их названия). Либо, если вы хотите упростить себе задачу и писать меньше кода, воспользовавшись автоматической генерацией некоторых методов: __init__, __repr__, etc.У нас в проектах это много где используется, в основном для упрощения управления и хранения различного рода данных.Исключение аргументов из __init__Рассмотрим пример, когда нам нужно убрать аргумент из инициализатора, например user_id, который нам должен генерироваться автоматически. Для этого в аргумент добавим init=False.import randomdef my_super_ultra_id_
Hello World
16 Dec 2023, 14:45
Недавно наткнулся на целый пак интересных репозиториев.https://github.com/codecrafters-io/build-your-own-x#build-your-own-3d-rendererWhat I cannot create, I do not understand — Richard Feynman.Данная цитата отлично отражает суть данных репо. Самый лучший способ разобраться в чем-то, это написать свою версию этого "чего-то".Тут собрано множество отлично написанных гайдов, как с нуля создать множество различных технологий. Я например нашел там концепт имитации докера, написанный на питоне:https://github.com/tonybaloney/mockerКроме того, там есть много других языков и фишек, от написания своих баз данных, до написания OC или компилятора.@hw_codeGitHubGitHub - codecrafters-io/build-your-own-x: Master programming by recreating your favorite technologies from scratch.Master programming by recreating your favorite technologies from scratch. - codecrafters-io/build-your-own-x
Hello World
13 Dec 2023, 20:15
Channel photo updated
13 Dec 2023, 19:49

Hello World
13 Dec 2023, 19:04edited
Дрочим датаклассы 💅🏻Долго мучился с вопросом, что делать с длинными постами. Не вижу смысла писать короткие примеры типа "почему плохо совать [] в дефолтный аргумент в функции". За годы тут я выработал отвращение к повторяющимся скучным постам в блогах, бесконечным вопросам в комментах вроде "бро, контент будет? или снова репост старого поста?" и т.д. Хорошо, что в тг теперь можно использовать нормальный inline code markdown. Поэтому здесь я заканчиваю предисловие, и мы начинаем.Зачем нужны датаклассы?Базовая фишка датаклассов - красивое представление объекта при выводе через print. Например, класс User:class User: def __init__(self, user_id: int, name: str) -> None: self.user_id = user_id self.name = nameuser = User(user_id=1111, name="@hw_code") print(user) на экран вылезет что-то в духе: <__main__.User object at 0x0000021492214BD0> Таким образом, нет необходимости писать
Related Channels
Other channels in the same section of the catalogue.
