Как стать автором
Обновить
1
0
Юрий Воронин @yuri_voronin

Веб-разработчик

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

Основы Identity and Access Management (IAM) в архитектуре приложений

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

Привет, Хабр!

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

Identity and Access Management (IAM) выступает как наша первая линия обороны. Оно не просто защищает наши данные, но и гарантирует, что правильные люди имеют доступ к нужной информации в нужное время. Каждая вторая транзакция в мире происходит онлайн, безопасность становится не просто приоритетом, а необходимостью.

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

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии8

Мониторинг FastAPI-приложения с помощью Grafana и Prometheus — пошаговое руководство

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

Мониторинг играет решающую роль в обеспечении производительности, доступности и стабильности FastAPI-приложений. Отслеживание ключевых показателей и выявление потенциальных проблем поможет разработчикам вовремя принимать решения и улучшить его работу. В этом гайде мы рассмотрим, как настроить мониторинг FastAPI-приложения с помощью двух мощных инструментов: Grafana и Prometheus.

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

Как сделать свой AnythingGPT, отвечающий на вопросы так, как вам это необходимо (Python, OpenAI Embeddings, ChatGPT API)

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

Всем привет! Недавно я на практике применил одно интересное решение, которое давно хотел попробовать, и теперь готов рассказать, как своими руками такое можно сделать для любой другой аналогичной задачи. Речь пойдет о создании своей кастомизированной версии ChatGPT, которая отвечает на вопросы, учитывая большую базу знаний, которая по длине не ограничивается размером промта (то есть вы бы не смогли просто добавить всю информацию перед каждым вопросом к ChatGPT). Для этого будем использовать контекстные эмбеддинги от OpenAI (для действительно качественного поиска релеватных вопросов из базы знаний) и сам СhatGPT API (для оборачивания ответов в натуральный человеческие ответы). При этом, также предполагается, что ассистент может отвечать не только на прямо указанные в Q&A вопросы, но и на такие вопросы, на которые смог бы отвечать человек, который ознакомился с Q&A. Кому интересно научиться делать простых ботов, отвечающих по большой базе знаний, добро пожаловать под кат.

Под кат
Всего голосов 12: ↑12 и ↓0+12
Комментарии15

ML5.JS — это как TensorFlow только без нижних уровней

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

На Хабре есть уже множество статей об крутой библиотеке TensorFlow.js, но я так и не смог найти что-то об ml5.js - это как TensorFlow, только здесь не надо заботиться об нижних уровнях нейросети. К слову ml5.js не хуже TensorFlow, просто эта библиотека уже больше подходит для каких-то упрощенных проектов где не требуется внедрять нейронную сеть с контролем например: тензоров или оптимизитаров. Да и сама библиотека ещё хорошо подойдет для тех кто ещё свой путь в машинном обучении.

И об этом сегодня и пойдет речь в нашей статье, где мы рассмотрим функционал ml5.js, рассмотрим какие примеры уже есть и как вообще работает код библиотеки. Поэтому, начинаем кодить.

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

20 часов оптимизаций, вживую

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

Всем привет.

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

А славы и света софитов хочется-то! 

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

И я попробовал.

За последние три месяца записал 10 двухчасовых стримов на темы которые разобрал за время своей карьеры. Получалось по-разному, стрим такой формат, где очень много  может пойти не так, а я его еще и усложнил для себя лайвкодингом. Временами что-то шло не так, но, если честно, я даже удивлен, что за 20 часов эфира у меня не случилось ничего действительно катастрофического, после чего я бы стал искать кнопку “удалить канал” и гуглить смену фамилии.

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

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии8

Создаем glitch-эффект как в Cyberpunk 2077 для изображения с помощью CSS

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

Зайдя на сайт Cyberpunk 2077 в раздел новостей, я наткнулся на "тот самый" эффект. Он появлялся при наведении на изображение поста. Мне показалось это интересным и я решил посмотреть как это работает. В этом посте я хотел бы поделиться тем, что нарыл.

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

Пять книг, которые изменили мою карьеру программиста

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

"Читатель проживает тысячу жизней, прежде чем умрет.. Человек, который никогда не читает, проживает только одну "

- Джордж Р.Р. Мартин.

Читать далее
Всего голосов 41: ↑37 и ↓4+33
Комментарии30

Разработка .NET Web приложения на Yandex Cloud Functions

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

Яндекс Облако предоставляет возможность публикации .NET приложений разными способами, типичным из которых является docker контейнер, развернутый на созданных вычислительных ресурсах, что подразумевают оплату за выделенные процессоры и оперативную память. Более экономный вариант предоставляют serverless сервисы Cloud Functions и Serverless Containers, где оплата идет по фактически потребленным ресурсам, масштабирование осуществляется самим облаком. Контейнеры хороший вариант разработки, но более простым и легковесным является Cloud Functions.

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

Чем заняться тимлиду, если не кодить? Рассказываю о своих задачах

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

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

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

Я составил список своих задач и разбил их на категории. Кстати говоря, добрую половину этих задач я повесил на себя сам.

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

Ionic Capacitor Vite, Vue (в 4-х частях)

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

Capacitor — это нативный рантайм с открытым исходным кодом для создания приложений Web Native. Создавайте кроссплатформенные iOS, Android и Progressive Web Apps (PWA) с помощью JavaScript, HTML и CSS.

