Каталог RSS-каналов
Статистика

RSS-каналов в каталоге: 3364

Добавлено сегодня: 0

Добавлено вчера: 1

Hi-Tech / Прочее

Хабрахабр / Интересные / Тематические публикации

Интересные публикации из тематических хабов на Хабрахабре

Другие RSS ленты этого сайта

Хабрахабр / Лучшие публикации за сутки

Найдена 5181 запись

3 года назад художник спросил меня: — Слушай, а можно в нашу мобильную игру добавить красивые облачка? — Нет, это абсолютно невозможно, у нас постоянно вращается камера, так что билборды будут смотреться очень фальшиво даже если на них добавить карты нормалей, а другие способы… *художник погружается в летаргический сон* Для меня нет большего удовольствия, чем выяснять, что я был неправ. Про фотореалистичный рендеринг облаков написано много статей, но если хочется рисовать облака на смартфоне, приходится придумывать кучу всяких хаков, упрощений и допущений. Под катом подробное описание рендеринга облаков на мобильных и много html5 гифок. Поехали!

[Перевод] Создание игр на Python 3 и Pygame: Часть 2

Во второй из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и Pygame, мы рассмотрим класс TextObject, используемый для рендеринга текста на экране. Мы создадим основное окно, в том числе и фоновое изображение, а затем научимся отрисовывать объекты: кирпичи, мяч и ракетку. Класс TextObject Класс TextObject предназначен для отображения текста на экране. Можно сделать вывод, что с точки зрения дизайна он должен быть подклассом класса GameObject, потому что тоже является визуальным объектом и его тоже иногда нужно двигать. Но я не хотел вводить глубокую иерархию классов, при которой весь отображаемый Breakout текст оставался на экране неизменным. Класс TextObject создаёт объект шрифта. Он рендерит текст на отдельную текстовую поверхность...

Отчет со встречи Moscow CocoaHeads Meetup 15 декабря

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

Доброго времени суток! Недавно я начал переводить приложение, написанное по плохому MVC на VIPER. Это был мой первый опыт с VIPER-архитектурой и в силу того, что информации на просторах интернета на данный момент по этой архитектуре мало, я столкнулся с некоторыми проблемами. Используя самые общие знания и понятия по VIPER, я вывел на данный момент оптимальные для себя паттерны написания экранов, включающие в себя таблицы или коллекции. Простые и сложные ячейки Я разделяю ячейки на простые и сложные. Простые ячейки — это такие ячейки, которым для выполнения своего предназначения достаточно отображать некоторые данные (текст, картинка) и отвечать простыми действиями на действия пользователя. Сложные ячейки — такие ячейки, которым для выполнения своего...

Как построить REST-like API в крупном проекте

Недавно мы перезапустили API Яндекс.Кассы – платежного сервиса с 15-летней историей. Я хочу рассказать, как решить такую амбициозную задачу. Материала набралось на серию статей, поэтому здесь я подробно расскажу о проектировании, переработке наших API, а также про наши инструменты и процессы. Ключевые слова для оценки полезности: API, REST, OpenAPI, Swagger, рефакторинг взаимодействия систем. Читать дальше →

[Перевод] Социальная архитектура: Важность контрактов и неограниченная собственность

Проект, у которого хорошо написан контракт, определяющий условия его завершения, развалится с намного меньшей вероятностью. Важность контрактов Давайте обсудим спорный, но важный вопрос о том, какую лицензию выбрать. Я бы выделил «BSD» вместе с MIT, X11, BSD, Apache и прочими похожими лицензиями, и «GPL» с GPLv3, LGPLv3 и AGPLv3. Главным отличием является распространение прав на любые версии форков, что защищает любую организацию от захвата программного обеспечения, и тем самым делая его «свободным». Технически лицензия на программное обеспечение не является контрактом, ведь вы ничего не подписываете. Но в широком смысле удобно считать ее именно контрактом, т.к. она подразумевает обязательства всех сторон и позволяет принуждать к их исполнению в суде, в...

7 шагов на пути к карьере разработчика Xamarin

Вы подумываете сменить основную профессию и однажды стать разработчиком Xamarin? И вы нуждаетесь в практических советах, которые в будущем помогут вам найти работу, связанную с Xamarin? В этой статье хочу поделиться советами лидера российского Xamarin-сообщества, Саши Алексеева, о начале карьеры разработчика Xamarin. Читать дальше →

Контроль данных обязательной отчетности: как мы снизили число ошибок в 30 раз

Здравствуйте, меня зовут Даниил и я занимаюсь развитием аналитических систем в банке «Ренессанс Кредит». В этой статье я расскажу о том, как мы создавали систему контроля качества данных для хранилища обязательной отчетности. Такой контроль необходим, чтобы утвердительно ответить на простой, но чрезвычайно важный вопрос бизнеса: «Могу ли я доверять этому источнику информации?». Возможно, какие-нибудь из описанных приемов помогут и вам в решении разных задач. Читать дальше →

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

Создание параметрических объектов базы в nanoCAD Механика (Часть 2)

Работа с кодом объекта. Мастер скриптов В предыдущей части был описан процесс создания объекта базы и подключения к нему геометрии. Созданный объект имеет базовый скрипт с основными функциями, но пока что не содержит переменных. Скрипт необходимо доработать в соответствии с требующейся функциональностью объекта. Чтобы упростить эту задачу, возьмем код похожего объекта базы. Как было отмечено в первой части, предлагаемый материал может использоваться в качестве инструкции по созданию параметрических объектов и управлению ими. Рекомендуется использовать nanoCAD Механика версии 8.0 и выше. Оценочная версия программы доступна по ссылке. По ссылке https://goo.gl/6KhvzH можно скачать объект, который будет использоваться в качестве базового для данного примера...

[Перевод] Что общего у собеседования кодера и игры «Змейка»?

Если вы родились в 80-х или 90-х, то наверняка слышали о Snake. То есть, скорее всего, вы потратили безумное количество времени на своём Nokia 3310, выращивая огромную змею на мелком экранчике. Что ещё мы помним о телефонах Nokia? Их неразряжающийся аккумулятор, правда? Как такой «примитивный» телефон выдерживал долгие часы игры в «Змейку» без разрядки аккумулятора? Короткий (и неполный) ответ: всё дело в методе скользящего окна. Мы бы с радостью написали целую статью о Snake, но в этом посте мы всё-таки рассмотрим менее зрелищный, но тем не менее очень важный метод, и ответим на вопросы типа: Почему мы и другие программисты считаем его фундаментальным алгоритмом? Почему он так часто используется на технических собеседованиях? Как он использовался в Snake...

Вам приходилось сталкиваться с необходимостью взаимодействия кода на C# и native-C++ (или скорее С)? Причины могли быть разными: библиотека уже есть, на С/С++ написать проще, разработка частей приложения ведётся разными командами, _______________ (нужное вписать). Известно, что языки базируются на совершенно разных наборах аксиом. В С# (CLR, если точнее) вы имеете дело с типами фиксированных размеров (за редкими оговорками), код может быть скомпилирован JIT-компилятором под любую из поддерживаемых целевых платформ (если явно не оговорено иное). В мире C++ всё совсем иначе: одни и те же типы могут иметь разные размеры при компиляции на разные платформы (привет, size_t), код генерируется по-разному для разных платформ, операционных систем и прочих прелестей...

[Из песочницы] Автоматическая оценка качества статей Википедии на разных языках

Предлагаю Вашему вниманию обзорную статью научных работ на тему оценки качества Википедии на разных языках, в которых я являюсь непосредственным участником и автором. Свои научные публикации на эту тему я пишу в основном на английском и польском языке. Я решил поделиться своими знаниями и опытом в этой области для русскоязычной аудитории, и выбрал Хабрахабр для первой такой статьи. Буду рад услышать комментарии и предложения на данную тему, возможно кто-то будет заинтересован в сотрудничестве в этом направлении. В следующих статьях я планирую более подробно остановиться на отдельных методиках и алгоритмах по анализу качества статей на разных языках. Также планирую размещать примеры кода (в основном Python), которые могут пригодиться для извлечения и анализа...

Книга «Angular и TypeScript. Сайтостроение для профессионалов

Всем привет! Недавно у нас вышла новая книга, описывающая работу с непростыми и мощными инструментами веб-разработчика: Angular и TypeScript. Авторы: Яков Файн и Антон Моисеев объясняют особенности фреймворка, приводя простые примеры кода, и нескольких глав излагают, как создать одностраничное приложение для онлайн-аукционов. Ниже мы рассмотрим раздел из книги, посвященный внедрению зависимостей. Любое Angular-приложение представляет собой коллекцию объектов, директив и классов, которые могут зависеть друг от друга. Несмотря на то, что каждый компонент может явно создавать экземпляры своих зависимостей, Angular способен выполнять эту задачу с помощью механизма внедрения зависимостей. Читать дальше →

Netscaler SD-WAN – челнок для «сетевой фабрики»

Не так давно написал пост про SD-WAN, в котором попытался раскрыть суть этой технологии, ее плюсы и минусы. Теперь поговорим об одном из решений, предназначенных для создания программно-конфигурируемых сетей (SDN) между предприятием и облачным дата-центром, а также между центральным и удалённым офисами предприятия. Оно становится особенно актуальным в тех случаях, когда расширение полосы пропускания имеющегося WAN занимает недели, если не месяцы, а организация дополнительного WAN канала затруднительна и требует значительных инвестиций, так как стоимость операторских каналов довольно высока. Заинтересовавшихся прошу под кат. Читать дальше →