Information
- Rating
- 3,294-th
- Location
- Москва и Московская обл., Россия
- Registered
- Activity
Specialization
Backend Developer, Fullstack Developer
Middle
From 150,000 ₽
Python
RESTful API
Docker
Linux
Golang
PostgreSQL
JavaScript
Web development
Fastapi
Asynchronous programming
LUKS + Линукс точно так же прекрасно решает проблему. При этом Линукс не обязательно устанавливать, можно загрузиться с почти-любого лайв-USB на любом пылесосе, пакет cryptsetup обычно в наличии. Бесплатно, легально и без вендор-локов.
Чем мне особенно нравится Sphinx – документацию легко можно скопировать для просмотра оффлайн. Например, с помощью HTTrack. Сейчас это актуально со всеми этими шатдаунами и блокировками. При этом даже поиск работать будет! Хотя иногда приходится чуть править HTML, делать адрес страницы поиска относительным.
Есть прекрасный фильм «Степени десяти» о масштабах макро и микро миров. Снимает все печали. Отдельная жизнь – просто песчинка в бескрайней пустыне. После – не может быть ничего особенного. Просто нет в этом смысла. Это как отключение сервера, на котором крутилась нейросеть. Никто же не тоскует по уникальному внутреннему состоянию Докер-контейнера после его удаления. Спешите творить добро!
Вот такой уровень подачи материала нужен на уроках биологии в школе 21-го века.
JRE не встроена в ОС (Win/Linux), надо или ставить отдельно в систему или класть рядом с приложением. Раст не так уж давно раскрутился, к тому же может не быть нужной библиотеки. ДотНет под Винду норм, а под Линукс всё же инородное явление. Питон же напротив, в Линуксе «из коробки», библиотеки в изобилии.
Про муху цеце наслышан, но не пересекался. А вот восстанавливать бережно хранимый приятелями на подобных красивых USB-коробочках архив семейных фото приходилось не раз. Раньше там внутри ставили обычный ноутбучный PATA/SATA диск. Вытащил, подключил напрямую и вперёд. А сейчас облом, USB прямо с платы идёт. Так что для себя я беру внутренний SATA-диск. Подкинуть его парой проводов к любому компу не проблема. Есть и переходник USB/SATA. Ну и про LUKS не забываем. Выходит дешевле и намного надёжнее.
Не вопросы, а нестыковки. Их так много, что разбор потянет на целую статью.
Автоформатирование есть для любого уважающего себя языка. Просто в Go оно «в комплекте». Компилятор не расставляет отступы. Табуляция будет независимо от вашей воли.
Не, тут другой посыл - механизм документации уже «в комплекте», заморачиваться и не придётся.
Пакет существует, но это не повод его сразу применять. Его использование снижает безопасность, надёжность, переносимость и поддерживаемость программ.
Реально запутался;) Зачем по-разному называть, если уже есть один устоявшийся термин?
Но зачем? О чём вообще речь? Зачем брать библиотеки из дистрибутива, если в Go свой прекрасный менеджер пакетов? И чаще всего Go-код компилируется в самодостаточный бинарь. Даже сам Go легко ставится и обновляется путём распаковки архива. Не в каждом дистрибутиве запакечен свежий Go.
Вот тут обидно, не докрутили. Самое то главное - кросс-компиляция, когда на одной системе можно собирать под много разных других платформ.
Точно в яблочко! Но это плохо согласуется с приёмами из статьи, вся эта возня с Cgo и ассемблерными вставками. К примеру, работать с SQLite можно и через либу с C-биндингами и через нативный драйвер. Так вот, я предпочту драйвер без Cgo, потому что мне важна кросс-компиляция и не хочется зависеть от C-компилятора и его тулчейна. Всё же Go это больше про прикладное программирование.
Автор немножко лукавит. Можно посмотреть его сайт/гитхаб и узреть там массу высококлассных проектов. Плюс куча статей и книг. Плюс блог и дискорд на английском, при условии что это не родной язык. Гибкость мышления у автора гораздо выше среднего.
Не очень понятен сценарий использования инженером ТП. Возможно, проще было бы оформить в виде мастера, когда все варианты и подстановки делаются уже после запуска, внутри баш-скрипта, а не на его входе, в оболочке. Типа того, как работают git init или npm init.
Все эти дневники очень больная тема. Мало того что в каждом регионе своя разработка, так ещё и каждый год новая. В этом году у нас прикрутили авторизацию через ГосУслуги – месяц родители стонали, то не коннектится, то учётка ребёнка не так привязана, то пятое, то десятое. Если даже и зашёл родитель, то в любой день может разлогинить «из-за подозрительной активности». В итоге, я так и не смог подключиться, из-за ошибки в ФИО ребёнка на стороне школы, хожу через учётку ребёнка. Школа ничем помочь не может, техподдержка пеняет на школу. Самая печаль - это уродский дизайн самой простой страницы с домашкой на день. Экран 24 дюйма, а не помещается всё на одном скрине, куча бестолковых пустых полей сжирает место. Умение сверстать табличку и убрать всё лишнее, уместив в один экран без скроллов это что-то недостижимое. Ну и отношение всех этих ЦОКО к открытости данных показательно, «ешьте что дают и не умничайте». Так и живём. А автору большая уважуха и плюс в карму! Друг, ты просто молодчина!
А где сохранять то? В менеджере паролей? Если применять опенсорсные KeePassXC и KeePassDX то он (секрет) и так там хранится, применяется для генерации кода и его можно всегда посмотреть.
Этот Q4OS на systemd, а надо что-то попроще. Как вариант, Alpine Linux плюс лёгкий стол типа JWM плюс Firefox и лёгкий софт типа sakura, mc, FeatherPad.
На редкость грамотный и доходчивый материал, спасибо! Чистый бриллиант на фоне потока наскоро слепленных постов. Хочется всё бросить и иди к вам работать;) А по теме добавить нечего, всё верно сказано. К сожалению, часто куча комментариев и несправедливое внимание достаётся пустопорожним статьям. Успехов вам и всего наилучшего!
Вопрос поднят правильный. Но вот выбор задач для сравнения спорный:
Но ведь выдача копеечных константных джсонов тоже не раскрывает. И отдача статики - не типичная задача для подопытных.
Чем хорош Fastify так это валидацией входящих джсонов по схемам (JSON Schema), благодаря либе ajv. Схемы создаются один раз при старте, и потом в каждом запросе просто и быстро применяются. Вот добавить бы в тест такое.
Второе, что не учтено - обработка ошибок. Ошибки же надо обрабатывать, выводить понятное сообщение, с указанием чего в запросе не хватает. Часто в бенчмарках тестируют только заведомо успешные запросы, что далеко от жизни.
Третье - логирование. Ведь одно дело логировать как-попало, например, через синхронный
console.log
. Совсем другое - логировать структурно и в отдельном потоке, как это делается в Fastify через либу pino.Поддерживаю! А для логов/отчётов уже придуман JSONL (JSON Lines).
Статья то не об этом. Выше публикатор отметил, что эта демонстрация является фундаментом... Вы предлагаете MVP из двух ручек без мониторинга и авторизации сразу на кластер деплоить? Бухгалтерия одобряет ;)
Господи боже мой, вы о чём? В Убунте Питон вроде бы искаропки уже есть. А если нет -
make install
не обязателен, потому как там ровно такой жеapt-get install
как и внутри python:3.11-slim из статьи.Т.е. доставка в этой статье вас не смущает? Билд прямо на проде и руками, жирный образ без мультистейджа, запуск под рутом;)
Давайте не уходить от темы статьи и читать внимательно условия задачи. Ещё раз - автор статьи сам выбрал виртуальный сервер, полгига рамы. Под одно это единственное приложение. Один сервер, других нет в плане. Ни слова не сказал про утилизацию ресурсов, запустил в 1 поток. Всё. Вы зачем-то нафантазировали другие приложения и кубернетисы.
Я не про оверхед, а про то что ресурс уже ограничен на нижнем уровне и выделен целиком под приложение. Зачем изолироваться от «хоста» который в данном случае уже виртуалка? Не тащить Пайтон на уровень Убунты, но затащить его же уровнем выше внутри Дебиан-контейнера? Я не против Докера, сам применяю и знаю устройство. Вопрос/просьба в другом - может не надо пожалуйста новичкам давать ложное убеждение, будто без Докера приложение не развернуть.
Проблема в том, что Докер это инструмент для решения определённых задач. Хорошо бы уточнить, какую именно проблему он решает здесь. Я не вижу ни одной причины его затаскивать. Виртуальный сервер, всего лишь полгига памяти, одно приложение, один процесс, привязки к версии Пайтона нету. Надо загрузить больше ядер - естественно будет добавить gunicorn. Мне неприятно, когда гвозди микроскопом забивают ;)
Древние китайские историки рассказывают, что Цинь Шихуан приказал сжечь старинные книги, а несколько сот ученых — почитателей учения Конфуция — закопать живьем в землю. Он велел уничтожить всех, кто думал, что прежде жилось лучше, чем при нем.
История древнего мира. Учебник для 5 класса
17-е изд. Просвещение, 2010
ISBN 978-5-09-023702-4