Как стать автором
Обновить
0
0
Наталья Анисимова @Scheogorat

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

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

Сложно о простом. Самые популярные заголовки уровня L2 модели OSI в Ethernet

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

Приветствую, коллеги! Меня зовут @ProstoKirReal. Сегодня мы обсудим заголовки, относящиеся к уровню L2 модели OSI в Ethernet-кадре.

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

Тестируем на проде: Canary Deployment

Время на прочтение11 мин
Количество просмотров29K
Канарейка — маленькая птица, которая постоянно поет. Эти птички чувствительны к метану и угарному газу. Даже от небольшой концентрации лишних газов в воздухе они теряют сознание или умирают. Золотоискатели и шахтеры брали птичек на добычу: пока канарейки поют, можно работать, если замолчали — в шахте газ и пора уходить. Шахтеры жертвовали маленькой птичкой, чтобы выбираться из шахт живыми.



Подобная практика нашла себя и в IT. Например, в стандартной задаче деплоя новой версии сервиса или приложения на продакшн с тестированием перед этим. Тестовое окружение может быть слишком дорогим, автоматизированные тесты не покрывают все, что хотелось бы, а не тестировать и жертвовать качеством рискованно. Как раз в таких случаях помогает подход Canary Deployment, когда немного настоящего продакшн-трафика пускается на новую версию. Подход помогает безопасно проверить новую версию на продакшн, жертвуя малым ради большой цели. Подробнее, как работает подход, чем полезен и как его реализовать, расскажет Андрей Маркелов (Andrey_V_Markelov), на примере реализации в компании Infobip.
Всего голосов 22: ↑22 и ↓0+22
Комментарии6

Как веб-специалисту начать пентест API мобильного приложения и не сломать макбук

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

Я активный участник программ Bug Bounty и достаточно часто смотрю не только веб‑приложения, но и мобильные приложения, чтобы определить все конечные точки API сервиса и попробовать найти баг в функционале до которого не всегда просто добраться. А почему непросто? Потому что в мобильных приложениях часто встречается SSL Pinning, который не дает перехватывать трафик, а поэтому анализ API приложения становится более сложным. В этой статье я изложу:

1. Как отключить SSL Pinning и получить возможность внедряться в процессы iOS приложений.

2. Как отключить SSL Pinning и внедриться в Android приложение без наличия смартфона на одноименной ОС.

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

Сложно о простом. Физический уровень (L1) модели OSI

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


Приветствую, коллеги! Меня зовут ProstoKirReal, и сегодня я хочу обсудить с вами физический уровень (L1) модели OSI. Понимание этого уровня является основополагающим для всех, кто только начинает свой путь в сетевых технологиях.
Читать дальше →
Всего голосов 37: ↑26 и ↓11+21
Комментарии25

Азбука NoSQL-инъекций

Время на прочтение13 мин
Количество просмотров63K
Бывают SQL-инъекции! А возможны ли NoSQL-инъекции? Да! Redis, MongoDB, memcached — все эти программные продукты относятся к классу нереляционных СУБД, противоположному популярным MySQL, Oracle Database и MSSQL. Так как интерес к перечисленным базам данных в последнее время значительно возрос, хакеры всех мастей просто не могли пройти мимо них.


Читать дальше →
Всего голосов 139: ↑98 и ↓41+57
Комментарии52

Поиск по почте и никнейму

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

Введение

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

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

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

Угрозы инфраструктуры с Linux. Разбираем попытки атак

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

Небо голубое, вода мокрая, а Linux — самая защищенная операционная система. С этим не поспоришь. Однако утверждать, что защита здесь работает на 100%, нельзя. Как минимум никто не застрахован от проблем с обновлением системы и ошибками конфигураций.  

Какие злоумышленники и для чего используют Linux? И что можно узнать, если отслеживать такие попытки атак в NGFW? Ответы и технические подробности — в этой статье.

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

Статический анализ структуры базы данных (часть 1)

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

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

Рассмотрим подробнее статический анализ структуры базы данных — что это, какие задачи решает, как интегрировать статический анализ в CI.

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

Книга: «Алгоритмы с нуля»

Время на прочтение20 мин
Количество просмотров16K
image Привет, Хаброжители!

Погрузитесь в мир алгоритмов! Разберитесь в их принципах, особенностях проектирования и практического применения.

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

Каждая глава содержит понятные объяснения, наглядные примеры и задачи, помогающие закрепить изученный материал. Особый акцент сделан на вычислительном мышлении и анализе эффективности алгоритмов — важнейших навыках в области современных технологий.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+10
Комментарии14

Пайплайны в GitLab для микросервисов

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

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

Начнем с основ на примере монолитного приложения, а потом усложним их микросервисами и постараемся избавиться от однотипного кода. А еще…
Читать дальше →
Всего голосов 57: ↑57 и ↓0+74
Комментарии4

AI уже тут: в какие инструменты тестирования уже интегрирован искусственный интеллект

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

Привет, Habr! Прошло уже некоторое время, и AI довольно быстро стал интегрироваться в инструменты и пускать корни во многие профессии, QA не исключение. Здесь точно есть что оптимизировать, ведь у тестировщиков всегда много рутинных задач, которые требуют внимательности, но не слишком сложны по своей сути.

Прогресс, как всегда, не остановить, но что сейчас представляют собой интеграции с AI и насколько это рабочие решения?

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

Гарвардский курс CS50 на русском. Все серии

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


Друзья, мы рады сообщить, что перевод всего гарвардского курса CS50 закончен.

Мы писали, что в курсе 24 серии, однако последние две оказались одной и той же лекцией (одна прочитана в Гарварде, а другая в Йеле), поэтому в списке переведённых лекций не 24, а 23.

Список лекций под катом.

Что вы узнаете, прослушав этот курс:
  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.


Курс переведён и озвучен нашей студией по заказу JavaRush, и мы хотим сказать им огромное спасибо за поддержку!
Всего голосов 40: ↑37 и ↓3+34
Комментарии34

Пермишены (permissions) для тестировщика: зачем нужно, что такое и как с этим работать

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

Приветствую👋

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

Меня зовут Антон, я QA Mobile в компании MobileUp. В статье я разберу, что такое пермишены, для чего нужны, какие виды существуют, где их можно найти и как тестировать.Эту статью я пишу исключительно с точки зрения ручного тестирования, но в конце текста оставлю интересные ресурсы, которые могут пригодиться для QA Auto (но это не точно 😄).

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

Яндекс выложил в опенсорс бету фреймворка userver

Время на прочтение10 мин
Количество просмотров76K
Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на Гитхаб-репозиторий c исходным кодом, документацией, примерами, шаблоном для создания своих сервисов (с настроенным CI, сборкой и тестовым окружением) и сервисом динамических конфигов. Всё это опубликовано под лицензией Apache 2.0.



🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:

  • Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
  • Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
  • Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.

Сейчас я расскажу о том, как возникла идея userver, как фреймворк развивался, в каких задачах его сейчас используют и почему именно выход в опенсорс был логичным следующим шагом. А затем приведу пример написания нового микросервиса.
Читать дальше →
Всего голосов 141: ↑137 и ↓4+169
Комментарии142

userver 1.0 — релиз фреймворка для IO-bound программ

Время на прочтение7 мин
Количество просмотров17K
С момента выхода ? userver в опенсорс прошло чуть больше года. За это время мы успели реализовать множество запросов от наших новых пользователей и обросли внушительной аудиторией в каналах поддержки. При этом поток вопросов, как пользоваться различными частями userver, значительно сократился, а это значит, наши улучшения документации принесли свои плоды.

image

Поэтому мы вышли из беты и сделали релиз!

Что нового в релизе? Зачем вообще нужен userver и какие существуют технологии для обеспечения надёжной работы серверных приложений? Можно ли воспользоваться крутыми C++ классами из userver, не используя при этом корутины? Какие дальнейшие планы? Ответы на все эти вопросы ждут вас под катом.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+60
Комментарии15

Структура смартфона — иллюзия контроля

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

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

1. “Процессор приложений”. Это устройство, на котором работает Android или iOS. С этой частью смартфона вы и взаимодействуете. Здесь запускаются и работают ваши приложения. Скорее всего, когда вы думаете о своём смартфоне, вы думаете о процессоре приложений.

2. “Baseband-процессор”. Это устройство управляет сотовой радиосвязью телефона. И под сотовой связью мы подразумеваем действительно сотовые технологии, такие как LTE, 5G и т.д., а не Wi-Fi. Процессор основной полосы частот отвечает за подключение и сброс телефонных звонков, сеансов передачи данных, обрабатывает СМС и выполняет другие функции сотовой связи, порой невидимые для пользователя, такие как “Управление мобильностью”.

3. SIM-карта. СИМ-карта представляет собой полную компьютерную систему (с процессором, памятью и файловой системой), работающую под управлением набора приложений и собственной ОС. Когда вы устанавливаете СИМ-карту, она становится неотъемлемой и активной частью вашего смартфона. 

Как у пользователя смартфона, у вас могла возникнуть иллюзия, что именно вы управляете своим телефоном. Но на самом деле, функциями вашего телефона управляет ПО этих трех систем, из которых только одна доступна вам напрямую.

Читать далее
Всего голосов 26: ↑17 и ↓9+12
Комментарии27

Как работает Android, часть 1

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


В этой серии статей я расскажу о внутреннем устройстве Android  —  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.

Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии51

Логи в iOS, эпизод 1: os_log

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

Представьте, что вы садитесь делать новый проект для iOS/iPadOS/macOS/tvOS/watchOS. Совсем скоро сталкиваетесь с первым багом и, чтобы его понять и исправить, добавляете логи — вызываете print() тут и там. Баг исправили и часть логов убрали, а часть оставили на будущее — полезные, ещё пригодятся.

Спустя пару месяцев работы над проектом консоль в Xcode превращается в водопад из логов. В них сложно разобраться и в них невозможно ориентироваться. Вы принимаете это как данность и в новые логи для удобства добавляете какие-то маркеты по типу "----->" или ещё что-нибудь в этом духе — так их можно будет различить в бесконечном потоке.

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

В этой статье расскажу, как Apple предлагает решать такую проблему.

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

Руководство по организации архитектуры Android приложения

Время на прочтение23 мин
Количество просмотров49K
Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях, и они будут исправлены. Так же для всех будут полезны комментарии от тех кто использовал представленную архитектуру с рекомендациями её использования.

Это руководство охватывает лучшие практики и рекомендуемую архитектуру для создания надежных приложений. Эта страница предполагает базовое знакомство с Android Framework. Если вы новичок в разработке приложений для Android, ознакомьтесь с нашими руководствами для разработчиков, чтобы начать работу и узнать больше о концепциях, упомянутых в этом руководстве. Если вы интересуетесь архитектурой приложений и хотели бы ознакомиться с материалами этого руководства с точки зрения программирования на Kotlin, ознакомьтесь с курсом Udacity «Разработка приложений для Android с помощью Kotlin».

Опыт пользователя мобильного приложения


В большинстве случаев настольные приложения имеют единую точку входа с рабочего стола или программы запуска, а затем запускаются как единый монолитный процесс. Приложения на Android имеют гораздо более сложную структуру. Типичное приложение для Android содержит несколько компонентов приложения, включая Activities, Fragments, Services, ContentProviders и BroadcastReceivers.

Вы объявляете все или некоторые из этих компонентов приложения в манифесте приложения. Затем ОС Android использует этот файл, чтобы решить, как интегрировать ваше приложение в общий пользовательский интерфейс устройства. Учитывая, что правильно написанное приложение Android содержит несколько компонентов, и пользователи часто взаимодействуют с несколькими приложениями за короткий промежуток времени, приложения должны адаптироваться к различным типам рабочих процессов и задач, управляемых пользователями.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии7

Что должен знать тестировщик бэкенда

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


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

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

Какие проблемы помогает решить этот текст: кандидату — подготовиться к интервью, любому тестировщику бэкенда — освежить знания, тестировщику фронтенда или мобильных приложений — расширить кругозор. Работодатели могут использовать список для составления требований в вакансиях.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+30
Комментарии25

Информация

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

Специализация

Manual Test Engineer
Middle