Pull to refresh
137
16.1

Редактор

Send message

REST API на Java без фреймворков

Reading time9 min
Views78K
Перевод статьи подготовлен специально для студентов курса «Разработчик Java».




В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забыли, как писать приложения без фреймворков.

Вы можете сказать, что Spring — это стандарт и зачем изобретать велосипед? А Spark — это хороший удобный REST-фреймворк. Или Light-rest-4jis. И я скажу, что вы, конечно, правы.

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

Сообщество open source очень активное, и есть большая вероятность, что ошибки в фреймворке будут быстро исправлены. Но все же, я хотел бы призвать вас подумать, действительно ли вам нужен фреймворк. Если у вас небольшой сервис или консольное приложение, возможно, вы сможете обойтись без него.
Читать дальше →

16 советов по разработке для андроид на языке Kotlin. Часть 2

Reading time4 min
Views5.3K
Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом.



Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работы с Android SDK. Также желательно ознакомиться с плагином Kotlin и использованием Kotlin с Android Studio от JetBrains (создателей Kotlin)



Читать первую часть
Читать дальше →

Cloud Solution Architecture. Новый курс от OTUS

Reading time2 min
Views2.2K
Внимание! Данная статья не является инженерной и предназначается читателям, которые интересуются образованием в области разработки и поддержки облачных решений. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен.




Еще недавно при слове «облако» все думали об атмосферном явлении, а сейчас у большинства уже возникает ассоциация с облачными хранилищами. В настоящее время одними из самых востребованных и высокооплачиваемых специалистов являются специалисты со знаниями в области Agile разработки и сопровождения архитектуры облачных решений.

Автоматизированное тестирование с Pytest

Reading time7 min
Views22K
Перевод статьи подготовлен специально для студентов курса «Python QA Engineer».




Мы живем в эпоху, когда программное обеспечение очень быстро отправляется на рынок. Из-за этого процесс разработки становится очень стрессовым. Высокие темпы внедрения ПО и быстрая доставка выглядят как хорошая составляющая бизнес-модели, однако здесь возникает вопрос о том, как поставлять программное обеспечение надлежащего качества.
Читать дальше →

Пишем тренажер слепой печати на чистом JavaScript. Часть 1

Reading time5 min
Views12K
Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать вам данный материал.




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

Управление жестами: От края до края. Часть 1

Reading time6 min
Views6.6K
Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи.




Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке.

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


Демонстрация новых жестов в Android Q

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

На большинстве устройств пользователи могут выбрать режим навигации на свой вкус. Существующий трехкнопочный режим навигации (состоящий из кнопок back, home, recents) тем не менее остается. Эта мера является необходимой для всех устройств версии Q и выше.
Читать дальше →

Установка и настройка AlienVault SIEM (OSSIM)

Reading time4 min
Views33K
Перевод статьи подготовлен специально для студентов курса «Безопасность Linux».





OSSIM (Open Source Security Information Management) — это проект с открытым исходным кодом от Alienvault, который обеспечивает функционал SIEM (Security information and event management). Он обеспечивает следующие функции SIEM, требующиеся специалистам по безопасности.

  • Сбор событий
  • Нормализация
  • Корреляция

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

Платформа OSSIM поддерживает следующие программы/плагины с открытым исходным кодом:

  • Apache
  • IIS
  • Syslog
  • Ossec
  • Snare
  • Snort
  • OpenVAS
  • Nessus
  • Nagios
  • Ntop
  • Nmap
Читать дальше →

Пентест. Практика тестирования на проникновение или «этичный хакинг». Новый курс от OTUS

Reading time2 min
Views9.5K
Внимание! Данная статья не является инженерной и предназначается читателям, которым интересен этичный хакинг и обучение в этом направлении. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен.




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

Если вы хотите уметь распознавать различные виды уязвимостей и защищать сетевые и веб-ресурсы от атак злоумышленников, то в Otus вас научат этому. Запущен набор на курс «Пентест. Практика тестирования на проникновение»

Общие понятия о системах обнаружения и предотвращения вторжений

Reading time6 min
Views45K
И снова здравствуйте. В преддверии старта курса «Реверс-инжиниринг» решили поделиться с вами небольшой статьей по информационной безопасности, которая хоть и имеет довольно косвенное отношение к реверс-инжинирингу, но для многих может стать полезным материалом.





Глобальный рынок продуктов информационной безопасности развивается под воздействием быстро растущего многообразия сложных и комплексных угроз, что приводит к непосредственному влиянию на бизнес, и становятся востребованными не только для крупных и средних, но и для малых организаций. В настоящее время ситуация обстоит таким образом, когда традиционные средства защиты, такие как межсетевой экран и антивирус, не способны обеспечить надлежащий уровень защиты внутренней сети организации, ведь вредоносное программное обеспечение может «замаскироваться» и отправлять пакеты, которые с точки зрения межсетевого экрана выглядят полностью легитимными. Существует множество коммерческих решений, способных обеспечить надлежащий уровень защиты внутренней сети организации, однако сегодня мы остановимся на таком классе решений, как системы обнаружения вторжений и системы предотвращения вторжений. В англоязычной литературе это Intrusion Detection Systems (IDS) и Intrusion Prevention Systems (IPS).
Читать дальше →

Как микросервисы Netflix справляются с Pub-Sub данными

Reading time13 min
Views6.5K
Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок».





Введение


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

Один из примеров, отражающий необходимость распределенной рассылки набора данных выглядит так: в любой момент времени Netflix выполняет огромное количество A/B тестов. Эти тесты охватывают несколько сервисов и команд, а операторы тестов должны иметь возможность изменять конфигурацию на лету. Также необходима возможность обнаружения узлов, которые не смогли получить последнюю тестовую конфигурацию, и возможность отката к старым версиям в случае, если что-то пойдет не так.
Читать дальше →

16 советов по разработке для Android на языке Kotlin. Часть 1

Reading time4 min
Views8.9K


Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работы с Android SDK. Также желательно ознакомиться с плагином Kotlin и использованием Kotlin с Android Studio от JetBrains (создателей Kotlin)
Читать дальше →

Как достичь Уровня 5 по модели CMM в области QA и тестирования

Reading time6 min
Views11K
Перевод статьи подготовлен специально для студентов курса Python QA Engineer.





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

Для любого процесса, будь то процесс контроля качества, процесс разработки или любой другой нетехнический процесс, существуют уровни зрелости. Под уровнями зрелости мы понимаем уровень формализации и совершенствования процессов, начиная от ad-hoc процессов до таких, которые состоят из формализованных и определенных шагов, у которых есть метрики результатов, и которые были оптимизированы.
Читать дальше →

Представляем программируемую AWS Landing Zone в модуле Terraform

Reading time4 min
Views2.9K
Всем привет! В декабре OTUS запускает новый курс — Cloud Solution Architecture. В преддверии старта данного курса делимся с вами переводом интересного материала по теме.




AWS Landing Zone – это решение, которое помогает клиентам быстро настроить безопасную среду AWS с несколькими учетными записями, основываясь на лучших практиках.
Читать дальше →

Почему QA хорошая карьера для программиста

Reading time4 min
Views5.7K



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

Быть тестировщиком – это хороший выбор? Есть ли будущее у этой профессии? Хорошая ли там зарплата? Сейчас я попробую рассказать о том, что профессия тестировщика ПО достойна внимания. Тестирование ПО – это действительно хорошая работа для программиста.
Читать дальше →

Ошибки в JavaScript: исправляем, обрабатываем, чиним

Reading time8 min
Views14K
Всем привет! Вдохновленные успехом предыдущей статьи, которая была написана в преддверии запуска курса "Fullstack разработчик JavaScript", мы решили продолжить серию статей для новичков и всех тех, кто только начинает заниматься программированием на языке JavaScript. Cегодня мы поговорим об ошибках, которые случаются в JS, а также о том, как именно с ними бороться.



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

Неизвестный тимлид

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

Архитектор высоких нагрузок. Новый курс от OTUS

Reading time3 min
Views3.7K
Внимание! Данная статья не является инженерной и предназначается читателям, которые находятся в поисках Best Practice по HighLoad и отказоустойчивости веб-приложений. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен.




Представим ситуацию: запустил какой-нибудь интернет магазин акцию со скидками, ты, как и миллионы других людей тоже решил купить себе очень важный (или не очень :-) ) девайс, заходишь на сайт, а сервер упал. «Сори, вас слишком много!» — пишут где-нибудь в социальных сетях администраторы и обещают решить эту ситуацию…
Читать дальше →

Внутренности JVM, Часть 2 — Структура class-файлов

Reading time5 min
Views15K
Всем привет! Перевод статьи подготовлен специально для студентов курса «Разработчик Java».




Продолжаем разговор о том, как Java Virtual Machine работает внутри. В предыдущей статье (оригинал на анг.) мы рассмотрели подсистему загрузки классов. В этой статье мы поговорим о структуре class-файлов.

Как мы уже знаем, весь исходный код, написанный на языке программирования Java, сначала компилируется в байт-код с помощью компилятора javac, входящего в состав Java Development Kit. Байт-код сохраняется в бинарный файл в специальный class-файл. Затем эти class-файлы динамически (при необходимости) загружаются в память загрузчиком классов (ClassLoader).
Читать дальше →

Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio

Reading time10 min
Views12K
Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes».




Это третья статья из серии публикаций, посвященных  Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В предыдущей статье мы изучили основы работы с Istio и выяснили, как этот инструмент помогает настраивать и администрировать сложные облачные архитектуры. Так, с его помощью можно сконфигурировать mesh-сеть микросервисов и получить некоторые возможности централизации в распределенной микросервисной среде. Сегодня мы более подробно изучим функции Istio, чтобы по достоинству оценить преимущества технологии service mesh.
Читать дальше →

Один день из жизни DevOps

Reading time10 min
Views9K



Накануне запуска курса «DevOps-практики и инструменты» мы провели очередной открытый урок. Вебинар получился весьма содержательным. По сути, это была полуторачасовая практика в режиме нон-стоп:

  • рассмотрели 4 основных инструмента современного DevOps-инженера, каждый из которых реализует базовые практики: инфраструктура как код, CI/CD, обратная связь;
  • научились не ломать историю в Git и хорошо работать в команде;
  • обсудили, чем Ansible отличается от других систем, и почему именно его мы изучаем на курсе;
  • рассмотрели Docker и рассказали, почему контейнеры и микросервисы чаще побеждают монолитные архитектуры.

Рабочая среда:

  • Ubuntu 18.04;
  • Python 3;
  • весь необходимый софт устанавливали в процессе вебинара.

Преподаватель — Лев Николаев, DevOps-инженер и тренер в компании «Экспресс 42». Занятие прошло в режиме «Демо».
Читать дальше →

Лучшая архитектура для MVP: монолит, SOA, микросервисы или бессерверная?.. Часть 2

Reading time6 min
Views30K
В ноябре OTUS запускает новую образовательную программу «Архитектор ПО», в связи с этим продолжаем серию публикаций для будущих студентов курса и читателей нашего блога.

Читать первую часть


Микросервисная архитектура


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


Структура микросервисов и монолитная архитектура в сравнении

Подход на основе микросервисов ориентирован главным образом на бизнес-приоритеты и возможности, тогда как монолитный подход организован вокруг технологических уровней, пользовательских интерфейсов и баз данных. Микросервисный подход стал тенденцией в последние годы, так как все больше и больше предприятий становятся гибкими и переходят на DevOps.
Читать дальше →

Information

Rating
451-st
Location
Россия
Works in
Registered
Activity