Pull to refresh
-1
0
NULL_byte @NULL_byte

Web

Send message

Что такое SWOT-анализ и чем он полезен в проектах

Level of difficultyEasy
Reading time5 min
Views12K

SWOT-анализ — метод стратегического планирования. Он представляет собой анализ четырёх групп факторов, которые влияют на компанию/проект: сильные стороны (strengths), слабые стороны (weaknesses), возможности (opportunities) и угрозы (threats).

Читать далее

Композиционный анализ при помощи CodeScoring

Level of difficultyMedium
Reading time15 min
Views2.6K

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

В статье рассмотрим внедрение CodeScoring Johnny применительно к Azure DevOps Server в процесс анализа запросов на вытягивание (pull requests) для целей композиционного анализа.

При написании этой статьи я вновь пришел к мысли, что каждый ИТ-шник и ИБ-шник должен быть хоть чуточку разработчиком для более эффективного решения своих задач

Поехали!

REST vs gRPC. Межсервисная интеграция для начинающих

Level of difficultyEasy
Reading time10 min
Views33K

Привет! Меня зовут Максим Соколов, я — аналитик в команде “Управление доступностью товаров и категорий”. В нашей команде была выделена отдельная подгруппа, которая создавалась специально под новый продукт-фичу для селлеров. Сразу стало понятно, что для реализации нового функционала требуется разработка нового микросервиса. Командой разработки было принято решение интегрироваться по gRPC, но мне до конца не было понятно, почему выбор именно такой. И тут я решил разобраться подробнее!

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

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

На свете много статей про проектирование API, в которых описаны архитектурные стили, протоколы, технологии. Информации — огромное количество, иногда она даже противоречивая, поэтому новичку тяжело подступиться к теме.

В этой статье я хочу дать точку входа для джун/мидл системных аналитиков, которые хотят разобраться в межсервисной интеграции. Мы пройдёмся по HTTP, REST, RPC и gRPC, разберёмся в их значениях. Выясним, почему эти аббревиатуры появляются, когда происходит проектирование API, и попробуем понять, когда и что следует применять.

Также по ходу статьи буду оставлять ссылки на хорошие (по моему мнению) статьи для более глубокого погружения в поднимаемые темы.

Читать далее

Что такое архитектурная модель зрелости компании?

Reading time7 min
Views10K
image
Работая с различными компаниями невозможно не обратить внимание, что процессы построены по разному в разных компаниях. В одной компании процессы идеальные или близки к идеальным, в другой же компании приходится ожидать достаточно продолжительное время реакции на запрос. В этой ситуации очень легко разделить компании на плохие и хорошие, но это очень просто, а что просто не всегда правильно. Уже обучаясь на архитектора решений и проводя исследование по метрики качества Maturity — Зрелость, я нашла описание очень простого и понятного подхода к классификации компаний в зависимости от процессов. Этим подходом я делюсь с вами в моем переводе статьи «What is Enterprise Architecture Maturity Model?» или «Что такое архитектурная модель зрелости компании?»

Характеристики уровней зрелости:


Уровень 5: Оптимизированный — фокус на улучшении процессов
Уровень 4: Управляемый — процессы измеряются и контролируются
Уровень 3: Установленный — процессы уровня организации, достаточно проактивные (проекты адаптируют свои процессы согласно стандартам организации)
Уровень 2: Повторяемый — процессы уровня проектов и реагирующие на изменения более гибко
Уровень 1: Начальный — процессы не предсказуемы, слабо контролируемы и инертны к изменениям
Читать дальше →

Тестирование документированного API с помощью утилиты Dredd от Apiary

Reading time23 min
Views13K

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


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


image


В этом tutorial поговорим о утилите Dredd на примере API от GitHub.

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

Форматы ORC и Parquet на базе HDFS

Level of difficultyEasy
Reading time10 min
Views8.1K

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

У нас получилось! Мы снизили количество данных на диске в 3 раза, при этом ускорив их обработку. И сейчас расскажу как. Меня зовут Александр Маркачев, я Data Engineer команды Голосовой Антифрод в beeline. В статье затронем тему форматов ORC и Parquet, как их правильно использовать и хранить, чтобы всем было хорошо.

Читать далее

Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки

Level of difficultyMedium
Reading time43 min
Views24K

Моя полная петиция на грин-карту по программе талантов EB-1A. 557 страниц, 7 критериев, одобрена с первой попытки без RFE. Все мои рассуждения по выбору критериев, подготовке и описанию доказательств, переводам, оформлению и отправке.

Читать далее

Задача о банкомате

Level of difficultyMedium
Reading time12 min
Views19K

Рассмотрим одну задачу, которая на leetcode маркирована как "medium", хотя на самом деле это невероятно сложная задача. Примечательна она тем, что допускает в разной степени оптимальные решения, самые упрощённые из которых действительно весьма просты, а самые оптимальные ещё не найдены современной наукой. В этой задаче ценно то, что на её примере можно изучать целый ряд техник программирования.

Читать далее

Специфицируй это. Доклад Яндекса

Reading time16 min
Views19K
Хорошая спецификация к API помогает клиентам его использовать. Несколько месяцев назад на большом Pytup разработчик Яндекса Александр Брязгин bryazginnn выступил с докладом о том, что собой представляет спецификация REST API на примере OpenAPI + Swagger и зачем нужна такая связка. Из конспекта можно узнать, как мы прикручивали автоматическую генерацию спецификации в уже готовом сервисе, какие библиотеки нам пригодились и какой есть тулинг вокруг спецификации OpenAPI.


— Всем привет, меня зовут Александр. Я хотел бы поговорить с вами про спецификации.
Читать дальше →

