Все потоки
Поиск
Написать публикацию
Обновить
43.6

macOS *

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

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

SOLID в Swift. Простое объяснение с примерами для начинающих

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

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

Давайте рассмотрим каждый из этих принципов с примерами нарушения и соблюдения на языке Swift.

Читать далее

Новый менеджер паролей Raccess

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

Безопасность и целостность данных, пожалуй одна из интереснейших тем в кибертехнической области. Практически все ведущие компании представляют свои решения для безопасного хранения паролей и данных пользователя. Например, новый способ авторизации от Apple, различные приложения для двухфакторной авторизации от Microsoft и Google и, конечно, менеджер паролей от Kaspersky.

Читать далее

WWDC 2023. Что нового для разработчика

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

Всем привет! С вами Анна Жаркова, руководитель группы разработки в ГК Usetech.
Вчера Apple представили Keynote долгожданной WWDC 2023. Как обычно, основная информация по новинкам для разработки вынесена в специальные инженерные сессии, которые будут публиковаться ежедневно всю эту неделю. Краткое описание можно увидеть в What Apple developers need to know at WWDC23

Давайте обсудим основные тенденции и посмотрим, на что будет сделан упор в анонсированных видео. Разумеется, мы не затронем все 175 сессий, но обозначим топовые тематики:

  • SwiftUI,
  • виджеты и App Clips,
  • Swift,
  • безопасность, приватность и сеть,
  • Xcode,
  • VR/AR.

И начнем мы с самой долгожданной для многих разработчиков новинки:
Читать дальше →

MacOS Monterey на Linux — быстро и просто?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров55K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →

Управляем воспроизведением на Mac OS через быстрые команды iOS

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

Хочу поделиться довольно простым, но как показало время, полезным способом управления медиаклавишами macOS из быстрых команд (например iOS), без дополнительных клиент-серверных приложений. Управление происходит с помощью вызова скрипта на python по ssh. Для имитации нажатия медиа клавиш использована библиотека pyobjc-framework-Quartz.

Читать далее

Чего ждать разработчикам от WWDC 2023?

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

Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech. 

Apple уже опубликовала анонс WWDC 2023, который пройдет 5-9 июня. А это значит, что время загадывать и угадывать, что же нового нам представят из инструментария iOS SDK.

И начнем мы со Swift 5.8, который официально вышел (ссылка). В новой версии появились доработки, связанные как с самим sdk и Swift, так и SPM, инструментом документации и SwiftSyntax. Часть новинок уже разобрал у себя Пол Хадсон, и об этом можно почитать здесь, здесь и здесь.

Читать далее

Дорожная карта навыков разработчика на C++

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

Джеймс Гослинг как-то сказал, что Java — это C++, из которого убрали все пистолеты, ножи и дубинки, однако практика показывает, что «ножи и дубинки» становятся классным инструментом в руках опытных разработчиков. В общем, немалая часть проклятий в адрес C++ объясняется элементарным «вы просто не умеете его готовить». Мы в «Лаборатории Касперского» умеем готовить «плюсы» и поэтому любим их. C++ — низкоуровневый язык, который позволяет работать с железом и писать быстрый код и при этом содержит массу возможностей. В экосистеме «плюсов» куча проработанных паттернов, best practices и готовых библиотек под разные задачи. Язык динамично развивается — но сохраняет обратную совместимость. 

В этом посте мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++. Естественно, разбирать путь развития «плюсистов» будем на собственном примере — тем более что у нас в «Лаборатории Касперского» много очень разных проектов с отличающимися задачами. Однако наша карта по большей части универсальна и будет полезна всем, кто хочет развиваться в С++-разработке.

Отправляемся

Как я неделю просидел над десятью строками кода

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


Недавно я столкнулся с серьезным препятствием, когда работал над возможностью перетаскивать вкладки в приложении Warp: если попытаться передвинуть конкретную вкладку, она потянет за собой всё окно. Понадобилась целая неделя изысканий и экспериментов, чтобы установить, откуда берет начало этот баг. Но в конечном итоге я исправил это в pull request-е, который состоял менее чем из десяти строк кода! Это несоответствие усилий выхлопу также заставило меня проникнуться сознанием того, что создание ПО включает в себя гораздо больше, чем просто написание кода. В этой статье я расскажу, как всё происходило.

Немного контекста: Warp – это терминал для разработчиков на базе Rust. При его создании мы использовали собственный кастомный UI-фреймворк, так что всё, что касается вкладок и перетаскивания, пришлось разрабатывать с нуля.
Читать дальше →

Windows по сравнению с MacOS

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

У меня родилась статья в продолжение серии хороших статей:

Перейти с Linux на macOS и не сойти с ума

7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной

Я, старый дурак пользователь Windows (26 лет стажа, ну да, с 1997 г.) решил купить макбук. Вот этот, предпоследний, стильный-модный-молодежный на процессоре M1 Pro. Нафига, а главное зачем - вопрос риторический и не предполагающий ответа (захотелось). Как его можно настроить, чтобы заскорузлому виндузятнику стало возможно использовать этот чудо-компьютер с яблоком без очень сильной боли в одном месте, я попытаюсь написать в этой заметке. Хотел бы я, чтобы полгода назад мне на глаза попалась такая!

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

Говорящая Java

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

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

Статья неплохо зашла, на столько неплохо, что меня пригласили поднимать с колен доступность в IDE на базе IntelliJ.

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

Читать далее

Настройка звукового сигнала запуска на iMac G3 1999 г. в

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

Чтобы изменить звук запуска iMac Slot Loading (модель PowerMac2,1), достаточно старой советской... нужно немного попотеть: изучить ЯП Forth, cделать реверс-инжиниринг пакета обновления, найти и расшифровать файлы, в которых записан звук, подделать контрольную сумму файлов, которые будут загружаться на компьютер. Впрочем, давайте обо всё по порядку.

Читать далее

Avalonia и котики и дизайн для разработчика

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

В эпоху невероятной популярности ChatGPT и OpentAI все кинулись играть с их инструментами и использовать API в своих продуктах. Я был в общих рядах и сделал продукт для тех, кому затруднительно воспользоваться официальным сайтом ChatGPT. Но в этой статье речь пойдет не о восхитительных продуктах MS, а о создании интерфейса с котиками на основе этого продукта.

Итак, у нас стоит задача: создать десктопный чат с GTP3, которым будет удобно пользоваться человеку, далекому от пк.

Читать далее

Диспетчеризация методов в Swift

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

В разных языках программирования применяется механизм диспетчеризации методов (Method Dispatch), и все разработчики имеют с ним дело. Однако, не все это осознают и не все понимают, как этот механизм работает. Поэтому данная статья будет полезна всем разработчикам на Swift, которые хотят погрузиться глубже в диспетчеризацию методов и понять принципы ее работы, что в свою очередь позволит писать более эффективный код и избежать появления некоторых неочевидных проблем. Также статья будет полезна тем, кто в поисках работы – данный вопрос часто обсуждается на собеседованиях iOS разработчиков.

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

Читать далее

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

Kubeflow: учимся устанавливать и запускать Kubeflow на локальной машине

Время на прочтение6 мин
Количество просмотров4.6K
Пошаговое руководство по установке и конфигурированию всех компонентов kubeflow на локальной машине.

image
Рис. 1. Взаимодействие Kubeflow и Kubernetes | рисунок автора |иконки от Eucalyp

Kubeflow [1] – это созданная Google опенсорсная платформа, на которой разворачивается весь жизненный цикл разрабатываемой модели машинного обучения. Kubeflow представляет собой инструментарий, каждый компонент которого применяется для отработки каждой из стадий жизненного цикла при машинном обучении, а именно: исследования данных, конструирования признаков, преобразования признаков, обучения модели, оценки модели, тонкой настройки модели, предоставления модели и версионирования модели. Главный атрибут kubeflow заключается в том, что он предназначен для работы на базе kubernetes [2]. Таким образом, kubeflow пользуется именно теми преимуществами, которые предоставляет кластер kubernetes, в частности, оркестрацией контейнеров и автомасштабированием.
Читать дальше →

Табличная классификация и регрессия Apple ML

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

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

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

Читать далее

11 MacOS приложений для продуктивной работы с трекпадом

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

MacOS имеет большой набор возможностей по управлению с помощью трекпада, но следующие 11 приложений сделают вашу работу с ним ещё продуктивнее.

Читать далее

Запускаем Vagrant на MacOS Apple M1/M2

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

Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей.

Vagrant остаётся одной из самых популярных утилит для подобных задач, имеет гибкий синтаксис и поддержку базовых алгоритмических структур – можно поднимать N и K машин в цикле, используя заранее вводимые переменные, а потом еще и ansible-inventory генерировать на выходе, разбивая машины по группам.

Долгое время я оставался пользователем MacBook на процессоре Intel, но больше так продолжаться не могло – пришлось сменить компьютер, хотя я и знал о некоторых особенностях работы М1 с виртуальными машинами.

В этой статье я расскажу, как настроить и запустить Vagrant на процессорах Apple M1/M2 и вернуться в привычный рабочий режим.

Читать далее

SwiftUI в 2022. Что нового?

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

Всем привет, с вами я, Наиль Габутдинов, iOS разработчик.

Apple выпустила первый SwiftUI в 2019 году, предлагая тем самым новый подход создания приложений в декларативном стиле. SwiftUI 4.0, представленный этим летом на WWDC 2022 вместе с iOS 16 и macOS 13 включает в себя много нововведений для более качественных и универсальных приложений под разные платформы Apple с меньшим количеством кода.

Давайте посмотрим, что нового.

Читать далее

Используем Objective-C в C++ без проблем

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

Интегрируем Objective-C код из Apple SDK в C++ проект, без переписывания всего проекта на Objective-C++, с использованием PIMPL идиомы. Также, сборка всего проекта вместе с использованием Makefile и CMake (для генерации .xcodeproject).

Читать далее

Яблочный Kali Linux

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

Приветствую всех! В данной статье я хотел поделиться с Вами своим опытом по установке операционной системы Kali Linux на MacBook с процессором Intel. В использовании UNIX-подобных операционных систем я новичок, для обучения основам и специфики рабочих задач я выбрал пару подходящих для себя дистрибутивов один из которых Kali Linux, однако в моем арсенале имеется только техника компании Apple, один экземпляр из моего яблочного стафа это старенький MacBook 12 он и станет жертвой для операции приданию Kali яблочного вкуса.

Открыть полностью

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