[Перевод] Самый медленный способ ускорить программу на Go

Есть что-то прекрасное в программировании на ассемблере. Оно может быть очень медленным и полным ошибок, по сравнению с программированием на языке, таким как Go, но иногда — это хорошая идея или, по крайней мере, очень весёлое занятие.

Зачем тратить время на программирование на ассемблере, когда есть отличные языки программирования высокого уровня? Даже с сегодняшними компиляторами все ещё есть несколько случаев, когда захотите написать код на ассемблере. Таковыми являются криптография, оптимизация производительности или доступ к вещам, которые обычно недоступны в языке. Самое интересное, конечно же, оптимизация производительности.

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

Читать дальше →
[Перевод] Самый медленный способ ускорить программу на Go
Source: habrahabr

Дайджест свежих материалов из мира фронтенда за последнюю неделю №302 (12 — 18 февраля 2018)

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Дайджест свежих материалов из мира фронтенда за последнюю неделю №302 (12 — 18 февраля 2018)
Source: habrahabr

Поиск под капотом. Облачная индексация

В прошлой статье я рассказал о том, каким образом поисковая система может узнать о том, что существует та или иная веб-страница, и сохранить ее себе в хранилище. Но узнать о том, что веб-страница существует, — это только самое начало. Гораздо более важно за доли секунды успеть найти те страницы, которые содержат ключевые слова, введенные пользователем. О том, как это работает, я и расскажу в сегодняшней статье, проиллюстрировав свой рассказ «учебной» реализацией, которая тем не менее спроектирована таким образом, чтобы иметь возможность масштабироваться до размеров индексирования всего Интернета и учитывать современное состояние технологий анализа больших объемов данных.

Заодно у меня получилось рассмотреть основные функции и методы Apache Spark, так что данную статью можно рассматривать еще и как небольшой туториал по спарку.

Читать дальше →
Поиск под капотом. Облачная индексация
Source: habrahabr

Тренинг FastTrack. «Сетевые основы». «Основы коммутации или свитчей». Часть первая. Эдди Мартин. Декабрь, 2012

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

Мы продолжаем цикл из 18 статей на основе его лекций:

Тренинг FastTrack. «Сетевые основы». «Понимание модели OSI». Часть первая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Понимание модели OSI». Часть вторая. Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Понимание архитектуры Cisco». Эдди Мартин. Декабрь, 2012

Тренинг FastTrack. «Сетевые основы». «Основы коммутации или свитчей». Часть первая. Эдди Мартин. Декабрь, 2012

И вот четвёртая из них. Читать дальше →
Тренинг FastTrack. «Сетевые основы». «Основы коммутации или свитчей». Часть первая. Эдди Мартин. Декабрь, 2012
Source: habrahabr

[recovery mode] Настройка VoIP GSM шлюза Yeastar Neogate серии TGXXX для работы с 3CX


В данном руководстве рассматривается подключение SIP GSM шлюзов Yeastar NeoGate TG100 / TG200 / TG400 / TG800 к IP-АТС 3CX.

Шлюзы Yeastar Neogate могут подключаться к SIP-серверу как клиент, т.е. регистрироваться на сервере, но также имеют встроенный SIP-сервер регистрации. Таким образом, система 3CX может регистрироваться на шлюзе, как на SIP-операторе. Для этого в 3CX создается обычный SIP-транк. Именно такой способ используется в данном руководстве. Читать дальше →
[recovery mode] Настройка VoIP GSM шлюза Yeastar Neogate серии TGXXX для работы с 3CX
Source: habrahabr

DigiCert купили Symantec Website Security: последствия для пользователей SSL/TLS-сертификатов

Весной прошлого года в Google заметили, что компания Symantec предоставила возможность выдавать сертификаты минимум четырем организациями, однако не смогла обеспечить необходимый уровень наблюдения за их деятельностью и соблюдением стандартов обслуживания. В результате компания Google инициировала «процедуру прекращения доверия» к Symantec-сертификатам.

Чтобы исправить возникшую проблему, в Symantec решили продать технологию и PKI компании DigiCert. В конце октября 2017 года сделка была закрыта. Под катом рассказываем о подробностях «прекращения доверия» к сертификатам Symantec и последствиях для пользователей.

Читать дальше →
DigiCert купили Symantec Website Security: последствия для пользователей SSL/TLS-сертификатов
Source: habrahabr

[Из песочницы] Team Leader. Быть или не быть, вот в чем вопрос

image

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

Читать дальше →
[Из песочницы] Team Leader. Быть или не быть, вот в чем вопрос
Source: habrahabr

Security Operations: защита от киберугроз в ServiceNow

По прогнозам Gartner, к 2020 году 15% компаний, в которых отдел ИБ состоит из 5 или более человек, будут использовать системы SOAR (security operations, analytics and reporting).

Мы предлагаем разобраться, что предлагает ServiceNow в рамках класса таких систем.

Читать дальше →
Security Operations: защита от киберугроз в ServiceNow
Source: habrahabr

[Из песочницы] Angular 5: Unit тесты

С помощью unit тестов мы можем удостовериться, что отдельные части приложения работают именно так, как мы от них ожидаем.

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

Даже существует мнение, что сложно тестируемый код — претендент на переписывание.

Цель данной статьи — помочь в написании unit тестов для Angular 5+ приложения. Пусть это будет увлекательный процесс, а не головная боль.
Читать дальше →
[Из песочницы] Angular 5: Unit тесты
Source: habrahabr

Как я подстраивал нотификации телеграма под Mi Band 2

Я активно пользуюсь mi band еще с первой версии. Изначально это устройство позиционировалось как фитнес браслет для подсчета шагов, отслеживания фаз сна и умного будильника, в новые версии стали добавлять также пульсометр и часы. Еще с первой версии благодаря приложению Notify & Fitness for Mi Band я настроил для каждого приложения в смартфоне свои цвета диодов и пользовался браслетом для нотификаций — если знать, из какого приложения поступила нотификация, то можно лишний раз не брать в руки смартфон. Во второй версии уже появился дисплейчик и с появлением новых прошивок mi band 2 научился показывать текст, что предоставило возможность отображать не только иконку приложения, но и дополнительную информацию, такую как имя отправителя сообщения в мессенджере. Читать дальше →
Как я подстраивал нотификации телеграма под Mi Band 2
Source: habrahabr