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

Номер заявления в РКН 4970781590
Download Telegram
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
Всем привет! Хотим узнать о вас немного больше, чтобы сделать канал более полезным.

Поделитесь, на каком уровне вы находитесь и какие темы вам интересны — обязательно возьмём на заметку.

Если у вас есть предложения или любой фидбек — не стесняйтесь писать в комментарии⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Путь разработчика: из небольшой компании в Яндекс ⚡️

Мы пригласили выпускника курса «Алгоритмы и структуры данных» поделиться своей историей. Он расскажет о начале своего карьерного пути, решении устроиться в Яндекс и прохождении собеседований.

Ребята, привет! Меня зовут Иван Кузьмичев, сейчас я работаю фронтенд-разработчиком в команде «Яндекс Игры».

Моя первая работа была в классной небольшой компании в родном городе. Там я занимался разработкой сайтов на JavaScript, jQuery, Sass и Less для местных бизнесов и производств.

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

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

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

В плане «Яндекс Игр» мне повезло: это был октябрь 2022 года, полную удалёнку отменили через пару месяцев, но я успел заключить договор. До сих пор работаю удалённо.


⬇️ В следующем посте Иван расскажет, как проходил собеседование, и поделится советами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75
Как это было: собеседование в Яндекс ⬛️

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

При трудоустройстве я проходил два технических собеседования, две секции: первая была на знание языка, вторая — алгоритмическая.

Секции проходили в формате лайвкодинга — это было интересно, но сложно. Не все компании проводят лайвкодинг, например, на моём предыдущем месте работы такого не было.

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

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

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

После технических собеседований я пообщался с лидом команды — это было короткое собеседование-знакомство. Я просто рассказал о себе: как зовут, чем занимался.

Советы по подготовке к собеседованию

🟦Банальный совет — не волнуйтесь. Даже в крупных компаниях обычно всё довольно стандартно.

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

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

🟦В резюме подробно напишите, чем занимались, над какими проектами работали. Если работали в неизвестной компании, распишите, чем она занималась и почему была классной.
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5🔥4