Обновить
25.99

macOS *

Настольная ОС компании Apple

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

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

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

Привет, меня зовут Андрей, и я написал книгу.

Нет, не о синтаксисе и не про очередной набор «лучших практик».
А о том, что часто остаётся за кадром — в рефлексии, в мыслях после проектов, в спорах между «пишем быстро» и «делаем правильно».

Читать далее

Руководство по использованию unsafe в Swift

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

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

Читать далее

Потоки под капотом: как работают многопоточность и синхронизация в iOS

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели11K

Привет! Я Александр Сычев, iOS‑эксперт в KTS. В этой статье поговорю о потоках.

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

В данной статье мы рассмотрим детали этой темы, а именно:

проанализируем работу потоков;

выявим скрытые механизмы, обеспечивающие их функционирование;

определим, какую пользу практикующим iOS‑разработчикам приносит понимание внутреннего устройства потоков.

Читать далее

Кросскомпилируем под macOS с OSXCross

Время на прочтение7 мин
Охват и читатели465

Давно интересовал вопрос возможности кросскомпиляции под macOS. Как оказалось, на самом деле это не составит особых проблем.

В этой статье мы установим тулчейн, а так же кросскомпилируем пару учебных примеров на языках C и Rust. В качестве host будет выступать Ubuntu 24.04 на amd64, а в качестве target - macOS 14 (Sonoma) на Apple Silicon.

Читать далее

CryptoPro CSP на macOS

Время на прочтение3 мин
Охват и читатели1.1K

Ниже расширенная версия с дополнительным вступлением и описанием проблемы, основанная на ранее предоставленных рекомендациях по настройке Stunnel для работы с Rutoken и CryptoPro CSP на macOS.

В современных условиях безопасный обмен данными по сети — одна из важнейших задач для организаций и частных лиц. При этом важно не только шифровать трафик, но и соблюдать требования национальных криптосредств (например, CryptoPro), а также использовать надёжные аппаратные токены (например, Rutoken).

Применение Stunnel позволяет «обернуть» обычное TCP-соединение в защищённый TLS-туннель. Однако на macOS при работе со стандартными драйверами часто возникает конфликт между встроенным Apple Security Framework и CryptoPro. Кроме того, если вы используете Rutoken для хранения сертификатов, нужно убедиться, что система «видит» корректный считыватель и сертификаты. Все эти вопросы усложняют процесс настройки Stunnel, но при правильном подходе их можно успешно решить.

Читать далее

Как мы добавляли поддержку Apple Silicon в анализатор (arm64)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели581

С выходом PVS-Studio 7.34 стали доступны нативные сборки анализатора для macOS на архитектуре Apple Silicon (ARM). В этой заметке мы хотели бы подробнее рассказать о проделанной работе, а также предложить советы по портированию кроссплатформенных инструментов на новую перспективную архитектуру.

Читать далее

Shortcuts на Mac или как сократить Dock

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели783

Всем привет!

Меня зовут Ваня и это моя первая статья на Хабре (надеюсь, что и не последняя).

Содержание за 2 секунды: сокращаем Dock при помощи Shortcuts.

Отправиться в путешествие по Shortcuts

iOS-разработчики игнорируют важную системную фичу, и это ломает их приложения

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели1.6K

Как минимум одна из фич iOS реализована действительно хорошо — это системное резервное копирование, и всё, что связано с автоматическим переносом данных при переезде с одного iPhone на другой.

Однако в случае с некоторыми iOS-приложениями старания Apple внезапно разбиваются о небрежность их разработчиков. Именно с этим я недавно столкнулся, выполнив перенос данных со своего старого iPhone на новый, и много где результаты оказались довольно печальными. Полностью упоролось, например, приложение Тинькофф Банка.

И тут возникает закономерный вопрос — почему так получается, что с этим делать?

Читать полностью

Todo-лист на максималках: разбираем архитектуру крупного приложения

Уровень сложностиСложный
Время на прочтение31 мин
Охват и читатели5.3K

В этой статье я покажу, как устроена многослойная архитектура крупного реактивного web-приложения, и особенности его запуска под Electron. Материал будет полезен, если вы планируете начать свою разработку, хотите попробовать себя в роли архитектора, вас не пугает Shared Workers, Service Workers или, в конце концов, вы хотите это попробовать или разобраться.

Читать далее

5 способов установить и нативно использовать ChatGPT на компьютерах Mac

Время на прочтение7 мин
Охват и читатели14K

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

Читать далее

Зачем нужна нотаризация приложений Apple?

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели716

Подписание и «нотариальное заверение» (в дальнейшем мы используем устоявшийся в сообществе термин нотаризация — прим. ред.) приложений и другого исполняемого кода — тема довольно спорная. За последние годы Apple постепенно вводила всё более строгие правила и теперь требует, чтобы разработчики заверяли свои приложения и код, распространяемые даже вне App Store. В этой статье мы попытаемся объяснить, почему это необходимо и как это усиливает безопасность Mac.

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

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

Читать далее

Зачем я написал ещё одну утилиту мониторинга CPU для Мака

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.4K

Привет, чат. Хочу во-первых рассказать вам историю разочарования в довольно известной утилите мониторинга потребления энергии и загрузки CPU для macOS — MX Power Gadget. А во-вторых, поделиться очень простой заменой, которую я собрал за пару вечеров — pgauge.

Читать далее

[САТИРА] Ох, блин, во что ж ты вляпался в этот раз?

Время на прочтение5 мин
Охват и читатели1.5K

Перевод очень неоднозначного поста о популярном Гитхаб репозитории, или:

Уморительный рассказ о том, как ленивое воскресенье, лагучий браузер и стремление познать Раст, случайно произвели привлекательный графический монитор системы.

Читать далее

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

Управление памятью в ассемблере для Apple Silicon

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели2.1K

В статье мы познакомимся с языком ассемблера для Apple Silicon (ARM64). Рассмотрим основные регистры, запись данных из регистров в память и обратно. Затронем также и базовые навыки работы с LLDB.

Читать далее

macOS сильно переоценена

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели22K

Добрый день! Сегодня я хочу обсудить с вами весьма противоречивую для меня операционную систему — macOS. Вокруг неё ходит немало легенд, слухов и мифов, которые я постараюсь сегодня развеять. Усаживайтесь поудобнее — статья будет интересна как опытным маководам, так и тем, кто никогда не видел эту операционную систему вживую.

Окунуться в мир macOS

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели1.6K

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

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

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

Читать далее

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

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

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

Как это сделать?

Он вам не «MacOS»

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

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

Погрузиться

arm linux на apple silicon mac

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

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

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

Читать далее

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