Точка входа в программирование
20.6K subscribers
1.15K photos
204 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
Учимся создавать Telegram Bot на Python

В видео уроке вы с нуля создадите Telegram бота на основе Python и изучите основные команды для работы с пользователем:

https://youtu.be/HodO2eBEz_8

#python
Шпаргалка по Java

Отслеживать все обновления по Java непросто. Oracle старается выпускать новые версии и обновлять документацию 4 раза в год. В этой шпаргалке от Принстонского университета вы не пропустите ничего:

https://tprg.ru/znfe

#java
Многие компании закрывают вакансии и сокращают штат, поэтому для джунов стоит вопрос — как выжить?

Ответ даёт HR Big Data МТС Яна Ожогина и рассказывает в своей статье, что происходит с IT-рынком, почему джунам не стоит расстраиваться и как им повысить свои шансы на трудоустройство: https://tprg.ru/cD6f
Создаём шахматы на С++

Чтобы создать настоящую игру в шахматы нужно:

— создать шахматную доску, используя битборд,
— сгенерировать ходы коней, пешек, королей и т.д.,
— использовать Zobrist хеширование для проверки позиций фигурок,
— создать структуру для хранения кода фигурок.

Подробнее вы можете прочитать здесь:

https://habr.com/ru/post/682122/

#cpp
Ресурсы с задачами по программированию

1. LeetCode поддерживает более 16 языков программирования. Пользователи могут сами выбирать уровень сложности задачи.
2. HackerRank — платформа, где кроме базовых задач можно выбрать задачи в разных областях: SQL, алгоритмы, AI и т.д.
3. Codewars представляет алгоритмические и практические задачи, связанные с шаблонами проектирования.
4. TopCoder — сообщество программистов, где любят решать головоломки. На сайте иногда проходят турниры.
5. CodinGame — платформа, где решение задачи сопровождается визуализацией в стиле видеоигр.
Создаём приложение с прогнозом погоды на Flutter

Для реализации проекта вам понадобится:
— любая среда разработки, в которой установлен Flutter SDK,
— аккаунт на сайте Tomorrow.io для доступа к данным о погоде,
— базовое понимание Dart и Flutter.

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

https://habr.com/ru/post/656033/

#flutter
Как создать браузерную игру на JS

В статье автор делится опытом создания игры, используя JS и Node.js. Для поддержки связи клиента с сервером использовалась библиотека Sосket.iо.

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

Обо всех этапах разработки автор рассказал в этой статье:

https://tproger.ru/articles/sozdat-js-igru-s-multipleerom-za-24-chasa-i-vyzhit/

#js
Введение в Golang за 4 часа

Golang — универсальный язык, который применяют для разработки веб-сервисов, небольших утилит или анализа статистики. Также разработчики выбирают Go для облачных и кластерных вычислений.

Это видео поможет вам изучить основы языка:

https://youtu.be/h0zxh2TPN_I

#go
Обзор терминала Warp

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

Если вы ищете альтернативу, попробуйте Warp. Этот терминал на основе Rust похож по функциональности на редактор кода. В Warp пользователь может:

— предоставить всей команде доступ к терминалу через ссылку,
— вести документацию,
— редактировать свои команды,
— просмотреть все записи журнала.

Бета-версия Warp доступна пока только пользователям Mac.

#warp #бэкенд
This media is not supported in your browser
VIEW IN TELEGRAM
​Полезные расширения для Visual Studio

Error Lens показывает ошибки и нарушения в оформление кода.
Code Spell Check проверяет орфографию.
Live Share — расширение для совместной разработки в режиме реального времени.
GitLens показывает, кто и когда делал изменения в каждой строке кода.

#vs
«Всё это время я создавал формы в React.js неправильно»

Если вы тоже при создании форм в React.js сталкивались с тем, что ваш код — это куча useStates и обработчиков onChange для них, то этот материал для вас.

Разработчик рассказывает, как сделать код создания форм чище и понятнее: https://tprg.ru/OgMZ

#javascript
Подборка актуальных вакансий

Разработчик DWH / ETL
Где: Москва, можно удалённо
Опыт: от 1 года

Python-разработчик
Где: Москва, можно удалённо
Опыт: от 1 года

QA Automation Engineer
Где: Москва, можно удалённо
Опыт: от 1 года

TUL Automated Moderation
Где: Москва, можно удалённо
Опыт: от 1 года

NoSQL Reliability Engineer
Где: Москва
Опыт: от 1 года

Project Manager
Где: Москва
Опыт: от 1 года

Problem Manager
Где: Москва, Санкт-Петербург
Опыт: от 1 года

Специалист группы дежурных администраторов выноса изменений
Где: Москва
Опыт: от 1 года

Специалист отдела VIP сопровождения ПО
Где: Москва
Опыт: можно без опыта

#вакансии #работа
Python: разница между списками и словарями

— Каждый элемент списка имеет присвоенный ему индекс. В словаре все элементы хранятся в формате ключ-значение.
— Индексы представляют собой целочисленные значения, начинающееся с 0. В словарях ключами могут быть только неизменяемые типы данных: строки, числа или кортежи.
— Чтобы получить доступ к значению внутри словаря используется связанный с ним ключ. В списках —
значение индекса.
— Словари предназначены для хранения больших объёмов данных, списки — нет.
— В списке могут быть повторяющиеся значения, но не в словарях.

Интересный факт: до версии 3.7 словари считались неупорядоченными коллекциями, в отличие от списков. Сейчас словари сохраняют порядок вставки элементов.

Источник: GeeksforGeeks

#python
Введение в Data-Oriented Programming на Rust

Data-Oriented Programming (DOP) - способ проектирования программ, который предполагает оптимизацию размещения структур данных в памяти. В отличие от ООП, основным элементом DOP являются вызовы процедур.

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

Подробнее об этом здесь:

https://tprg.ru/Vm1J

#rust #dop
Шпаргалка по JavaScript с примерами

Эта шпаргалка содержит разделы по циклам, массивам, переменным, функциям и т.д. Вы можете проверить синтаксис JS и легко скопировать примеры кода для своих проектов.

Сохраняйте в закладки и используйте:

https://htmlcheatsheet.com/js/

#js
Моржовый оператор в Python

Моржовый (walrus) оператор позволяет присвоить значение переменной и вернуть это значение в том же выражении. Особенности:

— символ оператора записывается как «:=», поэтому многие отмечают его схожесть на глаза и бивни моржа, лежащего на боку,
— используется только для присваивания переменных внутри других выражений,
— оператор можно использовать с циклом while, условным оператором if, но не следует применять его с оператором with.

Примеры использования этого оператора по ссылке:

https://tprg.ru/zdvn

#python