Как стать автором
Обновить
1
0

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

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

Сервер VPN IKEv2 с логином и паролем на MikroTik

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

Эта статья том, как перестать мучиться с сертификатами для IKEv2 и их установкой.

В Интернете есть множество статей и видео по настройке аутентификации IKEv2 с использованием сертификатов. Главная проблема такой конфигурации — необходимость генерации множества сертификатов, доставки и установки их на каждое клиентское устройство. Довольно замороченный процесс, согласитесь?

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

Нужен ли ConfigureAwait?

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

image


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


Одна из многословных конструкций .NET связана с деталями реализации асинхронности и обросла кучей мифов. Про неё спрашивают на собеседованиях, код-ревью, делают обязательной, добавляя в правила линтера. Это .ConfigureAwait(false), сопровождающий каждый await в коде.


В этой статье я расскажу, зачем нужен ConfigureAwait(false) и как обойтись без него.

Читать дальше →
Всего голосов 46: ↑45 и ↓1+59
Комментарии19

Как мы сокращаем время простоя при установке обновлений схемы базы данных. Советы разработчикам

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

Привет! Я работаю в компании Bercut, которая более 20 лет занимается разработкой и поддержкой ПО для операторов сотовой и фиксированной связи. Сегодня я хочу рассказать о наших подходах к сокращению времени простоя продуктивного комплекса при установке обновлений схемы данных на СУБД Oracle. Целевая аудитория — начинающие и продолжающие разработчики, которым интересно узнать о различных вариантах распараллеливания и ускорения работы DDL, DML и прочих штуках, облегчающих процесс отладки и установки.

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

Журнал архитектурных решений (ADL) при проектировании информационных систем

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

Для сложных информационных систем бывает крайне сложно принять компромиссные решения с учетом ограниченных ресурсов. Одним из возможных способов решения является подход Architecture Description Log, который внедрен в крупных компаниях, таких как Google, Spotify и Microsoft. В этой статье мы рассмотрим основные положения ADL и обсудим, чем это может быть полезно для создания сбалансированной архитектуры в гибкой методологии разработки.

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

FAQ про SLO и SLI

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

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

Понятно, что основной источник информации по теме – это Google SRE Book, но книга была опубликована давно, и мне было интересно, что по этой теме есть нового. В основном конспект основан на четырех материалах от Google: Implementing SLO, Art of SLOs (slides), SLO Document, Setting SLO Step by Step. Впоследствии я дополнил их несколькими интересными идеями из выступления Ивана Круглова.

Буду рад замечаниям и дополнениям.

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

Самый простой способ ввести Linux в домен

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

Всем привет!

Термин Microsoft Active Directory Domain Services включает в себя множество технологий, поэтому сразу уточню, в этой статье речь пойдет про использование контроллера домена только для аутентификации пользователей. То есть в финале, нужна возможность любому сотруднику предприятия сесть за любую рабочую станцию Linux, используя свой доменный логин и пароль.

Начиная с Windows 2000 Server для аутентификации пользователей домена используется протокол Kerberos, разработанный еще в 80-х годах прошлого столетия, алгоритм работы которого, ИМХО, являет собой пример отличного инженерного хака, в хорошем (изначальном:) смысле этого слова. В конце статьи есть ссылка на описание его работы, а сейчас надо сказать, что имеется несколько реализаций этого протокола и решение из этой статьи не привязано только к Microsoft Active Directory

Читать далее
Всего голосов 29: ↑26 и ↓3+33
Комментарии37

Пишем расширение Chrome, которое ворует вообще всё

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

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

Мы добьёмся двух целей:

  • Исследуем грани возможного для расширений Chrome
  • Продемонстрируем, что вы подвержены опасности, если не будете аккуратны с тем, что устанавливаете.

Примечание: на самом деле реализация этого расширения — злодейство. Вам не следует использовать в злонамеренных целях полномочия расширений, красть пользовательские данные и создавать зловредные браузерные расширения. Любые реализации, производные расширения или применение этих техник без разрешения Национальной баскетбольной ассоциации не рекомендуются.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+37
Комментарии12

Создаём систему радиоуправления для самодельного самолёта. Ч.1

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров39K
Картинка Viarprodesign, Freepik

У каждого человека есть определённая тема, к которой он испытывает некое иррациональное влечение. У автора этой статьи такой темой является авиамоделирование: на тот момент, когда ещё существовали авиамодельные кружки, автор пришёл в него записываться и ему сказали, что он ещё слишком мал и лучше прийти через пару лет. А через пару лет распался Советский Союз и всем стало совсем даже не до кружков — на дворе наступили «благословенные» 90-е годы…

Однако, «гештальт сам себя не закроет» и автор решил тряхнуть стариной и попробовать собрать свою первую авиамодель (лучше поздно, чем никогда, да и в авиамодельный кружок опять не возьмут — теперь уже по причине старости :-)
Читать дальше →
Всего голосов 75: ↑72 и ↓3+95
Комментарии51

Микросервисные приложения на GoMicro

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

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

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

Динамические тестовые окружения на ArgoCD и Crossplane

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

Всем привет! Хочу поделиться вариантом организации динамических окружений для разработки и тестирования с помощью ArgoCD и применением GitOps подхода на реальном примере.

Статья рассчитана на DevOps инженеров и разработчиков уже хорошо знакомых с инструментами из DevOps стека.

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

Как создать матрицу-компетенций: 6 простых шагов с примерами

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

