Рубрика «MacOS» - 7

Квалифицированная электронная подпись под macOS - 1

По данным РБК и Тензор, в 2019 году в России будет выдано 4,6 млн. сертификатов квалифицированных электронных подписей (КЭП), соответствующих требованиям 63-ФЗ. Получается, что из 8 млн. зарегистрированных ИП и ООО каждый второй предприниматель пользуется электронной подписью. Помимо КЭП для ЕГАИС и облачных КЭП для сдачи отчетности, выдаваемых банками и бухгалтерскими сервисами, особый интерес представляют универсальные КЭП на защищенных токенах. Такие сертификаты позволяют логиниться на гос.порталы и подписывать любые документы, делая их юридически значимыми.

Благодаря сертификату КЭП на USB-токене можно удаленно заключить договор с контрагентом или дистанционным сотрудником, направить документы в суд; зарегистрировать онлайн-кассу, урегулировать задолженность по налогам и подать декларацию в личном кабинете на nalog.ru; узнать о задолженностях и предстоящих проверках на Госуслугах.

Представленный ниже мануал поможет работать с КЭП под macOS – без изучения форумов КриптоПро и установки виртуальной машины с Windows.

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

Автоматизировал задание файловых ассоциаций, то есть выбор программы которая будет открывать файл из Explorer/Finder. И делюсь.

Сначала проблематика… Файлы нужных расширений часто не открываются по умолчанию ничем, а если открываются, то каким-нибудь iTunes. Под windows нужные ассоциации, бывает, и вовсе теряются при установке (или даже деинсталяции) программ: снесёшь, бывало, GIMP, а ico-файлы перешли во владение от привычного просмотрщика файлов к стандартной Photo Gallery. Почему? Зачем? Неизвестно… А если нашёл новый редактор или, по разным причинам, свежая инсталляция? А если компьютер не один? В общем, кликать мышками в диалогах — развлечение такое себе.

Вместо этого я сохранил два файлика на Dropbox и теперь привести компьютерный мир к привычному состоянию можно почти мгновенно. И чего ждал столько лет… Далее рецепт для Windows и macOS.

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

В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM.

SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его основе лежит графическая технология OpenGL, а за создание окон отвечает библиотека GLFW. Используя данный фреймворк, вы можете работать и создавать графические клиентские приложения в операционных системах Linux, Mac OS X, Windows. Для программистов C# в данное время это особенно актуально, учитывая, что Microsoft не собирается переносить WPF на другие ОС и Avalonia является единственным возможным аналогом. Особенностью же SpaceVIL в этом конкретном случае является мультиязычность, то есть на данный момент фреймворк под .Net Core можно использовать в связке со следующими языками программирования: C#, VisualBasic. Фреймворк под JVM можно использовать в связке с языками Java и Scala. То есть, SpaceVIL можно использовать с любым из этих языков и итоговый код будет выглядеть одинаково, поэтому при переходе на другой язык переучиваться заново не придется.

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

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

Приложения, размещенные в строке меню, уже давно известны пользователям macOS. У некоторых из этих приложений есть «обычная» часть, другие размещены только в строке меню.
В этом руководстве вы напишете приложение, которое показывает во всплывающем окне несколько цитат известных людей. В процессе создания этого приложения вы научитесь:

  • назначать иконку приложения в строке меню
  • делать приложение размещенным только в строке меню
  • добавлять пользовательское меню
  • показывать всплывающее по запросу пользователя окно и прятать его, когда необходимо, используя Event Monitoring

Замечание: это руководство предполагает, что вы знакомы со Swift и macOS.

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

image

В начале эпохи домашних компьютеров существовала компания под названием Apple. Она только что заработала огромный успех благодаря линейке компьютеров Apple II, но чтобы оставаться на вершине быстро развивающегося компьютерного рынка, ей необходимы были инновации. Компания уже работала над линейкой Lisa, которая вдохновлялась мини-компьютерами и была предназначена для бизнес-пользователей, а значит, и имела соответствующую цену, но для среднестатистического потребителя она казалась слишком дорогой. В качестве дополнительного проекта был разработан Macintosh, который должен был стать реализацией идеи нового поколения компьютеров для «людей с улицы» и стоить около 500 долларов. Проектом занялся Стив Джобс, и под его руководством «железо» стало более продвинутым, ПО получило вместо текстового интерфейса GUI, а цена взлетела почти до 2500 долларов. Хотя оборудование, получаемое за эту цену, немного разочаровывало, например, ему не хватало графических ускорителей и звуковых возможностей, имевшихся у других машин, зато цену оправдывало ПО. Первым Macintosh был Mac 128K, и его успех подтолкнул к созданию более продвинутых моделей этого компактного Mac, в частности, Macintosh 512K, Macintosh Plus и серии Macintosh SE.

Хотя разработка Macintosh происходила примерно в 1984 году, задолго до того, как я начал разбираться в компьютерах, я питаю к компактным Macintosh какую-то слабость: первым компьютером, купленным моими родителями, был Macintosh Plus. Позже он был дополнен жёстким диском SCSI на 20 МБ, и на этой машине я писал свои первые программы на Basic. Когда ещё жил в Нидерландах, я купил сломанную машину SE/30 и превратил её в Linux-сервер, который тем не менее способен был запускать ПО для Mac. Однако я оставил эту машину в Нидерландах, а здесь, в Шанхае, у меня больше нет классического «железа» Apple.

Хоть и очевидно, что в повседневной жизни Mac Plus мне больше не понадобится, мне понравилась идея иметь его под рукой на случай приступов ностальгии.Читать полностью »

Команда Google Project Zero хорошо известна своим умением находить недостатки безопасности как в собственных продуктах компании, так и в продуктах других фирм. Её члены обнаруживают недостатки в программном обеспечении, сообщают о них производителям в частном порядке и дают им 90 дней на решение проблемы до ее публичного раскрытия.

Команда Google Project Zero нашла серьезную уязвимость в ядре macOS - 1

В ноябре они нашли "серьезную уязвимость" в ядре macOS.

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

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

Дайджест интересных материалов для мобильного разработчика #284 (28 января — 3 февраля) - 1Читать полностью »

Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже - 1
*Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью.

В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — это функции, данные и их согласованная работа друг с другом. С функциями особых проблем нет, перенаправляем поток выполнения из старой функции в новую, и все работает. Проблема возникает с данными (статическими и глобальными переменными), а именно со стратегией их синхронизации в старом и новом коде. В первой реализации эта стратегия была очень топорной: просто копируем значения всех статических переменных из старого кода в новый, чтобы новый код, ссылаясь на новые переменные, работал со значениями из старого кода. Конечно это некорректно, и сегодня мы попытаемся исправить этот изъян, попутно решив ряд небольших, но интересных задач.
В статье опущены детали, касающиеся механической работы, например чтение символов и релокаций из elf и mach-o файлов. Упор делается на тонких моментах, с которыми я столкнулся в процессе реализации, и которые могут быть полезны кому-то, кто, как и я недавно, ищет ответы.

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

image

* Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux.

Гуляя по гитхабу одним субботним днем, я наткнулся на библиотеку, реализующую обновление c++ кода налету для windows. Сам я слез с windows несколько лет назад, ни капли не пожалел, и сейчас все программирование происходит либо на Linux (дома), либо на macOS (на работе). Немного погуглив, я обнаружил, что подход из библиотеки выше достаточно популярен, и msvc использует ту же технику для функции "Edit and continue" в Visual Studio. Проблема лишь в том, что я не нашел ни одной реализации под не-windows (плохо искал?). На вопрос автору библиотеки выше, будет ли он делать порт под другие платформы, ответ был отрицательный.

Сразу скажу, что меня интересовал только вариант, в котором не пришлось бы менять существующий код проекта (как, например, в случае с RCCPP или cr, где весь потенциально перезагружаемый код должен быть в отдельной динамически загружаемой библиотеке).

"Как так?" — подумал я, и принялся раскуривать фимиам.

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

Принято считать, что Wallet – не самый популярный сервис в СНГ. Но уже во втором проекте подряд заказчик ставит задачу «Сделать интеграцию с Wallet». Поэтому я решил написать эту статью, чтобы рассказать о сервисе в целом и показать, как интегрировать в него свой продукт.

Что такое Wallet? Он позволяет держать в телефоне различного вида карты (билеты, скидочные карты и т.п.), облегчая жизнь пользователям продукта. Более того, есть возможность актуализировать информацию о карте посредством push-уведомлений, но это тема для отдельной статьи. Но если у вас есть карта/билет/абонемент, которые можно интегрировать в телефон, то для этого есть решение! Как это сделать – читайте ниже.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js