Наша капибара поиграла с клавиатурой, а когда собирала обратно, получились советы.
Нажми на любую картинку и получи совет
🍰 #карьера_в_it #it_советы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет! Я с утра с классными новостями 🏃
Мы с друзьями решили выступить в Школе 21 и рассказать о своём пути в IT.
📌 12 июня в 16:00
Что будет?
👉 Обсудим свой путь в IT: расскажем об инсайтах и провалах с нашей работы и ответим на все интересующие вопросы
👉 Проведём интерактивную игру, в которой нужно будет попробовать НЕ пройти собес в BWG
👉 Решим реальную рабочую задачу по разработке Веб-приложения, поделимся реальным опытом, о котором спрашивают на собеседованиях
Если вы из школы, то регистрируйтесь на платформе, мероприятие закрытое!
⚡️ Кроме того, вчера давал интервью для подготовки курса для ВК. Спрашивали про "чистый код". Хотите узнать моё мнение по этому вопросу? А осенью позвали выступить на конференции, посвящённой инновациям, буду рассказывать о том, почему в ответах ChatGPT нет логики.
Про что написать подробнее?🔽
Мы с друзьями решили выступить в Школе 21 и рассказать о своём пути в IT.
📌 12 июня в 16:00
Что будет?
👉 Обсудим свой путь в IT: расскажем об инсайтах и провалах с нашей работы и ответим на все интересующие вопросы
👉 Проведём интерактивную игру, в которой нужно будет попробовать НЕ пройти собес в BWG
👉 Решим реальную рабочую задачу по разработке Веб-приложения, поделимся реальным опытом, о котором спрашивают на собеседованиях
Если вы из школы, то регистрируйтесь на платформе, мероприятие закрытое!
Про что написать подробнее?
Please open Telegram to view this post
VIEW IN TELEGRAM
Про что написать подробнее?
Anonymous Poll
34%
Что делать и изучать с "нуля", чтобы стать разработчиком?
51%
Как рассказать про свой опыт, если его нет?
32%
Как писать "чистый код"?
34%
Про ИИ и чат GPT
У нас в команде была задача добавить в сервис обработки файлов версионирование. То есть, если пользователь изменил файл, он может вернуться к его предыдущей версии. Сама по себе задача не сложная, но она должна быть изменить уже работающий сервис, сохранив все данные пользователей.
Изменения предполагались значительные, так что задача была на 2 недели. Сейчас кончается уже 4 неделя моей работы над задачей. Всё дело в ошибках, которые я совершил, взяв эту задачу. Делаюсь с вами, чтобы вы так не ошиблись:
В команде, кроме меня, никто не понимал что нужно делать. Поскольку мы уже потратили более 40 человека-часов на обсуждение задачи, решили брать её в работу. Нужно было обсудить все нюансы, пока всем не станет понятно, что делать.
В момент начала работы над задачей, коллега предложил внести существенное изменение и мы его приняли. Нужно было обсудить изменение всей командой, поскольку оно стоило мне целого дня работы, а в итоге от него пришлось отказаться.
Поскольку в задаче я изменял все 80 файлов репозитория, мы решили провести и рефакторинг. Никогда так не делайте! Проводите рефакторинг и стилевые изменения отдельной задачей и вливайте ветку с такими изменениями без функциональных изменений!
Таким образом, мы получили MR на 4000 строк с изменением 80 файлов, который никто не хочет проверять. А у вас были похожие ситуации в работе?
🍰 #мудрость_на_каждый_день #мысли #работа_в_it
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы пишите на Python, то вы используете во всех проектах виртуальное окружение (
python -m venv venv). Скорее всего, вы пишите код на своём компьютере, на Windows, либо на MacOS. А вот запускать написанное приложение вы будете уже на сервере, на котором будет запущен Linux. И просто так запустить код не получится, скорее всего какие то зависимости написаны вообще только для одной системы.
К примеру, библиотека
ctypes работает по-разному на разных системах. Для обеспечения кросс-платформености мы можем обернуть наш проект в контейнер и он будет на любом устройстве запускаться одинаково. Естественно, потребуется приложение, позволяющее работать с контейнерами. Самым популярным выбором приложения для контейнеризации является докер. Если вы ещё с ним не знакомы, то обязательно изучите его. Вот отличный, бесплатный курс по Docker. На любом собесе у вас будет вопрос про него!
Когда я только изучал разработку, долгое время не использовал докер. Казалось, что для небольших проектов он избыточен. Но если вы попробуете запустить две разные БД для своего проекта, лучше докера инструмента вы не найдёте. Причём изучать его досконально не нужно, достаточно уметь запускать несколько контейнеров с разным содержимым
🍰 #мудрость_на_каждый_день #просто_о_сложном #работа_в_it
Please open Telegram to view this post
VIEW IN TELEGRAM
На прошлой неделе проводил "Живой подкаст", на котором действующие разработчики из СберТеха, Ашана, МТС и Wildberries поделились своими впечатлениями от обучения в Школе 21 и опытом работы в IT.
📌 Одним из вопросов, который зрители задали ведущим, был следующий: "После того как вы вышли на работу, что для вас стало чем-то новым (что удивило)?". Вопрос мне понравился, но формат шоу не позволял мне лично ответить на этот вопрос и поделиться мнением. Поэтому решил поделиться с вами своим откровением от работы в IT здесь.
Никто не пишет код специально плохо.
Не спрашивайте себя, почему я должен работать с таким кодом. Спросите себя, как я могу сделать код, с которым приятно работать?
P.S. Чтобы исправить уже работающий код и ничего не сломать, следуйте правилам рефакторинга: подробнее.
🍰 #мысли #it
Please open Telegram to view this post
VIEW IN TELEGRAM
...это же пятница! А значит, настало время для традиционной пятничной активности
Готовлю пост про своё рабочее место. А вот загадка
Please open Telegram to view this post
VIEW IN TELEGRAM
✨ Какой предмет всегда есть на моём рабочем столе?
Anonymous Quiz
29%
Бутылка воды
22%
Эспандер
49%
Блокнот с ручкой
В одном из предыдущих постов рассказал о том, как я взял в работу задачу, которая была не до конца изучена командой. Однако, помимо плохой аналитики и отсутствия обсуждения с командой, была проблема того, что сама задача оказалось очень большой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как рассказывать про опыт, когда его нет? Или говоря проще, как "накручивать" опыт? Возможно я вас расстрою, но чтобы говорить про свой опыт, он у вас должен быть!
Чтобы получить работу, нужен опыт. А чтобы получить опыт, нужна работа? Не обязательно! Написал решение для ЛЮБОЙ ситуации и теперь вам будет что рассказать на собеседовании про свой опыт.
Опыт для любой ситуации:
Напишите компонент, который встречается в любом приложении:
Любой этот компонент будет микросервисом в крупном приложении. Добавьте методы CRUD для работы с данными, подготовьте деплой и это будет ваш реальный опыт!
Нужны примеры не из веба? Пиши интересующую сферу в комментарии, и я расскажу
🍰 #мой_путь #мысли #it
Please open Telegram to view this post
VIEW IN TELEGRAM
Делюсь первой из них в сегодняшней истории! Хотите остальные? Ставьте
🍰 #it #python_полезности #просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
На днях решал задачу на литкоде. Сама задачка максимально простая: среди полученного списка чисел есть такие, которые встречаются чаще остальных, нужно вернуть эти числа.
Я написал решение, в котором перебираю отсортированный массив и считаю, сколько вхождений в строку каждого числа. Если текущее число встречается чаще, чем прошлое, то его и сохраняем. Вот код:
class Solution:
def majorityElement(self, nums: List[int]) -> int:
nums.sort()
max_seen = 0
max_seen_num = nums[0]
current_streak = 0
prev_num = nums[0]
for num in nums:
if num == prev_num:
current_streak += 1
else:
current_streak = 1
prev_num = num
if current_streak > max_seen:
max_seen = current_streak
max_seen_num = num
return max_seen_num
Казалось, что тут даже нечего обсуждать, но я решил сократить решение. Если у нас будет всего два уникальных числа, то те числа, которых больше, должны занять больше половины всего списка. Таким образом, достаточно вернуть центральный элемент отсортированного массива. И используя анонимные функции, можно написать даже так:
class Solution:
majorityElement = lambda _, nums: sorted(nums)[len(nums)//2]
(bytes('浩潰瑲猠慴楴瑳捩ੳ‽灯湥∨獵牥漮瑵Ⱒ✠❷潦楬敮椠瑳楤㩮 †渠浵敢彲捯畣敲据獥㴠搠晥畡瑬楤瑣氨浡摢㩡〠††畮獭㴠氠獩⡴慭⡰湩ⱴ氠湩獲牴灩⤨ㅛⴺ崱献汰瑩✨✬⤩††灵数‽敬⡮畮獭⼯㈠ †映牯渠浵敢湩渠浵㩳 †††渠浵敢彲捯畣敲据獥湛浵敢嵲⬠‽††††晩渠浵敢彲捯畣敲据獥湛浵敢嵲㸠甠灰牥††††††牰湩⡴畮扭牥 楦敬昽††††††牢慥੫硥瑩〨','u16')[2:])"Что вообще тут происходит!?"
import statistics
class Solution:
def majorityElement(self, nums: list[int]) -> int:
return statistics.mode(nums)
🍰 #it #python #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Обновим самый популярный пост в канале!
Вне зависимости от того, какой язык программирования вы изучаете, нужно знать дополнительные темы. Одна из важнейших — базы данных SQL.
Что нужно разработчику и в каком порядке изучать, на картинке к посту
Основные моменты:
🍰 #it #базы_данных #бесплатно
Please open Telegram to view this post
VIEW IN TELEGRAM
Продолжаем делится алгоритмами в истории! Сегодня алгоритм двух указателей.
Хотите остальные? Ставьте
🍰 #it #python_полезности #просто_о_сложном #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы работаете на устройствах с MacOS, то наверняка вы тоже испытывали проблемы при использовании Docker. Необходимость запуска докера через десктоп приложение, большое потребление памяти, а на корпоративных устройствах его вообще удаляют... Есть решение!
brew install orbstack🍰 #it #python_полезности #находки
Please open Telegram to view this post
VIEW IN TELEGRAM