Точка входа в программирование
21.4K subscribers
898 photos
162 videos
1 file
2.44K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
В чём различия между Data Science, машинным обучением, ИИ, глубоким обучением и Data Mining

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

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

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

#datascience
Курс по Jetpack Compose для начинающих Android-разработчиков

В августе вышло обновление по изучению Jetpack Compose. Пакет состоит из 6 тем с уроками по архитектуре, Layout, анимации и т.д.

В конце каждой темы вас ожидает квиз на закрепление знаний. Если вы давно хотели изучить JetPack Compose, то это руководство как раз поможет в этом:

https://developer.android.com/courses/jetpack-compose/course

#compose #android
Как работают движки JS и зачем они нужны

Чтобы преобразовать исходный код в машинный, существует два подхода: компиляция и интерпретация. Ранее движок JavaScript реализовывался только как интерпретатор, который считывал и исполнял исходный код на JS.

Для улучшения производительности браузеры начали использовать компилятор Just-In-Time (JIT) , который представляет собой комбинацию интерпретатора и компилятора.

В этой статье подробно разбирается механизм работы V8, SpiderMonkey, JavaScriptCore движков и парсинг на различных движках:

https://nuancesprog.ru/p/15991/

#js
This media is not supported in your browser
VIEW IN TELEGRAM
Почему ваш веб-сайт должен быть меньше 14 КБ

Если следовать рекомендациям Google, то оптимальное время загрузки страницы составляет менее трёх секунд.

Чем меньше размер страницы, тем быстрее загружается веб-сайт, но почему 14 КБ? Несмотря на небольшую разницу в размере между 14 КБ и 15 КБ, страница на 14КБ будет загружаться быстрее из-за алгоритма медленного старта TCP.

Transmission Control Protocol (TCP) — это протокол управления передачи пакетов данных. Серверы используют алгоритм медленного старта, чтобы определить, сколько пакетов можно отправить за раз.

Изначально сервер не знает, сколько данных может обработать соединение, поэтому сначала отправляет только 10 TCP-пакетов.

Подробнее о TCP и о правиле 14 КБ в этой статье:

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

#web
Сборник шпаргалок для фронтенд-разработчика

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

Шпаргалка по тегам HTML5
Шпаргалка по методам JavaScript для работы с DOM
Шпаргалка по работе с медиа в браузере
Шпаргалка по HTTP-заголовкам, связанным с безопасностью
Шпаргалка по доступности веб-приложений
Шпаргалка по Internationalization API
Шпаргалка по Temporal API и Dayjs

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

#js #html #фронтенд
Three.js: создаём игру Тетрис

Если вы давно хотели разработать свой тетрис, то автор этой статьи покажет вам, как с помощью Three.js можно создать 3D Тетрис с цветными блоками.

В статье детально разобраны функции для создания фигур и их вращения, методы для обработки коллизии,
и Audio API для добавления звука в игру:

https://habr.com/ru/company/ruvds/blog/680666/

#js
Как закачивать файлы на сервер с помощью Retrofit

Библиотека Retrofit используется для работы с REST API и отправки запросов на удалённый сервер в Android.

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

https://youtu.be/fEYhQOUe0g0

#android
Полное руководство по работе с терминалом на Mac OS

В этом гайде вы найдёте как:
— работать с командной строкой, файлами и каталогами,
— загрузить файлы с помощью curl,
— установить пользовательскую тему и шрифт,
— изменить настройки .zshrc,
—работать с Github с помощью git.

Подробнее: https://tprg.ru/of1F

#ios
Telegram-бот на Java и Spring Boot

Простой видеоурок для начинающих по созданию Telegram бота с помощью Spring Boot. Автор подробно объясняет, как создать Maven проект, зарегистраровать бота в Telegram и реализовать базовый функционал.

Ссылка на видео: https://youtu.be/t9OTDHuF7_M

#java #бэкенд
Какой проект реализовать для практики навыков программирования?

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

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

1. Экономический календарь для трейдинга на Python. Для его реализации вам понадобятся сторонние библиотеки, например Zipline.

2. Календарь задач на день, неделю и месяц на JS. Простой календарь, дизайн которого похож на Full Calendar.

3. Приложение календарь для бронирования на PHP (Laravel). Это более сложный проект, поэтому для реализации, вы должны понимать Bootstrap, jQuery и
Moment.js.