Меня зовут Иван Ярославцев, я руководитель Alto. Мы разрабатываем сайты, интернет‑магазины, веб‑сервисы на заказ. В статье собрал всю необходимую информацию — от создания матрицы до ее внедрения. Здесь есть пошаговые инструкции, понятные объяснения и полезные советы. На примере нашей компании покажу, что матрица‑компетенций — это простой инструмент. Начать работать с ним можно прямо сейчас, для этого не нужно 100+ часов.

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

8 вещей, о которых забывают разработчики при переносе приложения в Kubernetes

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

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

Наш субъективный список — под катом. Пополните его своими рекомендациями в комментариях!
Читать дальше →
Всего голосов 59: ↑57 и ↓2+72
Комментарии2

Кластер ElasticSearch на 1Ptb+

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

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

На проекте в моем ведении находилось несколько on-premise кластеров в нескольких европейских датацентрах. «Мы» в этой статье — небольшая команда DataOps из 5 человек.

Было дело я читал на Хабре статью про «Кластер Elasticsearch на 200 ТБ+» и примерял написанное к нам, у нас такой кластер считался средним, самый маленький кластер под 0,1Ptb, а большой тогда был под 0,5Ptb. Потом была поставлена задача подготовить кластер к увеличению объемов входящих данных в 2-3 раза, а срок хранения в 2 раза, т. е. объем хранимых данных, если грубо экстраполировать, должен был стать в районе 2-3Ptb.

Хочу поделиться нашим опытом, может кому пригодиться.

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

В какой сказке встречаются Баба Яга и Колобок или сказ о том как мы таск-трекер писали

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

Хочу рассказать про наш опыт разработки системы, которой рано или поздно будет пользоваться скорее всего каждый в нашей организации (а также будут продажи на внешнем рынке) - да, это тасктрекер. Вернее - целая экосистема из тасктрекера, подсистем управления знаниями, тестирования, учета трудозатрат, ну, может в процессе ещё что нибудь придумаем.

Итак, знакомьтесь. Тасктрекер "Яга", целимся импортозаместить Atlassian Jira. Система управления знаниями "Кощей" - закрывает нишу Confluence. "Колобок" (как первый релиз) - вариант более простого трекера (не всем нужна функциональность Jir'ы) - по мотивам Trello.

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

Mysqldump в MySQL

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

Привет! Предлагаем вашему вниманию перевод не новой, но способной оказаться полезной статьи. Автор делится полезными возможностями утилиты Mysqldump.

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

Концепции Rust, которые неплохо бы знать пораньше

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

Весь минувший месяц я глаз не мог оторвать от языка программирования Rust, ведь его конёк – создание современных программ, обеспечивающих безопасную работу с памятью. За прошедшие годы появилось несколько языков, которые позиционировались как «инструмент что надо» для написания надёжного бекенд-софта. Постепенно маятник качнулся от Java/C++ к Go и Rust, выстроенных на многолетних разработках по теории языков программирования. Суть – в создании инструментов, которые были бы эффективны именно в наш век.

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

Наши любимые приложения-помощники в тестировании back-end

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

Всем привет! Меня зовут Константин, и я работаю ведущим тестировщиком в дружной команде back-end компании Solit. Мои коллеги уже не раз делились различными хитростями и ноу-хау, которые они применяют в своих проектах. Я же решил пойти немного другим путём и поделиться с вами набором сервисов и утилит, которые помогают нам прийти к недостижимой цели — работа приложений без дефектов.

 В мою подборку попали те приложения, которые прижились в нашей команде и ими пользуется более одного человека. Конечно, есть очевидные вещи, типа Notepad++. Но есть и более редкие «звери», типа JWT.

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

Приложения для генерации данных

Правильная подготовка тестовых данных — уже половина успешного тестирования. В этом разделе я собрал приложения, которые помогают быстро сгенерировать большие (я бы даже сказал, очень БОЛЬШИЕ) объёмы тестовых данных.

pgCodeKeeper

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

 В нашем случае она прижилась именно как генератор тестовых данных для БД Postgres. Подробнее о том, как он работает, можно прочитать в официальной справке pgCodeKeeper.

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

Монорепозитории: пожалуйста не надо

Время на прочтение10 мин
Количество просмотров55K
От переводчика: Привет, Хабр! Да, это очередная статья о преимуществах и недостатках монорепозиториев. Собирался написать свою статью о том, как мы используем монорепозиторий, как мы переходили с maven на bazel и что из этого получилось. Но пока собирался с мыслями, вышла отличная статья от разработчика из Lyft, которую я и решил для вас перевести. Обещаю опубликовать свои дополнения к статье, а также опыт с bazel в виде продолжения.
Мы в Новом 2019 году, и я настроен на еще одну дискуссию о преимуществах (или отсутствии таковых) в хранении всего исходного кода организации в «Монорепозитории». Для тех из вас, кто не знаком с этим подходом, идея состоит в том, чтобы хранить весь исходный код в едином репозитории системы контроля версий. Альтернатива, конечно, заключается в том, чтобы хранить исходный код в нескольких независимых репозиториях, разделяя их обычно по границе сервисов/приложений/библиотек.

В данном посте я буду называть такой подход «полирепозиторий».
Всего голосов 57: ↑52 и ↓5+47
Комментарии85

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

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

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

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

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

DCSync: особенности выполнения атаки и возможные варианты детектирования, Часть 2

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

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

В предущей статье мы разобрали основы и механизмы работы атаки DCSync, а также рассмотрели несколько наиболее популярных утилит для ее реализации: mimikatz, secretsdump, DSInternals и существующие между ними различия. В результате анализа стало понятно, что у всех утилит прослеживается один и тот же принцип проведения атаки и присутствует одинаковый фактор для ее выявления - DRSReplicaSync.

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

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

Информация

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