Merion Academy
8.6K subscribers
438 photos
79 videos
6 files
619 links
Самое важное про IT на доступном языке.
Сотрудничество: @olegpohl
Служба поддержки: https://t.me/merion_academy_bot
Download Telegram
Audio
Ииииитак, обновили подкаст с помощью вашей обратной связи! Спасибо! ❤️

Тема:

Что такое Kubernetes и для чего он нужен?

Напишите в комментах как вам? Что понравилось/не понравилось? Какие темы разобрать в следующих выпусках?

Бесплатные вводные уроки по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥8👏1
1. Элиот Хоровиц - сооснователь и первый CTO MongoDB. В 2007–2009 годах он возглавил разработку ядра базы данных на C++ и спроектировал систему шардинга и репликации, которая позже стала отраслевым стандартом. Над проектом работала целая команда, но именно техническое видение Хоровица определило архитектуру MongoDB. В 2020 году он покинул пост CTO, основал стартап Viam и вернулся к практической разработке. В интервью он не раз подчеркивал: ему ближе писать код и строить системы, чем управлять крупными командами.


2. MongoDB - одна из самых протестированных баз данных с открытым кодом.
В ее репозитории тестового кода больше, чем продакшен-кода ядра. Это не маркетинг: перед каждым релизом внутренняя система Evergreen запускает миллионы автоматических проверок - от юнит-тестов до сценариев имитации падений серверов и сетевых разделений. Именно такая тестовая культура позволяет MongoDB стабильно работать в продакшене у тысяч компаний.


3. В PHP пустой массив
[]
может интерпретироваться и как список, и как объект.
В некоторых версиях драйвера это приводило к тому, что неверно сформированный запрос (например, на удаление конкретных записей с пустым фильтром) мог быть воспринят базой как команда на
очистку всей коллекции
или базы. Это не был баг самого сервера MongoDB, а именно специфика реализации «обертки» для PHP тех лет.


4. Самый большой известный публично кластер MongoDB принадлежит eBay.
В 2019 году они рассказали, что у них работают
более 100 шардов
, хранящих
петабайты данных
, с нагрузкой
миллионы запросов в секунду
.


5. В MongoDB нет JOIN, но есть $lookup,
который делает то же самое, но с другим синтаксисом. Но появился он только в 2015 году в версии 3.2. До этого люди хакерили с помощью $unwind и $group.


Угадаете на какую тему будет следующий видос? 🧑‍🦲
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106
Они хотели сделать хостинг, а получилось…. MongoDB 😱

В новом видео рассказываем историю создания MongoDB - от стартап-идеи до одной из самых популярных NoSQL-баз в мире.

Смотри, чтобы узнать:

• Почему реляционные БД тормозили и что с этим сделали
• Как документная модель решает проблему масштабирования
• Почему в MongoDB нет жесткой схемы
• Как база выживала без денег и при чем тут Amazon

Как всегда - без занудства, с мемами и историческими перлами ☕️

Где смотреть:

😁 YouTube
😁 VK
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106👏1
Продолжаем знакомить вас с авторами и наставниками на наших курсах 👋

Сегодня Сергей Галеев отвечает на важный вопрос:

Насколько C# остается языком для Windows, если сейчас все уходит в Linux и контейнеры? Не будет ли проблем с трудоустройством, если я знаю только стек Microsoft?

🗣Ответ Сергея:

До сих пор встречается мнение, что C# и весь Microsoft-стек - только про Windows. Хотя Java, например, тоже долго ассоциировалась с Oracle, а Go - с Google. Сам факт, что язык или платформа связаны с большой компанией, сам по себе мало о чем говорит.

Если 10–15 лет назад C# и правда был сильно завязан на Windows, то сейчас картина давно изменилась.

Раньше все крутилось вокруг .NET Framework, IIS, Windows Server и MSSQL. Почти весь стек жил внутри экосистемы Microsoft, поэтому такая ассоциация была вполне понятной.

Сейчас C#-backend чаще выглядит совсем иначе: ASP.NET Core, Docker, Linux-контейнеры, PostgreSQL, Redis, очереди, CI/CD, облака и прочая привычная инфраструктура, которая есть почти в любой backend-разработке. Поэтому C# уже давно не воспринимается как что-то сугубо виндовое.

