Pull to refresh
18
0.1
Павел @pahaz

C-level, startupper, co-founder, делаю ит-компании

Send message

Кейс: CRM-система для ЖКХ и управляющих компаний

Level of difficultyEasy
Reading time8 min
Views1.4K

К нам обратилась управляющая компания, которая планирует обслуживать объекты в другой стране. Им нужно разработать систему для работы с обращениями жителей.

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

Читать далее

Как мы создали LLM-модель Cotype Nano

Reading time7 min
Views8.5K

На связи группа фундаментальных исследований MTS AI. В этой статье мы расскажем про дроп трех маленьких моделей Cotype-Nano, Cotype-Nano-4bit и Cotype-Nano-CPU. Расскажем, как нам удалось достичь 1 места на RuGeneralArena  в своей весовой категории.

Читать далее

Irbis-7B или как мы учили ЛЛМку казахскому языку

Level of difficultyMedium
Reading time7 min
Views6.8K

Языковые модели, основанные на архитектуре трансформеров, такие как Llama, Mistral и прочие, показывают впечатляющие результаты на английском языке. Однако их эффективность на других языках, включая казахский, может страдать. Дообучение на отдельный домен, даже при наличии хорошего датасета, может не давать значительного прироста в качестве. И дело не столько в том, что базовая модель при обучении видела мало текста на казахском, сколько в неэффективной токенизации. Этот недостаток приводит к тому, что модели не могут в полной мере использовать свой потенциал на языках, отличных от английского. В данной статье мы расскажем решали эту проблему при создании казахской языковой модели.

Читать далее

БагБаунти с АстраЛинус или то, что нужно знать о защищённости защищённой ОС

Level of difficultyEasy
Reading time12 min
Views44K

Хочу поделиться своим опытом участия в программе баг-хантинга ГК Астра (да, да - именно той, которая недавно совершила каминг‑аут IPO) на платформе BI.ZONE Bug Bounty.

Читать далее

Организуем High Availability PostgreSQL

Reading time7 min
Views24K

Чтобы система долго работала без сбоев и перерывов, нужно поработать над отказоустойчивостью. В статье дадим несколько способов её построить и покажем готовое решение.

Читать далее

Архивная репликация в PostgreSQL: пошаговая инструкция

Reading time9 min
Views11K

Разбираем c Григорием Тарасенко, инженером команды SQL на примере, как реплицировать базы без использования слотов репликации.

Читать далее

Первые агенты для самообучения сильного ИИ

Level of difficultyMedium
Reading time6 min
Views20K

Тысячи учёных, программистов и просто энтузиастов по всему миру сейчас со всех сторон стараются подойти к главному изобретению в истории человечества, если оно будет сделано — это сильный ИИ (AGI, artificial general intelligence).

Один из подходов к созданию AGI — самообучение так называемых агентов, то есть автономных систем, способных найти решение для произвольных задач и улучшать его до бесконечности. Результаты первых экспериментов интересные.
Читать дальше →

На чем разработать свой стартап или с чего начать хакатон в 2024? (часть 1)

Level of difficultyMedium
Reading time5 min
Views5.8K

Попробуем собрать свой идеальный boilerplate для full-stack разработки в 2024 году. В этой статье мы будем постепенно собирать свой шаблон для быстрого запуска стартапов.

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

Читать далее

KubeVirt: внутреннее устройство и сеть. Как достигнуть совершенства? (обзор и видео доклада)

Level of difficultyMedium
Reading time15 min
Views12K

Всем, привет! Я Андрей Квапил, работаю во «Фланте» над Kubernetes-платформой Deckhouse. Это статья по мотивам моего доклада о разработке нашей системы виртуализации на основе KubeVirt. Я расскажу, какие альтернативы KubeVirt мы рассматривали, чем они нас не устроили, как устроен KubeVirt, как он работает с файловыми хранилищами, сетью и о том, как происходит запуск виртуальных машин внутри Kubernetes. А еще — какие изменения мы внесли в KubeVirt, чтобы он полностью соответствовал нашим задачам. Будет сложно, но интересно. 

Кстати, в начале 2023 года мы уже рассказывали на Хабре о Deckhouse Virtualization — нашей системе виртуализации нового поколения. 

Читать далее

Сложнейшая проблема компьютерных наук: центрирование

Level of difficultyMedium
Reading time7 min
Views35K

Заявляю: «Мы, как цивилизация, разучились использовать центрирование». Ну то есть мы, конечно, знаем, как это делать — очень просто:

display: flex;
justify-content: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

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

Ещё можно использовать сетку:

display: grid;
justify-items: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

Также не спрашивайте, почему выражение justify-content стало justify-items.
Читать дальше →

Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова

Reading time19 min
Views48K
Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причинам, это удается не всегда. Тогда и встает вопрос создания собственного парсера для заданного формата. И это, как говорят англичане, часто оказывается PITA (болью в ...). В этой статье я постараюсь облегчить эту боль. Кому интересно, добро пожаловать.
Читать дальше →

Кто трогал мой mac? Ловим горничную или evil maid detection

Level of difficultyEasy
Reading time4 min
Views6.8K

