Как стать автором
Обновить
0
0
Антон Шуляев @iDarkLord

Пользователь

Отправить сообщение

Симметрическая разность возможностей Swift и Objective-C

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

image


В этой статье я расскажу о различии возможностей, которые предоставляют iOS-разработчикам языки Swift и Objective-C. Безусловно, разработчики, которые интересовались новым языком от Apple, уже видели немало подобных статей, поэтому я решил акцентировать внимание на тех отличиях, которые действительно влияют на процесс разработки и на архитектуру приложения. То есть, те отличия, которые следует знать, чтобы использовать язык максимально эффективно. Я попытался составить наиболее полный список, удовлетворяющий этим критериям.


Кроме того, рассказывая о новых возможностях, которые Swift привнёс в разработку, я постарался не забыть упомянуть то, что он потерял по сравнению с Objective-C.


Для каждого пункта я попытался кратко изложить суть отличия, не вдаваясь в детали, а примеры кода — наоборот сделать подробными. В них я прокомментировал все нюансы, даже те, которые не имеют непосредственного отношения к рассматриваемому отличию.


На момент написания статьи текущая версия Swift — 3.0.1.


Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии12

Как NASA управляет МКС для избежания столкновений с космическим мусором

Время на прочтение8 мин
Количество просмотров192K
Находящаяся на орбите примерно в 400 километрах над нами Международная Космическая Станция — это один из наиболее сложных и дорогих инженерных проектов за всю историю человечества. Станция весит около 400 метрических тонн, а размеры ее немного превышают размеры поля для американского футбола. Для ее сборки потребовались десятки и десятки запусков со стороны России и США (включая 37 полетов шаттлов), а так же более 155 выходов космонавтов и астронавтов в открытый космос — а это вдвое больше, чем общее количество выходов в открытый космос на тот момент.


Сравнение размеров МКС и поля для американского футбола

Постройка и запуск МКС обошлась человечеству примерно в 150 миллиардов долларов и 13 лет работы. И в этот самый момент, где-то там, высоко над нашими головами, шесть человек работают в космосе. Конечно, станция не просто висит там без движения. Сама по себе орбита МКС имеет тенденцию к снижению из-за сопротивления атмосферы — скорость этого снижения составляет около 2 километров в год — поэтому станцию нужно время от времени подталкивать, чтобы помочь ей оставаться на необходимой высоте. Более того, вся эта огромная структура является довольно мобильной — ее можно двигать, поворачивать и наклонять в трех измерениях для того, чтобы избежать возможных столкновений с космическим мусором. Так как же удается переместить 400 тонн довольно хрупкой МКС в случае, если на нее, к примеру, движется астероид?

Давайте узнаем...
Всего голосов 171: ↑168 и ↓3+165
Комментарии68

Алгоритм Self-Organizing Incremental Neural Network (SOINN)

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

Введение


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

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

В данной статье рассматривается алгоритм SOINN, который частично решает озвученные выше проблемы.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии7

Шаблоны проектирования в адвенчурах: часть первая

Время на прочтение7 мин
Количество просмотров39K
Предлагаю к прочтению очередную статью из блога Дэна Шулера о паттернах, которые можно использовать при разработке адвенчур. В свое время мне приходила в голову идея классификации загадок, но я лишь делал небольшой обзор, а не объемную статью. Естественно, я был удивлен и рад тому, что тема была кем-то поднята. Ниже приводится описание самих паттернов, следующим постом будут более развернутые примеры их использования, а в этот решил их не включать, по причине слишком объемного перевода. Также я добавил несколько поясняющих иллюстраций и несколько комментариев от себя.

«То, что мы называем хаосом — это всего лишь закономерности, которые мы не сумели распознать. То, что мы называем случайностями — это всего лишь закономерности, которые мы не в состоянии расшифровать.»
— Чак Паланик

Как насчет абстрактного подхода к разработке адвенчу? Или, хотя бы, для загадок в адвенчурах — это может оказаться полезным!

Читать дальше →
Всего голосов 58: ↑58 и ↓0+58
Комментарии32

Путешествие через вычислительный конвейер процессора

Время на прочтение16 мин
Количество просмотров134K
Так как карьера программиста тесно связана с процессором, неплохо бы знать как он работает.

Что происходит внутри процессора? Сколько времени уходит на исполнение одной инструкции? Что значит, когда новый процессор имеет 12, или 18, или даже 31-уровневый конвейер?

Программы обычно работают с процессором, как с чёрным ящиком. Инструкции входят и выходят из него по порядку, а внутри совершается некая вычислительная магия.

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

Эта статья рассказывает, как устроен вычислительный конвейер x86 процессора.
Читать дальше →
Всего голосов 160: ↑159 и ↓1+158
Комментарии43

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность