Чашка Кода
467 subscribers
254 photos
5 videos
1 file
161 links
👋 Я - Никита, Senior разработчик, автор курсов по Python-разработке. Пишу на Python и Rust

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

Задать вопрос, позвать на конференцию, записать со мной курс/статью/подкаст
👉 @PySage
Download Telegram
🫥 REST - это не про отдых.

Начиная разрабатывать веб, чаще всего мы выбираем архитектуру REST. Либо нам достаются проекты уже с таким подходом. Предлагаю разобраться, что же из себя представляет REST. Но сначала рекомендую почитать пост про то, как в целом работает веб.

Сразу определимся:
🟣Rest - это лишь соглашение, мы не обязаны выполнять его детали. Это как обращение к protected и private атрибутам класса. Вы можете это делать, но есть соглашение.

🟣Есть REST - соглашение со списком правил, которых нам следует придерживаться при веб разработке. Есть RESTfull, прилагательное определяющее API, то есть программы, которые реализовывают описанные в REST правила. Таким образом, RESTfull API — это приложение, которое следует правилам из соглашения REST.

🟣REST — это архитектурный стиль, применимый для серверных приложений, которые взаимодействуют по системе клиент-сервер.

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

➡️ Что мы получаем:
- Масштабируемость систем за счёт простого и систематизированного интерфейса
- Открытость компонентов к расширению
- Отдельные компоненты самостоятельны, а их взаимодействие структурировано

Читайте о 5 обязательных ограничений в REST в карусели:
1️⃣ Клиент-сервер
2️⃣ Отсутствие состояния
3️⃣ Кеширование
5️⃣ Единообразие интерфейса
5️⃣ Слои
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
843🤔1
💪 Прокачиваем структуру резюме

Сегодня поговорим о том, как заполнить блок "опыт работы".

1️⃣ Название компании
Тут всё просто. В нашем примере будет Sunflower Digital Group.

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

RESTfull API для отдела продаж туристической компании на FastAPI


— нам уже понятно, что разрабатывался веб АПИ для внутреннего использования компанией, понятны примерные функции и стек.

3️⃣ Функции
Добавьте информацию о конкретных функциях приложения, это могут быть и достижения ваших коллег и ваши задачи. Описывайте всё как отдельные функции.

Ключевые проекты:
Микросервис для прогнозирования спроса
Интеграция с API бронирования отелей
Сбор и вывод статистики через Prometheus в реально времени c выводом в Grafana
CI/CD с линтером, тестированием и развертыванием на сервере


HR, который читает 1000 резюме в день, должен увидеть ключевые слова соответствующие вакансии, поэтому опишите функциональные возможности продукта.

4️⃣ Достижения
Добавьте раздел с вашими достижениями отдельно, достаточно 2-3 пунктов.

Разработал два функциональных микросервиса
Улучшил сервис по обработке данных


Можно указать совершенно абстрактные вещи, просто покажите, что умеете рефлексировать и замечать свои достижения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6421
А каким IDE пользуетесь вы? 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
552
📌 Шпаргалка по методам списков в Python

Короткий полезный пост, если вы используете Python в своей работе. Сохраняйте себе в голову, чтобы не потерять.
🍔🍔🍟.append(🍔) ➡️ 🍔🍔🍟🍔

🍔🍔🍟.clear() ➡️

🍔🍔🍟.count(🍔) ➡️ 2️⃣

🍔🍔🍟.copy() ➡️ 🍔🍔🍟

🍔🍔🍟.index(🍟) ➡️ 2️⃣

🍔🍔🍟.insert(1️⃣,🧋) ➡️ 🍔🧋🍔🍟

🍔🍔🍟🧋.pop(3️⃣) ➡️ 🍔🍔🍟

🍔🍔🍟.remove(1️⃣,🍟) ➡️ 🍔🍔

🍔🍔🍟.reverse() ➡️ 🍟🍔🍔

Кстати сегодня 1 апреля. Делитесь в комментариях, как над вами подшучивали🤡
Please open Telegram to view this post
VIEW IN TELEGRAM
1332
💬 Как объяснить модель OSI 7 летнему ребёнку?

На собесах по веб-разработке вас точно спросят, что такое модель OSI. Тема достаточно абстрактная и без примеров понять сложно. Вообразим, что нашему рекрутёру всего 7 лет.

Представим ситуацию, у нас есть друг Ваня. У нас и у Вани есть домики на дереве. Вы сидите в своём домике и хотите спросить Ваню, хочет ли он сходить за мороженым.

💡 Проведём провод с лампочкой между домиками. Если в своём домике мы прикладываем батарейку к проводу, у Вани загорается лампочка. Вы договорились, что 1 секунда света лампочки будет значить букву "А", 2 секунды букву "Б" и так далее.

Если лампочка перестала гореть больше, чем на 2 секунды, это значит, что мы готовы получать сообщение. Мы передаём наше сообщение по буквам этими сигналами, а Ваня в своём домике записывает его по буквам, считая секунды. В итоге у Вани есть переданное сообщение 📥

🔥 Поздравляю! Мы только что создали два уровня модели и протоколы передачи данных. В модели OSI у нас есть 7 уровней передачи. Изначально у нас есть какие-то данные, к примеру сообщение. Мы его можем прочитать, оно находится на самом верхнем уровне, но в связи с ограничениями, нам необходимо его преобразовать и получить уровень ниже. В нашем примере мы перевели данные сразу на физический уровень, уровень светового / электрического сигнала.

Пиши в комментарии, если теперь модель OSI не кажется такой абстрактной. И ставь реакты, если хочешь услышать продолжение примера с добавлением маршрутизации 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
4422
Как я стажёров собесил

💬 Недавно на работе нужно было провести несколько собеседований на позицию стажёра в нашу и соседнюю команды. Результаты меня удивили! К сожалению, не в лучшую сторону...

Почти все кандидаты не справились даже с самыми простыми вопросами. У всех было красивое резюме, но к сожалению, такие базовые вещи, как "типы данных в питоне" и "оценка алгоритмов по нотации большой О" ставили кандидатов в тупик.

☝️ Из этого важная мысль: подкрепляйте своё резюме реальными знаниями и кейсами! Вы можете "накрутить" себе опыт, но без реальных усилий у вас вряд-ли получится подтвердить свои навыки и экспертизу.

Всем офферов!
Please open Telegram to view this post
VIEW IN TELEGRAM
1043
💡Продолжение предыдущего поста про модель OSI:

Давайте добавим маршрутизацию трафика в наши домики на дереве!

👉 Напомню: в прошлом посте я привёл объяснение модели OSI, которое будет понятно даже 7-летнему ребёнку. Чтобы передать информацию из одного домика на дереве в другой, мы использовали провод с лампочками на обоих концах и систему сигналов, при котором сообщение передавалось по буквам. Каждой букве соответствовало определённое количество секунд горения лампочки. Мы создали физический уровень данных, но сейчас нам этого оказалось мало.

🫥К нашей Домико-деревьевой сети хочет подключиться Саша, но её домик можно соединить только с домиком Вани. Придётся добавить систему маршрутизации и соответственно, новый уровень и протоколы. Уровень будет, как можно догадаться, транспортный.

Добавим новый протокол и уровень для передачи данных. Подключаем Сашу к Ване и договариваемся, что первые четыре буквы сообщения будут означать получателя данных. Чтобы не путать само сообщение с получателем, будем делать перерыв сигнала ровно в 2 секунды.

✏️ Теперь, если мы хотим передать сообщение Саше, мы сначала передаём Ване сообщение "Саша" и через 2 секунды начинаем передавать основное сообщение. Ваня, получив адресата и сообщение, не читает его, а передаёт дальше. Саша получает своё имя, убеждается, что сообщение предназначается ей, и читает его.

Поздравляю! Теперь в вашей сети три уровня и каждый уровень имеет свои протоколы🎉

Если у вас остались вопросы, касательно модели OSI, пишите их прямо тут🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
432🤔11
Недавно начал активно прокачивать свою медийность и формировать личный бренд эксперта.

⚡️ Пару недель назад редакция tproger попросила дать комментарии по двум темам в IT. Я согласился, и вот вышла первая из двух статей "Пет-проекты, которые выстрелят в 2024 году". Переходите, читайте, обязательно делитесь мнением в комментариях🔽

⚡️ Сегодня в канале Школы 21 вышел пост, в котором учащиеся, которые уже вышли на работу в IT, делятся своими мыслями о том, необходимо ли иметь опыт в IT до поступления. Мой комментарий также есть в этом посте. У школы выйдет скоро подробный пост с моей историей и выводами, а для вас я сделаю краткую выжимку.

