-Поиск по дневнику

Поиск сообщений в rss_rss_hh_full

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.03.2011
Записей:
Комментариев:
Написано: 1

Habrahabr








Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://habrahabr.ru/rss/.
Данный дневник сформирован из открытого RSS-источника по адресу http://feeds.feedburner.com/xtmb/hh-full, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

[Перевод] Выравнивание инструкций кода

Среда, 24 Января 2018 г. 14:18 + в цитатник
Насколько трудно может быть измерить производительность простой функции, вроде вот этой?

// func.cpp
void benchmark_func(int* a)
{
	for (int i = 0; i < 32; ++i)
		a[i] += 1;
}


Ну, давайте просто завернём её в какой-нибудь микробенчмарк, вызовем её много-много раз (для усреднения результатов) и посмотрим, что получится, да? Ну ладно, мы можем ещё посмотреть на сгенерированные инструкции просто чтобы убедиться, что компилятор чего-то там не «наоптимизировал». Мы можем также провести несколько разных тестов, чтобы убедиться, что именно цикл является узким местом. Ну и всё. Мы понимаем, что мы измеряем, да?

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

// func.cpp
void foo(int* a)
{
	for (int i = 0; i < 32; ++i)
		a[i] += 1;
}

void benchmark_func(int* a)
{
	for (int i = 0; i < 32; ++i)
		a[i] += 1;
}


И вот однажды ваш менеджер приходит к вам и показывает претензию от пользователя вашей библиотеки, которая заключается в том, что она не работает настолько быстро, как вы обещали. Но постойте, мы ведь хорошо измерили производительность и обещали ровно то, что получили по результатам тестов. Что же пошло не так?
Читать дальше ->

https://habrahabr.ru/post/347394/


Метки:  

[Перевод] Выравнивание инструкций кода

Среда, 24 Января 2018 г. 14:18 + в цитатник
Насколько трудно может быть измерить производительность простой функции, вроде вот этой?

// func.cpp
void benchmark_func(int* a)
{
	for (int i = 0; i < 32; ++i)
		a[i] += 1;
}


Ну, давайте просто завернём её в какой-нибудь микробенчмарк, вызовем её много-много раз (для усреднения результатов) и посмотрим, что получится, да? Ну ладно, мы можем ещё посмотреть на сгенерированные инструкции просто чтобы убедиться, что компилятор чего-то там не «наоптимизировал». Мы можем также провести несколько разных тестов, чтобы убедиться, что именно цикл является узким местом. Ну и всё. Мы понимаем, что мы измеряем, да?

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

// func.cpp
void foo(int* a)
{
	for (int i = 0; i < 32; ++i)
		a[i] += 1;
}

void benchmark_func(int* a)
{
	for (int i = 0; i < 32; ++i)
		a[i] += 1;
}


И вот однажды ваш менеджер приходит к вам и показывает претензию от пользователя вашей библиотеки, которая заключается в том, что она не работает настолько быстро, как вы обещали. Но постойте, мы ведь хорошо измерили производительность и обещали ровно то, что получили по результатам тестов. Что же пошло не так?
Читать дальше ->

https://habrahabr.ru/post/347394/


Метки:  

Пылесосим код IDEA Ultimate с помощью анализа потоков данных

Среда, 24 Января 2018 г. 13:07 + в цитатник
IntelliJ IDEA содержит тысячи инспекций для Java-кода. Большинство из них работает как продвинутые регулярные выражения: по определённому шаблону они ищут фрагменты программы, которые выглядят как опечатки, избыточны, некрасивы или могут работать медленно. Но есть инспекция совсем другого рода. У неё несколько странное название: «Constant conditions & exceptions». В действительности она выполняет анализ потоков данных в Java-методах с помощью так называемого «символьного выполнения». В результате такого анализа могут обнаружиться некоторые подозрительные факты. Вот некоторые примеры таких фактов:

  • Разыменование ссылки может привести к NullPointerException
  • Условие всегда истинно или ложно
  • Индекс массива всегда за пределами допустимых границ
  • Приведение типа может привести к ClassCastException
Читать дальше ->

https://habrahabr.ru/post/347410/


Метки:  

Пылесосим код IDEA Ultimate с помощью анализа потоков данных

Среда, 24 Января 2018 г. 13:07 + в цитатник
IntelliJ IDEA содержит тысячи инспекций для Java-кода. Большинство из них работает как продвинутые регулярные выражения: по определённому шаблону они ищут фрагменты программы, которые выглядят как опечатки, избыточны, некрасивы или могут работать медленно. Но есть инспекция совсем другого рода. У неё несколько странное название: «Constant conditions & exceptions». В действительности она выполняет анализ потоков данных в Java-методах с помощью так называемого «символьного выполнения». В результате такого анализа могут обнаружиться некоторые подозрительные факты. Вот некоторые примеры таких фактов:

  • Разыменование ссылки может привести к NullPointerException
  • Условие всегда истинно или ложно
  • Индекс массива всегда за пределами допустимых границ
  • Приведение типа может привести к ClassCastException
Читать дальше ->

