GROK IT! Ответ на задачу про оператор распаковки и функцию zip 🔔
Ответ ищите в карточках 😉
Ссылка на чат 👉🏻 https://news.1rj.ru/str/itresume\_chat, где еще больше интересных задач по программированию, Data Science и анализу данных!
О том, как еще можно использовать оператор читайте в нашей статье. Про оператор zip у нас тоже есть статья, где вы найдете 7 неочевидных способов использования оператора 😉
#grokit #grokit_python
Ответ ищите в карточках 😉
Ссылка на чат 👉🏻 https://news.1rj.ru/str/itresume\_chat, где еще больше интересных задач по программированию, Data Science и анализу данных!
О том, как еще можно использовать оператор читайте в нашей статье. Про оператор zip у нас тоже есть статья, где вы найдете 7 неочевидных способов использования оператора 😉
#grokit #grokit_python
Друзья, расскажите, как Вы организовываете свой код? 👨💻
Кто-то разбивает на модули, кто-то использует классы, но хранит все в одном файле, кто-то вообще работает только с функциями. Ну а есть и такие, кто напрочь игнорирует принцип DRY (Dont’t repeat yourself) и по несколько раз повторяет один и тот же код, вместо того, чтобы использовать хотя бы функции.
А как делаете Вы? 😏
Кто-то разбивает на модули, кто-то использует классы, но хранит все в одном файле, кто-то вообще работает только с функциями. Ну а есть и такие, кто напрочь игнорирует принцип DRY (Dont’t repeat yourself) и по несколько раз повторяет один и тот же код, вместо того, чтобы использовать хотя бы функции.
А как делаете Вы? 😏
Как Вы организовываете свой код?
Anonymous Poll
58%
Работаю с функциями
23%
Разбиваю на классы
38%
Дроблю на модули
11%
Разбиваю, но все держу в одном файле
18%
Вообще пишу сплошным полотном
⚙️ Зачем нужны конфиги в Python и как работать с ними правильно?
Конфиги - необходимый атрибут в любом проекте, хотя некоторые программисты недооценивают их важность. С помощью конфигов удобно хранить данные доступов, прописывать пути до папок/логов и т.д.
Ок, то что конфиги нужны - вопросов нет. Но как с ними лучше работать? Существует большое количество мнений по этому поводу, но мы в своих проектах привыкли пользоваться .ini-файлами и библиотекой configparser. Такой подход снимает кучу головной боли - один раз мы прописываем все в конфиге и на все оставшееся время вообще забываем про него.
✅ Кстати, совет: если над проектом работает сразу несколько человек, то можно добавить конфиг в gitignore, чтобы у каждого была своя локальная копия с нужными настройками. Тогда конфиг не будет перезатираться при каждом git pull.
А как у вас обстоят дела с конфигами? Используете их или по-старинке храните все прямо в коде?)
Конфиги - необходимый атрибут в любом проекте, хотя некоторые программисты недооценивают их важность. С помощью конфигов удобно хранить данные доступов, прописывать пути до папок/логов и т.д.
Ок, то что конфиги нужны - вопросов нет. Но как с ними лучше работать? Существует большое количество мнений по этому поводу, но мы в своих проектах привыкли пользоваться .ini-файлами и библиотекой configparser. Такой подход снимает кучу головной боли - один раз мы прописываем все в конфиге и на все оставшееся время вообще забываем про него.
✅ Кстати, совет: если над проектом работает сразу несколько человек, то можно добавить конфиг в gitignore, чтобы у каждого была своя локальная копия с нужными настройками. Тогда конфиг не будет перезатираться при каждом git pull.
А как у вас обстоят дела с конфигами? Используете их или по-старинке храните все прямо в коде?)
Самый спорный шаблон ООП: Singleton 🧐
Singleton (или Одиночка) - один из самых известных и, в то же время, спорных паттернов ООП. Это порождающий паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.
Другими словами, представьте, что Вы создали объект, а через некоторое время пытаетесь создать новый экземпляр. Но Синглтон вернет Вам ранее созданный объект, а не создаст новый.
💥 Пример из жизни: Правительство страны. Одновременно не может быть несколько правительств (предполагается, что это так :) ). При этом не важно, кто сидит в Правительстве - оно все равно в единственном экземпляре.
Синглтон, например, используют:
✓ При создании подключения к БД (чтобы из разных частей программы был один доступ к БД)
✓ При открытии файла для чтения/записи
Спорность этого паттерна в том, что у него есть ряд существенных недостатков:
✘ Синглтон нарушает принцип единственной ответственности класса (Single Responsibility Principle, SRP) - такой класс не только выполняет свой функционал, но еще и контролирует количество экземпляров
✘ Зачастую Singleton применяется там, где не должен, и закрывает собой дыры плохого дизайна
✘ Одиночка очень плохо работает в многопоточных программах из-за проблем с доступом
✘ Синглтон сложен в тестировании кода
Однако, иногда все же довольно удобно использовать этот паттерн, если нужно гарантировать единственность экземпляра класса. Помимо этого, он позволяет реализовать отложенную инициализацию. Например, нет необходимости в самом начале открывать соединение с БД и постоянно держать его закрытым. Его можно открыть в нужный момент, создав объект, а потом открывать-закрывать по мере необходимости.
Singleton (или Одиночка) - один из самых известных и, в то же время, спорных паттернов ООП. Это порождающий паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.
Другими словами, представьте, что Вы создали объект, а через некоторое время пытаетесь создать новый экземпляр. Но Синглтон вернет Вам ранее созданный объект, а не создаст новый.
💥 Пример из жизни: Правительство страны. Одновременно не может быть несколько правительств (предполагается, что это так :) ). При этом не важно, кто сидит в Правительстве - оно все равно в единственном экземпляре.
Синглтон, например, используют:
✓ При создании подключения к БД (чтобы из разных частей программы был один доступ к БД)
✓ При открытии файла для чтения/записи
Спорность этого паттерна в том, что у него есть ряд существенных недостатков:
✘ Синглтон нарушает принцип единственной ответственности класса (Single Responsibility Principle, SRP) - такой класс не только выполняет свой функционал, но еще и контролирует количество экземпляров
✘ Зачастую Singleton применяется там, где не должен, и закрывает собой дыры плохого дизайна
✘ Одиночка очень плохо работает в многопоточных программах из-за проблем с доступом
✘ Синглтон сложен в тестировании кода
Однако, иногда все же довольно удобно использовать этот паттерн, если нужно гарантировать единственность экземпляра класса. Помимо этого, он позволяет реализовать отложенную инициализацию. Например, нет необходимости в самом начале открывать соединение с БД и постоянно держать его закрытым. Его можно открыть в нужный момент, создав объект, а потом открывать-закрывать по мере необходимости.
🔥 2 способа решения задачи про поиск дубликата
Недавно мы публиковали подборку алгоритмических задач с технических собеседований. Это реальные задачи: хоть о них все и знают, но их продолжают спрашивать при трудоустройстве. А самое главное - люди продолжают на них «садиться в лужу». Хватит это терпеть! 🤓
Сегодня мы подготовили для вас 2 способа решить одно из таких заданий - задачу про поиск дубликата. Это, пожалуй, самая классическая и известная задача из всех. И, кстати говоря, довольно жизненная.
Мы разбираем самые базовые подходы и обсуждаем сложность каждого алгоритма:
→ сортировкой
→ с помощью запоминания значений
А какие способы решения этой задачки можете предложить вы?) И задание под звездочкой - какая будет сложность у вашего решения? 😏
Недавно мы публиковали подборку алгоритмических задач с технических собеседований. Это реальные задачи: хоть о них все и знают, но их продолжают спрашивать при трудоустройстве. А самое главное - люди продолжают на них «садиться в лужу». Хватит это терпеть! 🤓
Сегодня мы подготовили для вас 2 способа решить одно из таких заданий - задачу про поиск дубликата. Это, пожалуй, самая классическая и известная задача из всех. И, кстати говоря, довольно жизненная.
Мы разбираем самые базовые подходы и обсуждаем сложность каждого алгоритма:
→ сортировкой
→ с помощью запоминания значений
А какие способы решения этой задачки можете предложить вы?) И задание под звездочкой - какая будет сложность у вашего решения? 😏
🔥 Задача с реального собеседования из чата IT Resume
Вы знаете, что мы несколько раз в неделю публикуем в группе задачки по программированию и Data Science. Если Вы до сих пор не знакомы с нашей уткой - обязательно посмотрите посты с хэштегом #grokit.
Однако, не все знают, что в нашем чате мы публикуем еще больше задач и вопросов. Вот, например, такую задачку по Pandas с реального собеседования недавно решали участники чата 💥 И многие, кстати, правильно решили.
Если Вы тоже хотите получать еще больше задачек - вступайте в наш чат 👉🏻 https://news.1rj.ru/str/itresume_chat
Ну и, естественно, пишите свои варианты решения задачи в комментариях под этим постом, мы обязательно сделаем ревью каждого ответа 🙃
Всем большой GROK IT! 🦆
#grokit #grokit_python #grokit_pandas
Вы знаете, что мы несколько раз в неделю публикуем в группе задачки по программированию и Data Science. Если Вы до сих пор не знакомы с нашей уткой - обязательно посмотрите посты с хэштегом #grokit.
Однако, не все знают, что в нашем чате мы публикуем еще больше задач и вопросов. Вот, например, такую задачку по Pandas с реального собеседования недавно решали участники чата 💥 И многие, кстати, правильно решили.
Если Вы тоже хотите получать еще больше задачек - вступайте в наш чат 👉🏻 https://news.1rj.ru/str/itresume_chat
Ну и, естественно, пишите свои варианты решения задачи в комментариях под этим постом, мы обязательно сделаем ревью каждого ответа 🙃
Всем большой GROK IT! 🦆
#grokit #grokit_python #grokit_pandas