Pull to refresh
34
0
Денис Германенко @Mofas

User

Send message

Как работает async/await в Swift

Level of difficulty Hard
Reading time 27 min
Views 3.4K

Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще была представлена?

В типичной для SwiftRocks манере мы углубимся в компилятор Swift, чтобы ответить на вопросы о том, как работает async/await внутри. Это не инструкция по использованию async/await, а глубокое погружение в историю и реализацию этой функции, чтобы понять, как она работает, почему она работает, чего можно добиться с ее помощью и, самое главное, какие нюансы следует учитывать при работе с ней.

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

Предубеждения об IT-аутсорсе, с которыми пора покончить

Level of difficulty Easy
Reading time 7 min
Views 5.6K

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

Читать далее
Total votes 16: ↑9 and ↓7 +2
Comments 25

История создания Ведьмака: от литературной саги до игровой франшизы

Level of difficulty Easy
Reading time 98 min
Views 13K
image

Ко мне в руки тут попала одна книжка про разработку этих ваших ведьмаков и Гервантов из Рыбии. История франшизы, короче. В общем, прочитал я её, проникся, решил изучить тему глубже, а потому, дорогие читатели, держите материал, без регистрации и СМС, даром. Это будет компиляция всевозможной инфы в одном месте, максимально подробно. Кто уже читал эту книгу или изучал разные источники — и так всё знает, кто не читал — экономлю вам время и приоткрываю завесу тайн, которые, возможно, вы не знали. Всё это приправлено разными интервьюшками, концепт-артами и прочей информацией с забугорных сайтов и других годных материал. Должно быть интересно. Тем более игре совсем недавно (26 октября) стукнуло 16 лет, хороший повод. Итак…
Читать дальше →
Total votes 70: ↑68 and ↓2 +66
Comments 20

Как разработать функциональное мобильное приложение за 2 месяца: кейс Kassir.ru

Level of difficulty Easy
Reading time 5 min
Views 1.5K

В октябре 2020 мы получили задачу разработать приложение на Android и iOS для крупнейшего билетного оператора России. У заказчика были пожелания по срокам, но он и сам понимал, что они не очень реалистичные. Было бы идеально успеть к праздникам в феврале и марте, на которые приходится пик продажи билетов. Нам очень хотелось выполнить желание заказчика и успеть с релизом, поэтому мы приняли вызов. Читайте о том, как мы разрабатывали нативное приложение со множеством функций всего за пару месяцев.

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

Выходим на глобальный рынок: адаптация интерфейса под RTL

Level of difficulty Easy
Reading time 6 min
Views 1.4K

Представьте: тексты во всех ваших любимых приложениях — мессенджерах, доставках еды, фоторедакторах — написаны в обратном порядке. То есть, справа налево.

Жителям арабских стран и Израиля даже представлять не надо — их письменность имеет именно такое направление. Если вы хотите выйти на рынок этих стран и адаптировать приложение под их язык, нужно учесть множество нюансов. Не только написание текста, но и изменения в навигации и структуре приложения, типографике, расположении иконок. А еще важно настроить правильное отображение времени и валюты, инпуты и другие элементы.

Написали статью о том, как адаптировать приложение под обратное написание и ничего не упустить.

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

Как выбрать компанию — мобильного разработчика

Level of difficulty Easy
Reading time 7 min
Views 763

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

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

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

Как мы запустили свой трекер финансов: кейс Moneon

Level of difficulty Easy
Reading time 8 min
Views 2.4K

Многие аутсорс-студии хотят иметь свое приложение для дополнительного заработка и усиления имиджа. Но успешно запустить проект получается не всегда: не хватает ресурсов или продуктового опыта. Мы решили попробовать и разработали приложение, которое скачало около миллиона человек в 140 странах мира. Читайте о том, как мы создали собственный трекер финансов и подобрали правильный способ монетизации, при этом не потеряли популярность и интерес пользователей.

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

Разработка мобильных приложений: ключевые принципы продуктового и проектного подходов

Level of difficulty Easy
Reading time 6 min
Views 2.1K

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

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

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

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

Итак, поехали.

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

.xcstrings в Xcode 15

Level of difficulty Easy
Reading time 4 min
Views 2.3K

Один из самых неприятных аспектов iOS‑разработки — это локализация и плюрализация строк. Мало того, что они разбиты на разные файлы: strings и stringsdict, так ещё и работа с этими файлами для начинающего разработчика может оказаться не сильно очевидной. «Что такое %#@⁠VARIABLE@?», «Как добавлять несколько плюралок в одну строку?», «Как использовать плюралки в локализованных строках?», «Как добавлять разные переводы для разных девайсов?» — Все эти вопросы рано или поздно возникают у разработчика. После получения ответов на них каждый задаётся вопросом: «А почему всё так плохо?»

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

Макросы в Swift

Level of difficulty Medium
Reading time 9 min
Views 5.2K

Всем привет! Меня зовут Никита Тархов, я iOS‑разработчик студии CleverPumpkin. Сегодня поговорим про макросы: что это такое, зачем нужны и где они применяются.

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

CoreData для базовых задач одним методом

Level of difficulty Medium
Reading time 10 min
Views 2.9K

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

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

