Новости


[Перевод] Выпуск Rust 1.18

Команда Rust рада представить выпуск Rust 1.18.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода. Если у вас установлена предыдущая версия Rust, то для обновления достаточно выполнить: $ rustup update stable Если у вас ещё не установлен Rust, вы можете установить rustup c соответствующей страницы нашего веб-сайта и ознакомиться с подробным примечанием к выпуску 1.18.0 на GitHub. Читать дальше →

[Из песочницы] История создания Виртуальной Файловой Системы Git (GVFS, Git Virtual File System)

Привет Хабр! Предлагаю вашему вниманию перевод статьи Git Virtual File System Design History. Продолжение следует… Виртуальная файловая система Git (Git Virtual File System, далее GVFS) была создана для решения двух основных задач: Скачивать только файлы необходимые пользователю Локальные команды Git должны брать в расчет не всю рабочую директорию (working directory), а только файлы, с которыми работает пользователь В нашем случае основной сценарий использования GVFS — это репозиторий Windows с его 3 миллионами файлов в рабочей директории в сумме занимающих 270 Гбайт. Читать дальше →

learnopengl. Урок 2.1 — Цвета

Перевод очередного урока с сайта learnopengl. com. Недавно обнаружил на русском Уроки по OpenGL с сайта OGLDev, но некоторые из них требуют 4 версию opengl, а примеры кода слишком зависимы от предыдущих уроков и объектно-ориентированы.

[Из песочницы] Нестандартный способ обучения новому языку программирования (перевод статьи Sahil Dua)

На данный момент существует более 500 различных языков программирования. Следовательно, вполне нормально взять и начать учить новый язык прямо сейчас. Например, вы знаете C++ и Java, но на работе требуется Python, или наоборот.

[Из песочницы] 7 препятствий для внедрения гибких методологий в больших организациях

Я работаю с большими компаниями, которые пытаются применить Agile, начиная со Scrum. Хотя каждая организация находится в своем секторе, использует разные технологии и имеет свою культуру управления, у всех была одна общая болезнь — своего рода «гигантизм».

[Перевод] Передача намерений

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

[Перевод] 5 курсов, которые помогут начать свой путь в дизайне игр

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

[Перевод] 5 советов по созданию впечатляющей моушн-графики

Светлана Шаповалова, редактор «Нетологии», перевела статью Кары Эберле о том, как создавать эффектную и качественную анимационную графику и что для этого нужно. Моушн-графика соединяет видео, аудио и текст в цельный анимационный сюжет.

[Из песочницы] Знакомство с React Loadable

Привет, Хабр. Представляю вам свободный перевод статьи Джеймса Кайла «Introducing React Loadable». В ней Джеймс рассказывает, что такое компонент-ориентированный подход к разделению кода и представляет разработанную им библиотеку Loadable — инструмент, позволяющий реализовать этот подход в React.

[Из песочницы] CSS-анимация подождет

Перевод статьи Making Animations Wait от Donovan Hutchinson. Недавно я запустил курс по CSS-анимации для дизайнеров и разработчиков, которые хотят усовершенствовать свои навыки в веб-анимации.

Особенности локализации игр на иностранные рынки

Под катом вы найдете лонгрид на тему локализации игр, подготовленный на базе открытой лекции Алексея Медова — ведущего редактора Inlingo Game Localization Studio. Лекция проходила в рамках нашей образовательной программы «Менеджмент игровых интернет-проектов» в ВШБИ.

Google начал применять нейросети при переводе с русского языка.

Google начал применять нейросети при переводе с русского языка. Компания отмечает, что технология позволяет улучшить качество перевода. «Перевод при использовании нейросетей гораздо лучше, чем наши предыдущие технологии, потому что так мы переводим целые предложения за один раз, а не отдельные куски предложений.

Го грати українською: як відомі ігри локалізують для України

Українські розробники випустили чимало хороших ігор, знаних у світі. Восени минулого року вийшло продовження легендарної гри «Казаки», а серію ігор Metro та S. T. A. L. K. E. R. нещодавно хвалив один з найкрутіших геймдизайнерів світу Тод Говард (він робив Skyrim та Fallout 3, 4).

[Перевод] VectorDrawable — часть третья

Ранее в этой серии статей мы рассмотрели реализацию VectorDrawable, изпользуя данные под тегом path в SVG. А после применили несколько простых анимаций к отдельным элементам path. Romain Guy написал приложение, которое рисует маршруты.

[Перевод] От нулевого опыта к 6-значной зарплате: пьеса в 8 действиях

Действие первое: Печальная предыстория Это началось летом 2015 года у черта на куличиках. В то время я стажировался на должность консультанта по эргономике в сельскохозяйственной компании (иными словами, заполнял всякие заумные анкеты).

[Перевод] Восхождение дата-инженера

Я присоединился к команде Facebook в 2011 году в качестве инженера бизнес-аналитика. К моменту, когда я покинул команду в 2013 году я уже был дата-инженером. Меня не продвигали или назначали на эту новую позицию.

[Из песочницы] Введение в Akka.NET

Что такое Akka? Масштабируемая, распределенная обработка транзакций в реальном времени Мы верим, что написание корректных, параллельных, отказоустойчивых и масштабируемых приложений это сложно.

[Перевод] Интуитивный дизайн против вирусного

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

Разработка игры Frogger для компьютера Vectrex

Какое-то время назад я переводил рассказ Chris Salomon о его разработке игры Frogger для компьютера Vectrex. Тот рассказ, написанный им в 1998 году, является, на мой взгляд, очень интересным документом, позволяющим проникнуться как духом этой необычной платформы, так и спецификой разработки на ассемблере вообще.

Marionette.js исполнилось 5 лет

11 декабря 2016 Marionette. js исполняется 5 лет. Этот проект постепенно рос все эти годы. Его развивали сотни контрибьюторов, было создано сотни коммитов и десятки сотен проектов, которые используют Marionette.

Вкладываясь в точки, а не линии

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

[Из песочницы] Использование блоков в iOS. Часть 1

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

[Из песочницы] Романтические отношения в (неромантических) играх: линейные сюжеты

Перед вами перевод статьи Александра Фрида «Writing Romance in (non-Romance) Games: Linear Romances» (первой из двух). Автор — геймдизайнер, пишет романы и комиксы. К слову, сейчас он работает над новеллизацией «Изгоя-один», а в его послужном списке — должность ведущего сценариста в BioWare (проекты Star Wars: The Old Republic и Shadow Realms).

[Перевод] Rust: for и итераторы

(предыдущая статья) В данной статье мы обсудим for циклы, а так же родственные понятия итераторов и «итерируемых объектов». В зависимости от вашего предыдущего опыта с другими языками программирования данные концепции могут показаться очень знакомыми в плане синтаксиса и семантики, или же совершенно новыми и непонятными.

[Перевод] Rust: & и ref в паттернах

Как вам, думаю, известно, Раст входит в число языков реализующих сопоставление с образцом (pattern matching). В случае если вам незнаком данный термин, вы можете думать о нём как об обобщёном switch выражении в котором мы сравниваем объекты не только по значению, но и по структуре: match hashmap.

[Перевод] Мифы и легенды о переполнении целых чисел в Rust

Примитивные целочисленные типы, поддерживаемые процессорами, являются ограниченным приближением к бесконечному набору целых чисел, которыми мы привыкли оперировать в реальной жизни. Это ограниченное представление не всегда совпадает с "реальными" числами, например 255_u8 + 1 == 0.

[Перевод] Функциональная анимация в UX дизайне. Что делает ее эффективной?

Предлагаю читателям «Хабрахабра» перевод статьи «Functional Animation In UX Design: What Makes a Good Transition?» за авторством Nick Babich. Функциональная анимация – это аккуратная анимация, которая имеет четкую, логическую цель.

Фейковая Новела: новый опыт и работа над ошибками

Привет, Хабр! В этой статье я расскажу о результатах публикации одной визуальной новеллы и поведаю о второй, при разработке которой я попытался учесть полученный опыт… Перед интенсивной разработкой небольшой игры (aka хакатоном) важно решить чего вы хотите: программировать, повеселиться или создать готовый продукт? У меня есть друг, который очень хочет сделать игру, но раз за разом он начинает с создания графического движка, на базе libgdx.

Фейковая Новелла: новый опыт и работа над ошибками

Привет, Хабр! В этой статье я расскажу о результатах публикации одной визуальной новеллы и поведаю о второй, при разработке которой я попытался учесть полученный опыт… Перед интенсивной разработкой небольшой игры (aka хакатоном) важно решить чего вы хотите: программировать, повеселиться или создать готовый продукт? У меня есть друг, который очень хочет сделать игру, но раз за разом он начинает с создания графического движка, на базе libgdx.

[Из песочницы] Бесконечная прокрутка против разбивки на страницы

Ник Бабич разработчик, теч энтузиаст и просто влюбленный в UX/UI специалист написал заметку в блоге UX Planet про бесконечную прокрутку, мы сделали адаптивный перевод материала специально для читателей Хабрахабр.

[Перевод] Мультиплеер в быстрых играх (Часть IV: Хэдшот! Путешествуем во времени)

Части I, II (синглплеер с авторитарным сервером) Часть III (Появление врага) Часть IV (Хэдшот!) Как повесить идеальный хэдшот если у тебя пинг 2 секунды? Вы узнаете в этой статье. Текущий алгоритм работы мультиплеера Сервер получает команды с клиентов и времена их отправления Сервер обновляет состояние мира Сервер с некоторой частотой отправляет свое состояние всем клиентам Клиент отправляет команды и локально воспроизводит их результат Клиент получает обновленные состояния мира и: Применяет состояние от сервера Заново применяет все свои команды, которые сервер не успел применить.

[Из песочницы] Настройка Laravel relationships — подсчет комментариев (вольный перевод)

Представляю вам вольный перевод статьи "Tweaking Eloquent relations – how to get hasMany relation count efficiently?" с сайта softonsofa. com. Работая с отношениями моделей, вы вероятнее всего хотели бы подсчитать количество полученных элементов (например, комментарии или лайки).

[Перевод] VectorDrawable — часть вторая

В предыдущей статье мы рассмотрели, как преобразовать существующий svg-файл в VectorDrawable, который позволяет заменить много растровых изображений на одно, меньшее по размеру и более простое в обслуживании.

[Из песочницы] VectorDrawable — часть первая

Предлагаю вашему вниманию перевод статьи "VectorDrawables – Part 1" с сайта blog. stylingandroid. com. По долгу службы потребовалось мне как-то разобраться с векторной графикой.

[Перевод] Утечки не нарушают безопасность памяти

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

[Перевод] Как связаны длительность аренды DHCP и процесс сбора мусора в DNS

В качестве предисловия. При общении с коллегами, отвечая на их вопросы о совместной настройке DNS и DHCP, часто отсылаю их к замечательной статье Шона Айви на Technet. К сожалению, аналогичного материала на русском языке я не находил.

[Перевод] Установка Rust на Windows

Вы можете установить Rust, просто скачав инсталлятор и дважды кликнув по нему. Хотя разработчикам, имеющим дело с более сложными инструментами, или тем, кому нужно собирать "небезопасные" (unsafe) C/C++ библиотеки из исходников, предстоит сделать немного больше.

Что значит создавать игру класса ААА в Ubisoft, или Почему, отказавшись от завидного места, я стал независимым разработчиком

Экс-сотрудник Ubisoft Максим Бодуин рассказал, как выглядит изнутри игровой проект, в котором задействованы сотни сотрудников в десятке офисов по всему миру.

[Перевод] Странные вопросы на собеседованиях 2016

Канада 1. Что последнее вы искали в Гугле? 2. Какой герой «Игр престолов» вам нравится больше всего? 3. Если бы сидели рядом с одним человеком на трансатлантическом авиарейсе, кто бы это был? 4.

[Перевод] Почему мобильные веб-приложения такие медленные?

Добрый день. Наша команда, которая занимается созданием курсов Java на Hexlet, решила заняться переводом статей, которые нам показались очень интересными. Занявшись этим делом мы обнаружили, что на Хабре еще не пробегал перевод великолепнейшей статьи под названием: "Почему мобильные веб приложения такие медленные?".

Лучшее

Введение в futures-rs: асинхронщина на Rust [перевод]

Этот документ поможет вам изучить контейнер для языка программирования Rust — futures, который обеспечивает реализацию futures и потоков с нулевой стоимостью. Futures доступны во многих других языках программирования, таких как C++, Java, и Scala, и контейнер futures черпает вдохновение из библиотек этих языков.

[Перевод] Пять видов систем крафтинга в играх

За последние годы крафтинг развился от редкоприменимой механики ролевых игр до практически повсеместного дополнения ко всем последним новинкам индустрии. Сегодня он используется не только в почти любой RPG, но также в шутерах от первого лица, экшн-играх, симуляторах вождения и даже в системе присвоения значков пользователям Steam.

[Перевод] Почему мобильные веб приложения такие медленные?

Добрый день. Наша команда, которая занимается созданием курсов Java на Hexlet, решила заняться переводом статей, которые нам показались очень интересными. Занявшись этим делом мы обнаружили, что на Хабре еще не пробегал перевод великолепнейшей статьи под названием: "Почему мобильные веб приложения такие медленные?".

[Перевод] Понимание сборки мусора и отлов утечек памяти в Node.js

Плохие отзывы в прессе о Node. js часто относятся к проблемам с производительностью. Это не значит, что с Node. js больше проблем, чем с другими технологиями. Просто пользователь должен иметь в виду некоторые особенности её работы.

[Перевод] Unified test runner и анализ тестовых данных

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

[Перевод] Создание The Blacksmith: подготовка сцен, шейдинг и освещение

В предыдущих статьях из этой серии мы рассказывали о команде создателей ролика The Blacksmith, а также о его художественном оформлении. Теперь мы рассмотрим создание ролика с технической точки зрения и затронем аспекты подготовки сцен, шейдинга и освещения в Unity 5. Читать дальше →

Изменить одно слово в CTA-кнопке и увеличить конверсию: миф или реальность?

Этим вопросом задаются многие. Одни утверждают, что это миф, другие – наоборот. В этой статье, на основе успешных кейсов, вы узнаете, в каких случаях A/B тесты с совсем небольшими изменениями CTA-кнопки могут быть очень эффективны.

Программирование с YII2: приступаем к работе

От переводчика. Жизнь такая штука, как-то я начинал цикл статей по Java Spring и сообщество сообщило, что выбор пал не на самую свежую информацию. Сейчас жизнь забросила меня в хардкорное программирование на С++, а душа все равно нуждается в вебе, поэтому в свободное время решил изучить вместе с вами технологии, которые может скушать любой хостинг и в то же время сложность разрабатываемых приложений и ООП не сильно пострадает от PHP.

[Перевод] Как писать софт для всего мира

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

[Из песочницы] RESTful API — большая ложь

От переводчика: Я впервые попробовал перевести статью такого объёма и IT-тематики, с радостью прочту ваши комментарии и замечания. Что же касается самой статьи: я не согласен с автором как минимум потому, что, по сути, он заменяет REST на… REST (!!!), но немного в другом обрамлении.

Актуальное

[Перевод] CSS: введение в единицу длины 'fr'

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

Почему писать код — это не весело и просто

«Писать код — не единственное занятие, которое требует усиленного внимания. Но никто никогда не говорит, что оперировать мозг — это „весело“, а проектировать здания — „легко“».

[Перевод] Основы геймдизайна: 20 настольных игр. Часть пятая: Манчкин, Контрактный бридж, Ужас Аркхэма

В новой статье из серии «Основы геймдизайна» представлен подробный обзор самых популярных настольных игр, включая традиционные вроде шахмат и го, ролевые вроде «Зова Ктулху», европейские вроде «Колонизаторов» и многие другие, у которых есть чему поучиться. Читать дальше →

[Перевод] Основы геймдизайна: 20 настольных игр. Часть чертвертая: Билет на поезд, Каркассон, Колонизаторы

В новой статье из серии «Основы геймдизайна» представлен подробный обзор самых популярных настольных игр, включая традиционные вроде шахмат и го, ролевые вроде «Зова Ктулху», европейские вроде «Колонизаторов» и многие другие, у которых есть чему поучиться. Читать дальше →

[Перевод] Основы геймдизайна: 20 настольных игр. Часть третья: Пенте, Колонизаторы, Пуэрто-Рико

В статье Джона Харриса из серии «Основы геймдизайна» представлен подробный обзор самых популярных настольных игр, включая традиционные вроде шахмат и го, ролевые вроде «Зова Ктулху», европейские вроде «Колонизаторов» и многие другие, у которых есть чему поучиться. Читать дальше →

[Перевод] Введение в IL2CPP


Unity продолжают совершенствовать технологию IL2CPP, а мы публикуем перевод статьи о том, как она работает.


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

Angular 2 против React: И будет кровь

(перевод, оригинал статьи) Angular 2 достиг беты и имеет все шансы сорвать лавры топового фреймворка в 2016 году. Время разборок. Давайте посмотрим, что он может противопоставить React, душечке из 2015 года.

[Перевод] Как создать убедительную механику смерти и не облажаться

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