Search
Write a publication
Pull to refresh
25
0
Ekaterina Shulyndina @eshulyndina

Редактор

Send message

Консоли больше не нужны (но это не точно)

Reading time5 min
Views9.2K

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

Читать далее

Профилирование Node.js. Доклад Яндекса

Reading time18 min
Views9.1K
Полтора года назад я выступил на FrontendConf и посвятил 40 минут профилированию. Перечисленные приемы и инструменты по-прежнему актуальны — сегодня публикую видео с подробным конспектом. Доклад расскажет, что такое профилирование, научит локализовывать потенциальные утечки памяти, а также немного углубит ваше понимание инструмента DevTools.

— Всем привет. Меня зовут Артём Несмиянов, я fullstack-разработчик Яндекс.Практикума. И, как видите, сегодня я хочу рассказать о профилировании Node.js, хотя это не совсем фронтендерская тема. Но сейчас очень много приложений используют фронтбэк, где есть свой server-side rendering, где нужно это все отдавать клиенту, и фронтендеру часто приходится взаимодействовать с Node.js. Иногда происходят вещи, которые могут повлиять на ваш сервер, положить его, перегрузить и так далее. С этим надо бороться. Я хочу показать, какие методы использовали мы. Это скорее введение в профилирование Node.js.
Читать дальше →

Pattern matching. Теперь и в Python

Reading time5 min
Views51K
Привет!

В юбилейный минор третьего питона наконец-то завезли pattern matching. Саму концепцию сложно назвать новой, она уже реализована во многих языках, причём как нового поколения (Rust, Golang), так и у тех, кому уже за 0x18 (Java).


Анонсировал pattern matching Гвидо ван Россум, автор языка программирования Python и «великодушный пожизненный диктатор»

Меня зовут Денис Кайшев, я код-ревьюер на курсе «Мидл Python-разработчик». В этом посте хочу рассказать, зачем в Python pattern matching и как с ним работать.

Синтаксически конструкция pattern matching по сути аналогична тому, как это представлено в ряде других языков:

Курс тестировщика пройден. А дальше что?

Reading time8 min
Views36K
Привет! На курсе «Инженер по тестированию» в Практикуме мы хотим не только обучить человека нужным навыкам, но и помочь выпускнику состояться в профессии. Поэтому у нас есть отдельное направление трудоустройства. Мы рассказываем, почему важно выбрать подходящую вакансию и компанию, как правильно оформить резюме и как подготовиться к собеседованию, а также находим интересные вакансии от партнёров.


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

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

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

Меня зовут Нина Уткина, я эксперт по трудоустройству на QA-факультете. В этом посте мы обсудим, как выпускнику онлайн-курса подготовить своё резюме и что его ждёт на собеседовании. Поможет мне в этом Кирилл Маркидонов, Head of QA в компании Exante, старший ревьюер на факультете «Инженер по тестированию».
Читать дальше →

Почему не надо бояться менять работу

Reading time9 min
Views83K
Раньше человека, который занимался постоянным обучением и саморазвитием, называли «вечным студентом». Переход на удалёнку, новые форматы образования, осознание того, что можно побольше работать на себя, а не дарить от двух до четырёх часов в день дороге на работу и обратно, — всё это приводит к тому, что спрос на смену профессии растёт с каждым годом.

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

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



Сейчас же активно реализую себя как психолог: провожу консультации с теми, кто меняет сферу деятельности и адаптируется к новому месту работы, включая тех, кто хочет повышения и развития в своей отрасли. Работаю наставником на курсе «Интернет-маркетолог» от Яндекс.Практикума, веду телеграм-канал про психологию.

В этом посте я затрону сразу несколько тем. Поговорим о карьерном кризисе после 30: что делать, если вы чувствуете, что застряли на месте. Обсудим правильную постановку целей для саморазвития, без которого никак. Оценим роль наставников для тех, кому это необходимо. Также под катом — о правильном позиционировании себя на работе и о разделении внимания.
Читать дальше →

Научно-исследовательские инициативы JetBrains

Reading time14 min
Views6.6K
«Develop with pleasure», «The drive to develop» — об этом вы наверняка от нас слышали. Но наши интересы далеко не ограничиваются разработкой и созданием мощных инструментов для повышения продуктивности. Мы верим, что можем многое изменить и сделать мир лучше. Один из верных способов — проведение исследований в области передовых технологий и образования. Совместно с ведущими научными учреждениями мира мы занимается прикладными исследованиями, способными влиять на жизни людей и двигать нас всех вперед.

Наши научные исследования объединены в рамках направления JetBrains Research.

Ниже мы представим исследовательские группы JetBrains Research и расскажем, чем они занимаются.

Наука сегодня для технологий будущего



JetBrains Research объединяет более 150 исследователей, участвующих в проектах более 19 лабораторий и групп. Лаборатории и группы ведут работу в самых разных направлениях — от физики элементарных частиц до разработки ПО.

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

Hello, Word! Разрабатываем браузерное расширение в 2021-м

Reading time5 min
Views20K
Привет!

Меня зовут Саша Коновалов, я разработчик в компании Oxonit и наставник на программе «Мидл фронтенд-разработчик» в Яндекс.Практикуме.

На примере разработки расширения «Hello, Word» я расскажу, как разрабатывать кроссбраузерное расширение со знаниями современного фронтенда:

  • для чего нужно кроссбраузерное расширение;
  • как его разработать под разные браузеры;
  • модульность кода, как переиспользовать компоненты и как современный фронтенд помогает в разработке расширений;
  • какие инструменты можно использовать для сборки и публикации расширений (webpack, web-ext).

Если вам интересно посмотреть исходники, я разместил их на GitHub.

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

Итак, создадим расширение – Hello, Word!


Hello, Word — это расширение для перевода и запоминания слов. Оно стало прототипом моего пет-проекта Wordzzz, поэтому в посте я буду приводить примеры из него.


Рисунок 1. Описание функциональности
Читать дальше →

Как составить резюме на английском для иностранной компании

Reading time6 min
Views40K
Привет! Меня зовут Лео Скляр, я методист направления английского языка в Яндекс.Практикуме. Сейчас занимаюсь подготовкой курса английского для работы. Он может быть полезен как программистам, так и другим специалистам из digital-сферы. Я решил обобщить актуальную и самую ценную информацию из этого курса в гайд по грамотному составлению резюме на английском.

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



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

1. Специфика англоязычного резюме


В отличие от принятого в России резюме, которое больше похоже на CV (Curriculum vitae — описание профессионального пути на две–три страницы в хронологическом порядке) — резюме для американских и европейских компаний — это одностраничный документ, составленный по чёткой структуре. Такая лаконичность может казаться удивительной, но одна страница — это общепринятый стандарт резюме за рубежом. Даже если опыт большой, в резюме стоит сохранить упоминание только трёх–пяти последних мест работы, вашу позицию и ключевые достижения. Как правило, работодателя интересует актуальный опыт. Если ему потребуется узнать о вас больше, он может запросить расширенную версию резюме.
Читать дальше →

Как обойти ограничение браузера и прикрепить сразу два файла и более: мультидобавление файлов

Reading time4 min
Views11K
Привет, Хабр!

Давайте решим нетривиальную задачу. Представьте, что вам нужно скачать данные через интерфейс элементарным способом, например, кликнуть по кнопке «Скачать файлы».

Возьмём по умолчанию Chrome v.88. Задача звучит так:

  • Сгенерировать файлы на стороне клиента.
  • Скачать все сгенерированные файлы одним кликом.

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


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

Вот небольшой пример скачивания с предварительным сжатием из документации:

var zip = new JSZip();
zip.file("Hello.txt", "Hello World\n");
var img = zip.folder("images");
img.file("smile.gif", imgData, {base64: true}); zip.generateAsync({type:"blob"}).then(function(content) {
// see FileSaver.js
saveAs(content, "example.zip"); });

«А где тут нетривиальность?» — спросите вы. И будете правы. А если речь идёт об одновременном скачивании с сайта двух, трёх или десяти файлов? Например: есть лист в селекте, в котором можно выбрать определённое количество файлов для скачивания. Введём дополнительное условие: у пользователя нет установленного архиватора, поэтому вариант со сжатием в архив отбрасываем. Как решить такую задачу?
Читать дальше →

Тестовое задание для фронтендера

Reading time6 min
Views34K

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

Верстальщик — такой человек, который хорошо разбирается в HTML и CSS и немного знает JavaScript. Ну то есть понимает, как в целом всё работает, но сильно не погружается. При этом бывает непросто выбрать хорошего верстальщика, потому что всех учат по-разному.

Чтобы решить эту проблему, собираем в одном месте опыт десятков собеседований с верстальщиками. Вместе с Дашей Владыко из фронтенд-аутсорса «Лига А.» рассказываем, на что смотреть в тестовом задании джунов и мидлов, и как отличить хороший результат от плохого. Плюс несколько практических советов — например, как выбирать плагины и составить тестовое задание.

Читать далее

Яндекс.Практикум – Аналитик данных. Окончание обучения

Reading time4 min
Views31K
Первая статья здесь.

Обучение в Яндекс.Практикуме закончилось, получен сертификат и можно подвести итоги по обучению.


Так же, после первой статьи, у многих возникли дополнительные вопросы, поэтому хотелось и на них ответить и показать немного практики. Кейсов освоено достаточно много, поэтому в рамках одной статьи все охватить не получится.
Читать дальше →

PHP 8 и развитие языка в 30 вопросах и ответах

Reading time14 min
Views14K
В конце ноября мы провели стрим с Никитой Поповым и Дмитрием Стоговым, ключевыми контрибьюторами ядра PHP. За полчаса мы получили 100+ вопросов и ребята не успели ответить на все. Поэтому я сгруппировал оставшиеся сообщения по темам, отсеял совсем специфические и собрал ответы в текстовом виде. Все острые и холиварные вопросы оставил.



Готовя ответы, по многим пунктам я консультировался с Никитой и другими активными участниками сообщества. Кстати, в эту субботу, 27 февраля, мы проводим новый стрим! Будет пара докладов, несколько дискуссий, интересные гости и возможность задать новые вопросы. Читайте те, что под катом и подключайтесь, чтобы задать новые.

Как выучить иностранный язык: алгоритм

Reading time13 min
Views168K

Если вы хоть немного пересекались с Machine Learning, то понимаете, что человеческий мозг — это, по сути, большая нейросеть. А раз так, то и работу с ним можно строить по известным в ML алгоритмам. Так я нашел универсальный способ выучить любой иностранный язык до нормального уровня в разумные сроки. И на себе проверил его эффективность.

Читать далее

Тесты должна писать разработка (?)

Reading time4 min
Views14K
Привет! Есть старый холивар на тему, кто же должен писать тесты: разработчики или тестировщики. Вроде как если в команде есть тестировщики, то логично, что тесты пишут они, правда? С другой стороны, ребята из разработки (помимо самой разработки) точно знают, как работает их код и как будет вести себя в тех или иных ситуациях. Как минимум предполагают.


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

Если тесты пишет разработка, можно решить сразу несколько проблем, например:

  • Ощутимо ускорить релизный цикл.
  • Снять нагрузку с тестирования.

В большинстве команд процесс выглядит примерно так:

  1. Разработчик создаёт новые фичи и допиливает существующие.
  2. Тестировщик всё это тестирует и пишет различные тест-кейсы.
  3. Автоматизатор, оправдывая название должности, автоматизирует всё по написанным тест-кейсам из п.2.

Вроде бы всё выглядит просто.

Но в этой парадигме есть слабые места.
Читать дальше →

Вебинар «Стандарт С++20»: обзор новых возможностей C++, введённых Стандартом C++20

Reading time1 min
Views4.7K
25 февраля Яндекс.Практикум проводит открытый вебинар «Стандарт С++20». Приглашаем разработчиков С++, которые хотят использовать последние возможности языка, а также программистов на других языках, которые хотят узнать, какие преимущества даёт разработка на C++.

На вебинаре максимально кратко и содержательно расскажем о новых фичах Стандарта: зачем они нужны, насколько они круты, когда и для чего их можно будет использовать в своих программах. Особое внимание уделим модулям, концептам, диапазонам (Ranges), корутинам и трёхстороннему сравнению. Также поговорим и об остальных нововведениях.

Вебинар будет состоять из двух частей: 70 минут — обзор новых возможностей, 20 минут — ответы на вопросы.


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

Как проходит собеседование Junior фронтенд-разработчика

Reading time8 min
Views80K
Меня зовут Максим Чеченёв, я фронтенд-разработчик уже почти девять лет. Работаю в компании MessageBird в Амстердаме и наставником на курсе «Веб-разработчик» в Яндекс.Практикуме. Ещё я веду канал в телеграме «Сеньор Разработчик».

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


Из чего состоит собеседование


Собеседование фронтенд-разработчика на начальных этапах мало чем отличается от любого другого.

Обычно собеседование можно разбить на три части:

  • знакомство,
  • технические вопросы и/или задание,
  • ваши вопросы.

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

Код-ревью в Практикуме: как мы делаем его быстрее и эффективнее

Reading time6 min
Views17K
Код-ревью — полезный инструмент для командной разработки и для прокачки собственных навыков. Код-ревью помогает обнаружить недочёты в коде: как синтаксические или стилистические ошибки, так и неоптимальные или неэффективные подходы. В командной разработке, когда команда делает большой проект, код-ревью также помогает оставаться в курсе изменений в разных частях кода.

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



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

Код-ревью в Практикуме


В Практикуме мы проводим ревью кода на собственной онлайн-платформе, которая называется «Ревизор». Туда попадают все сданные студентами работы. Платформа работает по аналогии с интерфейсами в Gitlab/Github/Bitbucket: можно просмотреть список файлов, изменения между версиями, а также оставить комментарии к определённым строкам.
Читать дальше →

Как законтрибьютить в опенсорс, чтобы не сгореть со стыда

Reading time13 min
Views14K

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


На осеннем TechTrain Андрей Солнцев (asolntsev) и Артем Ерошенко (eroshenkoam) показали на примере Allure и Selenide, как справиться с техническими и психологическими трудностями. Прямо во время доклада они сделали изменения в опенсорсных проектах.



Под катом — расшифровка их доклада и видео с фестиваля. Далее повествование будет от лица спикеров.

Не делать работу дважды

Reading time11 min
Views6.5K

30 сентября на конференции DevOps Live прозвучал доклад «Активация обмена знаниями» об обмене опытом и том, как бороться с двойной работой. Под катом — доклад в текстовом виде, обогащённый некоторыми деталями, и видео с докладом.

Читать далее

Конвертеры маршрутов в Django 2.0+ (path converters)

Reading time8 min
Views11K
Всем привет!

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

Меня зовут Александр Иванов, я наставник в Яндекс.Практикуме на факультете бэкенд-разработки и ведущий разработчик в Лаборатории компьютерного моделирования. В этой статье я расскажу о конвертерах маршрутов в Django и покажу преимущества их использования.



Первое, с чего начну, — границы применимости:

  1. версия Django 2.0+;
  2. регистрация маршрутов должна выполняться с помощью django.urls.path.

Итак, когда к Django-серверу прилетает запрос, он сперва проходит через цепочку middleware, а затем в работу включается URLResolver (алгоритм). Задача последнего — найти в списке зарегистрированных маршрутов подходящий.

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

Information

Rating
Does not participate
Works in
Registered
Activity