Как стать автором
Обновить
27
0

Пользователь

Отправить сообщение

Про Rust — просто. Что читать в каком порядке?

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров11K

Друзья! Многие из вас, возможно, как и я, интересовались изучением и использованием в работе очень эффективного и востребованного языка программирования Rust но, как и я, оставляли свои попытки из-за сложности, запутанности и многослойности доступного материала и книг по этой теме.

Лично я делал не меньше 5 попыток на протяжении последних 10 лет, прорабатывая, большей частью в свободное и личное время, литературу, некоторые книги по несколько раз, в поисках ответов на простые человеческие вопросы - как свободно писать на Rust и решать, как орешки, ежедневные задачи, не страдая от головной боли и хорошо понимая, что происходит и почему простая программа не компилируется.

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

Читать далее

Мне 34, я был в 67 странах, и у меня есть для вас лайфхак (часть 2)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров18K

Два месяца назад я написал Телеграм-бот, который помогает мне выхватывать дешёвые авиабилеты (и нет, это не рекламная интеграция). Я прикрутил Python-интеграцию к Telegram по протоколу для клиентов, чтобы читать сообщения из любых публичных групп, к backend-части на Spring — она позволяет через бота подписываться на эти группы и настраивать, какие сообщения выхватывать для вас.

За это время в бот пришли пользователи, и вместе мы встретили в этом пет-проекте несколько грабель: несколько грабель: блокировки Telegram-аккаунта за спам, неподходящая архитектура приложения из-за плохой проработки доменных моделей, отсутствие данных для пересылки сообщений через бота.

Я реанимировал бот, добавил несколько киллер-фичей и готов поделиться с вами всеми наработками. В статье найдёте код, ссылки на бот и примеры, как другие пользователи ищут через бот скидки на айфоны и много чего ещё.

Читать далее

Как через orange pi YouTube смотреть или как сделать vpn box и покрыть весь дом vpn(прокси VLESS) на уровне сети

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров22K

Наши реалии довольно суровы, сейчас даже стало сложно не то что зайти на какой нибудь chatGPT, но и посмотреть любимый ютюбчик. Если на пк и телефонах мы еще можем использовать VPN, то вот как обстоят дела с приставками, smartTV/android TV? Если на многих телеках иногда поддержка приложений заканчивается быстро, что уж тут говорить о ВПН или прокси, туда их вообще фиг пихнешь.

Дома у каждого из вас скорее всего есть проводной интернет, а значит роутер тоже есть. Для роутеров ведь тоже существует линукс, причем свободный и гибкий - это OpenWRT. В рамках данного гайда/проекта, я расскажу, как можно обеспечить в своем доме качественное интернет покрытие, используя ARM железяки и linux. Но нет, речь пойдет не о перепрошивке роутера, ибо это дело может во первых окирпичить ваш роутер, ну а во вторых - у многих из вас дома роутеры "бытового класса", как и у меня, которые просто нет смысла даже шить. ибо 64 мегабайта дискового пространства хватить конечно можно, но это будет впритык, а нам хотелось бы управлять всей системой через WEB-UI.

P.S. Конечно есть Keenetic и его фишки, но я таким добром не обладаю и рассказать на примере кинетик роутеров это не могу.

Данный гайд подойдет только на OrangePI zero или OrangePI zero 3, на версию 2 я не нашел прошивки, если у вас получится ее найти - все шаги будут аналогичны. Но так же использовать мощную плату под это дело будет скорее менее рационально, если вы конечно не собираетесь крутить на ней дополнительно докер, или же какой то веб хост. На 3й версии прошивка существует как снапшот(в активной разработке), поэтому проще прилечь к стабильной стороне ядра и выбрать чисто зеро-версию.

Читать далее

Как собрать ETL-процессы в Apache Airflow и перестать страдать

Время на прочтение10 мин
Количество просмотров2.5K

Оркестрация процессов в Apache Airflow — мощный инструмент для управления данными. Но как внедрить его так, чтобы процессы стали прозрачными, гибкими и удобными для команд? Как организовать ETL-пайплайны, чтобы они легко масштабировались и адаптировались под нужды аналитиков, ML-инженеров и других специалистов?

Меня зовут Любовь Марисева, я инженер дата-платформы в Циан. Мы разрабатываем десятки ETL-процессов, обеспечиваем данными разные команды и постоянно ищем способы сделать работу с Airflow эффективнее. В этой статье я расскажу, как мы решили ключевые проблемы, сделали расчёты более управляемыми и упростили взаимодействие между командами.

Если вы только начинаете работать с Airflow или хотите улучшить свои подходы, присоединяйтесь! Эта статья поможет взглянуть на оркестрацию процессов под новым углом.

Читать далее

Проверка на (не)вхождение строк через разные инструменты в PostgreSQL

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.9K

Сравниваем использование IN, EXISTS и JOIN для нахождения вхождений и рассматриваем их планы выполнения для разных ситуаций.

Найти вхождение (◕‿◕)

Ставим TeamSpeak на домашний сервер Linux

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.8K

Если вам надоело обходить блокировку Discord и вас не устраивает связь в tg или Steam, то предлагаю поднять свой TeamSpeak(TS) сервер. У меня, например, вылезла проблема: CoD отказывается запускаться при включенной службе обхода дискорда. Тем более, что последнее обновление сделало TS неплохим его аналогом.

И так, нам понадобится домашний сервер (например, старый комп) с установленной ОС или же арендованный VPS. Ваш IP должен быть статическим, иначе придётся в конфигурации роутера каждый раз менять внешний IP.

Я расскажу как поставить TS, которым смогут пользоваться и ваши друзья на Ubuntu-server через терминал.

Читать далее

Опыт разработки на доработанном pgTap

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров802

В этой статье я поделюсь своим опытом разработки юнит-тестов внутри базы данных под управлением PostgreSQL. А также расскажу, зачем мне потребовалось доработать расширение pgTap.

pgTap – это расширение PostgreSQL для разработки юнит-тестов. Сами тесты, как, собственно, и pgTap, пишутся на plpgSQL, что означает низкий порог вхождения для разработчиков PG.

Уверен, что читатель, по крайней мере, знаком с техникой разработки через тесты. Поэтому не буду пускаться в описание теории юнит-тестирования. Благо литературы на эту тему более чем достаточно. Тем не менее, чтобы быть понятым, приведу некоторые детали ниже.

Читать далее

Визуализация Active Session History в PostgreSQL — делаем просто и красиво

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.1K

Привет! Меня зовут Геннадий, я Oracle и PostgreSQL DBA в компании Uzum. По пути еще иногда занимаюсь NoSQL, люблю автоматизировать информацию из Ansible и визуализировать нужные мне метрики в Grafana. Хочу поделиться дашбордом для Grafana, который отображает историю активных сессий PG с их текущим SQL, отсортированных по группам ожиданий. Он помогает мне искать проблемы производительности PG-баз, и может пригодиться тем, кто администрирует Postgres.

Читать далее

В PostgreSQL необходим официальный бенчмарк для функции uuidv7()

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.8K

В 18 версии PostgreSQL появится функция uuidv7(). Она разработана для замены последовательных автоинкрементных идентификаторов SERIAL, BIGSERIAL и IDENTITY, которые могут привести к катастрофическому дублированию ключей при слиянии данных, и для замены более медленных UUIDv4.

Использование функции uuidv7() позволит упростить архитектуру информационных систем, упростить SQL-запросы, избежать некоторых ошибок, облегчить внесение изменений и благодаря этому повысить надежность и снизить стоимость разработки и сопровождения информационных систем.

Однако для объективной и корректной оценки использования функции uuidv7() необходим официальный бенчмарк в PostgreSQL. Без такого бенчмарка может быть сделан необоснованный выбор в пользу автоинкремента.

Читать далее

Божественная K-V таблица для мелочей

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.4K

Во времена пика интереса к NoSQL базам данных простоватые K-V хранилища были несколько обойдены вниманием - отчасти это понятно, вещь не очень "инновационная", можно даже сказать старинная. В то же время своя "ниша" у них находится до сих пор (не считая того что они используются в более сложных БД в качестве индексов).

В то же время в обычной SQL-ной базе проекта порой "не хватает" такого общего K-V хранилища для разнородных (семантически) записей. В своих проектах я такую обычно завожу. Среди коллег этот подход порой вызывает негатив :)

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

Вперед, к примерам

JOOQ — не замена Hibernate. Они решают разные проблемы

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.4K

Последние год-полтора я натыкаюсь на статьи и доклады (особенно в англоязычном сегменте) о том, что JOOQ – это современная и более крутая альтернатива Hibernate.

Скажу сразу, что я считаю JOOQ отличной библиотекой (именно библиотекой, а не фреймворком, в отличие от Hibernate). Он прекрасно справляется со своей задачей – работой с SQL в режиме статической типизации, чтобы отловить большинство ошибок на этапе компиляции.

Но когда я слышу аргумент, что время Hibernate прошло и пора все писать на JOOQ, для меня это звучит примерно так же, как то, что время реляционных БД прошло и теперь нужно использовать только NoSQL. Звучит смешно? Но по меркам истории буквально вчера такие разговоры велись вполне серьезно.

Я думаю, дело кроется в непонимании корневых проблем, которые решают эти два инструмента. Этой статьей я хочу ответить на эти вопросы.

Читать далее

Simple Spring (полный фарш)

Уровень сложностиСредний
Время на прочтение55 мин
Количество просмотров7.6K

У нас был spring и hibernate
Мы твёрдо знали, что OAuth2.0 это хорошо, а принцип "Api first" ещё лучше.
И нам дали ровно 48-ь часов чтобы создать работающую инфраструктуру с возможностями авторизации, отслеживания метрик, динамической маршрутизацией запросов и раздачей конфигураций сервисам "на лету". Кроме того от нас хотели получить "best practics" по работе с БД в коде и лёгкой поддержке ролевой модели.

Читать далее

11 бесплатных ИИ-инструментов без регистрации

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров12K

Если вы ищете потрясающие ИИ-инструменты, вам повезло. Я нашел 11 бесплатных и полезных ИИ-инструментов, которые не требуют никаких регистраций. Да, вы не ослышались - никаких уловок, никакой информации о банковской карте, только чистая ИИ-магия! Но имейте в виду - они не могут оставаться бесплатными вечно, поэтому лучше воспользоваться ими, пока есть такая возможность.

Читать далее

Каверзные вопросы на интервью аналитика: В каком порядке обрабатываются SQL-запросы?

Время на прочтение5 мин
Количество просмотров28K

Поздравляем всех хабровцев с новым рабочим годом и продолжаем посты на тему технических интервью. Сегодня короткий пост для джунов и выпускников ИТ-курсов по специальности «системный аналитик». На техническом интервью вам могут попасться разные нестандартные вопросы. Вот один из них: «В каком порядке обрабатываются SQL-запросы?». На первый взгляд кажется, что SQL-запросы выполняются в том порядке, в котором мы их пишем: сначала SELECT, затем FROM, WHERE и так далее. Однако, на самом деле, SQL обрабатывает запросы в иной логической последовательности, которая отличается от порядка написания.

Читать далее

Открытые книги по ML и работе с данными

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.4K

Мы регулярно публикуем подборки литературы для специалистов: делали дайджест книг для желающих поближе познакомиться с Postgres и Kubernetes. Сегодня на очереди справочники и пособия по машинному обучению, которые можно найти в открытом доступе. Эти материалы помогут погрузиться в ML, разобраться в базовых математических концепциях, понять тренды опенсорсных технологий для систем ИИ и перейти к работе с ML-платформой.

Читать далее

Получение SQL для PostgreSQL из DAX на основе AI

Время на прочтение3 мин
Количество просмотров3K

Привет, Хабр! Популярным аналитическим языком является DAX, и он используется во множестве проектов. Соответственно, значительная часть бизнес-логики дашбордов реализована на DAX, и при переходе с Power BI на другой продукт требуется время на перевод DAX логики из Power BI. В связи с этим актуальны инструменты расширения списка платформ, на которых можно использовать DAX без Power BI.

Тем, кто интересуется «переводом» DAX на PostgreSQL — добро пожаловать под кат :)

Читать далее

Установка telegrtam-cli в Ubuntu и Debian

Время на прочтение4 мин
Количество просмотров9.5K

Начну с плюсов и полезных фишек:

1. Самое главное на мой взгляд это легковесность, всего 10мб

2. Меньше движений(всё легко, быстро и красиво)

3. Больше степеней свободы(куча фишек которые не всегда есть в приложениях)

4. Вы можете быть "Призраком"(вы в сети и видите сообщение, но в статусе вы не в сети)

5. Клиент можно установить на самое разное железо, включая такое скромное, как Raspberry Pi или Orange PI(на котором и будут показаны примеры ниже)

Но не всё так легко, кроме плюсов всегда есть минусы:

1. ВСЁ КОМАНДАМИ(это очень часто пугает, и многие могут подумать что это что-то выше их понимания)

2. Всё на английском(хотя я уже держу в планах создание перевода)

3. Надо разбираться, а на это нужно время

Из этого вы уже сами должны решить, есть ли смысл!

Читать далее

Сервер автоматизации СА-02м. Linux + Armbian, SCADA, «Умный дом» и вот это вот все…

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров6.5K

Разработали серийный корпус, плату, воткнули туда одноплаточник на Linux + Armbian, установили MasterSCADA4D и давай автоматизировать вентиляцию, освещение и другое инженерное оборудование.

Читать далее

О бедненьком NULLе замолвите слово

Время на прочтение5 мин
Количество просмотров11K

Есть вещи, которые не нравятся, есть вещи, которые бесят, есть вызывающие жгучий гнев, и есть ситуация с NULL в SQL.

Давайте немножко похоливарим по этому поводу.

Читать далее

Как мы деплоим Apache Airflow для промышленного использования в Kubernetes

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.6K

Что делает инженер, если DAG не выполняется? Проверяет Airflow 50 раз, а потом вспоминает, что забыл поставить @dag над функцией.

Развертывание Apache Airflow в промышленной среде — это сложная задача, требующая учета множества аспектов: от обеспечения безопасности конфиденциальных данных до эффективного управления ресурсами. Одной из ключевых проблем, с которыми сталкиваются команды, является безопасное управление секретами, оптимизация конфигураций и наблюдаемость.

В этой статье мы рассмотрим, как использовать инструменты, такие как Sops и YAML-якоря, для упрощения управления конфиденциальными данными и улучшения читаемости конфигураций. А так же как обеспечить полную наблюдаемость инсталляции Apache Airflow.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность