usrbincoding | Неотсортированное

Telegram-канал usrbincoding - /usr/bin/coding | Программирование

-

Полезные хитрости для программистов без воды и курсов

Подписаться на канал

/usr/bin/coding | Программирование

#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;
}
}

2. Замена условного оператора полиморфизмом (Replace Conditional with Polymorphism)
Проблема
У вас есть условный оператор, который, в зависимости от типа или свойств объекта, выполняет различные действия.

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();


Надеемся это Вам поможет👍

Читать полностью…

/usr/bin/coding | Программирование

#internship

🔔Оплачиваемая Летняя Стажировка YADRO Импульс


Направления
60+ направлений в сфере Разработки, Тестирования, CyberSec и др.

Длительность
На два месяца (июль-август) ты станешь частью команды и получишь опыт работы в реальном проекте.

Условия
— Оплачиваемая работа;
— 40 часов в неделю;
— Лучшие будут приглашены на долгосрочную стажировку или в штат.

Прием заявок открыт до 12 мая❗️

📎 Оставить заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship

Вакансия Frontend разработчик в стартап «ЭЛЕСКОП»❗️

🌐Характер работы: удалённый
🔔Занятость: 10-15 часов в неделю
💸Зарплата: от 10.000 до 15.000 ₽
Срок работы: 6 месяцев, предусмотрен испытательный срок
🔥Опыт работы: не требуется

Скиллы:
— Навыки ReactJS
— Базовые знания HTML, CSS

Обязанности:
— Участие в разработке нового функционала.
— Рефакторинг кода, фикс багов

📎Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#skills
Короткая справка по Git!💻

Когда работаешь с большим проектом или в команде разработчиков, становится очень сложно уследить за всеми изменениями - поэтому программисты используют Git!

Git - это система контроля версий, которая помогает отслеживать изменения в коде, объединять изменения внесенные разными разработчиками, и в случае чего откатиться к одной из прошлых версий кода!


Как начать работу с Git?💻
1. Установите Git с официального сайта

2. Настройка Git:
git config --global user.name "name"
git config --global user.email "email@mail.ru"

3. Инициализируйте репозиторий:
cd path/to/your/project
git init

4. Добавьте файлы (Так Git начнет отслеживать эти файлы):
git add .

5. Создайте коммит (Зафиксируйте текущее состояние проекта):
git commit -m "Initial commit"

6. Git позволяет создавать (И затем объединять) ветки для независимой разаботки:
git branch new-feature
git checkout new-feature
git checkout master
git merge new-feature

7. Сохранение изменений в удаленном репозитории:
git remote add origin https://github.com/usr/repo.git
git push -u origin master

8. Получение обновлений
git pull origin master


Ставьте реакции, будет больше такого контента ✔️

Читать полностью…

/usr/bin/coding | Программирование

#skills
База по Docker 👍

Устал каждый раз тратить 500 часов на то, чтобы настроить окружение для работы с проектом? Тут на помощь и приходит Docker!


📎Что такое Docker?
Docker - платформа для контейнеризации приложений. Контейнер позволяет упаковывать приложения и все необходимые для их работы компоненты (библиотеки, зависимости и настройки) в единый блок.

🔖Как начать работу?

1. Установка Docker:
Скачайте и установите Docker Desktop c официального сайта.

2. Запуск контейнера из образа:
docker run -it ubuntu

Эта команда создаст и запустит контейнер Ubuntu, предоставляя интерактивный терминал (-it).

3. Работа с контейнером:
Внутри контейнера можно выполнять команды, устанавливать программы, изменять файлы.
apt update
apt install nodejs

4. Создание собственного Docker образа:
Опишите нужное окружение и зависимости в Dockerfile
Соберите образ:
docker build -t myimage .

5. Взаимодействие контейнеров:
Контейнеры могут взаимодействовать друг с другом и с внешним миром через сетевые мосты или пользовательские сети.

6. Docker Hub:
Docker Hub - это регистр образов Docker (Как GitHub для ваших репозиториев). Здесь можно найти готовые образы и опубликовать свои.

❗️Зачем это нужно?
Позволяет создавать изолированные и переносимые окружения, что упрощает разработку, тестирование и развертывание приложений.

Ставьте реакции, если хотите больше такого контента 👍

Читать полностью…

/usr/bin/coding | Программирование

#internship
Weekend Offer для Go-разработчиков
(и тех, кто готов на него свитчнуться)

💵 Предложение:
Пройдите все этапы отбора и получите оффер на грейд middle или senior за одни выходные.

❗️Дедлайн подачи заявки: 11 апреля❗️

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Оплачиваемая стажировка в Sber Seasons по направлению AppSec

❗️Требования и необходимые знания:

✅ знание основ ИБ (виды угроз, методы защиты, тактики проведения атак);
✅ опыт поиска и эксплуатации уязвимостей OWASP Top 10;
✅ понимание, что такое SAST, SCA, DAST, отличия практик;
✅ опыт разработки на любом ООП-языке;
✅ опыт работы с Linux;
✅ опыт работы с любыми DevOps-инструментами (Jenkins, K8S, Docker и др.).

📌 Стажировки есть в разных городах, в каждом городе разные направления.

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
🚀 Оплачиваемая стажировка Cloud ru для AppSec-инженеров!

Условия
— Оплачиваемая стажировка
— Продолжительность — три месяца
— Работа в офисе Cloud ru в Москве или удаленно из РФ

🤩 За три месяца вы:
— прокачаете навыки безопасной разработки приложений;
— научитесь определять уязвимости в коде на языках Go, Python, JavaScript, TypeScript и других;
— получите опыт работы с SAST-, DAST- и SCA-инструментами;
— научитесь проводить моделирование угроз и security code review.

Дедлайн подачи заявки: 6 апреля;

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
👩🏻‍💻 Оплачиваемая Стажировка в КРОК

Направления:
🔸 Разработка
🔸 CROC Cloud Services
🔸 Программная и вычислительная инфраструктура
🔸 Кибербезопасность

📆 Когда?
Стажировка не ограничена сезоном – набор идет в течение всего года и регулярно открываются новые вакансии для стажеров в разных направлениях.

Сколько идет стажировка?
От 3 до 12 месяцев.

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#skills
Программа UniCredit IT Academy
👨🏻‍🎓 Академия для начинающих Data-специалистов

Направления:
🔸 Аналитик хранилища данных
🔸 Разработчик хранилища данных

Оффер после окончания программы:
Через восемь месяцев лучших участников программы пригласят в штат команды Data Office.

💰 Зарплата с первого дня программы:
Во время обучения (3 месяца) составляет 50 000 рублей, по итогам Вашей успеваемости индексируется — то есть чем лучше успеваемость, тем выше Ваш оклад.

✔️ Условия:
Москва и Московская область. Готовность посвящать программе от 35 часов в неделю. Студент 4-го курса и старше.

Дедлайн подачи заявок: 25 марта;

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Оплачиваемая стажировка в Яндексе

Направления:
🔸 Backend
🔸 Frontend
🔸 Mobile
🔸 DevOps
🔸 ML
🔸 Инфобез
🔸 QA-инженер

📌 После заполнения анкеты на сайте, может потребоваться выполнить тестовое задание

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Открыт набор на Оплачиваемую Стажировку в VK

IT-направления
🔸 Разработка
🔸 Машинное обучение
🔸 Тестирование
🔸 Аналитика
🔸 Инфраструктура

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#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

Читать полностью…

/usr/bin/coding | Программирование

#events
Серия митапов Intern Meetup Days

15 марта — Mobile: iOS, Android, Flutter
18 марта — Backend
19 марта — Frontend
20 марта — Data Science: ML+ аналитика

Что вас ждёт?
🔸 Лекции от разработчиков и рекрутеров
🔸 Стенды с командами Яндекса и рекрутерами
🔸 Пробное собеседование на стажировку в Яндекс

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

📌 Чтобы участвовать офлайн, нужно пройти предварительный отбор — решить задачи на Яндекс Контесте до 6 марта включительно.

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Fast Track в Яндекс за 2 дня.

📌 Для участия, как правило, необходимо заранее решить несколько задач на онлайн-платформе.

02-03 марта
Backend: Python, Go
🔗 Записаться

23-24 марта
Backend: C++, Python
🔗 Записаться

Читать полностью…

/usr/bin/coding | Программирование

#forum
Фестиваль о карьере в IT от Яндекс 📱

Young Con — фест-приключение по Вселенной Яндекса для тех, кто увлечен технологиями, научной фантастикой и хочет связать свою карьеру с IT.


Больше, чем конференция про карьеру в IT
— Вдохновляющие доклады спикеров
— Зрелищный финал Баттла вузов
— Чилл на фан-орбите
— Выступления космических хедлайнеров

Как принять участие❗️
Для участия онлайн нужно зарегистрироваться на сайте Young Con.

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

Лучшие 400 участников смогут пройти экспресс-собеседование — его успешное прохождение повысит шансы попасть на стажировку Young&&Yandex.

📎Зарегистрироваться

Читать полностью…

/usr/bin/coding | Программирование

#skills

Приёмы Рефакторинга. Часть 1.🔖

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


В этой серии постов мы рассмотрим различные ключевые приёмы рефакторинга, которые помогут Вам в этом.

1. Извлечение метода (Extract Method)
Проблема
У вас есть фрагмент кода, который можно сгруппировать.

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)


2. Введение внешнего метода (Introduce Foreign Method)
Проблема
Служебный класс не содержит метода, который вам нужен, при этом у вас нет возможности добавить метод в этот класс.

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)


Ставьте реакции если хотите 2 часть👍

Читать полностью…

/usr/bin/coding | Программирование

#internship

IT-город - Оплачиваемая Стажировка в Правительстве Москвы✔️

Направления:

— Разработка
— Тестирование
— Информационная Безопасность
— Аналитика Данных
— Бизнес и Системный Анализ
— Другие

🔔Удобный формат работы

Выбери график: 20 или 40 часов в неделю, работай в офисе или в гибридном формате

📊Карьерные возможности
Прояви себя и получи постоянную работу в Департаменте информационных технологий Москвы после стажировки


Дедлайн подачи заявки: 24 мая❗️

📎Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship #skills
Открыт набор в Летние Школы в Яндекс! 📱

Летние школы — это ежегодная образовательная программа Яндекса, больше половины выпускников которой становятся стажёрами и сотрудниками компании.


🔖В этом году компания запускает 5 школ:

— Школа разработки интерфейсов
— Школа бэкенд-разработки
— Школа мобильной разработки
— Школа аналитиков-разработчиков
— Школа менеджеров

❗️Условия:
Обучение бесплатное, занятия можно совмещать с работой или учёбой.
Возрастных ограничений для поступления нет.

Лекции пройдут онлайн, практика — в офисах Яндекса в Москве, Санкт‑Петербурге и Екатеринбурге.

Компания оплатит билеты и проживание.

📎 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#hack

Новый сезон ЛЦТ объявлен открытым!
Стартовал самый масштабный хакатон в мире.


Присоединяйся к лучшим из лучших, собери команду и поборись за призовой фонд — 50 000 000 ₽.


☄️В этом году тебя ждет:

25 задач от города, бизнеса и регионов
50 000 000 ₽ — общий призовой фонд
Грандиозный финал: 2-дневный фестиваль
Возможность получить стажировку или оффер в лучшие компании
Возможность пилотирования проекта, в том числе и у международных партнеров

Для кого?

🔤Команда от 2 до 5 человек
🔤Специалисты из РФ и других стран мира
🔤От 18 лет

📌Регистрируйся прямо сейчас! Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Оплачиваемая Стажировка в АТОН

Условия:
💵 Оплачиваемая стажировка
🖥 Online-формат
⌛️ Гибкий график, ты сможешь совмещать учебу и работу
✉️ Оффер при успешном прохождении программы

Направления:
Java
Python
C#
SQL
Тестирование
Многое другое

Продолжительность: 2 месяца

❗️Дедлайн подачи заявки: 6 мая❗️

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Вакансия Помощник программиста в стартап «ЭЛЕСКОП»

🖥 Характер работы: удалённый
⏳ Занятость: 10-15 часов в неделею
💵 Зарплата: от 10.000 до 15.000 ₽
⏰ Срок работы: 6 месяцев, предусмотрен испытательный срок
Опыт работы: не требуется
📌 Скиллы: Умение работать с функционалом NodeJs и базовое знание Python

Обязанности:
— Разработка и поддержка API с использованием Swagger для документации.
— Написание модульных и интеграционных тестов для существующего кода.
— Участие в разработке нового функционала и исправлении багов.
— Отладка и оптимизация существующего кода.

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
👩🏻‍💻 Оплачиваемая Стажировка в Авито

Направления:
🔸 Android
🔸 Backend
🔸 Frontend
🔸 QA

💰 Тебя ждёт:
— гибрид в Москве или удаленка
— занятость на стажировке от 25 часов в неделю
— 6 месяцев стажировки и переход в штат в июне 2024 года.

✔️ Ты должен:
— владеть стеком, соответствующим направлению стажировки
— быть студентом 3 курса и старше или выпускником

Дедлайн подачи заявки: 28 марта;

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Новый набор на стажировки в Тинькофф

Направления:
🔸 Разработка (Много направлений для разных языков)
🔸 QA
🔸 Аналитика
🔸 Дизайн

📌 Работать можно от 20 часов в неделю удаленно или в одном из офисов в России, Беларуси или Казахстане.
📌 По итогам стажировки, лучших пригласят в штат.
📌 Даты экзаменов на разные направления различаются, но все они будут в конце марта — апреле.

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Новый сезон Оплачиваемой стажировки Sberseasons

Направления:
🔸 Разработка
🔸 Анализ Данных
🔸 Кибербезопасность
🔸 Дизайн
🔸 Бизнес

📌 Стажировки есть в разных городах, в каждом городе разные направления.

🔗 Подать заявку

Читать полностью…

/usr/bin/coding | Программирование

#internship
Оплачиваемая Программа Стажировок «IT-старт» от Газпром нефти

Направления:
🔸 1С
🔸 Аналитика данных
🔸 Разработка
🔸 Архитектура данных
🔸 Администрирование проектов
🔸 Системное администрирование и аналитика
🔸 Сервис-менеджмент администрирование

Дедлайн подачи заявки: 7 марта.

🔗 Зарегистрироваться

Читать полностью…

/usr/bin/coding | Программирование

#hack
GPM AdTech Challenge

Треки:
🔸 Сервис перевода и дублирования видео: Создание пользовательского интерфейса и интеграция с открытым инструментарием для перевода и дублирования развлекательных видео.

🔸 Разработка модели с 3rd-party конверсиями.

🔸 Улучшайзер креативов: Создание инструмента для генерации и выбора наилучшего варианта баннера, увеличивающего эффективность рекламы.

Призовой фонд:
1 000 000 р.

Дедлайн регистрации:
10 марта.

🔗 Зарегистрироваться

Читать полностью…

/usr/bin/coding | Программирование

#internship
Подборка Стажировок на Пятницу!

🔸 Стажер QA engineer в OZON
🔗 Ссылка на вакансию

🔸 Стажер аналитик в Альфа-Банк
🔗 Ссылка на вакансию

🔸 Стажер Frontend developer в СБЕР
🔗 Ссылка на вакансию

🔸 Стажер разработчик 1C в Б1
🔗 Ссылка на вакансию

🔸 Стажер Backend разработчик в Yandex
🔗 Ссылка на вакансию

🔸 Junior Product Manager в МегаФон
🔗 Ссылка на вакансию

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

Читать полностью…

/usr/bin/coding | Программирование

#hack
Соревнование по машинному обучению Data Fusion Contest 2024

Задачи:

🔸 Геоаналитика: Предсказание локаций для снятия наличных на основе синтетических транзакционных данных. Метрика: бинарная кроссэнтропия.

🔸 Модели оттока: Решение Time-to-Event задачи на основе синтетических транзакционных данных пользователя. Метрика: concordance index (CI).

Призовой фонд: 2 000 000 рублей;

Дедлайн загрузки решений: 5 апреля 2024;

🔗 Зарегистрироваться

Читать полностью…

/usr/bin/coding | Программирование

#hack
Олимпиада для первых от МегаФона

Для кого?
Студенты 3-4 курса и старше.

Направления:
Инженерное дело, IT, Big Data, маркетинг.

Призовой фонд:
🔸 Денежные призы;
🔸 Возможность пройти стажировку в МегаФоне;
🔸 Ускоренный отбор на открытые вакансии МегаФона;
🔸 Другие.

Дедлайн регистрации: 1 марта.

🔗 Зарегистрироваться

Читать полностью…
Подписаться на канал