Функция в роли переменной
В JavaScript функция – значение, как и строка, число. Поэтому мы можем передавать функцию как значение переменной. При этом функцию можно вызвать самостоятельно.
#javanoscript
В JavaScript функция – значение, как и строка, число. Поэтому мы можем передавать функцию как значение переменной. При этом функцию можно вызвать самостоятельно.
#javanoscript
Объединение словарей
В Python можно без проблем объединить два словаря с помощью функции .update(). В данном случае уникальные значения dict2 просто добавятся к dict1, а одинаковые – перезапишутся значением из dict2.
#python
В Python можно без проблем объединить два словаря с помощью функции .update(). В данном случае уникальные значения dict2 просто добавятся к dict1, а одинаковые – перезапишутся значением из dict2.
#python
Модификация ArrayList
Для добавления элементов используется add(). В скобочках указывается элемент, который мы хотим добавить. Чтобы удалить элемент, пишем remove(). В скобочках можно писать как сам элемент, который мы хотим удалить, так и его индекс.
#java
Подписывайтесь на канал 👉@coddy_academy
Для добавления элементов используется add(). В скобочках указывается элемент, который мы хотим добавить. Чтобы удалить элемент, пишем remove(). В скобочках можно писать как сам элемент, который мы хотим удалить, так и его индекс.
#java
Подписывайтесь на канал 👉@coddy_academy
Функция stride()
Если нам нужно в массиве пройтись по значением с определенным шагом, стоит воспользоваться функцией stride(). Первый аргумент - начальное число. Второй аргумент - до какого числа идет перемещение. Третий аргумент - шаг перемещения. Он может быть как положительным, так и отрицательным.
Подписывайтесь на канал 👉@coddy_academy
#swift
Если нам нужно в массиве пройтись по значением с определенным шагом, стоит воспользоваться функцией stride(). Первый аргумент - начальное число. Второй аргумент - до какого числа идет перемещение. Третий аргумент - шаг перемещения. Он может быть как положительным, так и отрицательным.
Подписывайтесь на канал 👉@coddy_academy
#swift
Перегрузка функций
Перегрузка функций позволяет создавать несколько функций с одинаковым именем, но с разными реализациями. Для этого нужно, чтобы каждая функция имела либо разные типы параметров, либо разное количество параметров.
#c_plus
Перегрузка функций позволяет создавать несколько функций с одинаковым именем, но с разными реализациями. Для этого нужно, чтобы каждая функция имела либо разные типы параметров, либо разное количество параметров.
#c_plus
Асинхронное программирование
Несколько асинхронных операций могут выполняться одновременно с помощью async…await. Данный метод более эффективный по сравнению с .then(), так как улучшает читабельность кода, позволяет использовать .then() для отдельных функций и гарантирует возвращение промиса, а не самого значения.
#javanoscript
Подписывайтесь на канал 👉@cod_academy
Несколько асинхронных операций могут выполняться одновременно с помощью async…await. Данный метод более эффективный по сравнению с .then(), так как улучшает читабельность кода, позволяет использовать .then() для отдельных функций и гарантирует возвращение промиса, а не самого значения.
#javanoscript
Подписывайтесь на канал 👉@cod_academy
Использование namedtuple
Главный недостаток кортежей – данные из них можно получить только используя числовые индексы. Именованные кортежи позволяют хранить и вызывать данные, используя их имена. Как результат – код становится более читаемым, не нужно запоминать числовые индексы, что уменьшает количество ошибок.
#python
Главный недостаток кортежей – данные из них можно получить только используя числовые индексы. Именованные кортежи позволяют хранить и вызывать данные, используя их имена. Как результат – код становится более читаемым, не нужно запоминать числовые индексы, что уменьшает количество ошибок.
#python
Свойство flex
Свойство flex определяет способность гибкого элемента растягиваться или сжиматься для заполнения собой доступного свободного пространства. Состоит из следующих свойств: flex-grow (коэффициент увеличения flex), flex-shrink (фактор сжатия), flex-basis (базовый размер элемента по основной оси).
Подписывайтесь на канал 👉@cod_academy
#css
Свойство flex определяет способность гибкого элемента растягиваться или сжиматься для заполнения собой доступного свободного пространства. Состоит из следующих свойств: flex-grow (коэффициент увеличения flex), flex-shrink (фактор сжатия), flex-basis (базовый размер элемента по основной оси).
Подписывайтесь на канал 👉@cod_academy
#css
Svelte_и_Sapper_в_действии_2022_Марк_Волкманн.pdf
13.3 MB
Svelte и Sapper в действии
Марк Волкманн (2022)
Многие веб-фреймворки замедляют работу приложений, загружая сотни строк кода «на всякий случай». Svelte позволяет компилировать приложения в эффективные крошечные пакеты с минимальным временем загрузки. Объединение Svelte с фреймворком Sapper облегчает маршрутизацию страниц, генерирование на стороне сервера, разработку статических сайтов и решение многих других задач.
Хотите научиться создавать быстрые и элегантные веб-приложения?
Вам помогут компоненты Svelte и качественный опыт взаимодействия. Вы научитесь использовать уникальную модель управления состояниями, освоите упрощенную маршрутизацию страниц, разбиение кода, поддержку автономного режима и работу с представлениями, генерируемыми на сервере.
Подписывайтесь на канал 👉@cod_academy
Марк Волкманн (2022)
Многие веб-фреймворки замедляют работу приложений, загружая сотни строк кода «на всякий случай». Svelte позволяет компилировать приложения в эффективные крошечные пакеты с минимальным временем загрузки. Объединение Svelte с фреймворком Sapper облегчает маршрутизацию страниц, генерирование на стороне сервера, разработку статических сайтов и решение многих других задач.
Хотите научиться создавать быстрые и элегантные веб-приложения?
Вам помогут компоненты Svelte и качественный опыт взаимодействия. Вы научитесь использовать уникальную модель управления состояниями, освоите упрощенную маршрутизацию страниц, разбиение кода, поддержку автономного режима и работу с представлениями, генерируемыми на сервере.
Подписывайтесь на канал 👉@cod_academy
👍2
Ключевые слова override/virtual
В C# наследник может изменить функционал метода базового класса. Для этого метод в наследнике должен быть помечен override, а в базовом классе – virtual. Такая маркировка необходима по той причине, что компилятор воспринимает “обычный” и виртуальный методы по-разному. Благодаря такой маркировке разработчик может проще понять код.
#c_sharp
В C# наследник может изменить функционал метода базового класса. Для этого метод в наследнике должен быть помечен override, а в базовом классе – virtual. Такая маркировка необходима по той причине, что компилятор воспринимает “обычный” и виртуальный методы по-разному. Благодаря такой маркировке разработчик может проще понять код.
#c_sharp
Optional Binding
Optional Binding позволяет проверить, содержит ли опционал .some-значение. Если содержит, извлекает его и предоставляет к нему доступ с помощью локальной переменной (обычно константной). Optional Binding работает в контексте конструкций if, while и guard. Если опционал в состоянии nil, запускается блок else.
#swift
Optional Binding позволяет проверить, содержит ли опционал .some-значение. Если содержит, извлекает его и предоставляет к нему доступ с помощью локальной переменной (обычно константной). Optional Binding работает в контексте конструкций if, while и guard. Если опционал в состоянии nil, запускается блок else.
#swift
setState()
В React метод setState() позволяет планировать изменение объекта состояния компонента. Сам state находится внутри компонента. Вызов setState() является асинхронным, поэтому this.state не сможет отобразить новое значение мгновенно. Всегда нужно использовать this.SetState() для изменения состояния вместо прямой модификации объекта.
Подписывайтесь на канал 👉@cod_academy
#javanoscript
В React метод setState() позволяет планировать изменение объекта состояния компонента. Сам state находится внутри компонента. Вызов setState() является асинхронным, поэтому this.state не сможет отобразить новое значение мгновенно. Всегда нужно использовать this.SetState() для изменения состояния вместо прямой модификации объекта.
Подписывайтесь на канал 👉@cod_academy
#javanoscript
👍2
Кучи
Куча — это особая древовидная структура, в которой каждый родительский узел меньше или равен своему дочернему узлу. Тогда это называется Min Heap. Если каждый родительский узел больше или равен своему дочернему узлу, он называется максимальной кучей. Это очень полезно при реализации приоритетных очередей, где элементу очереди с более высоким весом предоставляется больший приоритет при обработке.
Подписывайтесь на канал 👉@cod_academy
#python
Куча — это особая древовидная структура, в которой каждый родительский узел меньше или равен своему дочернему узлу. Тогда это называется Min Heap. Если каждый родительский узел больше или равен своему дочернему узлу, он называется максимальной кучей. Это очень полезно при реализации приоритетных очередей, где элементу очереди с более высоким весом предоставляется больший приоритет при обработке.
Подписывайтесь на канал 👉@cod_academy
#python
👍2
RestController
Аннотация RestController совмещает в себе аннотации Controller и ResponseBody. Первая указывает, что данный класс играет роль контроллера. Вторая указывает, что тип возврата должен быть записан прямо в тело ответа HTTP. RestController устраняет необходимость использования ResponseBody, так как запись в тело происходит автоматически.
Подписывайтесь на канал 👉@cod_academy
#java
Аннотация RestController совмещает в себе аннотации Controller и ResponseBody. Первая указывает, что данный класс играет роль контроллера. Вторая указывает, что тип возврата должен быть записан прямо в тело ответа HTTP. RestController устраняет необходимость использования ResponseBody, так как запись в тело происходит автоматически.
Подписывайтесь на канал 👉@cod_academy
#java
👍2
Конструктор
Конструктор — это особый тип метода класса, который позволяет управлять тем, как должны создаваться объекты класса. Конструкторы всегда должны иметь то же имя, что и класс. Они не имеют типа возврата, так как компилятор автоматически вызывает констукторы для инициализации переменных.
Подписывайтесь на канал 👉@cod_academy
#c_plus
Конструктор — это особый тип метода класса, который позволяет управлять тем, как должны создаваться объекты класса. Конструкторы всегда должны иметь то же имя, что и класс. Они не имеют типа возврата, так как компилятор автоматически вызывает констукторы для инициализации переменных.
Подписывайтесь на канал 👉@cod_academy
#c_plus
👍1
Justify Items
Свойство justify-items определяет, как элементы макета сетки выравниваются по оси строки grid-контейнера. Значение start размещает элементы по начальному краю ячеек. Значение end размещает по конечному краю. Значение center размещает в середине каждой ячейки контейнера. Значение stretch растягивает элементы по размеру строки.
Подписывайтесь на канал 👉@cod_academy
#css
Свойство justify-items определяет, как элементы макета сетки выравниваются по оси строки grid-контейнера. Значение start размещает элементы по начальному краю ячеек. Значение end размещает по конечному краю. Значение center размещает в середине каждой ячейки контейнера. Значение stretch растягивает элементы по размеру строки.
Подписывайтесь на канал 👉@cod_academy
#css
👍2
Mutable Default Arguments
Изначальные аргументы Python оцениваются только один раз при инициализации функции, а не каждый раз как она вызывается. Это значит, что, когда используются измененные аргументы и они изменяются, они меняются и для всех будущих вызовов функции. Это приводит к глючному поведению, так как разработчик ожидает изначальное значение аргумента при каждом вызове функции.
Подписывайтесь на канал 👉@coddy_academy
#python
Изначальные аргументы Python оцениваются только один раз при инициализации функции, а не каждый раз как она вызывается. Это значит, что, когда используются измененные аргументы и они изменяются, они меняются и для всех будущих вызовов функции. Это приводит к глючному поведению, так как разработчик ожидает изначальное значение аргумента при каждом вызове функции.
Подписывайтесь на канал 👉@coddy_academy
#python
👍4
Хвостовое замыкание
Если последний аргумент функции – замыкание, ее можно вызвать с помощью хвостового замыкания. Для этого опустите последний аргумент в вызове метода и закройте круглые скобки. Затем определите замыкание сразу после закрытия круглых скобок.
Подписывайтесь на канал 👉@coddy_academy
#swift
Если последний аргумент функции – замыкание, ее можно вызвать с помощью хвостового замыкания. Для этого опустите последний аргумент в вызове метода и закройте круглые скобки. Затем определите замыкание сразу после закрытия круглых скобок.
Подписывайтесь на канал 👉@coddy_academy
#swift
This media is not supported in your browser
VIEW IN TELEGRAM
Сортировка пузырьком
В Python уже есть встроенные функции сортировок массивов sort() и .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.
Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит. В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.
Подписывайтесь на канал 👉@coddy_academy
#python
В 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 и её функцией
В данном примере мы меняем имя файла "test.txt" на "txt_file.txt"
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@coddy_academy
Чтобы переименовать файл, нам потребуется воспльзоваться библиотекой os и её функцией
os.rename()В данном примере мы меняем имя файла "test.txt" на "txt_file.txt"
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@coddy_academy
Привязка модели
При привязке модели page model извлекает данные из запроса HTTP, конвертирует данные в .NET и обновляет соответствующие свойства. Она включается атрибутом [BindProperty].
Подписывайтесь на канал 👉@coddy_academy
#c_sharp
При привязке модели page model извлекает данные из запроса HTTP, конвертирует данные в .NET и обновляет соответствующие свойства. Она включается атрибутом [BindProperty].
Подписывайтесь на канал 👉@coddy_academy
#c_sharp
👍2