Академия Кода – Telegram
Академия Кода
2K subscribers
673 photos
2 videos
2 files
50 links
Академия кода. Полезный контент по программированию. По всем вопросам @evgenycarter
Download Telegram
Ссылки в C++

Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".

#cpp

Подписывайтесь на канал 👉@cod_academy
👍1
Google-json (GSON)

Google-json, как понятно из названия, ещё одна разработка прямиком из Google. Библиотека реализует механизмы работы с форматом JSON, а именно приведение Java-объектов в этот формат и обратно.

Примерно вот так выглядит сериализация и десериализация с помощью GSON(см картинку).

Как видно, перевод объекта проходит с помощью минимального количества легкочитаемого и понимаемого кода. Особенно эта библиотека пригодится при работе с RESTful приложениями, которые общаются преимущественно с помощью json.

#java

Подписывайтесь на канал 👉@cod_academy
👍1
Почему присвоение не является копированием?

В python все является объектом. В этом легко убедится воспользовавшись функцией dir().

При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.

Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией id(), которая показывает номер объекта.

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

#python

Подписывайтесь на канал 👉@cod_academy
👍2
nullptr

Раньше для обнуления указателей использовался макрос NULL, являющийся нулем — целым типом, что, естественно, вызывало проблемы (например, при перегрузке функций). Ключевое слово nullptr имеет свой собственный тип std::nullptr_t, что избавляет нас от бывших проблем. Существуют неявные преобразования nullptr к нулевому указателю любого типа и к bool (как false), но преобразования к целочисленных типам нет.

#cpp

Подписывайтесь на канал 👉@cod_academy
👍2
Метод matches()

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

#java

Подписывайтесь на канал 👉@cod_academy
👍1
Как отправить post запрос в Python?

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

#python

Подписывайтесь на канал 👉@cod_academy
👍2
range-based циклы

В С++11 была добавлена поддержка парадигмы for each для итерации по набору. В новой форме возможно выполнять итерации в случае, если для объекта итерации перегружены методы begin() и end().

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

#cpp

Подписывайтесь на канал 👉@cod_academy
👍2
Какая проблема возникнет с этим кодом?

Ответ: Данный код не с компилируется.

Этот вопрос на знание иерархии исключений, в данном случае FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения и в следующий блок catch управление не будет передано.

#java

Подписывайтесь на канал 👉@cod_academy
👍2
Форматирование строк

Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
print('Hello', name). Но чаще строки нужны для отображения на формах, а не через print(). Еще чаще вывод должен быть намного сложнее.

В python3 есть очень удобный способ. Нужно поставить f перед строкой а в фигурных скобках {} написать нужную переменную. Если же эти скобки понадобились в тексте, то достаточно написать их дважды, чтобы экранировать.

Еще один способ — воспользоваться методом format(). Суть та же, но на этот раз без добавления f и добавления переменных как аргументов.

#python

Подписывайтесь на канал 👉@cod_academy
👍2
document.gif
23.4 KB
Создание PDF из HTML шаблона с помощью Python

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

https://tretyakov.net/post/sozdanie-pdf-iz-html-shablona-s-pomoshhyu-python/

Подписывайтесь на канал 👉@cod_academy
👍3
В чём разница между string и String в C#?

Ответ на самом деле очень прост: string — это просто псевдоним (alias) для System.String т.е. технически, никакой разницы нет. Так же, как и нет разницы между int и System.Int32.

https://tproger.ru/problems/c-sharp-strings/

Подписывайтесь на канал 👉@cod_academy
👍1
JavaScript: разрабатываем приложение для записи звука

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

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

https://habr.com/ru/companies/timeweb/articles/581086/

Подписывайтесь на канал 👉@cod_academy
👍2
10 фич в C#, о которых вы определённо должны узнать и начать их использовать

Если вы только начали изучение C# или же решили расширить свои знания, мы нашли для вас 10 фич, знание которых позволит вам избежать ошибок, писать более понятный код и сохранить кучу времени.

https://tproger.ru/translations/10-c-sharp-tips/

Подписывайтесь на канал 👉@cod_academy
Python RegEx: практическое применение регулярок

Рассмотрим регулярные выражения в Python, начиная синтаксисом и заканчивая примерами использования.

https://tproger.ru/translations/regular-expression-python/

Подписывайтесь на канал 👉@cod_academy
👍1
JavaScript: разрабатываем приложение для записи экрана


Хочу поделиться с вами решением интересной задачи: записать экран компьютера пользователя.

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

https://habr.com/ru/companies/timeweb/articles/591417/

Подписывайтесь на канал 👉@cod_academy
👍2
Объединение множеств

Предположим, у нас есть два множества, А и В. Объединение двух множеств – это множество со всеми элементами из двух этих множеств. Такая операция выполняется при помощи функции Python под названием union().

#python

Подписывайтесь на канал 👉@cod_academy
👍1
Исключения живут во многих языках программирования, и С++ здесь — не исключение (простите за каламбур). Благодаря им программа не падает, даже если сталкивается с ошибкой. На вебинаре будем учиться с ними работать.

→ Бесплатно, 25 апреля в 19:00 Мск

Встречу будет вести Георгий Осипов — программист из Лаборатории компьютерной графики ВМК МГУ.

Что мы разберём:
— в чём именно исключения помогают разработчикам;
— как устроены стандартные исключения в С++, чем они различаются;
— как с ними работать на практике;
— почему исключения — это не всегда медленно, вопреки стереотипу;
— чем исключения C++ отличаются от них же в Java и Python.

Вебинар предполагает практику: Георгий будет писать код в прямом эфире и объяснять всё на примерах. А после ответит на ваши вопросы.

→ Зарегистрироваться на вебинар
🔥1
Кортежи - tuple()

По своей сути кортежи это тот же список, но который имеет ряд преимуществ (если его правильно применять).

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

На самом деле каждый из нас использовал tuple, просто не знал, что он им является. При создании списков используются квадратные скобки или функция list(), а для кортежей обычные скобки или tuple().

Как и списки кортежи можно сравнивать между собой. Правила при этом те же.

Используйте tuple, если вам нужен неизменяемый список или нужно получить и сразу же работать со значениями.
#python

Подписывайтесь на канал 👉@cod_academy
👍1
Алгоритм copy_n

Используется для копирования элементов из одного контейнера в другой.

#cpp

Подписывайтесь на канал 👉@cod_academy
👍1
Как записать список в csv файл на Python?

Для записи в csv-файл определенного массива, Вы можете воспользоваться библиотекой csv.

В примере мы показываем, как будем записывать весь список в один столбец и в одну строку.

Посмотреть пример в онлайн редакторе.

#python

Подписывайтесь на канал 👉@cod_academy