Архив за 27 ноября 2017 - 7

Программная инженерия отличается от программирования - 1

Перевод Software engineering is different from programming.

Некоторым людям не нравится термин «программный инженер» из-за метафоры с инженерным делом. Но эта статья не про термин. Если он вам не нравится, замените на Автора программ, Умельца по программному обеспечению или Программного художника!

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

Умение программировать не делает вас программным инженером.
Читать полностью »

Перекрестное опыление: управляем Linux из-под Windows, и наоборот - 1

В прошлой статье я обещал рассмотреть механизм удаленного подключения с Windows на серверы под управлением *nix, и наоборот при помощи PowerShell. Обещанного обычно ждут три года, но я успел чуть раньше. Что ж, если хочется с верного макбука управлять гетерогенной инфраструктурой, или наоборот ― с Surface Pro рулить Linux-серверами без всяких putty, ― прошу под кат.Читать полностью »

Компания Intel ввела новое обозначение Core i9, чтобы разделить процессоры HEDT серии Core X на две линейки. Модели Core i7 располагают 28 или 16 линиями PCIe, тогда как у Core i9 этих линий 44, что соответствует максимальной конфигурации кристалла Skylake-X. Сегментация позволила увеличить цены, обосновывая принадлежностью этих процессоров к отдельной линейке. Очевидно, опыт оказался успешным, поскольку в Intel решили распространить его и на мобильные процессоры.

В линейку Intel Core i9 войдут и мобильные процессоры

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

Никогда не замечали, что все статьи про дата-центры заканчиваются как под копирку одинаковой фразой — ждём вас в гости и будем очень рады вас видеть, но только если нелёгкая занесёт вас в наш город N, а особенно в его промзону или в тёмный лес в пригороде.

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

В этот раз для меня героями выступили представители эстонского провайдера Infonet, которые, в честь ввода в эксплуатацию первой очереди своего дата-центра в Таллине Infonet DC, совместно с партнёрами из Комфортел организовали поездку для коллег из Санкт-Петербурга и Москвы. Причём сделали это необычайно приятно: вместо того, чтобы весь день хвалить себя любимых, они договорились о визитах в ещё два дата центра, оставив гостям возможность делать выводы и писать подобные отчёты. Кстати всего планировалось посетить 4 датика, но о грустных причинах посещения только трёх немного ниже.

Так что сегодня я хочу потратить немного вашего времени на рассказ про особенности рынка телекоммуникаций в Эстонии вообще и что такое дата-центры Таллина в частности.

Забег по дата-центрам Таллина - 1

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

Решаем задачу нахождения длины наибольшей возрастающей подпоследовательности - 1 Содержание:

Последовательность Фибоначчи O (n)
Решение за O(n ^ 2)
Бинарный поиск O(log n)
Решение за O(n * log n)

Задача

"Найти длину самой большой возрастающей подпоследовательности в массиве."

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

На пальцах

Есть последовательность:

5, 10, 6, 12, 3, 24, 7, 8

Вот примеры подпоследовательностей:

10, 3, 8
5, 6, 3

А вот примеры возрастающих подпоследовательностей:

5, 6, 7, 8
3, 7, 8

А вот примеры возрастающих подпоследовательностей наибольшей длины:

5, 6, 12, 24
5, 6, 7, 8

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

Что происходит в Kubernetes при запуске kubectl run? Часть 2 - 1

Прим. перев.: Вторая и заключительная часть перевода материала, озаглавленного в оригинале как «What happens when… Kubernetes edition!» и рассказывающего о том, какие процессы (каких компонентов и в какой последовательности) происходят в Kubernetes на примере выполнения команды, разворачивающей в кластере 3 пода с nginx.

Если первая часть была посвящена работе kubectl, kube-apiserver, etcd и инициализаторам, то теперь речь пойдёт про контроллеры Deployments и ReplicaSets, информаторы, планировщик и kubelet. Напомню, что мы остановились на моменте, когда переданный пользователем (через kubectl) запрос был авторизован и выполнен в Kubernetes, новые объекты (ресурсы) — созданы и сохранены в базу данных (etcd), после чего — инициализированы (т.е. стали видимыми для apiserver).Читать полностью »

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

По мнению компании Nartron, ее патент нарушен в устройствах Apple

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

Представляем вам тринадцатую лекцию курса «Биология поведения человека» Роберта Сапольски про генетику поведения. В этой лекции рассматриваются более сложные, с точки зрения нейробиологии, способы межклеточной коммуникации, роль лимбической системы в формировании личности, поведения и факторы, которые могут вызвать различные аномалии в функционировании нервной и эндокринной систем. Под катом вы найдёте предыдущие лекции этого курса.
Читать полностью »

Чем «транскрибирование» отличается от «распознавания голоса» - 1

Голосовых помощников сейчас делают все. Их встраивают в телефоны, наушники, отдельно стоящие колонки, они пытаются с нами общаться при звонках в тех поддержку и заменить «нажмите 1 чтобы связаться с оператором» в голосовых меню. Наше «лего для телефонии» Voximplant предлагает разные варианты распознавания голоса уже много лет, и под катом я на примере нескольких строк JavaScript покажу основные варианты, чем они отличаются друг от друга и почему «потоковое распознавание от гугла» — это не всегда самый лучший вариант.
Читать полностью »

image

Как-то раз моему коллеге в беклог упала задача «хотим организовать взаимодействие с внутренним REST-api так, чтобы любое изменение контракта сразу приводило к ошибке компиляции». Что может быть проще? – подумал я, однако работа с получившимся кактусом вынудила заняться многочасовым курениям документации, спуску от привычных концепций оверинжинеринга «налепим побольше интерфейсов, добавим максимум косвенности, и приправим всё это DI» до переезда на .Net Core, ручной кодогенерации промежуточного ассемблера и изучения нового компилятора C#. Лично я для себя открыл много интересного как в рантайме, так и в структуре самого компилятора. Думаю, некоторые вещие уже знают, а некоторые станут полезной пищей для размышления.

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


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