🐍 Модуль collections
Часто то, что нам нужно, уже создали. И нам не стоит изобретать велосипед. С модулем collections именно такой случай!
С его помощью можно модернизировать привычные нам структуры данных и удобно ими пользоваться.
А как именно они изменяют словари, кортежи списки и так далее читайте в карточках 😉
Часто то, что нам нужно, уже создали. И нам не стоит изобретать велосипед. С модулем collections именно такой случай!
С его помощью можно модернизировать привычные нам структуры данных и удобно ими пользоваться.
А как именно они изменяют словари, кортежи списки и так далее читайте в карточках 😉
Какие контейнеры из collections чаще всего используете?
Anonymous Poll
31%
namedtuple
61%
counter
31%
defaultdict
11%
ChainMap
22%
OrderDict
8%
deque
Что будет, если не создать файл заранее?
Anonymous Quiz
74%
Файл создастся сам
2%
Файл не создастся и запись не произойдёт
17%
Файл не создастся и возникнет ошибка
7%
Узнать ответ
💥 Какой у Вас профессиональный уровень?
В IT-индустрии, как и у военных, существует иерархия.
Студенты и любители - это рядовые солдаты, которые учатся и получают опыт в бою.
Junior`ы - лейтенанты, способные самостоятельно решать базовые задачи.
Middle`ы - старшие офицеры, которые руководят «джунами», следят за выполнением проекта, отчитываются перед Senior`ами - генералами, которые в представлении не нуждаются!
А какой у Вас профессиональный уровень? 😏
В IT-индустрии, как и у военных, существует иерархия.
Студенты и любители - это рядовые солдаты, которые учатся и получают опыт в бою.
Junior`ы - лейтенанты, способные самостоятельно решать базовые задачи.
Middle`ы - старшие офицеры, которые руководят «джунами», следят за выполнением проекта, отчитываются перед Senior`ами - генералами, которые в представлении не нуждаются!
А какой у Вас профессиональный уровень? 😏
Какой у Вас профессиональный уровень?
Anonymous Poll
38%
Junior
12%
Middle
4%
Senior
5%
Team Lead
20%
Студент
10%
Любитель
11%
Не программирую вообще :с
Дайджест вакансий за 28.06.2021 - 12.07.2021 🕵️♂️
✅ DevOps
Зарплата: От 120 000 до 140 000 руб.
Компания: ЧИТАЙ-ГОРОД
Занятость: Полная занятость, удаленная работа
Опыт: от 1 года
Ключевые навыки: Bash/Python, знание семейства Linux (Debian), Docker, опыт настройки Nginx, опыт настройки PHP, Python, опыт работы с Ansible/K8S
Дополнительные навыки: понимание устройства сетевого стека, особенностей серверного оборудования(железа), понимание принципов CI/CD и методик DevOps, опыт администрирования баз данных (MySQL, Redis, ClickHouse, и т.д.), опыт работы с системами мониторинга (Prometheus + Grafana)\(Zabbix)
Ссылка на вакансию: https://vk.cc/c3QeOe
✅ Младший научный сотрудник (криптоаналитик)
Зарплата: 125 000 руб.
Компания: Российский квантовый центр
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Высшее физ.-мат. образование либо старшие курсы по направлению “Криптография” или “Информационная безопасность”, Владение математическим аппаратом современной криптографии: теория групп, конечные поля, решетки, коды исправления ошибок, алгебраическая геометрия; Глубокое понимание основных принципов современной криптографии: шифрование, распределение ключей, электронно-цифровые подписи, разделение секрета, доказательства с нулевым разглашением; Умение программирования на Python и C; Хороший технический английский
Дополнительные навыки: Знание стандартов и требований к криптографическим алгоритмам на территории РФ (ГОСТ); Опыт чтения чужого кода (С/С++/Python/Sage); Опыт командной исследовательской работы; Наличие опубликованных статей, выступления на конференциях
Ссылка на вакансию: https://vk.cc/c3Qf71
✅ Junior Data Developer (Python)
Зарплата: от 100 000 до 140 000 руб.
Компания: DataFork
Занятость: Полная занятость
Опыт: Junior
Ключевые навыки: уверенное владение python (3.*); опыт разработки в среде linux; высшее техническое образование
Дополнительные навыки: опыт работы с библиотекой pandas; владение С++ и соответствующие инструментарием разработки (gcc / gdb); опыт работы с SQL-базами данных (PostgreSQL, MSSQL); опыт разработки ETL-решений
Ссылка на вакансию: https://vk.cc/c3Qfuq
✅ Разработчик Python (Django)
Зарплата: от 120 000 до 180 000 руб.
Компания: Maroom
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python 3; Django, DRF; PostgreSQL; RESTful API; Docker, Nginx; CI/CD
Дополнительные навыки: опыт работы в команде с использованием GitLab, Slack, Notion, Hubstaff
Ссылка на вакансию: https://vk.cc/c3QfHq
✅ Стажер Data Scientist
Зарплата: до 60 000 руб
Компания: СберМаркет
Занятость: Стажировка, удаленная работа
Опыт: не требуется
Ключевые навыки: SQL (знания select, where, having, group by, CTE, оконные функции, индексы, принципы работы баз данных); Python; git: add, commit, push, branches, merge request
Дополнительные навыки: Airflow, Clickhouse, Presto, Spark; Docker; Jira, Confluence
Ссылка на вакансию: https://vk.cc/c3Qgdw
✅ SQL разработчик
Зарплата: от 90 000 руб.
Компания: ООО Агентство судебного взыскания
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Английский, достаточный для чтения технической документации; опыт написания сложных SQL запросов
Дополнительные навыки: Python; Pentaho DI; СУБД Vertica; Docker; Jira; Confluence
Ссылка на вакансию: https://vk.cc/c3QgAv
#vacancy
✅ DevOps
Зарплата: От 120 000 до 140 000 руб.
Компания: ЧИТАЙ-ГОРОД
Занятость: Полная занятость, удаленная работа
Опыт: от 1 года
Ключевые навыки: Bash/Python, знание семейства Linux (Debian), Docker, опыт настройки Nginx, опыт настройки PHP, Python, опыт работы с Ansible/K8S
Дополнительные навыки: понимание устройства сетевого стека, особенностей серверного оборудования(железа), понимание принципов CI/CD и методик DevOps, опыт администрирования баз данных (MySQL, Redis, ClickHouse, и т.д.), опыт работы с системами мониторинга (Prometheus + Grafana)\(Zabbix)
Ссылка на вакансию: https://vk.cc/c3QeOe
✅ Младший научный сотрудник (криптоаналитик)
Зарплата: 125 000 руб.
Компания: Российский квантовый центр
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Высшее физ.-мат. образование либо старшие курсы по направлению “Криптография” или “Информационная безопасность”, Владение математическим аппаратом современной криптографии: теория групп, конечные поля, решетки, коды исправления ошибок, алгебраическая геометрия; Глубокое понимание основных принципов современной криптографии: шифрование, распределение ключей, электронно-цифровые подписи, разделение секрета, доказательства с нулевым разглашением; Умение программирования на Python и C; Хороший технический английский
Дополнительные навыки: Знание стандартов и требований к криптографическим алгоритмам на территории РФ (ГОСТ); Опыт чтения чужого кода (С/С++/Python/Sage); Опыт командной исследовательской работы; Наличие опубликованных статей, выступления на конференциях
Ссылка на вакансию: https://vk.cc/c3Qf71
✅ Junior Data Developer (Python)
Зарплата: от 100 000 до 140 000 руб.
Компания: DataFork
Занятость: Полная занятость
Опыт: Junior
Ключевые навыки: уверенное владение python (3.*); опыт разработки в среде linux; высшее техническое образование
Дополнительные навыки: опыт работы с библиотекой pandas; владение С++ и соответствующие инструментарием разработки (gcc / gdb); опыт работы с SQL-базами данных (PostgreSQL, MSSQL); опыт разработки ETL-решений
Ссылка на вакансию: https://vk.cc/c3Qfuq
✅ Разработчик Python (Django)
Зарплата: от 120 000 до 180 000 руб.
Компания: Maroom
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python 3; Django, DRF; PostgreSQL; RESTful API; Docker, Nginx; CI/CD
Дополнительные навыки: опыт работы в команде с использованием GitLab, Slack, Notion, Hubstaff
Ссылка на вакансию: https://vk.cc/c3QfHq
✅ Стажер Data Scientist
Зарплата: до 60 000 руб
Компания: СберМаркет
Занятость: Стажировка, удаленная работа
Опыт: не требуется
Ключевые навыки: SQL (знания select, where, having, group by, CTE, оконные функции, индексы, принципы работы баз данных); Python; git: add, commit, push, branches, merge request
Дополнительные навыки: Airflow, Clickhouse, Presto, Spark; Docker; Jira, Confluence
Ссылка на вакансию: https://vk.cc/c3Qgdw
✅ SQL разработчик
Зарплата: от 90 000 руб.
Компания: ООО Агентство судебного взыскания
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Английский, достаточный для чтения технической документации; опыт написания сложных SQL запросов
Дополнительные навыки: Python; Pentaho DI; СУБД Vertica; Docker; Jira; Confluence
Ссылка на вакансию: https://vk.cc/c3QgAv
#vacancy
💥 Объяснение алгоритма «Решето Эратосфена» за 5 минут
Решето Эратосфена – это алгоритм нахождения всех простых чисел меньше заданного числа.
Алгоритм основан на постепенном отсеивании составных чисел.
Этот метод описан во «Введении в арифметику» Никомаха Герасского (первая половина II в. н. э.). Никомах называет автором метода Эратосфена (конец III – начало II в.в. до н.э.).
Название «решето» метод получил потому, что во времена Эратосфена писали числа на дощечке, покрытой воском, и прокалывали дырочки в тех местах, где были написаны составные числа. Поэтому дощечка являлась неким подобием решета, через которое «просеивались» все составные числа, а оставались только простые.
Вспомним, что числа являются простыми, если делятся только на единицу и самих себя. Первое простое число - это 2, второе простое число - это 3 и так далее. Теперь начнем рассуждать:
1. Все четные числа, кроме двойки, - составные, т. е. не являются простыми, так как делятся не только на себя и единицу, но еще и на 2.
2. Все числа кратные трем, кроме самой тройки, - составные, так как делятся не только на самих себя и единицу, но и на 3.
3. Число 4 уже выбыло из игры, так как делится на 2.
4. Число 5 простое, так как его не делит ни один простой делитель.
5. Если число не делится ни на одно простое число, стоящее до него, значит оно не будет делиться ни на одно сложное число, стоящее до него.
Алгоритм Эратосфена заключается в последовательной проверке делимости чисел на предстоящие простые числа.
Алгоритм:
1. Выписать подряд все целые числа от двух до n (2, 3, 4, …, n).
2. Пусть переменная p=2— первому простому числу.
3. Зачеркнуть в списке числа, кратные p (это будут числа: 2p, 3p, 4p, …).
4. Найти первое не зачёркнутое число в списке, большее чем p, и присвоить переменной p это значение.
5. Повторять шаги 3 и 4, пока возможно.
Теперь все не зачёркнутые числа в списке — это простые числа от 2 до n.
Пример для n = 24.
a = 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1 Шаг. Находим все числа, кратные 2 и удаляем их:
a = 2 3 5 7 9 11 13 15 17 19 21 23
2 Шаг. Находим все числа, кратные 3 и удаляем их:
a = 2 3 5 7 11 13 17 19 23
3 Шаг. Находим все числа, кратные 5 и удаляем их:
Таких чисел нет, поэтому на этом шаге алгоритм останавливается.
Теперь а состоит только из простых чисел, которые меньше 24.
👉🏻 Сложность алгоритма – O(n log(logn))
🧐 Кстати, хотите подробный разбор расчета сложности этого алгоритма?
Решето Эратосфена – это алгоритм нахождения всех простых чисел меньше заданного числа.
Алгоритм основан на постепенном отсеивании составных чисел.
Этот метод описан во «Введении в арифметику» Никомаха Герасского (первая половина II в. н. э.). Никомах называет автором метода Эратосфена (конец III – начало II в.в. до н.э.).
Название «решето» метод получил потому, что во времена Эратосфена писали числа на дощечке, покрытой воском, и прокалывали дырочки в тех местах, где были написаны составные числа. Поэтому дощечка являлась неким подобием решета, через которое «просеивались» все составные числа, а оставались только простые.
Вспомним, что числа являются простыми, если делятся только на единицу и самих себя. Первое простое число - это 2, второе простое число - это 3 и так далее. Теперь начнем рассуждать:
1. Все четные числа, кроме двойки, - составные, т. е. не являются простыми, так как делятся не только на себя и единицу, но еще и на 2.
2. Все числа кратные трем, кроме самой тройки, - составные, так как делятся не только на самих себя и единицу, но и на 3.
3. Число 4 уже выбыло из игры, так как делится на 2.
4. Число 5 простое, так как его не делит ни один простой делитель.
5. Если число не делится ни на одно простое число, стоящее до него, значит оно не будет делиться ни на одно сложное число, стоящее до него.
Алгоритм Эратосфена заключается в последовательной проверке делимости чисел на предстоящие простые числа.
Алгоритм:
1. Выписать подряд все целые числа от двух до n (2, 3, 4, …, n).
2. Пусть переменная p=2— первому простому числу.
3. Зачеркнуть в списке числа, кратные p (это будут числа: 2p, 3p, 4p, …).
4. Найти первое не зачёркнутое число в списке, большее чем p, и присвоить переменной p это значение.
5. Повторять шаги 3 и 4, пока возможно.
Теперь все не зачёркнутые числа в списке — это простые числа от 2 до n.
Пример для n = 24.
a = 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1 Шаг. Находим все числа, кратные 2 и удаляем их:
a = 2 3 5 7 9 11 13 15 17 19 21 23
2 Шаг. Находим все числа, кратные 3 и удаляем их:
a = 2 3 5 7 11 13 17 19 23
3 Шаг. Находим все числа, кратные 5 и удаляем их:
Таких чисел нет, поэтому на этом шаге алгоритм останавливается.
Теперь а состоит только из простых чисел, которые меньше 24.
👉🏻 Сложность алгоритма – O(n log(logn))
🧐 Кстати, хотите подробный разбор расчета сложности этого алгоритма?
Хотите подробный разбор расчёта сложности этого алгоритма?
Anonymous Poll
65%
Конечно!)
29%
Да, никак не пойму, как получилось О(n*log(log n))
6%
Да, мне нравится считать сложность алгоритмов :)