VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера
Наверняка, у каждого был такой момент, когда понимаешь, что простенького редактора или родной среды программирования Python недостаточно и хочется начать программировать по-взрослому.
Но оказывается, что навороченные редакторы кода ещё и настроить правильно нужно. А чтобы полностью настроить среду под себя, иногда уходит очень приличное количество времени.
Это небольшой туториал о настройке VS Code для работы с Python. Просто, по делу, а если планируете работать с контейнерами, то вам отдельно повезло: https://habr.com/ru/company/ruvds/blog/717110/
#vscode
Наверняка, у каждого был такой момент, когда понимаешь, что простенького редактора или родной среды программирования Python недостаточно и хочется начать программировать по-взрослому.
Но оказывается, что навороченные редакторы кода ещё и настроить правильно нужно. А чтобы полностью настроить среду под себя, иногда уходит очень приличное количество времени.
Это небольшой туториал о настройке VS Code для работы с Python. Просто, по делу, а если планируете работать с контейнерами, то вам отдельно повезло: https://habr.com/ru/company/ruvds/blog/717110/
#vscode
👍21❤2👎2💩2
Больше ботов богу ботов: создаём бота, использующего Яндекс.Диск
В этом гайде вы узнаете, как создать Telegram-бота на Python с помощью библиотеки aiogram. Вы подробно рассмотрите процесс создания бота, начиная от регистрации в Telegram, заканчивая разбором программного кода:
https://habr.com/ru/post/720130/
#бот #telegram
В этом гайде вы узнаете, как создать Telegram-бота на Python с помощью библиотеки aiogram. Вы подробно рассмотрите процесс создания бота, начиная от регистрации в Telegram, заканчивая разбором программного кода:
https://habr.com/ru/post/720130/
#бот #telegram
💩9👍6😁1
Кстати, про литкод: определяем ваш уровень решения LeetCode задач от 1 до 5
Недавно я уже писал про интересную статью, в которой рассмотрели решение одной из сложных задач с платформы. Напомню, что LeetCode — это своего рода тренажёр по всяким заковыристым алгоритмическим задачам для подготовки к техническим собеседованиям.
И вот ещё более интересная статья про реальный опыт с LeetCode и (внимание!) подготовке к интервью в FAANG подобные компании путём разбиения её на уровни.
Цифры местами грубые, утверждения субъективные, но очень советую к прочтению, если интересуетесь темой: https://habr.com/ru/post/713498/
#задачи
Недавно я уже писал про интересную статью, в которой рассмотрели решение одной из сложных задач с платформы. Напомню, что LeetCode — это своего рода тренажёр по всяким заковыристым алгоритмическим задачам для подготовки к техническим собеседованиям.
И вот ещё более интересная статья про реальный опыт с LeetCode и (внимание!) подготовке к интервью в FAANG подобные компании путём разбиения её на уровни.
Цифры местами грубые, утверждения субъективные, но очень советую к прочтению, если интересуетесь темой: https://habr.com/ru/post/713498/
#задачи
👍16
Если ещё не видели, делюсь большим питоном!
birp (борп) — большой русский питон, судя по всему, чей-то мемный проект, который позволяет писать код на русском, но всё ещё пользоваться всеми преимуществами Питона. Транслятор переводит не только ключевые слова, но и встроенные функции, типы, магические методы, а так же некоторые другие слова: https://github.com/evtn/birp
Например, код:
Транслируется в:
Если честно, даже не знаю, каким хэштегом помечать такие посты. Как думаете, как помечать такие посты, чтобы потом их можно было найти? #кек, #треш, #угар, #зверобой? Помогите придумать достойный тег в комментах, чтобы не терять годноту :)
birp (борп) — большой русский питон, судя по всему, чей-то мемный проект, который позволяет писать код на русском, но всё ещё пользоваться всеми преимуществами Питона. Транслятор переводит не только ключевые слова, но и встроенные функции, типы, магические методы, а так же некоторые другие слова: https://github.com/evtn/birp
Например, код:
граница = целое(ввод("Введите верхнюю границу: "))
для число в диапазон(граница):
вывод(число)
Транслируется в:
bound = int(input("Введите верхнюю границу: "))
for number in range(bound):
print(number)
Если честно, даже не знаю, каким хэштегом помечать такие посты. Как думаете, как помечать такие посты, чтобы потом их можно было найти? #кек, #треш, #угар, #зверобой? Помогите придумать достойный тег в комментах, чтобы не терять годноту :)
😁34👍11💩10🤯2
Поздравляем с международным женским днём!
И делимся с вами несколькими хорошими материалами:
— Если не знали, до 1984 года женщин-программистов было больше, чем мужчин. Интересное исследование и краткий исторический экскурс про вклад женщин в IT: https://mel.fm/deti/shkolniki/987324-women_programming
— Минутка ностальгии. Женщины в Bell Labs 1960-х годов — в фотографиях на фоне огромных ЭВМ тех времён: https://tproger.ru/articles/women-of-bell-labs-in-the-1960s/
— Как относятся к девушкам-программистам сейчас, и сложно ли девушке устроиться на работу в IT-отрасль, особенно если она хочет быть именно программистом: https://tproger.ru/experts/36/
#история
И делимся с вами несколькими хорошими материалами:
— Если не знали, до 1984 года женщин-программистов было больше, чем мужчин. Интересное исследование и краткий исторический экскурс про вклад женщин в IT: https://mel.fm/deti/shkolniki/987324-women_programming
— Минутка ностальгии. Женщины в Bell Labs 1960-х годов — в фотографиях на фоне огромных ЭВМ тех времён: https://tproger.ru/articles/women-of-bell-labs-in-the-1960s/
— Как относятся к девушкам-программистам сейчас, и сложно ли девушке устроиться на работу в IT-отрасль, особенно если она хочет быть именно программистом: https://tproger.ru/experts/36/
#история
👍14❤5😱2
Самые популярные вопросы на собеседовании: «В чем разница между методами экземпляра, класса и статическими методами в Python?»
Методы экземпляра: принимают параметр
Статические методы: используют декоратор
Проиллюстрируем разницу на вымышленном классе
У класса
Давайте инициализируем экземпляр с атрибутом
Теперь вызовем статический метод. Статические методы не могут изменять состояние класса или экземпляра, поэтому обычно используются для служебных функций, например, сложения двух чисел. Наши проверяют погоду. Говорят, что солнечно:
Теперь используем метод класса для изменения фирменного напитка (
Обратите внимание, что
Методы экземпляра: принимают параметр
self
и относятся к определенному экземпляру класса.Статические методы: используют декоратор
@staticmethod
, не связаны с конкретным экземпляром и являются автономными (атрибуты класса или экземпляра не изменяются).Проиллюстрируем разницу на вымышленном классе
CoffeeShop
:class CoffeeShop:
specialty = 'espresso'
def __init__(self, coffee_price):
self.coffee_price = coffee_price
# instance method
def make_coffee(self):
print(f'Making {self.specialty} for ${self.coffee_price}')
# static method
@staticmethod
def check_weather():
print('Its sunny')
# class method
@classmethod
def change_specialty(cls, specialty):
cls.specialty = specialty
print(f'Specialty changed to {specialty}')
У класса
CoffeeShop
есть атрибут specialty
(фирменный напиток), установленный по умолчанию в значение 'espresso
'. Каждый экземпляр CoffeeShop
инициализируется с атрибутом coffee_price
. У него также три метода: метод экземпляра, статический метод и метод класса.Давайте инициализируем экземпляр с атрибутом
coffee_price
, равным 5. Затем вызовем метод экземпляра make_coffee
:coffee_shop = CoffeeShop('5')
coffee_shop.make_coffee()
#=> Making espresso for $5
Теперь вызовем статический метод. Статические методы не могут изменять состояние класса или экземпляра, поэтому обычно используются для служебных функций, например, сложения двух чисел. Наши проверяют погоду. Говорят, что солнечно:
coffee_shop.check_weather()
#=> Its sunny
Теперь используем метод класса для изменения фирменного напитка (
specialty
), а затем сделаем кофе (make_coffee
):coffee_shop.change_specialty('drip coffee')
#=> Specialty changed to drip coffee
coffee_shop.make_coffee()
#=> Making drip coffee for $5
Обратите внимание, что
make_coffee
раньше делал эспрессо, а теперь заваривает капельную кофеварку (drip coffee
).👍31
Forwarded from Python: задачки и вопросы
👍15
Forwarded from Python: задачки и вопросы
Объяснение:
Значение
При этом внутри функции
Значение
varTwo
передаётся в функцию func()
. varOne[1, 2, 3]
передаётся туда же как ещё одно значениеПри этом внутри функции
arr[0] = 0
изменяет значение по индексу [0]
в списке. Отсюда следует, что varOne = [0,2,3]
👍8🤔4
Самые популярные вопросы на собеседовании: «В чём разница между func и func()?»
Это совсем несложный вопрос, но многих новичков он ставит в ступор. На самом деле вопрос нужен только для того, чтобы проверить ваше понимание, что все функции в Python также являются объектами:
#собеседование
Это совсем несложный вопрос, но многих новичков он ставит в ступор. На самом деле вопрос нужен только для того, чтобы проверить ваше понимание, что все функции в Python также являются объектами:
def func():
print('Im a function')
func
#=> function __main__.func>
func()
#=> Im a function
func
— это представляющий функцию объект, который можно назначить переменной или передать другой функции. А вот функция func()
уже вызывает функцию и возвращает результат. Вот и всё :)#собеседование
👍24❤1
Большая подборка книг по Python от сообщества
В подборке есть книги как для новичков, так и для опытных специалистов. Репозиторий постоянно обновляется, так что велик шанс найти что-нибудь свеженькое.
https://github.com/pamoroso/free-python-books
#книги #подборка
В подборке есть книги как для новичков, так и для опытных специалистов. Репозиторий постоянно обновляется, так что велик шанс найти что-нибудь свеженькое.
https://github.com/pamoroso/free-python-books
#книги #подборка
👍11
Cоздаём свою канбан-доску на Django, DRF и Alpine.js
Наверняка вы уже работали с канбан-досками? Это сервисы типа Jira или Trello, они помогают здорово структурировать и мониторить рабочие процессы. А особенно они полезны, когда задачи состоят из кучи этапов, например, согласования, выполнения, ревью и продакшена.
А почему нам не сделать свою канбан-доску с блекджеком, так сказать, и всем прилегающим? Вот отличная статья, которая поможет разработать собственную канбан-доску и развернуть её на облачном сервере:
https://habr.com/ru/company/selectel/blog/721022/
#django #петпроект
Наверняка вы уже работали с канбан-досками? Это сервисы типа Jira или Trello, они помогают здорово структурировать и мониторить рабочие процессы. А особенно они полезны, когда задачи состоят из кучи этапов, например, согласования, выполнения, ревью и продакшена.
А почему нам не сделать свою канбан-доску с блекджеком, так сказать, и всем прилегающим? Вот отличная статья, которая поможет разработать собственную канбан-доску и развернуть её на облачном сервере:
https://habr.com/ru/company/selectel/blog/721022/
#django #петпроект
👍10🤡4
5 полезных, но малоизвестных библиотек для Python
Многие из нас работали с Flask, NumPy, OpenCV и другими популярными библиотеками питона. Они хорошо поддерживаются, постоянно развиваются, у них большое коммьюнити и огромное количество гайдов.
Но есть несколько очень крутых, но пока малоизвестных библиотек, которые могут оказаться очень полезными.
И вот 5 самых интересных из них:
— Funcy содержит более 100 полезных методов и декораторов, собранных в одной библиотеке.
— JsonObject — удобная библиотека для быстрого преобразования json в объекты Python.
— Pdir2 — отличная библиотека для замены работы со стандартным dir().
— NetworkX — это очень большая и удобная библиотека для Python с множеством встроенных функций для работы с графами и их выводом.
— You-get — удобный инструмент для скачивания видео, фото и аудио файлов с большинства популярных платформ.
А вот статья, в которой на примерах показали, как с ними работать и чем они могут быть полезны: https://habr.com/ru/company/ruvds/blog/721834/
Берите на заметку, чтобы через полгода-года смело сказать, что вы юзали их, пока это ещё не было мейнстримом.
#подборка #библиотека
Многие из нас работали с Flask, NumPy, OpenCV и другими популярными библиотеками питона. Они хорошо поддерживаются, постоянно развиваются, у них большое коммьюнити и огромное количество гайдов.
Но есть несколько очень крутых, но пока малоизвестных библиотек, которые могут оказаться очень полезными.
И вот 5 самых интересных из них:
— Funcy содержит более 100 полезных методов и декораторов, собранных в одной библиотеке.
— JsonObject — удобная библиотека для быстрого преобразования json в объекты Python.
— Pdir2 — отличная библиотека для замены работы со стандартным dir().
— NetworkX — это очень большая и удобная библиотека для Python с множеством встроенных функций для работы с графами и их выводом.
— You-get — удобный инструмент для скачивания видео, фото и аудио файлов с большинства популярных платформ.
А вот статья, в которой на примерах показали, как с ними работать и чем они могут быть полезны: https://habr.com/ru/company/ruvds/blog/721834/
Берите на заметку, чтобы через полгода-года смело сказать, что вы юзали их, пока это ещё не было мейнстримом.
#подборка #библиотека
👍13❤1💩1
Forwarded from Типичный программист
OpenAI представила GPT-4 и расскажет о ней подробнее на презентации в 23:00 по мск
Как и обещали, разработчики Microsoft и OpenAI, в целом улучшили GPT-4 и внедрили мультимодальные модели. Теперь GPT-4 может взаимодействовать ещё и через изображения (пример, на 1 скриншоте), звуки и видео. А ещё она свободно общается на разных языках, гораздо лучше сдаёт экзамены и лучше пишет о сложных вопросах, а не только общих темах.
Рассказываем, что ещё нового в новой модели от OpenAI, как получить к ней доступ и где посмотреть презентацию: https://tproger.ru/articles/openai-predstavila-gpt-4-chto-novogo-i-kak-poprobovat-novinku/
#нейросети #openai #microsoft
Как и обещали, разработчики Microsoft и OpenAI, в целом улучшили GPT-4 и внедрили мультимодальные модели. Теперь GPT-4 может взаимодействовать ещё и через изображения (пример, на 1 скриншоте), звуки и видео. А ещё она свободно общается на разных языках, гораздо лучше сдаёт экзамены и лучше пишет о сложных вопросах, а не только общих темах.
Рассказываем, что ещё нового в новой модели от OpenAI, как получить к ней доступ и где посмотреть презентацию: https://tproger.ru/articles/openai-predstavila-gpt-4-chto-novogo-i-kak-poprobovat-novinku/
#нейросети #openai #microsoft
👍18👎1
Дайджест Python #5: как сделать свой Copilot и работать с данными в Pandas
Собрали свежий дайджест из лучших материалов по Python.
В нём вы узнайте, как написать свой аналог GitHub Copilot без знаний об искусственном интеллекте, как работать с данными и памятью в Pandas и как написать нейросеть, которая сможет самостоятельно распознавать объекты.
#python #нейросети
Собрали свежий дайджест из лучших материалов по Python.
В нём вы узнайте, как написать свой аналог GitHub Copilot без знаний об искусственном интеллекте, как работать с данными и памятью в Pandas и как написать нейросеть, которая сможет самостоятельно распознавать объекты.
#python #нейросети
❤5👎1🤮1
Самые популярные вопросы на собеседовании: «Как работает функция map?»
Обычно, когда нужно обработать и преобразовывать все элементы в итерируемом объекте, первое, что напрашивается, это цикл
Но у
1. Поскольку
2. Второе преимущество использования
То есть
Например, здесь к каждому элементу в списке мы добавляем число 3.
#собеседование
Обычно, когда нужно обработать и преобразовывать все элементы в итерируемом объекте, первое, что напрашивается, это цикл
for
.Но у
for
есть несколько недостатков, которых можно избежать, используя map()
:1. Поскольку
map()
написан на C и сильно оптимизирован, его внутренний подразумеваемый цикл более эффективен, чем обычный цикл for
.2. Второе преимущество использования
map()
— потребление памяти. С помощью for
вам нужно сохранить весь список. А map()
вы получаете элементы по запросу, и только один элемент находится в памяти в данный момент.То есть
map()
полезен, когда вам нужно применить функцию преобразования к каждому элементу в коллекции или в массиве и преобразовать их в новый массив. Она возвращает объект (итератор), который перебирает значения, применяя функцию к каждому элементу. В случае необходимости объект можно преобразовать в список:def add_three(x):
return x + 3
li = [1,2,3]
list(map(add_three, li))
#=> [4, 5, 6]
Например, здесь к каждому элементу в списке мы добавляем число 3.
#собеседование
👍41🔥1