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

User

Send message

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

Level of difficultyHard
Reading time27 min
Views4.1K

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

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

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

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

Level of difficultyEasy
Reading time7 min
Views5.6K

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

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

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

Level of difficultyEasy
Reading time98 min
Views14K
image

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

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

Level of difficultyEasy
Reading time5 min
Views1.6K

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

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

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

Level of difficultyEasy
Reading time6 min
Views1.5K

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

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

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

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

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

Level of difficultyEasy
Reading time7 min
Views803

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

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

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

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

Level of difficultyEasy
Reading time8 min
Views2.4K

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

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

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

Level of difficultyEasy
Reading time6 min
Views2.2K

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

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

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

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

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

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

.xcstrings в Xcode 15

Level of difficultyEasy
Reading time4 min
Views2.4K

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

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

Макросы в Swift

Level of difficultyMedium
Reading time9 min
Views5.4K

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

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

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

Level of difficultyMedium
Reading time10 min
Views3K

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

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

Meet Transferable

Reading time5 min
Views1K

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

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

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

Reading time5 min
Views61K

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

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

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

Reading time11 min
Views11K

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

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

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

Reading time7 min
Views41K

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

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

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

Reading time2 min
Views971K


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

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

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

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

Reading time3 min
Views6K


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

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

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

Reading time5 min
Views19K
Горел сентябрь 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
Comments18

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

Reading time3 min
Views11K
На хабре уже есть посты про удивительные возможности 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
Comments4

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

Reading time4 min
Views79K


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

Information

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

Specialization

Product Manager, Chief Executive Officer (CEO)