Но тут есть нюанс. Если весь опыт связан только с WPF, WinForms, старым .NET Framework, IIS и Windows-легаси, рынок и правда будет уже. Такие вакансии никуда не делись, просто это отдельный сегмент.

Если же человек работает с ASP.NET Core, Web API, EF Core, Docker, тестами, микросервисами, CI/CD, умеет собирать и деплоить сервисы, понимает базы, логи, мониторинг и производительность, то его обычно воспринимают просто как backend-разработчика. Без привязки к ярлыку Microsoft-мира.

Мне вообще не очень близка идея любой ценой убегать от Microsoft. Куда полезнее взять современный .NET и сверху добрать нормальные универсальные навыки, которые нужны почти в любой backend-команде: Docker, базовый Linux, SQL, Redis, очереди, CI/CD, контейнеры, облака, логирование и метрики.

С таким набором C# на рынке чувствуется вполне уверенно.


Бесплатные вводные уроки по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3❤‍🔥1
Знатоки, для вас новая загадка 📹

В 2010 году в крупной медицинской компании случилась забавная история. Разработчику прилетела задача: в базе данных нужно было поменять формат даты. Тогда январь хранился как «1», февраль как «2» и так до декабря. А надо, чтобы стало «01», «02», «03».

Зачем? Потому что старая система выгружала отчеты в Excel, а Excel упорно сортировал январь как «1», октябрь как «10» и ставил октябрь перед январем. Бухгалтерия была в ауте 🤧

Разработчик лезет в код и понимает: предыдущий программист решил задачу максимально нестандартно. Компания несколько лет спокойно принимала, тестировала и использовала это решение в проде.

Вопрос: что наворотил предыдущий разработчик?

😊 — прописал отдельную проверку для каждого сотрудника компании
😱 — вручную захардкодил преобразование для каждого месяца и каждого года
😁 — навайбкодил нейросеть, которая перебирает 5000 дат вручную
Please open Telegram to view this post
VIEW IN TELEGRAM
😱90😁1310
Да, знатоки, все верно 😊
Предыдущий программист захардкодил преобразование каждого месяца и каждого года вручную. Тысячи строк с условиями типа if date = "2010-1" then date = "2010-01". И так для каждого месяца с 2010 по 2014 год.

Компания несколько лет спокойно тестировала это и выкатывала в прод.

С. Уайлс, который наткнулся на этот шедевр, потом вспоминал:

Я сидел и тупил в монитор. Потом пошел к менеджеру и спросил: "Вы серьезно?!


Работает….

😁 — не трожь
😊 — перепиши и задеплой в пятницу вечером
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5744❤‍🔥1
Первый плюс снега в апреле - повод проверить карманы пуховика 😄

Второй - найти там не прошлогоднюю жвачку, а промокод MAYMERION на скидки до 70% на все курсы и все тарифы.

➡️ Заходи на сайт, вводи промо и забирай:

-60% на топовые курсы
-70% на отдельные направления
-50% на тариф с наставником

Почему сейчас лучше взять тариф с наставником? Рынок IT стал жестче. Вакансий меньше, конкуренция выше. Один в поле - не воин.

А тариф с наставником - это:

• Твой личный эксперт, который отвечает на все вопросы, проверяет домашки и не дает закопаться в прокрастинации.


• Карьерный консультант, который помогает составить резюме, которое выделит среди сотни кандидатов и подсказывает как проходить собеседования без дрожи в коленках.


Все это в одном тарифе!

К выходным погода должна прийти в себя. А если нет - и хорошо, что пуховик не убрал! Не замерзнешь на шашлах 😊

Но промокод MAYMERION обратно в карман не убирай. Сгорит 30 апреля в 23:59.

📎 Успевай забрать свой курс и погнали учится!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6😁11
Если ты до сих пор откликаешься на вакансии «вслепую», то рискуешь застрять в бесконечном поиске работы 🪖

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

Сегодня поделимся этим полезным инструментом (пример см. на скриншоте).

Для чего он нужен:

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


🔴
Оценка эффективности поиска. Если ты, например, сделал больше 50 откликов, но дальше дело не пошло - от части причина в молчании рынка, но также проблема может быть в твоем резюме. А если тебя активно зовут на HR интервью, но после него отказывают, стоит поработать над самопрезентацией и ответами на софтовые вопросы. И так далее.


Если ты в поиске хорошего оффера, то начинать нужно не с работных сайтов, а с:

1. Обновления резюме и составления стратегии поиска.
2. Общения с уже существующими контактами - спросить о внутренних вакансиях и реферальных программах.
3. Пересмотра старых диалогов с рекрутерами.
4. Поиска прямых контактов HR в Сетке.


Понимаем, что поиск работы сейчас такой же неприятный, как снег в апреле, когда ты уже мысленно на шашлах в майке 😢

Поэтому включили в тарифы с наставником карьерные консультации. Там и резюме поможем «причесать», и грамотную стратегию поиска составить с поддержкой на каждом этапе. До завтра, кстати, на этот тариф действует скидка 50%.

➡️ Заходи на сайт, выбирай свой курс, вводи промокод MAYMERION и погнали учиться!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33❤‍🔥1
Даже Никитична уже стартанула 😄

Последнее напоминание: Промик MAYMERION на скидки до 70% сгорит сегодня в 23:59!

➡️ Заходи на сайт, выбирай курс, вводи промо и погнали учиться!
Please open Telegram to view this post
VIEW IN TELEGRAM
14❤‍🔥1🤝1
Черновик протокола IPv8 - мем или будущее интернета? 😱

Сейчас интернет работает на IPv4. Адреса закончились еще в 2011 году. Провайдеры используют NAT и CGNAT - все летает, но с некоторыми ограничениями.

25 лет назад придумали IPv6. Миллиарды адресов, все красиво. И что? До сих пор нормально не взлетел. Никто не хочет переходить.

И тут появляется IPv8 🥔

В чем абсурдность: IPv8 - это не просто новый протокол. Это ответ на проблему, которую уже решили 25 лет назад (IPv6), но никто не захотел переходить. А теперь предлагают сделать еще один новый протокол, который снова никто не захочет внедрять. Это как переустанавливать Windows, потому что завис браузер 😄

Пока это просто черновик в IETF. Шансов, что его примут, как у снеговика в пустыне. Но само появление - уже мем.

Как думаешь, это гениально или просто очень смешно?

Ссылка на источник
Please open Telegram to view this post
VIEW IN TELEGRAM
17👀11🔥4❤‍🔥1
Как думаешь, что может обрушить интернет по всему миру быстрее, чем ты успеешь перезагрузить роутер?

Оказывается, не хакерская армия и не правительство. А программа размером меньше этого абзаца.

Студенческие эксперименты, забытые обновления и вирусы, которые работали годами незаметно.

Смотри наш новый видос, чтобы узнать:

• Как одна строчка кода случайно положила десятую часть интернета
• Почему авторы первого массового вируса оставили в нем свой телефон
• Как вирусы перешли от приколов к реальным деньгам и кибероружию
• Кто на самом деле отключал центрифуги на ядерных объектах (спойлер: не хакеры в подвале)

Как всегда - без занудства, с мемами и историческими перлами 🙈

Где смотреть:

😁 YouTube
😁 VK
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6😍2🔥1
Выкатили новый курс, пока все кайфовали на шашлыках 😱

Даааааа, это GitLab CI/CD - без него DevOps-инженеру сейчас никуда.

На курсе освоишь полный цикл непрерывной интеграции и доставки с GitLab. Научишься строить пайплайны, настраивать SAST, управлять реестрами пакетов и контейнеров, автоматизировать тестирование и деплой.

➡️ Начни с бесплатного вводного модуля, там тебя ждет:

1️⃣Знакомство с автором и обзор темы: зачем и кому нужен CI/CD
2️⃣Практическая задача: развернешь GitLab через Docker Compose и сразу увидишь, как работает пайплайн
3️⃣Тест: проверишь себя и закрепишь знания
4️⃣Несколько уроков курса английского для IT
5️⃣Вводная лекция из интенсива по карьере

Шашлычный промик уже сгорел, но при регистрации на вводный модуль получишь скидку 45% на полный курс 💗

📎 Регистрируйся и погнали учиться!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥2
Знатоки, с пятничкой! Время разобрать еще один абсурдный случай 😢

Как-то разработчику понадобилось добавить новую фичу. Он полез в модуль кода одного старого приложения, который отвечал за даты, и увидел там вот такой шедевр:

int day = Convert.ToInt16(DateTime.Now.ToString("dd"));
switch(day)
{
case 1: num = "st"; break;
case 21: num = "st"; break;
case 31: num = "st"; break;
case 2: num = "nd"; break;
case 22: num = "nd"; break;
case 3: num = "rd"; break;
case 33: num = "rd"; break;
default: num = "th"; break;
}


Вопрос: что здесь не так?

👀 — окончания перепутаны местами: "st" для 2, "nd" для 1
😄 — прошлый программист считал что в месяце 33 дня
🤝 — забыли про 0 и отрицательные числа

Ответ в комментах ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
74🤝5👀1
Что скрывает история главной ОС планеты? 🎰

Android начинался не как система для телефонов, а как операционка для фотокамер. И только случайность и 50 миллионов долларов от Google превратили его в то, что у тебя в кармане.

В новом видео прошлись по всей истории Android: от провального прототипа до миллиардов устройств.

Смотри, чтобы узнать:

• Почему выход iPhone заставил Android переписывать все с нуля за несколько месяцев
• Как Java чуть не уничтожила платформу и кто пришел на смену
• Из каких слоев состоит любая Android-система от ядра до интерфейса
• Почему разработчики переходят на Kotlin и при чем тут Jetpack Compose

Как всегда - без занудства, с мемами и историческими перлами 😄

Где смотреть:

😁 YouTube
😁 VK
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤‍🔥2
Все знают про axios, lodash и dayjs. Они практически во всех проектах есть и ты их так или иначе видел.
А вот эти пять штук обычно проходят мимо, хотя могут пригодиться ❤️

1. ts-pattern / https://github.com/gvergnaud/ts-pattern

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

ts-pattern дает записать всю эту логику одним красивым выражением, а TypeScript сам напомнить про твою криворукость, если ты не обработал какой-то вариант. Особенно кайфово с дискриминированными юнионами по типу статусов заказа или типов событий.


2. defu / https://github.com/unjs/defu

Знаешь, как Object.assign и спред работают с вложенными объектами? Никак. Если у тебя есть { ui: { theme: 'dark', size: 14 } }, а кто-то из коллег накосячил и прилетает { ui: { theme: 'light' } }, то после слияния твой size просто испарится, потому что весь ui заменится целиком.

defu сливает рекурсивно по всем уровням, как ты бы и сам хотел. Незаменимая штука, если пишешь библиотеку, SDK или любой инструмент с настройками.


3. execa / https://github.com/sindresorhus/execa

Запускал с помощью ноды git, ffmpeg или любой shell-скрипт? Тогда знаешь, что нативный дочерний процесс – это боль, страдания и колбэки из 2010 года. execa оборачивает все в нормальный async/await, по-человечески ловит ошибки и даёт удобные пайпы между процессами.

Используется внутри кучи популярных CLI-тулзов. Следоватлельно, это говорит о многом.


4. type-fest / https://github.com/sindresorhus/type-fest

Готовая коллекция TypeScript-типов на любой случай жизни. Нужен Partial по всем вложенным уровням? Есть. Сделать массив непустым? Есть. Преобразовать snake_case в camelCase прямо на уровне типов? Тоже.

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


5. emittery / https://github.com/sindresorhus/emittery

Нужна шина событий внутри приложения, где один модуль кинул, другой подписался? Тащить ради этого Redux или нативный EventEmitter из ноды – это как везти хлеб на дачу грузовиком. emittery решает задачу с минимумом кода и при этом умеет полезные штуки.
Например, типизирует события через TypeScript и нормально работает с async-обработчиками, чего стандартный EventEmitter не умеет в принципе. От того же автора, что и type-fest, кстати.


Никита, кстати еще и сценарист наших роликов, которые вы так любите 🙈
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Да, зеленые, выходные можно провести по-разному: кто-то путешествует, кто-то учится 🤵

На всякий случай, напоминаем, что добавили в бесплатный модуль курса Linux новые интерактивные уроки: эмулятор терминала и процесса установки Linux на виртуальную машину.

Найти можно внутри нашей платформы, если уже зарегистрирован.
Если еще нет ➡️ держи ссылочку!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥41
Как думаете, что будет дальше? 🤭

🤝 - Серегу примут на работу сразу сеньором
🔥 - Серега останется без ответа и будет искать другие пути устроиться
😄 - выяснится, что Олег левая рука СЕО и не может помочь
Please open Telegram to view this post
VIEW IN TELEGRAM
69🔥13🤝5
Знакомьтесь: основатель движения за свободное ПО, человек, подаривший нам GNU, GPL и концепцию «copyleft». Но что еще скрывает этот бородатый гений?😢

10 фактов о Ричарде Столлмане, которые тебя шокируют:

1. Полиглот со своей методикой
RMS знает английский, французский, испанский и даже индонезийский.

Его метод изучения:
— учебники + произношение;
— детские книжки → подростковые;
— письма на новом языке;
— и главное: не говорить, пока не освоишь все нужные конструкции. Никакого «моя твоя понимать»!


2. Emacs - дом, работа и храм.

Любимое приложение - GNU Emacs. Там он читает почту, редактирует сайт и проводит максимум времени. Консоль - в приоритете, но GUI не демонизирует.


3. Lisp навсегда.

А вот Clojure и Python, которые ему называли «похожими на Lisp», не зашли. Фундаментальной схожести нет, считает RMS.


4. C++ - мимо.

«Уродливый язык» - и тут Столлмана поддерживает сам Линус Торвальдс (редкий момент единства).


5. Java зашла, C - база.

Писал на Java, и даже понравилось. C знает отлично. А вот новые языки после нулевых прошли мимо - перестал активно программировать, ушел в общественную миссию.


6. Идеальный дистрибутив = без проприетарных компонентов.

Технические характеристики - не главное. Главное - чистота лицензий.


7. Написал песню.

Музыка народная, слова свои. О будущем, где свободное ПО победило «грязные» лицензии.


8. Анекдот из 90-х.

Исполнил песню при тусовке. Кто-то крикнул: «Классно, спой это Ричарду Столлману!»
— Так я и есть Ричард Столлман
😄


9. Написал рассказ «Право прочесть» по-русски.

Рассказ-антиутопия о мире, где чтение книг - преступление. Написан как учебник истории будущего. Обязательно найдите и прочитайте.


10. Не программирует, но меняет мир.

С 2000-х почти не пишет код. Но его идеи, лицензии и принципы работают до сих пор.


Наверное, именно так выглядит человек со строчкой «многозадачный» в резюме 😄
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥184😍1
Как гений и параноик, которого боятся приглашать на конференции, создал движение свободного ПО, написал Emacs, придумал лицензию GPL и поссорился с половиной IT-мира? 🤔

Да да, мы на намекали в прошлом посте. Это Ричард Столлман - человек, без которого не было бы ни Linux, ни Android, ни GitHub в том виде, в котором мы его знаем.

В новом видео прошлись по всей истории:

• Почему его считают безумцем, но его идеи о приватности уже не кажутся такими странными
• Как история с закрытым драйвером принтера привела к созданию GNU и «копилефту»
• Почему он носит с собой плюшевого гну и отказывается от смартфонов
• За что его ненавидят корпорации и почему без него не было бы опенсорса

Как всегда - без занудства, с мемами и историческими перлами 😄

Где смотреть:

😁 YouTube
😁 VK
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9😍2❤‍🔥1
Media is too big
VIEW IN TELEGRAM
Новый видос от Сурена на тему: SQL запрос к sqlite: пример с инъекцией и параметрами ☕️

Важно правильно формировать запросы к базе данных: прямое форматирование SQL допускает инъекцию и может привести к потере данных или утечке.
Поэтому необходимо передавать аргументы в запрос отдельно от SQL строки.


Сурен Хоренян - автор курса Python-программист с нуля, на котором, кстати, мы тоже обновили бесплатные уроки!
Добавили интерпретатор кода, ничего устанавливать не нужно, можно сразу писать код!

➡️ Залетай потестить
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥2