Воскресенье, 29 Октября 2017 г. 09:22
+ в цитатник
Введение
До сих пор существует множество устройств, которые подключаются к компьютеру через СОМ порт, но, поскольку в состав современных компьютеров все реже входят СОМ порты, то связь с СОМ устройствами выполняется через USB порты дополненными специальными преобразователями сигналов. Значительное повышение частоты сигналов в USB линии (в сравнении с сигналами СОМ порта) накладывает ограничение на длину линий, повышает их стоимость и требует решения вопросов согласования линий. В этой работе на примере контроллера Arduino UNO рассматривается подключение СОМ устройства к компьютеру через протяженные несогласованные линии. Читать дальше ->
Воскресенье, 29 Октября 2017 г. 08:43
+ в цитатник
Список инструментов
Proxmox
ZFS
LXC
MongoDB в качестве подопытной базы
Предисловие
Меня зовут Евгений Савёлов, я занимаюсь сетями, виртуализацией, Windows и Linux серверами, координирую работу программистов и заказчиков в небольшой компании.
Я вижу, что многие используют системы виртуализации, такие как Proxmox, но не знают как использовать преимущества LXC и ZFS. Многие просто используют классические файловые системы, такие, как Ext4, и классические методы клонирования и резервного копирования контейнеров. Это приводит к простоям во время клонирования больших контейнеров и к высокой нагрузке на сервер.
Так же я подготовил материал в виде 6 минутного скринкаста. Голосового сопровождения нет, поэтому наушники можете не искать :). Зато есть аннотации снизу.
Воскресенье, 29 Октября 2017 г. 02:23
+ в цитатник
Зачастую, одно из первых архитектурных решений, принятых в начале разработки вашего сайта — будет использование email + password для авторизации пользователя. Эта связка прочно засела в наши головы, и мы уже на задумываемся, зачем мы заставляем людей придумывать пароль. Мы привыкли так делать.
Но давайте подумаем, возможно, вашим пользователям не нужны пароли.
Одно из возможных решений, это использовать OAuth 2.0, но не у всех пользователей может быть аккаунт в социальной сети и желание его использовать на вашем ресурсе.
Но как-же тогда избавиться от пароля? На этот вопрос, я и попробую ответить в статье.
В данной статье будет рассказываться о применении библиотеки машинного зрения (openCV) для удаления эффекта радиального искажения (дисторсии) с фото и видео. Данный эффект также известен как эффект рыбьего глаза (fisheye) или distortion. Решение написать данную статью было принято после нескольких дней поиска информации в интернете. Не смотря на то, что есть гайды на английском языке, они не объясняют как правильно установить openCV, чтобы все работало. В статье присутствует готовый код.
Сразу привожу фото итогового результата. Слева оригинальное фото, справа — обработанное:
Сегодня к несчастью обнаружил что при открытии моего сайта высвечивается тонна рекламы с кучей переадресаций. Причиной всему явилось то что я использовал DNS сервера предоставляемые хостером firstbyte.ru. При переходе на сайт хостера тоже высвечивается аналогичная реклама.
Даже не знаю почему до сих пор использовал DNS сервера данного хостера, ещё в начале года там были частые перебои с работой и я перевёл все сервера от них, а DNS оставил. Отзывы о хостере
Надеюсь моя глупость окажется для кого-то полезным уроком.
Дополню статью в процессе появления новостей по взлому и его последствиях. Читать дальше ->
Покайтесь, ибо грядет! Улицы наводнили безумные проповедники с апокалиптическими плакатами, по ночам из-за горизонта поднимается необычно огромная Луна кровавого цвета, а ученые, в свое время не получившие нобелевку из-за слишком радикальных идей, безуспешно пытаются достучаться до властей со своими шокирующими открытиями. Назревает нечто ужасное. Оно уже близко. Ну или нет.
Возможно, в этот раз нам повезло, и мы вовремя получили предупреждение о готовящемся восстании «интернета вещей». NewSky Security нашли в даркнете форумную ветку, в которой «черные шляпы» расслабленно обсуждали концепцию и реализацию атаки через CVE-2017-8225, позволяющую сливать учетные данные из китайских камер от множества разных вендоров. Двое самых активных участников обсуждения в итоге родили два скрипта. Читать дальше ->
Как-то для своих некоторых планов мне потребовалось сделать небольшую песочницу в 2D пространстве с базовыми возможностями:
1. Передвижение по игровому миру
2. Физика при движении, столкновения
3. Создание блоков
4. Удаление блоков
Графическое исполнение меня не беспокоило, поэтому я решил оформить все в серых тонах, выглядит это так: Читать дальше ->
Всем привет, меня зовут Дмитрий Карловский и я… хочу причинить вам боль. Много боли. Я напомню вам обо всех страданиях, что вы исптываете находясь в плену своего любимого js-фреймворка. Я опущу вас на самое дно самой глубокой безысходности. А потом, когда вы совсем отчаетесь и потеряете веру в комьюнити, я подам вам руку помощи и покажу светлое будущее.
На этот вброс меня подталкивает доминирование статистических методов, особенно нейронных сетей — да, я именно так их буду классифицировать. С одной стороны я ничего не имею против них, но в то же время чувствуется явный перекос, иногда даже нейронные сети едва ли не отождествляют с неопределённым понятием искусственного интеллекта, хотя так ли хуже SVM, HMM и т.д. В вопросе обработки естественных языков я всегда был сторонником лингвистических методов в противовес статистическим, но чувствуется их существенный недостаток — трудоёмкость моделирования вручную по сравнению с машинным обучением. А может для лингвистических методов машинное обучение тоже применимо?
Все началось с того, что мне нужно было разработать поиск пациентов для одной внутренней медицинской системы. Логика работы была в том, что если мы не нашли человека в системе, то его нужно создать (а дубли пациентов плодить нельзя). В связи с этим одной из подзадач стала реализация поиска людей с учетом опечаток в их именах. Ну а поскольку я люблю PostgreSQL (а когда в руках у тебя молоток, то все похоже на гвозди), не сложно угадать, на чем я решил реализовать поиск с опечатками… Читать дальше ->
Ранее в своей практике мне не доводилось разрабатывать ни KPI, ни способы его привязки к премированию сотрудников. Заполнять листы-шаблоны на подчиненных, попутно ворча на бестолковость и/или субъективность этого действа — было. Анализировать положения о премировании на предприятии, выявлять противоречивости в документах, явные ошибки и несоответствия — было. Но вот что бы кардинально менять или создавать заново систему премирования — такого в моем послужном списке еще не было.
Но все когда-то бывает в первый раз. Теперь это мой шанс дать другим повод поворчать и покритиковать. Под катом – мои попытки объяснить, почему депремирование мне нравится больше, чем премирование. Читать дальше ->
Иногда приложение кажется простым, минималистичным и лаконичным, но легко упустить из виду то, сколько экранов, формочек, кнопочек, окошек и прочих мелочей приводит к такому восприятию легкости и простоты использования.
Представляем вам чеклист из 50 пунктов для самопроверки. Вот примерные подразделы:
Однажды я искал исходный код Unreal и, вдохновлённый отличным анализом того, как популярные игры рендерят кадр (перевод статьи на Хабре), я решил тоже сделать с ним что-то подобное, чтобы изучить, как движок рендерит кадр (с параметрами и настройками сцены по умолчанию).
Поскольку у нас есть доступ к исходному коду, мы можем изучить исходники рендерера, чтобы понять, что он делает, однако это довольно объёмная часть движка, а пути рендеринга сильно зависят от контекста, поэтому проще будет исследовать чистый низкоуровневный API (иногда заглядывая в код, чтобы заполнить пробелы). Читать дальше ->
Два года назад Яндекс представила новый дизайн Кинопоиска. Однако пользователи обновление не оценили. Вместо привычной киноэнциклопедии, аудитории был представлен онлайн-кинотеатр. Хейтеров оказалось такое количество, что компании пришлось откатиться до старой версии сайта.
Сегодня мы все еще можем видеть морально устаревший дизайн Кинопоиска, который действительно требует изменений. В этой статье мы рассмотрим наше виденье и подход к редизайну сервиса. Читать дальше ->
Цель данной статьи — вместе с читателем написать окружение для разработки современных веб-приложений, последовательно добавляя и настраивая необходимые инструменты и библиотеки. По аналогии с многочисленными starter-kit / boilerplate репозиториями, но наш, собственный.
Статья полностью открыта для доработки и исправления, и, возможно, итоговый материал превратится в актуальный и удобный справочник, интересный и для профессионалов, и для желающих опробовать новые для них технологии.
Хочу поделиться опытом решения задачи по машинному обучению и анализу данных от Kaggle. Данная статья позиционируется как руководство для начинающих пользователей на примере не совсем простой задачи.
Выборка данных
Выборка данных содержит порядка 8,5 млн строк и 29 столбцов.Вот некоторые из параметров:
Широта-latitude
Долгота-longitude
Способ взятия пробы-method_name
Дата и время взятия пробы-date_local
Задача
Найти параметры максимально влияющие на уровень CO в атмосфере.
Создание гипотезы, предсказывающей уровень CO в атмосфере.
Эксперимент, как инструмент научного исследования, был предложен к использованию в экономике 70 лет назад. С тех пор, отношение к экономическим экспериментам изменилось и перестало быть таким же однозначным.
На данный момент существует два мнения, для чего нужно использовать поведенческие эксперименты:
Чтобы выяснить обоснованность абстрактных моделей,
Узнать, можно ли результаты лабораторных экспериментов применить к миру в целом.
Относительно недавно акцент в вопросе об использовании лабораторных методов в экономике сместился от содержания к контексту. С одной стороны, невозможно осуществить «чистый» эксперимент без вмешательства внешних обстоятельств, так как лаборатория не является нейтральной структурой, в которой нет негласных правил и факторов. С другой стороны, поведенческие и когнитивные подходы в экономике не могут не могут дать обоснованные выводы о валидности той или иной теории без учета того, как контекст эксперимента влияет на поведение. Читать дальше →
В общем, так вышло, что я пишу на JavaScript уже довольно долго, и одной из самых главных задач всегда была организация состояния приложения.
Что-то хочется кешировать, что-то обновлять, причем обновлять везде, а не только в локальном компоненте, не хочется перерисовывать весь компонент если поменялся весь Store (shout out to Vuex), а хочется подписываться на то, что используешь (shout out to MobX).
Всем привет.
Как и большенству разработчиков — мне было лень делать сложные изменения от версии к версии Андроида. Первым таким сложным изменением были -«Runtime permissions», которые пришли к нам с 6-м андроидом. Но это уже в прошлом.
Темой данной публикации будут изменения в Android Oreo. Вы можете почитать подробнее здесь. Все статьи которые я находил, с возможным вариантом решения проблем говорили «Просто наследуй сервис от JobIntentService и используй его в enqueueWork()». Читать дальше →