Точка входа в программирование
21.4K subscribers
899 photos
163 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
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
Создаём Discord-бота на Node.js

С помощью Node.js и библиотеки Discord.js вы можете создать бота, который позволяет пользователям напрямую взаимодействовать с Discord API.

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

https://tprg.ru/aL3R

#js
Как работает SQL JOIN

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

Основные типы соединений:
— INNER JOIN,
— LEFT JOIN,
— RIGHT JOIN,
— FULL JOIN.

В этом видео разбирается разница между ними:

https://youtu.be/PTAkqURmI0s

#sql
Что почитать: «Вы не знаете JS» Кайлы Симпсон

Это серия книг по основным механизмам языка JavaScript. Список опубликованных книг:

— «Начните и Совершенствуйтесь»,
— «Область Видимости и Замыкания»,
— «This и Прототипы Объектов»,
— «Типы и Синтаксис»,
— «Асинхронность и Производительность»,
— «ES6 и не только».

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

#книги
Учимся писать правильный Readmе-файл

README — это первый файл, на который обращает внимание пользователь, когда открывает репозиторий. Поэтому, если вы отправляете ссылку на свой GitHub-профиль работодателю, файл должен быть понятным и читабельным.

Что должен включать в себя README:

— техническое описание проекта,
— описание всех подмодулей и библиотек,
— если это библиотека, то стоит добавить фрагмент кода с примером использования,
—для оформления можно использовать HTML, GIF или изображения,
— если вы пишете файл на английском языке, используйте только ASCII-символы.

Источник: https://nuancesprog.ru/p/7105/
This media is not supported in your browser
VIEW IN TELEGRAM
Поиск объектов на видео с помощью Python и OpenCV

Несложное приложение, цель которого — находить объекты на видео или камере при помощи YOLO и помечать их. Небольшая погрешность есть, но этот проект поможет изучить, как пользоваться библиотекой OpenCV:

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

#python
​​Кто такой фулстек и как войти в фулстек-разработку без магии и упований на удачу?

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

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

Кто такой фулстек в реальности, что хочет компания от такого специалиста и какие есть нюансы? Подробнее рассказывает фулстек-разработчик Группы «Иннотех» Олег Лучанский: https://tprg.ru/0Y8S

#фронтенд #бэкенд
Паттерны проектирования в Dart

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

На Хабре как раз вышла серия статей с подробным объяснением паттернов в Dart:

— часть 1: https://tprg.ru/bDor
— часть 2: https://tprg.ru/ZWxu
— часть 3: https://tprg.ru/tPd3

Спойлер: примеры на котах.

#dart #flutter
This media is not supported in your browser
VIEW IN TELEGRAM
Подготовка к собеседованию: задачи по промисам JavaScript

Promise — объект, который используется для написания и обработки асинхронного кода. Есть три состояния промиса: pending/в ожидании, fulfilled/решённый и отклонённый/rejected. Promise представляет результат успешного или неудачного завершения асинхронной операции.

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

https://nuancesprog.ru/p/16090/

#js
This media is not supported in your browser
VIEW IN TELEGRAM
Основные команды Linux

Если вы собираетесь использовать терминал Linux, то базовые знания командной строки могут пригодиться. Например:

— sudo apt-add-repository используется, чтобы добавить сторонний репозиторий,
— kill, чтобы завершить все процессы,
— mkdir создаёт новую папку в текущей терминальной папке или в любой указанной папке.

В этом архиве собраны все основные команды Linux и их объяснение:

https://tprg.ru/PSJF

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

iOS-разработчик
Где: удалённо
Опыт: можно без опыта

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

Golang-разработчик
Где: удалённо
Опыт: от 1 года

Auto QA-инженер
Где: удалённо
Опыт: от 1 года

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

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

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

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

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

Системный аналитик
Где: Москва
Опыт: от 1 года

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

#вакансии #работа
Полезные ресурсы для начинающего iOS разработчика

1. Awesome iOS — здесь собраны материалы по библиотекам, фреймворкам, алгоритмам и даже просто подкасты и книги по iOS: https://github.com/vsouza/awesome-ios

2. Awesome SwiftUI — такой же большой сборник обучающих материалов как и Awesome iOS, но по SwiftUI: https://github.com/vlondon/awesome-swiftui

3. Open-Source iOS Apps — в этом репозитории собраны примеры iOS приложений с открытым исходным кодом: https://github.com/dkhamsing/open-source-ios-apps

4. iOS learning materials — обучающие материалы: https://github.com/jVirus/ios-learning-materials

5. Swift Programming Language Evolution — это официальный репозиторий Apple с изменениями и дополнениями по Swift: https://github.com/apple/swift-evolution

#ios #swiftui
Как обрабатывать ошибки на Go

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

Кроме простого метода Error, в Go существуют команды: panic, defer и recover.

Panic — функция, которая останавливает обычный поток контроля программы с настраиваемым сообщением об ошибке. Операторы defer вместе с recover помогают перехватить panic до прекращения работы программ Go.

Recover позволяет восстановить контроль над паникующей горутиной. Recover входит в пакет builtin, поэтому не требует импорта дополнительных пакетов.

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

Примеры: https://tprg.ru/tiLJ

#go
Раскрашивание изображений с использованием нейронных сетей

С помощью DeOldify можно преобразовать старые черно-белые фотографии, добавив к ним цвет. Для работы с моделью автор использовал python 3.10, но вы можете поэкспериментировать со своими фотографиями на любом другом языке программирования.

Репозиторий: https://github.com/jantic/DeOldify
Руководство: https://habr.com/ru/post/681928/

#python
Анимация Lottie на Kotlin

Библиотека LottieFiles использует анимации, экспортированные в виде файлов JSON из Adobe After Effect. С помощью этой библиотеки вы можете добавить любую анимацию в ваш проект.

В этом видео разбирается, как использовать Lottie:

https://youtu.be/1pEyWkTVwBY

#kotlin
​Полезные API для фронтенд-разработчика

​— Fake Store API — интерфейс, который используется в создании интернет-магазинов. Данный API генерирует тестовые данные для заполнения, например, карточки товара или профиль пользователя.

Unsplash API — это простой JSON API с базой бесплатных и качественных изображений для разработчиков.

Count API помогает отслеживать количество просмотров страницы и клики на сайте.

#api #фронтенд
Учим PHP с нуля

Полный видеокурс по языку программирования PHP. В первом видео рассматривается область применения PHP и фреймворк Laravel. Курс поможет изучить переменные, операторы, конструкторы и многое другое в языке PHP.

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

https://youtu.be/XUUxlNY5oOg


#php