Pull to refresh
2
0
Алексей @Boggard

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

Send message

Недельный геймдев: #120 — 7 мая, 2023

Level of difficultyEasy
Reading time6 min
Views4.2K

Из новостей: в Стиме на странице игры теперь не более 2-х видео перед скриншотами, выручка с продаж Hogwarts Legacy в ритейле на конец марта превысила миллиард долларов, Unity сообщила об увольнении 600 сотрудников, Honkai: Star Rail от авторов Genshin Impact за день после релиза скачали больше 20 миллионов раз и заработали более 5 миллионов.

Из интересностей: доклад Бена Броуда про разработку MARVEL SNAP, соавтор Fallout о своих несостоявшихся проектах, годная статья от композитора Wizard With A Gun, 100к рыб в 60 фпс.

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

Как отследить состояние сетевого соединения в Swift? Привет, нативная реализация, пока, Reachability

Reading time5 min
Views10K

Рассмотрим нативное решение для мониторинга сетевого подключения на iOS с помощью Swift 5 и использования Network Link Conditioner.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments3

Combine: часть 2. Вершина айсберга

Level of difficultyMedium
Reading time15 min
Views8.5K

Привет, Хабр! На связи Сергей, iOS-разработчик в компании SimbirSoft.

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

Интеграция Combine в проект будет полезна для обеих сторон — бизнеса и команды разработки:

1. Процесс работы становится быстрее, а значит дешевле.

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

3. Combine способствует легкой поддержке и удобном переходе на современные технологии в будущем (например, на SwiftUI).

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Оптимизация настройки Webpack проекта на CRA

Level of difficultyEasy
Reading time7 min
Views4.6K

Всем привет! Один из проектов на работе у нас изначально создан на create-react-app утилите. Встал вопрос по поводу того, можно ли как-то оптимизировать сборку по скорости и весу сжатого проекта, так как есть большие планы на рост проекта и не хотелось бы, чтобы что-то начало тормозить, и этим соответственно я и занялся. Хочу рассказать о том, как все проходило, какие шаги были пройдены и что в итоге получилось. Также в конце приложу код всей конфигурации.

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

Читать далее
Total votes 2: ↑1 and ↓10
Comments6

Swift async/await. Чем он лучше GCD?

Reading time12 min
Views20K

Прошло уже больше года с момента выпуска async/await. Многие крупные и не очень проекты уже успели поднять минимальную версию до iOS 13, следовательно открылась возможность полноценно использовать новые языковые возможности по работе с асинхронным кодом. Но перед тем как начать полноценно рефакторить старый код и/или писать новый код используя относительно новую технологию в голове невольно всплывает вопрос: «А зачем? Чем это лучше того же GCD?». В этой вступительной статье из серии по async/await постараемся вместе ответить на этот вопрос.

Читать далее
Total votes 11: ↑10 and ↓1+13
Comments13

Настройка Fastlane в React Native

Level of difficultyEasy
Reading time6 min
Views3.3K

Цель:
Одним скриптом загружать новые билды в TestFlight и Google Play.

Идея для статьи зародилась после того, как я потратил кучу времени на настройку Fastlane для своего проекта на React Native. Во время настройки, я так и не смог найти публикацию, которая давала бы простую инструкцию по интеграции Fastlane от А до Я. Эта статья должна стать не более чем простой инструкцией по базовой настройке Fastlane под обе платформы IOS и Android.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

Подготовка к собеседованию на iOS разработчика (актуально на начало 2023 года)

Reading time14 min
Views11K

Доброго времени суток. Я iOS-разработчик (хлопки-хлопки).

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

Поговорив с начальством, мне назначили встречу с лидом iOS, чтобы подготовить меня к предстоящим собеседованиям. Однако, после нескольких вопросов от лида вердикт был, что не подхожу на текущие проекты. На вопрос, какие, собственно, критерии оценивания я получил ответ:

"тебе никогда никто не расскажет? в нашем деле все сам ?"

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments18

Telegram удалил нашего ChatGPT-бота на 27,000 пользователей без объяснения причин

Level of difficultyEasy
Reading time4 min
Views42K

Несколько недель назад мы с коллегой сделали ChatGPT-proxy бота в Telegram, который помогал в наших рабочих чатах и просто развлекал нас. Он написан на TypeScript и потрясающем фреймворке Grammy, использует Open AI API, а именно модель gpt3.5-turbo, которая используется в оригинальном ChatGPT.

Читать далее
Total votes 65: ↑48 and ↓17+39
Comments116

Бесконечный UIScrollView

Reading time5 min
Views8.4K
image

Во многих приложениях вы можете столкнуться с прокруткой, которая никогда не переносится в противоположном направлении в конце контента. Эта техника стандартна уже в течение многих лет, на многих платформах. С другой стороны, есть много сторонних библиотек, чтобы получить этот эффект. НО вам не нужно никакой сторонней библиотеки. У этой техники очень простая логика.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments2

Хочется лучше жить? Просто начни просить

Level of difficultyEasy
Reading time7 min
Views64K

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

Читать далее
Total votes 158: ↑129 and ↓29+123
Comments282

Сохранение и загрузка состояния Actor’ов в Unreal Engine. Боль

Level of difficultyMedium
Reading time10 min
Views6K

Доброго времени суток, дорогой читатель.

Хочу рассказать о своём удивительном поиске способа сохранения и загрузки состояния игры в Unreal Engine. Включая сохранение и загрузку пользовательского состояния Actor'ов которые могут хранить такие неудобные типы данных, как жесткие ссылки на других Actor'ов.

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

Почему мужикам нужно качать орех?

Reading time3 min
Views61K

Если ты неприлично много сидишь, а после рабочего дня мечтаешь о том, чтобы отсоединить от себя свою поясницу и оставить ее на полке, пока не перестанет ныть, тогда тебе сюда.

Читать далее
Total votes 130: ↑79 and ↓51+53
Comments257

Разберем основные аспекты работы с Niagara

Level of difficultyEasy
Reading time5 min
Views9K

Всем привет! Меня зовут Ростислав Мусиенко. У меня более 10 лет опыта работы в движке, я начинал еще с Unreal Engine 3, изучая разные аспекты движка. В этой статье мне хотелось бы показать, насколько просто работать с системой частиц на Unreal Engine. Разберем основные аспекты работы с Niagara System. Для разбора нам сначала потребуется создать систему частиц.

Читать далее
Total votes 7: ↑6 and ↓1+7
Comments2

Корутины в UnrealEngine

Level of difficultyMedium
Reading time22 min
Views12K

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments8

10 полезных сочетаний клавиш в PyCharm

Reading time2 min
Views152K

Привет, мои дорогие!

Сегодня я хочу поделиться с вами своими лайфхаками касательно работы в PyCharm, ведь мы все хотим сократить время разрабатывая проект, а в этом нам помогут быстрые команды при помощи сочетаний клавиш. Так как я предпочитаю пользоваться операционной системой семейства Windows, сочетания клавиш будут заточены под нее. Перед тем как применять данные комбинации, проследите за тем чтобы у вас стояла английская раскладка, иначе, команды будут совсем другие.

Читать далее
Total votes 17: ↑5 and ↓12-6
Comments12

Разработка iOS Framework в унисон с помощью Swift и Objective-C

Reading time11 min
Views1.6K

Прошло много времени с тех пор, как язык программирования Swift был представлен на WWDC в 2014 году. С тех пор внедрение Swift сторонними разработчиками, безусловно, было массовым. Тем не менее, Objective-C всё ещё существует.

В этом посте мы предоставим несколько советов и приёмов для успешной разработки XCFrameworks (новые способы упаковки и поставки библиотек в различных вариантах). XCFrameworks сочетают Swift и Objective-C таким образом, чтобы совместимость языков не ставила под угрозу публичные API-интерфейсы фреймворка и не влияла на них.

Читать далее
Rating0
Comments0

Как превратить единственный SwiftUI контейнер в dropDestination для нескольких Transferable типов?

Reading time4 min
Views1.2K

Новый протокол  Transferable пришел на замену классу NSItemProvider в iOS 16+, macOS 13+ (Ventura и новее), watchOS 9.0+ и tvOS 16+. Познакомиться с некоторыми аспектами применения протокола  Transferable можно в постах Протокол Transferable меняет правила игры для Drag & Drop в SwiftUI и Протокол Transferable в SwiftUI — передача альтернативного контента с помощью ProxyRepresentation.

Проблема в том, что при использовании нового протокола Transferable и нового View модификатора .dropDestination (for: action: isTargeted:); его параметр for не принимает несколько ТИПов "сбрасываемых" объектов одновременно, как это делает выше приведенный View модификатор .onDrop (of: [.plainText, .url, .image] ...).

С помощью перечисления enum DropItem, куда мы включили все возможные объекты (текст StringURL-адрес, изображение в виде двоичного файла Data), нам удалось в SwiftUI с помощью нового протокола Transferable обеспечить перетаскивание и "сброс" (Drag & Drop) в один и тот же контейнер (например,ZStack) различных ТИПов объектов.

Читать далее
Rating0
Comments2

WireMock – швейцарский нож в арсенале тестировщика. Часть 1

Reading time15 min
Views58K

Всем привет! Меня зовут Анатолий Калмыков, и я отвечаю за качество создаваемых решений в «Ростелеком ИТ». Сегодня я расскажу вам про WireMock – это одновременно и утилита, и библиотека на Java для создания HTTP заглушек над веб-сервисами. Он создает HTTP-сервер, к которому мы могли бы подключиться, как к реальному веб-сервису.

Статья получилась длинной, поэтому в первой части я расскажу, что такое WireMock и в каких случаях его необходимо использовать, как его разворачивать и настраивать, как правильно сопоставлять запросы с заглушками и как использовать журналирование. Сегодня речь пойдет исключительно о WireMock в амплуа утилиты и standalone http-сервер, который можно настроить как душе угодно, не зная языков программирования.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments7

Information

Rating
Does not participate
Location
Россия
Registered
Activity