⚡️ Но самое захватывающе... меня пригласили выступить в качестве спикера на конференции Merge в Казани! Буду выступать с докладом "Как не собрать все кочки на пути в IT", а так же планирую посетить казанскую Школу 21. Резюме моего выступления обязательно опубликую здесь, следите за анонсами.

Делитесь в комментариях своими успехами и новостями!
Please open Telegram to view this post
VIEW IN TELEGRAM
532
3️⃣ МАРКЕРА ТОКСИЧНОСТИ

"Слушай, он такой токсичный, с ним просто невозможно.." - знакомая ситуация? Токсики могут попадаться везде: среди родных, друзей, коллег и даже руководителей. Зачастую пассивную агрессию маскируют под справедливую критику или шутку: вроде и объективно, но всё равно оставляет неприятный осадок.

♦️Как выявить такую агрессию и защититься? В карусели выше обозначил 3 маркера того, что сказанное в ваш адрес имеет токсичную окраску, а ещё привёл примеры пассивно-агрессивных высказываний, которые мы можем часто слышать в повседневной жизни.

Что делать, если вы понимаете, что в ваш адрес направлена пассивная агрессия?

1️⃣ Принцип «открытость – находчивость – настойчивость»
Чтобы не ввязываться в игру «агрессор – жертва – спасатель», стройте свои ответы по принципу «открытость – находчивость – настойчивость». Начинайте с фактического описания ситуации и ваших чувств в ней. Затем предлагайте конструктивное решение проблемы и призывайте к диалогу. Говорите прямо, что вы чувствуете, получив сообщение/письмо. При этом не указывайте, что делать другому человеку и не комментируйте его как личность.

Открыто спросите собеседника, злится ли он на вас, проговорите, что подобное общение дестабилизирует вашу работоспособность, проясните острые моменты — это поможет вывести диалог в более позитивное русло.

"Мне обидно, когда вы так комментируете мою работу. Если честно, я буду чувствовать себя комфортнее, если будет больше конкретики. Ваши слова не стимулируют меня справляться с задачами лучше, а только дезориентируют»


2️⃣ Обозначьте личные границы
Чтобы не включаться в игру с замалчиваниями и намёками, обозначьте личные границы, не извиняйтесь, если на это нет объективных причин. Не давайте пассивному агрессору почувствовать, что вы испытываете вину. Пассивный агрессор боится активных конфликтов и старается их избегать.

"Мне не приятно общение в таком тоне. Если вы не прекратите, я буду вынужден эскалировать эту ситуацию руководству".


3️⃣ Минимизируйте общение
Задайте себе вопрос: есть ли у вас ресурс, постоянно сталкиваясь с пассивной агрессией, переживать её? Или насколько вам близок человек, чтобы вы пытались "переделать" его? Если агрессор - ваш коллега, сократите общение, оставив только деловые вопросы. Если же собеседник будет всё так же позволять себе токсичные комментарии, поможет совет из пункта №2.

Что делать категорически нельзя?
1. Вести себя «вежливо», оправдывая действия человека добрыми намерениями, статусом или близкими отношениями
2. Пытаться увидеть пользу для себя в пассивно-агрессивной критике. Цель этой коммуникации: слить эмоции агрессора в социально приемлемой форме
3. «Быть выше этого», терпеть и молчать, если вы чувствуете себя потом плохо

А вы сталкивались с пассивно-агрессивным отношением на работе? 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
6211
⚡️ Понедельничный квиззз...

Недавно я рассказывал о своём опыте собеседований стажёров. Чаще всего проблемы возникали уже на вопросах, связанных с типами данных.

А сможете ли вы найти правильный ответ? Ставь реакт 🤔 если нужен подробный разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤔22
💼 Мягкие навыки для программиста

Софт-скиллы или "мягкие навыки" — это сквозные способности, не связанные напрямую с вашей работой. Такие навыки нужны как продавцу, так и разработчику. Проверить такие навыки не просто, но их наличие помогает быстро определить соответствие занимаемому уровню должности. Разобрал для вас навыки по уровням, а так же рассказал, как их прокачать и продемонстрировать во время собеседования.

🔽 Пишите в комментарий, какому уровню больше всего подходит такая история:

"Мы переписываем сейчас монолит на микросервисы. Мне дали задачу по исправлению одного существенного бага, но изменить код я не мог. Довольно трудная задача была, ведь решить надо было срочно, но это не должно было повлиять на разделение монолита. Я смог исправить этот баг на уровне БД, написав функцию, которая дополнительно проверяет значения перед вставкой в таблицу."
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
421