💥 Заготовки регулярных выражений
Если Вы хоть раз пытались создать шаблон для почты/логина/пароля, то Вы точно знаете, каково это, когда регулярное выражение работает не так, как нужно.
При этом нужно учитывать массу вариантов, просчитывать их в уме и пытаться не сломать клавиатуру после неудачно пройденных тестов 😡
Поэтому можно уверенно сказать, что создание регулярных выражений - одно из самых нервных и непростых заданий для разработчика.
Мы подготовили для Вас заготовки самых часто используемых шаблонов:
→ email
→ номер телефона
→ пароль
→ паспорт
→ подстрока в тексте
→ начало и конец строки
Эти шаблоны можно улучшать и делать более универсальными. Но даже этих будет достаточно для закрытия базовых задач. А еще и для того, чтобы разобраться в написании регулярных выражений 😉
Если Вы хоть раз пытались создать шаблон для почты/логина/пароля, то Вы точно знаете, каково это, когда регулярное выражение работает не так, как нужно.
При этом нужно учитывать массу вариантов, просчитывать их в уме и пытаться не сломать клавиатуру после неудачно пройденных тестов 😡
Поэтому можно уверенно сказать, что создание регулярных выражений - одно из самых нервных и непростых заданий для разработчика.
Мы подготовили для Вас заготовки самых часто используемых шаблонов:
→ номер телефона
→ пароль
→ паспорт
→ подстрока в тексте
→ начало и конец строки
Эти шаблоны можно улучшать и делать более универсальными. Но даже этих будет достаточно для закрытия базовых задач. А еще и для того, чтобы разобраться в написании регулярных выражений 😉
Используете регулярные выражения?
Anonymous Poll
21%
Конечно, часто
30%
Да, иногда приходится писать сложные шаблоны
33%
Да, но чаще стандартные: пароль / почта / номер телефона...
16%
Нет, не приходилось
💥 Большая подборка телеграмм-каналов для аналитиков
Мы отобрали для вас более 20 полезных каналов на любой вкус - анализ данных, программирование, data engineering, data science и многое другое 👍
Теперь вам точно будет, что почитать на предстоящих выходных 🙃
Мы отобрали для вас более 20 полезных каналов на любой вкус - анализ данных, программирование, data engineering, data science и многое другое 👍
Теперь вам точно будет, что почитать на предстоящих выходных 🙃
GROK IT!
Ответ на задачу про контейнер Counter из модуля collections 🔔
Ответ ищите в карточках 😉
Подробнее о модуле collections читайте 👉🏻 в наших карточках!
#grokit
Ответ на задачу про контейнер Counter из модуля collections 🔔
Ответ ищите в карточках 😉
Подробнее о модуле collections читайте 👉🏻 в наших карточках!
#grokit
💥 Какая Ваша любимая СУБД?
У каждого есть любимый язык программирования, любимая IDE и даже тема для нее.
А что насчет любимой СУБД? Кто Ваш фаворит для работы с Базами данных? 😏
P.S. Наверное, Вы уже догадались, что наша любимая СУБД - PostgreSQL! Только тссс!.., никому 😉
У каждого есть любимый язык программирования, любимая IDE и даже тема для нее.
А что насчет любимой СУБД? Кто Ваш фаворит для работы с Базами данных? 😏
P.S. Наверное, Вы уже догадались, что наша любимая СУБД - PostgreSQL! Только тссс!.., никому 😉
Какая Ваша любимая СУБД?
Anonymous Poll
48%
PostgreSQL
29%
MySQL
16%
Microsoft SQL Server
13%
Oracle
8%
MongoDB
2%
Redis
1%
Cassandra
7%
SQLight
Какова сложность вставки элементов в списки?
Anonymous Quiz
30%
О(1) и О(N)
18%
О(N) и О(1)
24%
О(1) и О(1)
27%
О(N) и О(N)
GROK IT!
Ответ на задачу про cложность вставки элементов в список 🔔
Ответ ищите в карточках 😉
Другие материалы про сложность алгоритмов:
- Поиск удаленного элемента за О(N)
- Cложение классов сложности двух алгоритмов
- Сложность алгоритмов: О, о, Ω, Θ
Ответ на задачу про cложность вставки элементов в список 🔔
Ответ ищите в карточках 😉
Другие материалы про сложность алгоритмов:
- Поиск удаленного элемента за О(N)
- Cложение классов сложности двух алгоритмов
- Сложность алгоритмов: О, о, Ω, Θ
💥 Статические методы и декоратор
Определяя методы внутри конкретного класса, мы как бы «привязываем» этот метод к экземплярам данного класса. Данная привязка осуществляется за счет первого аргумента - обычно это self.
Например, если в классе Dog описан метод bark(self), то вызов:
Однако встает вопрос - что если мы хотим не привязывать метод к объекту класса? Например, внутри класса Owner есть метод cut(animal), который имитирует стрижку домашнего животного. Обратите внимание - хозяин может быть один, а вот животные могут быть разные. Что еще немаловажно - процесс стрижки никак не зависит от хозяина, а значит нет смысла привязывать метод cut(animal) к экземпляру класса Owner.
Другими словами, нам нужно создать метод cut(animal) внутри класса Owner, который ничего не знает ни про объект, ни про класс Owner. Это метод просто должен получать аргумент animal и возвращать какой-то результат.
В Python (в отличие от многих других языков программирования) есть несколько вариантов:
1. Просто вынести cut из класса и сделать отдельной функцией. В Java, например, так нельзя сделать, т.к. все должно быть распределено по классам. Python такие фривольности позволяет.
❗️Важно: Получается, что статический метод, объявленный в классе - это просто обычная функция по каким-либо архитектурным соображениям помещенная внутрь класса.
2. Воспользоваться декоратором
Например:
👉🏻 Замечание: Обратите внимание, что частое использование статических методов может свидетельствовать о неправильной архитектуре Вашего кода. На практике не так часто реально возникает потребность использовать статические методы - зачастую это свидетельствует о недостаточном уровне абстракции в Ваших классах.
@staticmethod в PythonОпределяя методы внутри конкретного класса, мы как бы «привязываем» этот метод к экземплярам данного класса. Данная привязка осуществляется за счет первого аргумента - обычно это self.
Например, если в классе Dog описан метод bark(self), то вызов:
dog = Dog()равносилен такой конструкции:
dog.bark()
dog = Dog()Так становится очевидным, какую роль выполняет аргумент self. Более подробно про это Вы можете прочитать 👉🏻 здесь.
Dog.bark(dog)
Однако встает вопрос - что если мы хотим не привязывать метод к объекту класса? Например, внутри класса Owner есть метод cut(animal), который имитирует стрижку домашнего животного. Обратите внимание - хозяин может быть один, а вот животные могут быть разные. Что еще немаловажно - процесс стрижки никак не зависит от хозяина, а значит нет смысла привязывать метод cut(animal) к экземпляру класса Owner.
Другими словами, нам нужно создать метод cut(animal) внутри класса Owner, который ничего не знает ни про объект, ни про класс Owner. Это метод просто должен получать аргумент animal и возвращать какой-то результат.
В Python (в отличие от многих других языков программирования) есть несколько вариантов:
1. Просто вынести cut из класса и сделать отдельной функцией. В Java, например, так нельзя сделать, т.к. все должно быть распределено по классам. Python такие фривольности позволяет.
❗️Важно: Получается, что статический метод, объявленный в классе - это просто обычная функция по каким-либо архитектурным соображениям помещенная внутрь класса.
2. Воспользоваться декоратором
@staticmethod. Указав этот декоратор перед объявлением метода в классе, Вы сможете вызывать его напрямую из класса, не создавая перед этим экземпляр.Например:
Owner.cut(animal = cat)Раньше бы мы сделали так:
owner = Owner()Стоит отметить, что последний вариант тоже сработает, но в нем уже нет необходимости -
owner.cut(animal = cat)
@staticmethod как раз и используется, чтобы избежать создание экземпляров класса.👉🏻 Замечание: Обратите внимание, что частое использование статических методов может свидетельствовать о неправильной архитектуре Вашего кода. На практике не так часто реально возникает потребность использовать статические методы - зачастую это свидетельствует о недостаточном уровне абстракции в Ваших классах.
💥 6 популярных вопросов с собеседований
Вместе с нашим другом Ренатом, автором телеграм-канала Пристанище Дата Сайентиста, мы подготовили 6 частых вопросов с собеседований по Data Science и ответы на них.
Кстати, Ренат подготовил скидку 2 бакса на свой сборник Data Science Interview Guide по промокоду itresume 🔥
Получить сборник Вы можете 👉🏻 здесь. Там подробно разбирается более 70 вопросов - настоящее подспорье в подготовке к техническому интервью 😏
А чтобы еще и потренироваться на практике, попробуйте решить все наши задачки из рубрики GROK IT 😉
Вместе с нашим другом Ренатом, автором телеграм-канала Пристанище Дата Сайентиста, мы подготовили 6 частых вопросов с собеседований по Data Science и ответы на них.
Кстати, Ренат подготовил скидку 2 бакса на свой сборник Data Science Interview Guide по промокоду itresume 🔥
Получить сборник Вы можете 👉🏻 здесь. Там подробно разбирается более 70 вопросов - настоящее подспорье в подготовке к техническому интервью 😏
А чтобы еще и потренироваться на практике, попробуйте решить все наши задачки из рубрики GROK IT 😉