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

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

Как выучить что угодно в 7 раз быстрее и эффективнее

Время на прочтение 4 мин
Количество просмотров 102K
Читальный зал Научно-популярное Изучение языков

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

Удивительно, но такое средство было найдено в 1990 году американским социологом Майклом Хоу. Он провел серию тестов среди студентов и определил, что пользователи «волшебного средства» в 7 раз лучше запоминали материал, легко вспоминали факты и легко применяли знания на практике.

Тот, кто использовал «волшебное средство» был наголову выше обычных студентов. «Обычные» хуже помнили материал и хуже его понимали, более того, даже одаренные отличники были слабее тех, кто использовал это «волшебное средство».

Это удивительное средство...

Читать далее
Всего голосов 165: ↑118 и ↓47 +71
Комментарии 124

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

Время на прочтение 7 мин
Количество просмотров 16K
Блог компании ITSumma Высокая производительность *Системное администрирование *IT-стандарты *Серверное администрирование *


Как известно, нельзя управлять тем, что не измеряешь. В контексте IT-проектов это означает необходимость мониторинга всех частей проекта: от утилизации CPU до бизнес-показателей вроде количества заказов в интернет магазине или показов баннеров на сайте.

Чтобы сервис работал стабильно и техническая поддержка могла в режиме 24/7 быть эффективной, нужно собирать метрики, визуализировать их динамику (в дашбордах и графиках), анализировать результаты и работать с инцидентами — желательно до того, как они стали инцидентами. Однако мониторинг мониторингу рознь. Он выполняет свою функцию, если система:

1) отслеживает метрики, которые нужны для принятия решений, и не мониторит лишнее;
2) уведомляет, когда ещё можно что-то сделать без последствий для работоспособности сервиса, но не спамить ложной тревогой.

Звучит просто и логично, но на практике найти баланс не всегда легко.

Эта статья будет первой в серии заметок о том, как мы организуем мониторинг у наших 400+ клиентов. Расскажем, какие метрики снимаем, каких методологий придерживаемся и какие алерты видим каждый день.
Читать дальше →
Всего голосов 37: ↑37 и ↓0 +37
Комментарии 1

Как не проиграть с производительностью в длительном скроллинге

Время на прочтение 12 мин
Количество просмотров 3.4K
Блог компании Bimeister Разработка веб-сайтов *Программирование *Angular *TypeScript *
Туториал

Меня зовут Михаил Кириченко. Я разрабатываю клиентскую часть в компании Bimeister.

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

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

Как защититься от сканирования портов и Shodan?

Время на прочтение 5 мин
Количество просмотров 9.8K
Информационная безопасность **nix *Серверное администрирование *

Серверы в опасности!

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

Это может быть перебор портов с целью найти открытые от какой-то компании, которая позиционирует себя борцом за безопасность, но которая собирает статистику открытых портов на будущее по всем доступным IP (например Censys).

Может быть Shodan, который тоже собирает базу о том, где какие порты открыты, и отдаёт эту информацию любому заплатившему. И могут быть менее известные компании, которые работают в тени. Представьте, кто-то ходит по всем домам и переписывает модели замков входных дверей, дергает за дверь и выкладывает это в публичный доступ. Дичь! Но тоже самое происходит в интернете тысячи раз в секунду.
Кроме компаний могут быть бот-сети, перебирающие порты для поиска чего-то конкретного или для подготовки к целевым атакам.

Ну и собственно целевые атаки, во время которых ваши серверы в первую очередь тестируются на наличие открытых портов, а затем производятся атаки на найденные сервисы. Это может быть подбор эксплоитов для использования известных дыр или пока неизвестных 0-day, как и обычный DDoS.

Во всех этих сценариях используется предварительный перебор открытых портов. Скорее всего применение nmap или подобных утилит в каких-то скриптах.
Как защитить сервер от сканирования портов без CloudFlare и подобных прослоек?

Как стать невидимым для Shodan, Censys?
Всего голосов 13: ↑8 и ↓5 +3
Комментарии 24

Angular Universal: работа в крупном e-commerce

Время на прочтение 10 мин
Количество просмотров 4.1K
Блог компании LENTA:U TECH JavaScript *Angular *TypeScript *
Из песочницы

