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

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

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

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

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

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

Язык C зачастую используется для программирования микроконтроллеров, системных ядер и других проектов, где требуется высокая производительность кода. Однако в таких программах могут присутствовать части кода, которые выполняют простые операции и часто вызываются. Для улучшения производительности такие части можно написать на Assembler и вставить их прямиком в C-код.

Подробнее об этой практике можно узнать из видео:

https://youtu.be/hWq-N3lVAQ4

#c #asm
Разработка веб-приложений с помощью .NET и Visual Studio: серия практических уроков

Этот проект из 6 частей, который поможет научиться создавать веб-приложения на C#. На примере создания простого сайта для пиццы автор объясняет Razor Page, API и Azure:

https://github.com/dotnet/intro-to-dotnet-web-dev

#c
Полезные библиотеки, которые помогут при работе с исключениями на C#

Polly — библиотека, которая позволяет разработчикам свободно и потокобезопасно использовать политики Retry, Circuit Breaker, Timeout, Bulkhead Isolation, Rate-limiting и Fallback.

Xeption добавляет дополнительную информацию к Exception, что помогает при отладке. Для этого нужно просто добавить модель Xeption к Exception вашего проекта.

Ben.Demystifier помогает создать более простые и понятные stack-trace.

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

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

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

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

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

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

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

#python #js #c
Сортировки в C#: OrderBy.OrderBy или OrderBy.ThenBy?

Для сортировки коллекции по нескольким ключам используются вызовы OrderBy().OrderBy() или OrderBy().ThenBy(). Но в чём разница между ними?

— Разные поведения: для вызовов OrderBy().ThenBy() исполнение идёт по else-ветви, а OrderBy().OrderBy() — по then-ветви.
— Производительность: OrderBy().ThenBy() расходует меньше памяти и работает быстрее, поэтому лучше подойдёт при работе с большими объёмами данных.
— Эффективность: последовательность вызовов OrderBy().OrderBy() чаще приводит к ошибкам.

Подробнее об этих методах и их сравнение на примерах — в статье:

https://habr.com/ru/company/pvs-studio/blog/689216/

#c
​​​​Всё об исключениях в С++

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

Чтобы лучше понять механику обработки ошибок с помощью операторов и особенности исключений в С++, собрали самое важное в этой статье:

https://tprg.ru/IHiS

#c
Исключения и обработка исключений на С++

C++ — это популярный язык программирования, в котором есть много альтернативных решений для определённых задач. Существует множество подходов, которым следует следовать, а других же — избегать.

Например, в одном случае использование исключений может повлиять на производительность приложения, в другом — нет. Как исключения влияют на скорость выполнения и как устроены исключения в C++ разобрали вместе с Георгием Осиповым, автором курса «Разработчик C++» в Яндекс Практикуме:

https://tprg.ru/LOCz

#c
C++ по итогам 2022-го

Все события и изменения, которые коснулись языка C++ в 2022. Какие новые компиляторы появились, онлайн-встречи и книги — в статье:

https://habr.com/ru/company/jugru/blog/710522/

#c
C++: лучшие IDE в 2023 году

В статье рассматриваются популярные редакторы кода для C++, а также их плюсы и минусы. Конечно, многие из них используются и для других языков. Если вы устали от Visual Studio и интересуетесь другими IDE, то подробный разбор — здесь:

https://dev.to/mariamarsh/8-best-c-ides-to-use-in-2023-4kf5

#c
Актуальность C# и выбор его как первого языка программирования

C# — язык программирования от компании Microsoft, популярность которого постоянно менялась на протяжении его существования. C# используется для разработки веб-приложений, ML, IoT, игр, но насколько он ещё актуален?

Подробнее разобрали в нашей статье:

https://tproger.ru/articles/aktual-nost-c-i-vybor-ego-kak-pervogo-yazyka-programmirovaniya/

#c
PostgreSQL под капотом

PostgreSQL — одна из наиболее популярных баз данных среди разработчиков. Интересно, из чего же она состоит? Данная серия статей разбирает PostgreSQL на уровне кода:

Часть 1: Введение
Часть 2: Цикл сервера
Часть 3: Подготовка бэкэнда
Часть 4: Инициализация бэкэнда
Часть 5: Цикл бэкэнда

#sql #c #бд
Компиляция и компоновка в C++

Создание исполняемого файла из исходного кода на C++ состоит из трех этапов:
1. обработка директив препроцессора;
2. компиляция;
3. компоновка (линковка).

Рассмотри их подробнее:
На первом этапе препроцессор выполняет включение файлов #include, определение макросов #define и условную компиляцию #ifdef, #ifndef, #if, #elif, #else, #endif.

На втором же этапе с помощью специальных программ происходит проверка кода на соответствие правилам языка C++, а исходный код переводится в файл машинного кода, называемый объектным файлом.

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

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

#c
Сегодняшнюю викторину проведем без участия кода. Попробуете проверить себя?

#c #викторина
Как создать шахматы на С++ 

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

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

#c
Media is too big
VIEW IN TELEGRAM
Введение в программирование на языке C от Гарвардского Университета

Этот видеоурок расскажем вам об основах информатики. Он является первым из курса CS50 Гарвардского университета. Посмотреть полный курс можно тут.

#c #видео