Многие из нас ностальгируют по временам старых консолей, когда геймплей хоть и был аркадным, но все же был непростым, вызывал челлендж, испытание, проверку себя на прочность. «А как далеко я смогу пройти в этот раз»? Обычно с такими мыслями запускалась консоль у мальчишек в РФ 90-х и США конца 80-х. И про «игру своего времени» в лице Contra 1987 г. я вам сейчас расскажу. И небольшой спойлер. То, как мы играли в эту игру, и как ее восприняли на западе (игроки и общество) это немного разные вещи.
Пользователь
Мобильная разработка за неделю #561 (21 — 27 октября)
Решение проблемы race condition в Kotlin корутинах
Синхронизация корутин в Android имеет огромное значение для обеспечения безопасности и эффективности многопоточности. Коррутины упрощают управление асинхронными задачами, но без должной синхронизации могут возникнуть проблемы, такие как race condition, что приведет к неправильному поведению приложения.
На самом деле, ООП — это не так уж плохо
ООП — определённо не самая моя любимая парадигма, но я считаю, что в мейнстримном ООП со статической типизацией кое-что сделано правильно, и это очень важно для программирования.
В этом посте я хочу рассказать, что же самое важное реализовано в мейнстримных ООП-языках со статической типизацией.
Затем я сравню ООП-код с Haskell, чтобы показать, что ООП не так плох во всём, как, похоже, считают поклонники функционального программирования.
«Геймифицируй это». Обзор книги Ю-Кай Чоу про геймификацию
Сфера видео- и других игр использует много методов удержания внимания и умело заставляет игроков делать то, что нужно. Из-за них игроки проводят за играми часы, дни и годы.
Чоу разобрался как это работает, какие мотивы двигают людьми и как их можно использовать. В жизни, например, при формировании новых привычек; в работе, чтобы мотивировать подчинённых и себя.
В статье расскажу как использовать приёмы геймификации и покажу как он работает на примерах.
К чистому коду через рефакторинг
Чистые функции
— это такие методы, при выполнении которых не возникает побочных эффектов. В функциональном программировании чистые функции — скорее правило, чем исключение. Но в большинстве объектно-ориентированных языков с ними приходится сталкиваться нечасто, или, как минимум, они редко считаются предпочтительным вариантом. В дотнет-среде серьёзный акцент делается на внедрении зависимостей и более-менее обширных абстракциях, использующих интерфейсы.В данной статье будет продемонстрировано, как перейти от базы кода, характеризующейся значительной опосредованностью такого рода, к более простой версии, из которой большей частью удалена избыточная сложность.
SOLID на котиках
Каждый программист хоть раз слышал о принципах SOLID. На собеседованиях и экзаменах в вузах многие из нас пытались вспомнить, о чем же был тот самый принцип Лисков. Однако вряд ли цель преподавателей и интервьюеров — заставить нас заучивать строчки из учебников. SOLID действительно помогает писать качественный код, когда во всем разберешься! Если вы этого еще не сделали, добро пожаловать под кат. Еще раз взглянем на то, как устроены всем известные принципы. Обещаю — без духоты, все рассмотрим на примерах с котиками.
Искусственный интеллект для детей или Знакомим детей с ИИ, не перегружая их взрослыми понятиями
Управление проектами и задачами в Obsidian
Используя Obsidian более двух лет, я привык организовывать в нём все свои заметки по проектам. Хотя Obsidian предлагает широкий набор сторонних плагинов для расширения своего функционала, мне так и не удалось найти идеальный инструмент для управления проектами и задачами. Это подтолкнуло меня к созданию нескольких автоматизаций, о которых пойдет речь дальше.
Как написать D-Bus сервис, работающий на системной шине, на Rust
Привет, Хабр! На связи Федотов Максим, ведущий разработчик в "Открытой Мобильной Платформе". В этой статье я хочу поделится нашим опытом создания D-Bus-сервиса на Rust, который работает на системной шине.
Если Вы только недавно начали изучать темы ОС GNU/Linux, Rust и D-Bus, но при этом Вам уже стало тесно в рамках простых базовых примеров и хочется зайти немного поглубже, то эта статья для Вас.
Резистор — это просто. Не очень
Эта заметка будет посвящена такой простой вещи, как переменный проволочный резистор. Но не такому уж и простому, из этого семейства. В момент, когда я думал, что уже всё знаю о переменных и подстроечных резисторах всплыла поразительная для меня информация...
Путешествие в мир эмуляторов микропроцессоров
Всем привет!
Не так давно на Хабре появился занятный пост о разработке процессора, и я понял, что созрел для своей первой статьи как раз в этом направлении.
Тема разработки эмуляторов олдскульных микропроцессоров типа того же Intel 8080 не нова. Если вы уже разбираетесь в вопросе, то для вас этот пост не будет чем-то новым, разве что вы увидите еще один подход к реализации такого проекта. Для тех, кто ничего об этом не слышал – прошу под кат.
Чтение на выходные: «Психологический анализ The Legend of Zelda. Сюжеты франшизы как отражение игрока» Энтони Бина
Неожиданно содержательная книга с геймерской полки сегодня в рубрике. То ли аналитический разбор для фанатов известной игры, то ли учебник архетипической психологии, поданный через детали сюжета. Так или иначе, будет полезна и интересна даже тем, кто в The Legend of Zelda никогда не играл. Объясним в чем соль книги по порядку.
Аргументы по умолчанию(мысли вслух)
Тут сценарий такой - РАССУЖДЕНИЯ АВТОРА -> РАССУЖДЕНИЯ ЧИТАТЕЛЯ.
Поехали...
Последнее время, меня всё больше смущают "бесконечные" параметры по умолчанию на протяжении всей обработки пользовательского запроса.
Стандартный поток обработки пользовательского запроса выглядит так:
История моего увлечения астрономией
Листая страницы Хабра, я периодически натыкаюсь на статьи по теме астрономии. Никогда не думал, что эта тема будет на Хабре так популярна и широко распространена. Любители астрономии и астрономических наблюдений – самый малочисленный круг людей из всех, с которыми я когда-либо сталкивался. В данной статье я хотел бы поделиться своей историей увлечения астрономией и астрономических наблюдений.
Делегаты и делегированные свойства в Kotlin
Привет, Хабр! Меня зовут Артем и я автор и ведущий YouTube канала Android Insights
Сегодня мы погрузимся в мир делегатов и делегированных свойств в Kotlin. Эта тема может показаться сложной на первый взгляд, но я постараюсь объяснить её максимально понятно и подробно. Итак, приступим!
Новый подход к безопасному управлению состояниями в Kotlin-приложениях
Вот уже несколько лет я занимаюсь разработкой высокопроизводительных, полностью асинхронных, реактивных, мультиплатформенных приложений. За это время я успел наткнуться на несколько довольно тонких и трудно отлаживаемых проблем с управлением состояниями.
В этой статье я хотел бы поделиться с вами своим опытом, который поможет вам сэкономить множество часов и нервных клеток, и предложить новый подход к управлению состояниями, который лично я никогда раньше не встречал и который навсегда избавит вас от этих проблем.
Какие технологии быстрой зарядки бывают и чем они отличаются друг от друга
Быстрая зарядка смартфонов - это область, где инновации и инженерные решения сталкиваются с физическими ограничениями литий-ионных аккумуляторов. От USB-PD до OnePlus WarpCharge - каждая технология предлагает свой подход. Но что стоит за впечатляющими слоганами на рекламных буклетах? В этой статье мы погрузимся в технические детали различных протоколов быстрой зарядки, раскроем их принципы работы и особенности реализации.
Писать код для компьютеров сложно, ещё сложнее — писать код для людей
Писать код для компьютера и так достаточно сложно: вы берёте что-то большое и неопределённое, какую-нибудь крупную расплывчатую цель бизнеса, которой нужно достичь. Затем рекурсивно разбиваете её на части и продумываете все сценарии, пока не получите чёткие логические конструкции, которым сможет следовать компьютер. Компьютеры очень хорошо справляются с выполнением логических конструкций.
А теперь немного усложним задачу. Будем писать код для людей!
Объясню, что я имею в виду: я говорю о коде, с которым смогут взаимодействовать другие люди. В частности, я имею в виду искусство создания удобных фреймворков, библиотек, API, SDK, DSL, встроенных DSL или даже языков программирования.
Писать такой код гораздо сложнее, потому что ты не только говоришь компьютеру, что делать, но и вступаешь в борьбу с ментальной моделью твоего кода в глазах другого пользователя. Это в равной степени computer science и психология мышления. Как сделать так, чтобы этот человек понял твой код?
Ричард Фейнман как-то сказал: «Представьте, насколько сложнее была бы физика, если бы электроны имели чувства». Он говорил это в другом контексте, но мне кажется, это частично описывает и программирование для людей. У человека, интерпретирующего твой код, есть чувства!
Давайте поговорим о том, как упростить ему задачу.
Книга: «Грокаем алгоритмы. 2-е изд.»
Мы снова возвращаемся с вторым изданием книги “Грокаем алгоритмы”! Красивым, новеньким, актуализированным. От первого тиража всё ещё пахнет типографией, а код примеров обновлен на Python 3!
Зачем второе издание? Первое было интересным, понятным, запоминающимся. Но оно было выпущено в далёком 2016 году, а перевод появился лишь в 2017. В сфере компьютерных технологий всё меняется и обновляется с невероятной скоростью, неудивительно, что автор решил актуализировать свою книгу.
Информация
- В рейтинге
- Не участвует
- Откуда
- Калуга, Калужская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность