Архив за 16 февраля 2016 - 8

Пропуск конструктора — довольно приятная оптимизация в плане быстродействия. Но так ли она безопасна? Давайте разбираться. Для начала немного информации, для тех, кто еще не курсе.

Copy elision (пропуск копии) — оптимизация, заключающаяся в том, что компилятор может избавиться от вызова «лишних» конструкторов копирования.
Читать полностью »

Привет, Хаброжители! Мы издали долгожданную книгу:

image Алан Купер начал работу над первым изданием этой книги 20 лет назад. Он убеждал программистов в том, что пришла пора шагнуть навстречу пользователям и начать писать программы, которые будут им нравиться. В наши дни сложилась совершенно иная ситуация — оцифровка всех видов информации заставила пользователей с головой окунуться в новые технологии. Четвертое издание книги учитывает все изменения в отрасли, произошедшие за последние семь лет, с сохранением всех идей из предыдущих изданий, не потерявших актуальности.
Проектирование взаимодействия — это ориентированный на человека подход проектирования интерактивных цифровых продуктов, сред, систем и сервисов. Много внимания уделено проектированию поведения — аспекту, которым традиционные дисциплины проектирования нередко пренебрегают.
В этой книге во главу угла ставится целеориентированный подход, при котором основное внимание проектировщиков концентрируется на целях пользователей (то есть на причинах, по которым те используют данный продукт), на их ожиданиях, мировоззрении и склонностях. Именно он позволяет создавать мощные решения, с которыми приятно работать.
Читать полностью »

Впервые DrinkMate попал к нам еще в сентябре прошлого года, почти сразу после того, как появилось последнее обновление кампании на Kickstarter.

Трезвый взгляд на алкотестер — обзор полупроводникового DrinkMate - 1

Мы достаточно наигрались с сэмплом, предоставили такую возможность нашим друзьям, а потом решили «поставить DrinkMate» в весьма, на наш взгляд, экстремальные условия: протестировать его на трезвом человеке.
Читать полностью »

DoS своими силами: К чему приводит бесконтрольный рост таблиц в базе данных - 1

Биллинг — сложная система, одним из важнейших компонентов которой является база данных. В ней содержится множество разнообразных таблиц, которые со временем разрастаются до больших размеров.

Для того, чтобы это рост не замедлял работу базы, в Oracle, PostgreSQL и других СУБД существует эффективный механизм секционирования (partitioning) — однако его не всегда можно применять. К примеру, он отсутствует в относительно бюджетной редакции системы Oracle Standard Edition.

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

Язык С++ по сей день является одним из самых востребованных и гибких языков программирования. Но иногда возможностей языка не хватает, несмотря на то что стандарт развивается и расширяется. С такой проблемой столкнулся и я в процессе разработки 2D движка для игр. Я стоял перед необходимостью решения несколько нетривиальных задач, таких как сериализация, анимирование и связка с редактором. Для этого отлично подходит рефлексия. Готовые решения из сети, к сожалению, мне не подошли, поэтому пришлось конструировать свой велосипед.

Далее описаны детали реализации и демо проект. Кому интересно — добро пожаловать под кат.
Читать полностью »

Вкратце:

  1. cfauth — настраивает сервис SSH, админскую учётную запись, sudo, пароль суперпользователя
  2. cfsystem — настройка: APT, временной зоны, отправки системных писем, синхронизация времени, расширенный список стандартных пакетов
  3. Все модули интегрированы с модулем сетевого фильтра cfnetwork и не требуют дополнительных настроек

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

Китайские производители давно соревнуются друг с другом, выпуская смартфоны, которые предлагаются по цене в несколько десятков долларов, однако индийский бренд Ringing Bells решил пойти еще дальше.

Завтра должен состояться анонс смартфона под названием Freedom 251, который изначально будет продаваться по цене около $7. Производитель не скрывает того, чтобы устройство было разработано при финансовой поддержке правительства Индии.

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

Привет! В этой статье я расскажу, как решил сделать редизайн приложения Bank of America, попутно изучая отличающуюся от российской банковскую систему США и объясняя логику изменений и улучшений.

Редизайн приложения Bank of America: концепт - 1

Редизайн приложения Bank of America: концепт - 2
Глобальная претензия к текущему приложению — оно выглядит несовременным, хочется его освежить и сделать «чище». Имеются проблемы с навигацией: например, вместо таб-бара используется боковое меню, что затрудняет переход между разделами. На главном экране не хватает целевых действий по продукту, а в случае с внесением средств с чека — нужно менять очерёдность экранов.
Читать полностью »

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

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

Чем плох JavaScript в большом проекте? С какими проблемами мы столкнулись и как их решали - 1

Почему определенные недостатки языка JavaScript в реалиях разработки такого большого проекта, как наш, оказываются критическими? Как решить проблемы JS, когда количество кода превышает 2 млн строк, а команда насчитывает более 20 человек и постоянно растет? Об этом — в докладе фронтенд тимлида Wrike в рамках митапа, проведенного в нашем офисе совместно с сообществом Piter JS.

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


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