Архив за 01 августа 2016 - 5

История взята из реального проекта. Но поскольку реальный проект слишком скучный (и под NDA), в этой статье используется упрощенный пример.

Жил-был один проект. И была у него база данных. И была в базе таблица для хранения, ну, скажем, котов. Вот такая:

CREATE TABLE cats (
    id serial,
    cname varchar(20),
    ctype varchar(20),
    primary key(id)
);

Все довольно просто: у каждого кота есть id, имя и некий тип.

Конечно, у нас были бизнес-требования к котам и их типам. Например, мы точно знали, что у нас есть типы big furry, neko и sudden danger. Предполагали, что могут появиться типы long tail и sleeper-eater. Но мы ожидали, что требования будут меняться. И пока не известно, какие в итоге понадобятся типы. Поэтому использовали тип данных varchar(20).
Читать полностью »

JavaScript в 2016 году: функциональное программирование пришло всерьез и надолго - 1В 2015 году вы могли заметить перемены в способе разработки приложений на JavaScript. Разработчики уходят от непредсказуемой архитектуры с мутабельным состоянием в сторону более предсказуемой иммутабельной архитектуры приложений.

С такими фреймворками как Backbone, было принято синхронизировать сами данные и представление данных – для этого приходилось вручную подписываться на нужные события dom. Такой способ был подвержен ошибкам и вынуждал использовать слишком много типового кода. Пришел Angular и исправил это с помощью автоматизированного двустороннего биндинга.

Но сейчас все движется в другом направлении.
Читать полностью »

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

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

«Мастер своего дела»: Искусство мастеринга аудиозаписей - 1

Фото Iñaki de Bilbao CC

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

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

Скончался Рудольф Калман - 1

2 июля 2016 г. не стало всемирно известного ученого, инженера и изобретателя Ру́дольфа Э́миля Ка́лмана.
Многим он знаком прежде всего как создатель алгоритма оценивания, названного его именем. Однако вклад этого человека в науку намного значительнее. Р. Калман являлся одним из основателей современной теории управления. Его работы изменили способы обработки информации в широком классе приложений, начиная от навигации и заканчивая экономикой. Идеи Р. Калмана дали мощный толчок развитию техники и вдохновили тысячи исследователей и инженеров на новые изобретения.

Предлагаю читателям вспомнить об этом замечательном человеке и познакомиться с историей создания алгоритма, известного как Фильтр Калмана.
Читать полностью »

в 8:24, , рубрики: Go, чат

Начинаем разработку чата на Go. Со стеком технологий пока не определились, но для начала сделаем каркас на Go. Берем за основу стандартный пример и пробуем разобраться, что здесь к чему:

https://github.com/golang-samples/websocket/tree/master/websocket-chat

Структура

Вводим 3 структуры Message, Client, Server, которые определяют сервер, клиента со стороны сервера и сообщение.

Message

Сообщение определено структурой:

type Message struct {
    Author string `json:"author"`
    Body   string `json:"body"`
}

func (self *Message) String() string {
    return self.Author + " says " + self.Body
}

С сообщением все совсем просто… Так, что перейдем сразу к клиенту.

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

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

Рекламная сеть «Яндекса» транслирует контекстную рекламу. По Читать полностью »

«Работа с микроскопом»: Революция в области хранения данных - 1

/ фото grover_net CC

В одном их наших предыдущих материалов мы писали о новой разработке в сфере хранения данных. Нас, как IaaS-провайдера, очень интересуют технологии, способные изменить наше представление о дата-центрах. Потому мы решили уделить еще немного времени хранилищам данных. Очень емким хранилищам данных.
Читать полностью »

Статья про L3VPN получилась большой — ни много ни мало 130 000 символов.
Учитывая, что и её ещё не все дочитали, эту часть про доступ в Интернет мы вынесли в отдельную публикацию.
Это особенно важно, потому что в рунете, да и вообще в интернетах, нет доступного разбора этой темы.
Вполне вероятно, что вы сейчас читаете эксклюзивный материал.

Итак, есть оператор связи, который предоставляет своему клиенту L3VPN. Ни с того ни с сего, с бухты да барахты понадобился ему ещё и Интернет.
Самое очевидное решение — прокинуть ещё один кабель — в одном VPN, в другом Интернет.
Допустим, это сложно. Тогда можно поднять сабинтерфейс и передавать фотки вконтактике в отдельном VLAN'е.
Допустим, там сложный арендованный канал, где можно прокинуть только 1 VLAN или оборудование клиента не умеет VLAN (стоит обычный компьютер), что тогда?

Об этом следующие 36 000 букв вашей жизни.

Содержание выпуска

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

Со ссылкой на издание Financial Times источник сообщил о намерении онлайнового сервиса такси Uber инвестировать 500 миллионов долларов в амбициозный проект по созданию собственных карт. Интересно, что в картах планируется учитывать информацию, получаемую от водителей. Как утверждается, первыми будут созданы карты США и Мексики.

В Uber хотят устранить зависимость от Google Maps и проложить дорогу к самоуправляемым автомобилям

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


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