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

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

volatile полезно для объявления объектов в общей памяти, к которым могут обращаться несколько процессов или для глобальных областей данных.

#cpp

Подписывайтесь на канал 👉@cod_academy
👍2
JIT-оптимизация

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

В качестве примера взглянем на две простые операции:
// 1
n += 2 * i * i;

// 2
n += 2 * (i * i);

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

2 * (i * i) | 2 * i * i
0.5183738 | 0.6246434
0.5298337 | 0.6049722
0.5308647 | 0.6603363
0.5133458 | 0.6243328
0.5003011 | 0.6541802

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

#java

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

Вы можете придерживаться синтаксиса

class <Название_Класса>:
def __init__(<Аргументы_Класса>):
pass



(Конструктор класса не всегда обязателен)
Создание класса вы можете увидеть на примере :

class Axe: # Создаем класс с названием "Axe"
def __init__(self, x : int, y : int): # Создаем конструктор класса, который принимает "x" и "y"
self.x = x
self.y = y

def increment(self): # Создаем метод класса
print(self.x + self.y)


#python

Подписывайтесь на канал 👉@cod_academy
👍1
🤖 Тест по Flutter проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на курс "Flutter Mobile Developer" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса

За 6 месяцев вы освоите Dart, Flutter и ключевые инструменты разработки, создадите несколько приложений, получите поддержку преподавателей и выполните проект для портфолио.

➡️ ПРОЙТИ ТЕСТ И ОЗНАКОМИТСЯ С ПРОГРАММОЙ: https://vk.cc/cOaU8b

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1
Алгоритм includes

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

#cpp

Подписывайтесь на канал 👉@cod_academy
👍2
Чем различаются Enumeration и Iterator?

Хотя оба интерфейса и предназначены для обхода коллекций между ними имеются существенные различия:
• с помощью Enumeration нельзя добавлять/удалять элементы;
• в Iterator исправлены имена методов для повышения читаемости кода (Enumeration.hasMoreElements() соответствует Iterator.hasNеxt(), Enumeration.nextElement() соответствует Iterator.nеxt() и т.д);
• Enumeration присутствуют в устаревших классах, таких как Vector/Stack, тогда как Iterator есть во всех современных классах-коллекциях.

#java

Подписывайтесь на канал 👉@cod_academy
Как скачать видео с youtube с помощью python?

Вы можете использовать библиотеку pytube для скачки видео с youtube

import pytube

link = "../" # Ссылка на видео
path = "../" # Путь, куда будет сохранятся видео

YT_parser = pytube.YouTube(link)

video_with_highest_resolution = YT_parser.streams.get_highest_resolution()
video_with_highest_resolution.download(path)


#python

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

Возвести число в степень можно двумя способами:
☕️ простым умножением;
☕️ с помощью функции Math.pow(double base, double exponent)

Использовать библиотечную функцию рекомендуется только при крайней необходимости, например, в случае дробной или отрицательной степени.

Простое умножение на Java работает в 300-600 раз эффективнее, к тому же его можно дополнительно оптимизировать.

#java

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

Вы можете использовать индексирование [::2] (2 означает шаг) для удаления каждого второго элемента.

array = [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(array[::2])

# Вывод : [1, 3, 5, 7, 9]


#python

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

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

Проще говоря метод concat() в Java объединяет строки, путем добавления одной строки в конец к другой.

#java

Подписывайтесь на канал 👉@cod_academy
👍2😁1
Array vs ArrayList

Выбор между Array (стандартным Java-массивом) и ArrayList зависит от специфики задачи на Java, которую требуется решить. Помните о следующих особенностях этих типов:

☕️ Array имеет фиксированный размер и память для него выделяется в момент объявления, а размер ArrayList может динамически изменяться;
☕️ Массивы Java работают гораздо быстрее, а в ArrayList намного проще добавлять/удалять элементы;
☕️ При работе с Array велика вероятность получить ошибку ArrayIndexOutOfBoundsException;
☕️ У ArrayList только одно измерение, а вот массивы Java могут быть многомерными.

#java

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