Pull to refresh
40
0
Михаил @mSnus

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

Send message

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

Level of difficultyMedium
Reading time17 min
Views9K

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

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments13

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

Level of difficultyEasy
Reading time9 min
Views7.5K

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

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

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

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

Reading time12 min
Views84K
В нашем проекте возникла следующая задача — есть база с большим количеством товаров, на уровне сотен тысяч. У каждого товара есть сотни динамически создаваемых характеристик. Необходимо обеспечить быструю фильтрацию по товарам по набору различных характеристик. Время формирования ответа должно быть не более 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 секунд. Мои попытки оптимизировать все это хозяйство — под катом.
Читать дальше →
Total votes 36: ↑30 and ↓6+24
Comments45

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

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

Что такое Neo4j?


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

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


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

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

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



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

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

Reading time6 min
Views49K

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

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

Читать далее
Total votes 114: ↑107 and ↓7+100
Comments83

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

Reading time12 min
Views25K


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


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

Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments2

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

Reading time7 min
Views16K

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

Читать далее
Total votes 34: ↑32 and ↓2+30
Comments14

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

Reading time22 min
Views26K

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

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments19

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

Reading time1 min
Views74K

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

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

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

Читать далее
Total votes 90: ↑90 and ↓0+90
Comments26

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

Reading time12 min
Views41K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments9

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

Reading time5 min
Views18K

Hola, Amigos!

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

Читать далее
Total votes 19: ↑15 and ↓4+11
Comments54

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

Reading time11 min
Views5.8K

Fix by MacRebisz

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

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

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

Reading time15 min
Views28K

Компьютер, в зависимости от магазина, продается под разными названиями, например он может называться 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, через который можно к примеру подключить внешнюю видеокарту или стороннее видео устройство. Крохотные размеры корпуса, тихое активное охлаждение и большое количество интрфейсов для подключения сторонних устройств это лишь часть его преимуществ. Компьютер хорошо подходит как для работы, так и для развлечений. 

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments46

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

Reading time8 min
Views6.9K

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

Читать далее
Total votes 38: ↑37 and ↓1+36
Comments7

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

Reading time3 min
Views114K

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

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

Читать далее
Total votes 25: ↑22 and ↓3+19
Comments54

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

Reading time4 min
Views22K

Эта история началась весной 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 и страдал.

Читать далее
Total votes 74: ↑72 and ↓2+70
Comments26

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

Reading time6 min
Views24K

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

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

Поехали! (╯°□°)╯︵ ┻━┻
Total votes 28: ↑28 and ↓0+28
Comments20
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity