» Материалы за Ноябрь 2017 года » Страница 8

 

Сравнение качества кода Firebird, MySQL и PostgreSQL

Автор: admin от 28-11-2017, 16:05, посмотрело: 141

Сравнение качества кода Firebird, MySQL и PostgreSQL

Сегодняшняя статья несколько необычна. Как минимум по той причине, что вместо анализа одного проекта, будем искать ошибки сразу в трёх, а также посмотрим, где найдутся наиболее интересные баги. А самое интересное — мы выясним, кто молодец и пишет самый качественный код. Итак, на повестке дня — разбор ошибок в коде проектов Firebird, MySQL и PostgreSQL.

Категория: Программирование » Веб-разработка

 

Встроить кратный рост в ДНК команды

Автор: admin от 28-11-2017, 16:05, посмотрело: 122

Михаил Трутнев, COO самого популярного в мире музыкального сервиса Ultimate Guitar c ежемесячной аудиторией более 30 млн человек, выступил на конференции по продуктовому маркетингу Epic Growth Conference.







На Epic Growth Conference исполнительный директор Ultimate Guitar поделился нестандартными подходами к организации бизнес-процессов, работе с командой и просто к жизни. Смотрите видео или читайте заметки ниже.

Категория: Программирование » Веб-разработка

 

«Punch It, Chewie»: смоделирована работа 56-кубитного квантового компьютера

Автор: admin от 28-11-2017, 16:05, посмотрело: 151

В октябре ученые из IBM сообщили о том, что им удалось смоделировать 56-кубитный квантовый компьютер на классическом компьютере. Еще несколько месяцев назад считалось, что перешагнуть барьер в 49 кубитов невозможно.



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



В статье разбираемся, как IBM достигла «невозможного» и какие перспективы это открывает.



«Punch It, Chewie»: смоделирована работа 56-кубитного квантового компьютера

Категория: Программирование » Веб-разработка

 

Повторное использование кода — как это бывает на практике

Автор: admin от 28-11-2017, 16:05, посмотрело: 89

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



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



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

Категория: Программирование » Веб-разработка

 

Как Discord каждый день изменяет размер 150 млн картинок с помощью Go и C++

Автор: admin от 28-11-2017, 16:05, посмотрело: 118

Как Discord каждый день изменяет размер 150 млн картинок с помощью Go и C++


Хотя Discord — это приложение для голосового и текстового чата, каждый день через него проходит более ста миллионов изображений. Конечно, мы бы хотели, чтобы задача была простой: просто перенаправить картинки вашим друзьям по всем каналам. Но в реальности доставка этих изображений создаёт довольно большие технические проблемы. Прямая ссылка на картинки выдаст хосту с картинкой IP-адреса пользователей, а большие изображения расходуют много трафика. Чтобы избежать этих проблем, требуется промежуточный сервис, который будет получать изображения для пользователей и изменять их размер для экономии трафика.



Встречайте Image Proxy



Для выполнения этой работы мы создали сервис Python и креативно назвали его Image Proxy. Он загружает картинки с удалённых URL, а затем выполняет ресурсоёмкую задачу по ресайзингу с помощью пакета pillow-simd. Этот пакет работает удивительно быстро, используя где только возможно для ускорения ресайзинга инструкции x86 SSE. Image Proxy будет получать HTTP-запрос, содержащий URL, чтобы загрузить, изменить размер и, наконец, выдать окончательное изображение.

Категория: Программирование » Веб-разработка

 

Собираем пользовательскую активность в WPF

Автор: admin от 28-11-2017, 13:10, посмотрело: 236

Недавно мы рассказывали о том, как можно логировать действия пользователей в WinForms приложениях: Оно само упало, или следствие ведут колобки. Но что делать, если у вас WPF? Да нет проблем, и в WPF есть жизнь!



Собираем пользовательскую активность в WPF



В WPF не надо будет вешать никаких хуков и трогать страшный винапи, собственно за пределы WPF мы и не выйдем. Для начала вспомним, что у нас есть routed events
, и на них можно подписываться. В принципе, это все, что нам надо знать, чтобы реализовать поставленную задачу :)

Категория: Программирование, Game Development

 

Ускоряем работу Ansible

Автор: admin от 28-11-2017, 12:55, посмотрело: 79

Под капотом d2c.io мы используем Ansible. С его помощью мы создаем виртуальные машины у облачных провайдеров, устанавливаем программное обеспечение, а также управляем Docker-контейнерами с приложениями клиентов.



Ускоряем работу Ansible Ansible – удобный инструмент, который готов к работе почти без настройки. Это возможно благодаря отсутствию агентов (agentless system), поэтому не нужно ничего предустанавливать на обслуживаемые хосты.



Для подключения к хостам в большинстве случаев используется ssh. Однако оборотной стороной этой медали является определенная медлительность, так как вся логика находится на управляющем сервере и каждую задачу (task) Ansible формирует локально и отправляет на исполнение через SSH-подключение. Затем он принимает результат, анализирует его и переходит к следующему шагу. В статье мы рассмотрим, как можно ускорить работу Ansible.

Категория: Программирование » Веб-разработка

 

Создание ремейков игр с помощью эмуляции: proof of concept

Автор: admin от 28-11-2017, 12:55, посмотрело: 84

Создание ремейков игр с помощью эмуляции: proof of concept



Введение



«В моё время игры были лучше. Они были интереснее, потому что геймплей считался более важным, чем графика».



— Геймеры, рождённые в любом десятилетии


Каким бы ни было «ваше время», думаю, вы в какой-то степени согласны с этим мнением. Для меня это был период с середины 80-х до середины 90-х, когда я проводил бесчисленные часы за Sir Fred, Atic Atac, Airborne Ranger, Monkey Island, Twilight: 2000, Stunts, Gunship 2000, Twinsen’s Adventure, Dark Sun, Challenge for Ancient Empires, серией the X-Wing и очень многими другими играми.



Иногда мы испытываем приступы ностальгии и нам хочется сыграть в одну из тех игр снова. В этом случае у нас есть на выбор несколько вариантов.



Сыграть в remastered-версию. Некоторые игры настолько потрясающи и собрали настолько преданную базу фанатов, что выпускается официальное «новое издание». Это точно такая же игра, но с современной графикой. Отличным примером таких игр может быть замечательная Monkey Island Special Edition.



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



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

Категория: Программирование » Веб-разработка

 

Фактический человеко-месяц

Автор: admin от 28-11-2017, 11:35, посмотрело: 63

У нас в Wrike есть традиция делиться с командой мыслями о книгах, которые прочитали. Мы давно думали, что было бы неплохо распространить эту инициативу и на наш блог на Хабрахабре, и вот подвернулся хороший случай — книга Фредерика Брукса «Мифический человеко-месяц».



Книгу можно назвать скорее классикой фольклора разработки, нежели реальным руководством по построению рабочего процесса. В ней отражены проблемы, с которыми Брукс столкнулся при организации работы над созданием операционной системы OS/360, и его подходы к их решению. Результат был далек от идеала, на что сам Брукс и указывает. Его целью было не научить как правильно, но поднять проблемы, требующие решения. Любопытно разобраться, что изменилось в разработке с 1960-х годов.



Фактический человеко-месяц
Фото из архива IBM

Категория: Программирование » Веб-разработка

 

Как мы делали гигантский объём связи для немаленькой охранной структуры

Автор: admin от 28-11-2017, 11:35, посмотрело: 61

Как мы делали гигантский объём связи для немаленькой охранной структуры


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



Есть одно государственное предприятие, сотрудники которого охраняют более 2 000 различных объектов, включая стратегически важные. ИТ, да и вообще связь, не входит в сферу их основных интересов, поэтому своих спецов по сетям и телефонии у него мало.



В рамках проекта параллельно решались две задачи: отделение от каналов ведомственной сети и экономия на связи. Если вы занимаетесь IP-телефонией, возможно, наш опыт будет вам интересен.

Категория: Программирование » Веб-разработка