Search
Write a publication
Pull to refresh
34
0
Send message

Redis Python based cluster. Часть 1: распределённые системы, теоремы CAP и PACELC и зачем нужен Redis

Reading time9 min
Views9.8K
Рано или поздно сервисы растут, а с большим RPS приходит Highload.

Что делать, когда ресурсов для вертикального масштабирования Redis уже нет, а данных меньше не становится? Как решить эту задачу без downtime и стоит ли её решать с помощью redis-cluster?

На воркшопе Redis Python based cluster Савва Демиденко и Илья Сильченков пробежались по теории алгоритмов консенсуса и попробовали в реальном времени показать, как можно решить проблему с данными, воспользовавшись sharding’ом, который уже входит в redis-cluster.

Воркшоп растянулся на два часа. Внутри этого поста — сокращённая расшифровка самых важных мыслей.

Введение


Немного о тех, кто провёл воркшоп, и почему вообще его решили провести.

Савва Демиденко

Занимаюсь разработкой в Avito, делаю программу курса «Мидл Python-разработчик» от Яндекс.Практикума. Закончил Бауманку и Технопарк. Разрабатываю на Python и Golang. Люблю решать архитектурные задачи в веб-программировании.

Илья Сильченков

Тимлид в «Сбермаркете» и наставник на курсе «Мидл Python-разработчик». Успел побыть фронтендером и дата-инженером, но остановился на бэкенде. Сейчас пишу на Python и Go.

В рамках нашего курса в «Яндекс.Практикуме» в течение шести месяцев мы делаем онлайн-кинотеатр из множества микросервисов. Сначала пишем маленькую ETL из Elasticsearch и Flask, потом — админку и асинхронное API, авторизацию/аутентификацию и систему уведомлений. В том числе есть маленькая продуктовая задача — пиар в социальных сетях.

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 1)

Reading time13 min
Views30K
Продолжаем изучать Django Rest Framework с точки зрения новичка. Мы уже разобрали создание REST API для получения данных из БД, включая отдельную статью о работе сериалайзера.

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

image

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

Где начинающему тестировщику получить первый опыт: проект «Хомячки»

Reading time7 min
Views65K

Привет! Меня зовут Ольга Ермолаева. Я работаю в тестировании с 2008 года. Сейчас руковожу департаментом качества в компании «Инттерра» и помогаю студентам на курсе для тестировщиков в Яндекс.Практикуме в качестве наставника.


Все, кто работает в IT-сфере, когда-то задавались вопросом, как найти первую работу. Ведь все работодатели требуют опыт, но никто не говорит, где его взять.


Начинающие программисты пишут свои pet-проекты, выкладывают на Github и добавляют ссылку в портфолио. Дизайнеры могут показать свою страницу на Behance или Dribble. Но что делать начинающим тестировщикам?


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


В статье я поделюсь с вами одним из вариантов решения этой проблемы.


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

Оптимизация на простых типах данных. Часть №2 «Числа»

Reading time8 min
Views6.3K
19 апреля автор курса «Алгоритмы для разработчиков» в Яндекс.Практикуме и разработчик в компании Joom Александра Воронцова провела открытый вебинар «Оптимизация на простых типах данных». У Аси за спиной 11 лет разработки, опыт олимпиадного программирования, а также работа в Яндексе с высоконагруженными проектами.

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

Статья будет полезна разработчикам на Python и C/C++, которые хотят научиться трюкам для ускорения кода, а также программистам на других языках, которым интересны фишки, связанные с типами данных.


Оптимизация на простых типах данных. Часть №1 «Строки»

Reading time12 min
Views8.1K
19 апреля автор курса «Алгоритмы для разработчиков» в Яндекс.Практикуме и разработчик в компании Joom Александра Воронцова провела открытый вебинар «Оптимизация на простых типах данных». У Аси за спиной 11 лет разработки, опыт олимпиадного программирования, а также работа в Яндексе с высоконагруженными проектами.

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

Статья будет полезна разработчикам на Python и C/C++, которые хотят научиться трюкам для ускорения кода, а также программистам на других языках, которым интересны фишки, связанные с типами данных.


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

Конечные автоматы в реальной жизни: где мы их используем и почему

Reading time14 min
Views44K
Привет, меня зовут Антон Субботин, я выпускник курса «Мидл фронтенд-разработчик» в Яндекс.Практикуме. Не так давно мы с наставником курса Захаром Овчаровым провели вебинар, посвящённый конечным автоматам и их практическому применению. Вебинар получился интересным, а потому по его следам я написал статью для Medium на английском языке. Также есть запись вебинара. Однако мы с Захаром решили сделать ещё кое-что: перевести на русский и немного расширить статью, чтобы вы могли никуда не ходить и прочитать её здесь, на Хабре. Разобрались с предысторией — теперь начнём погружение в мир конечных автоматов.



Конечный автомат с счастливым и грустным Васькой
Читать дальше →

Вебинар «Как аргументировать свои решения и предложения». Покажем, как создавать стройную систему из аргументов

Reading time1 min
Views3.3K
17 июня Яндекс.Практикум проведёт открытый вебинар «Как аргументировать свои решения и предложения». На вебинаре расскажем, из каких элементов состоит убедительная аргументация, которая помогает лучше доносить ваши идеи до самой разной аудитории. Мы разберём несколько кейсов, потренируемся в создании собственных аргументов и попробуем объединить их в систему, которая поможет не сбиться и не растеряться на совещании или в споре.

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


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

Стандарт C++20: обзор новых возможностей C++. Часть 6 «Другие фичи ядра и стандартной библиотеки. Заключение»

Reading time13 min
Views23K


25 февраля автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов рассказал о новом этапе языка C++ — Стандарте C++20. В лекции сделан обзор всех основных нововведений Стандарта, рассказывается, как их применять уже сейчас и чем они могут быть полезны.

При подготовке вебинара стояла цель сделать обзор всех ключевых возможностей C++20. Поэтому вебинар получился насыщенным. Он растянулся на почти 2,5 часа. Для вашего удобства текст мы разбили на шесть частей:

  1. Модули и краткая история C++.
  2. Операция «космический корабль».
  3. Концепты.
  4. Ranges.
  5. Корутины.
  6. Другие фичи ядра и стандартной библиотеки. Заключение.

Это шестая, заключительная часть. Она рассказывает о других нововведениях ядра и стандартной библиотеки, добавленных Стандартом C++20.

Другие фичи ядра


Я рассказал о самых значительных нововведениях Стандарта, но это только капля в море C++20. Перейдём к менее глобальным, но не менее интересным вещам. Подробно останавливаться на каждой не буду, потому что цель обзора — рассказать пусть не всё, но обо всём.
Читать дальше →

Публичное техническое собеседование на мидл фронтенд-разработчика: 15 июня в 19.00

Reading time1 min
Views5.8K
15 июня в 19:00 (Мск.) Яндекс.Практикум проведёт открытое публичное собеседование на тестовую вакансию мидл фронтенд-разработчика. Будут два собеседующих, кандидат и вакансия, на которую он откликнулся. Участники смогут не только следить за происходящим, но и задать вопросы спикерам.

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


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

Как убить в себе самозванца

Reading time6 min
Views20K
Несмотря на громкий заголовок, я этого не знаю.

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

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

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



Что это такое — синдром самозванца?


Для начала разберёмся с тем, что это такое.

Синдром самозванца (англ. Impostor (imposter) syndrome) — психологическое явление, при котором человек не способен приписать свои достижения собственным качествам, способностям и усилиям.
Читать дальше →
Кто играл в Need for Speed, угадает эту мелодию с четырёх нот: э-рон-дон-дон… Драйв, эмоции на максимум, бесконечные повторы неудачных заездов и кайф после утомительного прохождения — вот с чем до сих ассоциируется у меня эта серия игр. И это те же самые слова, которые я произношу, когда меня спрашивают о работе тестировщика. Вопрос «Как вкатиться в айти?» я слышу чаще, чем «Как прожить в ІТ долгую и счастливую рабочую жизнь?». Мне удаётся сохранить вдохновение и успешно строить карьеру в quality assurance — и потому я хочу поделиться опытом, подкрепив его ссылками на актуальные тексты авторов Хабра. Итак, сегодня я — [капитан очевидность] штурман в нашей команде :) Давайте знакомиться: меня зовут Василиса (@vasenka), я работаю QС в одной из продуктовых компаний. Под катом — мой тест-драйв карьерного трека QA, а в качестве навигатора — статьи авторов Хабра.
Погнали!

Бесплатная Школа наставников для разработчиков, тестировщиков и аналитиков стартует 5 июля

Reading time3 min
Views2.2K
Школа наставников — это онлайн-интенсив из 5 занятий, где обучают будущих наставников сервиса онлайн-образования Яндекс.Практикум.

Наставники — это опытные IT-специалисты, которые отвечают на вопросы студентов и проводят воркшопы по особенно сложным темам курса. Специалисты совмещают наставничество с основной работой, в зависимости от курса это занимает от 6 до 12 часов в неделю. Это оплачиваемая занятость.


Вебинар «Как начать писать о технологиях». Расскажем, что такое хороший технический текст и как его написать

Reading time2 min
Views1.6K
16 июня в 19.00 (Мск) Яндекс.Практикум проводит открытый вебинар «Как начать писать о технологиях». На вебинаре мы расскажем, что такое хороший технический текст и с помощью каких приёмов его можно написать. Кроме этого, рассмотрим, как преодолеть самые популярные барьеры на пути к готовому и качественному материалу. Успешные приёмы подкрепим примерами из личной практики редактора и автора учебных курсов Яндекс.Практикума.

Вебинар будет полезен IT-специалистам, редакторам и контент-менеджерам:

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

Вебинар будет состоять из двух получасовых докладов и сессии «Вопросы и ответы».


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

Стандарт C++20: обзор новых возможностей C++. Часть 5 «Корутины»

Reading time9 min
Views20K


25 февраля автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов рассказал о новом этапе языка C++ — Стандарте C++20. В лекции сделан обзор основных нововведений Стандарта, рассказывается, как их применять уже сейчас и чем они могут быть полезны.

При подготовке вебинара стояла цель сделать обзор всех ключевых возможностей C++20. Поэтому вебинар получился насыщенным. Он растянулся на почти 2,5 часа. Для вашего удобства мы разбили текст на шесть частей:

  1. Модули и краткая история C++.
  2. Операция «космический корабль».
  3. Концепты.
  4. Ranges.
  5. Корутины.
  6. Другие фичи ядра и стандартной библиотеки. Заключение.

Это пятая часть, кратко рассказывающая о корутинах, или сопрограммах, в современном C++.

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



Но существуют решения, позволяющие усидеть на двух стульях.

Мотивация


Очень часто при программировании возникает задача вернуть из функции не один объект, а целый набор. Есть несколько вариантов решения:
Читать дальше →

Первая тысяча трудоустроенных выпускников Яндекс.Практикума: как мы помогаем нашим студентам находить новую работу

Reading time7 min
Views12K
В большинстве случаев люди приходят учиться в Яндекс.Практикум, чтобы уйти со старой работы в новую или смежную область. Чтобы студент после окончания обучения действительно нашёл новую работу, мы создали специальный карьерный трек, который помогает правильно ставить цели во время поиска работы, откликаться на вакансии и проходить собеседования. Благодаря карьерному треку мы трудоустроили 1300 выпускников Практикума в разные компании, включая Яндекс.

Меня зовут Таня Гудимова, я работаю в Карьерном центре Практикума и отвечаю за карьерный трек. В этом посте я расскажу, как в Практикуме устроен процесс трудоустройства после окончания обучения.



71,1% выпускников Практикума выходят на новую работу


Целевую аудиторию выпускников Практикума можно разделить на две группы:
Читать дальше →

Как Лёня с React на Swift переезжал

Reading time7 min
Views9.9K
Всем привет! Меня зовут Лёня, я фронтенд-разработчик в компании KOTELOV и выпускник курса «Мидл фронтенд-разработчик» в Яндекс.Практикуме. Общаясь с коллегами, которые занимаются мобильной разработкой, я понял, что у них всё гораздо сложнее, чем в вебе. Я взял свой телефон в руки, посмотрел на известные приложения типа телеги или Яндекс.Музыки с точки зрения человека, который их пишет, и подумал: «Вау, как круто! Я тоже хочу так уметь!»

Тогда я принял твёрдое решение изучить iOS-разработку и написать собственное приложение. На выбор было два языка: Objective-C и Swift. К динозаврам моё отношение подозрительное, поэтому я принял решение набивать шишки обо что-то помягче и посвежее.

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



Готовимся к переходу — изучаем SwiftUI


Два года назад Apple выпустила SwiftUI — новый фреймворк для своего языка. До этого разработчики писали на UI Kit, но это дело прошлого. Думаю, что на нём до сих пор пишут лишь потому, что сложно в один день переписать весь легаси-код на новый лад. Для себя я уже давно вынес правило: никогда не изучай старое, если есть новое. Но на всякий случай я изучил различия между старым UI Kit Storyboard и SwiftUI, а также мнения людей, которые в теме.
Читать дальше →

Исследование выпускников Яндекс.Практикума: честно рассказываем про трудоустройство

Reading time3 min
Views22K
Чтобы выбрать образовательный сервис, важно знать, каких результатов добиваются его выпускники. Институт образования НИУ ВШЭ опубликовал исследование трудоустройства выпускников Яндекс.Практикума, чтобы в принятии решения можно было опираться на достоверные данные.

Исследование показало, что 71,1% студентов трудоустраивается по выбранной специальности. Больше половины выпускников находят работу в первые два месяца после обучения. Это первое публичное исследование на рынке онлайн-образования в России.



Яндекс.Практикум открыл свои данные внешней экспертизе, чтобы любой человек, принимая решение о дополнительном профессиональном образовании, мог опираться на реальные и подтверждённые цифры. Это поможет потенциальным студентам принимать более взвешенное решение при выборе площадки для обучения.
Читать дальше →

Стандарт C++20: обзор новых возможностей C++. Часть 4 «Ranges»

Reading time10 min
Views31K


25 февраля автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов рассказал о новом этапе языка C++ — Стандарте C++20. В лекции сделан обзор всех основных нововведений Стандарта, рассказывается, как их применять уже сейчас, и чем они могут быть полезны.

При подготовке вебинара стояла цель сделать обзор всех ключевых возможностей C++20. Поэтому вебинар получился насыщенным. Он растянулся почти на 2,5 часа. Для вашего удобства текст мы разбили на шесть частей:

  1. Модули и краткая история C++.
  2. Операция «космический корабль».
  3. Концепты.
  4. Ranges.
  5. Корутины.
  6. Другие фичи ядра и стандартной библиотеки. Заключение.

Это четвёртая часть, рассказывающая о новом модуле стандартной библиотеки, — Ranges.
Читать дальше →

Как выражение лица на фотке в резюме влияет на ощущение компетентности (в России)

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

В комментариях rcl задал интересный вопрос: «Будут ли отличаться результаты в России?»

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


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

Стандарт C++20: обзор новых возможностей C++. Часть 3 «Концепты»

Reading time11 min
Views49K


25 февраля автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов рассказал о новом этапе языка C++ — Стандарте C++20. В лекции сделан обзор всех основных нововведений Стандарта, рассказывается, как их применять уже сейчас и чем они могут быть полезны.

При подготовке вебинара стояла цель сделать обзор всех ключевых возможностей C++20. Поэтому вебинар получился насыщенным и растянулся на почти 2,5 часа. Для вашего удобства текст мы разбили на шесть частей:

  1. Модули и краткая история C++.
  2. Операция «космический корабль».
  3. Концепты.
  4. Ranges.
  5. Корутины.
  6. Другие фичи ядра и стандартной библиотеки. Заключение.

Это третья часть, рассказывающая о концептах и ограничениях в современном C++.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity