Как стать автором
Обновить
5.35

Разработка под macOS *

Пишем под настольную ОС Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Как сделать React Server Components в Electron с помощью Next.js и без открытых портов

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

Статья про то как заставить работать React Server Components внутри Electron приложения с помощью Next.js при этом не запуская локальный сервер и не открывая порты. С возможностью публикации стандартными инструментами. А также исследование зачем все это надо.

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

Новости

Макросы в Swift: Практическое руководство по использованию

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

Недавно я столкнулся с задачей, которая требовала написания большого объема шаблонного кода. Вспомнив, что в Swift 5.9 появились макросы, созданные специально для генерации шаблонного кода, я решил попробовать их в действии. Ранее я работал с макросами в Objective-C и C++, поэтому ожидал увидеть нечто похожее. Однако, поискав информацию, я понял, что макросы в Swift — это совсем другое, не похожее на то, что я встречал в других языках.

В отличие от макросов в C++ или Objective-C, в Swift нужно писать гораздо больше кода, соблюдая при этом строгие правила оформления. Иначе можно столкнуться с загадочными ошибками компиляции, решение которых не всегда очевидно. Дополнительные трудности возникают из-за того, что многие статьи и видео просто повторяют официальную документацию, не объясняя понятным языком, как именно использовать макросы. Часто вместо этого начинаются сложные рассуждения о структуре AST (Abstract Syntax Tree) или приводятся примеры кода, которые демонстрируют результат работы макроса, но не показывают, как его создать и отладить.

Именно из-за таких трудностей я решил написать эту статью. Её цель — максимально просто, без углубления в теорию, объяснить, как можно уже сегодня начать использовать макросы в Swift. Если вам захочется изучить эту тему подробнее, вы всегда сможете обратиться к официальной документации или материалам с WWDC, где этот вопрос разобран более детально. А если вам понравится моя подача, пишите в комментариях — я постараюсь объяснить сложные моменты в отдельных статьях.

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

Автоматизируем подключение Сisco AnyConnect на Mac OS

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

Так сложилось, что у меня на работе используется Cisco AnyConnect Secure Mobility Client. Периодически приходится подключаться к рабочему VPN используя эту программу. Мне, как человеку постоянно работающему в терминале, захотелось иметь под рукой консольную утилиту, которая сама введет пароль и TOTP, после чего инициирует подключение.

Как это сделать?
Всего голосов 5: ↑5 и ↓0+9
Комментарии19

Он вам не «MacOS»

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров17K

Рассказываю и показываю что можно сотворить с iMac без прав администратора и установки стандартных средств разработки.

Погрузиться
Всего голосов 35: ↑27 и ↓8+22
Комментарии18

Истории

arm linux на apple silicon mac

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

Я следовал инструкциям статьи на японском.

Для большинства юз-кейсов контейнеры подойдут лучше. Но мне нужно работать с usb устройствам из под линукс, на маке. Intel версию поставить намного проще, но мы не ищем легких путей.

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

Самый быстрый способ спросить ChatGPT (MacOS)

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

Если вы когда-либо мечтали о том, чтобы можно было в 2 клика открыть чат с ChatGPT и без использования VPN, то этот гайд для вас.

Работает только на MacOS и использует платный софт.

Читать далее →
Всего голосов 10: ↑5 и ↓5+3
Комментарии12

Быстрый поиск по разной документации

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

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

Сначала мне пришла мысль взглянуть на уже существующие решения, среди которых есть мною любимый Zeal, однако, он доступен только для Windows и Linux, я же крепко сижу в заложниках на MacOS из-за специфики работы и удобства.

На сайте Zeal предлагают перейти на сайт Dash, который по сути является прародителем Zeal, однако, он платный и за него невозможно заплатить в пределах РФ, поэтому я продолжил дальше искать аналоги.

Среди альтернатив также есть DevDocs, который может работать оффлайн в браузере (благодаря PWA), однако, я заметил, что все время держать открытой лишнюю вкладку для поиска в доках было не лучшей идеей (ибо вкладку все равно нужно было бы искать, среди тонны вкладок со StackOverflow и прочим).

Решение с быстрым поиском

В Firefox и Google Chrome есть возможность добавить собственную поисковую систему (или же поиск по сайту), чем собственно я и воспользовался. При поиске в devdocs все GET-запросы уходят по урлу:

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

Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone

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

Согласно политике Apple, компания чётко разграничивает время жизни тех или иных версий iOS. Обычно, уже через 3-4 года определенная версия iOS считается устаревшей и публиковать новые версии приложений с её поддержкой больше нельзя. Однако в ходу всё ещё «старые», но по настоящему трушные и любимые многими «пятёрки», «четвёрки», а среди коллекционеров — и «тройки»! Способ, о котором я расскажу в статье, раскопали ещё «олды», однако он позволяет запускать и отлаживать «хоумбрю» приложения на старых айфонах, потенциально принося им новую жизнь с кастомными приложениями! Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 27: ↑25 и ↓2+32
Комментарии19

Два года ждали: новый релиз «FreeBSD для Mac» — операционной системы ravynOS

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

Кто-то слышал об этом проекте, кто-то нет, но это весьма интересная разработка. Команда ravynOS создаёт операционную систему на базе FreeBSD, стараясь обеспечить совместимость проекта с приложениями для macOS. Оболочка при этом также имеет очень сильную схожесть с интерфейсом macOS. Наработки проекта распространяются под лицензией BSD. Оценить ОС можно, установив загрузочный образ ravynOS 0.5 — он доступен здесь. Подробности — под катом.

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

Есть ли жизнь на arm'е?

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

Заметка написана с целью рассказать о переходе от macOS к Fedora Asahi Remix, встреченных проблемах, попытке их решения и умозаключениях, а не ради холивара в поисках идеальной ОС. Тем более, спорить тут не о чем. Есть плюсы, минусы, предпочтения и обстоятельства, остальное от лукавого.

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

Разработка вредоносного ПО для MacOS: инъекция и закрепление шелл-кода на конечном устройстве

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров4.4K

Мы продолжаем тему о проектировании и разработке вредоносного ПО для macOS. Первую часть публикации вы можете прочитать здесь. 

В этой статье мы:

- Изучим методики инъецирования кода и то, как он применяется в вредоносном ПО;

- Затронем способы обеспечения постоянства хранения;

- В конце мы покажем простой процесс инъецирования шелл-кода и его постоянного хранения. 

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

Разработка вредоносного ПО для MacOS: создание заготовки

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

В этой статье мы погрузимся в мир проектирования и разработки вредоносного ПО для macOS, которая по сути является операционной системой на основе Unix. При исследовании внутренностей системы Apple мы воспользуемся классическим подходом с опорой на базовые знания эксплойтов, программирования на C и Python, а также знакомство с низкоуровневым языком ассемблера. Хотя представленные в статье темы могут быть сложными, я постараюсь изложить их понятным языком.

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

Как зарегистрировать Apple Developer в App Store для физических лиц. Гайд 2024 года

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

В предыдущей статье рассказали, как разработчику зарегистрировать аккаунт в Google Play в 2024 годy. Сегодня подготовили актуальный гайд по регистрации Apple Developer в App Store для физических лиц. Если у вас есть сложности, можете обратиться за помощью к нам. Или пробуйте самостоятельно по инструкции ниже.

Читать далее
Всего голосов 3: ↑1 и ↓2+1
Комментарии15

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

А вы знаете как спит ваш Mac? или же рассказ о Apple Power Nap

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

В далеком 2012 году на презентации WWDC (первая презентация после смерти Стива Джобса) Apple представила легендарную iOS 6. На этой презентации также была представлена система OS X Mountain Lion (версия 10.8). Было представлено много новых функций и нововведений. Кому интересно, вот статья на Вики, но сегодня мы поговорим о функции Power Nap.

Что такое этот ваш Power Nap? И как же спит ваш Mac?

Читать далее
Всего голосов 4: ↑2 и ↓2+2
Комментарии12

Разница между Ctrl+Z и Ctrl+C или рассказ о том как правильно остановить локальный сервер

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

А вы знаете, как остановить локальный сервер? Какое сочетание клавиш использовать?

После этой статьи вы точно будете знать и уметь его правильно останавливать

Я попросил своих друзей оценить одну из моих статей с точки зрения логики, полезности и содержания. Они - очень хорошие специалисты с большим опытом в своей области. И каково было мое удивление, когда я услышал от них ответ, что они не сталкивались с проблемой, о которой я рассказываю далее. И вообще, почему я использую Ctrl+Z для остановки локального сервера?

Что ещё за Ctrl+Z? Прочитать статью
Всего голосов 36: ↑4 и ↓32-23
Комментарии17

Monkey patching в Go, или грабли от Apple

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

Все началось с того, что я в очередной раз немного поменял структуры БД, и в некоторых SQL-запросах добавилась новая колонка. Нормальная ситуация - взять и легким движением руки сломать половину unit test’ов, потому что БДшные моки ожидают определенный текст запроса.

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

От идеи до сервера на Mac mini M2 Pro: как мы запускаем новые продукты

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

Меня всегда интересовало, как создают новые гаджеты, автомобили, самолеты и форматы домов. Сейчас я в команде выделенных серверов Selectel и сам участвую в разработке новых продуктов. Под катом делюсь опытом и рассказываю, откуда мы черпаем идеи и как реализуем проекты. На примере новых конфигураций на базе Mac mini®.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии43

Кто ты, SwiftData

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

Привет! Я Андрей Зонов, стафф-инженер в Тинькофф и большой фанат CoreData. Моя любовь в CoreData началась на старте карьеры, когда я попал в первый Enterprise-проект. Это были времена iOS 4.3., CoreData не имела parent-контекстов и методов perform. Как-то так сложилось, что за свою карьеру я много фиксил классические проблемы в CoreData, и с появлением SwiftData мне стало интересно, остались ли проблемы в SwiftData и что нам дает этот фреймворк. 

В статье разберем основные концепции и киллер-фичи по SwiftData. Пройдемся по основным отличиям и тому, как можно мигрировать с CoreData на актуальную SwiftData. Копнем внутрь SwiftData, узнаем, как она устроена под капотом, и подведем итоги стоит ли вообще переезжать на новый фреймворк Apple. 

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

Как переназначить кнопку dictation на macOS (без стороннего софта)

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

Год назад я купил Mac с функциональными клавишами и столкнулся с кнопкой dictation, которая вызывает стандартную программу для диктовки текста. Перед покупкой я предположил что это кнопка с значком микрофона должна включать и выключать микрофон, каково же было мое разочарование, когда вместо функционала включения и выключения микрофона я получил запуск dictation. Меня не особо устраивал сторонний софт (например: Kabaneri elements), хотелось что-то нативное и небольшое

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

Делаем плавную прокрутку для сторонней мыши в macOS

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

На Mac одни из самых удобных трекпадов, с которыми приятно работать и выполнять ежедневные задачи. Если подключить к любому компьютеру Apple стороннюю мышку, то в глаза сразу бросается прерывистая прокрутка. Со временем это начинает очень сильно раздражать и даже мешать читать текст. В этой статье рассмотрим утилиты, решающие известную проблему macOS.

Читать далее
Всего голосов 17: ↑15 и ↓2+28
Комментарии13
1
23 ...

Вклад авторов