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

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

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

Классы могут иметь метод constructor. Это специальный метод, который вызывается при создании объекта. Методы конструктора обычно используются, чтобы установить начальные значения для объекта.

#javanoscript

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

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

#python

Подписывайтесь на канал 👉@coddy_academy
👍1
Как добавить градиент на текст в css?

<head>
<style>
p {
font-size: 30px;
background: linear-gradient(45deg, #eb7f26 10%, #80ac19 20%, #e70d94 30%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-transform: uppercase;
}
</style>
</head>
<body>
<p>Градиент текста в CSS</p>
</body>

#css

Подписывайтесь на канал 👉@coddy_academy
👍2👎1
Назначение переменных и функций по условию

Иногда элементы с условиями очень просты — в этих случаях лучше использовать тернарный оператор if/else:
X = 2 if Y else 3
В этом примере X присвоится 2, если Y будет истинно, иначе присвоится 3.
Ещё интереснее применение тернарного оператора в отношении функций.

#python

Подписывайтесь на канал 👉@coddy_academy
👍1
Как убрать лишние пробелы из строки в javanoscript?

Как вариант использовать регулярные выражения, пример:

var stringTest = " I am Test String ";
// IamTestString
console.log(stringTest.replace(/\s+/g, ''));



Второй вариант это разбить на массив по пробелы и потом соединить строку снова:

var stringTest = " I am Test String ";
// IamTestString
console.log(stringTest.split(' ').join(''));


#javanoscript

Подписывайтесь на канал 👉@coddy_academy
👍3
Как вернуть два значения из метода в java?

Вы можете возвращать массив значений из метода.

class Main {
public static int[] get_summ_and_diff(int x, int y){
int summ = x + y;
int diff = x - y;

return new int[]{summ, diff};
}

public static void main(String[] args) throws Exception {
int[] diff_and_summ = get_summ_and_diff(10, 5);

System.out.println(diff_and_summ[0]);
System.out.println(diff_and_summ[1]);

// Вывод :
// 15
// 5
}
}


#java

Подписывайтесь на канал 👉@coddy_academy
👍2👎1
grid-row-start и grid-row-end

grid-row-start и grid-row-end свойства позволяют отдельным элементам сетки занимать несколько строк. Свойство grid-row-start определяет, с какой строки начинается элемент, а grid-row-end определяет, сколько строк занимает элемент или на какой строке заканчивается.

#css

Подписывайтесь на канал 👉@coddy_academy
👍2
Handlebar.compile()

Handlebar.compile() может использоваться для создания функции шаблона. Строка шаблона с выражениями должна быть передана в Handlebar.compile(). Затем эта функция принимает объект в качестве аргумента, интерполирует значения объекта в выражения шаблона и возвращает завершенную строку HTML.

#javanoscript

Подписывайтесь на канал 👉@coddy_academy
👍2
Как конвертировать string в int на java?

Вы можете использовать метод parseInt класса Integer - Integer.parseInt(string_number)

class Main {
public static void main(String[] args) throws Exception {
String string_number = "982737";

int int_number = Integer.parseInt(string_number);

System.out.println(int_number); // Вывод : 982737
}
}

#java

Подписывайтесь на канал 👉@coddy_academy
👍3
Как сделать выход из цикла while в C++?

Вы можете использовать break чтобы сделать выход из цикла while в C++, небольшой пример кода на скрине:

#cpp

Подписывайтесь на канал 👉@coddy_academy
👍1
Что такое discardableResult и как использовать этот атрибут?

Во время написания функций или методов в Swift мы в некоторых случаях хотим игнорировать возвращаемое значение, а в других – все же иметь возможность обработать его. Если попытаться вызвать метод, который возвращает значение, и никак его не обработать, получим предупреждение "Result of call to 'foo()' is unused".

Атрибут discardableResult позволяет убрать данное предупреждение. В случае правильного использования эта небольшая функция (о которой, тем не менее, стоит знать) улучшит чистоту вашего кода и позволит вам не использовать нижнее подчеркивание, чтобы игнорировать результат.

Перед написанием каждого метода хорошо подумайте, важно ли обрабатывать возвращаемое значение. В некоторых случаях лучше будет всё-таки заставить пользователя вашего метода хендлить его. Например, если есть необходимость сообщить важную информацию (о возникшей ошибке и пр.).

#swift

Подписывайтесь на канал 👉@coddy_academy
👍1
Метод get() для словаря

Python предоставляет метод .get() для доступа к значению словаря, если оно существует. Этот метод принимает key в качестве первого аргумента и необязательное значение по умолчанию в качестве второго аргумента, возвращает значение для указанного key, если key есть в словаре. Если второй аргумент не указан и key не найден, то возвращается None.

#python

Подписывайтесь на канал 👉@coddy_academy
👍1
Что такое параметры inout?

Когда мы передаем value типы в качестве аргументов в функцию, они статичны – менять их нельзя. Было бы удобно иметь возможность модифицировать данные значения. К счастью, у Swift для этого есть решение: ключевое слово inout, которое используется перед типом параметра в связке с '&' перед аргументом. Это позволит нам модифицировать значение внутри функции.

На самом деле, мы не модифицируем значением напрямую. Такое поведение называется "copy-in copy-out" или же "call by value result" и работает следующим образом:
1. Когда мы вызываем функцию, значение аргумента копируется.
2. Дальше внутри функции копия модифицируется.
3. По возращению функции Swift присваивает модифицированное значение оригинальному аргументу.

Параметры inout встречаются чаще, чем вам может показаться на первый взгляд. Например, оператор += использует inout для изменения строки, когда вы хотите добавить одну строку к другой.

#swift

Подписывайтесь на канал 👉@coddy_academy
👍1
Handlebars выражение {{else}}

Handlebars выражение {{else}} можно вставить в помощник блока {{if}}. Содержимое шаблона внутри секции else вступает в силу, когда предыдущие условия ложные.

#javanoscript

Подписывайтесь на канал 👉@coddy_academy
👍2
Как удалить директорию в java?

Вы можете использовать File.delete() для удаления директории.

import java.io.File;

class Main {
public static void main(String[] args) throws Exception {
File file = new File("delete_folder");

if (file.delete()){
System.out.println("Директория успешно удалена");
}
}
}

#java

Подписывайтесь на канал 👉@coddy_academy
👍1
Как декодировать property list используя Decodable?

Property list, обычно сокращенно plist, представляет собой XML-файл, содержащий данные в формате "ключ-значение". Вы можете использовать его в своих приложениях для iOS в качестве простого хранилища данных. Эта функция-утилита позволит вам задекодить данные в нужный удобный вам тип, используя Decodable.


extension Bundle {
func decodePlist<T: Decodable>(_ filename: String, to entity: T.Type) -> T? {
guard
let path = Bundle.main.path(forResource: filename, ofType: "plist"),
let xml = FileManager.default.contents(atPath: path),
let content = try? PropertyListDecoder().decode(T.self, from: xml)
else { return nil }
return content
}
}

#swift

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

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

#python

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

Свойство .count возвращает целое число, представляющее количество пар ключ-значение в словаре.

#swift

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

Формат JSON используется для хранения пар ключ-значение. Python json модуль позволяет считывать такой формат данных и парсить его в словарь. Функция json.load принимает файловый объект в качестве аргумента и возвращает данные в формате словаря.

#python

Подписывайтесь на канал 👉@coddy_academy
👍2
Как проверить содержится ли элемент в массиве на java?

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

class Main {
public static void main(String[] args) throws Exception {
int[] firstArray = new int[]{52, 21, 94, 29, 91};
int[] secondArray = new int[]{82, 74, 51, 39, 23};

int element = 21;

for (int i = 0; i < firstArray.length; i++) {
if (firstArray[i] == element){
System.out.println(element + " in first array");
}
}

for (int i = 0; i < secondArray.length; i++) {
if (secondArray[i] == element){
System.out.println(element + " in second array");
}
}
// Вывод : 21 in first array
}
}

#java

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