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

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

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

Принципы объектно-ориентированного программирования

Время на прочтение3 мин
Количество просмотров123K
Привет, Хабр! Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО.

Специально к старту занятий в новом потоке курса «Архитектура и шаблоны проектирования» я подготовил еще один авторский материал.



Введение


Когда речь заходит о классических паттернах проектирования, нельзя не вспомнить о самом объектно-ориентированном программировании. Ведь паттерны GoF являются паттернами именно объектно-ориентированного программирования. В функциональном же программировании есть свои собственные паттерны.

Вообще устроено все следующим образом: есть само объектно-ориентированное программирование. У него есть принципы. Из принципов объектно-ориентированного программирования следуют разобранные нам шаблоны GRASP (как вариант — SOLID принципы), из которых, в свою очередь, следуют шаблоны GoF. Из них же следует ряд интересных вещей, например, enterprise паттерны.
Читать дальше →
Всего голосов 26: ↑8 и ↓18-7
Комментарии4

ООП в картинках

Время на прочтение20 мин
Количество просмотров834K
ООП (Объектно-Ориентированное Программирование) стало неотъемлемой частью разработки многих современных проектов, но, не смотря на популярность, эта парадигма является далеко не единственной. Если вы уже умеете работать с другими парадигмами и хотели бы ознакомиться с оккультизмом ООП, то впереди вас ждет немного лонгрид и два мегабайта картинок и анимаций. В качестве примеров будут выступать трансформеры.


Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии104

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

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

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

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

Где попрактиковаться в тестировании?

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

Если вы начинающий QA Manual или QA Auto, то ваши свеже изученные навыки вы наверняка захотите где-то отработать.

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

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

Книга «Паттерны проектирования API»

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

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

Паттерны проектирования API определяют набор принципов для разработки внутренних и публичных API. Джей Джей Гивакс, будучи специалистом из Google, рассказывает о паттернах, которые обеспечат вашим API согласованность, масштабируемость и гибкость. Вы узнаете, как улучшить дизайн самых распространенных API и как действовать в сложных пограничных случаях. Понятные иллюстрации, актуальные примеры и подробные сценарии позволят тщательно разобраться в каждом паттерне.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

TCP и UDP, или Два столпа Интернета

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

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

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

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

Но и рассказывать про то, как браузер загружает страницы, тоже не будем. HTTP-запросы, сжатие, языки программирования, рендеринг страниц – всё мимо.

Что нам интересно, так это то, как данные находят путь от одного компьютера до другого.

И как же?
Всего голосов 16: ↑15 и ↓1+19
Комментарии3

Основы Интернета

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

Есть такая интересная книга – «High Performance Browser Networking» Ильи Григорика, в которой описаны основы работы сетей и способы оптимизации передачи данных. В этой книге автор пишет про CDN следующее:

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

Если подумать, то наверное можно согласиться с тем фактом, что CDN улучшают UX, потому что ускоряют загрузку сайта. Но... минуточку. А как именно CDN это делает?

Вы можете сказать: «Ну, когда пользователь запрашивает файлы с CDN, они загружаются с ближайшего к пользователю сервера. Легко и просто». Да, но ведь эти данные загружаются всегда с одного домена. Как тогда запрос может приходить на разные сервера?

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

Начнём с проводов
Всего голосов 44: ↑40 и ↓4+43
Комментарии15

Конец фронтенд-разработки

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

Большие языковые модели, такие как GPT-4, с угрожающей скоростью становятся все более эффективными. Через пару лет нам больше не понадобятся разработчики!
...Или, по крайней мере, такая позиция становится вирусной в Твиттере. Я гораздо более оптимистично смотрю на то, что эти достижения ИИ означают для будущего разработки программного обеспечения.

Читать далее
Всего голосов 57: ↑46 и ↓11+50
Комментарии224

Тест дизайн методом Interface — Model — State

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

Yet another метод для разработки функциональных тест кейсов. Что будет, если отталкиваться от архитектурных схем тестируемой системы.

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

Сотрудники-нолики

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

У меня в отделе всегда есть «нолики». Это люди, которые работают хуже других, меньше получают, чаще огребают, с завидным постоянством выгорают и увольняются. Их не очень много – ровно столько, чтобы не могли сильно повлиять на общий результат и атмосферу.

Люди они хорошие – и в профессиональном, и в человеческом. Просто судьба у них такая. Причём, выбрали они её сами. Я лишь не мешаю.

Их выбор звучит так: «я сам знаю, что для меня лучше». А я просто соглашаюсь, даю больше автономии, возможности выбирать и решать самостоятельно. Например, куда и как развиваться, на чём специализироваться, с какими проектами работать и т.д.

Читать далее
Всего голосов 183: ↑60 и ↓123-50
Комментарии158

QA, из команды в тимлиды — как выжить между двух огней

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

Меня зовут Катя, я недавно стала QA-лидом в Альфа-Банке, до этого работала в команде. В этом посте я расскажу, как у меня происходил переход из командного тестировщика в позицию QA-лида. Возможно, моя история окажется полезной для тех, кто переходит из статуса "часть команды" в статус лида и пытается понять, что вообще случилось и как дальше жить.

Сейчас я занимаюсь Альфа-Мобайлом, нашим мобильным приложением для физических лиц. Работа в команде состояла из обычного взаимодействия с нашими IOS- и Android-разработчиками, с аналитиком, с бэкенд-разработчиком и с product owner’ом. В моей командной работе были обычные спринты, обычная приемка, обычное написание автотестов к различным компонентам архитектуры, конечно же, дедлайны и еженедельный всеобщий Мобайловский регресс. Помимо работы в команде, есть еще наставничество.

Архитектура довольно нетипичная: помимо обычного front’a и back’a есть еще и middle, и не каждый въезжает сразу, на это тратится много времени. На тот момент, когда со мной поговорил мой руководитель и рассказал, что пора переходить в лиды, у меня было два начинающих падавана. В общем, состоялся разговор о том, что пора расти, пора уже переходить дальше, я ответила, что хоть и очень загружена, но готова. 

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

Информация

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

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

Manual Test Engineer
Middle