getDerivedStateFromState – или как сделать из простой проблемы сложную

Автор: admin от 16-04-2018, 11:00, посмотрело: 142

Я люблю Реакт. Люблю за то, как он работает. За то, что он делает вещи «правильно». HOC, Composition, RenderProps, Stateless, Stateful – миллион патернов и антипатернов которые помогают меньше косячить.



И вот совсем недавно React принес нам очередной подарок. Очередную возможность косячить меньше — getDeviredStateFromProps.



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



В общем разверлись пучины ада. Ранее простая задача стала сложней.



getDerivedStateFromState – или как сделать из простой проблемы сложную

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

 

TDD ошибочно?

Автор: admin от 11-04-2018, 18:55, посмотрело: 114

DISCLAIMER: вы попались на clickbait. Очевидно, что TDD нельзя назвать ошибочным, но… Всегда есть какое-то но.

Содержание





  • Bступление

  • Tесты и есть проблема!

    • Hемного истории

    • Hебольшая викторина


  • Oбзор TDD

    • Tесты — это формализованные требования

    • TDD поощряет хорошую архитектуру

    • TDD экономит время

    • Tесты — это лучшая документация

    • Hемного выводов


  • B чём же решение?

    • Hесколько примеров

    • Hемного про планы


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

 

Nagios-светофор из китайских кубиков

Автор: admin от 11-04-2018, 18:55, посмотрело: 184

Как водится, для начала маленький “письменный отмаз от ответственности”.


  • Цель всех нелепых телодвижений, описанных в статье, одна — облегчение мониторинга серверов и приложений.

  • Этот смелый трюк можно повторить дома и на работе, даже неподготовленным спортсменам.

  • Надеюсь, что этот текст пригодится не только адептам Nagios, но и светозарным джедаям Zabbix и неофитам других конфессий мониторинга.

  • Здесь не будет продемонстрировано приемов высшего пилотажа в использовании паяльной станции, осциллографа и виртуозного владения Ruby/Fortran/etc. Все описанное примитивно, до отвращения, но дешево и сердито. А самое главное — оно работает.

Итак, поехали

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

 
 

Облачные сервисы цифровых подписей

Автор: admin от 9-04-2018, 10:00, посмотрело: 76

Облачные сервисы цифровых подписей


Ещё в прошлом веке многие предприятия начали массово переходить на электронный документооборот. У всех появились компьютеры с офисными программами. Документы часто набирали в Microsoft Word или других текстовых редакторах, экспортировали в PDF, отправляли по электронной почте.



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



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

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

 

Универсальные ссылки: дворец из подводных камней

Автор: admin от 5-04-2018, 15:00, посмотрело: 69

При том, как много мобильные приложения дали человечеству, они в то же время «сломали» интернет. Вместо понятных ссылок на сайты, которые можно скопировать и поделиться, стало нужно объяснять «поставь такое-то приложение и зайди там туда-то».



К счастью, разработчики мобильных платформ осознали эту проблему и предложили концепцию «универсальных ссылок», которые одним кликом открывают нужное на любой платформе. Но то, что для пользователя «одним кликом», для программиста — «потом и кровью». На пути к успеху стоит целый ворох неожиданных нюансов, и при внедрении универсальных ссылок в Badoo Константин Якушев познакомился с ними на личном опыте. А затем на конференции Mobius рассказал, как сделать правильно и обойти проблемы. Зрителям доклад понравился, и мы решили, что негоже полезному материалу оставаться только видеозаписью, поэтому под катом — его текстовая версия.



В докладе ситуация рассмотрена со стороны iOS, но универсальные ссылки на то и универсальные, чтобы объединять разные платформы, так что извлечь пользу могут не только iOS-разработчики.



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

 

Как ускорили PostgreSQL 10

Автор: admin от 3-04-2018, 14:35, посмотрело: 123

(В статье использованы примеры и пояснения из книги Nouveaulites de PostgreSQL 10. (с) Dalibo, перевод с французского Игоря Лёвшина, редактор Егор Рогов (оригинал). Примеры проверены, иногда изменены для большей наглядности)



Конечно, мы уже ждем не дождемся появления 11-й версии PostgreSQL. Но уже сейчас ясно, что некоторые довольно радикальные улучшения производительности появились уже в версии 10. Определенно есть смысл разобраться сначала с ними.



Производительность "десятки" улучшилась сразу в нескольких направлениях. В этой статье речь пойдет об ускорении за счет:




  • распараллеливания сканирования таблиц и индексов,

  • более эффективного агрегирования,

  • быстрых переходных таблиц,

  • ускорения запросов за счет многоколоночной статистики.



Мы начнем с параллелизма.

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

 

Непридуманная история о производительности, рефлексии и java.lang.Boolean

Автор: admin от 2-04-2018, 11:00, посмотрело: 62

Однажды, в студёную зимнюю пору (хотя на дворе был март) мне нужно было покопаться в куче (того, что называется heap dump, а не того, о чём вы подумали). Расчехлив VisualVM я открыл нужный файл и перешел в OQL консоль. Пока суд да дело, моё внимание привлекли запросы, доступные из коробки. Особенно в глаза бросался один из них, озаглавленный "Too many Booleans". В его описании английским по белому сказано:



Check if there are more than two instances of Boolean on the heap (only Boolean.TRUE and Boolean.FALSE are necessary).

Чувствуете, да? Вот и я проникся.

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

 

Как мы в Smart Engines учили Sailfish OS распознаванию

Автор: admin от 2-04-2018, 11:00, посмотрело: 73

Как мы в Smart Engines учили Sailfish OS распознаванию


Всем привет! Как вы уже знаете по нашим статьям, мы в Smart Engines занимаемся распознаванием, причем распознавать мы стараемся на чем угодно и в любых условиях. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris. Поддерживаем мы и отечественного производителя: Эльбрус и AstraLinux. Наши алгоритмы оптимизированы под ARMv7-v8, AArch64, x86, x86_64, SPARC, E2K, MIPS.



Поэтому, когда мы увидели нарастающую популярность российской операционной системы Sailfish Mobile OS RUS, мы не смогли обойти ее стороной. Sailfish Mobile OS RUS — это POSIX-совместимая операционная система для мобильных устройств, развиваемая отечественной компанией «Открытая Мобильная Платформа» для решения задач корпоративных пользователей и государственных учреждений. По состоянию на февраль 2018 года является единственной мобильной операционной системой, включенной в реестр Отечественного ПО и прошедшей сертификацию ФСБ по классу АК1/КС1.



В этой статье мы расскажем о своем опыте портирования нашей библиотеки распознавания Smart IDReader (технология Hieroglyph) на Sailfish OS. В ней будет код, ссылки и видео. Мы хотим, чтобы эта статья была технически информативной и полезной в качестве общей инструкции для тех, кто портирует С++ приложения на Sailfish OS.

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

 

Айфончик, не лагай. Часть 1: многопоточность для практиков

Автор: admin от 2-04-2018, 11:00, посмотрело: 94

Айфончик, не лагай. Часть 1: многопоточность для практиков



Меня зовут Максим, и я алкоголик занимаюсь iOS разработкой уже более 7 лет.



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



Среди кандидатов попадаются кадры, которые курят кальян прямо на Skype собеседовании, пытаются гуглить вопросы на ходу, хотят ЗП 180к за 3 месяца опыта, ведут себя так, как будто гоп-стопнули меня на улице (с соответствующей терминологией) и так далее.

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



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

(Если лень читать, то прилагается видео)

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