Яндекс Практикум. Программирование и анализ данных
11.8K subscribers
544 photos
2 videos
1 file
533 links
Полезное для начинающих разработчиков, тестировщиков и аналитиков данных. Отвечаем на вопросы и делимся новостями Практикума. Выбрать курс и попробовать свои силы бесплатно: https://ya.cc/t/3bO2f2245AmCeQ

Номер заявления в РКН 4970781590
Download Telegram
Поставил таймер и посчитал, сколько времени понадобилось на учёбу

именно так поступил один из студентов курса «Мидл Python-разработчик». Почитать его исследование и рассмотреть диаграммы можно в статье.

Сейчас вы можете выбрать подходящую именно вам нагрузку — интенсивную (от 15 часов в неделю) или комфортную (от 10 часов в неделю).

Ознакомиться с программой обучения и пройти вступительное тестирование можно на сайте курса.
Сколько времени уходит на учёбу в Яндекс Практикуме?

Мы советуем уделять учёбе как минимум 15–20 часов в неделю. Это среднее значение. Оно подразумевает, что кому-то может понадобиться больше времени, а кому-то — меньше.
Время, которое потратите именно вы, зависит от двух вещей:

1️⃣спринта, на котором вы находитесь. Некоторые темы — довольно сложные, поэтому на них уходит больше времени;
2️⃣индивидуального темпа обучения. Он у всех разный: кто-то осваивает материал быстрее, кто-то — медленнее.

Рекомендация про 15—20 часов появилась главным образом из нашего опыта и полученных данных. После завершения спринта студенты проходят опросник — рассказывают, сколько времени у них ушло на теорию и практику. К примеру, на курсе «Мидл Python-разработчик» 75% студентов отмечают, что тратят до 15 часов в неделю, и лишь 15% — более 20 часов.

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

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

На основе полученной информации мы составляем программу и регулярно калибруем её, перераспределяя нагрузку внутри курса.
👍14👎3
Как дойти до диплома: советы выпускника

Всем привет, я Борис, выпускник курса Профессиональная вёрстка на HTML и CSS. Я постоянно учусь и повышаю квалификацию, и у меня есть лайфхак, как довести начатое до конца.

✔️Фиксируйте прогресс. В финальном проекте я сделал страничку с рефлексией впечатлений от пройденного материала. Это было продолжением проектных заданий. Мне помог подход куратора Саши Патлуха, с которым мы обсуждали не только технические вопросы, но и подходы, отношение к работе, важность отмечать достижения и факапы. Это очень помогало в периоды, когда падала мотивация, и давало позитивный заряд.

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

✔️Ещё один универсальный совет всем студентам: не стесняйтесь задавать преподавателям вопросы. На всех курсах Практикума есть онлайн-созвоны, где общаются вживую. Преподаватель расскажет вам не только о техническом решении, которое можно найти самостоятельно на Хабре или Stack Overflow. Но и о том, какая вообще проблема решается и почему и какое место в этом процессе отводиться разработчику.

Желаю всем удачи!
👍13🔥42👎1
Мудрая жаба хочет сообщить нам кое-что важное, для этого она прыгает по кувшинкам с буквами.

Дополните код и прочитайте её сообщение.

public class JavaЖаба {
public static void main(String[] args) {
String квак = "❤️абвгдеёжзийклмнопрстуфхцчшщьыъэюя";
int[] прыг = {-1, 1, 17, 1, -17, 11, 8, 24, 2, 9, -7};

StringBuilder итого = new StringBuilder();
int далее = 0;
for(int куда : прыг){
далее += куда;
if(далее < 0) {
// туда?
} else if (далее >= квак.length()) {
// сюда?
}
итого.append(квак.charAt(далее));
}
System.out.println(итого);
}
}
🔥54👍4👎1👌1
Варианты ответа:

1️⃣ туда: далее = квак.length() + далее;
сюда: далее = далее - квак.length();

2️⃣ туда: далее--;
сюда: далее = далее++;

3️⃣туда: далее = квак.length() / 2 + 1;
сюда: далее = далее / 2 - 1;

