Pull to refresh
27
0
Алексей Ревин @cdmax2002

User

Send message

Оптическая иллюзия 2020

Reading time1 min
Views79K
image


Я просидел у монитора 15 минут с кусками бумаги, пытаясь разоблачить подвох. Интересно, а если вместо стрелочек использовать слова «влево», «вверх», «вниз» сохранится ли эффект?

Оптическую иллюзию выложили в Твиттер 25 ноября и она бомбанула. Тысячи человекочасов потеряны, сотни тысяч листиков приложено к экрану.

Для сомневающихся:
Total votes 173: ↑154 and ↓19+135
Comments67

Блендинг и Unity Terrain: как избавиться от пересечений и перестать делать глазам больно

Reading time15 min
Views12K
Для того, чтобы получить реалистичный мир внутри игры, необходимо учитывать взаимодействие различных форм рельефа между собой и с другими моделями. И если видимые линии пересечения между 3D-моделями портят органичность изображения, стоит задуматься над тем, как их устранить. Самый распространенный случай таких линий, который может быть знаком многим, — пересечение билбордов частиц с непрозрачной геометрией.

image

Другой пример — нарушающие естественность композиции пересечения скал и растительности с поверхностью ландшафта в сценах «на открытом воздухе».

image

Помимо разнообразных методов сглаживания (SSAA, MSAA, CSAA, FXAA, NFAA, CMAA, DLAA, TAA и др.), которые пусть и смягчают вызывающий внешний вид таких линий пересечений, но не исправляют ситуацию в полной мере, существуют и более действенные приемы. Их мы и рассмотрим.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments10

Python + Raspberry Pi + Pixhawk и квадрокоптер. Или как не надо делать роботов

Reading time9 min
Views30K
Привет, Хабр!

Меня зовут Алексей, уже 7 лет я ведущий разработчик Smart TV-решений в крупной компании из Ижевска, занимающейся заказной разработкой. Каждый год у нас проводится конкурс новогодних украшений, и каждый раз мы ничего не украшаем, а пилим всякие технологичные штуки. В этот раз скрестили дрон и Smart TV-приложение. А что из этого получилось — читайте ниже.

Идея была вполне реализуема. Хотели сделать квадрокоптер в виде саней Деда Мороза, который бы сам и под музыку развозил по офису подарки для сотрудников. При этом ориентироваться в пространстве он должен был с помощью анализа ArUco-меток, взаимодействуя с приложениями для телевизоров («сдувание» работающими винтами дыма из труб, выбегание зверушек для встречи/провожания квадрокоптера).

И на все три месяца. Конечно же, мы не успели.

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


Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments22

Ошибки при работе с датой и временем в SQL Server

Reading time24 min
Views80K

Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик".





Содержание


Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments9

Какие навыки нужны для создания iOS-приложения? Доклад Яндекса

Reading time11 min
Views6.8K
Мобильному разработчику нужно обладать понятным набором навыков. Рассказывать о них нужно в контексте конкретных задач, которые возникают по ходу создания и публикации приложения. Артур Антонов работает iOS-разработчиком в отделе машинного перевода Яндекса. В своём докладе для студентов и начинающих специалистов Артур объяснил, что должен уметь разработчик, чтобы создавать современный мобильный софт.


— В нашем отделе есть два мобильных приложения: Яндекс.Переводчик и Яндекс.Клавиатура. В Переводчике у нас очень много сложных технологий, например голосовой ввод, распознавание текста по фото, перевод текста при помощи нейросетей. Отдельной сложной задачей является поддержка этой функциональности в офлайне. То есть у вас эта функциональность будет работать даже без интернета.
Total votes 10: ↑9 and ↓1+8
Comments1

Swift 5.2 — что нового?

Reading time3 min
Views8K
Первая бета Swift 5.2 только что появилась в Xcode 11.4 beta, и в ней произошли изменения в языке, наряду с сокращением размера кода и используемой памяти, а также появилась новая система диагностики, которая позволит быстрее выявлять ошибки.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments23

Открытие портов 4321 и 9898 на шлюзе Xiaomi Gateway 2

Reading time3 min
Views31K

Введение


Отдыхая на новогодних праздниках, я загорелся идеей создания «Умного дома». Среди «народных» экосистем наиболее популярным в силу дешевизны и обилия всевозможных подключаемых устройств мне сразу показалось решение от Xiaomi. Сразу отказавшись от управления своим домом через китайские сервера (возможные задержки, безопасность и привязка к устройствам одного производителя), я принялся изучать всевозможные системы управления умным домом и подбирать для них совместимое оборудование.

После часов поисков я решил, что мне подходит Home Assistant. Строить всё на начальном этапе я решил с использованием Raspberry Pi 4 Model B (2GB) и датчиков от Xiaomi. Купив шлюз (нужна версия с артикулом DGNWG02LM) и включив протокол связи локальной сети, я столкнулся с тем, что порты 4321 и 9898, необходимые для интеграции в Home Assistant, по-прежнему остались закрытыми.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments33

Книга “Разработка мобильных приложений на C# для iOS и Android”

Reading time4 min
Views18K
Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору.



Добрый день, уважаемый хабрачитатель. За последние несколько лет я написал довольно много статей и руководств по разработке мобильных приложений с помощью C# и фреймворка Xamarin, однако изначально все эти руководства и часть статей задумывались как главы моей первой книги, которая, наконец, увидела свет. Будучи собраны в одно целое (и там очень много того, что ранее не публиковалось!), материалы книги позволят вывести процесс разработки мобильных приложений на качественно новый уровень – начиная с выбора инструмента и подготовки документации, а заканчивая автоматизацией процесса разработки и решением частых задач. Данная книга задумывалась как гармоничное дополнение к тем материалам по Xamarin, которые уже есть на русском и английском языках, раскрывая такие вопросы, как проектирование, архитектура, создание скелета (каркаса) проекта, все то, что обычно остается за кадром большинства книг и учебных курсов.

В книге подробно и с большим количеством примеров кода раскрываются следующие темы: сравнение нативных и кроссплатформенных инструментов на примере Xamarin, ReactNative, PhoneGap, Qt и Flutter; проектирование и техническая документация для кода; архитектура и структура проекта, раскладываем все по местам; Mobile DevOps и автоматизация сборки, тестирования, поставки и мониторинга; практические советы на каждый день.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments10

Зрение Хищника: эффект термального видения

Reading time4 min
Views7K

В процессе поисков наилучшей реализации термального шейдера я наткнулся на matcap-шейдер, опубликованный пользователем bgolus в форумах Unity — неплохая отправная точка.

Я сильно изменил его, чтобы модели выглядели более целостными под разными углами, привязав cap к вершинам и нормалям. То есть по сути это уже не matcap, но мне всё равно хотелось бы отдать должное этому шейдеру, с которого всё началось.


Будем двигаться по порядку, сначала вершинная функция:
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments0

Создание инкрементального сервера для iOS Team

Reading time3 min
Views2.9K
image

Бесплатная книга

После пяти лет наступаний на одни и те же грабли, и полугода поисков DevOps-а, который знает что-такое Provision Profile и как от него зависит развертывание приложения, было принято решение составить пошаговую инструкцию, в картинках, о том, настраивать рабочее окружение в iOS Team с минимальными финансовыми вложениями (к примеру, когда нет проплаченных аккаунтов GitHub или Jira), а работа кипит.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков

Reading time9 min
Views17K


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


В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в качестве зависимостей:


  1. Собирать их каждый раз при сборке приложения.
  2. Собирать их заранее, используя уже собранные зависимости.

При выборе второго подхода становится логичным использовать CI/CD системы для сборки библиотек в готовые к употреблению артефакты.


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


На этом фоне, было сложно не заметить и крайне интересно изучить, одно из нововведений от Apple, представленное на WWDC 2019 в рамках презентации Binary Frameworks in Swift — формат упаковки фреймворков — XCFramework.


XCFramework имеет несколько преимуществ, в сравнении с устоявшимися подходами:


  1. Упаковка зависимостей под все целевые платформы и архитектуры в единый bundle из коробки.
  2. Подключение bundle в формате XCFramework, как единой зависимости для всех целевых платформ и архитектур.
  3. Отсутствие необходимости в сборке fat/universal фреймворка.
  4. Нет необходимости избавляться от x86_64 слайсов (slice) перед загрузкой конечных приложений в AppStore.

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

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments2

