Пирамидальная сортировка
Пирамидальная сортировка является методом сортировки, который интерпретирует элементы в массиве, как почти полное бинарное дерево.
Она берет элементы массива и вставляет их в пирамиду.
После построения пирамиды, из нее по очереди удаляются наибольшие элементы и вставляются в конец массива, где и находятся в отсортированном виде.
Общее время сортировки расчитывается по O(N logN) для N элементов.
#java
Подписывайтесь на канал 👉@cod_academy
Пирамидальная сортировка является методом сортировки, который интерпретирует элементы в массиве, как почти полное бинарное дерево.
Она берет элементы массива и вставляет их в пирамиду.
После построения пирамиды, из нее по очереди удаляются наибольшие элементы и вставляются в конец массива, где и находятся в отсортированном виде.
Общее время сортировки расчитывается по O(N logN) для N элементов.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Присвоение первого непустого значения из ряда
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Ссылки в C++
Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".
#cpp
Подписывайтесь на канал 👉@cod_academy
Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".
#cpp
Подписывайтесь на канал 👉@cod_academy
👍1
Google-json (GSON)
Google-json, как понятно из названия, ещё одна разработка прямиком из Google. Библиотека реализует механизмы работы с форматом JSON, а именно приведение Java-объектов в этот формат и обратно.
Примерно вот так выглядит сериализация и десериализация с помощью GSON(см картинку).
Как видно, перевод объекта проходит с помощью минимального количества легкочитаемого и понимаемого кода. Особенно эта библиотека пригодится при работе с RESTful приложениями, которые общаются преимущественно с помощью json.
#java
Подписывайтесь на канал 👉@cod_academy
Google-json, как понятно из названия, ещё одна разработка прямиком из Google. Библиотека реализует механизмы работы с форматом JSON, а именно приведение Java-объектов в этот формат и обратно.
Примерно вот так выглядит сериализация и десериализация с помощью GSON(см картинку).
Как видно, перевод объекта проходит с помощью минимального количества легкочитаемого и понимаемого кода. Особенно эта библиотека пригодится при работе с RESTful приложениями, которые общаются преимущественно с помощью json.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Почему присвоение не является копированием?
В python все является объектом. В этом легко убедится воспользовавшись функцией
При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
#python
Подписывайтесь на канал 👉@cod_academy
В python все является объектом. В этом легко убедится воспользовавшись функцией
dir().При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
id(), которая показывает номер объекта.Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
nullptr
Раньше для обнуления указателей использовался макрос
#cpp
Подписывайтесь на канал 👉@cod_academy
Раньше для обнуления указателей использовался макрос
NULL, являющийся нулем — целым типом, что, естественно, вызывало проблемы (например, при перегрузке функций). Ключевое слово nullptr имеет свой собственный тип std::nullptr_t, что избавляет нас от бывших проблем. Существуют неявные преобразования nullptr к нулевому указателю любого типа и к bool (как false), но преобразования к целочисленных типам нет.#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Метод matches()
Возвращает значение true, если, и только в том случае, если эта строка соответствует заданному регулярному выражению.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает значение true, если, и только в том случае, если эта строка соответствует заданному регулярному выражению.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Как отправить post запрос в Python?
Для того, чтобы отправить
Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
#python
Подписывайтесь на канал 👉@cod_academy
Для того, чтобы отправить
post-запрос, нам нужно воспользоваться библиотекой requests.Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
range-based циклы
В С++11 была добавлена поддержка парадигмы
Это полезно, когда вы просто хотите получить элементы массива/контейнера или сделать с ними что-то, не заботясь об индексах, итераторах или кол-ве элементов.
#cpp
Подписывайтесь на канал 👉@cod_academy
В С++11 была добавлена поддержка парадигмы
for each для итерации по набору. В новой форме возможно выполнять итерации в случае, если для объекта итерации перегружены методы begin() и end().Это полезно, когда вы просто хотите получить элементы массива/контейнера или сделать с ними что-то, не заботясь об индексах, итераторах или кол-ве элементов.
#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Какая проблема возникнет с этим кодом?
Ответ: Данный код не с компилируется.
Этот вопрос на знание иерархии исключений, в данном случае
#java
Подписывайтесь на канал 👉@cod_academy
Ответ: Данный код не с компилируется.
Этот вопрос на знание иерархии исключений, в данном случае
FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения и в следующий блок catch управление не будет передано.#java
Подписывайтесь на канал 👉@cod_academy
👍2
Форматирование строк
Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
print('Hello', name). Но чаще строки нужны для отображения на формах, а не через print(). Еще чаще вывод должен быть намного сложнее.
В python3 есть очень удобный способ. Нужно поставить f перед строкой а в фигурных скобках {} написать нужную переменную. Если же эти скобки понадобились в тексте, то достаточно написать их дважды, чтобы экранировать.
Еще один способ — воспользоваться методом format(). Суть та же, но на этот раз без добавления f и добавления переменных как аргументов.
#python
Подписывайтесь на канал 👉@cod_academy
Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
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
Если вам необходимо сгенерировать 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
Ответ на самом деле очень прост: 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
В этом небольшом "туториале" я хочу показать вам, как разработать приложение для записи и воспроизведения аудио-файлов.
Функционал нашего приложения будет следующим:
запись аудио
отображение записи с возможностью ее предварительного прослушивания и последующего сохранения или удаления
хранение аудио-файлов на сервере
извлечение аудио-файлов, хранящихся на сервере, и их отображение в браузере
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
Если вы только начали изучение C# или же решили расширить свои знания, мы нашли для вас 10 фич, знание которых позволит вам избежать ошибок, писать более понятный код и сохранить кучу времени.
https://tproger.ru/translations/10-c-sharp-tips/
Подписывайтесь на канал 👉@cod_academy
Python RegEx: практическое применение регулярок
Рассмотрим регулярные выражения в Python, начиная синтаксисом и заканчивая примерами использования.
https://tproger.ru/translations/regular-expression-python/
Подписывайтесь на канал 👉@cod_academy
Рассмотрим регулярные выражения в Python, начиная синтаксисом и заканчивая примерами использования.
https://tproger.ru/translations/regular-expression-python/
Подписывайтесь на канал 👉@cod_academy
👍1
JavaScript: разрабатываем приложение для записи экрана
Хочу поделиться с вами решением интересной задачи: записать экран компьютера пользователя.
Общие требования к реализации:
запись должна состоять из видео и аудио
у пользователя должна быть возможность просмотра и скачивания записи
данные должны передаваться и сохраняться на сервере
запись, сохраняемая на сервере, должна быть приличного качества, но весить мало
https://habr.com/ru/companies/timeweb/articles/591417/
Подписывайтесь на канал 👉@cod_academy
Хочу поделиться с вами решением интересной задачи: записать экран компьютера пользователя.
Общие требования к реализации:
запись должна состоять из видео и аудио
у пользователя должна быть возможность просмотра и скачивания записи
данные должны передаваться и сохраняться на сервере
запись, сохраняемая на сервере, должна быть приличного качества, но весить мало
https://habr.com/ru/companies/timeweb/articles/591417/
Подписывайтесь на канал 👉@cod_academy
👍2
Объединение множеств
Предположим, у нас есть два множества, А и В. Объединение двух множеств – это множество со всеми элементами из двух этих множеств. Такая операция выполняется при помощи функции Python под названием
#python
Подписывайтесь на канал 👉@cod_academy
Предположим, у нас есть два множества, А и В. Объединение двух множеств – это множество со всеми элементами из двух этих множеств. Такая операция выполняется при помощи функции Python под названием
union().#python
Подписывайтесь на канал 👉@cod_academy
👍1
Исключения живут во многих языках программирования, и С++ здесь — не исключение (простите за каламбур). Благодаря им программа не падает, даже если сталкивается с ошибкой. На вебинаре будем учиться с ними работать.
→ Бесплатно, 25 апреля в 19:00 Мск
Встречу будет вести Георгий Осипов — программист из Лаборатории компьютерной графики ВМК МГУ.
Что мы разберём:
— в чём именно исключения помогают разработчикам;
— как устроены стандартные исключения в С++, чем они различаются;
— как с ними работать на практике;
— почему исключения — это не всегда медленно, вопреки стереотипу;
— чем исключения C++ отличаются от них же в Java и Python.
Вебинар предполагает практику: Георгий будет писать код в прямом эфире и объяснять всё на примерах. А после ответит на ваши вопросы.
→ Зарегистрироваться на вебинар
→ Бесплатно, 25 апреля в 19:00 Мск
Встречу будет вести Георгий Осипов — программист из Лаборатории компьютерной графики ВМК МГУ.
Что мы разберём:
— в чём именно исключения помогают разработчикам;
— как устроены стандартные исключения в С++, чем они различаются;
— как с ними работать на практике;
— почему исключения — это не всегда медленно, вопреки стереотипу;
— чем исключения C++ отличаются от них же в Java и Python.
Вебинар предполагает практику: Георгий будет писать код в прямом эфире и объяснять всё на примерах. А после ответит на ваши вопросы.
→ Зарегистрироваться на вебинар
🔥1
Кортежи - tuple()
По своей сути кортежи это тот же список, но который имеет ряд преимуществ (если его правильно применять).
Кортежи занимают меньше места, в отличии от списка, но тюплы не изменяются. Их неизменность применяется для большей безопасности. Кроме того, кортежи быстрее работают.
На самом деле каждый из нас использовал tuple, просто не знал, что он им является. При создании списков используются квадратные скобки или функция list(), а для кортежей обычные скобки или tuple().
Как и списки кортежи можно сравнивать между собой. Правила при этом те же.
Используйте tuple, если вам нужен неизменяемый список или нужно получить и сразу же работать со значениями.
#python
Подписывайтесь на канал 👉@cod_academy
По своей сути кортежи это тот же список, но который имеет ряд преимуществ (если его правильно применять).
Кортежи занимают меньше места, в отличии от списка, но тюплы не изменяются. Их неизменность применяется для большей безопасности. Кроме того, кортежи быстрее работают.
На самом деле каждый из нас использовал tuple, просто не знал, что он им является. При создании списков используются квадратные скобки или функция list(), а для кортежей обычные скобки или tuple().
Как и списки кортежи можно сравнивать между собой. Правила при этом те же.
Используйте tuple, если вам нужен неизменяемый список или нужно получить и сразу же работать со значениями.
#python
Подписывайтесь на канал 👉@cod_academy
👍1