#HEX • IT – Telegram
#HEX • IT
372 subscribers
502 photos
104 videos
64 files
478 links
Channel by @alexeev_dev.

Авторский блог.

IT, статьи и другая информация.
Download Telegram
Своя СУБД за 3 недели.

Нужно всего-лишь каждый день немного времени уделять архитектуре; и всё остальное время вкалывать на результат, печатая и перепечатывая сотни строк кода.

По закону Мерфи, если есть более одного проекта на выбор — я возьмусь за самый сложный из предложенных. Так случилось и с последним заданием курса о системах управления базами данных (СУБД).


Конечный продукт должен обладать следующими свойствами:

хранит базу в бинарном формате в едином файле
DDL: поддерживает три типа данных: Integer, Float и Varchar(N). Для упрощения, все они фиксированной длины.
DML: поддерживает базовые SQL операции:
INSERT
UPDATE
DELETE
SELECT с WHERE и JOIN. С каким именно JOIN — указано не было, поэтому на всякий случай мы сделали и CROSS, и INNER
выдерживает 100'000


#статья #полезное #SQL #СУБД #проекты #велосипедостроение
🔥3👍1
Poetry — это инструмент для управления зависимостями и сборкой пакетов в Python. А также при помощи Poetry очень легко опубликовать свою библиотеку на PyPi!

В Poetry представлен полный набор инструментов, которые могут понадобиться для детерминированного управления проектами на Python. В том числе, сборка пакетов, поддержка разных версий языка, тестирование и развертывание проектов.

Все началось с того, что создателю Poetry Себастьену Юстасу потребовался единый инструмент для управления проектами от начала до конца, надежный и интуитивно понятный, который бы мог использоваться и в рамках сообщества. Одного лишь менеджера зависимостей было недостаточно, чтобы управлять запуском тестов, процессом развертывания и всем созависимым окружением. Этот функционал находится за гранью возможностей обычных пакетных менеджеров, таких как Pip или Conda. Так появился Python Poetry.

Установить poetry можно через pipx: pipx install poetry и через pip: pip install poetry --break-system-requirements. Это установит poetry глобально во всю систему.

Итак, давайте создадим проект при помощи poetry и установим зависимости:

poetry new <имя_проекта>
cd <имя_проекта>
poetry add <зависимости>
poetry shell # входим в виртуальное окружение
20👍41🔥11
DevOps-инженер - специалист, который внедряет методологию эффективной совместной работы нескольких сфер (такие, как серверное программирование, QA и администрирование серверов) в процесс работы. Можно сказать, что эта специальность абстрактная, т.к. нет четко обозначенных границ знаний.

DevOps-инженер, косвенно или нет, отвечает за следующие этапы работы:

Этап планирования. Какая будет архитектура проекта, как настроить его масштабируемость, определение метрик для оценки эффективности.

Следующим шагом является настройка и администрирование серверов. Эта часть работы включает в себя развертывание и конфигурирование серверной инфраструктуры, установка и настройка необходимого системного ПО и самой системы, а также обеспечение безопасного вывода в продакшен и проверка среды.

Автоматизация CI/CD. Continuous Integration/Continuous Delivery - это одна из практик в DevOps, подразумевающая непрерывную интеграцию и доставку. Ее цели - обеспечение последовательного и автоматизированного способа сборки, упаковки и тестирования продуктов или приложений.

Тестирование и мониторинг. Данный этап представляет собой разработку систем мониторинга производительности и доступности, а также всевозможное тестирование.

Взаимодействие с обратной связью от пользователя. Цель этапа - внедрять улучшения в проект.

Решение других задач, которые позволяют анализировать эффективность разных рабочих процессов, наладить систему работы других сотрудников сферы IT.

Но почему разработчики разных этапов не могут просто работать отдельно, а после синхронизировать? Проблема возникает в том, что у каждого свое окружение, и то что работает у одних, может не работать у других. Все тратят время на решение багов, проблем совместимости и синхронизацию компонентов. Здесь и нужна профессия DevOps-инженера - тот, кто поможет всем общаться, настроить совместную работу.

Конечно данный план - идеальный проект, но таких, к сожалению, мало. Есть многочисленные проекты, где мониторинг отваливается, процесс обновления громоздкий, этап планирования был пропущен или сервера используют потенциально уязвимое ПО. И тогда задача DevOps-инженера - решить все (или хотя бы часть) существующих проблем, сделать так, чтобы все работало, и непрерывно работало и обновлялось.

Как говорит старая английская пословица - "Time is money", время - деньги. В контексте бизнеса и IT инфраструктуры это правда. Сколько бизнес потеряет денег, если вдруг, из-за плохого тестирования или CI/CD упадет сервер? DevOps-инженер как раз и нужен для решения таких проблем.
103👍21
Инженер Red Hat Никита Попов теперь ведущий разработчик LLVM

После единогласного одобрения на прошлой неделе в LLVM Git он был назначен официальным ведущим разработчиком этого критически важного стека компиляторов с открытым исходным кодом. В Red Hat он работал над LLVM, Clang и Rust. Никита Попов также был одним из основных разработчиков PHP.

Источник
👍2221🔥1
Эпично: «компьютерных мастеров рядом с вами» ногами выпинали из квартиры потенциальной жертвы.

Самый сок: мошенники забыли свой жёсткий диск на котором были мануалы по обману, вирусы и батники, ломающие нормальную работу Windows. Примечательно, что почти все их гнилые методы работают на смене даты.

Идиоты специально впаривали трояны и даже форматировали диски, чтобы втюхать свои услуги за нереальные деньги — только установка Офиса обошлась бы почти в ДЕСЯТКУ.

Предупредите близких.

Источник
4🤯21
Решил грокнуться.
👍8
Привет, Хабр! Стоит ли говорить, что Python ОЧЕНЬ и ОЧЕНЬ популярный язык программирования, местами даже догоняя JavaScript. Python в мире программирования — это эсперанто, легкий язык созданный для всех, но его владельцам не мешало бы помыться.

В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда велосипедостроения). Каждый разработчик иногда использовал в нескольких своих проектах однообразный код, который приходилось каждый раз перемещать. Да и хотя бы как упаковать свои идеи и знания в удобный и доступный формат, которым можно будет поделиться с сообществом.

Если вы ловили себя на мысли: «А почему мне бы не создать свою полноценную библиотеку?», то я рекомендую прочитать вам мою статью.

Эту статью вы можете использовать как шпаргалку для создания своих python-библиотек. Я полностью расскажу все этапы создания библиотеки: документация, тестирование, архитектура, публикация и управление зависимостями

Некоторые из вас могут подумать что мы изобретаем велосипед. А я в ответ скажу — сможете ли вы прямо сейчас, без подсказок, только по памяти, нарисовать велосипед без ошибок?

https://habr.com/ru/companies/timeweb/articles/847370/?utm_campaign=847370&utm_source=habrahabr&utm_medium=rss#habracut
👍3🔥22
#HEX • IT pinned «Привет, Хабр! Стоит ли говорить, что Python ОЧЕНЬ и ОЧЕНЬ популярный язык программирования, местами даже догоняя JavaScript. Python в мире программирования — это эсперанто, легкий язык созданный для всех, но его владельцам не мешало бы помыться. В мире программирования…»