Чашка Кода
466 subscribers
255 photos
5 videos
2 files
162 links
👋 Я - Никита, автор курсов и лекций по Python-разработке. Пишу на Python и Rust

✏️ В этом канале посты, которые сделают твой путь к веб-разработке проще

Задать вопрос, позвать на конференцию, записать со мной курс/статью/подкаст
👉 @PySage
Download Telegram
Какое минимально количество банок надо открыть, чтобы разобраться?
Anonymous Quiz
49%
1
44%
2
0%
3
8%
Скиньте артикул на ВБ в комментариях🙏
811
📌 Как писать хороший код? Правило 7 элементов

Вы наверняка слышали уже такие утверждения:

🔵В функции должно быть не больше 5 аргументов.
🔵Сохраняйте код простым.
🔵Одна функция - одна задача.
🔵Не делайте более трёх уровней вложенности.
🔵🔵🔵

Задумывались ли вы, почему так и зачем нам соблюдать эти правила? Джордж Миллер, в 1956 году провёл интересный эксперимент. Работая в лаборатории Bell, он изучал память операторов. Он обнаружил, что человек способен удерживать в памяти одновременно всего 7 ± 2 элемента. Это могут быть как числа, так и буквы или даже слова.

На работе вы будете работать не один, а в команде. Другие люди должны понимать ваш код. Чтобы сделать понимание кода проще, следуйте правилу, что в одном контексте должно быть не более 7 отдельных элементов.
Please open Telegram to view this post
VIEW IN TELEGRAM
9111
➡️ Пользовательские истории (User Story) - отличный способ рассказать о своём опыте!

В разработке есть такое понятие, как User Story. Оно описывает проблемы или желания клиентов простой формулой:

Я как (...), хочу (...), чтобы (...).


🛑 Обычно, этим инструментом пользуются владельцы продукта или аналитики, когда необходимо описать новый функционал приложения. Мы, как разработчики, чаще всего встречаем такое описание уже в задаче, в начале аналитики.

💭 На днях я пообщался с владельцем продукта смежной команды и мы пришли к мнению, что использование такой конструкции - отличный способ описать свой опыт. Я уже говорил о подобном в этом посте. Теперь могу дополнить это так.

Расскажите о своём опыте работы, используя пользовательскую историю:

Наши клиенты (менеджеры отеля), хотели (иметь возможность загружать данные клиентов используя фото или скан паспорта), чтобы (ускорить обслуживание и снизить количество ошибок).


Такое описание покажет вашу заинтересованность в работе бизнеса и клиентах. Кроме того, так вы покажите знания не только в разработке, но и смежных областях. После такого высказывания, конечно стоит рассказать, как вы реализовали эту историю!
Please open Telegram to view this post
VIEW IN TELEGRAM
52111
🎶 Сходил вчера на джазовое выступление, и меня посетила интересная мысль...

Музыкальные инструменты - это устройство ввода, как клавиатура или мышь у компьютера. Колонки (а иногда и само устройство) - это устройство вывода.

🥁 В этом случае, игра на инструменте представляет из себя ввод информации и её вывод. Сыграть композицию - это как написать небольшое произведение. Единственное отличие в том, что мы не можем прочитать музыку, как текст.

🎼 Однако, мы не всегда пишем текст ради контента или полезной ценности (как мои посты). Иногда мы его пишем, чтобы вызвать какие-то чувства. Когда вы шутите, вы не хотите передать уникальный контент, а хотите просто развеселить собеседника. Когда признаётесь в любви, вы вызываете взаимное чувство. Музыку мы не можем воспринимать как текст, но она может вызывать какие-то чувства без слоя с восприятием текста, который является по сути абстракцией.

🎵 А у вас музыка вызывает чувства? Скиньте в комментарий трек, который вызывает больше всего эмоций! Мой уже там.
Please open Telegram to view this post
VIEW IN TELEGRAM
5211
3️⃣ вещи, про которые вам стоит помнить

Получилось так, что при изучении программирования, я не уделял должного внимания трём очень важным вещам. Сейчас же я понимаю, что эти темы не стоит обходить стороной, и их знание вам очень пригодиться в работе.

1️⃣ Тесты
Я совершенно ничего не изучал про тестирование, и на первой работе не было тестов совсем. Сейчас, в крупном проекте, тесты обязательны и приходится тратить дополнительное время, чтобы написать их правильно.

2️⃣ Контейнеризация
Когда я писал для себя, то всегда запускал проекты "как есть", даже без виртуального окружения. В нормальном проекте такой подход приведёт к плачевным результам!

3️⃣ Документация
В моём коде почти никогда нет комментариев, и я редко пишу документацию. В командной разработке эти элементы необходимы.
Please open Telegram to view this post
VIEW IN TELEGRAM
4211
Про какую из этих тем вы хотели бы узнать подробнее?
Anonymous Poll
38%
1️⃣ Тесты
62%
2️⃣ Контейнеризация
32%
3️⃣ Документация
111
This media is not supported in your browser
VIEW IN TELEGRAM
3⃣ программы, которые вам стоит установить на свой Mac (и не только)!

В этом году я стал использовать Macbook как основное устройство. Несмотря на то, что до этого я пользовался Linux дистрибутивами и Windows в течении многих лет, к macOS я привык быстро. Но каким бы ни был удобным Mac, в нём не хватает многих вещей.

Собрал для вас 3 бесплатных приложения, которыми я пользуюсь каждый день! Третье приложение есть и в других операционных системах.

🌐Maccy
Приложение для хранения буфера обмена. Было такое, что нужно скопировать два разных объекта или вставить то, что копировали раньше? У меня такое постоянно! Maccy решает эту проблему и позволяет хранить более 200 (!) файлов / изображений / текста. Мне достаточно использования комбинации cmd + shift + c чтобы отобразить историю копирований возле курсора.

🌐Amethyst
Оконный менеджер, который красиво расставляет приложения на экране. Вообще, на Mac, оконных менеджеров бессчётное количество. Однако этот бесплатный, легко настраивается и поддерживает несколько экранов. Мои любимые фичи - ограничение одновременно открытых окон на экране и смена схемы расположения одной комбинацией клавиш.

🌐Obsidian
Доступен на всех платформах! Obsidian - это приложение для заметок с огромным потенциалом. Можно использовать просто как заметки, а можно сделать своим основным инструментом для работы. Приятные фичи — хранение заметок локально, что приводит к лёгкой миграции и бэкапам, поддержка markdown разметки и огромное количество плагинов.

Делитесь в комментариях своими любимыми приложениями! 🤗
Please open Telegram to view this post
VIEW IN TELEGRAM
7421
🫥 Когда я только начинал изучать программирование, все вокруг говорили про "ручки". Теперь я и сам постоянно говорю про них. На собесе вас могут попросить продать спроектировать "ручку". Но что же это вообще за "ручки" такие?

🫥 У них много названий, но в контексте Веб-разработки это эндпоинты (endpoint), конечные-точки и роуты (route). А про них я уже писал в этом посте!

🫥 По сути ручки — это методы, через которые можно общаться с нашим сервисом. По большей части, наша работа состоит как раз в их разработке. Пользователь хочет иметь возможность загрузить фото - делаем ручку для этого.

Чтобы посмотреть все "ручки" вашего проекта, протестировать их и почитать документацию, обычно используется Swagger. Обязательно изучите этот инструмент до собесов! ⚙️

А что для вас "ручка"? 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👋 Уже прочитали книгу про систем дизайн?

Если да, наверняка у вас остались вопросы, о том, как же всё таки сделать свой Redis / Git / Docker? Последнее особенно актуально сегодня, в связи с недавними новостями.

Переходим в этот репозиторий и выбираем любой проект на вашем языке и пишем свою версию. Теперь можете всем говорить, что вы написали проект, которым пользуются миллионы пользователей. + красивая строчка в резюме 😁

Пишите в комментариях, что выбрали сделать?🔽

🍰
Please open Telegram to view this post
VIEW IN TELEGRAM
4211
Please open Telegram to view this post
VIEW IN TELEGRAM
843
💻 Почему лучше начинать изучать программирование с языка C, чем с Python?

Python - превосходный язык! Любую задачу вы можете решить уже готовыми решениями. У Python простой и лаконичный синтаксис, понять что написано, не составит труда. Поддержка сообществом настолько высокая, что можно найти курсы, книги, видео и статьи на любую тему по Python 💻

🤔 Но тогда почему же лучше учить язык C?
На самом деле причина как раз и заключается в том, что Python такой простой. Программирование на Python может показаться сказкой, ведь у нас в языке уже есть всё!

Все удобства, которые мы получаем, можно назвать абстракциями. К примеру, у нас есть абстракция итератор или декоратор. Таких абстракций нет в низкоуровневых языках, вроде С. Зато Python битком набит абстракциями, у нас есть инструменты для любого действия.

Почему это плохо?
Привыкнув к абстракциям, вы не сможете уже от них отказаться. Если вы выбрали для изучения Python или JavaScript, учитывайте, что скорее всего вы будете с этим языком на протяжении всей своей карьеры.

А с какого языка вы начинали карьеру в IT?🔽

🍰 #карьера_в_it
Please open Telegram to view this post
VIEW IN TELEGRAM
73111
6
📢 Рубрика: полезные советы от капибары!

Наша капибара поиграла с клавиатурой, а когда собирала обратно, получились советы.

Нажми на любую картинку и получи совет 👆

🍰 #карьера_в_it #it_советы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
732211