» Материалы за 20.03.2018 » Страница 4

 

Несколько советов по организации Python-приложения на сервере

Автор: admin от 20-03-2018, 09:05, посмотрело: 156

Несколько советов по организации Python-приложения на сервере

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



Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии: Ubuntu (17.10), Python3 (3.6).



Содержание:




  • Логи (logrotate)

  • Демоны (systemd)

  • локальные настройки

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

 

Node.js + face-recognition.js: простое и надёжное распознавание лиц с помощью глубокого обучения

Автор: admin от 20-03-2018, 09:05, посмотрело: 522

Node.js + face-recognition.js: простое и надёжное распознавание лиц с помощью глубокого обучения


Перевод статьи Node.js + face-recognition.js: Simple and Robust Face Recognition using Deep Learning.



В этой статье мы расскажем, как реализовать надёжную систему распознавания лиц с использованием face-recognition.js. Мы искали подходящую Node.js-библиотеку, которая умела бы аккуратно распознавать лица, но ничего не нашли. Пришлось писать самостоятельно!



В этом npm-пакете используется библиотека dlib, предоставляющая Node.js-биндинги для очень хорошо зарекомендовавших себя инструментов распознавания внутри этой библиотеки. Dlib использует методы глубокого обучения и поставляется с уже обученными моделями, которые продемонстрировали точность распознавания на уровне 99,38% при прогоне бенчмарка LFW.

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

 

Mobile на CodeFest: про архитектуры, Kotlin и AR

Автор: admin от 20-03-2018, 09:05, посмотрело: 167

Mobile на CodeFest: про архитектуры, Kotlin и AR



Завершаем рассказывать о программе CodeFest 2018 главными темами мобильной секции. В этом году она сбалансирована между техническими темами и «философскими» докладами. Всего 11 докладов на два дня.
Подробно о мобилках

Категория: Веб-разработка, Game Development, Google, Android, iOS

 

Масштабирование Selenium

Автор: admin от 20-03-2018, 08:55, посмотрело: 172

Представьте, что у вас есть всего один тест с использованием Selenium. Что может сделать его нестабильным? Как его ускорить? Теперь представьте, что тестов стало два. Теперь представьте сотню. Как заставить быстро отработать такую кучу тестов? Что произойдет, если количество тестов продолжит расти?



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





Прототипом этой статьи является доклад Саймона Стюарта на Heisenbug 2017 Moscow. Саймон — создатель WebDriver, технологии, которой сейчас почти 11 лет. Он стал руководителем проекта Selenium около 9 лет назад. В Google занимался масштабированием Selenium, от нескольких десятков тысяч до нескольких миллионов тестов каждый день, на их инфраструктуре. Затем перешел в Facebook. В данный момент занимается разработкой спецификации WebDriver для W3C, которая входит в группу тестирования и тулинга в W3C. Можно сказать, что на основе WebDriver и создается стандарт.

Категория: Компании » Microsoft

 

Как мы теряли и находили машины на 9-этажной парковке

Автор: admin от 20-03-2018, 08:55, посмотрело: 159

Как мы теряли и находили машины на 9-этажной парковке


У нас в офисе 9 этажей парковки, каждый этаж 40 на 60 метров. Частая проблема — сотрудники забывают этаж со своей машиной и как зомби ходят с ключами, пытаясь «пикнуть» сигнализацией. Именно там мы решили обкатать indoor-навигацию на базе Bluetooth.



В целом тема горячая. Активный интерес есть у больших магазинов (устройства для тележек в продуктовом с пуш-уведомлениями про акции и интересные товары рядом), стадионов, аэропортов и госкомпаний для разного рода indoor-навигации. Опыт для музеев был, но понадобились дотесты ряда вещей. А ещё решения актуальны для промышленности (мониторинг персонала, груза, транспорта; обеспечение промышленной безопасности и охрана труда).



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

Категория: Компании » Microsoft

 

Восстановление online-функций Microsoft Money. Аутентификация аккаунта

Автор: admin от 20-03-2018, 08:55, посмотрело: 173

В предыдущей части я рассказал о восстановлении функции обновления котировок.



Следующей функцией которую хотелось восстановить является синхронизация

данных с сервером.



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



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

Категория: Компании » Microsoft

 

Введение в модули Angular — корневой модуль (Root Module)

Автор: admin от 20-03-2018, 08:55, посмотрело: 223

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



Вступление



@NgModule — декоратор, добавленный в Angular 2. Из официальной документации следует, что @NgModule определяет класс, как модуль Angular. Модули Angular помогают разбивать приложение на части (модули), которые взаимодействуют между собой и представляют в конечном итоге целостное приложение. Иными словами, модуль — это упаковка или инкапсуляция части функционала приложения. Модули можно проектировать с учетом многократного использования, т.е. не зависящие от конкретной реализации приложения.

Категория: Программирование

 

Использование Reflection.Emit для предварительной компиляции выражений в MSIL

Автор: admin от 20-03-2018, 08:55, посмотрело: 168

Привет, Хабр! Представляю вашему вниманию перевод статьи "Using Reflection.Emit to Precompile Expressions to MSIL" автора Steve Marsh.

Введение


Классы в этом проекте позволяют анализировать текстовые выражения, введенные пользователем, и компилировать их на сборку .NET. Эта сборка может выполняться «на лету» или сохраняться в DLL. Предварительная компиляция выражений позволяет обеспечить высокий уровень переносимости и позволяет очень эффективно оценивать введенную пользователем логику. Кроме того, мы можем использовать средство ildasm.exe от Microsoft для открытия и проверки создаваемого базового кода MSIL. Есть много интересных функций, которые поставляются с платформой .NET, на мой взгляд пространство имен Reflection.Emit предлагает куда больше, чем вы сможете найти. Пространство имен Reflection.Emit позволяет создавать собственный код .NET во время выполнения, динамически создавая типы .NET и вставляя инструкции MSIL в тело. MSIL — промежуточный язык Microsoft для платформы .NET. IL — это то, во что ваш код C # и VB.NET компилируется и отправляется в JIT-компилятор при запуске .NET-программ. MSIL — очень низкоуровневый язык, который очень быстрый, и работа с ним дает вам исключительный контроль над вашими программами. Я не буду вдаваться в подробности о MSIL в этой статье, но есть несколько других ресурсов, доступных в Интернете, и если вам интересно узнать побольше, я включил некоторые ссылки в конце этой статьи.

Категория: Программирование

 

Строгая типизация для приложений Vue.js на TypeScript

Автор: admin от 20-03-2018, 08:50, посмотрело: 289

Вопрос: Каковы самые слабые места Vue?



Oтвет: На данный момент, наверное, недружественность к типизации. Наш API разрабатывался без планирования поддержки типизированных языков (типа TypeScript), но мы сделали большие улучшения в 2.5.



Вопрос: Тони Хор (Tony Hoare) назвал null ошибкой на миллиард долларов. Какое было самое неудачное техническое решение в твоей карьере?



Oтвет: Было бы неплохо использовать TypeScript изначально, еще когда я начал переписывать код для Vue 2.x.



из интервью "Создатель Vue.js отвечает Хабру"

Недружественность Vue.js к типизации вынуждает применять "костыли", чтобы использовать преимущества TypeScript. Один из предлагаемых в официальной документации Vue.js вариантов — это применение декораторов вместе с библиотекой "vue-class-component".



Я применяю другой вариант "костылей" для решения проблемы строгой типизации в приложениях Vue.js (без декораторов и vue-class-component). Через явное определение интерфейсов для опций "data" и "props", используемых в конструкторе экземпляров Vue-компоненты. В ряде случаев это проще и удобнее.



В данном tutorial, для иллюстрации обоих подходов к типизации (с декораторами и без) используется решение Visual Studio 2017 с приложениями Vue.js + Asp.Net Core MVC + TypeScript. Хотя приведенные здесь примеры можно поместить и в другое окружение (Node.js + Webpack).



Попутно демонстрируется, как компоненту на javascript быстро переделать под «полноценный» TypeScript с включенной строгой типизацией.

Категория: Программирование

 

Защита от креативного злоупотребления HSTS

Автор: admin от 20-03-2018, 07:40, посмотрело: 247

HTTP Strict Transport Security (HSTS) — это стандарт безопасности, который позволяет веб-сайту объявить себя доступным только по безопасным соединениям, а браузерам передаётся информация для редиректа. Веб-браузеры с поддержкой HSTS ещё и не позволяют пользователям игнорировать ошибки сертификатов на серверах.



Apple использует HSTS, например, на iCloud.com, так что каждый раз при попытке перейти по незащищённому адресу http://www.icloud.com из адресной строки браузера или по ссылке происходит автоматический редирект на https://www.icloud.com. Это отличная функция, которая предотвращает простые ошибки, например, по выполнению финансовых операций на канале без аутентификации.



Что здесь может быть не так?



Ну, стандарт HSTS описывает, что веб-браузер должен запоминать редирект на безопасную версию — и автоматически выполнять его от имени пользователя, если тот попытается в будущем установить небезопасное соединение. Информация для этого хранится на устройстве пользователя. И её можно использовать для создания «суперкуков», которые будут считываться межсайтовыми трекерами.

Категория: Компании » Apple