4️⃣ туда: далее = далее - 33;
сюда: далее = далее + 33;

Какой из них верный?
👎1
Команда Яндекс Практикума изучила требования работодателей к инженерам по автоматизации тестирования. В подробной статье на Хабре рассказываем, что чаще используют для автоматизации — Java или Python, есть ли разделение внутри профессии на тех, кто пишет автотесты только на бэк или только на UI, и о других наблюдениях.

Читать статью
🔥10👍2
Дайджест марта 📍

Март оказался насыщенным: мы говорили о требованиях к разработчикам, сотрудничестве эдтеха и вузов, обучении за счёт компании и многом другом. Делимся с вами подборкой самых интересных публикаций и статей.

▪️Сколько времени уходит на учёбу в Яндекс Практикуме

▪️Как дойти до диплома: советы выпускника

▪️На что смотрит лид при проверке тестовых заданий

▪️Как согласовать обучение за счёт компании

▪️Какие профессии есть в анализе данных: от инженеров до дата-сайентистов

▪️Чего работодатели ждут от джуниор-разработчиков в 2024 году

▪️Правда ли, что программы вузов для разработчиков отстают от индустрии — и почему это не так важно

▪️Высшее образование от Яндекс Практикума: как устроено сотрудничество эдтеха и вузов

▪️15+ полезных ссылок для начинающего специалиста по Data Science

▪️Обучение системного инженера. Путеводитель по ключевым навыкам и знаниям

Приглашаем к прочтению! Делитесь мыслями в комментариях, если какая-нибудь из статей вас зацепила 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥32
5 книг для начинающего разработчика 1С

Привет, друзья! Мы с командой курса «1С разработчик» хотим поделиться книгами, с которых можно начать знакомство с языком. Некоторые из них рассчитаны на тех, кто далёк от программирования, а другие могут стать справочным материалом и для опытных разработчиков.

🟡 1C:Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы — классика, с которой начинали многие разработчики 1С, при этом книга постоянно обновляется и актуальна.

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

🟡 1С:Программирование для начинающих. Детям и родителям, менеджерам и руководителям. Разработка в системе «1С:Предприятие 8.3» — как ясно из названия, эта книга не для разработчиков, а для тех, кто максимально далёк от написания кода.

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

🟡 Разработка сложных отчётов в «1С:Предприятии 8». Система компоновки данных — здесь наоборот обманчиво пугающее название — книга начинается с самых обычных запросов, а потом усложняется.

Книга даёт фундаментальные знания об отчётах и работе с системой компоновки данных. Очень рекомендуем, так как без отчётов в 1С — никуда.

🟡 Технологии интеграции «1С:Предприятия 8.3» — учебник для тех, кто уже освоил азы. В книге описаны интеграции всех видов, всего и со всем.

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

🟡 Знакомство с разработкой мобильных приложений на платформе «1С:Предприятие 8» — учебник для понимания основ мобильной разработки: от подготовки устройства и платформы разработчика до написания готового приложения на Android.

Если вы решите, что книг вам недостаточно, приходите на курс — обучение займёт 6 месяцев. Ближайший старт — 25 апреля.

Узнать о курсе подробнее и начать обучение бесплатно
👍13🗿122🔥1
Провести выходные с пользой

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

Практическая часть займёт примерно 2 часа. Вы создадите программу для учёта фильмов, контактов людей и заказов — без единой строчки кода! Мы проиллюстрировали все шаги, чтобы у вас точно всё получилось.

Познакомиться с языком и начать учиться бесплатно
🔥9👍4🥴3🫡2
Работа с секретами на машинах разработчиков

Максимально коротко рассказываем о секретах — какие они бывают, и как с ними работать на машинах разработчиков. Например, как их туда безопасно доставить и употребить.

Виды секретов
🚫Продовые, тестовые и CI/CD секреты должны быть надёжно защищены. В идеале, они не выходят за пределы безопасного контура, на машине разработчика их быть не должно.
🆗Локальные и персональные — секреты, которые могут понадобиться на машине разработчика для локальной разработки, тестирования. Ни при каких обстоятельствах нельзя, чтобы они пересекались с продовыми.

Время жизни
🚫Вечные — дают неограниченный по времени доступ. Это серьёзная угроза безопасности.
🤔Долгоживущие — срок их жизни ограничен, поэтому они более безопасны в случаях утечки, а также вынуждают регулярно проверять их на актуальность.
🆗Короткоживущие — идеальный вариант для машины разработчика, живут крайне недолго. Наиболее безопасны.

Хранение
🚫Не храните секреты на локальных хранилищах персональных машин или по единому ключу для доступа ко всем секретам.
🚫Нельзя хранить секреты в переменных среды, локальных файлах, в открытом виде в репозитории или на стикере монитора.
🆗Используйте, например, опенсорсный Hashicorp Vault, проприетарный Yandex Cloud Lockbox, AWS Secrets Manager или другие хранилища.

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

Употребление
🤔Лучше не хранить секреты долгосрочно на стороне потребления, например, в локальных файлах или даже защищённых хранилищах.
🆗Секреты должны находиться на машинке только в рамках сессии употребления, после чего их удаляют без остатка.

Если хотите узнать о теме больше, читайте «Как донести секреты до dev-тачки и не пролить?». В статье мы более широко раскрываем каждый пункт, а также делимся примерами скриптов для bash.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
C++ для начинающих: подборка бесплатных ресурсов 📎

Недавно мы проводили опрос среди подписчиков — оказалось, многим интересен C++. Поэтому мы решили поделиться лекциями, блогами и другими полезными ресурсами, с которых можно начать знакомство с языком. Подборку собирал Савва Лебедев — программист с семилетним стажем, наставник и менеджер команды наставников на курсе «Разработчик C++».

▫️Леĸции Константина Владимирова — Константин преподаёт в МФТИ, а ранее работал ведущим инженером ĸомпиляторов в Intel. На его личном ĸанале есть что посмотреть и начинающим, и продолжающим: 2 базовых ĸурса и 1 магистерсĸий.

▫️Добрый, добрый C++ — Сергей Балаĸирев делает обучающие видео и ĸурсы уже много лет. Сейчас на его ĸанале уже можно найти ĸурсы по С и ĸурс по C++, ĸоторый на апрель 2024 года ещё в процессе.

▫️Learn C++ — этот ресурс на английском хорош тем, что все темы чётĸо струĸтурированы и видны с заглавной страницы. Есть и теория, и праĸтиĸа — всё вводим ручĸами и ĸомпилируем где-то у себя. Обновления — тоже есть. Слева ĸолонĸа поĸазывает всё, что пересмотрели, и это здорово!

▫️CodeWars — сайт с задачами, ĸоторые делают другие пользователи. Задачи в нём больше на логиĸу и отработĸу базовых логичесĸих ĸонструĸций. Алгоритмичесĸие задачи тоже можно встретить, но более лёгĸий порог входа — отличительная сторона сайта.

▫️Modernes C++ — сайт одного из гуру и ценителей C++ — Рейнера Гримма. Чаще всего о новых фишĸах языĸа вы узнаете отсюда. Темы, которые иногда плохо документированы даже на cppreference, разбирает детально — не можем не порекомендовать.

▫️Блог Антона Полухина — Антон — разработчиĸ в Яндеĸсе, но главное — разработчиĸ библиотеĸ Boost и участниĸ рабочей группы 21, созданной ĸомитетом стандарта C++. Он часто первым публиĸует на руссĸом анонсы принятых идей в будущий стандарт C++, делится историями из ĸоммерчесĸой разработĸи, например, про фишĸи из userver (бэĸенд-сервер, написанный на последнем C++).

▫️Блог Андрея Карпова — Андрей — лицо ĸомпании PVS-Studio — статичесĸого анализатора для C++ и других языĸов. В блоге компании много ĸлассных анализов open source программ, подбороĸ лучших праĸтиĸ и интересных историй.

▫️pro.cxx — чат по C++, в ĸоторый «нельзя приходить с простыми вопросами» — часто там обсуждают более сложные и глубоĸие темы. Там же сидят разработчиĸи из рабочей группы 21 и организаторы ĸонференций. Анонсы мероприятий часто бывают именно тут.

▫️Грокаем C++ — канал с разбором задачеĸ, тем, ĸоторые точно будут интересны и новичĸу, и продолжающему. Хорошее ĸачество выбора тем и их проработки.

▫️this->notes. — заметĸи про плюсы и не тольĸо от техлида в Яндеĸсе. Делится полезными ссылками, своими наблюдениями, новостями и программерскими историями.

Сохраняйте и делитесь, если считаете подборку полезной.
А еще больше полезных ресурсов вы найдете в статье📃
27🔥15👍8
Разомнем мозги: C++ задача 🧠

Савва поделился не только подборкой из поста выше, но и интересной задачей, которая попалась ему на собеседовании в Яндекс⬇️

Дана отсортированная последовательность целых чисел, индекс index и число k. Необходимо вернуть k ближайших элементов к числу, которое находится в index.

Размер последовательности: 1 <= N <= 10^6
Число k: 0 <= k <= N
Индекс элемента: 0 <= index < N

Примеры:

[1, 3, 5, 7, 9, 12] index = 3, k = 2
Ответ: [7, 5] или [7, 9]


[1, 3, 4, 12, 15, 15, 18] index 3, k = 3
Ответ: [12, 15, 15]


Попробуете решить? Ждём ваши ответы в комментариях! ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡6👍4
Решение задачи из предыдущего поста ☺️

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

std::vector<int> FindKNearest(const std::vector<int>& array, size_t index, size_t k) {
std::vector<int> result;
result.reserve(k);

int left = index;
int right = left + 1;
auto target = array[index];

while (k > result.size() && (left >= 0 || right < array.size())) {
if ((left >= 0) && ((right >= array.size()) || (target - array[left] < array[right] - target))) {
result.emplace_back(array[left--]);
} else {
result.emplace_back(array[right++]);
}
}

return result;
}


Если вы хотите освоить новый язык программирования, повысить грейд или просто брать в работу более сложные задачи, то приходите учиться в Практикум 🖤
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5
Как найти работу после обучения на IT-специалиста? Воспринимают ли работодатели дипломы о прохождении курсов всерьёз? А что насчёт зарплаты и удалёнки?

На все эти вопросы вам ответят IT-рекрутеры из Яндекса, Альфа-Банка и Wildberries на бесплатном вебинаре Яндекс Практикума.

✔️ Встречаемся 24 апреля в 19:00

Чтобы принять участие, нужно только зарегистрироваться. Если вы не сможете присоединиться, ничего страшного — вам придёт запись на почту ✉️
👍111🔥1
Вебинар «Старт в Python-разработке: выпускники Практикума делятся опытом» 📹

Бесплатно, 25 апреля в 19:00 по Москве

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

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

Готовы отвечать на ваши вопросы:
• Яна Бубнова, разработчица в Beeline Cloud и выпускница курса «Python-разработчик»
• Игорь Галицкий, IT-предприниматель, выпускник курса «Python-разработчик»
• Виктория Выговская, старший куратор на курсах Python-разработки в Практикуме

Точно расскажем:
— из каких сфер можно перейти в разработку;
— что важно учесть перед учёбой: на какую загрузку рассчитывать, как совмещать с работой;
— как найти первую работу и первых заказчиков: в какой момент начинать искать, как повысить шансы на успех.

⚡️Сразу после регистрации вы получите подарок — аудиокурс-профориентацию в сфере разработки.

Напомним о вебинаре за час до начала, а после трансляции пришлём запись.

Зарегистрироваться на вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3🗿1
Знакомьтесь! Это Яна, выпускница курса «Python-разработчик» и разработчица в Beeline Cloud. Она пришла пригласить вас на сегодняшний вебинар и поделиться советами по учёбе⤵️
Please open Telegram to view this post
VIEW IN TELEGRAM
2
5 советов будущим студентам: как доучиться до конца и взять максимум пользы

1️⃣ Создайте дефицит развлечений. Урежьте или сократите до нуля привычный развлекательный контент — попрощайтесь с YouTube, сериалами, художественными книгами. На фоне скуки учебные материалы станут в разы интереснее!

2️⃣ Культивируйте удовольствие. Найдите моменты в обучении, которые нравятся больше всего, и старайтесь почаще их повторять.

3️⃣ Ведите дневник, фиксируйте свои успехи и неудачи. Перечитывайте раз в месяц и радуйтесь росту. Дневник помогает осознать одну простую вещь: вы со всем справитесь. Например, ещё месяц назад вы могли сидеть над задачей три дня, а теперь она даётся легко и просто.

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

4️⃣ Знакомьтесь со своей когортой, выпускниками, наставниками. Довести дело до конца всегда проще, когда есть комьюнити. Я закончила курс больше года назад, но мы с однокурсниками до сих пор общаюсь в чатах, кидаем друг другу вакансии, советуемся по работе. Если есть возможность - выходите в офлайн или встречайтесь еженедельно поболтать в зуме.

5️⃣ Потребляйте дополнительные материалы в самой приятной для себя форме. Если не нравится читать книги — смотрите лекции на YouTube. Бесят форумы — общайтесь с GPT. И опять же, культивируйте удовольствие!

Например, я люблю читать книги и общаться — вступила в книжный клуб для разработчиков «Ботаним!». Там мы вместе обсуждаем прочитанное в чате и встречаемся офлайн.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍4🏆1
#тонкости_языка: Python 🐍

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

Сегодня мы позвали Антона Репушко — автора курсов «Мидл Python-разработчик» и «Асинхронное программирование на Python».

Антон поделился примерами кода, которые иллюстрируют неочевидные особенности поведения Python.

📌 Генераторы и runtime
array = [1, 8, 15]
g = (x for x in array if array.count(x) > 0)
array = [2, 8, 22]

>>> print(list(g))
[8]


В выражении генератора предложение in вычисляется во время инициализации, но выражение с условием вычисляется только во время выполнения.

Таким образом, перед выполнением массив переназначается в список [2, 8, 22], и поскольку из 1, 8 и 15 только число 8 встречается больше 0 раз, генератор выдает только 8.

📌 Разница между is и =
>>> a = 256
>>> b = 256
>>> a is b
True

>>> a = 257
>>> b = 257
>>> a is b
False

>>> a = 257; b = 257
>>> a is b
True


Оператор is проверяет, относятся ли оба операнда к одному и тому же объекту.

Оператор == сравнивает значения обоих операндов и проверяет, совпадают ли они.

То есть is нужно использовать для ссылочного равенства, а == для равенства значений.

Пример, чтобы прояснить ситуацию:
>>> [] == []
True
>>> [] is [] # These are two empty lists at two different memory locations.
False


📌 Быть или не быть (is (not...) или is not)
>>> 'something' is not None
True
>>> 'something' is (not None)
False


is not — это отдельный оператор и его поведение отличается от случая, когда is и not чем-то разделены.

is not вычисляется в False только в случае, когда переменные по разные стороны оператора указывают на один и тот же объект.

Во всех остальных случаях выражение будет True.

👍 Поделитесь обратной связью в комментариях: интересно ли вам узнавать об особенностях языков? О каких языках хотелось бы узнать больше?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥101🗿1
Изучить основы Go за майские 💥

Бесплатный базовый курс «Основы Go» подойдёт бэкенд- и фронтенд-разработчикам, которые хотят освоить новый язык программирования. За ≈30 часов вы познакомитесь с особенностями языка и попрактикуетесь в редакторе кода.

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

Вы научитесь:
🔵Читать код на языке Go
🔵Проверять работоспособность кода при помощи юнит-тестов
🔵Использовать ООП
🔵Работать с файлами исходного кода
🔵Переводить код на Go с другого языка программирования
🔵Использовать внешние зависимости

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

→ Пройти бесплатный курс «Основы Go»
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥1😎1