Что такое дилемма заключённого
Одна из самых известных ситуаций в теории игр — дилемма заключённого. В ней нет правильных или неправильных решений, и каждый выбирает сам, что ему делать, но некоторые решения могут сделать ситуацию в итоге лучше или хуже. Про это и поговорим.
Оригинальная ситуация, с которой всё началось, описывается так:
• Есть два преступника, их поймала полиция в одно и то же время за очень похожие преступления.
• У полиции есть подозрение, что они действовали в сговоре. Чтобы докопаться до сути, преступников развели по разным камерам и сказали им условия.
• Если один из них даёт показания на другого, а другой молчит, то тот, кто молчит, получает 10 лет, а первого освобождают.
• Если оба дают показания на другого, то каждый получает по 2 года.
• Если оба молчат, то полиция остаётся без доказательств и каждый получает полгода тюрьмы.
• Преступники не могут заранее пообщаться между собой и принять совместное решение, каждый выбирает сам, что ему делать.
👉 Какое решение выгоднее всего принять каждому из них?
Чтобы было понятнее, нарисовали схему — на ней пересечение решений даст общий результат.
#разбор_Код
Одна из самых известных ситуаций в теории игр — дилемма заключённого. В ней нет правильных или неправильных решений, и каждый выбирает сам, что ему делать, но некоторые решения могут сделать ситуацию в итоге лучше или хуже. Про это и поговорим.
Оригинальная ситуация, с которой всё началось, описывается так:
• Есть два преступника, их поймала полиция в одно и то же время за очень похожие преступления.
• У полиции есть подозрение, что они действовали в сговоре. Чтобы докопаться до сути, преступников развели по разным камерам и сказали им условия.
• Если один из них даёт показания на другого, а другой молчит, то тот, кто молчит, получает 10 лет, а первого освобождают.
• Если оба дают показания на другого, то каждый получает по 2 года.
• Если оба молчат, то полиция остаётся без доказательств и каждый получает полгода тюрьмы.
• Преступники не могут заранее пообщаться между собой и принять совместное решение, каждый выбирает сам, что ему делать.
👉 Какое решение выгоднее всего принять каждому из них?
Чтобы было понятнее, нарисовали схему — на ней пересечение решений даст общий результат.
#разбор_Код
❤7🔥6👍2
Что такое микрофронтенд
Микрофронтенд — это подход, при котором пользовательский интерфейс делится на независимые части. Каждая из этих частей, по сути, маленькое приложение, которое можно разрабатывать, обновлять и поддерживать отдельно от остальных. При этом все части объединяются в единый интерфейс.
Пример из жизни — Spotify. Кажется, что это единое приложение, но на самом деле оно состоит из нескольких независимых частей. Каждую часть делает своя команда.
На первый взгляд микрофронтенды похожи на микросервисы — те же независимые части, которые работают вместе. Но есть нюанс: микрофронтенды работают в браузере, а это накладывает ограничения:
Один DOM. Все микрофронтенды располагаются в одной и той же структуре страницы. Если один добавит глобальные стили, это может затронуть другие части.
Один Local Storage. Все части интерфейса используют одно хранилище данных, и это может вызвать конфликты.
Одна адресная строка. У всех микрофронтендов общий URL, что усложняет их полную изоляцию.
Микрофронтенды отвечают за интерфейс. Микросервисы (то есть бэкенд) обрабатывают данные, например пользовательские аккаунты или заказы. Всё это соединяется между собой через API-шлюз. Пользователь взаимодействует с интерфейсом, а тот отправляет запросы на сервер через этот шлюз.
О том, как микрофронтенды упрощают разработчикам жизнь, рассказали в статье: https://v.thecode.media/jeazb
Микрофронтенд — это подход, при котором пользовательский интерфейс делится на независимые части. Каждая из этих частей, по сути, маленькое приложение, которое можно разрабатывать, обновлять и поддерживать отдельно от остальных. При этом все части объединяются в единый интерфейс.
Пример из жизни — Spotify. Кажется, что это единое приложение, но на самом деле оно состоит из нескольких независимых частей. Каждую часть делает своя команда.
На первый взгляд микрофронтенды похожи на микросервисы — те же независимые части, которые работают вместе. Но есть нюанс: микрофронтенды работают в браузере, а это накладывает ограничения:
Один DOM. Все микрофронтенды располагаются в одной и той же структуре страницы. Если один добавит глобальные стили, это может затронуть другие части.
Один Local Storage. Все части интерфейса используют одно хранилище данных, и это может вызвать конфликты.
Одна адресная строка. У всех микрофронтендов общий URL, что усложняет их полную изоляцию.
Микрофронтенды отвечают за интерфейс. Микросервисы (то есть бэкенд) обрабатывают данные, например пользовательские аккаунты или заказы. Всё это соединяется между собой через API-шлюз. Пользователь взаимодействует с интерфейсом, а тот отправляет запросы на сервер через этот шлюз.
О том, как микрофронтенды упрощают разработчикам жизнь, рассказали в статье: https://v.thecode.media/jeazb
👍11❤6🔥3
Что такое деплой и как он устроен
После того, как написан код программы и закончилось тестирование, начинается деплой. Про него ходит много шуток и легенд, но если разобраться, то всё становится довольно просто: https://v.thecode.media/9g27a
#лучшее_Код #разбор_Код
После того, как написан код программы и закончилось тестирование, начинается деплой. Про него ходит много шуток и легенд, но если разобраться, то всё становится довольно просто: https://v.thecode.media/9g27a
#лучшее_Код #разбор_Код
👍9🔥3
Помните постоянную старую штуку про вечно садящийся айфон к середине дня?
Если помните (или сами застали такое) — можете забыть, потому что сейчас айфоны показывают в некоторых сценариях даже чуть большую автономность, чем их конкуренты. И это несмотря на то, что в айфонах всегда стоит аккумулятор меньшей ёмкости.
Вот как это возможно: https://v.thecode.media/vdry4
#разбор_Код
Если помните (или сами застали такое) — можете забыть, потому что сейчас айфоны показывают в некоторых сценариях даже чуть большую автономность, чем их конкуренты. И это несмотря на то, что в айфонах всегда стоит аккумулятор меньшей ёмкости.
Вот как это возможно: https://v.thecode.media/vdry4
#разбор_Код
🔥7🤣6🤡2❤1👍1
Пятница, дорогие читатели. Четверг был заблокирован вместе с носом, но решение есть: https://v.thecode.media/zrzt4
#пб_Код
#пб_Код
🤣40
Скидка 20% на все курсы Практикума до 30 ноября.
Чёрная пятница и такие скидки бывают раз в год. Вы знаете, что делать ↓
Чёрная пятница и такие скидки бывают раз в год. Вы знаете, что делать ↓
🔥8❤4🤡1
Вот смотрите, есть два кода.
Один написан человеком, а второй — ИИ.
А есть ли способ точно отличить один код от второго? А можно ли это вообще сделать — понять, что код написан нейросетью?
Оказывается, вот: https://v.thecode.media/xpasj
#разбор_Код
Один написан человеком, а второй — ИИ.
А есть ли способ точно отличить один код от второго? А можно ли это вообще сделать — понять, что код написан нейросетью?
Оказывается, вот: https://v.thecode.media/xpasj
#разбор_Код
❤8👍6😁4
Пишем игру Ним на Python
Простой проект с продолжением.
https://v.thecode.media/8bipc
#проект_Код #лучшее_Код
Простой проект с продолжением.
https://v.thecode.media/8bipc
#проект_Код #лучшее_Код
🔥7👍4❤2
Любопытство
Привет!
Принесли ответы на вопросы, которыми задались на этой неделе. Получилось интересно.
Слышали, что случайности неслучайны? Мы точно это знаем, даже написали целую статью про метод Math.random() в JavaScript. Почитайте и попробуйте сами (выберите элемент из массива или бросьте виртуальные кости).
Nvidia или AMD? Извечный вопрос, на который однозначного ответа нет. Но чтобы вам было легче выбрать, рассказали в статье, кто круче в играх, а кто лучше с рендерингом, чем различаются чипы, технологии и драйверы.
Почему аккумуляторы iPhone всегда меньше по ёмкости, чем у Android? Есть развёрнутый ответ.
Шестидневная рабочая неделя — всё. Это было тяжело, поэтому вместо задачи сегодня совет от айтишника: дышите аккуратнее, и будет вам счастье.
«Чёрная пятница» в Практикуме началась. Скидка 20% на все курсы до 30 ноября.
Ушли запойно смотреть сериалы на длинных выходных.
Увидимся через неделю,
ваш «Код»
Привет!
Принесли ответы на вопросы, которыми задались на этой неделе. Получилось интересно.
Слышали, что случайности неслучайны? Мы точно это знаем, даже написали целую статью про метод Math.random() в JavaScript. Почитайте и попробуйте сами (выберите элемент из массива или бросьте виртуальные кости).
Nvidia или AMD? Извечный вопрос, на который однозначного ответа нет. Но чтобы вам было легче выбрать, рассказали в статье, кто круче в играх, а кто лучше с рендерингом, чем различаются чипы, технологии и драйверы.
Почему аккумуляторы iPhone всегда меньше по ёмкости, чем у Android? Есть развёрнутый ответ.
Шестидневная рабочая неделя — всё. Это было тяжело, поэтому вместо задачи сегодня совет от айтишника: дышите аккуратнее, и будет вам счастье.
«Чёрная пятница» в Практикуме началась. Скидка 20% на все курсы до 30 ноября.
Ушли запойно смотреть сериалы на длинных выходных.
Увидимся через неделю,
ваш «Код»
🔥8❤4😁3🤡1
Зачем нужны циклы в программировании
База в картинках для тех, кто ничего не знает о программировании, но очень хочет начать, — про циклы. Покажите всем, кто хочет начать разбираться в основах: https://v.thecode.media/562rk
#лучшее_Код #разбор_Код
База в картинках для тех, кто ничего не знает о программировании, но очень хочет начать, — про циклы. Покажите всем, кто хочет начать разбираться в основах: https://v.thecode.media/562rk
#лучшее_Код #разбор_Код
❤5👍3
Ультрасложная задача про пьяных программистов и коллизию
Нерабочий вторник. Три разработчика решили выпить и сыграть в бильярд. Чтобы было интересно, мидл придумал такое условие: проигравший оплачивает счёт.
Все знали, что сеньор лучше всех пьёт и играет, поэтому мидл предложил считать так:
Через пару минут после начала игры, когда несколько шаров уже было забито, к ним подошёл тимлид из соседнего отдела. Ему объяснили, что проигравший платит, он согласился, и игра пошла уже вчетвером.
Когда партия закончилась, получились такие результаты: джуниор забил 2 шара, мидл — 4 шара, сеньор — 6 шаров, тимлид — 4 шара.
Голосуйте в опросе ниже, а потом переходите по ссылке, чтобы узнать, кто и почему закроет счёт на самом деле.
#задача_Код
Нерабочий вторник. Три разработчика решили выпить и сыграть в бильярд. Чтобы было интересно, мидл придумал такое условие: проигравший оплачивает счёт.
Все знали, что сеньор лучше всех пьёт и играет, поэтому мидл предложил считать так:
«Если сеньор забьёт меньше шаров, чем другие участники, вместе взятые, — он проиграл и платит за всех».
Через пару минут после начала игры, когда несколько шаров уже было забито, к ним подошёл тимлид из соседнего отдела. Ему объяснили, что проигравший платит, он согласился, и игра пошла уже вчетвером.
Когда партия закончилась, получились такие результаты: джуниор забил 2 шара, мидл — 4 шара, сеньор — 6 шаров, тимлид — 4 шара.
Голосуйте в опросе ниже, а потом переходите по ссылке, чтобы узнать, кто и почему закроет счёт на самом деле.
#задача_Код
❤8👍4🤡2
😁22🤡5👍1
Принесли расписание потоков Практикума в ноябре
Пройти бесплатную вводную часть, чтобы ознакомиться с программой и форматом обучения, вы можете уже сейчас.
А ещё напоминаем, что до 30 ноября в Практикуме действует Чёрная пятница — все курсы стоят на 20% дешевле. Если вы уже давно присматриваетесь к новой профессии, сейчас лучшее время, чтобы начать: https://v.thecode.media/5z1ku
#анонс_Код
Пройти бесплатную вводную часть, чтобы ознакомиться с программой и форматом обучения, вы можете уже сейчас.
А ещё напоминаем, что до 30 ноября в Практикуме действует Чёрная пятница — все курсы стоят на 20% дешевле. Если вы уже давно присматриваетесь к новой профессии, сейчас лучшее время, чтобы начать: https://v.thecode.media/5z1ku
#анонс_Код
🔥7❤5👍3
Как работает синхронизация времени в интернете
В общем виде синхронизация времени работает так:
1. Устройство посылает запрос на сервер синхронизации и запоминает время, когда ушёл запрос. Запрос идёт по протоколу NTP, о нём ниже.
2. Сервер получает запрос и, если всё в порядке, записывает, когда он его получил, и отправляет данные с точным временем на сервере.
3. Устройство получает ответ от сервера и записывает, во сколько оно его получило.
4. Зная время отправки и получения запроса и точное время на сервере, можно рассчитать глобальное время (но с какой-то точностью).
Это всё повторяется с какой-то периодичностью — раз в час, раз в день или с любым другим интервалом.
Ещё больше подробностей о синхронизации времени в интернете ищите по ссылке: https://v.thecode.media/81duj
В общем виде синхронизация времени работает так:
1. Устройство посылает запрос на сервер синхронизации и запоминает время, когда ушёл запрос. Запрос идёт по протоколу NTP, о нём ниже.
2. Сервер получает запрос и, если всё в порядке, записывает, когда он его получил, и отправляет данные с точным временем на сервере.
3. Устройство получает ответ от сервера и записывает, во сколько оно его получило.
4. Зная время отправки и получения запроса и точное время на сервере, можно рассчитать глобальное время (но с какой-то точностью).
Это всё повторяется с какой-то периодичностью — раз в час, раз в день или с любым другим интервалом.
Ещё больше подробностей о синхронизации времени в интернете ищите по ссылке: https://v.thecode.media/81duj
👍11❤6👎1
То, что в обычной жизни мы называем хаосом и беспорядком, в Python называется множеством :-)
Рассказываем, как с этим работать, зачем вообще нужны такие структуры данных и когда программисту будет полезно их использовать в своей работе: https://v.thecode.media/jm0re
#разбор_Код
Рассказываем, как с этим работать, зачем вообще нужны такие структуры данных и когда программисту будет полезно их использовать в своей работе: https://v.thecode.media/jm0re
#разбор_Код
👍6😁6
Говорят, что паролем к системе видеонаблюдения в Лувре был Louvre.
Давайте поможем ребятам придумать ПО-НАСТОЯЩЕМУ надёжный пароль в комментариях. Мы начнём: qwerty123 ↓
Давайте поможем ребятам придумать ПО-НАСТОЯЩЕМУ надёжный пароль в комментариях. Мы начнём: qwerty123 ↓
❤11😁5
Redis: что это такое и как им пользоваться
База данных в тетрадке: медленно и неудобно.
База данных MySQL на диске: быстро и удобно.
База данных в оперативной памяти: офигеть как быстро.
Чтобы вы тоже смогли это прочувствовать, держите полный разбор Redis — базы данных, которая во время работы всё хранит в оперативной памяти: https://v.thecode.media/28esu
#лучшее_Код #разбор_Код
База данных в тетрадке: медленно и неудобно.
База данных MySQL на диске: быстро и удобно.
База данных в оперативной памяти: офигеть как быстро.
Чтобы вы тоже смогли это прочувствовать, держите полный разбор Redis — базы данных, которая во время работы всё хранит в оперативной памяти: https://v.thecode.media/28esu
#лучшее_Код #разбор_Код
❤11👍2