Архив за 13 января 2016 - 7

Я — frontend разработчик и в последнее время мне все чаще приходится пользоваться нодой, будь то использование webpack-а для сборки проекта, либо настройка различных gulp тасков. Хоть у меня и нету большого опыта в использование ноды, со временем у меня накопилось три вещи, которые мне хотелось бы улучшить при работе с модулями:

  • Избавиться от кучи require-ов в начале каждого файла
  • Подгружать модули только тогда, когда они нужны(особенно это актуально для gulp тасков)
  • Иметь возможность работать с локальными модулями проекта, как с внешними модулями, то есть вместо, например,
    вызова var core = require('../../deep/deep/deep/core/core'), вызывать этот же модуль вот так var core = require('core')

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

image

Мы собрали 29 фактов из исследований нескольких компаний и наших собственных наблюдений в Carrot Quest. Они помогут вам всегда оставаться на плаву, избирать лучшую тактику для выполнения плана продаж и помогут поднять ключевые показатели.

Для удобства мы разделили эти факты на несколько групп. Предлагаем вооружиться ручкой и блокнотом, чтобы “запомнить” их.
Читать полностью »

Декораторы и рефлексия в TypeScript: от новичка до эксперта (ч.1) - 1

От переводчика: TypeScript — довольно молодой и активно развивающийся язык. К сожалению, в русскоязычной части Интернета о нем довольно мало информации, что не способствует его популярности.

Многие возможности, которые сейчас реализованы в ES6, значительно раньше появились именно в TypeScript. Более того, некоторые возможности и предложенные стандарты ES7 также имеют экспериментальную реализацию в этом языке. Об одной из них, появившейся сравнительно недавно — декораторах — и пойдет речь.

Предлагаю вашему вниманию перевод статьи (а точнее, цикла статей) о декораторах в TypeScript под авторством Remo H.Jansen

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

Новый год начался для нас с возвращения на Хабр. Итак, daddy’s home. Мы решили вернуть наш блог к жизни, чтобы делиться новостями компании, технологическими секретами, жизненным опытом и общаться c вами, тем более и рассказать нам есть о чем.

Новую страницу нашего блога мы начнем, пожалуй, с небольшого эксперимента. Мы решили развернуть наш офисный пакет ONLYOFFICE на мини-серверах. В качестве непривычной тестовой среды для нашего ПО мы использовали три разных (по стоимости и, соответственно, мощности процессора) машины Intel NUC.

Что из этого всего вышло — читайте далее.

Сервер в кармане: разворачиваем ONLYOFFICE на Intel NUC'ах - 1
Читать полностью »

В четвёртом квартале 2015 года производители персональных компьютеров, включая настольные машины, ноутбуки и ультрапортативные устройства премиального сегмента, сократились на 8,3% относительно четвёртого квартала 2014 года. Всего за квартал было отгружено 75,7 миллиона устройств, а общее количество отгруженных за год компьютеров составило 288,7 миллиона, на 8% меньше, чем в 2014.

Рост продаж ПК в 4 квартале 2015 года показала только Apple - 1
Читать полностью »

В четвёртом квартале 2015 года производители персональных компьютеров, включая настольные машины, ноутбуки и ультрапортативные устройства премиального сегмента, сократились на 8,3% относительно четвёртого квартала 2014 года. Всего за квартал было отгружено 75,7 миллиона устройств, а общее количество отгруженных за год компьютеров составило 288,7 миллиона, на 8% меньше, чем в 2014.

Gartner: поставки ПК в 2015 году сократились на 8% - 1
Читать полностью »

Немного теории

ACARS (Aircraft Communications Addressing and Reporting System) — цифровая система связи, применяемая в авиации для передачи коротких, относительно простых сообщений между воздушным судном и наземными станциями, либо через прямую радиосвязь, либо через спутниковые системы.
AIRCOM – Сервер (шлюз) обмена сообщениями между различными сетями. Производитель — компания SITA. Связывает бортовое оборудование ACARS через сети ARINC с системой планирования полетов LIDO OC (Jeppesen Jet Planner или др.), электронной почтой, SITAtex, телефонией, файловым обменом и другими необходимыми информационными системами, используемые в авиакомпании.

Принцип работы AIRCOM Server

Информационная система SITA AIRCOM Server реализована на MS SQL и используется для обеспечения воздушных судов авиакомпании данными о маршруте, ветру на эшелонах, погоде и для обмена сообщениями «экипаж — ЦУП — экипаж». AIRCOM Server настроен на бортовое оборудование ACARC и функционирует совместно с ним. AIRCOM Server является критически важной информационной системой для обеспечения полетов.

Для корректной работы AIRCOM необходимо, чтобы корректные данные о предстоящем (или текущем) полете были, и в БД AIRCOM, и в памяти FMS самолета:

— номер рейса;
— бортовой номер воздушного судна (ВС);
— аэродромы вылета и назначения;
— время вылета и пр.

Если информация в памяти FMS, в БД AIRCOM и в системе планирования полетов не будет совпадать, некоторые запросы пилотов не будут обрабатываться, и экипаж не получит, например, обновленные данные по ветрам на эшелонах по маршруту полета.

Данные о предстоящем (или текущем) полете в AIRCOM и в память FMS ВС должны попасть из информационной системы авиакомпании (Netline, Meridian, Operations или иной), в которой формируется и корректируется расписание полетов.

Это может быть выполнено двумя способами:

1. Ручная инициализация экипажем

Пилот вручную заполняет все данные по предстоящему рейсу, используя пульт ACARS и рабочий план полета (OFP), после чего выполняет инициализацию, нажав кнопку «INIT». При этом данные по рейсу отправляются в AIRCOM и записываются в его БД.

Минусы данного способа:

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

2. Автоматизированная инициализация

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

AIRCOM, получив INIT-запрос с ВС, использует предназначенный для этого типа сообщений шаблон (downlink template) и модель (Model), получает из сторонней системы текущие действующие данные о расписании полетов для данного ВС (номер рейса, аэродром вылета и назначения, дата и время вылета), записывает эти данные в свою БД и отправляет эту информацию через ACARS на самолет. Эти данные записываются в память бортовой системы и используются для последующих запросов с ВС.

Была сформирована задача — реализовать информационный обмен между информационной системой с расписанием полетов ВС и AIRCOM. В качестве информационной системы с расписанием полетов использовалась NetLine/Sched производства Lufthansa Systems GmbH.

ИС AIRCOM имеет штатную функцию — использование дополнительно сторонней БД и выполнять с ней информационный обмен с помощью двух хранимых процедур: одна — на запись, вторая — на чтение. Параметры подключение к этой БД указываются в файле настроек ИС AIRCOM — AircomSrv.ini. Дополнительно на сервере AIRCOM должна быть установлена и запущена (когда все будет настроено) дополнительная служба — AS Database Connector.

AS Database Connector поддерживает подключение только к базе данных типа «MS SQL Server» (другие, в том числе Oracle, якобы, будет поддерживать в каких-то последующих версиях). Database Connector можно подключить только к одной базе данных и использовать только одну пару хранимых процедур (на чтение и на запись) для получения и отправки данных.

Реализация

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

Mail.ru разместили вакансию, в которой «Команда разработки мобильного приложения для встреч с друзьями ищет контент-редактора в Москве». От кандидата требуется отличное знание русского языка, а также культурных и не очень мест Москвы. Что там Mail.ru такое пилит?

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

Детали test-first, которых так не хватало - 1 Все мы не раз слышали о test-first — философии разработки, которая призывает писать тесты раньше кода. Уверен, что любой, кто пытался применять этот метод на практике, сталкивался с тем, что у него просто не получается написать тест до функции (обычно в этом случае просто игнорируют эту проблему и локально нарушают test-first). Я считаю, что причина подобных провалов фундаментальна, и попытаюсь показать почему.

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

Вам может показаться, что индустрия давно разобралась со всеми проблемами, связанными с test-first, и причина всех возможных провалов лишь в том, что мы как разработчики не обладаем достаточной квалификацией для успешного применения нужных техник, а вовсе не в каких-то фундаментальных проблемах. Увы, здесь и там разные программисты задают одни и те же вопросы, как именно делать test-first, и получают порой невразумительные ответы. Думаю, без преувеличения можно сказать, что комьюнити по всему миру что-то подозревает, но многое остается недоговоренным.
Читать полностью »

Приветствуем наших читателей на страницах блога iCover! Тому, кому посчастливилось жить по-соседству с пекарней наверняка многократно убеждались, что вероятность проснуться от аромата горячей французской булочки ничуть не ниже, чем от пронзительного визга будильника. Чтож, возможно пришло наконец время расстаться с некоторыми десятилетиями складывающимися привычками, и заменить привычное средство пробуждения на нечто более комфортное, приятное и естественное. По крайней мере, именно такую возможность обещают нам разработчики инновационного будильника запахов, одного из 10-ти номинантов премии Innovation Award на CES 2016.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js