Архив за 23 августа 2017

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

image

В чем измеряется, энергия?
$ 1 Дж=2.78·10^{-7} кВтcdotч=1 Втcdotс=0.239 Калория=6.241·10^{18} Электронcdotвольт $
$ 1 кВтcdotч=3.6·10^{6} Дж=3.6·10^{6} Втcdotс=8.60·10^5 Калория $
$ 1 Ккалория=1.163·10^{-3} кВтcdotч$

Читать полностью »

Blockchain: будущее, которое стоит знать it-специалистам - 1

Я знаю, что многие устали от хайпа вокруг Bitcoin, ETH и ICO. Но давайте же на it-ресурсе вернёмся к истокам: к технологии.

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

Intro

Есть такой шаг в развитии языка, когда его компилятор написан на нем же.
Чтобы доказать крутость библиотеки trafaret я тоже решил сделать что-то такое же
рекурсивненькое, где надо идти глубже.

Напишем на трафарете парсер Json Schema, который на выходе вернет
готовый трафарет для проверки документов в соответствии с данным описанием.

То есть некий объект типа Trafaret, если ему скормить корректный документ json schema
на выходе вернет объект типа Trafaret, которому можно кормить документы
соответствующие описанию.

Как вообще такое сделать библиотекой валидации? Ну библиотекой валидации никак, а вот универсальным трансформером запросто. Trafaret это парсер данных, точнее комбинаторный парсер. Только те парсеры про которые вы наслышаны такие как parsec и funcparserlib парсят строки, а Trafaret парсит все что под руку подвернется, и на что у автора талантов хватит закодировать.

Json Schema описывается как водится пачкой документов из которых самый близкий народу пожалуй этот — http://json-schema.org/latest/json-schema-validation.html
Тут описание множества ключевых слов с помощью которых вы можете описать критерии корректности документа, а вот замечательный и зубодробительный в реализации $ref всего в одном месте вскользь.

Читать полностью »

Самый распространенный способ получить данные из web служб — это через Http. И в этой статье мы посмотрим как это можно сделать Http-запрос в Angular 4.3 через новый HttpClient.

Начиная с версии Angular 4.3 появился новый HttpClient. В этой статье описывается только новый клиент.

Читать полностью »

Введение

Голосовые ассистенты в мобильных устройствах не стоят на месте и непрерывно развиваются. Голосовой помощник для Sailfish OS, представленный осенью прошлого года, не исключение и тоже обрастает новым функционалом.

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

  1. Работа с недокументированным API для управления устройством (текущая);
  2. Работа с интерфейсами D-Bus, предоставляемыми операционной системой.

В текущей статье описывается как управлять яркостью экрана и системной громкостью, а также как включать и выключать Bluetooth и режим полёта.

Подразумевается, что читатель уже установил Sailfish OS SDK и разрабатывал приложения с его использованием.
Читать полностью »

С помощью грецких орехов можно контролировать аппетит

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

Читать полностью »

Правильно заданный вопрос быстро приводит к правильному ответу. Недавно меня спросили: «Почему стандарты бизнес-анализа сконцентрированы на выявлении требований, но ничего не говорят о превращении этих требований в решение?» В самом начале своей карьеры аналитика я искал ответ на вопрос: как анализировать предметную область и как превращать результат анализа в структуру модели: откуда брать классы, атрибуты и методы? Тогда я нашел один более-менее вразумительный метод, описанный в книге Крега Лармана Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. Аналитику предлагалось прохождение по тексту с маркерами разных цветов: Красный выделяет существительные и является основанием для создания классов, зеленый — прилагательные, причастия и проч. — основа для создания атрибутов этих классов. И глаголы выделяются синим — основа для создания методов.

Однако, в реальности этот метод не работал. Один и тот же факт я мог смоделировать при помощи класса, значения атрибута или метода в зависимости от своего желания. Об этом написано подробно у Крисса Партриджа в книге Business Objects: Re-Engineering for Re-Use.
Читать полностью »

И как заставить его думать по-другому

image

Ребёнком я увидел версию фильма «Планета обезьян» от 1968 года. Как будущий приматолог я был им заворожён. Много лет спустя я нашёл анекдот о съёмках этого фильма: в обед люди, игравшие шимпанзе, и люди, игравшие горилл, ели отдельными группами.

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

Все люди проводят разделительную черту «свой/чужой» по расам, этническим признакам, полу, языковой группе, религии, возрасту, социально-экономическому статусу, и так далее. И в этом нет ничего хорошего. Мы делаем это удивительно быстро и эффективно с нейробиологической точки зрения. У нас существует сложная систематика и классификация способов, которыми мы наговариваем на «них». Мы делаем это с изменчивостью, варьирующейся от мелкой минутной агрессии до дикарской резни. А также мы постоянно определяем, что плохого в «них», основываясь на чистых эмоциях, за которыми следует примитивная рационализация, которую мы путаем с рациональностью. Грустно.
Читать полностью »

Глава отдела информационной безопасности лотереи в США получил 25 лет за мошенничество с генератором случайных чисел - 1

Деньги очень часто провоцируют людей на нехорошие поступки. Ну а большие деньги могут спровоцировать совершить преступление даже вроде как вполне добропорядочного гражданина. Это произошло с главой информационной безопасности Государственной лотереи США Эдди Раймондом Типтоном. Используя свое служебное положение, он смог модифицировать генератор случайных чисел лотереи. В результате Раймонд получил возможность предсказывать результаты. Соответственно, это сделано не просто так — шеф отдела безопасности через подставных людей начал выигрывать миллионы долларов США.

Получив первый миллион, ему захотелось еще и еще, так что, в конце-концов, ловкий преступник попался на неосторожности — подвела собственная жадность. На днях Раймонду огласили приговор, согласно которому ему придется провести ближайшие 25 лет в тюрьме штата Айова, США. В последнем слове он заявил, что очень сожалеет о том, что сделал: «Сложно даже выразить, что чувствуют близкие мне люди, которым я сделал больно, и я сожалению об этом. Простите».
Читать полностью »

Планировщик заданий (scheduler) не во все времена считался обязательным инструментом в мире баз данных. Все зависело от назначения и происхождения СУБД. Классические коммерческие СУБД (Oracle, DB2, MS SQL) представить себе без планировщика решительно невозможно. С другой стороны, трудно вообразить потенциального пользователя MongoDB, который откажется от выбора этой модной NoSQL-СУБД из-за отсутствия планировщика. (Кстати, термин «планировщик заданий» в русском контексте СУБД употребляют, чтобы отличить его от планировщика запросов — query planner, мы же для краткости будем звать его здесь планировщиком).

PostgreSQL, будучи Open Source и впитав традиции сообщества с образом жизни DIY («сделай сам»), в наше время регулярно претендует на место как минимум заместителя коммерческой СУБД. Из этого автоматически следует, что PostgreSQL просто обязана иметь планировщик, и что этот планировщик должен быть удобен для администратора базы и для пользователя. Читать полностью »