Программа ZeroNights 2017

Автор: admin от 10-11-2017, 14:10, посмотрело: 124

Программа ZeroNights 2017


Настало время поделиться новостями программы конференции ZeroNights. Мы расскажем о каждом докладе, который можно будет послушать на ZN, предстоящих мастер-классах, конкурсах, а также представим нововведение этого года — Web Village (наконец-то).

Категория: Операционные системы » iOS

 

Высокопроизводительные вычисления для клиентов Azure: Проект Microsoft и Cray

Автор: admin от 9-11-2017, 13:55, посмотрело: 66

Компания Microsoft начала совместный проект с компанией Cray, чтобы предоставить клиентам Azure доступ к высокопроизводительным вычислениям (HPC) для исследований в области искусственного интеллекта, моделирования и решения ресурсоемких аналитических задач.



Высокопроизводительные вычисления для клиентов Azure: Проект Microsoft и Cray

Категория: Операционные системы » iOS

 

Обзор сервера Lenovo ThinkSystem SR950

Автор: admin от 7-11-2017, 11:45, посмотрело: 65

В августе этого года компания Lenovo презентовала свою новую линейку продуктов для дата-центров под маркой ThinkSystem, в которую входят серверы, системы хранения данных и коммутаторы. Если говорить про серверную линейку, то всего в рамках новой торговой марки было представлено 14 моделей различных форм-факторов (напольных, стоечных, высокоплотных и блейд-серверов), в том числе и топовая система ThinkSystem SR950, рассчитанная на решение критически важных и ресурсоёмких задач, таких как базы данных, аналитика, ERP, CRM и, конечно же, виртуализация. Получить такую систему для обзора хотя бы на пару дней — большая удача и сегодня я постараюсь рассказать вам об этом интересном сервере как можно подробнее.



Обзор сервера Lenovo ThinkSystem SR950

Категория: Операционные системы » iOS

 

Помогаем службе такси: редизайн логотипа и появление фирменного стиля

Автор: admin от 1-11-2017, 07:25, посмотрело: 63

Помогаем службе такси: редизайн логотипа и появление фирменного стиля



В нашем сообществе есть рубрика #logomachine_help, в которой мы помогаем советами по дизайну. На примерах участников мы даем советы по графике, композиции, объясняем ошибки. Наша рубрика — не полноценный редизайн, а экспресс-помощь по улучшению дизайна. Обычно это выглядит вот так:



Помогаем службе такси: редизайн логотипа и появление фирменного стиля



Мы заметили, что ошибки часто повторяются и сделали отдельные выпуски с маленькими «хелпами». А раз в месяц решили играть по крупному — делать настоящий редизайн для одного из счастливчиков. В этот раз таким счастливчиком стал «Такси Бонус», фирменный стиль которого мы будем исправлять сегодня. Такой логотип был у «Такси Бонуса»:



Помогаем службе такси: редизайн логотипа и появление фирменного стиля

Категория: Операционные системы » iOS

 

MockK — библиотека для mocking-а в Kotlin

Автор: admin от 31-10-2017, 15:20, посмотрело: 71

MockK — библиотека для mocking-а в Kotlin Kotlin пока еще очень новая технология и это значит, что существует множество возможностей сделать что-то лучше. Для меня этот путь был таким. Я начал писать простой слой веб-обработки на Netty и coroutine-ах. Всё было в порядке, я даже сделал что-то вроде веб-фреймворка с роутингом, веб-сокетами, DSL и полной асинхронностью. Для первого раза всё показалось лёгким в освоении. Действительно, coroutine-ы делают из лапши коллбэков линейный и читаемый код.



Сюрприз ожидал меня, когда я начал тестировать это всё. Оказывается, Kotlin и mocking сложно совместимые вещи. В первую очередь из-за final полей.

Категория: Операционные системы » iOS

 

Дайджест свежих материалов из мира фронтенда за последнюю неделю №286 (23 — 29 октября 2017)

Автор: admin от 30-10-2017, 08:00, посмотрело: 80

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.



Дайджест свежих материалов из мира фронтенда за последнюю неделю №286 (23 — 29 октября 2017)

Категория: Операционные системы » iOS

 

Дайджест интересных материалов для мобильного разработчика #227 (23 октября — 29 октября)

Автор: admin от 30-10-2017, 08:00, посмотрело: 61

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



Дайджест интересных материалов для мобильного разработчика #227 (23 октября — 29 октября)

Категория: Операционные системы » iOS

 

Что каждый программист на C должен знать об Undefined Behavior. Часть 1/3

Автор: admin от 30-10-2017, 08:00, посмотрело: 65

Люди иногда спрашивают, почему код, скомпиливанный в LLVM иногда генерирует сигналы SIGTRAP, когда оптимизация была включена. Покопавшись, они обнаруживают, что Clang сгенерировал инструкцию «ud2» (подразумевается код X86) — то же, что генерируется __builtin_trap(). В этой статье рассматривается несколько вопросов, касающихся неопределённого поведения кода на C и того, как LLVM его обрабатывает.



Что каждый программист на C должен знать об Undefined Behavior. Часть 1/3



В этой статье (первой из трёх) мы попытаемся объяснить некоторые из этих вопросов, чтобы вы могли лучше понять связанные с ними компромиссы и сложности, и возможно, изучить немного больше тёмные стороны С. Мы выясним, что C не является «высокоуровневым ассемблером», как многие опытные программисты на C (особенно те, кто сфокусирован на низком уровне) предпочитают думать, и что C++ и Objective-C напрямую унаследовали множество таких проблем.

Категория: Операционные системы » iOS

 

SILVER: как я проектирую приложения для iOS

Автор: admin от 30-10-2017, 08:00, посмотрело: 72

Еще одна архитектура?



В последние годы заметно набрала обороты тема альтернативных архитектур для создания приложений под платформу iOS. На доске особого почета уже закрепились некоторые силачи, известные как MVP, MVVM, VIPER. А кроме них есть еще множество других, не столь распространенных.



Среди силачей, на мой взгляд, ни одна не является универсальной таблеткой для всех случаев:




  • если нужно сделать пару маленьких экранов со статическим набором данных, то вводить полноценный VIPER довольно затратно;

  • если не нравится реактивный подход, то MVVM с большой долей вероятности пройдет мимо;

  • если столкнулся с проблемой Massive в большом проекте, то MVC наверняка уже не подходит.



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




  • по мере роста модуля может возникнуть надобность конвертировать его в другую архитектуру;

  • при внесении изменений в модуль надо сначала сообразить, какая архитектура использована для него, и как именно надо вносить туда изменения;

  • надобность добавлять код-адаптер, чтобы совместно использовать модули разных архитектур, ибо на пустом месте код вряд ли получится нативным одновременно для них обеих.



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



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

Категория: Операционные системы » iOS

 

Swift 4 — слабые ссылки

Автор: admin от 27-10-2017, 12:15, посмотрело: 71

Вскоре после публикации исходного кода Swift, я написал статью о том как реализованы слабые ссылки. Время не стоит на месте и всё меняется, реализация слабых ссылок в Swift тоже. Сегодня я расскажу о новой реализации и сравню ее со старой. Спасибо Guillaume Lessard за идею для поста.



Старая реализация



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



В старой версии Swift объекты имели 2 счетчика ссылок: счетчик для сильных ссылок и счетчик для слабых. Когда счетчик сильных ссылок становится равен нулю, а слабых еще нет — объект уничтожается, но память не освобождается. Поэтому в памяти остается так называемый “зомби объект” на который ссылается слабая ссылка.



Когда слабая ссылка загружается, среда времени выполнения (runtime) проверяет является ли объект “зомби”. Если он “зомби” то runtime обнуляет слабую ссылку и уменьшает счетчик слабых ссылок на 1. Когда счетчик слабых ссылок достигает 0 — память освобождается (deallocated). Это означает, что полностью объект удаляется только тогда, когда все слабые ссылки на него обнуляются.



Мне нравилась простота этой реализации, но были у нее и недостатки:

Категория: Операционные системы » iOS