Meet Transferable

Reading time 5 min
Views 1K

На WWDC 2022 Apple представила множество интересных нововведений, одно из который — Transferable. О новом протоколе (только для SwiftUI и только для iOS 16, macOS 13 и tvOS 16🙃), который позволяет удобно и быстро передавать какие-либо данные как внутри приложения, так и между приложениями рассказывают разработчики студии CleverPumpkin.

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

Как настроить Charles

Reading time 5 min
Views 57K

Приложение Charles Proxy - большой помощник и тестировщику, и разработчику. Мы хотим рассказать вам про функции «Чарльза», показать, как им пользуемся в своей работе. Но для начала поможем разобраться с приложением и правильно его настроить.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 9

Ангелы Charles: Как сниффер поможет разработчикам мобильных приложений

Reading time 11 min
Views 10K

Charles называют самым популярным сниффером, инструментом для мониторинга трафика и подмены данных. Он работает как промежуточное звено между вебом или мобильным приложением (в нашем случае) и сервером. Этот инструмент хорошо знают тестировщики, но разработчикам тоже полезно знать и пользоваться его возможностями. В этой статье мы сосредоточимся на основных функциях Charles для мобильных приложений.

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

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

Reading time 7 min
Views 39K

«Эти разработчики опять ничего не поняли!» — возмущается заказчик мобильного приложения. Но мы все знаем, что у разработчиков тонкая душевная организация и куча злых мемов на случай недопонимания с заказчиком. Чтобы не попасть в череду уточнений, согласований и — самое плохое — исправлений ошибок, нужно просто грамотно написать задачу для специалистов. Как это сделать, рассказывает руководитель проектного офиса “CleverPumpkin” Лада Ларкина.

Читать далее
Total votes 11: ↑8 and ↓3 +5
Comments 12

Делаем приватный монитор из старого LCD монитора

Reading time 2 min
Views 970K


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

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

Читать дальше →
Total votes 1484: ↑1466 and ↓18 +1448
Comments 327

Для расширения возможностей новой версии Mirai злоумышленники использовали Aboriginal Linux

Reading time 3 min
Views 6K


Червь Mirai, который позволил своим создателям создать ботнет, состоящий из сотен тысяч IoT-устройств, не исчез. После того, как его исходные коды утекли в сеть, что случилось еще два года назад, вирусописатели смогли создать на их основе много новых вариантов, как клонов, так и серьезно модифицированных систем.

К примеру, ботнеты Wicked, Sora, Owari и Omni базируются исключительно на исходниках Mirai с доработками новых «авторов». Об этом стало известно после того, как специалист по информационной безопасности Анкит Анубхав (Ankit Anubhav) из компании NewSky Security даже брал интервью у оператора этих ботнетов.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 13

«Поясняем за чёлку» в Android P. Что делать с Android Cutout?

Reading time 5 min
Views 19K
Горел сентябрь 2007 года. Шёл сентябрь 2017 года, Apple вернули моду на чёлку, представив iPhone X. Неудивительно, что наши друзья из Китая, недолго думая, скопировали этот дизайн у Apple (хотя самая первая мини-чёлка была ещё в Essential Phone, который не взлетел). Но что мы видим сейчас? Huawei P20, Asus Zenfone 5, OnePlus 6, Motorola One Power, Xiaomi Redmi 6 и другие более-менее известные производители уже выпускают или анонсировали телефоны с чёлкой. Samsung и Google остались последними оплотами в этой гонке за хайпом борьбе за безрамочность. Или нет? По слухам, Google Pixel 3 XL тоже будет с этой хренью с изящным вырезом. Что ж, нам, как разработчикам, остаётся только оптимизировать свои приложения под этот вырез, чтобы пользователи смогли продолжать комфортно ими пользоваться. За подробностями прошу под кат.


Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 18

Таблицы — Emacs и org-mode

Reading time 3 min
Views 11K
На хабре уже есть посты про удивительные возможности org-mode — раз, два и три. В этом экскурсе я хочу рассказать ещё об одной возможности, с помощью которой можно пользоваться таблицами в текстовом редакторе (да, я про Emacs) без боли и унижения. А в org-mode таблицы достаточно просты и удобны:

|           ip | description          | users |
|--------------+----------------------+-------|
| 192.168.0.11 | Бухгалтерия          |     2 |
| 192.168.0.12 | Касса1               |     1 |
| 192.168.0.13 | Касса2               |     1 |
| 192.168.0.14 | Приёмная             |     2 |
|--------------+----------------------+-------|
|              | Всего пользователе=> |     6 |
Подробности
Total votes 14: ↑13 and ↓1 +12
Comments 4

Басня о Burger King и данных пользователей. Комментарии разработчика

Reading time 4 min
Views 79K


Привет, Хабр! Мы компания e-Legion — разработчик мобильного приложения Burger King. Пишем этот пост, чтобы успокоить всех, кто волнуется за данные своих банковских карт, и объясняем, как и зачем собираются данные с экранов пользователей.
Total votes 245: ↑142 and ↓103 +39
Comments 461

Information

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

Specialization

Product Manager, Chief Executive Officer (CEO)