Как стать автором
Обновить
9
0
Иван Павлов @iPaf

Пользователь

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

10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками

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

image
Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона»


Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА, ответственный за большинство беспилотных космических кораблей США. Там пишут много кода, и права на ошибку у них намного меньше, чем у обычных программистов.


В JPL пишут на Си, и на их сайте есть документ "JPL Institutional Coding Standard", описывающий жесткие стандарты кодирования внутри организации. Они напоминают правила программирования для встроенных (embedded) систем и систем реального времени, с ограниченными ресурсами. Но многие из правил эти просто принципы хорошего программирования. Ограничение сложности, максимальное упрощение для последующего чтения кода и отладки, отсутствие побочных эффектов. Мы в Хекслете постоянно говорим об этом в вебинарах и, конечно, в самих курсах. Мы считаем очень важным как можно раньше поднимать эти темы, поэтому про функции и побочные эффекты начинаем говорить в самом первом курсе «Основы программирования», который рассчитан на новичков. Это бесплатный курс, кстати, и в нем есть практика на языке JavaScript.


Спасибо хабраюзеру Boletus за важную поправку и дополнение:
В 2006 году Gerard Holzmann с коллективом сформулировал 10 основных правил для JPL в документе «The Power of 10: Rules for Developing Safety-Critical Code». Они вошли в основу нынешнего стандарта, наряду с MISRA C и другими дополнениями. Статья в Википедии.


Вот перевод этого списка.

Читать дальше →
Всего голосов 92: ↑80 и ↓12+68
Комментарии118

Как собрать WhatsApp за сутки. Часть 1

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


Здравствуйте, дорогие читатели Хабрахабра!

В этой серии статей я расскажу, как быстро и почти безболезненно поднять свой собственный WhatsApp под iOS. Статью делю на две части для вашего удобства:

  1. Создание проекта, простой UI, привязка к сервису мгновенных сообщений
  2. Делаем красивый UI, добавляем видео и аудио звонки, передачу фото и документов

К сожалению, пособие о том, как набрать 400 000 000 пользователей и продать сервис за 19 Инстаграмов, затерялось где-то на книжной полке. Постараюсь его найти, если кому интересно.

Заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 178: ↑146 и ↓32+114
Комментарии55

Google: рекомендации для приложений в Google Play

Время на прочтение4 мин
Количество просмотров24K
Тема приложений является одной из самых обсуждаемых и «трендовых», а тема фичиринга и успешности приложения в том или ином сторе — самая обсуждаемая в ней подтема.

На днях было опубликовано руководство The Secrets to App Success on Google Play, которое, если переводить практически дословно, поможет вашему приложению или игре стать успешными в Google Play (кстати, скачать книгу можно из Google Play).

image

Кто-то подумает, что это, конечно, здорово, но вряд ли станет волшебной палочкой-выручалочкой для приложения. Определенно в руководстве есть советы, которые могут быть интересны и полезны начинающим разработчикам, пишущим не только под Android, но и под iOS, Windows или для магазина Amazon и т.п. Разработчики, которые уже не первый год в индустрии, смогут найти для себя рекомендации, применительные именно к Google Play.
Дальше
Всего голосов 18: ↑12 и ↓6+6
Комментарии18

Создание искусственного интеллекта для игр — от проектирования до оптимизации

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

Сегодня – первое сентября. А значит, многие читатели хабры начинают прохождение нового уровня одной древней известной игры – той самой, в которой требуется прокачать интеллект, и, в итоге, получить магический артефакт – аттестат или диплом, подтверждающий ваше образование. К этому дню мы сделали реферативный перевод статьи про реализацию искусственного интеллекта (ИИ) для игр – от его проектирования до оптимизации производительности. Надеемся, что она будет полезна как начинающим, так и продвинутым разработчикам игр.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии3

Как создавать Pixel Perfect изображения в Adobe Illustrator

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

От переводчика


Рад приветствовать тебя, %юзернейм%!

Я новичок в профессии дизайнера интерфейсов, и как-то давно, листая вакансии, меня заинтересовали требования к одной из них. Среди таких, как знание пакета Adobe, средств прототипирования и навыков в области ux/ui я прочитал, что соискателю именно на эту вакансию неплохо было бы уметь держать порядок в слоях, структуре и названиях файлов и папок, а так же знать и уметь применять на практике то, что называется pixel perfect. Меня это заинтересовало, так как на моей работе ни от меня, ни от других сотрудников этого не требуют, но я всегда старался этого придерживаться и даже пытался убедить в этом других, но мне почему-то не хватало аргументов, чтобы объяснить, для чего это нужно.

С понятием pixel perfect я вообще на тот момент не был знаком, только слышал где-то пару раз, и так как этот пункт стоял в конце списка требований «аккуратности», я понял, что это что-то вроде апогея, вершины айсберга в организации работы над макетами.

Я стал искать, но ничего, кроме статьи на Хабре из пары абзацев про Pixel perfect от программиста не нашёл. Потом я как-то услышал о Monument Valley, и даже наткнулся на справочник Pixel Perfect Precision, но времени изучать так много информации на английском как-то не было, и первый раз он меня не зацепил. Стало появляться время и вышли некоторые статьи, одна из которых, наполненная практическими советами по Pixel Perfect зацепила меня, и я решил не просто прочитать и понять, а ещё и перевести по возможности литературно, чтобы дать вопросу широкую известность, и распространить тему на Хабре.

Небольшой технический момент. Оригинальная статья с Tuts+ называется «How to Create Pixel Perfect Artwork Using Adobe Illustrator», при этом я могу вас уверить, что большая часть из предложенных в статье настроек присутствует и в Adobe Photoshop CS6, а уж в Adobe Photoshop CC вообще можно повторить всё это полностью.

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

Краткое содержание


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

Настройки Abobe Illustrator


  1. Edit > Preferences > Units > General → Pixels
    Edit > Preferences > Units > Stroke → Pixels
  2. Edit > Preferences > Guides & Grid > Gridline every → 1px
    Edit > Preferences > Guides & Grid > Subdivisions → 1px
  3. Edit > Preferences > General > Keyboard Increment → 1px
  4. View > Snap to Grid
    View > Snap to Point
  5. View > Pixel Preview

Не благодарите.
Всех заинтересовавшихся прошу пройти под кат.

Как создавать pixel perfect изображения в Adobe Illustrator




Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии6

Как я бросил университет ради разработки собственной игры. Часть 1

Время на прочтение4 мин
Количество просмотров60K
image
Привет, Хабрахабр! Наверняка, многие из вас задумывались о разработке собственной игры, но, к сожалению, существует много факторов, которые, всё же, не позволяют нам начать работу над игрой своей мечты: учеба, работа, семья и т.д. Да и, к тому же, мы просто боимся бросить всё и осуществить свою мечту, ибо многих пугает неизвестность, которая нас поджидает, как только мы отклонимся от общепринятых стремлений. В данной статье я расскажу вам о своём нелегком пути к воплощению идеи, ради которой я поставил все на кон.
Читать дальше →
Всего голосов 89: ↑56 и ↓33+23
Комментарии102

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

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

1


В новый офис бывших коллег я попал под аккомпанемент дождя. Вот-вот начался май, пора к такому привыкать. Отряхиваюсь от влаги, жму руку бывшему руководителю, через просторный холл поднимаюсь на второй этаж, дальше по коридору, затем направо или налево — уж и не вспомню — и вот она, цитадель геймдева. Знакомые лица, знакомые рукопожатия, всё как в старые добрые времена. За три месяца инди-плавания я уже успел подзабыть, что такое офисные кресла, кофемашина и фритуплей.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии16

Туториал по libGDX — создание пользовательского интерфейса. Часть 1

Время на прочтение9 мин
Количество просмотров50K
Разбираясь дальше с библиотекой libGDX, я дошел до пакета com.badlogic.gdx.scenes.scene2d.ui. Этот пакет предназначен для создания пользовательського интерфейса. И тут меня ждало разочарование: статьи-туториала нет. Поэтому я решил самостоятельно разобраться с пакетом, используя исходники и Javadoc документацию. То есть, это будет туториал по scene2d.ui, но уже не перевод. Я не буду здесь детально описывать конструкторы, методы, приводить подробные сигнатуры. Я постараюсь взглянуть с высоты «птичьего полета», поскольку зная принципы, вы всегда сможете узнать больше из документации. Но даже при таком подходе материала слишком много, поэтому я разобью его на две (возможно больше) статей.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

[ libGDX ] Пишем полноценную игру под Android. Часть 2

Время на прочтение21 мин
Количество просмотров45K
Здравствуйте! Не прошло и суток с момента публикации первой части статьи, а я не могу спать, так как есть незаконченное дело и нужно дописать статью. Приступим.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии18

[ libGDX ] Пишем полноценную игру под Android. Часть 1

Время на прочтение8 мин
Количество просмотров116K
Здравствуйте! Я решил попробовать себя на поприще game-dev'а и заодно рассказать и показать как это было. Вторая часть здесь.

Игра представляет собой экран, на котором расположены созвездия. Каждая звезда этого созвездия имеет свой цвет (нота). Например, ноту «До» обычно представляют красным цветом, а «Ми» — желтым. Вот что получится в итоге:

image

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

Писать будем, используя фреймворк libGDX. Мне он больше всех понравился, как новичку в этом деле. Да и информации по нему я нашел больше. Итак, приступим.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии20

Информация

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