Pull to refresh
3
0
Send message

Акторы Swift под капотом

Reading time10 min
Views18K

Акторы (Actors) — это фича, являющаяся частью структурированного параллелизма (Structured Concurrency) Swift, которая предлагает совершенно новый формат для написания и обработки асинхронного кода. Хотя они и являются чем-то инновационным для языка Swift, сама технология новой не является. Многие языки успели обзавестись поддержкой акторов и async/await раньше, чем Swift, но что интересно, так то, что везде они реализованы одинаково. Только-только получив этот функционал в Swift, мы уже можем многому научиться на опыте разработчиков, использовавших их в других языках.

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments3

Собеседование на программиста в Amazon

Reading time7 min
Views127K

Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.


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


Если я не упомянул чего-то важного в статье, спрашивайте в комментариях. Постараюсь ответить максимально подробно.

Читать дальше →
Total votes 71: ↑62 and ↓9+53
Comments258

Немного о гормонах

Reading time4 min
Views28K


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

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

Что же такое гормоны?
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments6

Покрытие графов в тестировании ПО, часть 2

Reading time4 min
Views8.3K
Большинство программ и алгоритмов можно представить в виде графа, состоящего из набора вершин (N) и ребер (Е). Покрытие графов в тестировании полезно тем, что можно проектировать тесты, используя разные критерии покрытия, и выявить ошибки. Что касается тестирования черного ящика, то покрытие графов здесь тоже может иметь большое значение, если приходится работать с состояниями и переходами, графами состояний сущности и т.д. Если граф достаточно сложен, разные критерии покрытия позволят оценить достаточность тестового набора.

В первой части: определения, покрытие вершин, ребер, путей, цикломатическая сложность.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments4

Опубликован быстрый алгоритм для задачи изоморфизма графов

Reading time3 min
Views46K

Эти два графа являются изоморфными

Математик Ласло Бабай (László Babai) с факультета компьютерных наук и математики Чикагского университета представил быстрый новый алгоритм для решения задачи изоморфизма графов — одной из фундаментальных проблем теории сложности вычислений. Алгоритм приводит проблему очень близко к классу P. По мнению некоторых специалистов, это один из самых значительных результатов в теоретической информатике за десятилетие, если не за несколько десятилетий.
Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments26

Полезные блоги по тематике eLearning, которые читаем мы сами

Reading time5 min
Views13K
Разбираться в новом всегда сложно, когда непонятно, с чего начать. Дистанционное обучение тут не исключение — поэтому мы решили вам помочь, собрав подборку материалов тех, кто уже разобрался. Итак, подборка лучших, на наш взгляд, западных блогов по тематике eLearning.


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments3

Создаём отзывчивые письма для будущего без медиа-запросов

Reading time26 min
Views34K
Создавая HTML код для email, приходится иметь дело с изрядным количеством больных вопросов. И вряд ли для кого то будет приемлемо, если нам к тому же ещё и придётся следить за новыми email-клиентами и размерами устройств, которые появляются каждую неделю. Поддержка media query как и сам CSS разнятся среди приложений, в следствии этого, каждый раз когда вы слышите что появилось новое восхитительное почтовое приложение, для которого тоже нужно провести тесты, вас неизбежно одолевает страх.

Но что если бы вы могли создать шаблон, который был бы отзывчивым даже в окружениях с наименьшей поддержкой современного CSS? Что если каждый раз, услышав о каком-то очередном почтовом приложении, которое все испытывают, вместо того чтобы предаваться страху, можно было бы чувствовать себя спокойно и уверенно, зная что ваши email наверняка будут выглядеть хорошо?

Приведенный ниже метод, сторонником которого я являюсь, всецело ориентирован на создание положительного опыта взаимодействия при работе с email-клиентами, у которых вообще отсутствует поддержка media query.

Он называется fluid-hybrid method, иногда упоминается как spongy метод для email разработок. Часть fluid предполагает что мы используем изрядной количество процентных вычислений. Часть hybrid означает что мы также используем max-width дабы ограничить некоторые из наших элементов на экранах большего размера.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments7

Да начнется unit-тестирование (Objective-C)

Reading time10 min
Views36K
Данная статья посвящена вопросу тестирования в рамках Objective-C используя Xcode 6. Рассматриваются стандартная библиотека для тестирования и сторонняя библиотека OCMock. Опытные разработчики, возможно, не найдут здесь слишком полезной информации, тем же, кто недавно встал на этот путь — статья откроет необходимые базовые знания по написанию unit-тестов на языке Objective-C.

Для основы тестирования просьба обратиться сюда.
Для основы unit-тестирования сюда.

А теперь мы начнем изучение unit-тестирования в рамках Objective-C.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments11

Практический опыт работы с малоизвестными европейскими облачными хостингами

Reading time6 min
Views16K
Здравствуйте, коллеги.

В данной статье вкратце описываю свой опыт работы с несколькими малоизвестными европейскими облачными хостингами и делюсь своими объективными оценками и субъективными впечатлениями.
Так сложилось, что мне приходится регулярно выбирать, пробовать, тестировать и использовать различные хостинги для размещения клиентских сервисов (в основном, конечно же, сайтов). И для диверсификации рисков (чтобы не класть все яйца в одну корзину) различные сервисы клиента обычно размещаются на различных площадках.
TL;DR;
Vultr, Elastichosts — like
Dedify, CloudSigma — so-so
RunAbove — dislike
Attention! Никакой рекламной цели у данной статьи нет, сугубо обмен опытом и впечатлениями.
Подробнее с цифрами и фактами
Total votes 12: ↑12 and ↓0+12
Comments21

Генетический алгоритм — наглядная реализация

Reading time7 min
Views100K
Года четыре назад, в универе услышал о таком методе оптимизации, как генетический алгоритм. О нем везде сообщалось ровно два факта: он клёвый и он не работает. Вернее, работает, но медленно, ненадежно, и нигде его не стоит использовать. Зато он красиво может продемонстрировать механизмы эволюции. В этой статье я покажу красивый способ вживую посмотреть на процессы эволюции на примере работы этого простого метода. Нужно лишь немного математики, программирования и все это приправить воображением.

Кратко об алгоритме


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

Сама суть метода заключается в том, что мы модулируем эволюционный процесс: у нас есть какая-то популяция (набор векторов), которая размножается, на которую воздействуют мутации и производится естественный отбор на основании минимизации целевой функции. Рассмотрим подробнее эти процессы.
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments12

Information

Rating
Does not participate
Registered
Activity