Обновить
265
124.8
Даниил Шатухин @daniilshat

Информационная служба Хабра

Отправить сообщение

Создание игры в стиле GameBoy в 13 КБ

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров7.3K

В прошлом году я решил поучаствовать в гейм-джеме js13kgames. Это длящееся один месяц ежегодное соревнование по созданию с нуля игры на JavaScript, которая должна уместиться в 13 КБ (в zip). Места как будто не очень много, но с достаточным количеством креативности при таких ограничениях можно достичь многого. Просто взгляните на потрясающие примеры прошлых лет:


Хотя в прошлом году моя игра заняла не такое высокое место, я всё равно хотел бы поделиться своими открытиями, сделанными в процессе её разработки.

Мне захотелось сделать игру, напоминающую о ретроэпохе игр на портативных консолях с их уникальным квадратным экраном, низким разрешением и видом сверху вниз. Я решил реализовать быстрый геймплей в стиле action-RPG с простым, но увлекательным геймплеем, мотивирующим игрока продолжать игру. С музыкой всё было очевидно — звуковые эффекты должны быть похожими на звуки аркадных автоматов.

Поиграть в мою игру можно на странице Gravepassing сайта JS13KGames. Полный код выложен на GitHub.
Читать дальше →

Краткий справочник по «всем-всем» командам Linux

Уровень сложностиСредний
Время на прочтение90 мин
Количество просмотров215K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005,... 1260 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX

Создаем QR-код для электронной визитки vCard

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров29K

Недавно нам в EvApps понадобилось создать электронную визитку компании vCard и зашить ее в QR-код, чтобы удобнее было обмениваться контактами при помощи смартфона. Что из этого вышло (а также несколько технических лайфхаков), читай в этой статье.

Для начала разберемся, зачем нам vCard?


Это тоже самое, что и обычная визитная карточка, только передают ее не из рук в руки, а с одного устройства на другое: через социальные сети, электронную почту или Bluetooth.

Что такое vCard для пользователей?

vCard имеет расширение .vcf - это текстовый файл в виде контейнера, который хранит вашу контактную информацию: ФИО, номера телефонов, адрес почты, наименование компании, вашу должность и прочее.

Технический анализ электронной визитной карточки vCard

Формат vCard был разработан еще в 1995 года консорциумом Versit - организацией, которая создает и дополняет стандарты Интернета.

vCard - это расширение формата MIME-DIR, являющегося стандартом кодирования передачи информации.

Кроме обычных для формата MIME-DIR атрибутов uri, date, date-time и float для vCard вводятся форматы binary, phone-number, utc-offset и vcard.

Читать далее

Как документировать публичные API для продукта. Большой гайд, часть 1

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров29K

Так уж вышло, что в течение своей деятельности мне немало доводилось работать с публичными API, причем как в со стороны, которая их предоставляет, так и со стороны, которая интегрируется. И здесь я хочу рассказать не только про один из кейсов, который решал ранее, но и поделиться результатами проводимого анализа, полученным опытом, а также набитыми шишками.

Материала вышло многовато, поэтому разбил его на 2 части. В части 1 (этой статье) рассмотрим, почему и зачем вообще публичным API нужна документация, есть ли у нее какие-то отличия от документации внутренних API, а также проанализируем и детально разберем различные подходы к ведению такой документации, попутно познакомившись поближе с полезными инструментами.

В следующей части затронем уже непосредственно написание документации, подумаем, кто же должен ее писать, какие инструменты могут в этом помочь, как это встроить в реальный процесс разработки и что во всем этом может пойти не так.

Читать далее

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров43K

Telegram-боты — хорошая возможность вписать какую-то важную функциональность в понятную и простую платформу мессенджера. Не нужно думать об отдельном сайте и интерфейсе. Также боты — хорошая возможность для новичков в разработке реализовать свой мини-проект. Идея может быть как совершенно фановая — например, создавать стикеры из мемных сообщений друзей, так и быть частью функциональности сервиса — например, платежной системы.

В подборке под катом — семь инструкций по созданию Telegram-ботов с разной функциональностью. Сохраняйте статью в закладки: пригодится как начинающим, так и опытным разработчикам.

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →

Дизайнер не нужен. Правила создания красивых UI

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров20K


Чем проще система — тем она эффективнее. Здесь не нужен художественный вкус или особая одарённость. Красота появляется сама собой, если система спроектирована без лишних деталей. Хороший пример таких интерфейсов дают рабочие инструменты. Молоток, ножовка, электропила. Всё это создано не для красоты, а чтобы идеально ложиться в руку и эффективно выполнять свою функцию. О красоте думают в последнюю очередь, но в итоге дизайн профессиональных инструментов зачастую вызывает искреннее восхищение. Ничего лишнего.

Такие же правила действуют в компьютерных интерфейсах. Чем проще — тем лучше. В этом смысле интересно посмотреть на новое поколение Linux-приложений в современном стиле с адаптацией под смартфоны (на КДПВ некоторые примеры), а также на свежие UI-фреймворки, которые продвигают современный стиль разработки.
Читать дальше →

Самые убедительные свидетельства существования Вселенной до Большого взрыва

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров29K

В начале прошлого века благодаря работам Хаббла и других астрономов стало понятно, что Вселенная, во-первых, не ограничивается Млечным путём (последний – не Галактика, а просто галактика, одна из многих), а во-вторых, все галактики разлетаются друг от друга, как точки на поверхности надуваемого воздушного шарика. Но если шарик надувается, значит в прошлом он был меньше.

В случае со Вселенной это означает, что в прошлом она была меньше, а следовательно, горячее и плотнее. Чем дальше в прошлое, тем всё это сильнее проявляется, и в какой-то момент нашей мысленной экстраполяции назад по шкале времени мы доходим до единой точки — так называемой сингулярности.

В итоге у нас выстраивается логичная цепочка: сингулярность — Большой взрыв — Вселенная началась.

Но с последней трети XX века наблюдения начали выдавать нам больше вопросов, чем ответов. В результате в 1980-х космологи разработали теорию космической инфляции, согласно которой никакой сингулярности не было, а Большому взрыву предшествовало другое, особое состояние Вселенной – инфляционное. В XXI веке мы постепенно начинаем получать доказательства существования Вселенной до Большого взрыва.
Читать дальше →

Как я настолку сделал

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров11K

Как это было тридцать лет назад (пролог)

Сидел я как-то после работы за чаем, с сыном общался и вспоминал, как в младших классах школы делал настолки с элементами тогда ещё неведомого мне понятия RPG — с инвентарём у каждого игрока, накоплением и использованием ресурсов. Простые «ходилки» быстро наскучивали, не давая желаемого погружения, как и первые игры на ZX Spectrum, а до сегодняшнего обилия вариантов было ещё ждать да ждать, поэтому пустующие ниши заполнялись нами самостоятельно.

Это были всё те же «ходилки», когда игроки попеременно бросали кубик и передвигались по маршруту, периодически нарываясь на «пропуск хода» или «иди вперёд/назад на N клеток», но, во-первых, у каждой такой игры старательно рисовался сеттинг, а во-вторых, у каждого игрока была бумажка, на которой нужно было записывать накопленные оружие и предметы, где отмечалось количество жизней и всяческие воздействия на персонажа. Под сеттингом я подразумеваю не только рисовку героев по всему игровому полю, но и некоторые робкие попытки в сюжет. Например, если это была игра по мультику «Чип и Дейл», то герои собирали орехи, попадались в ловушки Толстопуза и его подручных, а по пути им попадались Гаечка, Рокфор («СЫ-Ы-ЫР!»). А если это был суровый мальчуковый боевик про Терминатора — надо было собирать оружие и патроны, ну и так далее...

Читать далее

How to make a robot? What is first

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров12K

I develop robots, and I'm often asked, "How to make a robot?" and "Where do you find information and what resources do you use?"

If you don't know where to start and want to create your own robot, this article is for you. In it, I will try to explain the process and also share the first steps you should take.

Read more

Если ваш фронтендер перестал бояться IE6, покажите ему SmartTV

Время на прочтение7 мин
Количество просмотров23K

В декабре 2021 года под новогодние праздники в приложении Кинопоиска для SmartTV появился раздел с Яндекс Музыкой. Он позволил пользователям на телевизорах открывать новые для себя треки в Моей волне, включать популярные подборки и слушать собственную коллекцию на телевизорах.

При создании этого раздела я впервые столкнулась с миром SmartTV. Не каждый фронтендер встречает в своей практике подобные задачи, даже несмотря на то, что сейчас разработка под ТВ довольно популярна.

Меня зовут Лена и я фронтенд-разработчик Яндекс Музыки. В этой статье я расскажу про особенности работы SmartTV и разработки под них на примере свежей фичи, которую мы назвали Время клипов. Теперь в приложении вы можете посмотреть клипы любимых артистов и открывать для себя новых исполнителей, которые подходят вам по настроению.

Под катом обсудим ключевые отличия работы фронтенда над вебом и SmartTV, поговорим про оптимизацию и вёрстку и посмотрим на фотографии множества пультов (без пакетиков).

Читать далее

К чёрту мотивацию, вам нужна дисциплина

Время на прочтение4 мин
Количество просмотров129K
Если вы желаете что-то сделать, то есть два способа этого достичь.

Первый, более распространённый и в значительной мере неправильный вариант — попытаться мотивировать себя.

Второй, весьма непопулярный, но абсолютно правильный выбор — воспитание дисциплины.

Это одна из ситуаций, когда принятие другой точки зрения немедленно приводит к превосходным результатам. Немногие употребления термина «сдвиг парадигмы» являются, на самом деле, оправданными, но это — одно из них. Эту идею можно сравнить с озарением.

В чём же разница?
Читать дальше →

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

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров65K

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

С тех пор у меня накопилось более 400 решённых задач на LeetCode. Теперь я уверена, что такие платформы как LeetCode, HackerRank или CodeWars, при правильном подходе, способны поднять профессиональные навыки любого разработчика на новый уровень.

Читать далее

Создаем веб-сайт, будто на дворе 1999 год

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров38K

Задумывались ли вы когда-нибудь о том, как жилось веб-разработчикам 20+ лет назад, когда всемирная паутина была явлением совершенно новым, а чтобы войти в неё, приходилось некоторое время слушать специфические звуковые сигналы, JavaScript и CSS воспринимались скорее как диковинка, а не как привычные средства разработки веб-сайтов, а самым популярным браузером был Internet Explorer? Что ж, вероятнее всего, нет... Но, если у вас найдется несколько свободных минут и вы захотите разобраться в очередной бесполезной штуке — эта статья вас не разочарует!

Читать далее

Как тайм-менеджмент помогает успевать жить, учиться и чувствовать себя хорошо

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров6.8K

Привет, меня зовут Василий Беляков, я шесть лет занимаюсь тестированием. В Яндекс Практикуме я — наставник на курсе «Инженер по тестированию». Успел поработать тестировщиком в самых разных компаниях — сейчас занимаюсь QA в Тинькофф. 

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

Читать далее

Maskito – новая коллекция библиотек для маскирования текстовых полей

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров14K

Рады поделиться: выложили нашу разработку Maskito в открытый доступ, и совсем недавно произошел релиз ее первой мажорной версии. Maskito — коллекция библиотек, упрощающих маскирование текстовых полей, с удобным и гибким публичным API.

Maskito содержит разные библиотеки: основная написана на TypeScript без зависимостей, есть опциональный пакет с набором готовых конфигурируемых масок, а еще есть библиотеки для удобного использования Maskito в проектах на React, Angular или Vue. Рассказываю обо всем подробнее.

Читать далее

Беда “войти в айти” или курсы тестировщика отзывы: Как я объявил борьбу IT-инфоцыганам

Время на прочтение11 мин
Количество просмотров41K

1.5 годовое исследование IT‑курсов открыло мне глаза на 3 вещи:

1. Пандемия, господдержка и детский подход абитуриентов к взрослому образованию в значительной степени сломали EdTech.

2. Есть огромный, почти в 10 раз, разрыв в статистике трудоустройства выпускников между худшими и лучшими QA-курсами.

3. У худших по трудоустройству курсов зачастую лучшие отзывы.

При этом IT‑компании, как и прежде, ищут квалифицированных джунов и редко находят.

Читать далее

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров243K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)

Читать далее

Чек-лист фронтендера при разработке рекламного спецпроекта

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.5K

Привет! Меня зовут Наташа, я фронтенд-разработчик в отделе рекламных спецпроектов KTS.

В отделе рекламных спецпроектов мы делаем множество сервисов в мини-приложениях VK, Одноклассниках, Телеграме, создаём лендинги.

Мы делаем как краткосрочные проекты, которые могут длиться 2 недели, так и долгосрочные — сроком работы от года. Изначально я написала этот материал для внутреннего использования, чтобы разработчик на каждом этапе разработки приложения знал, на что обратить внимание. 

Эта статья — подсказка, которая помогает не пропустить важные моменты, если ваша команда разрабатывает, тестирует и выпускает проекты на потоке — то есть много и часто. Возможно, эти советы пригодятся и вам.

Читать далее

Как backend разработчики frontend писали (Vue + TS + Webpack)

Время на прочтение10 мин
Количество просмотров8.8K

У нас в команде есть пару проектов, для которых есть старые frontend. Написаны все они на разных технологиях, но объединяет их одно: нежелание кого-либо туда лезть и что-то править. Команде там кажется страшно, непонятно и неудобно. Любая доработка превращается в головную боль. В очередном проекте нам хотелось не допустить такого развития событий, и, кажется, у нас получилось.

Данная статья предназначена не для полноценных frontend разработчиков, а для членов команд, которым требуется реализовать небольшой frontend не имея должной экспертизы в этом вопросе. И сделать это так, чтобы каждый новый сотрудник без глубокого погружения мог сразу делать небольшие доработки.

Читать далее

Вёрстка писем почти без боли

Время на прочтение8 мин
Количество просмотров24K

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

Верстка писем всегда являлась проблемной задачей, ведь каждая компания хочет чего-то эдакого, а фронтам приходится отбиваться от очередной интересной идеи, объясняя почему ту или иную затею реализовать не получится.

В этой статье хочу поделиться несколькими лайфхаками по верстке писем. Расскажу что стоит учитывать при верстке писем и как обходить ограничения при создании адаптивного письма.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Content Writer, Журналист
Senior