Pull to refresh
19
0
Игорь Бесчастнов @VoidDruid

Разработчик

Send message

Про 50 т.р. я имел ввиду что это сумма, которую работяга будет откладывать, зп конечно больше. Можно и откладыать даже больше, но все равно получаются сроки в 5+ лет, когда ты просто копишь на голубую мечту, вместо например ипотеки.

У меня статьи про истории предпринимателей всегда вызывают один и тот же вопрос - откуда работяге (то есть человеку, самостоятельно зарабатывающему на жизнь, без богатых друзей или родителей) взять те самые 2-5 млн рублей "на первое время". Откладывать почти 10 лет (5 млн. / 50 тыс./мес. = 8.3 года)? Брать кредит (под 20%, то есть если прогоришь останешься должен в два раза больше, а сколько лет будешь это выплачивать см. выше)?

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

Не реализовано. Статья ведь не про реализацию конкретного языка, а туториал по написанию крохотного компилятора для обучения. Сборка мусора, ленивость и т.д. это весьма продвинутые темы. Выделение памяти тут просто силами llvm "alloca".

Читая эту статью сразу захотелось оставить комментарий, но не могу выбрать какой:
  1. Плюсы — это когда получение длины массива — тема для статьи
  2. Плюсы — это когда есть 3 способа создать массив, из которых 2 неправильных

P.S. Естественно, все это шутки, но пройти мимо не смог
Уточню, что я говорю исключительно про «фреймворки» для функциональной разработки в питоне — с основными выводами статьи я совершенно согласен и большинством из описанного сам активно пользуюсь
Спасибо за статью, про функциональные возможности питона часто незаслуженно забывают.

Однако на мой взгляд многое из описанного во второй части статьи, про пакет functional и библиотеку returns, на практике довольно бесполезно.
Код, который мимикрирует под функциональный, вызывая рантайм-исключения при нарушении каких-то условий, только мешает — на его месте мог бы быть более привычной питонячий код, который можно проверить линитерами и mypy, и выявить похожие ошибки «статически», без запуска кода.

Примерно тоже самое применимо и к returns. В частности хаскель, из которого похоже Maybe и притащили, встречая Maybe в коде заставляет тебя проверять везде что именно вернулось — Just T или Nothing, что и даёт серьезные гарантии на уровне типов. В returns не вникал, но судя по примеру из статьи, этот инструмент не даёт никаких «статических» проверок, и вообще будто ломает тайп чекер (mypy), подменяя возвращаемые значения на собственные типы — а если и не ломает, то однозначно усложняет чтение кода.

Я сам функциональную парадигму тоже люблю и уважаю, но объектно-ориентированный, динамически типизированный, интепретируемый Python фундаментально очень от нее далек, несмотря на то что имеет и функции как объекты первого класса, и замыкания, и много чего ещё.
Поэтому на мой взгляд выгоднее внедрять мощь функциональщины в свои Python-программы порционально, там где она решает конкретные проблемы, не выходя далеко за рамки «идиоматического» питона)
Я понимаю что хранятся они в БД, я имел ввиду как это выглядит для разработчика.

Например, чтоб посмотреть все имеющиеся процедуры и что-нибудь поменять/добавить, я клонирую репозиторий со всеми процедурами, что-то в него коммичу, и оно потом само CI/CD-шится куда надо, или вся работа идет в условном DataGrip напрямую через БД?
Как вы храните и «деплоете» код процедур? Спрашиваю как человек, с процедурами почти не работавший)
Это какая-та, условно говоря, папка с текстовыми файлами, при деплое какими-то скриптами «загружаемая» в БД, или новые/измененные процедуры вы загружаете в БД руками, или вообще по-другому все происходит?
Постараюсь заняться статьей на эту тему, как только будет возможность

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity