#skills
Приёмы Рефакторинга. Часть 2.🔖
В этой серии постов мы рассматриваем ключевые приёмы рефакторинга, которые помогут Вам поддерживать чистый и эффективный код.
1. Самоинкапсуляция поля (Self Encapsulate Field)
Проблема
Вы используете прямой доступ к приватным полями внутри класса.
class Range {
private int low, high;
boolean includes(int arg) {
return arg >= low && arg <= high;
}
}
class Range {
private int low, high;
boolean includes(int arg) {
return arg >= getLow() && arg <= getHigh();
}
int getLow() {
return low;
}
int getHigh() {
return high;
}
}
Проблема
У вас есть условный оператор, который, в зависимости от типа или свойств объекта, выполняет различные действия.
class Bird {
// ...
double getSpeed() {
switch (type) {
case EUROPEAN:
return getBaseSpeed();
case AFRICAN:
return getBaseSpeed() - getLoadFactor() * numberOfCoconuts;
case NORWEGIAN_BLUE:
return (isNailed) ? 0 : getBaseSpeed(voltage);
}
throw new RuntimeException("Should be unreachable");
}
}
abstract class Bird {
// ...
abstract double getSpeed();
}
class European extends Bird {
double getSpeed() {
return getBaseSpeed();
}
}
class African extends Bird {
double getSpeed() {
return getBaseSpeed() - getLoadFactor() * numberOfCoconuts;
}
}
class NorwegianBlue extends Bird {
double getSpeed() {
return (isNailed) ? 0 : getBaseSpeed(voltage);
}
}
// Somewhere in client code
speed = bird.getSpeed();
#internship
🔔Оплачиваемая Летняя Стажировка YADRO Импульс
#internship
Вакансия Frontend разработчик в стартап «ЭЛЕСКОП»❗️
🌐Характер работы: удалённый
🔔Занятость: 10-15 часов в неделю
💸Зарплата: от 10.000 до 15.000 ₽
⌛Срок работы: 6 месяцев, предусмотрен испытательный срок
🔥Опыт работы: не требуется
Скиллы:
— Навыки ReactJS
— Базовые знания HTML, CSS
Обязанности:
— Участие в разработке нового функционала.
— Рефакторинг кода, фикс багов
📎Подать заявку
#skills
Короткая справка по Git!💻
Когда работаешь с большим проектом или в команде разработчиков, становится очень сложно уследить за всеми изменениями - поэтому программисты используют Git!
Git - это система контроля версий, которая помогает отслеживать изменения в коде, объединять изменения внесенные разными разработчиками, и в случае чего откатиться к одной из прошлых версий кода!
git config --global user.name "name"
git config --global user.email "email@mail.ru"
cd path/to/your/project
git init
git add .
git commit -m "Initial commit"
git branch new-feature
git checkout new-feature
git checkout master
git merge new-feature
git remote add origin https://github.com/usr/repo.git
git push -u origin master
git pull origin master
#skills
База по Docker 👍
Устал каждый раз тратить 500 часов на то, чтобы настроить окружение для работы с проектом? Тут на помощь и приходит Docker!
docker run -it ubuntu
apt update
apt install nodejs
docker build -t myimage .
#internship
Weekend Offer для Go-разработчиков
(и тех, кто готов на него свитчнуться)
💵 Предложение:
Пройдите все этапы отбора и получите оффер на грейд middle или senior за одни выходные.
❗️Дедлайн подачи заявки: 11 апреля❗️
🔗 Подать заявку
#internship
Оплачиваемая стажировка в Sber Seasons по направлению AppSec
❗️Требования и необходимые знания:
✅ знание основ ИБ (виды угроз, методы защиты, тактики проведения атак);
✅ опыт поиска и эксплуатации уязвимостей OWASP Top 10;
✅ понимание, что такое SAST, SCA, DAST, отличия практик;
✅ опыт разработки на любом ООП-языке;
✅ опыт работы с Linux;
✅ опыт работы с любыми DevOps-инструментами (Jenkins, K8S, Docker и др.).
📌 Стажировки есть в разных городах, в каждом городе разные направления.
🔗 Подать заявку
#internship
🚀 Оплачиваемая стажировка Cloud ru для AppSec-инженеров!
✅ Условия
— Оплачиваемая стажировка
— Продолжительность — три месяца
— Работа в офисе Cloud ru в Москве или удаленно из РФ
🤩 За три месяца вы:
— прокачаете навыки безопасной разработки приложений;
— научитесь определять уязвимости в коде на языках Go, Python, JavaScript, TypeScript и других;
— получите опыт работы с SAST-, DAST- и SCA-инструментами;
— научитесь проводить моделирование угроз и security code review.
⏳ Дедлайн подачи заявки: 6 апреля;
🔗 Подать заявку
#internship
👩🏻💻 Оплачиваемая Стажировка в КРОК
Направления:
🔸 Разработка
🔸 CROC Cloud Services
🔸 Программная и вычислительная инфраструктура
🔸 Кибербезопасность
📆 Когда?
Стажировка не ограничена сезоном – набор идет в течение всего года и регулярно открываются новые вакансии для стажеров в разных направлениях.
⏳ Сколько идет стажировка?
От 3 до 12 месяцев.
🔗 Подать заявку
#skills
Программа UniCredit IT Academy
👨🏻🎓 Академия для начинающих Data-специалистов
Направления:
🔸 Аналитик хранилища данных
🔸 Разработчик хранилища данных
✅ Оффер после окончания программы:
Через восемь месяцев лучших участников программы пригласят в штат команды Data Office.
💰 Зарплата с первого дня программы:
Во время обучения (3 месяца) составляет 50 000 рублей, по итогам Вашей успеваемости индексируется — то есть чем лучше успеваемость, тем выше Ваш оклад.
✔️ Условия:
Москва и Московская область. Готовность посвящать программе от 35 часов в неделю. Студент 4-го курса и старше.
⏳ Дедлайн подачи заявок: 25 марта;
🔗 Подать заявку
#internship
Оплачиваемая стажировка в Яндексе
Направления:
🔸 Backend
🔸 Frontend
🔸 Mobile
🔸 DevOps
🔸 ML
🔸 Инфобез
🔸 QA-инженер
📌 После заполнения анкеты на сайте, может потребоваться выполнить тестовое задание
🔗 Подать заявку
#internship
Открыт набор на Оплачиваемую Стажировку в VK
IT-направления
🔸 Разработка
🔸 Машинное обучение
🔸 Тестирование
🔸 Аналитика
🔸 Инфраструктура
🔗 Подать заявку
#internship
Оплачиваемая Стажировка в Big Data.МегаФон
Чем предстоит заниматься:
🔸 Аналитикой клиентской базы и продуктов компании
🔸 Дизайном и запуском АБ-тестов
🔸 Разработкой аналитических дашбордов
Стек: Oracle (SQL, PL/SQL), Python, QlikSense BI, Hive, PySpark, git
Ожидания от кандидатов:
🔸 Знание языков: SQL, Python (Pandas, NumPy, Matplotlib, Seaborn, SciPy)
🔸 Знание Excel и основ статистики
🔸 Желательно: умение работать с BI системами, PySpark
🔸 30 - 40 часов в неделю (гибрид/удаленка)
🔗 Направляйте резюме на почту: career@megafon.ru
#events
Серия митапов Intern Meetup Days
15 марта — Mobile: iOS, Android, Flutter
18 марта — Backend
19 марта — Frontend
20 марта — Data Science: ML+ аналитика
Что вас ждёт?
🔸 Лекции от разработчиков и рекрутеров
🔸 Стенды с командами Яндекса и рекрутерами
🔸 Пробное собеседование на стажировку в Яндекс
📌 Пробное собеседование — это полноценное интервью с обратной связью. При успешном прохождении оно засчитывается за полноценную секцию, а в случае неудачи кандидат не теряет возможности откликнуться на вакансию повторно.
📌 Чтобы участвовать офлайн, нужно пройти предварительный отбор — решить задачи на Яндекс Контесте до 6 марта включительно.
🔗 Подать заявку
#internship
Fast Track в Яндекс за 2 дня.
📌 Для участия, как правило, необходимо заранее решить несколько задач на онлайн-платформе.
02-03 марта
Backend: Python, Go
🔗 Записаться
23-24 марта
Backend: C++, Python
🔗 Записаться
#forum
Фестиваль о карьере в IT от Яндекс 📱
Young Con — фест-приключение по Вселенной Яндекса для тех, кто увлечен технологиями, научной фантастикой и хочет связать свою карьеру с IT.
#skills
Приёмы Рефакторинга. Часть 1.🔖
Рефакторинг — это, в первую очередь, превращение грязного кода в чистый. Чистый и эффективный код не только облегчает поддержку и развитие проекта, но и уменьшает количество ошибок.
Проблема
У вас есть фрагмент кода, который можно сгруппировать.
def printOwing(self):
self.printBanner()
# print details
print("name:", self.name)
print("amount:", self.getOutstanding())
def printOwing(self):
self.printBanner()
self.printDetails(self.getOutstanding())
def printDetails(self, outstanding):
print("name:", self.name)
print("amount:", outstanding)
Проблема
Служебный класс не содержит метода, который вам нужен, при этом у вас нет возможности добавить метод в этот класс.
class Report:
# ...
def sendReport(self):
nextDay = Date(self.previousEnd.getYear(),
self.previousEnd.getMonth(), self.previousEnd.getDate() + 1)
# ...
class Report:
# ...
def sendReport(self):
newStart = self._nextDay(self.previousEnd)
# ...
def _nextDay(self, arg):
return Date(arg.getYear(), arg.getMonth(), arg.getDate() + 1)
#internship
IT-город - Оплачиваемая Стажировка в Правительстве Москвы✔️
Направления:
— Разработка
— Тестирование
— Информационная Безопасность
— Аналитика Данных
— Бизнес и Системный Анализ
— Другие
🔔Удобный формат работы
Выбери график: 20 или 40 часов в неделю, работай в офисе или в гибридном формате
Прояви себя и получи постоянную работу в Департаменте информационных технологий Москвы после стажировки
#internship #skills
Открыт набор в Летние Школы в Яндекс! 📱
Летние школы — это ежегодная образовательная программа Яндекса, больше половины выпускников которой становятся стажёрами и сотрудниками компании.
#hack
Новый сезон ЛЦТ объявлен открытым!
Стартовал самый масштабный хакатон в мире.
Присоединяйся к лучшим из лучших, собери команду и поборись за призовой фонд — 50 000 000 ₽.
#internship
Оплачиваемая Стажировка в АТОН
Условия:
💵 Оплачиваемая стажировка
🖥 Online-формат
⌛️ Гибкий график, ты сможешь совмещать учебу и работу
✉️ Оффер при успешном прохождении программы
Направления:
Java
Python
C#
SQL
Тестирование
Многое другое
Продолжительность: 2 месяца
❗️Дедлайн подачи заявки: 6 мая❗️
🔗 Подать заявку
#internship
Вакансия Помощник программиста в стартап «ЭЛЕСКОП»
🖥 Характер работы: удалённый
⏳ Занятость: 10-15 часов в неделею
💵 Зарплата: от 10.000 до 15.000 ₽
⏰ Срок работы: 6 месяцев, предусмотрен испытательный срок
Опыт работы: не требуется
📌 Скиллы: Умение работать с функционалом NodeJs и базовое знание Python
Обязанности:
— Разработка и поддержка API с использованием Swagger для документации.
— Написание модульных и интеграционных тестов для существующего кода.
— Участие в разработке нового функционала и исправлении багов.
— Отладка и оптимизация существующего кода.
🔗 Подать заявку
#internship
👩🏻💻 Оплачиваемая Стажировка в Авито
Направления:
🔸 Android
🔸 Backend
🔸 Frontend
🔸 QA
💰 Тебя ждёт:
— гибрид в Москве или удаленка
— занятость на стажировке от 25 часов в неделю
— 6 месяцев стажировки и переход в штат в июне 2024 года.
✔️ Ты должен:
— владеть стеком, соответствующим направлению стажировки
— быть студентом 3 курса и старше или выпускником
⏳ Дедлайн подачи заявки: 28 марта;
🔗 Подать заявку
#internship
Новый набор на стажировки в Тинькофф
Направления:
🔸 Разработка (Много направлений для разных языков)
🔸 QA
🔸 Аналитика
🔸 Дизайн
📌 Работать можно от 20 часов в неделю удаленно или в одном из офисов в России, Беларуси или Казахстане.
📌 По итогам стажировки, лучших пригласят в штат.
📌 Даты экзаменов на разные направления различаются, но все они будут в конце марта — апреле.
🔗 Подать заявку
#internship
Новый сезон Оплачиваемой стажировки Sberseasons
Направления:
🔸 Разработка
🔸 Анализ Данных
🔸 Кибербезопасность
🔸 Дизайн
🔸 Бизнес
📌 Стажировки есть в разных городах, в каждом городе разные направления.
🔗 Подать заявку
#internship
Оплачиваемая Программа Стажировок «IT-старт» от Газпром нефти
Направления:
🔸 1С
🔸 Аналитика данных
🔸 Разработка
🔸 Архитектура данных
🔸 Администрирование проектов
🔸 Системное администрирование и аналитика
🔸 Сервис-менеджмент администрирование
Дедлайн подачи заявки: 7 марта.
🔗 Зарегистрироваться
#hack
GPM AdTech Challenge
Треки:
🔸 Сервис перевода и дублирования видео: Создание пользовательского интерфейса и интеграция с открытым инструментарием для перевода и дублирования развлекательных видео.
🔸 Разработка модели с 3rd-party конверсиями.
🔸 Улучшайзер креативов: Создание инструмента для генерации и выбора наилучшего варианта баннера, увеличивающего эффективность рекламы.
Призовой фонд: 1 000 000 р.
Дедлайн регистрации: 10 марта.
🔗 Зарегистрироваться
#internship
Подборка Стажировок на Пятницу!
🔸 Стажер QA engineer в OZON
🔗 Ссылка на вакансию
🔸 Стажер аналитик в Альфа-Банк
🔗 Ссылка на вакансию
🔸 Стажер Frontend developer в СБЕР
🔗 Ссылка на вакансию
🔸 Стажер разработчик 1C в Б1
🔗 Ссылка на вакансию
🔸 Стажер Backend разработчик в Yandex
🔗 Ссылка на вакансию
🔸 Junior Product Manager в МегаФон
🔗 Ссылка на вакансию
📌 В некоторых компаниях есть стажировки не только на указанное направление, так что ищите своё направление на их сайте.
#hack
Соревнование по машинному обучению Data Fusion Contest 2024
Задачи:
🔸 Геоаналитика: Предсказание локаций для снятия наличных на основе синтетических транзакционных данных. Метрика: бинарная кроссэнтропия.
🔸 Модели оттока: Решение Time-to-Event задачи на основе синтетических транзакционных данных пользователя. Метрика: concordance index (CI).
Призовой фонд: 2 000 000 рублей;
Дедлайн загрузки решений: 5 апреля 2024;
🔗 Зарегистрироваться
#hack
Олимпиада для первых от МегаФона
Для кого?
Студенты 3-4 курса и старше.
Направления:
Инженерное дело, IT, Big Data, маркетинг.
Призовой фонд:
🔸 Денежные призы;
🔸 Возможность пройти стажировку в МегаФоне;
🔸 Ускоренный отбор на открытые вакансии МегаФона;
🔸 Другие.
Дедлайн регистрации: 1 марта.
🔗 Зарегистрироваться