10 советов, как не потерять деньги при отправке swift-перевода за границу

Введение в Swift playgrounds

После запуска Xcode на экране вашего Mac отобразится следующее окно:

В левой части выберите пункт Get started with a playground. Xcode предложить вам присвоить имя проекту. Введите подходящее имя, например MyPlayground. Нажмите кнопку Next и выберите каталог на жестком диске, где будет храниться файл проекта.

Рабочая область экрана разделена на две части. Это сделано с целью визуального разделения кода и результата его выполнения. Слева отобразится следующая информация:

//: Playground – noun: a place where people can play import UIKit
var str = "Hello, playground"

Справа вы увидите первый пример выполнения кода: Hello, playground.

Двойной слэш (//) в первой строке исходного кода — это строчный комментарий. С его помощью можно вставлять заметки в исполняемый код. Они помогут вам разобраться в собственном коде, когда вы возвратитесь к нему через какое-то время, а также помогает в случае коллективной работы над приложением.

Playground автоматически выполняет введенный нами код, а также обновляет результаты его выполнения. Например, если мы напишем имя переменной str, то в правой части окна дважды отобразиться текст «Hello, playground»: первый раз при инициализации переменной, второй — при выводе ее имени.

Что с App Store, Apple Music и другими сервисами Apple?

Apple регулярно обновляет главную страницу App Store в России.

Apple продолжает поддерживать практически все свои сервисы для российских пользователей и русских аккаунтов Apple ID. По крайней мере, пока что.

Apple Music: работает, за исключением треков, чьи правообладатели запретили прослушивание песен в российских аккаунтах.

Apple TV+: работает. Новые сериалы и фильмы пока что выходят с российской озвучкой. Последний релиз – Доисторическая планета с Николаем Дроздовым.

iTunes Store: работает на тех же условиях, что и Apple Music. С фильмами ситуация аналогична – доступны те, чьи правообладатели не «ушли» из России.

App Store: работает, за исключением доступности некоторых приложений, чьи издатели и разработчики отказались от российского рынка. Удалены клиенты банков ВТБ, Сбера и Альфы. ВТБ уже выкрутился. Ежедневно на главной странице появляются свежие подборки и советы от русскоязычной редакции сервиса, в том числе исключительно «локальные».

Apple Arcade: работает. Новые игры выходят для российских аккаунтов вместе с мировыми релизами.

Apple Fitness+: работает. Выходят новые тренировки.

Apple Pay: не работает для карт российских банков за рубежом и для любых карт – в России.

iCloud: работает в полном объёме и по условиям, аналогичным таковым до февраля 2022 года.

В итоге из серьёзных потерь для российских пользователей – нерабочий Apple Pay, недоступность ряда треков и альбомов в Apple Music и сокращение количества доступных программ в App Store. Остальное работает.

Выбор банка-отправителя

Банк-отправитель — главный канал коммуникации по вашему платежу. Если возникнут сложности, то именно банк-отправитель будет дозапрашивать у вас информацию и пересылать её по цепочке в другие банки.

Последнее время есть вопросы и к финансовым организациям, которые считались образцом клиентского сервиса — пользователи жалуются как на «Тинькофф», так и на «Альфа-Банк».

Основные критерии при выборе банка:

  • не отключен от SWIFT;
  • адекватная поддержка валютных переводов;
  • возможность открытия брокерского счета (теоретически можно менять в одном банке, а отправлять в другом, но это дополнительный риск);
  • наличие дружественных банков-корреспондентов в валюте отправления — большой плюс;
  • разумная комиссия за SWIFT-перевод.

В евро хорошо ходят деньги из «Райффайзен». Платежи в Черногорию доходят зачастую за 3 часа. Единственное огорчение — минимальная комиссия 60 евро. Ещё из плюсов: «Райффайзен» перестал отправлять платёж, если видит высокий риск, что деньги не дойдут до банка-получателя.

Производительность и архитектура Apple А9 характеристики:

  • Микропроцессор А9 работает на 64-ти битной архитектуре Cyclone третьего поколения.
  • Оборудован мощной шиной обмена с ОЗУ на 128 бит.
  • Если речь идет об iPhone 6S и 6S плюс поколений, то у них используется передовая на то время LPDDR4 оперативная память объемом в 2 гигабайта.
  • А9 оборудован довольно большим количеством кэша второго и третьего уровней (в 3 и 8 мегабайта соответственно) и значительной для мобильных процессоров частотой в 1.8 Ггц. Это позволяет ему и смартфонам, оборудованным им, оставаться актуальными в плане производительности в большинстве задач, несмотря на всего 2 физических ядра микропроцессора. А в купе с очень «грамотной» и проработанной архитектурой А9 опережал по производительности своих 4-х и даже 8-ми ядерных конкурентов.

А9 в свое время более чем достойно конкурировал с решениями на базе мобильных процессоров от «мастодонтов» AMD и Intel, при чем даже по показателям самого кристалла, а не только вкупе с фирменным качеством и дизайном Apple.

Процессор имеет свое собственное, встроенное графическое ядро, использующее 192 унифицированных графических процессоров (к примеру, старшие модели имели только 128). Это дает более чем достаточную для мобильного телефона графическую мощность, позволяющую играть в большинство мобильных игр вплоть до 2017-2018 года выхода.


Фото: Технические характеристики Apple A9

Первые последствия

Пойдя на этот шаг, пишет IDropNews со слов Чжэна Ли, Intel не нарушила условия договора с Apple – у компании по-прежнему был эксклюзивный процессор, который действительно использовался исключительно в MacBook Air. Придя к Dell и HP, Intel тем самым дала начало эре так называемых «ультрабуков» – Windows-ноутбуков в очень тонких и легких корпусах. Впоследствии сама Intel активно продвигала ультрабуки, позиционируя их как новый класс мобильных ПК.

Стив Джобс на премьере первого MacBook Air в 2008 году

Первые ультрабуки Dell и HP увидели свет спустя год с момента появления оригинального Apple MacBook Air. По словам Чжэна Ли, Intel не сделала ничего плохого, да и сама Apple в значительной степени предполагала, что подобное может произойти. В итоге лучшее, на что она могла рассчитывать в этой ситуации – это полгода-год до того момента, как ее прямые конкуренты выпустят свои сверхлегкие и тонкие ноутбуки.

Как пришел в Neti

— Почему именно в Neti?

Я начал сотрудничать с Neti, еще когда работал в Luxoft. Осенью 2019 года мне написал руководитель проектов и спросил, могу ли я помочь с приложением для застройщика. Клиент хотел загружать в приложение тяжелые документы в формате pdf и оставлять в них замечания. РП вообще не был уверен, что это возможно сделать, а я реализовал функционал нативно, без библиотек. После этого я остался на проекте, а летом 2020 года перешел в штат Neti.

— И как тебе здесь?

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

Где применяется Swift?

Как вы уже знаете, речь идет о языке экосистемы Apple.

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

Однако на этом возможности его использования не ограничиваются.

Все чаще технология применяется для создания серверных решений в качестве альтернативы языкам Go и Rust. 

Swift – узконаправленный ЯП

Для бэкенд-разработки уже создано несколько фреймворков Swift.

  • Perfect. Самый востребованный фреймворк, заточенный под написание серверной части приложений. Поддерживает WebSocket, ORM и коннекторы баз данных. 
  • Vapor. Отличается от Perfect более простой структурой, имеет такой же большой набор фишек, заточен больше под веб-разработку. Большой плюс – обширная документация. 
  • Zewo. Наименее развитый из всех Swift-фреймворков для бэкенда. На данный момент его реальное применение затруднительно, остается надеяться, что он будет улучшен. 
  • Kitura. Поддерживается самой IBM, хоть и располагает куда более скромной документацией в сравнении с Perfect и Vapor. Отличается схожим с Express.js дизайном. 

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

Несмотря на это, некоторые энтузиасты создают экспериментальные биндинги для использования совместно с GTK+. Не исключено, что в ближайшие годы нужные библиотеки появятся, и Swift-разработка под Linux станет полноценной.

Фактор седьмой: разрешение экрана

Есть и еще один момент, который стоит упомянуть. Это — разрешение дисплея. Как известно, стандартные модели iPhone оснащаются экранами с разрешением HD, модели Plus — Full HD. Производители же смартфонов под управлением Android, использующие флагманские чипсеты Qualcomm, стараются устанавливать экраны с разрешением QHD — 2560 × 1440. Ну, как самый минимум — Full HD, но такое во флагманских смартфонах встречается, увы, нечасто.

Почему «увы»? Потому что разрешения выше Full HD на экранах с IPS-матрицей диагональю до 5,7″ включительно более чем достаточно. Для AMOLED-экранов, у которых, во-первых, структура субпикселей PenTile, а во-вторых, может быть поддержка очков виртуальной реальности Google VR (кстати, а какому проценту пользователей она реально пригодилась?), оправданность QHD-разрешения еще можно как-то аргументировать.

Несколько в стороне стоит iPhone X с разрешением 2436 × 1125 — впрочем, это, по сути, мало отличается от Full HD. Для сравнения: разрешение экрана Samsung Galaxy S8 — 2960 × 1440, то есть в полтора раза больше пикселей, чем в iPhone X.

А теперь представь, что мы сравниваем производительность iPhone 8 с его разрешением HD и какую-нибудь Nokia 8 с QHD. Представил? Nokia приходится обрабатывать почти в четыре раза больше пикселей, чем iPhone, что не может не сказаться на энергопотреблении и на производительности (как минимум в тех тестах, которые используют вывод на экран)

Я сейчас ни в коей мере не оправдываю старенькие экраны, которые Apple с маниакальным упорством продолжает устанавливать в устройства стоимостью под тысячу долларов, а просто заостряю внимание на том, что производительность и энергоэффективность устройств с экранами низкого разрешения даже при прочих равных будет выше, чем у смартфонов с экранами QHD

Что-то такое заподозрили и производители. Так, Sony Xperia Z5 Premium, экран которого (кстати, IPS, бесполезный для целей VR) имеет физическое разрешение 4K (на самом деле нет, даже здесь маркетологи ), но логическое — «всего лишь» Full HD, что позволило производителю и потребителя обмануть, и не слишком сильно убить производительность. Похожим образом поступили и в Samsung, разрешив использовать пониженное логическое разрешение на экранах с высокой плотностью точек. Очевидно, интересы маркетологов идут вразрез с интересами как пользователей этих устройств, так и собственных разработчиков компании.

Возвращаясь к началу начал: Apple A6/A6X (Swift)

Первый процессор разработанный Apple (Swift) дебютировал в КнК Apple A6/A6X во второй половине 2012 года. В момент своего появления он был быстрее чем все процессоры для мобильных устройств – но Samsung и Qualcomm без труда указали выскочке его место… Я уже решил было пропустить Apple A6/A6X, начав летопись чипов на основе “яблочных” процессоров с Apple A7 – но без него не получалось.

Я сдался. Отрывочных сведений про Apple A6 и Apple A6X в материалах на другие темы, видимо, и в самом деле недостаточно. И вот я иду на поводу, извините если я нарушаю хронологию изложения.

Вернемся в осень 2012 года. В сентябре того года Apple представила iPhone 5, в октябре iPad четвертого поколения, внутри КнК (System-on-Chip, SoC) которых главную роль играл 2-ядерный процессор собственной разработки. В мире не так много компаний, способных разработать свой процессор – и отныне Apple была одной из них.

Значение этого события трудно переоценить. Это как успешный вывод спутника на орбиту в 60-е годы прошлого века, если не сложнее. По результатам тестов и испытаний, новинка была ближе к лидерам в своём сегменте микроэлектроники, и было еще кое-что чего никто не заметил (об этом чуть позже) – но ничего особенно выдающегося в 2-ядерном Swift и в самом деле не было.

Это продолжение серии про процессоры от Apple. Предыдущие части:

Другие ожидаемые нововведения

Так как масштабы работы Apple огромны и компания вынуждена заблаговременно заказывать у множества поставщиков колоссальные объёмы комплектующих, скрывать что-то для неё становится весьма сложным. И тем не менее во время презентации новых iPhone 14 Apple ещё запросто может удивить чем-то таким, что отсутствовало в прогнозах любых аналитиков.

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

  • Отказ от традиционного разъёма и формата SIM-карт. Звучит весьма странно и спорно, но Apple якобы действительно это сделает. Такой ход поможет увеличить свободное пространство внутри корпуса (например, для батареи), ещё сильнее увеличить защиту корпуса от воды, а пользователя избавить от физических-операций с SIM-картой;
  • Новый модем. На «вооружении» iPhone 14 окажется модем X65 от Qualcomm. Его теоретическая пиковая скорость загрузки в сетях 5G составляет 10 Гбит/с против 7.5 Гбит/с в модемах для iPhone прошлого поколения;
  • LiDAR во всех версиях, не только в Pro. Данный слух приписывался ещё линейке iPhone 13, но, возможно, станет реальностью в этом году, с выходом моделей iPhone 14. LiDAR, напомним, значительно улучшает точность эффектов дополненной реальности, скорость фокусировки и влияет на работу портретного режима съёмки;

Есть надежда, что в этом году датчик LiDAR, необходимый для трёхмерного анализа сцены, получат все модели iPhone. Сейчас он есть только в Pro-версиях

Ускоренная проводная и беспроводная зарядка. Одна из особенностей, по которой iPhone сильно отстают от современных Android-смартфонов даже среднего уровня – скорость зарядки. Пользователю приходится слишком долго ждать, когда девайс снова будет готов к работе. Apple запросто могла бы превратить нынешние ~25 ватт хотя бы в 40, что ускорило бы зарядку в полтора раза.

Есть также и другие вещи, которые Apple технически вполне могла бы добавить в iPhone нового поколения. К примеру, поддержку спутниковой связи (в качестве сигнала SoS) или функцию всегда активного дисплея, аналогичную той, что есть в смартфонах Android. Более подробно про такие возможности мы рассуждали в статье про настоящие и будущие функции Apple iPhone.

Серия W

Серия Apple «W» — это семейство «системы на кристалле» (SoC) и беспроводных чипов с акцентом на возможности подключения по Bluetooth и Wi-Fi.

Яблоко W1

Apple W1 — это SoC от Apple, который используется в AirPods 2016 года и некоторых наушниках Beats . Он поддерживает соединение Bluetooth с компьютерным устройством и декодирует передаваемый на него аудиопоток.

Яблоко W2

Apple W2 используется в Apple Watch Series 3 . Он интегрирован в Apple S3 SiP. Apple сообщила, что внедрение этого чипа делает Wi-Fi на 85% быстрее, а Bluetooth и Wi-Fi на 50% более энергоэффективными, чем конструкция чипа предыдущей модели.

Яблоко W3

Apple W3 используется в Apple Watch Series 4 и Series 5 . Он интегрирован в планшеты Apple S4 и Apple S5 SiP. Он поддерживает Bluetooth 5.0.

Фишки первого iPhone: сделано в Samsung

Сейчас это кажется безумным, но в первых трех поколениях iPhone мы находим микропроцессоры производства Samsung. По правде говоря, южнокорейская компания является не только конкурентом Apple по продаже смартфонов, но и одной из самых востребованных компаний в производстве таких компонентов, как этот тип микросхем и даже экранов. Не зря мы находим iPhone, на котором также устанавливаются панели этой марки, хотя это уже другая история.

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

iPhone (оригинал), iPhone 3G и iPhone 3GS установлен чип с почти труднопроизносимым именем, Самсунг S5L8900 ARM 11 . Именно в его названии мы находим тип используемой архитектуры: ARMv6 с одним ядром. У него был графический процессор PowerVR, который брал на себя те же задачи производительности, что и на настольном компьютере. Это было с тактовой частотой от 412 до 666 МГц на самом низком и высоком пиках соответственно, с 16 Киб кеша .

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

1. Философия

Чтобы лучше понять Swift, Apple за последние несколько лет создала нам условия для структурных улучшений в Objective-C. Улучшения Objective-C, такие как кодовые блоки, литеральные массивы и словарные определения, и ARC (Automatic Reference Counting) — это всего лишь несколько вещей Apple, добавленых в Objective-C, что облегчает переход на Swift.

Одним из важных элементов философии Swift является инициализация кода. Все объекты и переменные, определенные в Swift, должны быть инициализированы в коде. Неинициализированный объект или переменная приведет к ошибке времени компиляции в Swift. Это гарантирует, что объект или переменная всегда имеет значение. В Swift есть один специальный случай, когда начальное значение не может быть определено. В этом специальном случае ваша переменная называется optional. Мы рассмотрим варианты во второй части этой серии.

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

Одним из последних элементов философии Swift является его предпочтение константам перед переменными. Swift определяет переменные и константы следующим образом:

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

Теперь для Swift существует гораздо больше нескольких синтаксисов и улучшений форматирования. Swift был построен с нуля, чтобы исправить множество распространенных C/C ++ и, по сути, источников Objective-C, таких как:

  • индексы вне диапазона в массивах
  • неинициализированные данные
  • непроверенные типы возврата
  • непроверенный доступ к указателю
  • неявное падение
  • ошибки goto

Как тот, кто работает как для iOS, так и для Android, я знаю из первых рук, насколько интереснее кодирование для платформы iOS на самом деле с Cocoa и UIKit. Эта серия покажет вам, насколько более интересным может быть кодирование, добавив Swift в микс.

Операторы сравнения

Swift поддерживает все стандартные операторы сравнения C :

  • Равно ( )
  • Не равно ( )
  • Больше чем ( )
  • Меньше чем ( )
  • Больше или равно ( )
  • Меньше или равно ( )

Каждый из операторов сравнения возвращает значение, чтобы указать, верно ли утверждение:

Операторы сравнения часто используются в условных выражениях, таких как :

Для получения дополнительной информации об операторе см. Поток управления .

Вы можете сравнить два кортежа, если они имеют одинаковый тип и одинаковое количество значений. Кортежи сравниваются слева направо, по одному значению за раз, пока сравнение не обнаружит два значения, которые не равны. Эти два значения сравниваются, и результат этого сравнения определяет общий результат сравнения кортежей. Если все элементы равны, то сами кортежи равны. Например:

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

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

Санкции Apple

На момент публикации материала «М.Видео-Эльдорадо» не ввозила технику Apple, опасаясь, что «серые» устройства с известным всему миру логотипом на корпусе не будут работать на территории России. В компании полагают, что они могут не активироваться, пишут «Известия».

Один из источников издания утверждает, что у Apple есть возможность отслеживания оптовых закупок ее устройств. Другими словами, компания, которая открыто показала свое нежелание работать в России, будет знать, если часть выпущенных ею iPhone, MacBook и iMac окажется на территории этой страны. Владея этой информацией, она может удаленно заблокировать устройства, в результате чего пользоваться ими будет невозможно.

Структура памяти

Виртуальное адресное пространство процесса поделено на следующие области (указанны в порядке следования в памяти):

  1. Инструкции, код программы.
  • Глобальные данные.
  • Куча (Heap).
  • Пустое пространство, куда при необходимости расширяются куча и стек.
  • Стек (Stack).

Экземпляры всех объектов, которые мы создаем в процессе разработки приложения (классы, структуры, функции, перечисления, кортежи и т.д.), хранятся в Куче и Стеке. Это две принципиально разные структуры, со своими «законами» и «правилами».

Стек

Стек в виртуальной памяти является реализацией структуры данных , работающей на основе принципа LIFO (Last in, First Out — Последний пришел, первый ушел). Все объекты, помещенные в стек, удаляются в обратно порядке. Определение размера выделяемой в стеке памяти происходит еще во время компиляции программного кода.

Стек предназначен для хранения и ссылок на .

Фреймы

Как только в программе появляется новая область видимости (scope), например вызывается метод или выполняется иттерация цикла, в стеке создается новый фрейм (frame), то есть выделяется память, необходимая данной области видимости для хранения данных. Для выполнения операции выделения требуется всего 1 процессорная инструкция, перемещающая указатель на указанный адрес. Именно по этой причине работа со стеком является очень дешевой с точки зрения производительности операцией.

Как только область видимости завершает свою работу ее фрейм удаляется. И вновь это происходит с помощью всего одной операции перемещения указателя.

Куча

Подсчет ссылок

Для того, чтобы эффективно ввыделять и удалять пространство в куче необходимо производить подсчет количества ссылок на объекты. При разработке под iOS используются две системы подсчета количества: MRC и ARC.

Manual Reference Counting (MRC)

При разработке iOS приложений на языке Objective-C используется MRC, то есть система ручного подсчета ссылок. При создании объектов с помощью методов , (и др.) счетчик ссылок на объект увеличивается на 1. При вызове метода счетчик ссылок уменьшался на 1. Как только счетчик ссылок на объект становится равным нулю, он удаляется из кучи.

Automatic Reference Counting (ARC)

Swift, в отличии от Objective-C, использует систему автоматического подсчета ссылок (ARC). В процессе компиляции компилятор автоматически расставляет вызоыве методов, увеличивающих и уменьшающих количество ссылок. А в процессе функционироввания приложения ARC постоянно мониторит количество ссылок. Как и в случае с MRC, как только счетчик ссылок становится равным нулю — объект удаляется.

Autorelese Pool

Autorelease pool — это хранилище объектов ссылочного типа, которые необходимо уничтожить не прямо сейчас, а несколько позже. В некоторых случаях требуется отложить уменьшение счетчика, например при возвращении объекта из функции. Так, если в конце функции вызвать у возвращаемого объекта, то он будет уничтожен еще до того, как функция завершит работу. Но нам требуется, чтобы объект продолжал жить даже после завершения работы функции. Для таких ситуаций (когда нужно отложить уменьшение счетчика ссылок) существует метод . При его использовании вместо данный объект помечается, как требующий уменьшения счетчика ссылок, но не сейчас, а несколько позже. Помеченный с помощью объект помещается в специальный autorelease pool.

Autorelease создается в начале каждой иттерации RunLoop и обрабатывает все хранящиеся в нем объекты (уменьшает их счетчик ссылок) в конце этой иттерации. Для очищения autorelease pool вызывается его метод .

Данная система активно использовалась во времена использования MRC. Сегодня существует ARC и autorelease pool напрямую может использоваться только для ObjC-объектов, или объектов, помеченных с помощью аттрибута (например ). В большинстве случаев вам не стоит думать о нем, Swift все делает автоматически.

Пример использования autorelease

autoreleasepool {
// ...
}

// пример
// все параметры image всех иттераций цикла будут храниться до конца жизни потока
// хотя в этом нет необходимости
// В результате. вприложении будет огромный перерасход памяти
for i in 1...1000 {
let image = UIImage(named: "\(i).jpg")
// ... сохранение файла в БД
// по сути image больше не нужен
}

// с помощью autoreleasepool значение параметр image будет удаляться 
// в конце каждой иттерации цикла
for i in 1...1000 {
autoreleasepool {
    let image = UIImage(named: "\(i).jpg")
    // ... сохранение файла в БД
}
}

Что с ценами?

Цены у официальных российских ритейлеров снизились почти до уровня февральских ещё в начале мая, и с тех пор ситуация почти не менялась.

Причина стабилизации не столько в курсе валют, сколько в том, что спрос упал многократно после мартовского пика. Российский потребитель просто скупил всё, что давно хотел. Накопленный отложенный спрос реализован.

iPhone SE, iPhone 11 и iPhone 12 доступны почти во всех конфигурациях. Особенно низкая цена на SE и модели серии iPhone mini. Это объясняется минимальным интересом россиян.

Высокими, а также, не побоюсь этого слова, космическими, остаются цены на те гаджеты, которые ранее не ввозились в Россию в больших объёмах. Это все модели iPad, iPhone 13 Pro Max (избранные несколько моделей, не все), а также ряд конфигураций ноутбуков MacBook Air и Pro.

Однако запасы РСТ-техники на складах не бесконечные, и по мере их истощения уже понизившиеся ценники снова поползут вверх.

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

В целом, остро не хватает РСТ-моделей некоторых Mac и вообще всех iPad. Остальная техника Apple доступна без проблем.

Внутри Apple A6

Представляя Apple A6, Фил Шиллер сосредоточился на эмоциях и не стал углубляться в подробности. Всё что известно про этот чип, стало известно благодаря подвигу iFixit, и, на этот раз, благодаря оборудованию принадлежавшему Chipworks.

Эксперты уже не первый месяц обсуждали активные контакты Apple и TSMC (компанией в Тайване, производящей микропроцессоры). TSMC одной из первых в индустрии работала над технологией 20 нм (но до реальных результатов было еще далеко), между Apple и Samsung бушевали патентные войны – но увы, вскрытие произведенное iFixit показало что Apple A6 производится Samsung, по технологии 32-нм.

Процессор “на лицевой” стороне материнской платы iPhone 5 хорошо заметен, кроме него на снимке выделены еще два чипа: бирюзовым цветом обведен Qualcomm MDM9615, LTE-модем; темно-синим Qualcomm DT8600, трансивер.

Материнская плата iPhone 5

Из увиденного на снимке, полученном в лаборатории Chipworks, эксперты предположили что в структуре процессора видны следы “ручной работы”. Впрочем, консенсус по этому вопросу так и не был достигнут.

Графический процессор – PowerVR 543MP3, 3-ядерный.

Центральный процессор – результат глубокой модернизации Cortex-A9, с двумя блоками для работы с числами с плавающей запятой вместо одного в исходном процессоре ARM, и с элементами Cortex-A15.

Тактовая частота процессора – 1,29 ГГц, постоянная. Динамически частота не менялась. Но в первые несколько минут после включения тесты показывали 1,3 ГГц.

1 Гигабайт LPDDR2-1066 DRAM.

Претензий к производительности КнК Apple A6, как и к его экономичности, не было. С ним вообще не было проблем.

Решение ограничиться двумя ядрами было осмысленным и неслучайным. Их время еще не пришло.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
О гаджетах
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: