#hack
Новый сезон ЛЦТ объявлен открытым!
Стартовал самый масштабный хакатон в мире.
☄️ В этом году тебя ждет:
➖ 25 задач от города, бизнеса и регионов
➖ 50 000 000 ₽ — общий призовой фонд
➖ Грандиозный финал: 2-дневный фестиваль
➖ Возможность получить стажировку или оффер в лучшие компании
➖ Возможность пилотирования проекта, в том числе и у международных партнеров
❓ Для кого?
🔤 Команда от 2 до 5 человек
🔤 Специалисты из РФ и других стран мира
🔤 От 18 лет
📌 Регистрируйся прямо сейчас! Подать заявку
Новый сезон ЛЦТ объявлен открытым!
Стартовал самый масштабный хакатон в мире.
Присоединяйся к лучшим из лучших, собери команду и поборись за призовой фонд — 50 000 000 ₽.
Please open Telegram to view this post
VIEW IN TELEGRAM
#skills
База по Docker👍
📎 Что такое Docker?
Docker - платформа для контейнеризации приложений. Контейнер позволяет упаковывать приложения и все необходимые для их работы компоненты (библиотеки, зависимости и настройки) в единый блок.
🔖 Как начать работу?
1. Установка Docker:
Скачайте и установите Docker Desktop c официального сайта.
2. Запуск контейнера из образа:
Эта команда создаст и запустит контейнер Ubuntu, предоставляя интерактивный терминал (-it).
3. Работа с контейнером:
Внутри контейнера можно выполнять команды, устанавливать программы, изменять файлы.
4. Создание собственного Docker образа:
Опишите нужное окружение и зависимости в Dockerfile
Соберите образ:
5. Взаимодействие контейнеров:
Контейнеры могут взаимодействовать друг с другом и с внешним миром через сетевые мосты или пользовательские сети.
6. Docker Hub:
Docker Hub - это регистр образов Docker (Как GitHub для ваших репозиториев). Здесь можно найти готовые образы и опубликовать свои.
❗️ Зачем это нужно?
Позволяет создавать изолированные и переносимые окружения, что упрощает разработку, тестирование и развертывание приложений.
Ставьте реакции, если хотите больше такого контента👍
База по Docker
Устал каждый раз тратить 500 часов на то, чтобы настроить окружение для работы с проектом? Тут на помощь и приходит 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 для ваших репозиториев). Здесь можно найти готовые образы и опубликовать свои.
Позволяет создавать изолированные и переносимые окружения, что упрощает разработку, тестирование и развертывание приложений.
Ставьте реакции, если хотите больше такого контента
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7 5👍1
Нам стало интересно, в каких Вы направлениях?
Постараемся уделять больше внимания стажировкам и скиллам именно для Вас!
Постараемся уделять больше внимания стажировкам и скиллам именно для Вас!
Anonymous Poll
26%
Frontend
48%
Backend
6%
Mobile dev
8%
Data Science
1%
Аналитика
4%
QA / Тестирование
6%
DevOps
2%
Свой вариант в комментариях
#internship #skills
Открыт набор в Летние Школы в Яндекс!📱
🔖 В этом году компания запускает 5 школ:
— Школа разработки интерфейсов
— Школа бэкенд-разработки
— Школа мобильной разработки
— Школа аналитиков-разработчиков
— Школа менеджеров
❗️ Условия:
Обучение бесплатное, занятия можно совмещать с работой или учёбой.
Возрастных ограничений для поступления нет.
Лекции пройдут онлайн, практика — в офисах Яндекса в Москве, Санкт‑Петербурге и Екатеринбурге.
Компания оплатит билеты и проживание.
📎 Подать заявку
Открыт набор в Летние Школы в Яндекс!
Летние школы — это ежегодная образовательная программа Яндекса, больше половины выпускников которой становятся стажёрами и сотрудниками компании.
— Школа разработки интерфейсов
— Школа бэкенд-разработки
— Школа мобильной разработки
— Школа аналитиков-разработчиков
— Школа менеджеров
Обучение бесплатное, занятия можно совмещать с работой или учёбой.
Возрастных ограничений для поступления нет.
Лекции пройдут онлайн, практика — в офисах Яндекса в Москве, Санкт‑Петербурге и Екатеринбурге.
Компания оплатит билеты и проживание.
Please open Telegram to view this post
VIEW IN TELEGRAM
#skills
Короткая справка по Git!💻
Когда работаешь с большим проектом или в команде разработчиков, становится очень сложно уследить за всеми изменениями - поэтому программисты используют Git!
Как начать работу с Git?💻
1. Установите Git с официального сайта
2. Настройка Git:
3. Инициализируйте репозиторий:
4. Добавьте файлы (Так Git начнет отслеживать эти файлы):
5. Создайте коммит (Зафиксируйте текущее состояние проекта):
6. Git позволяет создавать (И затем объединять) ветки для независимой разаботки:
7. Сохранение изменений в удаленном репозитории:
8. Получение обновлений
Ставьте реакции, будет больше такого контента✔️
Короткая справка по 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
Ставьте реакции, будет больше такого контента
Please open Telegram to view this post
VIEW IN TELEGRAM
#internship
IT-город - Оплачиваемая Стажировка в Правительстве Москвы✔️
Направления:
— Разработка
— Тестирование
— Информационная Безопасность
— Аналитика Данных
— Бизнес и Системный Анализ
— Другие
🔔 Удобный формат работы
📊 Карьерные возможности
Дедлайн подачи заявки: 24 мая❗️
📎 Подать заявку
IT-город - Оплачиваемая Стажировка в Правительстве Москвы
Направления:
— Разработка
— Тестирование
— Информационная Безопасность
— Аналитика Данных
— Бизнес и Системный Анализ
— Другие
Выбери график: 20 или 40 часов в неделю, работай в офисе или в гибридном формате
Прояви себя и получи постоянную работу в Департаменте информационных технологий Москвы после стажировки
Дедлайн подачи заявки: 24 мая❗️
Please open Telegram to view this post
VIEW IN TELEGRAM
#internship
Вакансия Frontend разработчик в стартап «ЭЛЕСКОП»❗️
🌐 Характер работы: удалённый
🔔 Занятость: 10-15 часов в неделю
💸 Зарплата: от 10.000 до 15.000 ₽
⌛ Срок работы: 6 месяцев, предусмотрен испытательный срок
🔥 Опыт работы: не требуется
Скиллы:
— Навыки ReactJS
— Базовые знания HTML, CSS
Обязанности:
— Участие в разработке нового функционала.
— Рефакторинг кода, фикс багов
📎 Подать заявку
Вакансия Frontend разработчик в стартап «ЭЛЕСКОП»
Скиллы:
— Навыки ReactJS
— Базовые знания HTML, CSS
Обязанности:
— Участие в разработке нового функционала.
— Рефакторинг кода, фикс багов
Please open Telegram to view this post
VIEW IN TELEGRAM
#skills
Приёмы Рефакторинга. Часть 1.🔖
В этой серии постов мы рассмотрим различные ключевые приёмы рефакторинга, которые помогут Вам в этом.
1. Извлечение метода (Extract Method)
✔️ Решение
Выделите участок кода в новый метод (или функцию) и вызовите этот метод вместо старого кода.
2. Введение внешнего метода (Introduce Foreign Method)
✔️ Решение
Добавьте метод в клиентский класс и передавайте в него объект служебного класса в качестве аргумента.
Ставьте реакции если хотите 2 часть👍
Приёмы Рефакторинга. Часть 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 часть
Please open Telegram to view this post
VIEW IN TELEGRAM
#internship
Направления
60+ направлений в сфере Разработки, Тестирования, CyberSec и др.
Длительность
На два месяца (июль-август) ты станешь частью команды и получишь опыт работы в реальном проекте.
Условия
— Оплачиваемая работа;
— 40 часов в неделю;
— Лучшие будут приглашены на долгосрочную стажировку или в штат.
Прием заявок открыт до 12 мая❗️
📎 Оставить заявку
🔔 Оплачиваемая Летняя Стажировка YADRO Импульс
Направления
60+ направлений в сфере Разработки, Тестирования, CyberSec и др.
Длительность
На два месяца (июль-август) ты станешь частью команды и получишь опыт работы в реальном проекте.
Условия
— Оплачиваемая работа;
— 40 часов в неделю;
— Лучшие будут приглашены на долгосрочную стажировку или в штат.
Прием заявок открыт до 12 мая
Please open Telegram to view this post
VIEW IN TELEGRAM
#forum
Фестиваль о карьере в IT от Яндекс📱
Больше, чем конференция про карьеру в IT
— Вдохновляющие доклады спикеров
— Зрелищный финал Баттла вузов
— Чилл на фан-орбите✨
— Выступления космических хедлайнеров
Как принять участие❗️
Для участия онлайн нужно зарегистрироваться на сайте Young Con.
Тем, кто хочет попасть на фест лично, нужно написать мотивационное письмо или выполнить тестовое задание — в зависимости от выбранного направления.
Лучшие 400 участников смогут пройти экспресс-собеседование — его успешное прохождение повысит шансы попасть на стажировку Young&&Yandex.
📎 Зарегистрироваться
Фестиваль о карьере в IT от Яндекс
Young Con — фест-приключение по Вселенной Яндекса для тех, кто увлечен технологиями, научной фантастикой и хочет связать свою карьеру с IT.
Больше, чем конференция про карьеру в IT
— Вдохновляющие доклады спикеров
— Зрелищный финал Баттла вузов
— Чилл на фан-орбите
— Выступления космических хедлайнеров
Как принять участие
Для участия онлайн нужно зарегистрироваться на сайте Young Con.
Тем, кто хочет попасть на фест лично, нужно написать мотивационное письмо или выполнить тестовое задание — в зависимости от выбранного направления.
Лучшие 400 участников смогут пройти экспресс-собеседование — его успешное прохождение повысит шансы попасть на стажировку Young&&Yandex.
Please open Telegram to view this post
VIEW IN TELEGRAM
#skills
Приёмы Рефакторинга. Часть 2.🔖
В этой серии постов мы рассматриваем ключевые приёмы рефакторинга, которые помогут Вам поддерживать чистый и эффективный код.
1. Самоинкапсуляция поля (Self Encapsulate Field)
✔️ Решение
Создайте геттер и сеттер для поля, и пользуйтесь для доступа к полю только ими.
2. Замена условного оператора полиморфизмом (Replace Conditional with Polymorphism)
✔️ Решение
Создайте подклассы, которым соответствуют ветки условного оператора. В них создайте общий метод и переместите в него код из соответствующей ветки условного оператора. В последствии замените условный оператор на вызов этого метода. Таким образом, нужная реализация будет выбираться через полиморфизм в зависимости от класса объекта.
Надеемся это Вам поможет👍
Приёмы Рефакторинга. Часть 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();
Надеемся это Вам поможет
Please open Telegram to view this post
VIEW IN TELEGRAM
#hack
Регистрируйся на онлайн-хакатон от RedLab!
Прояви свой талант, найди идеальную команду и открой новые горизонты в развитии и разработке!
Когда: 24-26 мая 2024 года
Формат: онлайн
Дедлайн регистрации: 20 мая, 23:59 (МСК)
Призовой фонд: 300 000 рублей🤑
📎 Подать заявку
Регистрируйся на онлайн-хакатон от RedLab!
Не упусти возможность поучаствовать в новом онлайн-хакатоне, который объединит профессиональных разработчиков!
Прояви свой талант, найди идеальную команду и открой новые горизонты в развитии и разработке!
Когда: 24-26 мая 2024 года
Формат: онлайн
Дедлайн регистрации: 20 мая, 23:59 (МСК)
Призовой фонд: 300 000 рублей
Please open Telegram to view this post
VIEW IN TELEGRAM
#internship
Стажировки для бэкенд-разработчиков в Яндекс📱
Какие команды сейчас набирают стажёров❓
Яндекс Лавка — это сервис быстрой доставки товаров из дарксторов: относительно молодой продукт, который активно развивается.
Яндекс Браузер — один из самых масштабных проектов на основе Chromium.
Команда почти с нуля создаёт среду обитания роботов: такую, чтобы и роботам нравилось, и людям было удобно их непрерывно развивать.
Разрабатывают высоконагруженный сервис, который принимает решение о показе рекламы, анализируя большой объём данных.
Основная задача команды — управлять доступностью контента Кинопоиска.
Подай заявку на бэкенд-направление:
📎 Подать заявку
Стажировки для бэкенд-разработчиков в Яндекс
Какие команды сейчас набирают стажёров
Разработка Яндекс Лавки (С++, Python)
Яндекс Лавка — это сервис быстрой доставки товаров из дарксторов: относительно молодой продукт, который активно развивается.
Разработка Яндекс Браузера (С++, Python, Go)
Яндекс Браузер — один из самых масштабных проектов на основе Chromium.
Робототехника (C++, Python)
Команда почти с нуля создаёт среду обитания роботов: такую, чтобы и роботам нравилось, и людям было удобно их непрерывно развивать.
Разработка Баннерной Рекламы (C++, Python)
Разрабатывают высоконагруженный сервис, который принимает решение о показе рекламы, анализируя большой объём данных.
Сектор разработки платформы (Java)
Основная задача команды — управлять доступностью контента Кинопоиска.
Подай заявку на бэкенд-направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
#skills
Приёмы Рефакторинга. Часть 3.👍
В этой серии постов мы рассматриваем ключевые приёмы рефакторинга, которые помогут Вам поддерживать чистый и эффективный код.
1. Замена магического числа символьной константой
Решение✔️
Замените это число константой с человеко-читаемым названием, объясняющим смысл этого числа.
2. Введение Null-объекта
Решение✔️
Вместо null возвращайте Null-объект, который предоставляет поведение по умолчанию.
Ставьте реакции, если хотите больше таких постов!👍
Приёмы Рефакторинга. Часть 3.
В этой серии постов мы рассматриваем ключевые приёмы рефакторинга, которые помогут Вам поддерживать чистый и эффективный код.
1. Замена магического числа символьной константой
Проблема
В коде используется число, которое несёт какой-то определённый смысл.
double potentialEnergy(double mass, double height) {
return mass * height * 9.81;
}
Решение
Замените это число константой с человеко-читаемым названием, объясняющим смысл этого числа.
static final double GRAVITATIONAL_CONSTANT = 9.81;
double potentialEnergy(double mass, double height) {
return mass * height * GRAVITATIONAL_CONSTANT;
}
2. Введение Null-объекта
Проблема
Из-за того, что некоторые методы возвращают null вместо реальных объектов, у вас в коде присутствует множество проверок на null.
if (customer == null) {
plan = BillingPlan.basic();
}
else {
plan = customer.getPlan();
}
Решение
Вместо null возвращайте Null-объект, который предоставляет поведение по умолчанию.
class NullCustomer extends Customer {
boolean isNull() {
return true;
}
Plan getPlan() {
return new NullPlan();
}
// Some other NULL functionality.
}
// Replace null values with Null-object.
customer = (order.customer != null) ?
order.customer : new NullCustomer();
// Use Null-object as if it's normal subclass.
plan = customer.getPlan();
Ставьте реакции, если хотите больше таких постов!
Please open Telegram to view this post
VIEW IN TELEGRAM
#internship
🔥 Оплачиваемая стажировка OTP Next Generation
Направления:
— Разработка
— Тестирование
— Анализ данных и Data Science
— Безопасность
Другие
Длительность: 4-5 месяцев
Выход на стажировку: с 1 июля
🔖 Подай заявку до 10.06
📎 Подать заявку
Направления:
— Разработка
— Тестирование
— Анализ данных и Data Science
— Безопасность
Другие
Длительность: 4-5 месяцев
Выход на стажировку: с 1 июля
Please open Telegram to view this post
VIEW IN TELEGRAM
#internship
📱 Летняя стажировка от VK!
🔥 Направления:
— Разработка (Backend / Frontend / Android / GameDev / др.)
— Машинное Обучение
— Тестирование
— Инфраструктура (DevOps / SRE)
— Информационная Безопасность
— Аналитика
⌛ Занятость: от 20 часов в неделю
📎 Подать заявку
— Разработка (Backend / Frontend / Android / GameDev / др.)
— Машинное Обучение
— Тестирование
— Инфраструктура (DevOps / SRE)
— Информационная Безопасность
— Аналитика
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья!
В ближайшее время мы проведем розыгрыш подписок на Telegram Premium😮 среди подписчиков нашего канала.
🔈 Включите уведомления, чтобы не пропустить начало розыгрыша.
👍 Оставляйте реакции, чтобы мы знали, что Вам это интересно.
Зовите друзей, и у них тоже будет шанс получить Premium😈
В ближайшее время мы проведем розыгрыш подписок на Telegram Premium
Зовите друзей, и у них тоже будет шанс получить Premium
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in the widget
VIEW IN TELEGRAM
👍14 6❤🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
/usr/bin/coding | Программирование
This media is not supported in the widget
VIEW IN TELEGRAM