Как стать автором
Обновить
6
0
Алексей @bubuh

iOS developer

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

GPT-like модель «впервые сделала научное открытие»: что, как, и куда дальше?

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров95K

14го декабря в одном из самых авторитетных общенаучных журналов Nature была опубликована статья с, кажется, сенсационным заголовком: «ИИ-модели Google DeepMind превосходят математиков в решении нерешённых проблем». А в блогпосте дочки гугла и вовсе не постеснялся указать, что это — первые находки Больших Языковых Моделей (LLM) в открытых математических проблемах. Неужели правда? Или кликбейт — и это в Nature? А может мы и вправду достигли техносингулярности, где машины двигают прогресс? Что ж, давайте во всём разбираться!

Ну давай разберёмся →
Всего голосов 182: ↑178 и ↓4+174
Комментарии271

Sovietwave и Sovietpunk: как романтика несбывшегося переплавила ностальгию по СССР в новый жанр? Часть 1

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров28K

Выход «Atomic Heart» не просто стал громким событием в истории российского геймдева — он наиболее отчётливо отразил любопытную культурную тенденцию последней дюжины лет. С начала 2010-х футуристические образы и сюжеты в подчёркнуто советском стиле стали всё чаще встречаться в Рунете в самых разных формах. Особенно ярко это стало проявляться ближе к концу десятилетия с массовым распространением музыки в стиле ретровейва — российским ответвлением которого стал стилизованный под мелодии и ритмы советской эстрады Sovietwave. Ну а сейчас советский ретрофутуризм уже можно назвать мейнстримом, даже не особенно прибегая к совам и глобусам. Он выражает ностальгию по положительным чертам и характерным деталям советской эпохи, но с начала 90-х годов эта ностальгия успела сильно измениться. Что же с ней случилось?
Читать дальше →
Всего голосов 168: ↑159 и ↓9+150
Комментарии223

Ася Казанцева: Движение улучшает мозг

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

У Аси Казанцевой есть три видеозаписи лекции «Как спорт влияет на мозг?» (раз, два, три). Кому лень смотреть, предлагаю глянуть мой опорный конспект на 5-10 минут и понять, почему лучше быть бегуном, чем качком.

  • Кардио влияет на мозг лучше силовых.
  • Даже единоразовая часовая тренировка улучшает работу мозга.
  • Если сильно упарываться, то в мозг поступает меньше кислорода.
  • Человек бегает эффективнее лошади (на длинные/долгие дистанции).
  • Бегать добровольно лучше, чем по принуждению.
  • Если ты тренился 30 лет, а потом бросил — то мозг засыхает.
  • Даже 15 минут ходьбы в день дает +3 года жизни.
Читать дальше →
Всего голосов 97: ↑85 и ↓12+73
Комментарии90

Реализация Unidirectional Data Flow в супераппе. Часть II

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

В предыдущей статье мы сформулировали нашу главную проблему при масштабировании Unidirectional Data Flow (UDF) — модуляризацию. Сегодня существует много UDF-фреймворков на Swift, но мало кто уточняет, как их масштабировать на большое, многомодульное приложение. Мы решили поделиться, с какими сложностями столкнулись и к каким решениям пришли. 

В статье рассмотрим 3 проблемы, с которыми столкнулись, и сравним, как разные фреймворки их решают. Для сравнения мы выбрали одни из самых популярных — ReSwift и The Composable Architecture (TCA). В конце расскажем, какое решение мы в итоге реализовали. Приступим!

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии9

О фейковых криптовалютах (Ethereum, Tron, Ripple и пр)

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

К сожалению, концепция криптовалют, несмотря на своё изящество, не нашла понимания у основной массы пользователей. "Среднему пользователю" неважно, лежат ли его деньги в распределённом блокчейне или на каком-то конкретном сайте. Для него это всё равно "где-то в сети". Когда деньги на сайте - даже спокойнее, потому что понятно, кто за него отвечает, в случае чего можно поругаться или написать в соцсети о том, какие они негодяи, или даже подать в суд, а если деньги "потерялись" в блокчейне, то и пожаловаться некому. Пользователи, покупающие биткоины, не хранят приватные ключи у себя, а в основном делегируют это посторонним сайтам, потому для них разницы действительно нет. А даже если хранят у себя - сначала ведь этот ключ они где-то генерируют, и потом скачивают. Понятно, что это уже не полностью их ключ. В результате распространяются слухи о "взломе биткоина", когда деньги уходят хакерам, и подобные байки. С другой стороны, умные и авторитетные люди объясняют, что блокчейн и построенные на нём криптовалюты - это надёжно и правильно, и не верить им нет оснований.

Это закономерно привело к появлению муляжей криптовалют, которые якобы используют те же технологии, но при этом дают преференции их создателям, т.е. не такие уж децентрализованные. Для пользователей всё равно, а создателям профит. Самый распространённый из таких муляжей - Ethereum.

Читать далее
Всего голосов 286: ↑261 и ↓25+236
Комментарии538

Память в Swift от 0 до 1

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

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

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии16

Знакомимся с Needle, системой внедрения зависимостей на Swift

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

Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, естественно.


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

DI в iOS: Complete guide

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

Всем привет, меня зовут Виталий, я iOS-разработчик в юните мессенджера в Тинькофф. Сегодня поговорим о том, что такое DI, зачем он нужен, рассмотрим известные библиотеки для DI и сравним их между собой. Поехали!

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии7

Код без тестов — легаси

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

Если вы работаете в IT, то о легаси вы слышите часто — обычно с множеством негативных коннотаций. Понятно, что это не «хороший код», но какой? Может старый, может не поддерживаемый или не обновляемый, а может просто чужой? Есть ли «полноценное» определение «легаси», на которое можно ссылаться? А когда разберемся — что нам делать с легаси? Попробуем разобраться.

Выводы неочевидны.
Всего голосов 29: ↑25 и ↓4+21
Комментарии23

Предотвращаем мерж-конфликты с XcodeGen

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

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии1

Модуляризация iOS-приложения Badoo: борьба с последствиями

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

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

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

В этой статье я расскажу:

— как мы не потерялись в сложном графе зависимостей;

— как спасли CI от чрезмерной нагрузки;

— что делать, если с каждым новым модулем приложение запускается всё медленнее;

— мониторинг каких показателей стоит предусмотреть и почему это необходимо.

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии7

Как мы внедряли архитектуру RIBs. Доклад Яндекс.Такси

Время на прочтение8 мин
Количество просмотров13K
Привет, меня зовут Алексей Валякин, я пишу приложения для Андроида. Несколько месяцев назад я выступил на встрече команды Яндекс.Такси с мобильными разработчиками. Мой доклад был посвящен переходу на архитектуру RIBs в Такси (RIB означает тройку Router, Interactor, Builder). Вот видео, а под катом — конспект:


— Настало время немножко запрыгнуть на паровозик с хайпом. Это классическая тема про архитектуру в Андроиде.

Всего голосов 13: ↑13 и ↓0+13
Комментарии6

Как запустить PULSE (face-depixelizer) на Linux в Windows 10 (WSL)? Туториал

Время на прочтение9 мин
Количество просмотров6.2K
В один из весенних вечеров 2020 года я прочитал статью о нейросети face-depixelizer. После изучения, оказалось, что это своего рода фронтэнд для движка PULSE. Который базируется на нейросети StyleGAN (генерирует лица со случайными чертами).

В этом туториале по шагам расскажу и покажу, как я установил Ubuntu на Windows 10 (WSL), настроил окружение для экспериментов с PULSE, закинул очередную исходную фотографию и получил неплохой результат.
Результат восстановления исходного изображение в PULSE
Анимация морфинга и видео-туториал — далее.
Всего голосов 5: ↑4 и ↓1+3
Комментарии5

Телеграм-каналы о разработке игр: часть 2

Время на прочтение2 мин
Количество просмотров12K
Привет! Я инди-разработчик и автор канала о разработке игр. Год назад я уже делал похожую подборку, но с тех пор набралось много не менее интересных геймдев-блогов.

Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии8

Хождение в грабли. Arduino

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


Я редко занимаюсь чем-то «низкоуровневым». Мой примерный рабочий день состоит из разработки мобильных приложений для бизнеса и кучи разноплановых менеджерских штук. Само собой, иногда хочется отвлечься. Получается это редко, и, наверное, поэтому, доставляет особое удовольствие. В этот раз отвлечься было решено с помощью набора «Амперка. Тетра», который предназначен для детей и с помощью которого можно узнать основы схемотехники, названия всяких сенсоров, и попробовать попрограммировать что-то, работающее в реальном мире, а не на экране компьютера. В общем, когда ты взрослый бородатый мужик — вообще самое оно.

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии10

Особенности сборки и доставки iOS-приложений

Время на прочтение8 мин
Количество просмотров18K
В этой статье Максим Шестаков, DevOps Engineer в студии Plarium Krasnodar, делится опытом сборки и доставки пользователям приложений для iOS, который накопился в процессе отладки CI/CD.

Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии20

Смотри меня полностью: выжимаем максимум из live video на мобильных платформах

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


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

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

Разберём это на примере конкретных приложений: мобильного клиента «Одноклассников» (где видео воспроизводят) и OK Live (где трансляции стримят с телефона в 1080p). Здесь не будет мастер-классов о том, как по ссылке проиграть видео, с примерами кода. Рассказ пойдёт о том, как видео выглядит изнутри, и как, зная общую архитектуру видеоплееров и видеостриминга, можно разобраться в любой системе и сделать её лучше.

В основе материала — расшифровка доклада Александра Тоболя(@alatobol) и Ивана Григорьева(@ivan_a) с конференции Mobius.



Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии2

Всплывай! Транзишены в iOS

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

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


Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии10

Custom refactoring tool: Swift

Время на прочтение10 мин
Количество просмотров7.3K
Любой инженер стремится сделать процесс своей работы максимально оптимизированным. Нам, как мобильным разработчикам iOS, очень часто приходится работать с однообразными структурами языка. Компания Apple улучшает инструменты разработчиков, прилагая много усилий, чтобы нам было удобно программировать: подсветка языка, автодополнение методов и многие другие возможности IDE позволяют нашим пальцам успевать за идеями в голове.



Что делает инженер, когда необходимый инструмент отсутствует? Верно, сделает всё сам! Ранее мы уже рассказывали о создании своих кастомных инструментов, теперь поговорим о том, как модифицировать Xcode и заставить его работать по твоим правилам.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность