Академия Кода
Open in Telegram
Академия кода. Полезный контент по программированию. По всем вопросам @evgenycarter
Show more1 949
Subscribers
No data24 hours
-97 days
-2830 days
Posts Archive
1 949
set::erase()
Функция erase() используется для удаления элементов из контейнера по указанной позиции или диапазону.
#cpp
Подписывайтесь на канал 👉@cod_academy
1 949
Библиотека FuzzyWuzzy
Интересная и полезная библиотека поиска совпадений в тексте. Очень поможет вам при работе над общающимися ботами: голосовыми или текстовыми помощниками.
Разумеется, это один из инструментов, всегда можно использовать другой, но я лично пользуюсь этим.
Библиотеку следует установить:
install fuzzywuzzy
#python
Подписывайтесь на канал 👉@cod_academy
1 949
Может ли объект получить доступ к члену класса, объявленному как private? Если да, то каким образом?
• Внутри класса доступ к приватной переменной открыт без ограничений;
• Вложенный класс имеет полный доступ ко всем (в том числе и приватным) членам содержащего его класса;
• Доступ к приватным переменным извне может быть организован через отличные от приватных методов, которые предоставлены разработчиком класса. Например: getX() и setX().
• Через механизм рефлексии (Reflection API).
#java
Подписывайтесь на канал 👉@cod_academy
1 949
🔥Бесплатный открытый урок "Предварительная обработка данных перед исследованием" от OTUS
Дата: 9 августа в 20:00. Урок приурочен к старту онлайн-курса «Аналитик данных», на котором можно освоить мощные навыки анализа данных: анализ требований + статистика + BI.
🎇На вебинаре мы:
-Расскажем про основные методы проверки, которым важно подвергнуть
ваш датасет перед началом работы;
-Познакомимся с этапами подготовки и очистки данных;
-Поговорим об основных подводных камнях, которые могут нас подстерегать на этом пути.
В результате вебинара вы узнаете как проводится подготовка
данных к дальнейшим, более глубинным, исследованиям.
👉Регистрация на урок: https://otus.pw/ZsHC/
1 949
Неиспользуемые переменные
Подобный макрос есть, например, в cocos2d-x, там он называется CC_UNUSED_PARAM. Из недостатков: теоретически, он может работать не на всех компиляторах. Тем не менее, в cocos2d-x он для всех платформ определен абсолютно одинаково.
Для чего? Этот макрос позволяет избежать предупреждения о неиспользуемой переменной, а читающему код он как бы говорит: «тот кто писал это — знал, что переменная не используется, все в порядке».
#cpp
Подписывайтесь на канал 👉@cod_academy
1 949
Как создать массив из n элементов в python?
Вы можете использовать цикл и метод .append(). Так же для примера можно использовать модуль random.
#python
Подписывайтесь на канал 👉@cod_academy
1 949
Завершился II Межкорпоративный киберспортивный турнир Газпромбанка 🔥
7 июля в БЦ «Оазис» наградили победителей и призеров в четырех дисциплинах:
🏆CS:GO – Tinkoff треха (Тинькофф)
🏆Dota 2 – TINKOFF ALL MEMES (Тинькофф)
🏆FIFA 23 – Александр «Allex Casillas» Овчинников (Яндекс)
🏆HSBG – Денис «Albsolut1on» Антонов (Авито)
Газпромбанк тоже не остался без наград — Сергей Игнатов из Департамента инвестиционно-страховых продуктов взял третье место в FIFA 23. Поздравляем коллегу🤩🎉
Участники церемонии закрытия послушали выступление киберспортивного психолога и поучаствовали в открытой дискуссии с ИТ-лидерами Газпромбанка. Обсуждали тимбилдинг в киберспорте и бизнесе, эволюцию видеоигр из хобби в профессию и мотивацию киберспортсменов.
Хочешь узнать подробности? Скорее читай по ссылке — https://vk.cc/cpC4tk
1 949
Что такое «ссылка на метод»?
Если существующий в классе метод уже делает все, что необходимо, то можно воспользоваться механизмом method reference (ссылка на метод) для непосредственной передачи этого метода. Такая ссылка передается в виде:
☕️ имя_класса::имя_статического_метода для статического метода;
☕️ объект_класса::имя_метода для метода экземпляра;
☕️ название_класса::new для конструктора.
Результат будет в точности таким же, как в случае определения лямбда-выражения, которое вызывает этот метод.
Ссылки на методы потенциально более эффективны, чем использование лямбда-выражений. Кроме того, они предоставляют компилятору более качественную информацию о типе и при возможности выбора между использованием ссылки на существующий метод и использованием лямбда-выражения, следует всегда предпочитать использование ссылки на метод.
#java
Подписывайтесь на канал 👉@cod_academy
1 949
Жадный алгоритм
Данный алгоритм на каждом шаге делает локально оптимальный выбор, надеясь в итоге получить глобально оптимальное решение.
Пример: Дробный Рюкзак
Задача состоит в том, чтобы выбрать, какие предметы, имеющие вес и стоимость, поместить в рюкзак ограниченной ёмкости W, да так, чтобы максимизировать общую ценность его содержимого. Мы можем определить соотношение стоимости предмета к его весу, т. е. с «жадностью» выбирать предметы, имеющие высокую стоимость, но в то же время маленький вес, а затем сортировать их по этим критериям. В задаче с дробным рюкзаком нам разрешено брать дробные части предмета.
Поскольку сортировка — самая дорогая операция, алгоритм работает за время O(n log n). Принимая в формате (стоимость, вес) три пары предметов — {(60, 10), (100, 20), (120, 30)} — и итоговую вместительность рюкзака W = 50, приведённый выше код выводит следующее:
жадный дробный рюкзак
максимальная ценность: 240.
#cpp
Подписывайтесь на канал 👉@cod_academy
1 949
Как округлить до тысячных в python?
Вы можете использовать
round()
#python
Подписывайтесь на канал 👉@cod_academy1 949
Коллеги, приглашаем вас на вебинар, где Валерий Харисов расскажет о том, как искать и находить неочевидные утечки исходного кода и содержащихся в них секретов.
🕚 29 июня в 15:00 (МСК)
Leak-Search — сервис сканирования публичных репозиториев на наличие утечек исходного кода, конфигураций и конфиденциальных данных компании.
Разработан и поддерживается командой по ИБ группы компаний QIWI
👨💻На вебинаре рассмотрим:
- как программный код и секреты компании попадают в сеть
- какие векторы утечек часто остаются вне фокуса
- сколько это может стоить бизнесу
- и главное, как не стать жертвой утечки данных
Все на реальных кейсах крупнейших российских и зарубежных компаний, утечки которых были найдены с помощью Leak-Search, либо известны публично.
Для участия на вебинаре зарегистрируйтесь по ссылке
https://link.webinar.fm/register/55392181/7xyczjsv
🕚Ждем вас 29 июня в 15:00 (МСК)
❗️На вебинаре вы получите доступ к пробному периоду❗️
1 949
Внутренние классы (нестатические вложенные классы)
Внутренние классы — это механизм безопасности в Java. Создать такой класс довольно просто — нужно написать класс внутри класса. Внутренний класс может быть закрытым (private), и после того, как Вы объявляете внутренний класс закрытым, он не может быть доступен из объекта вне класса.
На картинке Outer_Demo – внешний класс, Inner_Demo – внутренний класс, display_Inner() – метод, внутри которого мы создаем внутренний класс, и этот метод вызывается из основного метода.
#java
Подписывайтесь на канал 👉@cod_academy
1 949
Объединения тоже могут быть шаблонами
Еще одна вещь, о которой знают немногие, это то, что объединения тоже могут быть шаблонами.
У них также могут быть конструкторы и функции-члены. Ничего общего с наследованием (включая виртуальные функции).
#cpp
Подписывайтесь на канал 👉@cod_academy
1 949
Разница между == и is
Недавно в чате наши подписчики затрагивали эту тему, поэтому мы решили разложить всё по полочкам, чтобы в дальнейшем не возникало вопросов.
Итак, оператор == проверяет равенство значений двух объектов. А оператор is в свою очередь проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти.
Однако Python в целях производительности кеширует короткие строки и малые целые числа, поэтому возможны некоторые казусы, как в примере.
#python
Подписывайтесь на канал 👉@cod_academy
1 949
Метод compareTo()
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
#java
Подписывайтесь на канал 👉@cod_academy
1 949
Корень числа
Дано действительное число a и натуральное n. Вычислите корень n-й степени из числа a, используя вещественный бинарный поиск.
Формат входных данных:
С клавиатуры через пробел вводится два числа:
1. a – действительное, неотрицательное, не превосходит 1000, задано с точностью до 6 знаков после десятичной точки;
2. n – натуральное, не превосходящее 10.
Формат выходных данных:
Требуется вывести число с точностью не менее 6 знаков после запятой.
#cpp
Подписывайтесь на канал 👉@cod_academy
1 949
Как перевести массив в список на python?
Вы можете использовать метод .tolist() для перевода массива в список.
#python
Подписывайтесь на канал 👉@cod_academy
1 949
Что такое модификаторы доступа?
Модификаторы доступа — это инструмент, при помощи которого можно настроить доступ к классам, методам и переменным.
Бывают следующие модификаторы, упорядоченные в порядке повышения доступа:
1) private — используется для методов, полей и конструкторов. Уровень доступа — только класс, внутри которого он объявлен.
2) package-private(default) — может использоваться для классов. Доступ только в конкретном пакете (package), в котором объявлен класс, метод, переменная, конструктор.
3) protected — такой же доступ, как и package-private + для тех классов, которые наследуются от класса с модификатором protected.
4) public — используется и для классов. Полноценный доступ во всем приложении.
#java
Подписывайтесь на канал 👉@cod_academy
1 949
Объявление классов и функций
В init части цикла for можно объявлять не одни лишь переменные. Здесь также можно разместить классы и функции.
Благодаря этому можно использовать множество переменных с разными типами.
#cpp
Подписывайтесь на канал 👉@cod_academy
1 949
Сборка exe файлов - pyinstaller
Если вы просто скопируете проект, то он не будет работать на других системах где нет установленного Python, а если есть, то возможно там отсутствуют нужные библиотеки. Но можно создать исполняемый файл exe, который запустится и без Python. Необходимо установить pyinstaller:
install pyinstaller
Затем перейти в командную строку, и перейти в нужную директорию с помощью команды cd. Далее напишем такой код:
--onefile --noconsole main.py
--onefile - означает, что будет только один исполняемый файл.
--noconsole - консоль не будет запускаться при открытии
main.py - файл, при запуске которого начинает работать ваша программа
В папке dist будет лежать нужный файл, остальные созданные папки можно удалить
Внимание! С помощью данного метода не получится скрыть ваш код, так же вы не получите прироста в скорости работы программы.
#python
Подписывайтесь на канал 👉@cod_academy
