Первым шагом нужно определить модель взаимодействия и модель проектирования.
Но знать нужно и о других, читайте в карусели описание всех 6 видов архитектур
🍰 #it #просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Представим, что нам нужно найти количество раз, сколько слово встречается в тексте. Стандартный подход на Python будет такой:
Этот подход сработает, и для маленького файла это будет даже будет считаться нормальным решением. Но если файл хранит уже не сотни, а миллионы строк, то нужно подумать об ускорении обработки. Мы бы могли купить компьютер помощнее, но бесконечно увеличивать мощность не получится.
При использовании Spark, мы:
Мы получим результат вычислений значительно быстрее обычного скрипта на Python.
Если вам интересно поработать с большими данными и изучить Spark, то стоит начать с Pandas. Вот введение в Pandas на литкоде и 30 дневный план изучения. Второй я сам прошёл без подготовки, так что могу порекомендовать даже новичкам
🍰 #it #просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
Линус Торвальдс на днях сделал заявление:
Anyway, on a completely different note: I try to make my merge commit messages be somewhat "cohesive", and so I often edit the pull request language to match a more standard layout and language. It's not a big deal, and often it's literally just about whitespace so that we don't have fifteen different indentation models and bullet syntaxes. I generally do it as I read through the text anyway, so it's not like it makes extra work for me.
But what *does* make extra work is when some maintainers use passive voice, and then I try to actively rewrite the explanation (or, admittedly, sometimes I just decide I don't care quite enough about trying to make the messages sound the same).
So I would ask maintainers to please use active voice, and preferably just imperative.
Put another way: I'd love it if people would avoid writing their descriptions as "In this pull request, the Xyzzy driver error handling was fixed to avoid a NULL pointer dereference".
Instead write it as "This fixes a NULL pointer dereference in .." or particularly if you just list bullet points, make the bullet point just be "Fix NULL pointer dereference in ..".
This is not a big deal, I realize. But I happened to try to rewrite a few of these cases the last week, and I think simple and to-the-point language is better. The imperative version of just "Fix X" is about as clear as it gets.
А если по-русски и кратко, то он обращается к разработчикам ядра Линукс и просит писать текст к изменениям более понятным языком. Показалось полезным, поэтому вот советы для хороших коммитов:
1. Пишите описание кратко, в формате продолжения фразы "Это изменение исправит ...", например "fix image description".
2. Делайте коммит только полноценных изменений. Не нужно коммитить половину работу или непротестированные изменения.
3. Следуйте одному формату во всех коммитах.
Если вам интересно почитать подробнее, то вот советы от github и ресурс, посвященный идее сделать коммиты легко читаемыми людьми и машинами.
🍰 #it #просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы только изучаете SQL (супер-полезный пост тут), то вы точно задаётесь вопросом, какую систему для управления Базами Данных использовать. Скорее всего, вы выбираете из MySQL, PostrgeSQL и SQLite. Возможно вы смотрите на Oracle, ЯндексДБ или даже на Firebird.
Вы можете выбрать любой инструмент, который решает вашу задачу. Особо разницы между ними нет, и скорее всего вы, как разработчик, будете использовать ORM. Если на работе вам придётся использовать другую БД, то опыт работы с любой другой будет вам только полезен. Главная проблема возникает в том случае, если вы выбираете непопулярную БД. тогда у вас точно спросят причину использования именно этой системы.
🍰 #it #мои_мысли
Please open Telegram to view this post
VIEW IN TELEGRAM
На днях я в очередной раз был в ГЭС-2 (и вам советую). Всё здание имеет общий, очень выразительный и аутентичный стиль, в котором сложно разобраться. В первый раз вы вряд ли поймёте, где находится столовая, гардероб и туалет (хотя в самом здании достаточно указателей, довольно понятная планировка и нет ничего лишнего).
Но посетив ГЭС-2 в третий или четвёртый раз вы будете легко ориентироваться и разметка будет выглядеть понятной и логичной. Почему так происходит?
Есть такое конгитивное искажение — «проклятие знания».
Оно заключается в том, что более информированным людям сложно рассматривать какую-либо проблему с точки зрения менее информированных людей. Как и в случае с другими искажениями, мы даже часто не знаем о нём. "Проклятие знания" особенно сильно влияет на нас, когда мы делимся знаниями 🤓
То, что кажется очевидным для нас, для других людей может быть совершенно не очевидно.
☕️ Изучая новую тему - помните об этом. Зачастую новые знания не сложные, но из за того, что лектор столкнулся с этим искажением, вам будет ничего не понятно. Более того, коллеги лектора могут так же, как и сам лектор, воспринимать материал как очень понятный.
А вы сталкивались с таким «проклятием?»
🍰 #it #просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
Такой вопрос часто ставит соискателей в ступор. Разберёмся, как отвечать на него.
Примеры:
1. "При оформлении у нас были одни условия работы. В связи с реорганизацией компании они изменились и меня это не устраивает".
Объясните, что речь идёт, например, о обязательном посещении офиса. У нового работодателя, соответственно, это не должно быть обязательным условием работы.
2. "У нас была крутая команда и мы достигли большого успеха, наш руководитель получил повышение. К сожалению с новым руководителем мы не нашли общий язык, а возможности сменить команду у нас в компании нет"
Помните, что проблема скорее всего в вашем отношении и покажите, что вы над этим работаете.
3. "Около года назад я прошёл курс по чистой архитектуре. В текущей команде я активно использую навыки из этого курса для проектирования систем. Возможности повышения в отделе нет, а мне бы хотелось сосредоточиться на использовании своих навыков. Сейчас это лишь дополнительная работа."
Если вы хотите сменить работу с повышением, расскажите о том, что уже применяете нужные навыки и ваша мотивация не в повышении зарплаты.
🍰 #it #it_собесы
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочу записать миникурс про решение алгоритмов, но не понятно, будет ли вам интересно. Напомню, что у меня есть сайт с самыми полезными заданиями из литкода, пост про решение алгоритмов и концепции алгоритмов: 1 и 2.
🍰 #it #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужен курс по решению алгоритмов?
Anonymous Poll
21%
Достаточно сайта
29%
Хочу полноценный курс!
42%
Хочу мини-курс
8%
Хочу текст
Всем привет! Завтра, в московском кампусе Школы 21, я проведу лекцию "Страшные тайны ООП". Приглашаю всех!
Выступление будет состоять из двух частей:
Трансляция выступления будет тут
P.S: Кидайте свои любимые Хэллоуинские стикеры в комменты (я уже скинул)👇
🍰 #it #анонсы
Please open Telegram to view this post
VIEW IN TELEGRAM
При работе с Python мы часто используем переменные, с таким же названием, как и параметры. Вроде такого:
✏️ Мы можем упростить код и написать так:
👀 А как насчёт такого варианта?
Такой вариант сохранит данные неверно! У пользователя в имени будет написана его почта и наоборот.
⚡️ В языке Rust используются лучшие возможности всех языков и придумываются всё новые упрощения. И в нём есть такое решение, которое позволяет не сохранять порядок, если название атрибута соответствует названию переменной. Компилятор сам сопоставит нужные параметры и вы можете быть уверены, что три этих варианта будут работать одинаково:
Я спросил у знакомых, которые пишут на других языках и выяснил, что больше нигде нет такого решения. Интересно, разработчики Rust сами придумали его, или это из какого-то другого языка? Видели ли вы где-то ещё такой подход?🔽
🍰 #it #просто_о_сложном
User(name=name, email=email)
User(name, email)
User(email, name)
User(name: name, email: email);
User(name, email);
User(email, name);
Я спросил у знакомых, которые пишут на других языках и выяснил, что больше нигде нет такого решения. Интересно, разработчики Rust сами придумали его, или это из какого-то другого языка? Видели ли вы где-то ещё такой подход?
🍰 #it #просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
TODO в коде!Совет может показаться странным, но на самом деле, это действительно полезная вещь. Когда я только начинал свой путь в IT, я считал, что наличие комментариев показывает, что код плохой. А если это ещё и комментарий
TODOНа самом деле, наличие комментариев, особенно
TODO - признак хорошего подхода к разработке! Обязательно пишите такие комментарии, когда видите, что часть кода реализована плохо или имеет смысл её переписать. Это актуально, когда найденная проблема не связана с вашей текущей задачей. Разрабатывая программы, нам всегда приходится выбирать: сделать быстро или качественно.
Не написав TODO-шку ,вы забудете о проблеме уже через пару минут. Лучше иметь проблему и знать о ней, чем вообще не знать о её существовании.
А вы пишите
TODO?🍰 #it #it_мнение
Please open Telegram to view this post
VIEW IN TELEGRAM
Кто хочет со мной? Пишите в личку - и я скину первую домашку. Кто первый успеет сделать домашку к 18 ноября, с теми будем проходить подготовку.
🍰 #it #архитектура_it
Please open Telegram to view this post
VIEW IN TELEGRAM
Спойлер:
На производство одного часа видео нужно более 40 часов работы. А чтобы записать ±10 часов учебного видео-материала мне потребовался целый год!
В итоге получается, что одно 20-минутное видео может занять суммарно более 40 человека-часов работы. Учитывая, что я работал с командой профессионалов, которые занимаются записью курсов уже много лет, мне нужно было не так много времени. Получилось примерно 8 часов работы на каждые 20 минут готовых видео.
Я бы не стал записывать курсы ради получения дополнительных денег, принимая во внимание, что оплачивают только целиком готовый курс, а не постепенно по урокам. Отдельно можно отметить, что курс имеет «срок годности», и через 2 года технологии изменятся настолько, что он будет уже неактуален.
Запись курсов это не про деньги (как минимум для спикера) и цена за них для меня стала более оправдана. Если вы проходили платные курсы, то поделитесь в комментарии своим мнением как ученика.
А я планирую записать мини-курс про алгоритмы. Сделать его платным или бесплатным?
🍰 #it #it_мнение #it_курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
Проектируя сервисы, мы сталкиваемся с тремя понятиями:
Пример: Мы арендуем облако, поставщик гарантирует 99,9% доступности сервиса в месяц. При нарушении мы получаем депозит за каждый 0,1% недоступности.
У нас в примере целевой уровень для SLI равен 99,9% в месяц, значит что 0.1% времени сервис может быть недоступен. Т.к. в месяце у нас около 43 тысяч минут, недоступен сервис может быть 43 минуты. Этот уровень и есть SLO — то есть цель команды по конкретной метрике.
В итоге, SLA - это соглашение, в котором зафиксированы SLI, целевой уровень которых определён SLO.
Сла, сли, сло... Нам и без этого нормально работается...
🍰 #it #просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!
В это воскресенье приглашаю всех на Живой подкаст 3.0! 🎙
Это шоу, которое нельзя перемотать, поставить на паузу или ускорить. Зато можно задать вопросы экспертам IT индустрии, которые учились или продолжают обучаться в школе 21!
🤓 Сразу 4 эксперта поделятся своим уникальным опытом обучения, подготовке и прохождения собеседований, первых успехах и неудачах в IT.
В этот раз у нас в гостях не только разработчики, но и дажеадминистратор баз данных . Начнём в 17:00 и закончим, когда ведущие ответят на все вопросы гостей.
📌 Приходите 24.11 в 17:00 в Московский кампус школы 21, будем вас ждать!
Задать вопросы экспертам -> t.iss.one/PySage_bot
🍰 #it #анонсы
В это воскресенье приглашаю всех на Живой подкаст 3.0! 🎙
Это шоу, которое нельзя перемотать, поставить на паузу или ускорить. Зато можно задать вопросы экспертам IT индустрии, которые учились или продолжают обучаться в школе 21!
🤓 Сразу 4 эксперта поделятся своим уникальным опытом обучения, подготовке и прохождения собеседований, первых успехах и неудачах в IT.
В этот раз у нас в гостях не только разработчики, но и даже
📌 Приходите 24.11 в 17:00 в Московский кампус школы 21, будем вас ждать!
Задать вопросы экспертам -> t.iss.one/PySage_bot
🍰 #it #анонсы
👉 Пока мы готовим полезные материалы с трёх выступлений напомню:
🧑💻 Ко мне в команду требуется два стажёра. Если вы, или кто-то из ваших знакомых хочет заниматься тестированием или разработкой веба на Python, то кидайте резюме мне в личку -> @PySage
✍️ Даже если кажется, что не готовы выйти на работу, всё равно кидайте!
P.S: Если уже кидали, скиньте ещё раз и напишите куда хотите, в разработку или в тестирование.
🍰 #it #вакансии #It_материалы
P.S: Если уже кидали, скиньте ещё раз и напишите куда хотите, в разработку или в тестирование.
🍰 #it #вакансии #It_материалы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
За октябрь и ноябрь я написал полезные посты на разные темы:
⭐️ HR
Про что написать ещё?
🍰 #it #коджест
Please open Telegram to view this post
VIEW IN TELEGRAM