4. Календарь с расписанием уроков на С# для детей и учеников (вы можете выбрать любую другую сферу).

#python #js #c
Уроки Flutter и Dart для начинающих

Курс по изучению фреймворка Flutter и языка программирования Dart для начинающих. В ходе уроков вы изучите построение проектов на основе Dart и к концу курса разработайте несколько проектов с функционалом.

Посмотреть можно тут:

https://youtu.be/YPRaA6KhyXc

#flutter #dart #курс
Что такое WebSocket и для чего он нужен

HTTP запросы не могут работать с двунаправленным потоком данных. Сервер только отвечает на запрос, который отправляет клиент, поэтому, чтобы узнать о новом сообщение в чате или push-уведомлениях нужно обновлять страницу вручную. С помощью WebSocket можно сделать соединение постоянным и двунаправленным.

WebSocket — это протокол, предназначенный для обмена данными между сервером и клиентом в реальном времени. Данный протокол часто используют сервисы, которые нуждаются в постоянном обмене данными. Например: чат-приложения, онлайн-игры или торговые площадки.

В этом руководстве рассматривается, как открыть веб-сокет-соединение и настроить поток данных на примере чата:

https://learn.javascript.ru/websocket#primer-chata

#фронтенд #бэкенд
Разбираем Java 19: что нового?

Совсем недавно вышла 17 версия, однако Oracle уже готовит новый релиз. Станет ли Java 19 переломной версией или нет, разбирается в этом видео: https://youtu.be/dHNr9tzPZhc

#java
This media is not supported in your browser
VIEW IN TELEGRAM
Создание анимированного эффекта набора текста на React

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

Подробнее: https://tprg.ru/ZpGb

#react
Что вам поможет стать программистом

Чтобы стать программистом, нужно проработать свой план обучения и цели. Без этого довольно легко потерять мотивацию к изучению.

Автор статьи делится советами на своём опыте как интервьюера на Java, которые помогут пройти путь до уверенного разработчика:

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

#java
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать формы с автоматическим сохранением на Angular

В этой статье вы узнаете, как создавать формы с автоматическим сохранением и отображением уведомлений. Также автор показывает работу операторов RxJS и различия между шаблонно-управляемыми формами и реактивными формами.

Подробнее: https://tprg.ru/TbSE

#angular
Настройка проекта TypeScript с помощью ESLint, Prettier и VS Code

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

Visual Studio Code: редактор исходного кода для для Windows, Linux и macOS.
ESLint: утилита для проверки и анализа качества кода.
Prettier: инструмент для форматирования кода, который позволяет следовать единым правилам оформления кода.
Yarn: альтернативный npm-клиент, который был создан совместно в Facebook, Google, Exponent и Tilde. В отличие от npm, Yarn работает быстрее.

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

https://nuancesprog.ru/p/16055/

#typescript
​​Что почитать про Linux: 5 книг от азов до управления системами

Хоть профессия Linux-инженера и называется так, его работа не ограничивается определённой операционной системой. Инженер — это человек, который умеет всё в плане инфраструктуры, его обучение должно быть разносторонним.

Вместе с Linux-инженером КРОК отобрали топ книг, которые дают максимальное количество пользы простым и доступным языком: https://tprg.ru/kQdI

#книги #linux
This media is not supported in your browser
VIEW IN TELEGRAM
Видео в веб-дизайне и Browser Policy

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

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

Подробнее о Autoplay Policy и как обойти эту политику, разбирается в этой статье:

https://habr.com/ru/company/ozontech/blog/684856/

#html #js
This media is not supported in your browser
VIEW IN TELEGRAM
Топ самых высокооплачиваемых языков программирования в 2022 году

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

Какие языки самые популярные и почему, мы рассказали в нашей статье:

https://tprg.ru/da4K

Какой язык программирования вы бы хотели изучить?

#советы
Как обрабатывать исключения в Java в функциональном стиле

В Java можно использовать функциональные интерфейсы и потоки (Stream API). Одним из таких интерфейсов является Try.

Try<T> — это некое вычисление, которое может завершиться успешно с результатом типа T или выбросить исключение. Также данный интерфейс может обрабатывать исключения без явного использования конструкций try/catch/finally, что делает код короче и читабельнее.

Подробнее в этой статье:

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

#java