Как стать автором
Обновить
12
0
Anatoliy Surin @savkk

sdet

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

Микросервисы для тех, кто прикидывается разработчиком. Часть 2

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

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

Читать далее...
Всего голосов 17: ↑14 и ↓3+15
Комментарии12

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.2 — узлы получения данных)

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

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В первой части лекции мы узнали, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. В этой - разберем, что такое Seq ScanBitmap Heap ScanIndex Scan и почему Index Only Scan бывает нехорош.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1часть 2) и слайды.

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

Быть QA-лидом: опыт роботов в распределении нагрузки тестировщиков

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

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

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

Лидерство в тестировании — выполнение тестового проекта

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

Цель нашего обсуждения сегодня - разобрать процесс проведения тестирования проекта. Мы затронем следующие темы: 

Классический подход к тестированию 

Анализ успехов и неудач в ходе тестирования 

Проблема уменьшения покрытия(эрозии) тестирования

Управление инцидентами в процессе тестирования 

Управление финальной игрой

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

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)

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

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan, Bitmap Heap Scan, Index Scan и почему Index Only Scan бывает нехорош, чем отличается Materialize от Memoize, а Gather Merge от "просто" Gather.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2) и слайды.

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

Создаём веб-сайт, как будто сейчас 1999 год

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

Раньше веб был более странным местом


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

И для целого поколения Интернет-пользователей наличие собственного веб-сайта было признаком крутости. Именно так обстояли дела тогда, в эпоху до появления социальных сетей и web 2.0, о старых добрых статических личных страничках.

Сайты наподобие Geocities, Angelfire, Tripod и Expage предлагали для всех услуги бесплатного статического хостинга, поэтому произошёл бум количества личных веб-сайтов. У некоторых хостов даже были конструкторы веб-сайтов в стиле drag-and-drop, так что вам даже не нужно было изучать HTML.

Сегодня мы можем посмеяться над этими веб-сайтами, по сравнению с современными изящными и минималистическими сайтами они выглядят карикатурно. Но я считаю, что мы слишком далеко ушли в другом направлении, и сегодня многие веб-сайты выглядят одинаково. Те старые личные веб-сайты были отражением вашей личности.
Читать дальше →
Всего голосов 84: ↑82 и ↓2+107
Комментарии72

Мой опыт прохождения собеседования на позицию QA — инженера в Тинькофф

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

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

Читать далее
Всего голосов 29: ↑25 и ↓4+24
Комментарии111

20 бесплатных ресурсов по компьютерной грамотности для детей

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

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

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

Ночь. Облако. Дебаг. Прокся, или Как мы все вылечили, развернув L2-тесты в Kubernetes

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.9K
Привет, меня зовут Артем Сидорук, я работаю в «Лаборатории Касперского» в роли Senior Software Development Engineer in Test (SDET), то есть совмещаю в себе навыки разработчика, тестировщика и DevOps.



Сегодня я расскажу о том, что такое L2-тесты в понимании нашей команды, как их развернуть и какие результаты можно получить. Эти тесты позволили нам избавиться от ночных восьмичасовых прогонов интеграционных тестов. Фактически мы спустили часть интеграционных тестов на уровни ниже, и теперь можем получать результаты значительно быстрее. Однако L2-тестирование требует более высокой квалификации тестировщиков и заставляет команды больше общаться — об этом тоже поговорим.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии5

Инструментация байт-кода Java

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

В рамках текущей статьи будет рассказано о способах инструментации байт-кода java или другим языком, внесения изменений в компилированный файлы java .class. Здесь будут приведены примеры работы с фреймворками Javaassist и ASM и базовое описание байт-кода.

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

20 игр, чтобы научить ребёнка программированию

Время на прочтение5 мин
Количество просмотров306K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.
Всего голосов 59: ↑53 и ↓6+47
Комментарии92

Jaeger для трассировки в микросервисной архитектуре

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

 Меня зовут Алексей Мясников, я тимлид на проекте YDB в Яндекс Облаке. А ещё — старший ментор на курсе «Go-разработчик» в Яндекс Практикуме и кандидат технических наук. В коммерческой разработке более 15 лет, стек — C++, Java, Go, TypeScript, а пробовал около 20 языков программирования, в том числе в продакшн. 

Эта статья про Go и микросервисную архитектуру написана на основе вебинара для Практикума.

Рассмотрим, как работает Jaeger, один из популярных инструментов, который помогает расследовать инциденты и находить узкие места в производительности в микросервисной архитектуре. Разберём, как правильно настроить трассировку и с какими проблемами можно столкнуться в процессе.

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

Ряд опытов на летние деньки

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

Лето постепенно вступает в свои права, температура на улице повышается, и думать о чём-то серьёзном совершенно не хочется. Тут нам как раз помогут немножко поразвлечься простые опыты, которые может проделать каждый.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+55
Комментарии6

Как оценить ёмкость сервиса и не упасть под нагрузкой

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


Рано или поздно любому растущему сервису приходится оценивать свои технические возможности. Сколько посетителей мы в силах обслужить? Какова ёмкость (она же capacity) системы? Не добрались ли мы до предела и не упадём ли, если привлечём ещё несколько тысяч пользователей? Сколько дополнительных вычислительных ресурсов заложить в бюджет на следующий год, чтобы соответствовать планам роста?

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

Меня зовут Максим Куприянов, вот уже пять лет я работаю в Яндекс.Маркете. Сегодня я расскажу читателям Хабра, как мы учились оценивать ёмкость наших сервисов и что из этого вышло.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+19
Комментарии9

Рецензируемый QA-журнал для трейни/джунов/мидлов: Один год в эфире

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

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

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

BDD-фреймворк для автоматизации API без кода

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

Меня зовут Виктор Мясников, я отвечаю за качество продукта в «Юле». Я закончил Бауманку и хотел строить ракеты, но с ними не вышло, поэтому теперь профессионально строю «велосипеды» для QA, а ещё люблю уничтожать рутину. Я расскажу, как мы проектировали BDD-фреймворк и зачем он вообще нам понадобился.

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

Как улучшить английский в документации

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

Я работаю техническим писателем в компании documentat.io. Мы занимаемся заказной разработкой технической документации, в том числе на английском языке. Иногда я дорабатываю уже существующие документы или спецификации к API на английском. Как правило, такие документы написаны русскоязычными разработчиками, которые неплохо владеют английским. И всё же они часто допускают характерные грамматические, пунктуационные и стилистические ошибки.

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

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

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

PostgreSQL под капотом. Часть 6. Сложный SELECT запрос

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

Продолжим погружение в код PostgreSQL. Сейчас посмотрим, что происходит, когда вы хотите выполнить запрос сложнее, чем в прошлый раз: добавим WHERE, GROUP BY, HAVING, ORDER BY, LIMIT.

Плюс:

Системный кэш

Сходство обращения к столбцам и вызовов функций

Предсказание количества возвращаемых кортежей

Работа с простыми типами

Маркировка столбцов при использовании FOR UPDATE

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

Паттерн Outbox: как не растерять сообщения в микросервисной архитектуре

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

Привет! Меня зовут Михаил Боровиков, я тимлид команды, которая отвечает за систему процессинга заказов Lamoda — Orders Management. Эта система, словно «сердце» Lamoda, через которое проходит самый важный для бизнеса шаг — оформление заказа.

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

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

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

Программист учится рисовать. Дневник Емели

Время на прочтение16 мин
Количество просмотров35K
Так получилось, что моим основным хобби на лихой 2020-й год стало освоение ремесла рисования.

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

spoiler
В конце года я остался доволен собой и окончательно понял, что я хотел бы прокачиваться и дальше!

image
Так выглядел мой уровень изобразительных навыков в ноябре предыдущего (2019-го) года

Формат подачи данной статьи — это на 95% личный дневник, который я вел в гугл-доке, записывая, что я делал каждый месяц, свои ощущения и как-то фиксируя собственный прогресс — смотрел, сколько работ мне удалось нарисовать и какого они были качества — нравились ли они мне лично или были совсем так себе по исполнению.
Читать дальше →
Всего голосов 105: ↑104 и ↓1+142
Комментарии123
1
23 ...

Информация

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