Сколько из этих ошибок Вы допускаете в своём коде?
Anonymous Poll
56%
1-2
28%
З-5
11%
6-7
0%
Ни одной
6%
Не пишу на Python
💥 Виды копирования в Python
Недавно мы публиковали задачу про поверхностное и глубокое копирование в Python, и не все смогли дать однозначный ответ :с
Поэтому мы решили уделить особое внимание видам копирования в Python!
В карточках мы рассказываем какие виды копирования существуют, какие методы и функции для этого используют и в чем разница между ними 😏
Надеемся, теперь эта тема будет для Вас более прозрачной! 😉
Недавно мы публиковали задачу про поверхностное и глубокое копирование в Python, и не все смогли дать однозначный ответ :с
Поэтому мы решили уделить особое внимание видам копирования в Python!
В карточках мы рассказываем какие виды копирования существуют, какие методы и функции для этого используют и в чем разница между ними 😏
Надеемся, теперь эта тема будет для Вас более прозрачной! 😉
Разобрались с видами копирования?
Anonymous Poll
75%
Да, теперь все понятно ;)
13%
Я и до этого знал!
0%
Всё равно немного не понятно :с
13%
А можно ещё задачу на эту тему для закрепления?
GROK IT! Ответ на задачу про повторение ключей в словаре Python 🔔
❓Вчера опубликовали вопрос по Python: Какой результат выведет код?
» 1
» 3
» Error
» Никакой из указанных
Ответ ищите в карточках 😉
О том, насколько удобнее стало работать со словарями с появлением предыдущей версии Python 3.9 ищите в 👉🏻 нашей статье!
#grokit
❓Вчера опубликовали вопрос по Python: Какой результат выведет код?
» 1
» 3
» Error
» Никакой из указанных
Ответ ищите в карточках 😉
О том, насколько удобнее стало работать со словарями с появлением предыдущей версии Python 3.9 ищите в 👉🏻 нашей статье!
#grokit
Лёгкая задача?
Anonymous Poll
20%
Да, очень!
53%
Лёгкая, но полезная)
10%
Нет, совсем не тривиально
17%
Я не знаю Python :c
Дайджест вакансий за 31.05.2021 - 07.06.2021 🕵️♂️
✅ Game analyst / Игровой аналитик мобильных игр
Зарплата: от 50 000 до 100 000 руб
Компания: ООО Овэрскор
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Опыт работы на аналогичной должности (продуктового, маркетингового или веб-аналитика); Умение использовать любую систему визуальной аналитики (Amplitude, GA, Mixpanel etc); Понимание принципов клиентской аналитики и сегментирования аудитории; Понимание когортного анализа, основных метрик цифровых бизнесов, retention, LTV, CAC.
Дополнительные навыки: Знание SQL, знание Python; Опыт работы с предсказательными моделями; опыт работы с системами визуализации данных (Tableau, PowerBI, DataStudio, включая Excel/Google spreadsheets); Знание Appsflyer, Adjust, Я. метрика.
Ссылка на вакансию: https://vk.cc/c2HdA7
✅ Стажёр - разработчик Fiori
Зарплата: от 40 000 до 55 000 руб.
Компания: TeamIdea (ООО ТИМИДЕЯ ГРУПП)
Занятость: Стажировка, удаленная работа
Опыт: не требуется
Ключевые навыки: высшее техническое или экономическое образование; базовое понимание JavaScript;понимание клиент-серверной архитектуры; знание и понимание принципов ООП; базовое понимание SQL и принципов построения реляционных БД.
Дополнительные навыки:опыт самостоятельных разработок; опыт работы с JavaScript-фреймворками; базовые знания HTML5, CSS; опыт работы с REST сервисами, протоколом oData; опыт работы с БД; знакомство с продуктами SAP (SAP Cloud Platform, Fiori, SAPUI5); базовое понимание минимум одного из языков программирования (Java, Kotlin, C++, C#, Python, PHP, Delphi/Object Pascal, Ruby, PL/SQL, др.).
Ссылка на вакансию: https://vk.cc/c2HdWr
✅ Game Analyst (Middle/Senior Level) / Игровой аналитик мобильных игр / Аналитик данных
Зарплата: от 1 000 USD
Компания: ICVR
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Обязателен опыт в Game-аналитике, работа с Power BI / Taleau и т.д. (от 1 года); Уверенное владение SQL; Знание Python, уверенное владение библиотеками обработки данных в Python; Базовые знания математической статистики; Понимание принципов закупки и атрибуции трафика, основ работы рекламных сетей; Владение алгоритмами машинного обучения.
Дополнительные навыки: Отличное знание рынка мобильных игр ( игровой опыт).
Ссылка на вакансию: https://vk.cc/c2HeqK
✅ Python Back-end Developer
Зарплата: от 500 до 1 000 USD
Компания: Nasctech
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: опыт работы с Python 3, Знаком с SQL, NoSQL, Знаком с Linux, bash, Знаком с Nginx, Знаком с Rest API (Flask), Знаком с Docker, Kubernetes, CI/CD, опыт разработки микросервисной платформы, образование в сфере компьютерных наук.
Дополнительные навыки: Базовые знания в области Machine Learning basic, Базовые знания Java
Ссылка на вакансию: https://vk.cc/c2HeSo
✅ Продуктовый аналитик
Зарплата: от 180 000 руб.
Компания: ООО Мастер Деливери
Занятость: Полная занятость, удаленная работа
Опыт: 2 года
Ключевые навыки: Высшее образование; Владение математической статистикой и теорией вероятности; Опыт подготовки и оценивания результатов A/B тестирования; Опыт определения, выбора и использования продуктовых метрик; Знание SQL и Python для анализа данных (Postgres).
Ссылка на вакансию: https://vk.cc/c2Hg4E
✅ Data Analyst
Зарплата: от 70 000 до 100 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: 1 год
Ключевые навыки: опыта работы в области BI/Analytics, Data Scientist; Опыт работы Python; Хорошее знание SQL; Умение формализовать и визуализировать результаты анализа; Знание продуктовых бизнес-метрик.
Дополнительные навыки: Знание методов ML; Опыт работы с Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira.
Ссылка на вакансию: https://vk.cc/c2Hftj
#vacancy
✅ Game analyst / Игровой аналитик мобильных игр
Зарплата: от 50 000 до 100 000 руб
Компания: ООО Овэрскор
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Опыт работы на аналогичной должности (продуктового, маркетингового или веб-аналитика); Умение использовать любую систему визуальной аналитики (Amplitude, GA, Mixpanel etc); Понимание принципов клиентской аналитики и сегментирования аудитории; Понимание когортного анализа, основных метрик цифровых бизнесов, retention, LTV, CAC.
Дополнительные навыки: Знание SQL, знание Python; Опыт работы с предсказательными моделями; опыт работы с системами визуализации данных (Tableau, PowerBI, DataStudio, включая Excel/Google spreadsheets); Знание Appsflyer, Adjust, Я. метрика.
Ссылка на вакансию: https://vk.cc/c2HdA7
✅ Стажёр - разработчик Fiori
Зарплата: от 40 000 до 55 000 руб.
Компания: TeamIdea (ООО ТИМИДЕЯ ГРУПП)
Занятость: Стажировка, удаленная работа
Опыт: не требуется
Ключевые навыки: высшее техническое или экономическое образование; базовое понимание JavaScript;понимание клиент-серверной архитектуры; знание и понимание принципов ООП; базовое понимание SQL и принципов построения реляционных БД.
Дополнительные навыки:опыт самостоятельных разработок; опыт работы с JavaScript-фреймворками; базовые знания HTML5, CSS; опыт работы с REST сервисами, протоколом oData; опыт работы с БД; знакомство с продуктами SAP (SAP Cloud Platform, Fiori, SAPUI5); базовое понимание минимум одного из языков программирования (Java, Kotlin, C++, C#, Python, PHP, Delphi/Object Pascal, Ruby, PL/SQL, др.).
Ссылка на вакансию: https://vk.cc/c2HdWr
✅ Game Analyst (Middle/Senior Level) / Игровой аналитик мобильных игр / Аналитик данных
Зарплата: от 1 000 USD
Компания: ICVR
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Обязателен опыт в Game-аналитике, работа с Power BI / Taleau и т.д. (от 1 года); Уверенное владение SQL; Знание Python, уверенное владение библиотеками обработки данных в Python; Базовые знания математической статистики; Понимание принципов закупки и атрибуции трафика, основ работы рекламных сетей; Владение алгоритмами машинного обучения.
Дополнительные навыки: Отличное знание рынка мобильных игр ( игровой опыт).
Ссылка на вакансию: https://vk.cc/c2HeqK
✅ Python Back-end Developer
Зарплата: от 500 до 1 000 USD
Компания: Nasctech
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: опыт работы с Python 3, Знаком с SQL, NoSQL, Знаком с Linux, bash, Знаком с Nginx, Знаком с Rest API (Flask), Знаком с Docker, Kubernetes, CI/CD, опыт разработки микросервисной платформы, образование в сфере компьютерных наук.
Дополнительные навыки: Базовые знания в области Machine Learning basic, Базовые знания Java
Ссылка на вакансию: https://vk.cc/c2HeSo
✅ Продуктовый аналитик
Зарплата: от 180 000 руб.
Компания: ООО Мастер Деливери
Занятость: Полная занятость, удаленная работа
Опыт: 2 года
Ключевые навыки: Высшее образование; Владение математической статистикой и теорией вероятности; Опыт подготовки и оценивания результатов A/B тестирования; Опыт определения, выбора и использования продуктовых метрик; Знание SQL и Python для анализа данных (Postgres).
Ссылка на вакансию: https://vk.cc/c2Hg4E
✅ Data Analyst
Зарплата: от 70 000 до 100 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: 1 год
Ключевые навыки: опыта работы в области BI/Analytics, Data Scientist; Опыт работы Python; Хорошее знание SQL; Умение формализовать и визуализировать результаты анализа; Знание продуктовых бизнес-метрик.
Дополнительные навыки: Знание методов ML; Опыт работы с Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira.
Ссылка на вакансию: https://vk.cc/c2Hftj
#vacancy
GROK IT!
❓Задача по SQL: Какая команда импортирует дамп в БД mysql?
Правильный ответ раскроем завтра 😏
#grokit
❓Задача по SQL: Какая команда импортирует дамп в БД mysql?
Правильный ответ раскроем завтра 😏
#grokit
Какая команда импортирует дамп в БД mysql?
Anonymous Poll
43%
mysql -p -u root db_name < dump_name.sql
33%
mysqldump -p -u root db_name < dump_name.sql
19%
mysqldump db_name dump_name.sql
5%
mysqldump dump_name.sql
🔎 Алгоритм бинарного поиска
✅ Двоичный (или бинарный) поиск (также известен как метод деления пополам или дихотомия) — классический алгоритм поиска элемента в отсортированном массиве.
Метод использует стратегию «разделяй и властвуй», а именно: заданный массив делится на две равные части и поиск осуществляется в одной из этих частей, которая потом также делится надвое. Раздвоение происходит до тех пор, пока не обнаружится наличие искомого элемента или его отсутствие.
Использовать эту операцию, уменьшая каждый раз зону поиска вдвое, позволительно лишь потому, что элементы массива заранее упорядочены. Зная размер массива, не составит труда найти средний элемент и сравнить его значение с искомым. После этого можно уверено сказать, где относительно среднего элемента находится искомый элемент.
При этом не важно, как отсортирован массив: по убыванию или по возрастанию. От этого алгоритм существенно не поменяется.
Обычно для простоты крайний левый и крайний правый элементы называют left и right соответственно. Середину массива принято называть коротко: mid.
✅ Ход работы алгоритма, разделенный на этапы, выглядит следующим образом:
1. Поиск среднего элемента массива: mid = (left + right)/2. Значение округляется до большего или меньшего целого.
2. Средний элемент сравнивается с искомым (key), результатом этого сравнения будет один из трех случаев:
- key < mid. Зона поиска сужается до (left, mid-1), переходим к п.1;
- key > mid. Зона поиска сужается до (mid+1, right), переходим к п.1;
- key = mid. Если значения среднего и искомого элементов совпадают, то элемент найден, работа алгоритма завершается.
3. Если для проверки не осталось ни одного элемента, то алгоритм завершается, иначе выполняется переход к п.1.
✅ Короткий пример:
У нас есть массив a = 1, 4, 9, 16, 25, 36, 49. Искомое значение key = 25.
✓ 1 шаг: mid = (6 + 0)/2 = 3 – индекс среднего элемента. Значение аmid = 16.
✓ 2 шаг: сравниваем key и mid: 25>16 -> будем искать в правой половине множества:
a = 25, 36, 49.
✓ 3 шаг: mid = (2 + 0)/2 = 1 – индекс среднего элемента. Значение аmid = 36.
✓ 4 шаг: сравниваем key и mid: 25 < 36 -> будем искать в левой половине множества:
a = 25.
✓ 5 шаг: Остается один элемент, mid = (0 + 0)/2 = 0 – индекс среднего элемента. Значение аmid = 25
✓ 6 шаг: сравниваем key и mid: 25=25 мы нашли искомый элемент и алгоритм завершается.
💥 Этот метод считается одним из самых простых и популярных в информатике и часто используется в вычислительной математике и математическом программировании.
❗️Стоит отметить, что часто для метода бинарного поиска потребуется гораздо меньше времени, чем, для линейного поиска. Однако, в отличие от линейного поиска двоичный работает только с массивами, элементы которых упорядочены, что, несомненно, придает ему отрицательной специфичности.
✅ Сложность бинарного поиска составляет О(log(n)), а линейного поиска – О(n). Как мы уже показывали в нашей статье о сложности алгоритмов, класс сложности О(log(n)) менее сложный, чем О(n).
Статья про сложность алгоритмов и О-нотации 👉🏻 bit.ly/3ccVMRN
✅ Двоичный (или бинарный) поиск (также известен как метод деления пополам или дихотомия) — классический алгоритм поиска элемента в отсортированном массиве.
Метод использует стратегию «разделяй и властвуй», а именно: заданный массив делится на две равные части и поиск осуществляется в одной из этих частей, которая потом также делится надвое. Раздвоение происходит до тех пор, пока не обнаружится наличие искомого элемента или его отсутствие.
Использовать эту операцию, уменьшая каждый раз зону поиска вдвое, позволительно лишь потому, что элементы массива заранее упорядочены. Зная размер массива, не составит труда найти средний элемент и сравнить его значение с искомым. После этого можно уверено сказать, где относительно среднего элемента находится искомый элемент.
При этом не важно, как отсортирован массив: по убыванию или по возрастанию. От этого алгоритм существенно не поменяется.
Обычно для простоты крайний левый и крайний правый элементы называют left и right соответственно. Середину массива принято называть коротко: mid.
✅ Ход работы алгоритма, разделенный на этапы, выглядит следующим образом:
1. Поиск среднего элемента массива: mid = (left + right)/2. Значение округляется до большего или меньшего целого.
2. Средний элемент сравнивается с искомым (key), результатом этого сравнения будет один из трех случаев:
- key < mid. Зона поиска сужается до (left, mid-1), переходим к п.1;
- key > mid. Зона поиска сужается до (mid+1, right), переходим к п.1;
- key = mid. Если значения среднего и искомого элементов совпадают, то элемент найден, работа алгоритма завершается.
3. Если для проверки не осталось ни одного элемента, то алгоритм завершается, иначе выполняется переход к п.1.
✅ Короткий пример:
У нас есть массив a = 1, 4, 9, 16, 25, 36, 49. Искомое значение key = 25.
✓ 1 шаг: mid = (6 + 0)/2 = 3 – индекс среднего элемента. Значение аmid = 16.
✓ 2 шаг: сравниваем key и mid: 25>16 -> будем искать в правой половине множества:
a = 25, 36, 49.
✓ 3 шаг: mid = (2 + 0)/2 = 1 – индекс среднего элемента. Значение аmid = 36.
✓ 4 шаг: сравниваем key и mid: 25 < 36 -> будем искать в левой половине множества:
a = 25.
✓ 5 шаг: Остается один элемент, mid = (0 + 0)/2 = 0 – индекс среднего элемента. Значение аmid = 25
✓ 6 шаг: сравниваем key и mid: 25=25 мы нашли искомый элемент и алгоритм завершается.
💥 Этот метод считается одним из самых простых и популярных в информатике и часто используется в вычислительной математике и математическом программировании.
❗️Стоит отметить, что часто для метода бинарного поиска потребуется гораздо меньше времени, чем, для линейного поиска. Однако, в отличие от линейного поиска двоичный работает только с массивами, элементы которых упорядочены, что, несомненно, придает ему отрицательной специфичности.
✅ Сложность бинарного поиска составляет О(log(n)), а линейного поиска – О(n). Как мы уже показывали в нашей статье о сложности алгоритмов, класс сложности О(log(n)) менее сложный, чем О(n).
Статья про сложность алгоритмов и О-нотации 👉🏻 bit.ly/3ccVMRN