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

Куча — это особая древовидная структура, в которой каждый родительский узел меньше или равен своему дочернему узлу. Тогда это называется Min Heap. Если каждый родительский узел больше или равен своему дочернему узлу, он называется максимальной кучей. Это очень полезно при реализации приоритетных очередей, где элементу очереди с более высоким весом предоставляется больший приоритет при обработке.

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

#python
👍2
RestController

Аннотация RestController совмещает в себе аннотации Controller и ResponseBody. Первая указывает, что данный класс играет роль контроллера. Вторая указывает, что тип возврата должен быть записан прямо в тело ответа HTTP. RestController устраняет необходимость использования ResponseBody, так как запись в тело происходит автоматически.

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

#java
👍2
Конструктор

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

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

#c_plus
👍1
Justify Items

Свойство justify-items определяет, как элементы макета сетки выравниваются по оси строки grid-контейнера. Значение start размещает элементы по начальному краю ячеек. Значение end размещает по конечному краю. Значение center размещает в середине каждой ячейки контейнера. Значение stretch растягивает элементы по размеру строки.

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

#css
👍2
Mutable Default Arguments

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

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

#python
👍4
Хвостовое замыкание

Если последний аргумент функции – замыкание, ее можно вызвать с помощью хвостового замыкания. Для этого опустите последний аргумент в вызове метода и закройте круглые скобки. Затем определите замыкание сразу после закрытия круглых скобок.

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

#swift
This media is not supported in your browser
VIEW IN TELEGRAM
Сортировка пузырьком

В Python уже есть встроенные функции сортировок массивов sort() и .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.

Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит. В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.

def bubble_sort(array):
for i in range(len(array), 0, -1):
for j in range(1, i):
if array[j - 1] > array[j]:
tmp = array[j-1]
array[j-1] = array[j]
array[j] = tmp
return array


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

#python
👍4👎1
Как переименовать файл через Python?

Чтобы переименовать файл, нам потребуется воспльзоваться библиотекой os и её функцией os.rename()

В данном примере мы меняем имя файла "test.txt" на "txt_file.txt"

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

Подписывайтесь на канал 👉@coddy_academy
Привязка модели

При привязке модели page model извлекает данные из запроса HTTP, конвертирует данные в .NET и обновляет соответствующие свойства. Она включается атрибутом [BindProperty].

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

#c_sharp
👍2
Как сделать скриншот на Java?

Вы можете испольщовать Robot().createScreenCapture() чтобы сделать скриншот экрана на Java.

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

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

#java
👍1
Привязка модели

При привязке модели page model извлекает данные из запроса HTTP, конвертирует данные в .NET и обновляет соответствующие свойства. Она включается атрибутом [BindProperty].

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

#c_sharp
👍1
Медиа-запросы

Медиа-запрос используется для адаптации верстки в зависимости от различных размеров экранов. Условия проверяют размер экрана, ориентацию, разрешение и другие свойства. Если все условия соблюдаются, все правила CSS в медиа-запросе будут применены к странице. Это позволяет адаптировать страницы к различным типам устройств, таких как ноутбуки, планшеты, телефоны.

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

#css
Резервный шрифт

Свойство font-family может иметь несколько шрифтов. Они объявляются в порядке предпочтения. В данном случае шрифты, следующие после изначального шрифта, называются резервными. Если первоначальное значение font-family не может загрузить страницу, будут использоваться резервные шрифты.

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

#css
Дочерние классы в массивах

В Java полиморфизм позволяет нам помещать экземпляры разных классов, которые имеют общий родительский класс, вместе в массив или ArrayList. Например, если у нас есть родительский класс Animal с дочерними классами Cat, Dog и Pig, мы можем настроить массив с экземплярами каждого животного, а затем перебрать список животных, чтобы выполнить одно и то же действие над каждым.

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

#java
👍1
Вариативные параметры

Вариативный параметр принимает ноль или более значений определенного типа. Он обозначается тремя последовательными точками, после типа данных параметра в декларации функции. Данный метод – хорошая альтернатива, когда для работы нам нужно только одно значение. Swift может конвертировать одно значение в набор переменных.

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

#swift
Ленивые итерации

Мы используем ленивые/отложенные итерации в функциональном программировании для более эффективной работы с памятью. Итератор срабатывает только тогда, когда требуется следующее значение. В данном примере вызов следующего четного числа произойдет с помощью next(evens).

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

#python
Добавление строк с помощью SQLite

Для добавления множества строк/записей данных в базу данных SQLite используется метод .executemany(). Новые строки должны соответствовать исходной схеме базы данных. В последней строке присутствует список вопросительных знаков, они выступают как плейсхолдер. Они представляют каждое из пяти полей в базе данных, куда мы вставляем значения.

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

#python
👍2
Параметры In-Out

В Swift аргументы функции – константы. В результате этого невозможно изменить значение параметра, которое передается в функцию. Параметр in-out позволяет функции переназначить значение переменной. Для этого параметр помечается inout, используется & при передаче параметра в вызов функции.

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

#swift
👍1
Цветовая модель HSL

HSL-модель является предпочтительной для работы с цветом. Ключевые слова дают нам ограниченное число опций, а hex-коды, как и RGB, не позволяют интуитивно корректировать цвет, например, яркость. Первое значение – hue (само значение цвета). Второе – насыщенность. Третье – яркость.

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

#css
👍1
Hooks

Хуки – это функции, которые позволяют “зацепиться” за состояние и функциональность жизненного цикла в компонентах функции. Вызывать их можно только из функции React, на верхнем уровне, чтобы убедиться, что хуки вызываются в одинаковом порядке каждый раз во время рендера компонента. Не стоит вызывать внутри циклов, условий.

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

#javanoscript
👍1
Как объединить массивы в Ruby?

Вы можете использовать concat() метод, чтобы объединить один массив в другой на Ruby, посмотрите код как пример.

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

#ruby
👍1