Привет, меня зовут Дмитрий Дружков, я тимлид фронтенд команды в Утконос Онлайн. В этой статье я расскажу, чем полезен Angular Universal в e-commerce проектах, как выбрать вид рендеринга, как выглядит первоначальная настройка технологии на примере нашего сайта и шаги по ускорению, а также раскрою плюсы и минусы Universal. Статья будет интересна тем, кто:

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

Как задавать требования к качеству ПО в цифрах?

Время на прочтение 26 мин
Количество просмотров 21K
Тестирование IT-систем *Анализ и проектирование систем *Подготовка технической документации *

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

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

Но в мире честных, открытых отношений выгоднее заранее обсудить эти аспекты, чем потом с удивлением спорить при сдаче, что система тормозит, в ТЗ про это ничего не сказано, «вы же профессионалы» и всё такое.

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

При этом остаётся прагматический вопрос — а что именно писать в требования, чтобы они были полезными, измеримыми, реализуемыми?

С точки зрения системной инженерии, требования к качеству программной системы являются разновидностью системных ограничений (constraints) и в этом они отличаются от требований к способностям (capabilities) системы, в мире ИТ обычно называемых «функциональными».

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

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

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

Как избежать 10 частых ошибок в настройке NGINX

Время на прочтение 17 мин
Количество просмотров 37K
Блог компании Nixys Nginx *Серверное администрирование *DevOps *
Перевод


Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть даже у самих инженеров NGINX! В этой статье рассмотрим 10 наиболее распространенных ошибок и объясним как их исправить.


  1. Недостаточное количество файловых дескрипторов;
  2. Директива error_log off;
  3. Отсутствие keepalive-соединения с вышестоящими серверами;
  4. Упущение механизмов наследования директив;
  5. Директива proxy_buffering;
  6. Неправильное использование директивы if;
  7. Чрезмерные проверки работоспособности;
  8. Незащищенный доступ к метрикам;
  9. Использование ip_hash, когда весь трафик поступает из одного и того же блока /24 CIDR;
  10. Игнорирование преимуществ вышестоящих групп.
Читать дальше →
Всего голосов 70: ↑70 и ↓0 +70
Комментарии 3

Запуск фоновых задач в asp.net core

Время на прочтение 10 мин
Количество просмотров 25K
Программирование *.NET *ASP *C# *
Туториал

Небольшой обзор стандартных средств запуска бэкграунд-задач в аспнет приложениях — что есть, чем отличается, как пользоваться. Встроенный механизм запуска таких задач строится вокруг интерфейса IHostedService и метода-расширения для IServiceCollection — AddHostedService. Но есть несколько способов реализовать фоновые задачи через этот механизм (и ещё несколько неочевидных моментов поведения этого механизма).

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

220 платежей в секунду: выдержать нельзя упасть

Время на прочтение 9 мин
Количество просмотров 8.9K
Блог компании Ozon Tech Высокая производительность *Анализ и проектирование систем *Проектирование и рефакторинг *

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

Я разрабатываю сервисы в команде платежей Ozon. Мы много времени уделяем тому, чтобы все транзакции были обработаны корректно, даже если речь идёт о нагрузке в 2к платежей в минуту (именно столько у нас было в пике в период ноябрьских распродаж). Кстати, сейчас, по результатам нагрузочного тестирования, мы выдерживаем 13к платежей в минуту.

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

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

Локальные репозитории пакетов

Время на прочтение 12 мин
Количество просмотров 8.9K
Системное администрирование **nix *Системы сборки *

Всем привет! Сегодня хочу поделиться нашими мыслями относительно того, как защититься от санкций палок в колёсах в современных условиях. Собственно, что мы имеем ввиду? Речь идёт о том, что в крупных проектах часто есть единые точки отказа в процессах CI/CD, это может быть как простой репозиторий кодом, так и различные конвеерные системы сборки кода и доставки его в рабочие окружения. Если мы говорим про системный софт, то его можно просто перестать обновлять, запретить ему ходить "наружу", но в данной статье мы поговорим про внешние репозитории с кодом.

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

cors-anywhere на чистом конфиге nginx

Время на прочтение 5 мин
Количество просмотров 13K
Nginx *API *
✏️ Технотекст 2021

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

Не одним CORS едины
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 12

Уязвимости из-за обработки XML-файлов: XXE в C# приложениях в теории и на практике

Время на прочтение 17 мин
Количество просмотров 5.2K
Блог компании PVS-Studio Информационная безопасность *Программирование *.NET *C# *

Как простая обработка XML-файлов может стать дефектом безопасности? Каким образом блог, развёрнутый на вашей машине, может стать причиной утечки данных? Сегодня мы ответим на эти вопросы и разберём, что такое XXE и как эта уязвимость выглядит в теории и на практике.


0918_XXE_BlogEngine_ru/image1.png

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

5 проблем продвижения IT-компаний и их решения

Время на прочтение 7 мин
Количество просмотров 5.8K
Клиентская оптимизация *Интерфейсы *Веб-аналитика *Управление продуктом *Управление продажами *
Recovery mode

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

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

Модель будущего при проектировании ИТ-систем

Время на прочтение 8 мин
Количество просмотров 1.9K
Анализ и проектирование систем *Бизнес-модели *

В статье показана важность учёта будущего развития бизнеса при проектировании системы.

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

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

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

Как составить личный финансовый план на 2022 год. Часть 1

Время на прочтение 5 мин
Количество просмотров 9.5K
Управление проектами *Фриланс Учебный процесс в IT Научно-популярное Финансы в IT

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

Если вы читаете статью только ради финансовой модели, то она лежит здесь (см. таблицу).

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

Делаем доступ к базе данных MongoDB защищенным

Время на прочтение 14 мин
Количество просмотров 8.5K
Блог компании OTUS MongoDB *
Перевод

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

Однако все может быть по-другому. Есть множество мер, которые вы можете предпринять для обеспечения безопасности ваших данных в MongoDB — от защиты периметра сети до включения Strict-Transport-Security, чтобы использовать такие фичи, как расширенное управление пользователями в MongoDB и систему контроля доступа на основе ролей (Role-Based Access Control — RBAC).

В этой статье мы рассмотрим некоторые из наиболее популярных способов защиты кластера MongoDB.

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

Верите ли вы в бога надежности?

Время на прочтение 9 мин
Количество просмотров 3.1K
Блог компании Домклик Разработка веб-сайтов *Программирование *

Всем привет!

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

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

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

Nginx. О чем не пишут в книгах

Время на прочтение 9 мин
Количество просмотров 43K
Настройка Linux *Системное администрирование *Nginx **nix *C *
✏️ Технотекст 2021

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

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса
Всего голосов 86: ↑86 и ↓0 +86
Комментарии 11

Архитектура плагинов в приложениях Angular

Время на прочтение 14 мин
Количество просмотров 3.2K
Angular *TypeScript *
Из песочницы

Концепция плагинов всегда была популярной и продуктивной в области разработки программного обеспечения. Масштабируемость и возможность коллективной разработки необходимы для приложений уровня предприятия, когда каждая команда разработчиков может представлять своё направление бизнеса и разрабатывать свой собственный плагин для веб-портала. Angular, являясь одним из наиболее подходящих фреймворков для построения больших браузерных информационных систем, предлагает прекрасные возможности разделения приложения на части прямо «из коробки» при помощи технологии ленивой загрузки. Результатом этого должно быть приемлемое время загрузки даже больших приложений при использовании должного подхода к их дизайну. При этом стандартная реализация ленивой загрузки подразумевает жёсткое задание маршрутов в центральной части приложения, что может приводить к трудностям с разработкой несколькими командами и невозможности добавления новых модулей без изменений в коде. В этой статье я собираюсь объяснить и продемонстрировать как можно создать приложение Angular, поддерживающее плагины, описанные исключительно в конфигурационном файле, когда центральная часть приложения и подключаемые модули полностью независимы друг от друга и даже могут быть расположены в разных местах.

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

Настройка собственного почтового сервера

Время на прочтение 7 мин
Количество просмотров 108K
Спам и антиспам Администрирование доменных имен *Серверное администрирование *DNS *
Туториал

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

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 123

Информация

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