Рубрика «перевод» - 46

Наша команда, аналогично с автором статьи, уже почти как год перешла со Scala на Kotlin в качестве основного языка. Мое мнение во многом совпадает с автором, поэтому предлагаю вам перевод его интересной статьи.

Прошло прилично времени с того момента как я не обновлял блог. Вот уже как год я перешел со Scala, моего основного языка, на Kotlin. Язык позаимствовал много хороших вещей, которые мне нравились в Scala, сумев при этом избежать многих подводных камней и неоднозначности, которая есть в Scala.

Ниже я хочу привести примеры, которые мне нравятся в Scala и Kotlin, а также их сравнение в том, как они реализованы в обоих языках.

Читать полностью »

Эй, это я вон там? - 1

Disclaimer: данный пост является переводом заметки профессора Вилеейанура Рамачандрана, о феномене внетелесного опыта и различных аномалиях, связанных с восприятием «себя». Хотя оригинал и был опубликован в мае 2010г, статья содержит ряд занимательных примеров из клинической практики и в целом показалась довольно интересной, а посему захотелось ею поделиться.

Если и существует что-то, в чём вы можете быть уверены касательно самого себя, так это то, что ваше «я» привязано к вашему собственному телу и принадлежит только вам. Личность, которой вы себя ощущаете находится здесь и сейчас, и нигде больше.

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

Клон Trello на Phoenix и React. Части 8-9 - 1

Оглавление (текущий материал выделен)

  1. Введение и выбор стека технологий
  2. Начальная настройка проекта Phoenix Framework
  3. Модель User и JWT-аутентификация
  4. Front-end для регистрации на React и Redux
  5. Начальное заполнение базы данных и контроллер для входа в приложение
  6. Аутентификация на front-end на React и Redux
  7. Настраиваем сокеты и каналы
  8. Выводим список и создаём новые доски
  9. Добавляем новых пользователей досок
  10. Отслеживаем подключённых пользователей досок
  11. Добавляем списки и карточки
  12. Выкладываем проект на Heroku

Выводим список и создаём новые доски

Оригинал

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

Читать полностью »

Доброго времени суток, уважаемое гик-сообщество! Представляю на ваш суд мой первый перевод и первый пост на Geektimes — «Титан — колыбель жизни?» (в оригинале — «Titan — The Adobe of Life»). Оригинал от NASA здесь. В работе рассмотрены физико-химические свойства Титана с точки зрения возможности возникновения на нём метаногенных форм жизни. Канцелярит и прочие прелести старался минимизировать, но пока, по-моему, не слишком удачно. В любом случае, заинтересованных прошу под кат.

Титан — колыбель жизни? - 1
Читать полностью »

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

Немного примечаний:

  • Отсутствие единой терминологии в геймдизайне — в некотором роде факт, потому там, где мне показалось необходимым, указаны ссылки на источники слов. Отдельно в плане терминов нарративного дизайна есть неплохой перевод статьи Томаса Грипа.
  • Ссылки на другие статьи из блога Фрида сохранены.
  • Выбор картинок — на совести автора статьи; я лишь расставила на них ссылки на сами игры для любопытствующих.
  • Сама статья несколько сумбурна, но интересующимся игровой сценаристикой, на мой взгляд, будет полезна.


О, эта романтика!

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

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

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

Читать полностью »

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

Моему мечтательному настроению во время прогулки по прекрасному коста-риканскому национальному парку "Коркова́до" пришёл внезапный конец, когда гид толкнул рукой мне в грудь.

image

(Жёлтопузая морская змея, также известная как Pelamis platurus)

"Стойте!", — крикнул он, указывая на что-то активно двигающееся под песком. "Это морская змея."
В то время как я смотрел за жёлтопузой морской змеёй, находящейся вне своей родной стихии и явно беспокойную, я вспомнил факт, который узнал ещё в детстве. "Морские змеи", — напомнило мне моё юное Я, — "самые опасные из всех змей. Тебе следует быть осторожным." В принципе верно, многие морские змеи, и наземные змеи если на то пошло, невероятно ядовиты. В одном укусе змеи тайпан достаточно яда, чтобы моментально убить примерно 250 000 лабораторных мышей или 100 человек. И это верно не только для змей.

image

(Моллюск-конус)

Одна капля яда моллюска конус мармореус может убить 20 человек. Жало кубомедузы может вызвать остановку сердца и смерть в течение считанных минут. Напрашивается вопрос: зачем обладать мощным оружием, способным убивать десятки человек, если ты будешь использовать его только тет-а-тет, особенно если твоя добыча будет по размеру гораздо меньше человека? Похоже, что суперъяды просто не имеют смысла с эволюционной точки зрения.

Читать полностью »

Клон Trello на Phoenix и React. Части 6-7 - 1

Оглавление (текущий материал выделен)

  1. Введение и выбор стека технологий
  2. Начальная настройка проекта Phoenix Framework
  3. Модель User и JWT-аутентификация
  4. Front-end для регистрации на React и Redux
  5. Начальное заполнение базы данных и контроллер для входа в приложение
  6. Аутентификация на front-end на React и Redux
  7. Настраиваем сокеты и каналы
  8. Выводим список и создаём новые доски
  9. Добавляем новых пользователей досок
  10. Отслеживаем подключённых пользователей досок
  11. Добавляем списки и карточки
  12. Выкладываем проект на Heroku

Теперь, когда back-end готов обслуживать запросы на аутентификацию, давайте перейдём к front-end и посмотрим, как создать и отправить эти запросы и как использовать возвращённые данные для того, чтобы разрешить пользователю доступ к личным разделам.

Читать полностью »

Клон Trello на Phoenix и React. Части 4-5 - 1

Оглавление (текущий материал выделен)

  1. Введение и выбор стека технологий
  2. Начальная настройка проекта Phoenix Framework
  3. Модель User и JWT-аутентификация
  4. Front-end для регистрации на React и Redux
  5. Начальное заполнение базы данных и контроллер для входа в приложение
  6. Аутентификация на front-end на React и Redux
  7. Настраиваем сокеты и каналы
  8. Выводим список и создаём новые доски
  9. Добавляем новых пользователей досок
  10. Отслеживаем подключённых пользователей досок
  11. Добавляем списки и карточки
  12. Выкладываем проект на Heroku

Front-end для регистрации на React и Redux

Оригинал

Предыдущую публикацию мы закончили созданием модели User с проверкой корректности и необходимыми для генерации зашифрованного пароля трансформациями набора изменений (changeset); так же мы обновили файл маршрутизатора и создали контроллер RegistrationController, который обрабатывает запрос на создание нового пользователя и возвращает данные пользователя и его jwt-токен для аутентификации будущих запросов в формате JSON. Теперь двинемся дальше — к front-end.

Читать полностью »

Используем модули, чтобы указать, как должны создаваться объекты

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

Если помните, мы создали интерфейс, позволяющий фреймворку узнать, объекты каких классов требуются нашему методу main, а Dagger автоматически сгенерировал конкретный класс, способный инициализировать экземпляры этих классов за нас. Мы нигде не указывали, как именно создавать эти объекты или их зависимости. Поскольку все наши классы были конкретными и помечены соответстующими аннотациями, это не создавало проблем: Dagger из аннотаций мог сделать вывод, чьи конструкторы необходимы для создания экземпляра данного класса.

Однако, чаще всего классы зависят не от конкретных, а от абстрактных классов и интерфейсов, не имеющих конструкторов, которые мог бы вызвать Dagger. Иногда изменить исходник класса для включения аннотации вообще не вариант. Еще бывает, что создание объекта требует большего количества действий, чем просто вызов конструктора. Во всех этих случаях автоматического поведения Dagger'а недостаточно и фреймворку требуется наша помощь.

В сегодняшней статье мы увидим, как предоставить Dagger'у дополнительные инструкции по созданию объектов посредством модулей (module). Модули взаимозаменяемы и могут быть использованы и в других проектах. Плюс они могут принимать аргументы в рантайме, что делает их еще более гибкими.
Читать полностью »

Совсем недавно побывал с детьми в московском интерактивном музее Живые Системы (м. Савеловская). Среди прочего попался мне на глаза интересный эксперимент на тему «как зародилась жизнь» с кубиками Lego. В стиральную машину закладывают разрозненные кубики Lego Duplo и через час-два вынимают. На выходе встречаются конструкции из двух, трёх а и иногда даже из четырёх деталей.

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

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

Как зародилась жизнь: лего в стиральной машинке - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js