MVC в Unity со Scriptable Objects. Часть 1

Reading time5 min
Views13K
MVC (Model-View-Controller) — это схема, предполагающая разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента, чтобы каждый из них можно было независимо модифицировать. Разработчик Cem Ugur Karacam поделился своим опытом программирования в Unity и коротко рассказал о Scriptable Objects. Мы представляем перевод его статьи, опубликованной на сайте dev.to.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments4

SwiftUI: делаем Expandable/Collapsible секции в List view

Reading time6 min
Views6.6K


Нередко встречающаяся в разработке под iOS задача — раскрывающиеся/складывающиеся секции в UITableView. Сегодня мы реализуем эту задачу, используя SwiftUI. В качестве небольшого twist'a добавим анимированный треугольник в заголовке секции и сделаем ячейки также раскрывающимися.

Разработка проходила на XCode 11.2 под macOS Catalina 10.15.1
Поехали!
Total votes 3: ↑3 and ↓0+3
Comments3

Приёмы в проектировании пользовательского интерфейса, которые сэкономят время

Reading time4 min
Views7.3K
В переводе этой статьи автор приводят ряд советов и приёмов, которые упростят жизнь при проектировании дизайна пользовательского интерфейса. В статье даны сведения о полезных и экономящих время возможностях работы таких программ как Sketch, Adobe Illustrator, Figma, Adobe XD.


Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments1

Shader — это не магия. Написание шейдеров в Unity. Вертексные шейдеры

Reading time8 min
Views14K
Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня мы поговорим про вершинные шейдеры. В статье будет разбираться практика с точки зрения Unity, очень простые примеры, а также приведено множество ссылок для изучения информации про шейдеры в Unity. Если вы разбираетесь в написании шейдеров, то вы не найдёте для себя ничего нового. Всем же кто хочет начать писать шейдеры в Unity, добро пожаловать под кат.


Total votes 18: ↑17 and ↓1+16
Comments2

Пишем свой сетевой слой на Swift: протокол-ориентированный подход

Reading time10 min
Views29K


Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого слоя. В данной статье мы рассмотрим именно второй вариант, причем попробуем реализовать сетевой слой с использованием всех последних возможностей языка, применяя протоколы и перечисления. Это избавит проект от лишних зависимостей в виде дополнительных библиотек. Те, кто хоть раз видел Moya, сразу узнают множество схожих деталей в реализации и использовании, так оно и есть, только в этот раз мы все сделаем своими руками, не трогая Moya и Alamofire.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments11

Flash-анимации в Unity3D своими руками. Часть первая, лирическая

Reading time14 min
Views7K

В этой серии статей я расскажу о том, как и почему мы решили создать своё собственное решение для импорта flash-анимаций в Unity, об оптимизациях и внутренней кухне получившегося плагина. А также в программе: рассказ о внутренностях формата swf, особенностях расширения Unity-редактора и вообще об анимациях в целом. Прошу под кат!



Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments9

Как сделать корутины в Unity немного удобнее

Reading time9 min
Views26K

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


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

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments30

Как давать обратную связь: 9 правил

Reading time4 min
Views78K
Исследования показали: получив конструктивный фидбек, сотрудники работают лучше. Если обратной связи нет, появляется стресс: трудно понять, хорошо ли ты справляешься и куда двигаться дальше. Возникает «кризис признания» – а там не за углом и выгорание.

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


Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments13

Все, что нужно знать об iOS App Extensions

Reading time7 min
Views20K


App Extensions появились в iOS 8 и сделали систему более гибкой, мощной и доступной для пользователей. Приложения могут отображаться в виде виджета в Центре Уведомлений, предлагать свои фильтры для фотографий в Photos, отображать новую системную клавиатуру и многое другое. При этом сохранилась безопасность пользовательских данных и системы. Об особенностях работы App Extensions и пойдёт речь ниже.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments4
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity