Точка входа в программирование
20.6K subscribers
1.14K photos
203 videos
2 files
2.67K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Как сберечь зрение программисту?

Мы много времени проводим за кодом. Но за долгое сидение перед монитором глаза не скажут «спасибо».

Держите несколько советов, как сохранить ваше зрение:

https://tprg.ru/2Drj

#советы
Умеете ли работать со строками в Python?

В языке Python много особенностей в применении строки (string) — неизменяемой последовательности символов. Проверьте себя, знаете ли вы основные «подводные камни»:

https://tprg.ru/VoK9

В тесте даётся кусок кода, и ваша задача — определить, что он выведет.

#python #задачи
Подборка актуальных вакансий для начинающих специалистов

Аналитик продукта / данных
Где: Санкт-Петербург, Москва, Липецк
Сколько: От 100 000 до 150 000 ₽

Rust Developer
Где: Санкт-Петербург, можно удалённо
Сколько: От 200 000 ₽

Backend Разработчик / Node.JS Developer
Где: Удалённо
Сколько: До 200 000 ₽

QA Engineer / Тестировщик (mobile)
Где: Удалённо
Сколько: До 120 000 ₽

Product Manager (Mobile)
Где: Удалённо
Сколько: До 250 000 ₽

Full Stack Разработчик / React + Node.JS Developer
Где: Удалённо
Сколько: До 250 000 ₽

Программист C# / C++
Где: Санкт-Петербург, можно удалённо
Сколько: От 120 000 до 190 000 ₽

Frontend-разработчик (Vue / Electron / Cordova)
Где: Москва, можно удалённо
Сколько: По итогам собеседования

#вакансии #работа
Многопоточность в Java

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

У многопоточности существует множество нюансов, и подробно они объясняются в серии статей:

1. Потоки.
2. Синхронизация.
3. Взаимодействие.
4. Callable и Future.
5. Executor, ThreadPool и Fork Join.
6. Барьер.

#java #потоки
Основные команды SQL, которые должен знать каждый программист

Для работы с базами данных не обойтись без языка SQL. А подборка основных команд поможет как освежить свои знания, так и подготовиться к собеседованию:

https://tprg.ru/tdA3

#базы_данных #sql
Фронтенд и бэкенд простыми словами

Вкатиться в веб-разработку можно несколькими путями: стать фронтенд-разработчиком или заниматься бэкендом веб-приложения.

Понять, какое из направлений вам ближе, поможет объяснение сути фронтенда и бэкенда, а также их взаимодействия:

https://tprg.ru/R0lr

#веб #фронтенд #бэкенд
Словари и их методы в Python

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

На практики в словари могут записываться, например:
— имя и оценка студентов;
— название и цена товаров;
— название и численность населения городов.

Подробнее о словарях, а также методах работы с ними:

https://tprg.ru/WkFS

#python
Основы адаптивной вёрстки веб-страниц

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

Подробнее о том, как работает адаптивная вёрстка:

https://tprg.ru/Sxl9

#веб #фронтенд
Подборка актуальных вакансий для QA-специалистов

QA Engineer (FR, Manual, Desktop)
Где: Москва, можно удалённо
Сколько: До 90 000 ₽

Тестировщик (анализ и восстановление данных)
Где: Санкт-Петербург, можно удалённо
Сколько: От 100 000 до 120 000 ₽

QA Automation Engineer
Где: Санкт-Петербург, Москва, Красноярск
Сколько: От 100 000 до 250 000 ₽

Эксперт в автоматизации тестирования (Web)
Где: Санкт-Петербург, Москва, Липецк
Сколько: От 100 000 до 250 000 ₽

Senior QA Automation (Java)
Где: Красноярск, Санкт-Петербург, Москва
Сколько: От 100 000 до 350 000 ₽

QA Engineer (Mobile)
Где: Удалённо
Сколько: До 120 000 ₽

Старший инженер по тестированию
Где: Санкт-Петербург
Сколько: От 150 000 до 250 000 ₽

#вакансии #работа
5 шагов к быстрому изучению программирования

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

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

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

3. Начните писать свой код как можно раньше.
Поначалу попробуйте изменить код из примеров, например добавить функцию. Затем попробуйте реализовать самостоятельно простенькие задачи.

4. Научитесь использовать отладчик.
Отладчик — лучший друг программиста. Он покажет, в какой строке кода допущена ошибка, и даже может подсказать, как её исправить.

5. Гуглите нужные материалы.
Столкнулись с проблемой? Поищите в Интернете вариант решения. Вам доступно множество бесплатных ресурсов.

Подробнее о шагах: https://tprg.ru/s5pm

#советы
Чем отличается C++ от C#?

Хоть названия языков похожи, на самом деле они имеют множество отличий как в синтаксисе, так и в области применения.

Статья поможет разобраться, какой из двух языков подойдёт именно вам:

https://tprg.ru/Fq4z

#cpp #csharp
Основы Python для начинающих

Хотите научиться программировать? Присмотритесь к курсу на YouTube по основам Python:

https://tprg.ru/EGpT

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

#python
Оценка сложности алгоритма проще, чем кажется

Если вы изучали различные алгоритмы (например, сортировки массивов), то наверняка встречали запись в духе O(n*logn). Это и есть оценка сложности алгоритма. Она показывает, насколько быстро растёт сложность алгоритма с увеличением размера входных данных.

В статье разбираются основные порядки роста, а также что нужно замерять для оценки сложности: https://tprg.ru/LQI2

#алгоритмы
Создаём простую стрелялку на Python

Реализация интересного проекта замотивирует вас изучать программирование. А создание игры даст вам самый наглядный результат, ведь вы сможете сыграть в неё сами и показать друзьям.

Предлагаем начать с простой стрелялки, которую можно реализовать с помощью Python и библиотеки pygame:

https://youtu.be/D2ytZevQJzA

#python
Топ лучших книг по Java для начинающих

В подборке вы найдёте 10 книг по Java разного уровня — от руководств для начинающих до полноценных справочников и нестареющей классики. Советуем начать с одной из первых трёх книг:

https://tprg.ru/wZ4f

#книги #java
Что такое разработка: объяснение для новичков

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

В одной статье собрана самая необходимая информация по основным понятиям на примере JavaScript:

https://tprg.ru/TMPR

#советы
Пишем Telegram-бот для учёта расходов на Python

Готовы к реализации проекта, который не только прокачает ваши навыки программирования, но и принесёт пользу?

Попробуйте создать бота для учёта расходов. При этом проект будет серьёзным: с подключённой базой данных SQLite и в Docker.

Держите в помощь гайд:

https://youtu.be/Kh16iosOTIQ

#python
Подборка актуальных вакансий для начинающих специалистов

Manual QA Engineer
Опыт: От 1 года
Где: Москва, можно удалённо
Сколько: От 120 000 до 160 000 ₽

QA Engineer
Опыт: От 1 года
Где: Москва, можно удалённо
Сколько: До 90 000 ₽

Аналитик продукта / данных
Опыт: От 1 года
Где: Санкт-Петербург, Москва, Липецк
Сколько: От 100 000 до 150 000 ₽

Программист C# / C++
Опыт: Можно без опыта
Где: Санкт-Петербург, можно удалённо
Сколько: От 120 000 до 190 000 ₽

Frontend-разработчик (Vue / Electron / Cordova)
Опыт: От 1 года
Где: Москва, можно удалённо
Сколько: По итогам собеседования

#вакансии #работа
Вложенные классы в Java

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

Существует 4 типа вложенных классов:
1. Статические классы привязаны к классу, а не объекту.
2. Нестатические или внутренние классы привязаны к конкретному экземпляру, а не к классу.
3. Локальные классы похожи на внутренние, но могут быть определены в любом блоке кода.
4. Анонимные классы не имеют имени и создаются уже внутри экземпляра.

Подробнее о вложенных классах: https://tprg.ru/JyXC

#java #ооп
Научитесь использовать Git как true программист

Нашли крутой иллюстрированный гайд в двух частях, который поможет освоить систему контроля версий Git:

1. Как сделать коммит.
Коммит хранит в эффективном виде определённое состояние всех файлов. Благодаря коммитам вы можете легко откатиться на предыдущую версию, если код сломается.

2. Ветки и слияние веток.
Ветки в Git позволяют объединить коммиты, где изменяются файлы, и отделить их от основной ветки.

#git
Создание и обход двоичного дерева, а также реализация на JavaScript

Двоичное дерево состоит из корня (верхний элемент), внутренних узлов и листьев (узлы без потомков). Оно подчиняется определённым правилам, благодаря чему происходит быстрый поиск элементов.

Статья поможет реализовать на JavaScript двоичное дерево и организовать обход его узлов:
https://tprg.ru/09wZ

#алгоритмы #js