Длина числа
Для вычисления количества цифр в числе вместо цикла можно эффективно использовать log.
#cpp
Подписывайтесь на канал 👉@cod_academy
Для вычисления количества цифр в числе вместо цикла можно эффективно использовать log.
#cpp
Подписывайтесь на канал 👉@cod_academy
Метод fill()
Присваивает определенное значение int к каждому элементу указанного целочисленного массива. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).
#java
Подписывайтесь на канал 👉@cod_academy
Присваивает определенное значение int к каждому элементу указанного целочисленного массива. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).
#java
Подписывайтесь на канал 👉@cod_academy
Как объединить все элементы списка Python в одну строку?
Советую пользоваться первым способом. Малое количество строк кода и его работоспособность - одно из главных качеств хорошего кода. Посмотреть пример в онлайн редакторе.
#python
Подписывайтесь на канал 👉@cod_academy
Советую пользоваться первым способом. Малое количество строк кода и его работоспособность - одно из главных качеств хорошего кода. Посмотреть пример в онлайн редакторе.
#python
Подписывайтесь на канал 👉@cod_academy
👏1
Вы можете написать функцию, которая будет возвращать два и более значений, с помощью
#cpp
Подписывайтесь на канал 👉@cod_academy
std::tuple и std::tie.#cpp
Подписывайтесь на канал 👉@cod_academy
Interface for Consts
Очень часто встречаются интерфейсы для описания констант. Это не правильно с точки зрения ООП. Интерфейс должен описывать поведение, не больше не меньше. Этот пункт не очень принципиален, тем более что результат компиляции будет один и тот же, но все же java это ООП язык и было бы хорошо придерживаться его принципов.
#java
Подписывайтесь на канал 👉@cod_academy
Очень часто встречаются интерфейсы для описания констант. Это не правильно с точки зрения ООП. Интерфейс должен описывать поведение, не больше не меньше. Этот пункт не очень принципиален, тем более что результат компиляции будет один и тот же, но все же java это ООП язык и было бы хорошо придерживаться его принципов.
#java
Подписывайтесь на канал 👉@cod_academy
👍2
Как копировать файлы из одной папки в другую на Python?
Библиотека под названием
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@cod_academy
Библиотека под названием
shutil включает в себя несколько полезных функций для создания копий объектов на жестком диске. Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@cod_academy
👍1
Использование emplace_back вместо push_back
В C++ 11
#cpp
Подписывайтесь на канал 👉@cod_academy
В C++ 11
emplace_back работает так же, как push_back, добавляя элементы в конец вектора. emplace_back работает быстрее, так как push_back сначала создает временную переменную, а затем добавляет ее в конец вектора.#cpp
Подписывайтесь на канал 👉@cod_academy
NullPointer Exception
Исключения нулевого указателя возникает в Java довольно часто при попытке вызова метода несуществующего объекта.
Возьмем для примера следующую строчку кода:
Если объект
Хорошей практикой разработки на Java является предварительная проверка на Null в методах.
#java
Подписывайтесь на канал 👉@cod_academy
Исключения нулевого указателя возникает в Java довольно часто при попытке вызова метода несуществующего объекта.
Возьмем для примера следующую строчку кода:
int noOfStudents = school.listStudents().count;Если объект
school окажется равен Null или его метод listStudents вернет Null, вы получите исключение NullPointerException.Хорошей практикой разработки на Java является предварительная проверка на Null в методах.
#java
Подписывайтесь на канал 👉@cod_academy
👍2
Присвоение первого непустого значения из ряда
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Рекомендуем к прочтению книгу Александра Бындю "Антихрупкость в IT"
Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.
В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.
Сайт издания
Ознакомиться с книгой
Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.
В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.
Сайт издания
Ознакомиться с книгой
Как включить все стандартные библиотеки одной командой
Чтобы разом включить в проект все стандартные библиотеки, используйте #include <bits/stdc++.h>. Это особенно полезно в условиях дефицита времени на соревнованиях по программированию.
Но помните, что:
#include <bits/stdc++.h>
содержит множество заголовочных файлов, которые, возможно, и не понадобятся в конкретном проекте. А это может привести к увеличению времени компиляции.
#include <bits/stdc++.h> не является стандартным заголовочным файлом библиотеки GNU C++. Таким образом, не относящиеся к типу GCC (GNU Compiler Collection) компиляторы могут испытывать затруднения в процессе исполнения. Однако так бывает не часто!
#cpp
Подписывайтесь на канал 👉@cod_academy
Чтобы разом включить в проект все стандартные библиотеки, используйте #include <bits/stdc++.h>. Это особенно полезно в условиях дефицита времени на соревнованиях по программированию.
Но помните, что:
#include <bits/stdc++.h>
содержит множество заголовочных файлов, которые, возможно, и не понадобятся в конкретном проекте. А это может привести к увеличению времени компиляции.
#include <bits/stdc++.h> не является стандартным заголовочным файлом библиотеки GNU C++. Таким образом, не относящиеся к типу GCC (GNU Compiler Collection) компиляторы могут испытывать затруднения в процессе исполнения. Однако так бывает не часто!
#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Пирамидальная сортировка
Пирамидальная сортировка является методом сортировки, который интерпретирует элементы в массиве, как почти полное бинарное дерево.
Она берет элементы массива и вставляет их в пирамиду.
После построения пирамиды, из нее по очереди удаляются наибольшие элементы и вставляются в конец массива, где и находятся в отсортированном виде.
Общее время сортировки расчитывается по O(N logN) для N элементов.
#java
Подписывайтесь на канал 👉@cod_academy
Пирамидальная сортировка является методом сортировки, который интерпретирует элементы в массиве, как почти полное бинарное дерево.
Она берет элементы массива и вставляет их в пирамиду.
После построения пирамиды, из нее по очереди удаляются наибольшие элементы и вставляются в конец массива, где и находятся в отсортированном виде.
Общее время сортировки расчитывается по O(N logN) для N элементов.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Присвоение первого непустого значения из ряда
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Ссылки в C++
Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".
#cpp
Подписывайтесь на канал 👉@cod_academy
Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".
#cpp
Подписывайтесь на канал 👉@cod_academy
👍1
Google-json (GSON)
Google-json, как понятно из названия, ещё одна разработка прямиком из Google. Библиотека реализует механизмы работы с форматом JSON, а именно приведение Java-объектов в этот формат и обратно.
Примерно вот так выглядит сериализация и десериализация с помощью GSON(см картинку).
Как видно, перевод объекта проходит с помощью минимального количества легкочитаемого и понимаемого кода. Особенно эта библиотека пригодится при работе с RESTful приложениями, которые общаются преимущественно с помощью json.
#java
Подписывайтесь на канал 👉@cod_academy
Google-json, как понятно из названия, ещё одна разработка прямиком из Google. Библиотека реализует механизмы работы с форматом JSON, а именно приведение Java-объектов в этот формат и обратно.
Примерно вот так выглядит сериализация и десериализация с помощью GSON(см картинку).
Как видно, перевод объекта проходит с помощью минимального количества легкочитаемого и понимаемого кода. Особенно эта библиотека пригодится при работе с RESTful приложениями, которые общаются преимущественно с помощью json.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Почему присвоение не является копированием?
В python все является объектом. В этом легко убедится воспользовавшись функцией
При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
#python
Подписывайтесь на канал 👉@cod_academy
В python все является объектом. В этом легко убедится воспользовавшись функцией
dir().При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
id(), которая показывает номер объекта.Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
nullptr
Раньше для обнуления указателей использовался макрос
#cpp
Подписывайтесь на канал 👉@cod_academy
Раньше для обнуления указателей использовался макрос
NULL, являющийся нулем — целым типом, что, естественно, вызывало проблемы (например, при перегрузке функций). Ключевое слово nullptr имеет свой собственный тип std::nullptr_t, что избавляет нас от бывших проблем. Существуют неявные преобразования nullptr к нулевому указателю любого типа и к bool (как false), но преобразования к целочисленных типам нет.#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Метод matches()
Возвращает значение true, если, и только в том случае, если эта строка соответствует заданному регулярному выражению.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает значение true, если, и только в том случае, если эта строка соответствует заданному регулярному выражению.
#java
Подписывайтесь на канал 👉@cod_academy
👍1