Как стать автором
Обновить
-19
0
Bone @Bone

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

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

Разработка фронтенда на основе FSD

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

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

У нас есть небольшой демо-проект - hba-demo-todo-app, доступный для всех желающих. Это минимальная конфигурация, далекая от реальных проектов, но для демонстрации кода я буду использовать именно ее.

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

Как настроить почтовый сервер в Debian и Ubuntu с ispmanager, чтобы защититься от спама

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

Собрал способы по созданию и настройке безопасного почтового сервера на операционной системе Linux Debian 11 bullseye. Основное внимание уделил инструментам борьбы со спамом — таким как Greylisting, DNSBL и SpamAssassin.

Статья также пригодится, если используете операционные системы Ubuntu 22.04.4 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa) и Debian 10 (buster). 

В этой статье рассмотрим:

- Как установить Exim и Dovecot

- Создание почтового домена и электронной почты

- Настройка DNS, rDNS записи и smtp_banner

- Защита от спама

Читать
Всего голосов 6: ↑5 и ↓1+4
Комментарии15

Какой агрегатор нейросетей выбрать?

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

Многие ИИ-сервисы имеют для нас с вами ограничения и это не может не огорчать. Какие-то сервисы требуют только подключения через VPN, например, ChatGPT от OpenAI, а какие-то, например, Claude от Anthropic, просят душных и долгих танцев с бубном, чтобы просто использовать модель.

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

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

Приятного прочтения!

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

Пошаговая инструкция по настройке Яндекс Директа в 2024 году

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

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

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

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

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

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

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

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

Избавляемся от легаси: паттерн «Перехват Событий»

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

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

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

Что такое программирование игр и как стать игровым программистом?

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

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

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

Prompt-engineering: чем полезен SDET-специалистам, или Как оставаться востребованным на рынке в эпоху ИИ

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

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

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

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

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

Учитывая перечисленное, может ли ИИ заменить человека в профессии или снизить востребованность SDET-специалистов на рынке? 

Привет! Меня зовут Дария, я SDET-специалист в компании SimbirSoft и недавно задалась этим вопросом. Как известно, лучший способ познакомиться с новыми технологиями и инструментами — «потрогать их руками», чем я и занялась.

В этой статье хочу поделиться результатом своего исследования. 

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

Как из безголовой CMS сделать полноценную систему управления сайтом

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

Всем привет! Я Леша Кузьмин, руководитель направления Frontend в AGIMA. В этой статье мы подробно рассмотрим безголовые CMS: какие тут есть подводные камни, как быть с архитектурой проектов, интеграциями и динамическими страницами. Посмотрим на управление сайтом не только со стороны разработчиков, но и контент-менеджеров. Бонусом пройдемся по SEO-производительности и настройке серверов.

Будет полезно разработчикам с опытом в Koa, Express, Strapi и частично React. Еще статья пригодится тем, кто любит копаться в документации — я покажу примеры, которые помогут с ней разобраться.

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

Midjourney и промпты для пиксельных артов

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

Привет, чемпионы!

Часто ли вы обращаетесь к Midjourney или Stable Diffusion, чтобы нарисовать фантастический арт? Я да - нравится позалипать пару минут на фантастический арт. Давайте сегодня учиться генерировать подобные пикчи за пару кликов:

Посмотреть промпты
Всего голосов 10: ↑6 и ↓4+3
Комментарии10

Как Apache Arrow поможет управиться JS с большими данными

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

Привет. Меня зовут Николай Шувалов, я занимаюсь коммерческим программированием около семи лет, владею Rust, JavaScript, PHP. Сейчас я работаю в отделе данных билайна. Наша платформа позволяет делиться с партнерами данными, не раскрывая их. Например, можно расширить данные с помощью фильтра Блума. 

Arrow в сравнении со строковыми форматами

Возьмём простую таблицу, которая состоит из трех столбцов: телефона, даты и имени. Рассмотрим, как она будет выглядеть в строковом и столбчатом форматах. Для строкового формата мы возьмем csv и json, для столбчатого формата структура будет одинаковой. Если же таблица состоит, например, из миллиона строк, а нужно получить имя на строке с номером 10 000, то придется бежать по всей строчке. В json то же самое. А в столбчатом формате ситуация иная — значения привязаны к столбцам. Когда мы хотим получить имя на строке 10 000, то сразу обращаемся к этому столбцу и получаем все его данные. 

Существуют RA (random access) файлы, в которых можно пропускать заданное количество строк, но все равно парсеру нужно читать и анализировать пройденные строчки.

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

