Pull to refresh
-4
@LyohaProtoread⁠-⁠only

User

Send message

«Хранители» видеоигр шаг за шагом сохраняют игровую культуру

Reading time8 min
Views6.1K


Игры — ключ к пониманию современной культуры, однако создание игровых архивов может быть на удивление трудной задачей


Много ли стоит история? В мае мы получили ответ на этот вопрос — по крайней мере для мира видеоигр: $14 000.

Именно такой была победная ставка на прототип отмененной игры, разработанной для приставки Famicom — так в Японии называлась выпущенная в восьмидесятых Nintendo Entertainment System с пиксельной графикой. Игра Indy: The Magical Kid была основана на серии японских книг «Выбери себе приключение». На игру вышло несколько предварительных обзоров в журналах, но в конечном итоге от нее отказались, и вновь она появилась лишь на аукционе — заметное событие для сообщества хранителей истории видеоигр.

Но появилась проблема. Одним из лидеров сообщества была группа по сохранению истории Nintendo — Forest of Illusion; они надеялись заполучить игру за собранные общими усилиями 7 000 $, но победная ставка неожиданно была сделана частным коллекционером, который не собирался сохранять Indy для потомков.

Соучредитель Forest of Illusion, известный под псевдонимом togemet2 (он просил не использовать его настоящее имя, поскольку в работе по сохранению игр для истории иногда приходится слегка преступать закон — из-за авторских прав и других проблем), рассказал журналу OneZero, что утрата игры стала для них неожиданностью. (Те, кто занимается изучением истории и созданием архивов, не обязательно стремятся продавать или хотя бы распространять сохраненные ими версии игр в Интернете, однако они создают несанкционированную репродукцию, что часто технически нарушает закон об авторском праве.)

Переведено в Alconost

CI/CD с помощью AWS и Bamboo

Reading time9 min
Views8.1K
Наша команда состоит из одного разработчика и одного DevOps инженера. Я отвечаю за разворачивание приложения в кластере Amazon ECS. В качестве CI/CD сервера я использую Bamboo. В этой статье я подробно расскажу, как я осуществляю разворачивание приложения в dev-среде.


Читать дальше →

20 вопросов, которые стоит задать IT-компании, прежде чем сменить работу

Reading time4 min
Views68K
Если бы меня попросили дать один универсальный совет всем, кто ищет работу в IT, я бы сказал: не стесняйтесь задавать побольше вопросов. Мало приятного в том, чтобы через месяц осознать, что новая компания/должность — совсем не то, что вы искали. А если это вакансия с релокацией, цена ошибки возрастает в разы.

Узнав как можно больше о компании и должности, вы уменьшаете риск оказаться «в неправильном месте». Вместе с командой экспертов по поиску работы за рубежом из Relocate.me, мы собрали 20 вопросов, которые стоит задать, прежде чем пойти на работу в новую компанию.


Читать дальше →

Как вырасти из разработчика в тимлида и жить с этим дальше

Reading time5 min
Views8.1K

Меня зовут Екатерина, я тимлид в компании МойСклад.


В прошлом году я выступала на конференции Saint TeamLead Conf 2018. Главное из своего доклада собрала в эту статью, само же выступление можно посмотреть по ссылке.


Читать дальше →

10 принципов самодокументируемого кода

Reading time6 min
Views42K
Привет! Сегодня я хочу поделиться советами по написанию совершенного понятного кода, взятые из книги Питера Гудлифа «Ремесло программиста // Практика написания хорошего кода».

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

Введение в реверсинг с нуля, с использованием IDA PRO

Reading time5 min
Views26K
Привет, Хабравчане!

Для тех, кто не знает, в своё время я взял на себя ответственность перевести испанский курс Introduccion Al Reversing Con Ida Pro Desde Cero под авторством Ricardo Narvaja на русский язык. Прошло 2,5 года и теперь я могу смело сказать, что курс переведен на русский язык. На данный момент это 67 частей. Но это ещё не всё. В конце 67 части, мы можем увидеть, что нас ждёт продолжение. Сейчас же я бы хотел рассказать, про то как я переводил курс, с чем столкнулся при переводе, что узнал и как всё это было.
Читать дальше →

Как id Software создавала Wolfenstein 3D на основе технологий из Commander Keen

Reading time7 min
Views29K
image

Данная статья является фрагментом книги Game Engine Black Book: Wolfenstein 3D — подробного исследования, посвящённого истории, коду и разработке оказавшего огромное влияние на игровую отрасль шутера от первого лица про уничтожение нацистов.

В этой главе раскрываются истоки игры и рассказывается о том, как она была построена на фундаменте успеха и технологий игры Commander Keen, которая сама была построена из останков неудачной попытки продать Nintendo порт Mario 3 для PC.

Полную книгу, написанную автором и программистом Фабьеном Сангларом, можно приобрести в бумажном или цифровом виде.

В 1990 году небольшая компания Softdisk из Шривпорта (штат Луизиана) успешно вела дела на рынке shareware.

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

Они думали, что им хватает умений увеличить масштаб и они хотели это доказать. Они создали новый способ программирования сайд-скроллинга и назвали эту технологию адаптивным обновлением тайлов (adaptive tile refresh). Она позволяла выполнять аппаратный скроллинг (прокрутку экрана) на PC, благодаря чему компьютер мог соперничать с NES. В начале 1990 годов они безостановочно работали по выходным над воссозданием Super Mario 3 на PC, чтобы продемонстрировать свои навыки Nintendo.
Читать дальше →

Функциональное программирование для всех

Reading time33 min
Views354K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

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

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →

Magento 2: импорт продуктов прямо в базу

Reading time11 min
Views4.1K

В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматриваю альтернативный способ импорта продукта — прямой записью в базу, в обход стандартных механизмов Magento 2 (модели, фабрики, репозитории). Последовательность шагов, обеспечивающих импорт продуктов, может быть адаптирована под любой язык программирования, способный работать с MySQL.


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


image

Читать дальше →

Как реализовать деплой с GitHub на продакшн сервер, использовав Webhook

Reading time5 min
Views35K


У меня давно вошло в привычку создавать репозитории на GitHub. Это куда эффективнее, чем держать все на Google Drive или, того хуже, на жестком диске. Но здесь сразу появляется вопрос: как выполнить деплой на рабочий сервер?

Большинство поисковых запросов выводили меня на Jenkins и другие средства непрерывного развертывания. Но мне хотелось найти иное решение. Так я вышел на бесплатный сервис Webhook.
Читать дальше →

DevOps LEGO: как мы пайплайн на кубики раскладывали

Reading time7 min
Views9K
Поставили мы как-то заказчику на один объект систему электронного документооборота. А потом на другой объект. И еще на один. И на четвертый, и на пятый. Увлеклись настолько, что дошли до 10 распределенных объектов. Мощно получилось… особенно когда мы дошли до поставки изменений. В рамках поставки на продуктивный контур на 5 сценариев системы тестирования в итоге потребовалось 10 часов и 6-7 сотрудников. Такие затраты вынуждали нас выполнять поставки как можно реже. Через три года эксплуатации мы не выдержали и решили приправить проект щепоткой DevOps.



Теперь все тестирование проходит за 3 часа, и в нем участвует 3 человека: инженер и два тестировщика. Улучшения четко выражаются в цифрах и ведут к сокращению всеми любимого TTM. По нашему опыту, заказчиков, которым может помочь DevOps, гораздо больше, чем тех, кто о нем вообще знает. Поэтому, чтобы сделать DevOps ближе к людям, мы разработали простой конструктор, о котором расскажем подробнее в этом посте.
Читать дальше →

Как Doom попал на Super Nintendo

Reading time10 min
Views13K
image

Эта статья — перевод главы книги Game Engine Black Book: DOOM, подробного анализа внутреннего устройства одной из самых влиятельных игр id Software. В этой главе рассказывается о сложном процессе портирования DOOM на Super Nintendo и о ключевой роли, которую сыграл в нём разработчик игры Star Fox студии Argonaut Games.

Книга написана автором и программистом Фабьеном Сангларом, а полный её текст теперь можно приобрести в бумажном и цифровом виде.

Super Nintendo Entertainment System была выпущена в Японии в 1990 году, а на следующий год появилась в США и Европе.

Она стала 16-битным потомком 8-битной NES. В Японии Super Famicom (FAMIly COMputer) приобрела мгновенный успех, и вся первоначальная партия в 300 тысяч устройств была раскуплена за считанные часы. Ажиотаж был так силён, что правительство попросило Nintendo на будущее выпускать свои консоли по выходным, чтобы избежать волнений.

Для обеспечения высокого качества игр консоли Nintendo создала безжалостную систему контроля. Издатели имели право выпускать всего по пять игр в год. Чтобы это правило действовало, Nintendo оставила право производства картриджей только за собой; издатели были вынуждены покупать их у Nintendo. Чтобы все играли по правилам (а также для защиты игр от копирования), перед запуском игры консоль SNES проверяла наличие чипа CIC. Это был мощный защитный механизм, который удалось взломать только к концу срока жизни SNES.
Читать дальше →

Топ ошибок со стороны разработки при работе с PostgreSQL

Reading time21 min
Views52K
HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничего удивительного. В крупных компаниях тоже нужны БД, и даже при отлаженных процессах все равно случаются ошибки, и базы падают. Неважно, какого размера компания — ошибки все равно бывают, БД периодически обваливаются, рушатся.



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


О спикере: Алексей Лесовский (lesovsky) начинал системным администратором Linux. От задач виртуализации и систем мониторинга постепенно пришел к PostgreSQL. Сейчас PostgreSQL DBA в Data Egret — консалтинговой компании, которая работает с большим количеством разных проектов и видит много примеров повторяющихся проблем. Это ссылка на презентацию доклада на HighLoad++ 2018.
Читать дальше →

Руководство для чайников: создание цепочек DevOps с помощью инструментов с открытым исходным кодом

Reading time6 min
Views37K


Создание первой цепочки DevOps за пять шагов для новичков.


DevOps стал панацеей для слишком медленных, разобщенных и прочих проблемных процессов разработки. Но нужны минимальные познания в DevOps. Здесь будет рассмотрены такие понятия, как цепочка DevOps и как создать ее за пять шагов. Это не полное руководство, а только “рыба”, которую можно расширять. Начнем с истории.


Мое знакомство с DevOps


Когда-то я работал с облаками в Citi Group и разрабатывал веб-приложение IaaS, чтобы управлять облачной инфраструктурой Citi, но мне всегда было интересно, как можно оптимизировать цепочку разработки и улучшить культуру среди разработчиков. Грег Лавендер, наш техдиректор по облачной архитектуре и инфраструктуре, посоветовал мне книгу Проект «Феникс». Она прекрасно объясняет принципы DevOps, при этом читается, как роман.

Читать дальше →

Превращаем Pocket в новостную ленту

Reading time4 min
Views8.5K
Недавно задумался над созданием единой новостной ленты из всего, что я читаю. Видел варианты со сведением всего счастья в телеграмм, но мне больше приглянулся Pocket.

Почему? Этот парень выкачивает всё в удобочитаемом формате и отлично работает на всех девайсах, включая читалку.

Всем, кому интересно — добро пожаловать под кат.
Читать дальше →

Комикс «Паять просто» в обновлённом варианте (2019)

Reading time1 min
Views38K
image

Всем добрый день. Одним далёким днём (летним или зимним уже и не упомнить) набрёл я на статью от atarity, где в красках (во всех смыслах) было рассказано о том, как легко и просто можно научиться паять (ссылку на комикс прилагаю).
Читать дальше →

Автор Dwarf Fortress Тарн Адамс рассказывает о разработке игры

Reading time10 min
Views19K
image

Одним из лучших способов применения мощных процессоров для развлечений долгое время была Dwarf Fortress — игра, в которой весь мир состоит из символов ASCII, и которая с радостью съест гигабайт памяти и большую долю процессорного времени.

Но в отличие от некоторых других игр, в случае DF игрок чувствует, что ей действительно нужно всё то, что она требует. Её подробные вычисления создают целый мир со зданиями, городами, торговцами, реками, вулканами, монстрами и, разумеется, гномами. Если бы один человек создал всё это, то это было бы потрясающим достижением; Dwarf Fortress — программа, создающая все эти объекты самостоятельно.

Автор игры Тарн Адамс согласился ответить на наши вопросы о своём творении, которое, несмотря на существование множества имитаций, до сих пор остаётся совершенно уникальной игрой.
Читать дальше →

Понимание джойнов сломано. Продолжение. Попытка альтернативной визуализации

Reading time2 min
Views92K
Многие из вас читали предыдущую статью про то, как неправильная визуализация для объяснения работы JOIN-ов в некоторых случаях может запутать. Круги Венна не могут полноценно проиллюстрировать некоторые моменты, например, если значения в таблице повторяются.

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


Все желающие приглашаются под кат

Читать дальше →

Указатели в Python: в чём суть?

Reading time15 min
Views167K

Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам управления памятью. А есть ли указатели в Python, можно их как-то эмулировать?

Указатели широко применяются в С и С++. По сути, это переменные, которые содержат адреса памяти, по которым находятся другие переменные. Чтобы освежить знания об указателях, почитайте этот обзор.

Благодаря этой статье вы лучше поймёте модель объектов в Python и узнаете, почему в этом языке на самом деле не существуют указатели. На случай, если вам понадобится сымитировать поведение указателей, вы научитесь эмулировать их без сопутствующего кошмара управления памятью.
Читать дальше →

DevOops вчера и сегодня

Reading time6 min
Views12K
Сегодня мы поговорим немного о настоящем, будущем и о программе конференции DevOops 2019.  DevOps меняется с каждым днём. Вы помните 2004 год? У нас есть спикер, который работал с облаками в то время, когда и термина такого не было. Amazon Web Services запустили в 2006 году. Где-то в то же время начали появляться первые упоминания «DevOps». С тех пор прошла целая жизнь.

Недавно снова вспоминали «верните мой 2007». Представьте себе этот мир без вездесущих виртуалок на Amazon, без GitHub (он появился только в 2008), без уютных и безопасных докеров. Вспомните настройку iptables, пакетные менеджеры GNU/Linux, ручную пересборку модулей ядра, бессонные ночи. Всё ещё хотите туда? Вот такой был бы ваш 2019, если бы не ураганный прогресс этих лет.



Менялись технологии и компании. Приведу пару примеров. Например, все мы увидели чудесное преображение Microsoft – от Баллмеровского «Linux is Cancer» в 2001 году до повсеместного перехода на open source, спасения GitHub в 2018 и планов летом 2019 года представить ядро Linux как часть поставки Windows. Вместе со всей этой движухой менялись и предпочтения инженеров относительно получаемой информации.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity