Точка входа в программирование
20.5K subscribers
1.18K photos
207 videos
2 files
2.71K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Топ лучших книг по 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
Как вычислить числа Фибоначчи?

На собеседовании по алгоритмам могут попросить реализовать вывод ряда Фибоначчи. Он строится по следующему правилу: первые два элемента равны 0 и 1, а каждый последующий элемент равен сумме двух предшествующих.

В статье показано, как вычислить числа Фибоначчи на Java тремя способами — циклом, рекурсией и с помощью Stream:

https://tprg.ru/sAUb

#алгоритмы #java
Для чего нужна отладка кода?

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

А поможет в изучении видео, в котором рассказано про основы отладки на примере Visual Studio:

https://youtu.be/_ZairtpcXTs

#советы
Шпаргалка для подготовки к собеседованию на C#-разработчика

Держите сборник тем по C# и .NET, которые могут задать Junior-разработчику и выше:

https://tprg.ru/ZRp8

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

#csharp #собеседование
Ключевые алгоритмические парадигмы для решения нестандартных задач

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

Подробнее о парадигмах (с примерами на C++): https://tprg.ru/Q8bw

#алгоритмы #cpp #задачи
Примеры тестирования Java-программы с помощью JUnit

JUnit — мощный инструмент для модульного тестирования кода на Java. Новичкам JUnit покажется сложным, но на примерах вы сможете понять, как использовать JUnit на практике:

https://tprg.ru/xUbp

#java #тестирование
Три популярных ошибки начинающих программистов

Когда начинающий разработчик приступает к первой работе, он чаще всего совершает три ошибки:

1. Неумение гуглить.
Можно спросить у коллег, как решить ту или иную проблему. Но не проще ли и быстрее самим найти нужную информацию в Интернете, а не отвлекать коллег по пустякам?

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

3. Неумение взглянуть на задачу глобально.
Опытный программист умеет сопоставить задачу со всем проектом и найти наилучший способ её решения.

Подробнее об ошибках новичков: https://youtu.be/HygZuRM0Myc

#советы
Утечки памяти в Java

Хотя в Java есть автоматический сборщик мусора (GC — Garbage Collector), он не всегда спасает от утечек памяти. Время от времени в приложении могут возникнуть лишние объекты, которые засорят память и помешает дальнейшей работе программы.

Как можно бороться с утечками: https://tprg.ru/SgIX

#java
Лайфхаки по написанию кода на Python, который пройдёт ограничения по времени и памяти

В спортивном программировании в большинстве задач задают ограничения, связанные с выполнением времени программы или использованием памяти.

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

Из видео вы узнаете о 5 лайфхаках, которые помогут сделать код на Python эффективнее:

https://youtu.be/mTR5TaqHRX8

#python
Тестировщик — что нужно знать о профессии

QA (Quality Assurance) — отдельная сфера в IT. Она отвечает за обеспечение качества итогового продукта и его тестирование. Поэтому тестировщики не менее важны, чем разработчики.

Если вы не можете определиться, в какое IT-направление идти, то почитайте, что представляет собой профессия QA-инженера или тестировщика:

https://tprg.ru/6QSC

#тестирование
Эти полезные встроенные функции Python сэкономят ваше время

Функции all, any, zip, enumerate, filter и map упрощают работу с итерабельными объектами в Python. Благодаря функциям вы сможете уложить стандартную операцию в одну строчку кода.

Ещё не пробовали их в коде? Из статьи вы узнаете, где и как эти функции применяются:

https://tprg.ru/yDXL

#python
9 проектов для тренировки навыков начинающего веб-разработчика

Для обучения программированию нужно писать код. И много кода. Лучше всего для этого подойдёт реализация интересного проекта.

В подборке собраны идеи веб-приложений на JavaScript, которые по силам реализовать разработчику, изучившему основы JavaScript и стремящемуся двигаться дальше:

https://tprg.ru/DF3f

#js #веб
Разбираемся с async/await в JavaScript на примерах

В JavaScript существует особый тип функций, вызов которых может быть отложен на неопределённое время — callback. Во время выполнения нескольких асинхронных операций могут возникнуть большие проблемы с вызовом функций.

В этом случае можно воспользоваться механизмом async/await. Подробнее о том, как с ним работать, рассказано в статье:

https://tprg.ru/CeTf

#js
Что должен знать Junior-разработчик?

На IT-рынке конкуренция среди начинающих разработчиков только растёт, поэтому компании предъявляют больше требований к кандидатам, чем раньше. И джун теперь должен знать немного больше, чем просто основы языков программирования и связанных технологий.

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

https://tprg.ru/vFEV

#собеседование