Как поднять уровень анализа вашего Laravel-приложения с 0 до 9 в Larastan

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

Larastan позволяет найти ошибки в вашем Laravel-приложении еще до его запуска. Он представляет собой обертку PHPStan, предназначенную специально для статического анализа с поддержки всей магии внутри Laravel.

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

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

Как продвигать бизнес в 2024 году с помощью ПромоСтраниц и Дзена. Подробное руководство

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

Каждый руководитель считает, что в его IT-компании работают гениальные программисты, которые создают волшебный код. Но вот клиенты об этом не всегда в курсе. И чтобы их просветить, нужно заниматься личным брендом и транслировать экспертность. Желательно, как можно шире и быстрее. Времени ждать пару лет, пока наши статьи наберут критическую массу и сами раскрутятся, у нас нет. Иногда проще просто заплатить и их прочитают. Тут мы входим на территорию контент маркетинга. И это моя тема, ребята :-)

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

Почтовый сервер с нуля. Часть первая

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

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

В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.

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

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

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

Привет, Хабр! Меня зовут Тимур уже два года я развиваю в HFLabs продукт «Центр управления согласиями» для энтерпрайза. Тема эта интересная, болезненная и острая одновременно, ведь персональные данные собирает не только крупный бизнес, а вообще все. Любой сайт — от продажи крафтового печенья до крупного автодилера и страховой компании — имеет если не форму регистрации, то анкету для подписки на новости уж точно. 

Когда-то я уже делал разбор форм ввода персональных данных на разных сайтах. Выяснил, что часто они сделаны «как исторически сложилось», а не как требуется. Грешат этим не только небольшие компании, но и крупные игроки — например, банки.

Если сайт сделан N лет назад и на CMS (а такое встречается сплошь и рядом), то нередко используется стандартный инструментарий самой CMS. Плюс фантазия заказчика, умноженная на осведомленность разработчика о том, как сделать эти самые формы регистрации. Получается, как смогли, так и сделали. 

Мы подготовили инструкцию, как самостоятельно настроить формы ввода. Для примера взяли CMS «1С-Битрикс: Управление сайтом» и в основном ту самую стандартную функциональность CMS. Материал будет полезен web-студиям и отдельным web-мастерам, а также всем, кто так или иначе работает с согласиями — пусть и в других системах. Расскажем, как формы должны выглядеть и как объяснить заказчику, почему предпроставленная галочка — это не очень хорошо. 

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

Prompt engineering — путь к эффективной работе с ChatGPT

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

Привет, Хабр! Меня зовут  Илья Козырёв, я — CTO и Co-Founder в Raft. Много работал в консалтинге в сфере ритейла и фармацевтики, имею экспертизу в обработке данных, специализируюсь на ML/AI. А ещё я — участник опенсорсного продукта по обработке данных Apache Beam, помогаю запускать продукт по ценообразованию.

В этой статье расскажу, как эффективно работать с ChatGPT в разных задачах и архитектуре. Многие пробовали, но не у всех получилось.

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

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок

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

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

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

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

Применение чистой архитектуры в Go

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров14K


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

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

Большинство этих инструментов – это частности, и выбор большинства из них (кроме языка программирования) можно на некоторое время отложить, пока проект не окрепнет. Поэтому на ранних этапах разработки проекта стоит уделить внимание не тому, при помощи каких инструментов пойдёт реализация. Лучше смоделировать предметную область проекта, а к вышеупомянутым инструментам подходить так, как следует — то есть, как к частностям. Разумеется, чтобы проект был реализован, с такими деталями тоже нужно определиться, но они могут оставаться в некоторой отдельной части кода, не относящейся к предметной области — там, где их будет легко менять, удалять или заменять по нашему усмотрению.

Для решения именно таких проблем с сильной связностью кода многоопытные инженеры создали ряд архитектурных паттернов. Таковы, в частности, чистая архитектура Роберта Мартина («дядюшки Боба»), гексагональная архитектура Алистера Кокбёрна и явная архитектура Герберто Грацы.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+31
Комментарии5

AI-тренер, нейровоспитатель, ассесор, крауд и разметчик — кто все эти люди и в чем разница?

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

Многие компании в последнее время ввели должность «ИИ-тренера» (AI-тренера), при этом просто разметчики/ассесоры никуда не делись. Что это — просто красивая обертка нейминга над тем же самыми или что-то концептуально новое?

Давайте попробуем в этом разобраться и однозначно ответить на вопрос о различиях.

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

Как создать мультидокументный ридер и чат-бот с помощью LangChain и ChatGPT

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность