Академия Кода – Telegram
Академия Кода
2K subscribers
673 photos
2 videos
2 files
50 links
Академия кода. Полезный контент по программированию. По всем вопросам @evgenycarter
Download Telegram
Добавление строк с помощью 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
Гистограмма

Гистрограмма – график, визуализирующий распределение выборок в наборе данных. Гистограмма показывает частоту по вертикальной оси, а по горизонтальной оси другое измерение. Обычная горизонтальная ось имеет бункеры, где у каждого бункера есть минимальное и максимальное значение. Также имеет частоту между Х и бесконечностью.

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

#python
👍2
Строки в Java

Это объекты, которые внутренне являются массивом символов. Поскольку массивы неизменяемы (не могут расти), строки также неизменны. Каждый раз, когда в String вносятся изменения, создается совершенно новый объект String.

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

#java
👍4👎1
Делаем GIF из видео

Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/

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

#python
👍2
Clone

По умолчанию protected – потому что универсальной реализации нет, а вызов приведет к CloneNotSupportedException. Нужно писать свою реализацию, делать при этом ее public и добавлять классу интерфейс Cloneable. Подразумевается что этот метод делает «глубокое копирование», то есть поля-ссылки копи будут вести на копии полей оригинала. Это диктуется соглашением, по которому клон не должен зависеть от оригинала.

По контракту клон должен быть другим объектом (!= оригиналу). Рекомендуется, чтобы все классы иерархии реализовывали Cloneable, реализация метода начиналась с super.clone() (если родитель не Object), а результат был equals и имел тот же класс что и оригинал.

Альтернативы (многие считают что более удобные) метода clone - конструктор копирования и паттерн factory method. Всё, что нужно знать о копировании объектов в Java можно найти в Effective Java Item 11.

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

#java
👍2
Фабричный метод

В библиотеке react-navigation все навигаторы создаются фабричным методом, используя паттерн названия create<type>Navigator(). Возвращается объект со свойствами Navigator и Screen. Эти свойства – уникальные компоненты, их нужно использовать при рендере структуры навигации.

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

#javanoscript
👍5
Полиморфизм

В С++ полиморфизм происходит, когда производный класс перезаписывает унаследованный метод из базового класса с одинаковым именем. Полиморфизм присуждает методу различные “формы”. От типа вызываемого объекта зависит, какая выполняется форма.

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

#c_plus
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Memory Game

Смысл игры в том, чтобы найти пары одинаковых карточек. Логика сделана на JS.

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

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

#javanoscript
Лямбда-выражения

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

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

#c_sharp
Как сохранить json в файл на Java?

Используйте ObjectMapper() чтобы сохранить json данные в файл на Java.

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

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

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

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

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

#java
👍1
Приватные сеттеры

Доступ к свойствам, помеченным как private(set), можно получить из-за пределов
структуры, но присвоить только внутри нее. Это позволяет сеттеру быть более строгим, чем геттеру.

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

#swift
👍4
Рекурсия и вложенные списки

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

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

#python
font-face

Правило CSS font-face позволяет импортировать внешние шрифты или файлы шрифтов непосредственно в таблицы стилей. Расположение файла шрифта должно быть указано в правиле CSS, чтобы файлы можно было загружать из этого места. Это правило также позволяет добавлять локально размещенные шрифты с использованием относительного пути к файлу вместо веб-URL.

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

#css
👍1
Какие типы Java могут имплементировать интерфейсы?

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

В основном существуют 5 типов Java, которые могут реализовывать интерфейсы:

1. Обычный класс
2. Абстрактный класс
3. Вложенный класс
4. Enum
5. Динамический прокси

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

#java
👍1
Метод массива .map()

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

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

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

Можно использовать метод arraycopy() в Java чтобы объединить два массива в один,
пример пример кода.

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

#java
👍1