Управление высокодоступными PostgreSQL кластерами с помощью Patroni. А.Клюкин, А.Кукушкин

Reading time62 min
Views161K

Расшифровка доклада/tutorial "Управление высокодоступными PostgreSQL кластерами с помощью Patroni". А.Клюкин, А.Кукушкин


Patroni — это Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации. Оно используется такими компаниями как Red Hat, IBM Compose, Zalando и многими другими. С его помощью можно преобразовать систему из ведущего и ведомых узлов (primary — replica) в высокодоступный кластер с поддержкой автоматического контролируемого (switchover) и аварийного (failover) переключения. Patroni позволяет легко добавлять новые реплики в существующий кластер, поддерживает динамическое изменение конфигурации PostgreSQL одновременно на всех узлах кластера и множество других возможностей, таких как синхронная репликация, настраиваемые действия при переключении узлов, REST API, возможность запуска пользовательских команд для создания реплики вместо pg_basebackup, взаимодействие с Kubernetes и т.д.


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


  • область применения: какие задачи HA успешно решаются Patroni
  • обзор архитектуры
  • создание тестового кластера
  • утилита patronictl
  • изменение конфигурации PostgreSQL для кластера, управляемого Patroni
  • мониторинг с помощью API
  • подходы к переключению клиентов
  • дополнительные возможности: ручное переключение, перезагрузка по расписанию, режим паузы
  • настройка синхронной репликации
  • расширяемость и универсальность
  • частые ошибки и их диагностика

[в закладки] PDF-версия статей про Bash-скрипты

Reading time1 min
Views50K
Привет Хабр! Летом мы переводили цикл статей про Bash-скрипты — судя по отклику, статьи оказались для вас полезными. И, по многочисленным просьбам, мы решили сделать PDF-версию перевода.



Подробности под катом.
Читать дальше →

Практическое руководство по TypeScript для разработчиков

Reading time10 min
Views98K

Представляю вашему вниманию перевод статьи "Working With TypeScript: A Practical Guide for Developers".


Что такое TypeScript?


TypeScript — это популярный статический типизатор (static type checker) или типизированное надмножество (typed superset) для JavaScript, инструмент, разработанный Microsoft и добавляющий систему типов к гибкости и динамическим возможностям JavaScript.


TypeScript развивается как проект с открытым исходным кодом, распространяется под лицензией Apache 2.0, имеет очень активное и высокопрофессиональное сообщество, а также огромное влияние на экосистему JavaScript.


Установка TypeScript


Для того, чтобы начать работу с TypeScript, нужно либо установить специальный интерфейс командной строки (command line interface, CLI), либо воспользоваться официальной онлайн-песочницей или другим похожим инструментом.

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

API Style Guide, или не заставляйте пользователей думать

Reading time9 min
Views14K


Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API.

Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтобы разработчики строили свои решения на базе Wrike, а для этого нужно, чтобы наш API был удобным. При этом у нас 9 офисов по всему миру, и 3 из них — офисы разработки. Довольно сложно создавать консистентный API силами распределённых команд, которые говорят на разных языках. Растёт вероятность того, что их решения начнут противоречить друг другу. В этом случае не обойтись без единого для всех набора правил.

Если вы тоже работаете распределённо и делаете свой API, то API Style Guide может вам помочь. Я хочу рассказать, какие распространённые проблемы он решает и как облегчает жизнь разработчикам. Также поделюсь своим опытом по написанию и внедрению собственного API Style Guide в компании.
Читать дальше →

Как начинать проект на Go в 2023 году

Reading time14 min
Views25K

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

Читать далее

Как поднять почтовый сервер mailcow

Level of difficultyEasy
Reading time5 min
Views26K

Немного почтового сервера вам в ленту

Хочу поделиться своим опытом поднятия почтового сервера для личных нужд!
Бывает хочется сделать что-то эдакое, вот и получилась эта статья и личная почта.

Читать

Как растить мышцы двумя тренировками в неделю? Подход для людей с полной занятостью и готовый план на 2 дня

Reading time9 min
Views197K

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

Только вот некоторые культурные и даже профессиональные мифы повышают порог вхождения в тренажерный зал. Взращивают ментальный барьер, к которому нужно морально готовиться, настраиваться и из-за этого постоянно откладывать начало тренировок. Один из таких барьеров — время. Многие думают, что тренировки обязательно должны быть продолжительными, чтобы быть эффективными. Второй барьер — утомление. Не редко можно услышать что-то из разряда “не устал = не потренировался”, “не болит = не растет”.

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

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

Читать далее

PostgreSQL Antipatterns: когда мешает внешний ключ

Reading time5 min
Views19K

Внешние ключи (foreign keys) - мощный и удобный механизм контроля логической целостности данных в базе. Но он бывает не только лишь полезен, и может неплохо пригрузить вашу БД.

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

Читать далее

Под капотом Госуслуг: про СМЭВ3 от первого лица

Level of difficultyEasy
Reading time7 min
Views43K

Привет ИТ-сообщество! Я Анастасия Пятько, аналитик-внедренец из РТЛабс. Это компания, которая развивает всем известные Госуслуги и пытается облегчить нашу бюрократическую жизнь.

Недавно мне довелось выступить на HighLoad++ 2022 с похожей темой: «СМЭВ. Сильно проще, чем кажется. Полезные советы, как стартовать интеграцию через СМЭВ3 и СМЭВ4». Организаторы знают своё дело. В зале была заинтересованная аудитория, которая задавала вопросы с неподдельным интересом. С некоторыми разговор у стенда продолжался ещё несколько часов. Так родилась идея — зафиксировать всё текстом в этой статье.

Читать далее

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity