FLI

Инфо

Поток

Настройка провайдеров в Angular 2

TypeScript повсеместно используется при создании Angular 2 приложений. Мы прописываем include для внедрения зависимостей. Если мы хотим использовать сервисы без include в компонентах, мы должны изучить декоратор @Inject. Данный декоратор позволяет внедрять любое значение или объект, без необходимости создания сервиса.

В нашем приложении мы добавили провайдер для MailService, и в компоненте AppComponent внедрили приватный параметр mail c типом MailService.

app.module.ts

@NgModule({
  declarations: [
    AppComponent,
    SimpleFormComponent
  ],
  imports: [
    BrowserModule,
    FomrsModule,
    HttpModule
  ],
  providers: [MailService],
  bootstrap: [AppComponent]
})
export class AppModule { }
app.component.ts
export class AppComponent {
  title = `Hello world`;
  constructor(private mail:MailService){ }
}

Тоже самое можно сделать через конфигурационный объект. То есть передать в провайдер объект с ключом provide плюс значение. Добавим значение 'mail', и еще один ключ useClass:MailService.

app.module.ts

providers: [{provide:'mail', useClass:MailService}]

Теперь в AppComponent, вместо внедрения зависимости по типу, мы можем использовать декоратор inject. Необходимо убедиться, чтобы данный декоратор был подключен.

app.component.ts

export class AppComponent {
  title = `Hello world`;
  constructor(@Inject('mail') private mail){ }
}

Сервис mail подключается через значение 'mail', которое мы указали в провайдере. Класс MailService будет подставлен автоматически. И теперь нам не нужно явно прописывать include для него в компоненте. Angular знает, что необходимо взять класс из провайдеров, создать его сущность и подставить в наш код. После сохранения изменений, все будет работать по-прежнему.

Настройка провайдеров, также может пригодиться для предоставления значений. Например, путь для API запросов. Добавим провайдер provide: 'api' и передадим useValue: 'http//localhost:3000/', или что угодно.

app.module.ts

providers: [
  {provide:'mail', useClass:MailService},
  {provide: 'api', useValue: 'http://localhost:3000/'}
  ],

Теперь мы можем использовать значение API там, где нам нужно. Добавим api в конструктор и выведем значение в шаблоне через синтаксис {{api}}. Сохраним файл.

app.component.ts
@Component({
  selector: 'app-root',
  template: `<div>
<app-simple-form></app-simple-form>
{{mail.message}}
<hr>
{{api}}
</div>`
})
export class AppComponent {
  title = `Hello world`;
  constructor(
    @Inject('mail') private mail,
    @Inject('api') private api,
    ){ }
}

Таким образом, мы можем конфигурировать провайдеры через useClass, useValue, useFactory и тд. А также, использовать их во всем нашем приложении.

5 бизнес-книг для каникул

Скоро начинается сезон отпусков, а это значит что у многих наконец появится время немного расслабиться и отдохнуть.
А для того чтобы совместить приятное с полезным, вашему вниманию представляем несколько бизнес-книг, которые помогут начать 2017 год с правильным настроем.

1. Инструменты Титанов (Tools of Titans)
Эта книга Тима Ферриса наполнена различными взглядами на формирование привычек.
Вы узнаете какие привычки у самых успешных людей в мире. И как начать вырабатывать свои собственные привычки, которые помогут покорить любую вершину.

2. Десять ресторанов, которые изменили Америку (Ten Restaurants That Changed America)
Эта книга подробно анализирует различные предприятия, которым удалось или не удалось стать лучшими в своей сфере и почему. Изменение тенденций, актуальность, конкурентноспособсть, - обо всем этом расскажет вам Паул Фридман.

3. Богатейший человек в городе (The Richest Man in Town)
Это книга Рэндала Джонсона, основателя журнала Worth.
В книге он делится своей личной историей успеха. Если вы хотите узнать как построить богатство от одного из самых богатых людей мира из первых уст, - эта книга для вас.

4. Выживают только параноики (Only the Paranoid Survive)
Эта книга наполнена удивительными идеями об успехе Intel. Она рассказывает как компания стала такой сильной и мощной на современном рынке. Очень вдохновляет.

5. Сложное о сложном (The Hard Thing About Hard Things)

Если вы хотите книгу, которая ориентирована на методы управления, то это книга для вас. Она расскажет о всех самых жестких, грязных и не самых приятных этапах запуска и ведения бизнеса. Автор, Бен Хоровиц, является одним из основателей Andreessen Horowitz, и он настоящих фанат в анализе и детализации бизнеса.

Home Assistant Цукерберга заговорил голосом Моргана Фримана

Совсем недавно, соучредитель и генеральный директор компании Facebook - Марк Цукерберг, запустил  помощника по дому с помощью искусственного интеллекта.
Зовут робота-ассистента Джарвис (Jarvis), и говорит он голосом талантливейшего актера - Моргана Фримана.

Миллиардер решил создать Джарвиса для того, чтобы побольше узнать об искусственном интеллекте (ИИ).
"Моя цель состояла в том, чтобы узнать о состоянии ИИ - понять куда мы дальше будем двигаться, и что может нас ждать впереди" - сказал Цукерберг в понедельник в своем сообщении на Facebook.

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


Приложения для праздничных покупок

Осталось совсем немного времени перед самыми долгожданными праздниками в году.
Вашему вниманию представляются некоторые приложения, которые помогут вам сэкономить деньги и сделать как ваши покупки проще и приятней.
Slice

В приложении Slice, нет необходимости вводить какие-либо коды отслеживания скидок, потому что оно синхронизируется с вашей электронной почтой и самостоятельно уведомляет вас о всех этапах любой покупки.
В нем все ваши расходы делятся на категории, все квитанции сохраняются, а скидки при этом накапливаются.
Приложение является бесплатным и доступно на iPhone, Android и Apple Watch.

RetailMeNot

Приложение собирает все самые крутые скидки популярных брендов. Если вы планируете купить что-то в Macy's, Victoria`s Secret  или Nike, RetailMeNot предложит вам лучшие предложения.
Приложение является бесплатным и доступно как на iPhone, так и на Android.

Curbside
Приложение позволяет заказывать и забирать свой товар заранее, за пределами магазина, уже примерно через час после заявки. Кстати, покупку могут принести прямо к вашей машине.
Curbside находится в партнерских отношениях с крупными брендами, такими как CVS, Sephora и работает над расширением этого списка по всей территории Соединенных Штатов. Приложение является бесплатным и доступно на iPhone'ов и Android.

Внедрение зависимостей в 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", который в переводе звучит как "нейронная история пения".
Для того, чтобы написать песню, исследователи сначала должны были научить компьютер распознавать рождественские символы, которые изображены на картинке под каждой песней. Затем они выбрали ритм удара который был связан с окончанием фразы и настроили вокал в пределах существующего диапазона нот.
Более подробно об алгоритме будет известно после того как он будет представлен на конференции по ИИ.
Ниже представлен перевод, написанной компьютером песни, на русский язык:

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

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

Студенческие традиции Стэнфорда

1. Прыжки в фонтане
Самые первые выходные любого первокурсника университета Стэнфорд сопровождаются веселым плесканием в местном фонтане возле центрального корпуса. Более мокро не бывает :)

2. Башня Гувера (Hoover Tower)
Hoover Tower в Стэнфорде является знаковым для студентов и посетителей местом.
Башня была подарком  бельгийско-американского фонда образования и до сих пор является частью института  войны, революции и мира Стэнфордского государственного научно-исследовательского центра, основанного Гербертом Гувером.
Напомню, что сам Гувер был выпускников Стэнфорда и 31-м президент Соединенных Штатов.

3. Стэнфордский Талисман
Неофициальное название Стэнфордского талисмана - Stanford Tree.
Этот костюм дерева, создается каждый новый год, с некоторыми отличительными характеристиками.

4. Стэнфордский Cowbell музыкант (Stanford’s Cowbell Player)
Парень прославился на очередной игре в бейсбол в прошлом году.  Все внимание было приковано только к нему. Смотрите сами.

5. Богатое спортивное наследие
В Стэнфорде много успешных спортивных команд. Студенты Стэнфорда получали медали на всех Олимпийских играх с 1908 года, выиграв в общей сложности 244 олимпийских медалей, 129 из них золото.
На Олимпийских играх в 2008 году в Пекине, Стэнфорд выиграл больше олимпийских медалей, чем любой другой университет в Соединенных Штатах.

6. Сад кактусов (Arizona Cactus Garden)
В Стэнфорде есть сад кактусов, который был посажен между 1880-1888 годами для Джейн и Лиланда Стэнфорд. Некоторые из первоначальных растений были восстановлены и растут до сих пор.

7. Достижения
Стэнфорд является одним из наиболее научно-ориентированных университетов в мире.
С 1952 года более 54 преподавателей, сотрудников и выпускников стали лауреатами Нобелевской премии и премии Тьюринга. На данный момент, в сообщество ученых входят 19 лауреатов Нобелевской премии и 4 победителя Пулитцеровской премии.
Кроме того, Стэнфорд выпустил 30 миллиардеров и 17 действующих космонавтов.

8. Стэнфордский Мотто
Девиз Стэнфордского университета является "Die Freiheit Luft дер weht." В переводе с немецкого языка, эта цитата из Гуттен означает "ветренными удары свободы".

9. Полная луна (FMOTQ)
Полная Луна отмечается каждую осень.
Студенты Стэнфорда целуют друг друга под лунным светом, начиная с полуночи. Традиционно, первокурсницы выстраивались в ряд, а ребята постарше подходили дарили розу и свой поцелуй :)
В настоящее время, это событие является менее формальным и там, как правило, просто играет музыка и выступают местные группы.


10. Блондинка в законе
Аманда Браун написала "Блондинку в законе" на основе своего личного опыта обучения на юридическом в Стэнфорде.

10 альтернатив Skype, о которых вы могли не знать


1. RingCentral

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

2. 8 × 8

8 × 8 с небольшим количеством функций и абсолютно простым интерфейсом поможет вам лучше обслуживать своих клиентов. Это полнофункциональное приложение VoIP, которое предоставляет больше, чем просто телефонную службу.
8 × 8 включает в себя функции проведения веб-конференций и передачу факсов. Помимо этого доступна мобильная интеграция. Если сравнивать со Skype, вы оцените улучшенное качество звукового сигнала, который звучит так, благодаря новому методу сжатия аудио файлов. Достойная альтернатива Skype для бизнеса.

3. Nextiva

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

4. Phone.com

Phone.com сосредоточили внимание на предоставлении полнофункционального сервиса для конференц-связи. Инновационные функции включают в себя конференц-связь с участием до 500 человек, SMS-сообщения на ваш номер Phone.com, возможность отправлять и получать факсы с вашего счета, а также интеграцию с мобильным приложением Phone.com.

5. Aircall

Решение VoIP Aircall - отличный способ, чтобы упростить и локализовать способ подключения с вашим клиентом. Aircall имеет большой набор функций. Там нет ограничений на сумму звонков. Сервис обслуживает более 30 стран в мире.

6. Team on the Run

Team on the Run является надежным и масштабируемым мобильным приложением для обмена сообщениями. Используется на предприятиях любого размера: от агентств по планированию свадьбы (до 5 человек) до частных организаций с 10000 или более сотрудников. Команда Team on the Run является надежным и удобным инструментом, который экономит время, деньги и пространство организации.
Кроме того, Team на Run также предлагает мобильные корпоративные каталоги, поддержку ECM и доступ к облачным системам хранения данных.

7. GoToMeeting

GoToMeeting позволяет практически встретиться более чем с 25 людьми, с помощью видео связи или VoIP. Также, есть возможность присоединиться с  мобильного телефона. Там есть множество других полезных функций, в том числе совместное использование экрана, личные "чаты", а также возможностью записи совещания для тех людей, которые не смогли принять участие ранее. Очень простой в использовании сервис.

8. Zoho Meeting

Есть несколько особенностей, которые делают Zoho Meeting особенно интересной альтернативой Skype.
Прежде всего, Zoho предлагает ряд других приложений, таких как: CRM, чат и календарь. Доступны и другие интеграции, такие как Google Apps. Преимущество в том, что вы можете легко управлять пользователями и создавать настраиваемые отчеты прямо из системы. Безусловно есть доступ к VoIP, видео-чату и совместному использовании экрана.

9. Cisco WebEx

Cisco WebEx делает основной акцент на HD видео-звонках. Ключевой особенностью является его способность показывать семь экранов одновременно. Он, также, поставляется с функциями аудио и видео записи,. Помимо этого, доступны заметки и аудиторные доски.
Функция совместного использования экрана довольно простая, но позволяет обмениваться определенными приложениями.

10. Join.me

Join.me может продать себя как простое решение, которое является очень элементарным в использовании, и при этом конкурирует с "более мощными" сервисами.
Он имеет VoIP, видео, доступ к экрану чата и функции передачи файлов. А также: функциональные возможности записи, возможность общаться с количеством участников до 250. Есть календарь плагинов, интеграция с Salesforce.com, облачная система хранения данных, личные чаты и мобильное приложение.
Вцелом, это полнофункциональная программа, которая подходит даже для новичков в сфере технологий.


Обработка Angular 2 событий через $event

Этот урок покажет нам преимущества использования Angular 2 синтаксиса для обработки событий. А так же получение доступа к объекту события, через знакомый нам из angularjs синтаксис $event.

Если нам нужно получить, например, событие MouseEvent, мы можем использовать $event синтаксис. Тот же, который мы использовали в Angular 1. Объект события просто передается через эту переменную.

simple.form.component.ts

@Component({
  selector: 'app-simple-form',
  template: `<div>
<input #myInput type="text">
<button (click)="onClick($event)">Нажми меня!</button>
</div>`,
  styles: []
})
export class SimpleFormComponent implements OnInit {
  onClick(value) {
    console.log(value);
  }
  constructor() { }
  ngOnInit() {
  }
}

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

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

simple.form.component.ts

@Component({
  selector: 'app-simple-form',
  template: `<div>
<input #myInput type="text">
<button (click)="onClick($event, myInput.value)">Нажми меня!</button>
</div>`,
  styles: []
})
export class SimpleFormComponent implements OnInit {
  onClick(event, value) {
    console.log(event);
    console.log(value);
  }
  constructor() { }
  ngOnInit() {
  }
}

Таким образом после ввода текста в поле ввода и нажатия на кнопку, мы имеем доступ и к событию, и к значению элемента input.

Это работает со всеми DOM событиями. К примеру, если заменить click на mouseover для onClick обработчика. Сохранить файл. То каждый раз при наведении курсора на кнопку button, мы увидим, что обработчик срабатывает.

Почему успешные люди любят плохие новости?

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

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

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

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

То же самое и в бизнесе. Лидеров часто пытаются защитить от плохих новостей.
Сотрудники, как и мы в детстве, любят говорить о хорошем.
Вместо того, чтобы реагировать на плохой исход: "Я не могу в это поверить", "Это ужасно", "Провал" и тд, мы должны заставить себя реагировать более позитивно на все что происходит: "Большое вам спасибо, что рассказали мне, "Я действительно ценю это".
Все это требует дополнительных усилий. Но чем выше вы находитесь по карьерной лестнице, тем более спокойно вы должны воспринимать все процессы в компании.

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

Так что, как говорится, keep calm и вперед к вершинам.


Количество пользователей Instagram перевалило отметку 600 млн

Вы наверное заметили, что Instagram за последние несколько месяцев добавил много новых сервисов.
Это активное внедрение, помогло компании увеличить количество активных ежемесячных пользователей до более чем 600 миллионов.
Это почти 10% населения всего земного шара - и на 100 миллионов больше, чем у компании было 6 месяцев назад.
Тенденция продолжается до сих пор, и кто знает что будет еще через месяц.