https://habrahabr.ru/post/347410/


Метки:  

[Перевод] Linux-2018: самые перспективные дистрибутивы

Среда, 24 Января 2018 г. 12:38 + в цитатник
Представляем вашему вниманию перевод статьи Джека Уоллена с linux.com, которая посвящена самым перспективным Linux-дистрибутивам 2018-го года. Примерно двенадцать месяцев тому назад мы делились с вами похожим обзором. Что изменилось за год?

image
Читать дальше ->

https://habrahabr.ru/post/347422/


Метки:  

[Перевод] Linux-2018: самые перспективные дистрибутивы

Среда, 24 Января 2018 г. 12:38 + в цитатник
Представляем вашему вниманию перевод статьи Джека Уоллена с linux.com, которая посвящена самым перспективным Linux-дистрибутивам 2018-го года. Примерно двенадцать месяцев тому назад мы делились с вами похожим обзором. Что изменилось за год?

image
Читать дальше ->

https://habrahabr.ru/post/347422/


Метки:  

[Перевод] Intel предупреждает пользователей о «неисправности» патчей Spectre-Meltdown

Среда, 24 Января 2018 г. 11:38 + в цитатник


Не устанавливайте патчи от Intel для исправления уязвимостей Spectre в Linux-системах.


Intel в понедельник предупредила о том, что следует прекратить установку текущих версий патчей для Spectre (CVE-2017-5715), которые Линус Торвальдс отметил комментарием «абсолютнейший мусор».

Spectre (проверка обхода границ массива CVE-2017-5753, инъекция целевой ветви CVE-2017-5715) и Meltdown (CVE-2017-5754 — «расплавляет» разграничение доступа к страницам памяти, лечится KPTI-патчем) представляют собой уязвимости, обнаруженные исследователями в начале этого месяца во многих процессорах Intel, ARM и AMD, используемых в современных ПК, серверах и смартфонах. Они могут позволить злоумышленникам украсть ваши пароли, ключи шифрования и другую личную информацию.

С прошлой недели пользователи начали сообщать, что после установки пакета обновлений безопасности, выпущенного Intel, они столкнулись с проблемами, которых не было ранее. Например, спонтанные перезагрузки и другое «непредсказуемое» поведение системы. Читать дальше ->

https://habrahabr.ru/post/347418/


[Перевод] Parallel STL. Быстрый способ ускорить C++ STL код

Среда, 24 Января 2018 г. 11:34 + в цитатник
За пару последних десятилетий, пока вычислительные системы эволюционировали от одноядерных скалярных до многоядерных векторных архитектур, значительно выросла популярность управляемых языков, а также появились новые языки программирования. Но старый добрый C++, позволяющий писать высокопроизводительный код, остается более чем популярным. Однако, до недавнего времени стандарт языка не предоставлял каких-либо инструментов для выражения параллелизма. Новая версия стандарта (C++17 [1]) предоставляет набор параллельных алгоритмов Parallel STL, дающий возможность преобразовать существующий последовательный C++ код в параллельный, что, в свою очередь, позволяет задействовать такие аппаратные возможности, как многопоточность и векторизация. Эта статья познакомит вас с основами Parallel STL и его реализацией в Intel Parallel Studio XE 2018.


Читать дальше ->

https://habrahabr.ru/post/346822/


Метки:  

Avito в русскоязычном PostgreSQL комьюнити: открываем 2018, вспоминаем 2017

Среда, 24 Января 2018 г. 11:27 + в цитатник

Всем привет! Прошедший год для пользователей и разработчиков Postgres был очень насыщенным. И 2018-й обещает быть не менее интересным и ярким. Под катом я расскажу об одном из первых громких событий для сообщества — PGConf.Russia 2018, и о том, чем запомнился прошедший год для DBA-команды Avito.


Читать дальше ->

https://habrahabr.ru/post/347362/


Метки:  

IT-инфраструктура штабов Навального и сбор подписей: железо и сети

Среда, 24 Января 2018 г. 10:01 + в цитатник
В предыдущем посте мы рассказали, что такое сбор подписей и почему его бессмысленно вести без специализированной IT-инфраструктуры. А эта глава про сетевое и компьютерное оборудование федеральной сети штабов Навального, а также про разработку собственного сканера документов.




Какие задачи мы решали


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

https://habrahabr.ru/post/347316/


Метки:  

IT-инфраструктура штабов Навального и сбор подписей: железо и сети

Среда, 24 Января 2018 г. 10:01 + в цитатник
В предыдущем посте мы рассказали, что такое сбор подписей и почему его бессмысленно вести без специализированной IT-инфраструктуры. А эта глава про сетевое и компьютерное оборудование федеральной сети штабов Навального, а также про разработку собственного сканера документов.




Какие задачи мы решали


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

https://habrahabr.ru/post/347316/


Метки:  

Рендерим облака на мобильных девайсах

Вторник, 23 Января 2018 г. 22:49 + в цитатник
3 года назад художник спросил меня:
— Слушай, а можно в нашу мобильную игру добавить красивые облачка?
— Нет, это абсолютно невозможно, у нас постоянно вращается камера, так что билборды будут смотреться очень фальшиво даже если на них добавить карты нормалей, а другие способы…
*художник погружается в летаргический сон*

Для меня нет большего удовольствия, чем выяснять, что я был неправ.



Про фотореалистичный рендеринг облаков написано много статей, но если хочется рисовать облака на смартфоне, приходится придумывать кучу всяких хаков, упрощений и допущений.
Под катом подробное описание рендеринга облаков на мобильных и много html5 гифок.
Поехали!

https://habrahabr.ru/post/345186/


Рендерим облака на мобильных девайсах

Вторник, 23 Января 2018 г. 22:49 + в цитатник
3 года назад художник спросил меня:
— Слушай, а можно в нашу мобильную игру добавить красивые облачка?
— Нет, это абсолютно невозможно, у нас постоянно вращается камера, так что билборды будут смотреться очень фальшиво даже если на них добавить карты нормалей, а другие способы…
*художник погружается в летаргический сон*

Для меня нет большего удовольствия, чем выяснять, что я был неправ.



Про фотореалистичный рендеринг облаков написано много статей, но если хочется рисовать облака на смартфоне, приходится придумывать кучу всяких хаков, упрощений и допущений.
Под катом подробное описание рендеринга облаков на мобильных и много html5 гифок.
Поехали!

https://habrahabr.ru/post/345186/


Рендерим облака на мобильных девайсах

Вторник, 23 Января 2018 г. 22:49 + в цитатник
3 года назад художник спросил меня:
— Слушай, а можно в нашу мобильную игру добавить красивые облачка?
— Нет, это абсолютно невозможно, у нас постоянно вращается камера, так что билборды будут смотреться очень фальшиво даже если на них добавить карты нормалей, а другие способы…
*художник погружается в летаргический сон*

Для меня нет большего удовольствия, чем выяснять, что я был неправ.



Про фотореалистичный рендеринг облаков написано много статей, но если хочется рисовать облака на смартфоне, приходится придумывать кучу всяких хаков, упрощений и допущений.
Под катом подробное описание рендеринга облаков на мобильных и много html5 гифок.
Поехали!

https://habrahabr.ru/post/345186/


Как построить REST-like API в крупном проекте

Вторник, 23 Января 2018 г. 19:19 + в цитатник


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


Ключевые слова для оценки полезности: API, REST, OpenAPI, Swagger, рефакторинг взаимодействия систем.

Читать дальше ->

https://habrahabr.ru/post/347390/


Метки:  

Как построить REST-like API в крупном проекте

Вторник, 23 Января 2018 г. 19:19 + в цитатник


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


Ключевые слова для оценки полезности: API, REST, OpenAPI, Swagger, рефакторинг взаимодействия систем.

Читать дальше ->

https://habrahabr.ru/post/347390/


Метки:  

Как построить REST-like API в крупном проекте

Вторник, 23 Января 2018 г. 19:19 + в цитатник


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


Ключевые слова для оценки полезности: API, REST, OpenAPI, Swagger, рефакторинг взаимодействия систем.

Читать дальше ->

https://habrahabr.ru/post/347390/


Метки:  

7 шагов на пути к карьере разработчика Xamarin

Вторник, 23 Января 2018 г. 18:03 + в цитатник
Вы подумываете сменить основную профессию и однажды стать разработчиком Xamarin? И вы нуждаетесь в практических советах, которые в будущем помогут вам найти работу, связанную с Xamarin? В этой статье хочу поделиться советами лидера российского Xamarin-сообщества, Саши Алексеева, о начале карьеры разработчика Xamarin.

Читать дальше ->

https://habrahabr.ru/post/347380/


7 шагов на пути к карьере разработчика Xamarin

Вторник, 23 Января 2018 г. 18:03 + в цитатник
Вы подумываете сменить основную профессию и однажды стать разработчиком Xamarin? И вы нуждаетесь в практических советах, которые в будущем помогут вам найти работу, связанную с Xamarin? В этой статье хочу поделиться советами лидера российского Xamarin-сообщества, Саши Алексеева, о начале карьеры разработчика Xamarin.

Читать дальше ->

https://habrahabr.ru/post/347380/


Контроль данных обязательной отчетности: как мы снизили число ошибок в 30 раз

Вторник, 23 Января 2018 г. 17:16 + в цитатник
Здравствуйте, меня зовут Даниил и я занимаюсь развитием аналитических систем в банке «Ренессанс Кредит». В этой статье я расскажу о том, как мы создавали систему контроля качества данных для хранилища обязательной отчетности. Такой контроль необходим, чтобы утвердительно ответить на простой, но чрезвычайно важный вопрос бизнеса: «Могу ли я доверять этому источнику информации?». Возможно, какие-нибудь из описанных приемов помогут и вам в решении разных задач.


Читать дальше ->

https://habrahabr.ru/post/347356/


Метки:  

Поиск сообщений в rss_rss_hh_full
Страницы: 1824 ... 1724 1723 [1722] 1721 1720 ..
.. 1 Календарь