Как стать автором
Обновить
40
0
Михаил @mSnus

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

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

Начинаем продолжать: обработка исходников с помощью ИИ в оффлайне

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

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

Читать далее
Всего голосов 16: ↑14 и ↓2+17
Комментарии13

Инструменты наблюдаемости, о которых нужно знать в 2023 году

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

Когда организации переходят в облако, их системы тоже начинают стремиться к распределённым архитектурам. Один из самых распространённых примеров этого — использование микросервисов. Однако это также создаёт новые сложности с точки зрения наблюдаемости.

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

В этой статье мы рассмотрим возможности, ограничения и важные особенности одиннадцати популярных инструментов наблюдаемости, что позволит вам выбрать наиболее подходящий для вашего проекта.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+39
Комментарии4

NEO4J – графовые базы данных

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

В данной статье будет рассмотрена графовая система управления базами данных в Neo4j, а именно:

Читать далее
Всего голосов 9: ↑7 и ↓2+6
Комментарии11

Начинаем работать с графовой базой данных Neo4j

Время на прочтение12 мин
Количество просмотров84K
В нашем проекте возникла следующая задача — есть база с большим количеством товаров, на уровне сотен тысяч. У каждого товара есть сотни динамически создаваемых характеристик. Необходимо обеспечить быструю фильтрацию по товарам по набору различных характеристик. Время формирования ответа должно быть не более 0.3 секунды, нужно поддерживать сложную логику в стиле.

(характеристика1 = true AND (характеристика2 < 100)) OR (характеристика1 = false AND (характеристика3 > 17)) ... далее обычно мешанина из AND\OR


Типичный пример подобного функционала — hotline.ua/computer/myshi-klaviatury

Пример функционала

У нас все реализовано в рамках MySQL + Symfony2/Doctrine, скорость неудовлетворительная — ответы формируются в течении 1-10 секунд. Мои попытки оптимизировать все это хозяйство — под катом.
Читать дальше →
Всего голосов 36: ↑30 и ↓6+24
Комментарии45

Графовая база данных Neo4j в PHP

Время на прочтение5 мин
Количество просмотров57K
В последнее время я все чаще слышу о NoSQL и о графовых базах данных в частности. Но воспользовавшись хабропоиском с удивлением обнаружил, что статей на эту тему не так и много, а по запросу «Neo4j», так вообще 4 результата, где косвенно упоминается это название в тексте статей.

Что такое Neo4j?


image
Neo4j — это высокопроизводительная, NoSQL база данных основанная на принципе графов. В ней нет такого понятия как таблицы со строго заданными полями, она оперирует гибкой структурой в виде нод и связей между ними.

Как я докатился до этого?


Уже более года я не использовал в своих проектах SQL, с того времени, как попробовал документо-ориентированную СУБД "MongoDB". После MySQL моей радости не было предела, как все просто и удобно можно делать в MongoDB. За год, в нашей студии создания сайтов, переписали тройку CMS, использующих основные фишки Mongo c её документами, и с десяток сайтов работающих на их основе. Всё было хорошо, и я уже начал забывать, что такое писать запросы в полсотни строк на каждое действие с БД и все бы ничего пока на мою голову не свалился проект с кучей отношений, которые ну никак не укладывались в документы. Возвращаться к SQL очень не хотелось, и пару дней я потратил чисто на поиск NoSQL решения, позволяющего делать гибкие связи — на графовые СУБД. И по ряду причин мой выбор остановился на Neo4j, одна из главных причин — это то, что мой движок был написан на PHP, а для неё был написан хороший драйвер "Neo4jPHP", который охватывает почти 100% REST-интерфейса, предоставляющегося сервером Noe4j.
Читать дальше →
Всего голосов 64: ↑63 и ↓1+62
Комментарии45

[в закладки] PDF- и ePUB-версия руководства по React

Время на прочтение3 мин
Количество просмотров43K
Привет Хабр! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которые тепло оценили читатели нашего блога. А сегодня мы поймали себя на мысли, что не выпустили все части одним большим куском — исправляемся!



Для новых читателей нашего блога — два бонуса внутри.
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии9

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

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

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее
Всего голосов 100: ↑93 и ↓7+100
Комментарии83

Параллельные запросы в PostgreSQL

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


В современных ЦП очень много ядер. Годами приложения посылали запросы в базы данных параллельно. Если это отчетный запрос ко множеству строк в таблице, он выполняется быстрее, когда задействует несколько ЦП, и в PostgreSQL это возможно, начиная с версии 9.6.


Понадобилось 3 года, чтобы реализовать функцию параллельных запросов — пришлось переписать код на разных этапах выполнения запросов. В PostgreSQL 9.6 появилась инфраструктура для дальнейшего улучшения кода. В последующих версиях и другие типы запросов выполняются параллельно.

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии2

Настройка Webpack 5

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

Пошаговое руководство по настройке сборщика Webpack 5 совместно с такими инструментами как Pug, Sass, JavaScript, React и Markdown.

Читать далее
Всего голосов 19: ↑18 и ↓1+20
Комментарии38

Генерация статических сайтов с Hugo

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

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

Читать далее
Всего голосов 20: ↑18 и ↓2+30
Комментарии14

Самое подробное руководство по установке высокодоступного (почти ಠ ͜ʖ ಠ ) Kubernetes-кластера

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

В предыдущей статье я рассказывал, как построить простой кластер Kubernetes с одним мастер-узлом. Прошло время, опали листья... и мне захотелось большего, поэтому решил позариться на высокодоступные кластеры. В интернете много статей о том, как построить подобное решение, и давайте даже опустим тот факт, что многие из них уже устарели. Одно дело — установить кластер, а как же обслуживание: удаление, добавление, замена узлов? Про это и не вспоминают! В итоге оказалось, что не всё так просто, и вот, спустя больше ста установок, удалений и замен, у меня получилось собрать подробнейшее руководство по установке и, главное, обслуживанию highly available кластера с помощью Kubespray.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии19

Где скачать научную статью легко и доступно?

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

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

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

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

Читать далее
Всего голосов 90: ↑90 и ↓0+90
Комментарии26

React hooks, как не выстрелить себе в ноги. Часть 3.2: useMemo, useCallback

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

Данная статья продолжение статьи про мемоизацию, в которой мы разбирали зачем нужно использовать memo и как правильно с ним работать. В этой статье разберем, как правильно использовать useMemo и useCallback, какое у них api и разберем пару трюков. В прошлой статье я писал, что в следующей будет информация про useRef, useImperativeHandle и прочее, но в итоге решил, что текущий материал можно объяснить проще. Только трюки подведут нас к использованию useRef и уже в следующей лекции мы разберемся с ним.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Как стать Flutter-разработчиком, или Почему кроссплатформа сейчас — это лучший выбор

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

Hola, Amigos!

На связи Александр Чаплыгин, Flutter Dev. В разработке я 3 года, сейчас работаю в компании по заказной мобильной разработке, за последний год делал проекты для частного медицинского центра, системы маркировок и нескольких стартапов. По свежим следам хочу рассказать о том, как попасть в мобильные разработчики, поделюсь личным опытом взлетов и факапов, приложу чек-лист по устранению ошибок новичка. Если вы начинающий специалист — эта статья для вас. Также полезно почитать заказчикам мобильных приложений, чтобы погрузиться во внутреннюю кухню проектов и команды.

Читать далее
Всего голосов 19: ↑15 и ↓4+11
Комментарии54

«Меняем коней на переправе»: опыт замены компонентов Kubernetes на работающем кластере

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

Fix by MacRebisz

Привет, я Андрей Квапил, Solution Architect в компании «Флант». Моя специализация — архитектурные решения на базе Kubernetes, в том числе на bare metal, а также разработка и эксплуатация облачных платформ и software-defined storage. 

В Kubernetes часто можно столкнуться с ограничениями, immutable-полями и прочими особенностями. Я хочу показать, что при необходимости такие ограничения можно обходить, а также познакомить вас с паттерном controller и наглядно продемонстрировать работу CNI-, CSI- и CRI-плагинов.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии1

Обзор компьютера в стиле Intel NUC (Core I5-1135G7): не хуже оригинала, но заметно доступней

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

Компьютер, в зависимости от магазина, продается под разными названиями, например он может называться Topton NUC или Eglobal NUC, но чаще всего это просто что-то вроде Gaming Mini PC i7 1165G7 или i5 1135G7. Фактически, по железу он копирует оригинальный Intel NUC 11 Pro, а в некоторых моментах даже его превосходит и при этом стоит значительно дешевле.

Сегодня я покажу вам мини-компьютер или неттоп, который считаю лучшим из всего того разнообразия, что можно приобрести на Aliexpress. Он базируется на современном процессоре Core i5 или Core i7 11 поколения и оснащен мощной интегрированной графикой Intel Iris Xe, которая спсобна показать приемлемый fps даже в относительно свежих играх. Компьютер поддерживает до 64 GB оперативной памяти формата DDR4, а в качестве хранилища можно использовать SSD накопитель (в том числе и NVMe). А еще он оснащен разъемом Thunderbolt 4 со скоростью передачи до 40 Gbps, через который можно к примеру подключить внешнюю видеокарту или стороннее видео устройство. Крохотные размеры корпуса, тихое активное охлаждение и большое количество интрфейсов для подключения сторонних устройств это лишь часть его преимуществ. Компьютер хорошо подходит как для работы, так и для развлечений. 

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии46

На пазорях и матка дурит

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

На высоте 100 км над уровнем моря расположена линия Кармана – условная нижняя граница космического пространства. На самом деле, линия Кармана пролегает в пределах ионосферы, и выше этой линии также наблюдаются явления, которые можно назвать «погодой». Однако технически пространство над линией Кармана считается космосом потому, что там пролегают орбиты искусственных спутников. Именно эксплуатация спутников, в особенности, спутников связи, в последнее время привлекает всё более пристальное внимание к изучению полярных сияний (авроры) как атмосферно-космического погодного явления. Многие аспекты полярных сияний до сих пор не вполне изучены, а в этой статье основное внимание будет уделено геомагнитным и навигационным проблемам, напрямую связанным с авророй. В заголовок статьи вынесена русская поморская поговорка, указывающая, что среди северных мореходов описываемые проблемы издавна были общеизвестны и актуальны. Здесь «пазори» означает «северное сияние», а «матка» - компас.

Читать далее
Всего голосов 23: ↑22 и ↓1+36
Комментарии7

Личный сервер shadowsocks за 10 минут без затрат (часть 3)

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

Это - отдельное руководство, описывающее ещё один способ получить личный
прокси-сервер shadowsocks бесплатно и служащее продолжением к моей предыдущей статье. В этот раз мы воспользуемся сервисом Replit.

В этот раз всё будет намного проще: регистрация, импорт, запуск. Три шага.

Читать далее
Всего голосов 23: ↑20 и ↓3+19
Комментарии54

Stevedore — открытая, бесплатная и быстрая альтернатива Docker Desktop

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

Эта история началась весной 2021 года.

Страдал от того, как медленно запускается Docker Desktop.

Страдал от того, сколько он ест оперативной памяти.

Страдал от того, что постоянно что-то ломалось при обновлениях.

Страдал от того, что на Windows Server надо устанавливать Docker через какой-то особенный механизм, не работающий через proxy и не работающий на Windows Server 2016. Причём в связи с тем, что Docker Inc. передала enterprise-сервис компании Mirantis, этот способ через какое-то время вообще перестанет работать. В результате вы получаете Docker, собранный из непонятно каких исходников. Всё, что про них известно — они точно не такие, как в Docker Desktop. Вообще, для инструмента, задача которого — просто скачать один единственный пакет и установить его, в трекере задач этого проекта на удивление много багов.

Страдал от того, что Docker Desktop прекратил поддержку Windows 10 LTSC 2019, которая продолжает поддерживаться Microsoft вплоть до 2024 года (а расширенная поддержка — аж до 2029).

И я спросил себя: а почему, за что, как так? Есть ли какая-то такая фундаментальная причина, по которой софт, решающий эту задачу, обязан доставлять столько неудобств? И не нашёл её. 

А потому подошел к проблеме по принципу: если тебя что-то не устраивает, сделай это лучше.

После чего быстренько придумал название проекту и создал репозиторий.

Я много работал с Docker-контейнерами под Windows и страдал.

Читать далее
Всего голосов 64: ↑62 и ↓2+70
Комментарии26

Ломаем и чиним Kubernetes

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

Kubernetes отличная платформа как для оркестрации контейнеров так и для всего остального. За последнее время Kubernetes ушёл далеко вперёд как по части функциональности так и по вопросам безопасности и отказоустойчивости. Архитектура Kubernetes позволяет с лёгкостью переживать сбои различного характера и всегда оставаться на плаву.

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

Поехали! (╯°□°)╯︵ ┻━┻
Всего голосов 28: ↑28 и ↓0+28
Комментарии20
1
23 ...

Информация

В рейтинге
3 592-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность