Pull to refresh
0
0
Илья Ломакин @ilay

User

Send message

Как инди-игре обогнать Angry Birds?

Reading time6 min
Views22K
image

После того, как телефоны стали умнее многих своих владельцев, селфи получили широкое распространение. Делать свои автопортреты в любом, даже самом неподходящем для этого месте, стало любимым занятием пользователей социальных сетей и, прежде всего, Instagram. Тогда мне и пришла идея сделать игру на основе этого тренда. Я и мои коллеги из студии давно занимались разработкой игр на заказ. Был период, когда команда чувствовала себя сильно уставшей от одного из долгосрочных проектов. Я решил отвлечь разработчиков и предложил взять небольшой тайм-аут, чтобы поработать над своим инди-продуктом без заказчиков и издателей — все сделать своими силами.
Читать дальше →
Total votes 63: ↑47 and ↓16+31
Comments90

Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие

Reading time3 min
Views138K

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

Total votes 72: ↑72 and ↓0+72
Comments46

История хранилища картинок Avito

Reading time6 min
Views29K


А что, если вам дадут задачу организовать хранение и раздачу статических файлов? Наверняка многие подумают, что тут все просто. А если таких файлов миллиард, несколько сотен терабайт и запросов к ним несколько миллиардов в сутки? Также много разных систем будут отправлять на хранение файлы разных форматов и размеров. Этот квест уже не кажется таким простым. Под катом история о том, как мы решили такую задачу, какие сложности при этом возникли, и как мы их преодолели.

Avito развивался стремительно с первых дней. Например, скорость загрузки новых картинок для объявлений выросла в первые годы в несколько раз. Это требовало от нас на начальном этапе решать вопросы, связанные с архитектурой, максимально оперативно и эффективно, в условиях ограниченных ресурсов. Кроме того, мы всегда отдавали предпочтение простым решениям, требующим мало ресурсов на поддержку. Принцип KISS («Keep it short and simple») — это до сих пор одна из ценностей нашей компании.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments70

Сравнение структур разделов GPT и MBR

Reading time11 min
Views671K
Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.

В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.

В следующих главах выделяются различия между стилями разделов GPT и MBR, в том числе приводятся инструкции, как осуществить преобразование между двумя стилями, и советы, какой из них выбрать.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments38

Лекции Технотрека. Проектирование СУБД (осень 2016)

Reading time4 min
Views30K

image


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

Total votes 43: ↑40 and ↓3+37
Comments8

Стандартные настройки — самые бестолковые. Почему новый быстрый накопитель даёт сбой и «не едет» после апгрейда?

Reading time9 min
Views49K
Привет, %username%! Ты наверняка давно знаешь, почему в UEFI нужно предпочесть AHCI, в чём подвох Secure Boot и почему MBR намного хуже, чем GPT. Если нет — самое время разобраться в вопросе, как выжать максимум скорости и стабильности из накопителя программными средствами.


Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments47

Объяснение блокчейна для веб-разработчиков

Reading time12 min
Views164K

Предисловие переводчика


Предлагаю читателям Хабрахабра перевод статьи «The Blockchain Explained to Web Developers, Part 1: The Theory» за авторством Francois Zaninotto. Эту статью я нашел в блоге компании Marmelab. Статья представляет собой отличное введение в технологию блокчейн «с нуля», но может оказаться интересной и для тех, кто уже «в теме». Она касается не только того, как работает блокчейн, но и перспектив его развития, а также с чего начать, если вы хотите создать свой проект, использующий блокчейн.

Объяснение блокчейна для веб-разработчиков, Часть первая: Теория


Блокчейн – это новая популярная технология. Даже если вы не слышали о ней, вы, вероятнее всего, знаете о Bitcoin. Блокчейн — это одна из фундаментальных технологий на которых основан Bitcoin. Эксперты говорят, что блокчейн вызовет революцию схожую с той, которую некогда вызвал Интернет. Но что это на самом деле и как его можно использовать для создания приложений? Эта статья является первой в серии из трех, рассказывающей о феномене Блокчейна. Мы обсудим теорию, покажем фактический код и поделимся своим опытом, основанным на реальном проекте.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments50

Вас атакует искусственный интеллект

Reading time13 min
Views27K


В конце прошлого года “искусственный интеллект” многократно упоминали в итогах и прогнозах IT-индустрии. И в нашу компанию, которая занимается информационной безопасностью, всё чаще стали присылать из различных изданий вопросы про перспективы AI. Но эксперты по безопасности не любят комментировать эту тему: возможно, их отталкивает именно эффект “жёлтой прессы”. Легко заметить, как возникают такие вопросы: после очередной новости типа “Искусственный интеллект научился рисовать как Ван Гог” журналисты хватаются за горячую технологию и идут опрашивать по ней всех подряд – а чего может достичь AI в животноводстве? А в сфере образования? Где-то в этом списке автоматически оказывается и безопасность, без особого понимания её специфики.

Кроме того, журналистика, щедро подкормленная IT-индустрией, обожает рассказывать о достижениях этой индустрии в рекламно-восхищенных тонах. Именно поэтому СМИ прожужжали вам все уши о победе машинного интеллекта в игре Го (хотя от этого нет никакой пользы в реальной жизни), но не особенно жужжали о том, что в прошлом году погибло уже как минимум два человека, которые доверили свою жизнь автопилоту автомобиля Tesla.

В этой статье я собрал некоторые наблюдения об искусственном интеллекте с эволюционной точки зрения. Это необычный подход, но как мне кажется, именно он лучше всего позволяет оценить роль AI-агентов в безопасности, а также безопасность AI в других сферах.
Читать дальше →
Total votes 41: ↑32 and ↓9+23
Comments46

VPN за 60 секунд

Reading time2 min
Views67K
Если Вы предпочитаете простые и красивые решения, или Вам нравится всё, что попадает под категорию It Just Works, то эта статья для Вас. Для запуска шифрованного подключения достаточно иметь на своем компьютере SSH-клиент, установить sshuttle (об этом чуть позже) и приобрести VPS с любым тарифным планом в интересующей Вас стране. На удалённой VPS-машине в большинстве случаев абсолютно ничего настраивать не нужно (достаточно, чтобы были установлены пакеты python и сервер SSH).


Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments37

Как работают ИТ-специалисты. Константин Осипов, разработчик и основатель проекта Tarantool

Reading time6 min
Views15K
image

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

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

Сегодня наш гость — Константин Осипов, разработчик, основатель и руководитель проекта Tarantool. Константин рассказал, как ему удается совмещать пост разработчика ПО с должностью менеджера. Он также поделился своим списком литературы.
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments9

Какой бывает HTML5-стриминг (и почему mp4-стриминга не существует)

Reading time6 min
Views54K
image

Нередко клиенты спрашивают, умеет ли наш сервер «mp4-стриминг в HTML5». В 99% случаев спрашивающий не понимает о чём говорит. В этом сложно винить клиентов: из-за путаницы с терминами, технической сложности и большого разнообразия вариантов стриминга запутаться очень легко.

В этой статье мы расскажем, какой бывает HTML5-стриминг, какие варианты хорошие, и почему, чёрт побери, нельзя говорить «mp4-стриминг».
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments54

Лекции Техносферы. Подготовительный курс «Алгоритмы и структуры данных» (весна 2016)

Reading time3 min
Views39K


Цель этого курса — познакомить слушателей с основными алгоритмами, применяемыми для разработки программного обеспечения. Вы научитесь выбирать подходящие структуры данных и алгоритмы для реализации возникающих задач, и узнаете, как использовать языки С/С++ для реализации алгоритмов.

Курс ведет Сергей Бабичев, доцент кафедр информатики и вычислительной математики, а также теоретической и прикладной информатики в МФТИ. Под катом вас ждет восемь лекций:

  • Лекция 1. «Введение. Исполнители. Абстракции интерфейсов. Рекурсия»
  • Лекция 2. «Жадные алгоритмы»
  • Лекция 3. «Сортировки»
  • Лекция 4. «Поиск. Списки»
  • Лекция 5. «Деревья»
  • Лекция 6. «Хеш-таблицы»
  • Лекция 7. «Динамическое программирование»
  • Лекция 8. «Алгоритмы на графах»
Total votes 52: ↑52 and ↓0+52
Comments7

Истории старой мейлрушечки

Reading time9 min
Views36K


Горящие серверы, катастрофическое падение сервисов, героическое спасение портала с помощью жены, оставшейся у компьютера. Так мог начинаться фантастический технотриллер, но на самом деле так начиналась история российского интернета, частью которого мы стали.

Сегодня в честь 18-летия компании мы впервые расскажем о реальной истории Mail.Ru Group. Впервые за годы жизни поделимся тем, что раньше было на уровне мифов и легенд даже внутри самой компании. Мы разговорили людей, проработавших в компании много лет и непосредственно участвовавших во всех событиях.
Total votes 148: ↑134 and ↓14+120
Comments107

YT: зачем Яндексу своя MapReduce-система и как она устроена

Reading time14 min
Views85K
В течение последних шести лет в Яндексе идет работа над системой под кодовым называнием YT (по-русски мы называем её «Ыть»). Это основная платформа для хранения и обработки больших объемов данных — мы уже о ней рассказывали на YaC 2013. С тех пор она продолжала развиваться. Сегодня я расскажу о том, с чего началась разработка YT, что нового в ней появилось и что ещё мы планируем сделать в ближайшее время.



Кстати, 15 октября в офисе Яндекса мы расскажем не только о YT, но и о других наших инфраструктурных технологиях: Media Storage, Yandex Query Language и ClickHouse. На встрече мы раскроем тайну — расскажем, сколько же в Яндексе MapReduce-систем.

Какую задачу мы решаем?


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

Читать дальше →
Total votes 108: ↑106 and ↓2+104
Comments45

Почему я отказался от Rust

Reading time6 min
Views66K


Когда я узнал, что появился новый язык программирования системного уровня, с производительностью как у С++ и без сборщика мусора, я сразу заинтересовался. Мне нравится решать задачи с помощью языков со сборщиками мусора, вроде C# или JavaScript, но меня постоянно терзала мысль о сырой и грубой мощи С++. Но в С++ так много способов выстрелить себе в ногу и других хорошо известных проблем, что я обычно не решался.


Так что я влез в Rust. И, блин, влез глубоко.


Язык Rust все еще довольно молод, поэтому его экосистема пока находится в стадии начального развития. В некоторых случаях, например, в случае с вебсокетами или сериализацией есть хорошие и популярных решения. В других областях у Rust не все так хорошо. Одна из таких областей это OpenGL GUI, вроде CEGUI или nanogui. Я хотел помочь сообществу и языку, поэтому взялся за портирования nanogui на Rust, с кодом на чистом Rust, без связок с С/C++. Проект можно найти тут.


Обычно, знакомство с Rust начинается с борьбы с идеей borrow-checker. Как и у других программистов, у меня тоже был период, когда я не мог понять, как решить ту или иную проблему. К счастью, есть классное сообщество в #rust-beginners. Его обитатели помогали мне и отвечали на мои дурацкие вопросы. Мне понадобилось несколько недель на то, чтобы почувствовать себя более-менее комфортно в Rust.


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

Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments119

Docker. Зачем и как

Reading time6 min
Views505K
Есть множество прекрасных публикаций для тех, кто уже пользуется docker-ом. Есть хорошие статьи для тех, кто хочет этому научиться. Я пишу для тех, кто не только не знает, что такое docker, но и не уверен стоит ли ему это знать.

Я сознательно опускаю некоторые технические подробности, а кое где допускаю упрощения. Если вы увидите, что docker – то, что вам нужно, вы легко найдете более полную и точную информацию в других статьях.
Читать дальше
Total votes 62: ↑60 and ↓2+58
Comments159

Tower Defence на движке Unity — Часть 2

Reading time4 min
Views17K
Всем привет! Это вторая часть урока для новичков о том, как создать маленькую игру жанра Tower Defence на движке Unity. Мы остановились на создании скрипта для спауна крипов. Если интересно, прошу под кат.

Total votes 25: ↑21 and ↓4+17
Comments11

PHP: неправильный путь

Reading time18 min
Views71K
image

В мире PHP-программирования существует набор трендов. Некоторые люди активно продвигают их (в книгах и на сайтах) как «современный PHP», а другие подходы выставляют как устаревшие, глупые или просто неверные.

Похоже, все эти люди без устали стараются заставить каждого программировать так, как они считают нужным. Эта статья написана, чтобы поделиться прагматичным взглядом на PHP-программирование. Взглядом, продиктованным опытом и практическими последствиями, а не популярными тенденциями, теориями или академическими догмами. Материалы, представленные на сайте PHP — The Wrong Way, будут обновляться по мере появления новой информации. Приглашаем всех поучаствовать в этом.
Читать дальше →
Total votes 104: ↑83 and ↓21+62
Comments368

Что такое программная инженерия. Лекция в Яндексе

Reading time39 min
Views65K
Кандидат технических наук МИЭМ, заместитель руководителя департамента программной инженерии факультета компьютерных наук НИУ ВШЭ и заместитель завкафедрой системного программирования ИСП РАН Ефим Гринкруг даёт свой ответ на вопрос о том, что такое программная инженерия.

Этому термину уже почти 50 лет — впервые его начали использовать в 1968 году. Дело в том, что именно тогда методы классической инженерии — например разбиение на отдельные компоненты — стали всерьёз применяться в создании софта. Но почему они не применялись раньше, и какой новый смысл приобрело выражение «программная инженерия» в последние десятилетия?



Под катом — подробная расшифровка и слайды.
Читать дальше →
Total votes 74: ↑67 and ↓7+60
Comments10

Как мы хакатон про Интернет вещей делали

Reading time10 min
Views10K
Привет, Geektimes!

Этим полукреслом мастер Гамбс начинает новую партию мебели...
И. Ильф, Е. Петров, «Двенадцать стульев»

Совсем недавно мы — Mail.Ru Group, Intel и Unwired Devices — делали хакатон по Интернету вещей. В принципе, это могло бы быть рядовым событием — хакатоны по IoT сейчас не делает только ленивый. Но мы решили придумать формат, который выгодно отличал бы нас от других подобных мероприятий.

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


Ничтожная часть выпитого за два дня кофе

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

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments31

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity