Как стать автором
Обновить
21
0
Виктор Брыксин @bobermaniac

Руководитель разработки Яндекс Телемоста

Отправить сообщение

Пять бесплатных инструментов для выбора цветовой схемы сайта

Время на прочтение2 мин
Количество просмотров233K
Один из самых важных факторов при создании уникального и узнаваемого дизайна — цвет. Грамотный выбор цветовой схемы может определить успех или провал сайта. Когда посетитель бросает первый взгляд на веб-страницу, то выбранные вами цвета посылают ему мгновенное сообщение об этой странице. К счастью, существует много инструментов, которые помогут выбрать правильную цветовую схему. Вот пять лучших из них.
Читать дальше →
Всего голосов 148: ↑134 и ↓14+120
Комментарии41

Видеоматериалы по iOS разработке

Время на прочтение2 мин
Количество просмотров6.8K
Привет, хабраюзеры!
Может быть, вы видели наш анонс на хабре про бесплатные курсы iOS разработке. Хотим поделиться радостной новостью: мы запустили эти курсы и уже провели четыре занятия! Успели пройти основы языка Objective-C, особенности IDE Xcode, а так же применение концепции MVC в iOS. Но сейчас не об этом.
В анонсе многие спрашивали нас, будем ли мы организовывать видеозапись лекций для тех, кто живет не в Москве. К сожалению, записывать сами мы не смогли. Но зато мы выкладываем на наш блог все материалы с лекций: презентацию, скринкаст практических заданий, а так же файлы проектов. Поэтому, если вы не имеете возможность посещать наши курсы, но все же хотите быстро и эффективно разобраться с разработкой на iOS — welcome!
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии23

Книги, видео и другие материалы по разработке под iOS

Время на прочтение4 мин
Количество просмотров114K
«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка


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

Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Читать дальше →
Всего голосов 105: ↑99 и ↓6+93
Комментарии58

Автоматизация OpenOffice: Окончание

Время на прочтение6 мин
Количество просмотров5.2K
Продолжение первой части статьи.

OpenOffice Win C++

2. Повторное использование DLL в своей программе


Возможности:
  • открытие XLS файла,
  • открытие файлов OpenOffice
  • возможность открытия в скрытом режиме
  • чтение данных из электронной таблицы
  • полный спектр манипуляции с данными: вставка текста, числа, форматирование, объединение ячеек, установка границ, установка ширина столбца
  • выгрузка xls таблицы на диск
  • возмоность работы под WINE, при условий установки OpenOffice под Wine
  • использование формул
  • генерация версионно зависимого RDB файла налету (при необходимости)

На работе мы используем C++ Builder для написания внутренних программ, так что я делаю еще одну обертку над DLL для удобной работы с API.
Читать дальше →
Всего голосов 45: ↑37 и ↓8+29
Комментарии20

Автоматизация OpenOffice: Начало

Время на прочтение14 мин
Количество просмотров22K
По работе мне необходимо было разработать механизм загрузки и выгрузки данных из Excel используя свободные механизмы работающие под разными ОС.
Т.к. необходимо было, чтобы сервис работал под Linux, то механизм взаимодействия через OLE не подходил.
Для реализации был выбран OpenOffice с прямым доступом к API через C++.

Open Office api на Linux

Документация оказалась весьма скудная, а примеров работы не через OLE почти не было. Так что я решил объединить все мои исследования в одной статье на хабре.

Примерный план статьи:
1. Начало работы с API OpenOffice через C++
  1.1. Генерация заголовочных файлов
  1.2. Генерация файла типов RDB
  1.3. Настройка Visual Studiо 2008
  1.4. Собираем динамическую DLL
2. Повторное использование DLL в своей программе
  2.1. Пример небольшой программы по выгрузке данных

В принципе, если возможностей DLL достаточно, то повторять действия п. 1 не обязательно.

Читать дальше →
Всего голосов 61: ↑53 и ↓8+45
Комментарии21

Разоблачение алгоритмов растеризации шрифтов (2/2)

Время на прочтение14 мин
Количество просмотров10K
(вторая часть перевода статьи Разоблачение алгоритмов растеризации шрифтов)

Linux


Наследуя худшее


Windows растеризует шрифты плохо, Linux ещё хуже. Во всех Linux-системах, которые я видел, используется FreeType [10] Дэвида Тёрнера, Роберта Вильгельма и Вернера Лемберга. Это отличная библиотека, но способ её использования, к сожалению, нельзя назвать удачным. Типичный скриншот Linux выглядит так:



Вот полный скриншот:
ссылка

Сразу заметна проблема — чёрные пятна в скругленных углах, образовавшиеся в результате сглаживания. Вцелом, можно сказать, что косые штрихи выглядят тяжелее чем вертикальные, что в регультате производит впечатление «грязи». Вы можете возразить, что FreeType и Linux могли бы использовать схожую с ClearType субпиксельную растеризацию, но по мне это не даёт заметных преимуществ.
Читать дальше →
Всего голосов 124: ↑121 и ↓3+118
Комментарии49

Разоблачение алгоритмов растеризации шрифтов (1/2)

Время на прочтение15 мин
Количество просмотров14K
Попытка улучшить алгоритмы растеризации шрифтов, пользуясь исключительно общедоступной информацией.

От переводчика


В первый раз я столкнулся с этой статьей в 2008 году. С тех пор я неоднократно задумывался о переводе (так как лучшего материала по теме не найти), и вдруг ссылка на оригинал всплыла на Хабре в обсуждении топика «Сглаживание шрифтов, анти-алиасинг, и субпиксельный рендеринг». Это стало решающим фактором (раз на материал ссылаются, значит, он кому-то нужен), и работа была, наконец, закончена.
Читать дальше →
Всего голосов 132: ↑130 и ↓2+128
Комментарии60

Unity3d script basics

Время на прочтение13 мин
Количество просмотров110K


Предисловие


Эта статья будет посвящена новичкам в скриптовании Unity, но не совсем новичкам в синтаксисе JavaScript’а или любого другого подобного языка программирования. Тут надо маленько уточнить что JavaScript который использует Unity немного отличается от оригинального в пользу улучшенной поддержки ООП и называется соответственно Unity JavaScript. В нем например появились классы и их наследование, о чем не знают начинающие разработчики на Unity знакомые с объектно ориентированными возможностями оригинального JavaScript, поэтому отвергают его используя C# или Boo.
Читать дальше →
Всего голосов 53: ↑47 и ↓6+41
Комментарии15

Регистрация приложения в AppStore — мы сделали это!

Время на прочтение3 мин
Количество просмотров146K
Сегодня мы не будем рассказывать о том, как правильно платить налоги и отправлять декларации через интернет — про это мы расскажем как-нибудь в следующих публикациях.

Вместо этого мы поделимся нашим опытом проникновения в AppStore. Ежедневно в него попадают тысячи приложений, в карманы разработчиков (и Apple) текут зелёные реки хрустящих бумажек, а в программе разработчиков iOS developer регистрируются сотни новых программистов и компаний. Растущая популярность платформы iOS подтолкнула нас к мысли — почему бы не написать собственное приложение для iPhone? Кстати, наше приложение совершенно бесплатное :)

Мы не будем подробно останавливаться на всех перипетиях разработки приложения внутри команды, но наш опыт регистрации фирмы в программе разработчиков Apple может оказаться полезным. Распишем весь процесс подробно, по шагам и с картинками.
Читать дальше →
Всего голосов 87: ↑61 и ↓26+35
Комментарии69

Путь обучения: развертывание PHP приложений на IIS (материалы на русском)

Время на прочтение1 мин
Количество просмотров1.6K
image

Часики тикают – новый год уже в совсем скоро, но у нас еще есть для вас подарки в виде полезных учебных/практических материалов. Многие из вас спрашивают как установить современное PHP-приложение на веб-сервер IIS. Для справки, IIS (Internet Information Services) для Windows — гибкий, безопасный и легкоуправляемый веб-сервер для публикации любого приложения в сети. Сегодня я рад представить вашему вниманию видео курс, который подробно описывает процедуру развертывания популярного блогового движка WordPress на IIS. В курс вошли следующие материалы:

Приятного чтения и c наступающим!
Всего голосов 40: ↑22 и ↓18+4
Комментарии23

Инъекции MSIL кода в стороннюю сборку при помощи Mono.Cecil. Реализация принципов АОП в NET

Время на прочтение12 мин
Количество просмотров19K

Введение


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

Многие .NET разработчики знают, что для доступа к объектам чужой сборки можно использовать Reflection. С помощью типов из System.Reflection мы можем получить доступ ко многим объектам .NET сборки, просмотреть их метаданные, и даже использовать те объекты, доступ к которым ограничен (например, private методы чужого класса). Но использование Reflection имеет свои ограничения и главная причина этому — данные, с котороми вы работаете через Reflection, все еще считаются кодом. Таким образом, вы, к примеру, можете получить CodeAccessSecurity exception, если сборка, к которой вы пытаетесь применить Reflection, запрещает это. По этой же причине Reflection работает довольно медленно. Но наиболее важным для данной статьи является то, что стандартный Reflection не позволяет изменять существующие сборки, только генерировать и сохранять новые.

Mono.Cecil


Качественно иной подход предлагает бесплатная библиотека с открытым исходным кодом Mono.Cecil. Главное отличие подхода Mono.Cecil от подхода Reflection в том, что данная библиотка работает с NET сборкой как с потоком байт. При загрузке сборки, Mono.Cecil разбирает PE заголовок, CLR заголовок, MSIL код классов и методов и т.д. работая напрямую с потоком байтов, представляющим сборку. Таким образом, с помощью данной библиотеки можно как угодно (в пределах предусмотренного) изменять имеющуюся сборку.
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии14

GLGDI+ или «переходим с GDI+ на OpenTK»

Время на прочтение3 мин
Количество просмотров16K
Думаю, многим приходилось сталкиваться с проблемой, что GDI+ тормозит, а тормозит, потому что не ускоряется железом.
Вот и я как-то писал редактор уровней

и понял, что GDI+ мне больше не хватает, нужно переходить на что-то ускоренное, причем за минимальное время. Немного погуглив, я решил остановить свой выбор на библиотеке OpenTK.
Читать дальше →
Всего голосов 54: ↑45 и ↓9+36
Комментарии27

Pixelheart — тут признаются в любви

Время на прочтение1 мин
Количество просмотров513
Строительство самого большого сердца в интернете!

image

Пиксельное сердце или PIXELHEART.RU — это пространство любви, где ты можешь открыто или инкогнито сказать о своих чувствах на весь мир и получить ответ…

После заполнения пиксельного сердца, будет построен Арт-объект в одном из парков г.Москвы с именами всех пар-участников!

Лучшие 10 пар поедут в круиз, а каждая 5000-я пара в романтический тур.

image

А вот тут признаются в любви

Всего голосов 101: ↑22 и ↓79-57
Комментарии38

Асинхронное программирование — цепочки вызовов

Время на прочтение6 мин
Количество просмотров5.5K

Когда в коде фигурирует пара вызовов BeginXxx()/EndXxx(), это приемлимо. Но что если алгоритм требует несколько таких вызовов подряд, то количество методов (или анонимных делегатов) преумножится и код станет менее читабельным. К счастью, эта проблема решена как в F# так и в C#.



Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии15

Генерация музыки на основе заданного стиля

Время на прочтение14 мин
Количество просмотров11K
В данном посте я хочу рассказать об очень простом способе генерации музыки в заданном стиле с помощью контекстно-зависимой грамматики.

А как это?
Всего голосов 74: ↑72 и ↓2+70
Комментарии61
12 ...
9

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность