/usr/bin/coding | Программирование
742 subscribers
122 photos
3 files
104 links
Подборки стажировок, вакансий, хакатонов и многое другое!
Download Telegram
#hack

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


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


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

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

Для кого?

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

📌Регистрируйся прямо сейчас! Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥1👎1
#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 для ваших репозиториев). Здесь можно найти готовые образы и опубликовать свои.

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

Ставьте реакции, если хотите больше такого контента 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥75👍1
Нам стало интересно, в каких Вы направлениях?

Постараемся уделять больше внимания стажировкам и скиллам именно для Вас!
Anonymous Poll
26%
Frontend
48%
Backend
6%
Mobile dev
8%
Data Science
1%
Аналитика
4%
QA / Тестирование
6%
DevOps
2%
Свой вариант в комментариях
7❤‍🔥1👍1👎1
#internship #skills
Открыт набор в Летние Школы в Яндекс! 📱

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


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

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

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

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

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

📎 Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
6
#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


Ставьте реакции, будет больше такого контента ✔️
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍4❤‍🔥3
#internship

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

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

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

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

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


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

📎Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
4
#internship

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

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

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

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

📎Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4👎1
#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 часть👍
Please open Telegram to view this post
VIEW IN TELEGRAM
17
#internship
🔔Оплачиваемая Летняя Стажировка YADRO Импульс


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

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

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

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

📎 Оставить заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
4
#forum
Фестиваль о карьере в IT от Яндекс 📱

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


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

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

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

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

📎Зарегистрироваться
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#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();


Надеемся это Вам поможет👍
Please open Telegram to view this post
VIEW IN TELEGRAM
6👎2👍1
#hack
Регистрируйся на онлайн-хакатон от RedLab!
Не упусти возможность поучаствовать в новом онлайн-хакатоне, который объединит профессиональных разработчиков!


Прояви свой талант, найди идеальную команду и открой новые горизонты в развитии и разработке!

Когда: 24-26 мая 2024 года
Формат: онлайн
Дедлайн регистрации: 20 мая, 23:59 (МСК)
Призовой фонд: 300 000 рублей 🤑

📎Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
5
#internship
Стажировки для бэкенд-разработчиков в Яндекс 📱

Какие команды сейчас набирают стажёров

Разработка Яндекс Лавки (С++, Python)

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

Разработка Яндекс Браузера (С++, Python, Go)

Яндекс Браузер — один из самых масштабных проектов на основе Chromium.

Робототехника (C++, Python)

Команда почти с нуля создаёт среду обитания роботов: такую, чтобы и роботам нравилось, и людям было удобно их непрерывно развивать.

Разработка Баннерной Рекламы (C++, Python)

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

Сектор разработки платформы (Java)

Основная задача команды — управлять доступностью контента Кинопоиска.

Подай заявку на бэкенд-направление:
📎 Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
8
#skills

Приёмы Рефакторинга. Часть 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
12
#internship
🔥Оплачиваемая стажировка OTP Next Generation

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

— Разработка
— Тестирование
— Анализ данных и Data Science
— Безопасность
Другие

Длительность: 4-5 месяцев
Выход на стажировку: с 1 июля
🔖Подай заявку до 10.06

📎Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
5
#internship
📱 Летняя стажировка от VK!

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

— Разработка (Backend / Frontend / Android / GameDev / др.)
— Машинное Обучение
— Тестирование
— Инфраструктура (DevOps / SRE)
— Информационная Безопасность
— Аналитика

Занятость: от 20 часов в неделю

📎Подать заявку
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥1
Друзья!

В ближайшее время мы проведем розыгрыш подписок на Telegram Premium😮 среди подписчиков нашего канала.

🔈Включите уведомления, чтобы не пропустить начало розыгрыша.
👍Оставляйте реакции, чтобы мы знали, что Вам это интересно.

Зовите друзей, и у них тоже будет шанс получить Premium😈
Please open Telegram to view this post
VIEW IN TELEGRAM
41❤‍🔥1👍1👎1
This media is not supported in the widget
VIEW IN TELEGRAM
👍146❤‍🔥2
😮РОЗЫГРЫШ 3 ПРЕМИУМ-ПОДПИСОК В ТГ!

✔️Всё, что нужно - подписаться на канал @usrbincoding в телеграме и поделиться розыгрышем в любом чате!

🔔Результаты 28 июня в 19:00, телеграм сам рандомно выберет победителей из подписчиков

🔥Всем удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM
11❤‍🔥1👎1