Vite — это инструмент сборки, цель которого — обеспечить более быструю и экономную разработку современных веб-проектов. Он состоит из двух основных частей: сервер dev и команда build. 

За 8 минут я объясняю, как создать проект vue js с помощью vite, преобразовать его в мобильное приложение и развернуть его на симуляторе с live-reload для эффективного процесса разработки.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии1

React. Лёгкий способ бросить курить

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

Писать кнопочки и формочки на React - дело не хитрое. Но почти всегда фронтовые проекты превращаются в нечто трудночитаемое и едва ли поддерживаемое. Визуально различия проектов на React и JQuery со временем сохраняются, а вот developer experience с точки зрения трудозатрат на поддержку становится примерно одинаковым.

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии73

Автоматическая генерация лога изменений проекта с помощью GitLab

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

В этой небольшой статье поговорим о том, что такое лог изменений проекта, зачем он нужен и как можно автоматизировать его генерацию с помощью GitLab.

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

Аудиозвонки через I2P. Mumble

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

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

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии22

Очень интересная библиотека JS: распознавание символов, введённых с дисплея вашего смартфона на сайте

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

Ссылка на github

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

Очень простая библиотека JavaScript, которая распознаёт ваши рисунки на мобильной версии сайта.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии3

Бесплатные хостинги для веб-разработчиков

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

Привет, Хабр!

Одним из наиболее популярных направлений разработки сегодня является веб. И когда нужно разместить свой проект где-нибудь, кроме localhost, многие сталкиваются с трудностями, ведь хостинг должен быть быстрым, удобным и, желательно, бесплатным :)

В этом списке вы найдете 15 бесплатных сервисов, где легко сможете разместить свой проект и не заплатите ни копейки. Погнали!

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

20 небольших, но вдохновляющих вызовов веб-разработчику

Время на прочтение7 мин
Количество просмотров21K
Специально к старту нового потока курса «Frontend-разработчик» делимся переводом подборки с 20 проектами для освоения фронтенда. Эта подборка хорошо подходит, если вы хорошо знакомы с какой-то областью разработки ПО и хотите глубже копнуть во фронтенд. Также она прекрасно подходит людям, которые не хотят начинать знакомство с фронтендом со стандартных проектов. Проекты довольно небольшие, и у каждого указан уровень сложности. С помощью этих проектов вы ознакомитесь с Tone.js — обёрткой над Web Audio, освоите необычно мягкую смену темы со светлой на темную, и наоборот, а почти в конце ждёт самое вкусное — управляемая голосом векторная графика SVG.


Приятного чтения!
Всего голосов 42: ↑35 и ↓7+28
Комментарии18

Анатомия юнит-теста

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

Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.

В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). Затронем именование юнит-тестов. Автор книги описал распространенные советы по именованию и показал, почему он несогласен с ними и привел альтернативы.

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

Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама

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

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

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

Последовательное применение этих принципов упростит ваш переход от миддла к сеньору. Вы можете обнаружить, что некоторые (вероятно) вы применяете интуитивно.

Принципов много. Мы остановимся на семи самых важных. Их использование поможет вам в развитии и позволит стать лучшим программистом.

1. YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

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

Этот принцип применим при рефакторинге. Если вы занимаетесь рефакторингом метода, класса или файла, не бойтесь удалять лишние методы. Даже если раньше они были полезны – теперь они не нужны.

Может наступить день, когда они снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии9

Трюки CSS, которые сделают из вас ниндзя верстки

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

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


Многие свойства, о которых пойдет речь, являются экспериментальными. Большинство из них поддерживаются всеми современными браузерами, однако, если вы решите использовать какое-либо из названных свойств в продакшне, не поленитесь зайти на Can I use и уточнить поддержку (недавно сильно расстроился, обнаружив, что Safari не поддерживает атрибут loading="lazy").


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


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


Итак, вы готовы к нашему небольшому путешествию в удивительный и почти безграничный мир CSS? Тогда вперед.


grid + place-items


Здесь вы найдете полное визуальное руководство по Grid и Flexbox.


Данная техника позволяет выравнивать элементы по горизонтали и вертикали при помощи всего лишь двух строк кода.

Всего голосов 37: ↑35 и ↓2+33
Комментарии7

CSS: системные цвета, шрифты и кое-что ещё

Время на прочтение4 мин
Количество просмотров9K
Думаю, все мы, в целом, знакомы с таким способом описания CSS-цветов:

color: OldLace;
background: rebeccapurple;

Полагаю, их обычно называют «именованными цветами».



Но конкретные цвета, одни и те же в любой ситуации, к которым можно обращаться по именам, это — далеко не единственный вид особых CSS-цветов. Есть ещё одна разновидность подобных цветов. Их имена связаны с цветами уже не так однозначно. Речь идёт о так называемых «системных цветах». Джим Нильсен опубликовал потрясающий материал на эту тему. Вот, что он пишет:

Мне нужна возможность выразить следующее: «Эй, браузер! Используй для выпадающего списка тот же тёмный цвет (или тот же светлый цвет, если страница оформлена с помощью светлой темы), который ты применяешь для фонового цвета документа». Мне нужен доступ к чему-то наподобие переменной, которая указывает именно на тот «тёмный», который использует браузер.
Всего голосов 26: ↑26 и ↓0+26
Комментарии4
1
23 ...

Информация

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