Я часто нахожусь в командировках и путешествиях, внимательно отношусь к безопасности своего macbook. Недавно, вернувшись в отель, я обнаружил признаки того, что кто-то что-то делал с моим ноутбуком в мое отсутствие.

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

Читать далее

PostgreSQL Antipatterns: сказ об итеративной доработке поиска по названию, или «Оптимизация туда и обратно»

Reading time7 min
Views9.7K
Тысячи менеджеров из офисов продаж по всей стране фиксируют в нашей CRM-системе ежедневно десятки тысяч контактов — фактов общения с потенциальными или уже работающими с нами клиентами. А для этого клиента надо сначала найти, и желательно очень быстро. И происходит это чаще всего по названию.

Поэтому неудивительно, что, разбирая в очередной раз «тяжелые» запросы на одной из самых нагруженных баз — нашего собственного корпоративного аккаунта СБИС, я обнаружил «в топе» запрос для «быстрого» поиска по названию для карточек организаций.

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

0: чего же хотел пользователь


[КДПВ отсюда]

Что вообще обычно подразумевает пользователь, когда говорит про «быстрый» поиск по названию? Почти никогда это не оказывается «честный» поиск по подстроке типа ... LIKE '%роза%' — ведь тогда в результат попадают не только 'Розалия' и 'Магазин Роза', но и роза' и даже 'Дом Деда Мороза'.

Пользователь же подразумевает на бытовом уровне, что вы ему обеспечите поиск по началу слова в названии и покажете более релевантным то, что начинается на введенное. И сделаете это практически мгновенно — при подстрочном вводе.
Читать дальше →

Микросервисная архитектура, Spring Cloud и Docker

Reading time14 min
Views262K

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



Код доступен для ознакомления на гитхабе. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.

Читать дальше →

Знакомство с хранилищем Ceph в картинках

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

Знакомьтесь: Ceph


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



При выходе любого диска, узла или группы узлов из строя Ceph не только обеспечит сохранность данных, но и сам восстановит утраченные копии на других узлах до тех пор, пока вышедшие из строя узлы или диски не заменят на рабочие. При этом ребилд происходит без секунды простоя и прозрачно для клиентов.
Читать дальше →

Яндекс открывает технологию машинного обучения CatBoost

Reading time6 min
Views103K
Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже опубликованы на GitHub под лицензией Apache 2.0.



CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.

Sysdig — инструмент для диагностики Linux-систем

Reading time16 min
Views51K
Sysdig — инструмент для диагностики Linux-систем

Для сбора и анализа информации о системе в Linux используется целый набор утилит. Для диагностики каждого из компонентов системы используется отдельный диагностический инструмент.

Читать дальше →

Лекции Техносферы. 1 семестр. Введение в анализ данных (весна 2016)

Reading time3 min
Views43K
Слушайте и смотрите новую подборку лекций Техносферы Mail.Ru. На этот раз представляем в открытом доступе весенний курс «Введение в анализ данных», на котором слушателей знакомят со сферой анализа данных, основными инструментами, задачами и методами, с которыми сталкивается любой исследователь данных в работе. Курс преподают Евгений Завьялов (аналитик проекта Поиск Mail.Ru, занимающийся извлечением полезных бизнесу знаний из данных, генерируемых поисковым движком и десктопными приложениями), Михаил Гришин (программист-исследователь из отдела анализа данных) и Сергей Рыбалкин (старший программист из студии Allods Team).

Лекция 1. Введение в Python


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


Читать дальше →

4 вида утечек памяти в JavaScript и как с ними бороться

Reading time16 min
Views133K

В этой статье мы рассмотрим распространённые виды утечек памяти в клиентском JavaScript. Также мы узнаем, как их обнаружить с помощью Chrome Development Tools.


timeline в Chrome Dev Tools

Читать дальше →

Конкурентный доступ к реляционным базам данных

Reading time13 min
Views63K
СхемаВопросы параллелизма в компьютерных вычислениях очень сложны! Причинами большой сложности являются огромное количество деталей, которые нужно учитывать при разработке параллельных программ. В программирование и без того существует большое количество деталей, которые создают почву для ошибок, параллелизм же, добавляет ещё.

Вопросы конкурентного доступа к реляционным базам данных встают практически перед любыми разработчиками прикладного программного обеспечения и не только перед ними. Результатом такой востребованности этой области является наличие большого количества созданных архитектурных паттернов. Это позволяет успешно справляться с большой сложностью разработки таких программ. Ниже пойдёт речь о таких рецептах, а также механизмах на которых базируется их реализация. Повествование будет иллюстрироваться примерами кода на Java, но большинство материала не привязано к языку. Цель статьи — описать проблемы конкурентного доступа к реляционным базам данных, в качестве введения в предмет, а не полноценного охвата темы.
Читать дальше →
1
23 ...

Information

Rating
3,900-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Chief Technology Officer (CTO), Pentester
Lead
From 1,200,000 ₽
People management
Building a team
Company management
Startup management
Strategic management
Business development
Strategic planning
Budgeting projects
Information Technology
Negotiation