FLI

Инфо

Поток

Внедрение зависимостей в Angular 2

Из этого урока мы узнаем как создавать сервисы в Angular 2 для общего использования. А также, познакомимся с внедрением зависимостей - Dependency Injection.

Начнем. Используем Angular CLI для генерации нового сервиса. Сервис можно создать при помощи команды service или s. Также, необходимо указать имя сервиса через пробел. Назовем его mail. После выполнения команды, будет сгенерировано два файла. Наш mail.service и файл spec для тестов. В терминале будет предупреждение о том, что сервис сгенерирован, но не добавлен для использования в приложении.

Angular CLI

$ ng g s mail

Пойдем дальше и добавим его. Для этого необходимо в файле app.module.ts указать провайдер MailService и сделать импорт данного сервиса.

app.module.ts

import { MailService } from './mail.service'
@NgModule({
  declarations: [
    AppComponent,
    SimpleFormComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule
  ],
  providers: [MailService],
  bootstrap: [AppComponent]
})
export class AppModule { }

Теперь MailService доступен для использования в приложении. Мы можем добавить его в конструктор  компонента AppComponent. Добавим параметр private mail:MailService и импорт самого сервиса. Необходимо проверить, чтобы импорт выполнялся из правильного файла.

app.component.ts

import { MailService } from './mail.service'
@Component({
  selector: 'app-root',
  template: `<div>
<app-simple-form></app-simple-form>
</div>`
})
export class AppComponent {
  title = `Hello World`;
  constructor(private mail:MailService){}
}

После этого, все данные из mail.service.ts доступны для приложения. Откроем наш сервис и добавим поле message с текстом 'Новое сообщение!'.

mail.service.ts

import { Injectable } from '@angular/core';
@Injectable()
export class MailService {
  message = `Новое сообщение!`;
  constructor() { }
}

Вернемся в компонент. Под нашей простой формой выведем сообщение из сервиса.

app.component.ts

@Component({
  selector: 'app-root',
  template: `<div>
<app-simple-form></app-simple-form>
{{mail.message}}
</div>`
})

Сохраним изменения. После обновления в браузере, мы увидим наше сообщение под формой. Таким образом мы можем обмениваться данными в нашем приложении.

ТОП менеджер Oracle уходит в отставку из-за Трампа

Один из ТОП менеджеров корпорации Oracle, Джордж Полиснер, подал в отставку после того, как генеральный директор Сафра Кац (Safra Catz), с огромным энтузиазмом присоединилась к позиции новоизбранного президента, - Дональда Трампа.
Напомню, что на прошлой неделе, Трамп созвал совещание всех технических руководителей  в Trump Tower в Нью-Йорке.
До начала этого совещания, Кац выступила с публичным заявлением, в котором говорилось следующее:
"Я планирую сказать избранному президенту о том, что мы с ним и поможем ему во всех начинаниях. Я уверена, что он сможет реформировать налоговый кодекс, договориться о более выгодных торговых сделках в индустрии высоких технологий США,  что сделает нас сильнее и более конкурентоспособными, чем когда-либо".
И уже после встречи, Кац приняла приглашение присоединиться к команде Трампа.

После этого,  ветеран предприятия и прогрессивный политический стратег Oracle, Джордж Полиснер, который с 1993 года занимается разработкой продуктов, защитой интересов клиентов, управлением облачных сервисов в компании, огласил отставке.
В своем LinkedIn он сильно раскритиковал Трампа за его планы относительно социального и медицинского страхования; за его неуважение к семьям военнослужащих; за его отношение к мусульманам и иммигрантам.

"Я не поддерживаю нового президента, и я не собираюсь ему помогать.
Поэтому я должен уйти с компании".

BMW выпустит электромобиль

BMW открывают новый центр  развития недалеко от Мюнхена.
Они планируют выпустить автономный электрический автомобиль к 2021.
Новый центр развития, который будет заниматься исключительно технологиями автоматизированного вождения в Unterschleissheim, как раз поможет достичь этой цели.
Начало работ запланировано на середину 2017 года. На проекте будут задействованы более 2000 сотрудников.
Команда объединит множество различных групп со всего мира: инженеров программного обеспечения, специалистов машинного обучения, дизайнеров и тд.
BMW отмечают, что это позволит упростить процесс разработки автомобилей. Инженеры будут писать код, а затем, прямо на месте, мгновенно, смогут протестировать его и получить обратную связь.

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

Какой подход лучше? Скоро узнаем.

Использование ExpressJS для отправки HTML файлов


Для приложений на Node.js и ExpressJS,  есть очень простой метод для отправки HTML файлов, да и вообще любых файлов. Это можно сделать при помощи метода res.sendFile(). Данный способ позволяет упростить разработку, когда вам необходим простой и быстрый HTTP сервер.

# Использование res.sendFile()

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

Ниже приведен пример res.sendFile() для  отправки HTML страницы.

var express = require('express');
var app = express();
var path = require('path');

// viewed at http://localhost:8080
app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname + '/index.html'));
});

app.listen(8080);

# Пример кода

Необходимо запустить Node приложение. Это можно сделать при помощи следующих команд.
$ mkdir express-sendfile
$ cd sendfile
$ npm init
$ npm install express --save
$ touch server.js index.html 
Теперь у нас есть основа для нашего приложения на Node. Файл server.js  содержит конфигурацию маршрута для index.html.

SERVER.JS

Код сервера:

var express = require('express');
var app = express();
var path = require('path');

// viewed at http://localhost:8080
app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname + '/index.html'));
});

app.listen(8080);

INDEX.HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Sample Site</title>
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
    <style>
        body { padding-top:50px; }
    </style>
</head>
<body>
    <div class="container">
        <div class="jumbotron">
            <h1>res.sendFile() Works!</h1>
        </div>
    </div>
   
</body>
</html>

Теперь после запуска нашего сервера
$ node server.js
Мы можем увидеть нашу страницу в браузере.

 # Заключение

res.sendFile() очень простой метод в использовании. С его помощью можно даже организовать загрузку с сервера любых файлов. Express предоставляет большое количество удобных инструментов для пользователей Node.

Instagram продолжает добавлять новые функции


Похоже на то, что в ближайшее время Instagram не собирается прекращать добавлять функции, ранее использованы в Snapchat.
Сегодня появилась возможность добавлять наклейки в Instagram Story.
Теперь у вас есть возможность использовать такие наклейки как погода, ваше текущее местоположение, смайлы в виде шоколадных конфет, кисти и специальные наклейки в честь самых ожидаемых праздников - Рождества и Нового года.
Да, это совсем не новаторское решение, но в свое время, оно добавило Snapchat большей привлекательности.

Cамые 'горячие' слова в описании успешного StartUp


TrendSpotter CB Insights проанализировали биографии тысяч компаний, получивших финансирование, начиная с 2010 года, и определили какие термины являются самыми точными и самыми привлекательными для инвесторов.

10 терминов, которые были обнаружены в описаниях в период между 2010 и 2016 годах:

  • приложение 
  • платформа 
  • технология 
  • служба 
  • решение 
  • данные 
  • управлять 
  • рынок 
  • помощь 
  • мобильный

Также, команда проанализировала рост некоторых других терминов, которые стали популярными в течение последних шести лет. Вот они:

  • виртуальная реальность
  • обучение машины
  • естественный язык
  • ингредиенты
  • кибер
  • искусственный интеллект
  • реальность
  • автоматизирует
  • датчики
  • обратная связь

А вот топ-10, которые все реже и реже встречаются в обсуждениях:

  • электроника
  • рекламодатели
  • водопроводная
  • солнечная 
  • углерод
  • twitter
  • социальная сеть
  • microsoft
  • развлечения
  • издательство


YouTube купили новый офис за $ 215 млн

YouTube купили большой офис в городе Сан-Бруно, недалеко от своей штаб-квартиры.
Покупка обошлась компании $ 215 млн.
Сделка показывает, что Кремниевая долина продолжает увеличивать количество новых кадров.

Виктор Кольман - исполнительный директор Hudson Pacific Propertie, и предыдущий владелец офисного комплекса говорит: "наша недвижимость вдоль берега, по-прежнему имеет высокий спрос со стороны ведущих мировых технологических компаний. Более того эта тенденция будет продолжатся и, скорее всего, обретет еще более широких масштабов".
Сделка была оформлена за кэш.

Благотворительная миссия от Google

Google пожертвовали $ 30 млн на оборудование, программное обеспечение, техническое обслуживание и обучение организаций.
Компания произвела благотворительную миссию от имени работников, в честь предновогодних и рождественских праздников.
Из $ 30 млн - $ 5 млн пошли на финансирование проектов по DonorsChoose.org.
Остальная часть средств была направлена ​​на благотворительные цели по всему миру, включая такие организации:
- Libraries Without Borders
- NetHope
- UNETE
- Pratham Education Foundation
- Defy Ventures
- Life Moves
- Abode Service

В дополнение к $ 30 млн в виде грантов, на сумму $ 24 млн, Google провели свое ежегодное мероприятие "Giving Week" для своих сотрудников.

Помимо этого, были проведены еще несколько благотворительных компаний:
- В честь жертв и выживших при пожаре в Окленде
- Помощь уязвимым женщинам Мексики
- Борьба с голодом и недоеданием в Индии
- Помощь беженцам
- Поддержка гражданских свобод в женских организациях здравоохранения
Вцелом,  компания потратила более $ 1млрд на высоко-технологическую продукцию, и выделила 200 000 часов общественных работ.

Новые цветные фоны от Facebook


Руководство Facebook считает, что новые цветовые схемы могут добавить привлекательности тестовым сообщениям. Хотя основной фокус компании сосредоточен на видео контенте, старый добрый текст еще никто не отменил.

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


Искусственный интеллект пишет рождественские песни


Команда ученых в области компьютерных наук  Университета Торонто научила искусственный интеллект создавать песни.
Исследователи записали в программу искусственного интеллекта (ИИ) 100 часов композиций разных стилей, (часть из них рождественских) и запустили процесс "neural story singing", который в переводе звучит как "нейронная история пения".
Для того, чтобы написать песню, исследователи сначала должны были научить компьютер распознавать рождественские символы, которые изображены на картинке под каждой песней. Затем они выбрали ритм удара который был связан с окончанием фразы и настроили вокал в пределах существующего диапазона нот.
Более подробно об алгоритме будет известно после того как он будет представлен на конференции по ИИ.
Ниже представлен перевод, написанной компьютером песни, на русский язык:

"Комнату нужно сильно украсить.
Рождественская ёлка наполнена цветами.
Клянусь, это канун Рождества.
Надеюсь, тебе тоже так кажется.
Лучший подарок на праздник — благословение.
Я всегда был рядом, всю нашу жизнь.
Сто с половиной часов назад.
Рад встретить тебя.
Я слышу музыку, идущую из коридора.
Это сказка. Это ёлка. Вокруг много-много-много цветов."

Вряд ли это песня станет хитом текущего года, ведь воспринимается она, мягко говоря, странно.
Но тем не менее, технологии движутся вперед, и теперь, у некоторых поп звезд, с не слишком то впечатляющими текстами, - появился конкурент :)