Один из самых важных факторов при создании уникального и узнаваемого дизайна — цвет. Грамотный выбор цветовой схемы может определить успех или провал сайта. Когда посетитель бросает первый взгляд на веб-страницу, то выбранные вами цвета посылают ему мгновенное сообщение об этой странице. К счастью, существует много инструментов, которые помогут выбрать правильную цветовую схему. Вот пять лучших из них.
Виктор Брыксин @bobermaniac
Руководитель разработки Яндекс Телемоста
Видеоматериалы по iOS разработке
2 мин
6.8KПривет, хабраюзеры!
Может быть, вы видели наш анонс на хабре про бесплатные курсы iOS разработке. Хотим поделиться радостной новостью: мы запустили эти курсы и уже провели четыре занятия! Успели пройти основы языка Objective-C, особенности IDE Xcode, а так же применение концепции MVC в iOS. Но сейчас не об этом.
В анонсе многие спрашивали нас, будем ли мы организовывать видеозапись лекций для тех, кто живет не в Москве. К сожалению, записывать сами мы не смогли. Но зато мы выкладываем на наш блог все материалы с лекций: презентацию, скринкаст практических заданий, а так же файлы проектов. Поэтому, если вы не имеете возможность посещать наши курсы, но все же хотите быстро и эффективно разобраться с разработкой на iOS — welcome!
Может быть, вы видели наш анонс на хабре про бесплатные курсы iOS разработке. Хотим поделиться радостной новостью: мы запустили эти курсы и уже провели четыре занятия! Успели пройти основы языка Objective-C, особенности IDE Xcode, а так же применение концепции MVC в iOS. Но сейчас не об этом.
В анонсе многие спрашивали нас, будем ли мы организовывать видеозапись лекций для тех, кто живет не в Москве. К сожалению, записывать сами мы не смогли. Но зато мы выкладываем на наш блог все материалы с лекций: презентацию, скринкаст практических заданий, а так же файлы проектов. Поэтому, если вы не имеете возможность посещать наши курсы, но все же хотите быстро и эффективно разобраться с разработкой на iOS — welcome!
+3
Книги, видео и другие материалы по разработке под iOS
4 мин
114K«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка
Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.
Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Любимая девушка
Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.
Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
+93
Автоматизация OpenOffice: Окончание
6 мин
5.2KПродолжение первой части статьи.
Возможности:
На работе мы используем C++ Builder для написания внутренних программ, так что я делаю еще одну обертку над DLL для удобной работы с API.
2. Повторное использование DLL в своей программе
Возможности:
- открытие XLS файла,
- открытие файлов OpenOffice
- возможность открытия в скрытом режиме
- чтение данных из электронной таблицы
- полный спектр манипуляции с данными: вставка текста, числа, форматирование, объединение ячеек, установка границ, установка ширина столбца
- выгрузка xls таблицы на диск
- возмоность работы под WINE, при условий установки OpenOffice под Wine
- использование формул
- генерация версионно зависимого RDB файла налету (при необходимости)
На работе мы используем C++ Builder для написания внутренних программ, так что я делаю еще одну обертку над DLL для удобной работы с API.
+29
Автоматизация OpenOffice: Начало
14 мин
22KПо работе мне необходимо было разработать механизм загрузки и выгрузки данных из Excel используя свободные механизмы работающие под разными ОС.
Т.к. необходимо было, чтобы сервис работал под Linux, то механизм взаимодействия через OLE не подходил.
Для реализации был выбран OpenOffice с прямым доступом к API через C++.
Документация оказалась весьма скудная, а примеров работы не через OLE почти не было. Так что я решил объединить все мои исследования в одной статье на хабре.
Примерный план статьи:
1. Начало работы с API OpenOffice через C++
1.1. Генерация заголовочных файлов
1.2. Генерация файла типов RDB
1.3. Настройка Visual Studiо 2008
1.4. Собираем динамическую DLL
2. Повторное использование DLL в своей программе
2.1. Пример небольшой программы по выгрузке данных
В принципе, если возможностей DLL достаточно, то повторять действия п. 1 не обязательно.
Т.к. необходимо было, чтобы сервис работал под Linux, то механизм взаимодействия через OLE не подходил.
Для реализации был выбран OpenOffice с прямым доступом к API через C++.
Документация оказалась весьма скудная, а примеров работы не через OLE почти не было. Так что я решил объединить все мои исследования в одной статье на хабре.
Примерный план статьи:
1. Начало работы с API OpenOffice через C++
1.1. Генерация заголовочных файлов
1.2. Генерация файла типов RDB
1.3. Настройка Visual Studiо 2008
1.4. Собираем динамическую DLL
2. Повторное использование DLL в своей программе
2.1. Пример небольшой программы по выгрузке данных
В принципе, если возможностей DLL достаточно, то повторять действия п. 1 не обязательно.
+45
Разоблачение алгоритмов растеризации шрифтов (2/2)
14 мин
10KПеревод
(вторая часть перевода статьи Разоблачение алгоритмов растеризации шрифтов)
Windows растеризует шрифты плохо, Linux ещё хуже. Во всех Linux-системах, которые я видел, используется FreeType [10] Дэвида Тёрнера, Роберта Вильгельма и Вернера Лемберга. Это отличная библиотека, но способ её использования, к сожалению, нельзя назвать удачным. Типичный скриншот Linux выглядит так:
Вот полный скриншот:
ссылка
Сразу заметна проблема — чёрные пятна в скругленных углах, образовавшиеся в результате сглаживания. Вцелом, можно сказать, что косые штрихи выглядят тяжелее чем вертикальные, что в регультате производит впечатление «грязи». Вы можете возразить, что FreeType и Linux могли бы использовать схожую с ClearType субпиксельную растеризацию, но по мне это не даёт заметных преимуществ.
Linux
Наследуя худшее
Windows растеризует шрифты плохо, Linux ещё хуже. Во всех Linux-системах, которые я видел, используется FreeType [10] Дэвида Тёрнера, Роберта Вильгельма и Вернера Лемберга. Это отличная библиотека, но способ её использования, к сожалению, нельзя назвать удачным. Типичный скриншот Linux выглядит так:
Вот полный скриншот:
ссылка
Сразу заметна проблема — чёрные пятна в скругленных углах, образовавшиеся в результате сглаживания. Вцелом, можно сказать, что косые штрихи выглядят тяжелее чем вертикальные, что в регультате производит впечатление «грязи». Вы можете возразить, что FreeType и Linux могли бы использовать схожую с ClearType субпиксельную растеризацию, но по мне это не даёт заметных преимуществ.
+118
Разоблачение алгоритмов растеризации шрифтов (1/2)
15 мин
14KПеревод
Попытка улучшить алгоритмы растеризации шрифтов, пользуясь исключительно общедоступной информацией.
В первый раз я столкнулся с этой статьей в 2008 году. С тех пор я неоднократно задумывался о переводе (так как лучшего материала по теме не найти), и вдруг ссылка на оригинал всплыла на Хабре в обсуждении топика «Сглаживание шрифтов, анти-алиасинг, и субпиксельный рендеринг». Это стало решающим фактором (раз на материал ссылаются, значит, он кому-то нужен), и работа была, наконец, закончена.
От переводчика
В первый раз я столкнулся с этой статьей в 2008 году. С тех пор я неоднократно задумывался о переводе (так как лучшего материала по теме не найти), и вдруг ссылка на оригинал всплыла на Хабре в обсуждении топика «Сглаживание шрифтов, анти-алиасинг, и субпиксельный рендеринг». Это стало решающим фактором (раз на материал ссылаются, значит, он кому-то нужен), и работа была, наконец, закончена.
+128
Unity3d script basics
13 мин
110KТуториал
Предисловие
Эта статья будет посвящена новичкам в скриптовании Unity, но не совсем новичкам в синтаксисе JavaScript’а или любого другого подобного языка программирования. Тут надо маленько уточнить что JavaScript который использует Unity немного отличается от оригинального в пользу улучшенной поддержки ООП и называется соответственно Unity JavaScript. В нем например появились классы и их наследование, о чем не знают начинающие разработчики на Unity знакомые с объектно ориентированными возможностями оригинального JavaScript, поэтому отвергают его используя C# или Boo.
+41
Регистрация приложения в AppStore — мы сделали это!
3 мин
146KСегодня мы не будем рассказывать о том, как правильно платить налоги и отправлять декларации через интернет — про это мы расскажем как-нибудь в следующих публикациях.
Вместо этого мы поделимся нашим опытом проникновения в AppStore. Ежедневно в него попадают тысячи приложений, в карманы разработчиков (и Apple) текут зелёные реки хрустящих бумажек, а в программе разработчиков iOS developer регистрируются сотни новых программистов и компаний. Растущая популярность платформы iOS подтолкнула нас к мысли — почему бы не написать собственное приложение для iPhone? Кстати, наше приложение совершенно бесплатное :)
Мы не будем подробно останавливаться на всех перипетиях разработки приложения внутри команды, но наш опыт регистрации фирмы в программе разработчиков Apple может оказаться полезным. Распишем весь процесс подробно, по шагам и с картинками.
Вместо этого мы поделимся нашим опытом проникновения в AppStore. Ежедневно в него попадают тысячи приложений, в карманы разработчиков (и Apple) текут зелёные реки хрустящих бумажек, а в программе разработчиков iOS developer регистрируются сотни новых программистов и компаний. Растущая популярность платформы iOS подтолкнула нас к мысли — почему бы не написать собственное приложение для iPhone? Кстати, наше приложение совершенно бесплатное :)
Мы не будем подробно останавливаться на всех перипетиях разработки приложения внутри команды, но наш опыт регистрации фирмы в программе разработчиков Apple может оказаться полезным. Распишем весь процесс подробно, по шагам и с картинками.
+35
Путь обучения: развертывание PHP приложений на IIS (материалы на русском)
1 мин
1.6KЧасики тикают – новый год уже в совсем скоро, но у нас еще есть для вас подарки в виде полезных учебных/практических материалов. Многие из вас спрашивают как установить современное PHP-приложение на веб-сервер IIS. Для справки, IIS (Internet Information Services) для Windows — гибкий, безопасный и легкоуправляемый веб-сервер для публикации любого приложения в сети. Сегодня я рад представить вашему вниманию видео курс, который подробно описывает процедуру развертывания популярного блогового движка WordPress на IIS. В курс вошли следующие материалы:
- Как установить PHP на Windows
- Как запустить WordPress на IIS
- Как установить PHP на Windows и запустить WordPress на IIS с помощью Web Platform Installer
Приятного чтения и c наступающим!
+4
Инъекции 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 код классов и методов и т.д. работая напрямую с потоком байтов, представляющим сборку. Таким образом, с помощью данной библиотеки можно как угодно (в пределах предусмотренного) изменять имеющуюся сборку.
+41
GLGDI+ или «переходим с GDI+ на OpenTK»
3 мин
16KДумаю, многим приходилось сталкиваться с проблемой, что GDI+ тормозит, а тормозит, потому что не ускоряется железом.
Вот и я как-то писал редактор уровней
и понял, что GDI+ мне больше не хватает, нужно переходить на что-то ускоренное, причем за минимальное время. Немного погуглив, я решил остановить свой выбор на библиотеке OpenTK.
Вот и я как-то писал редактор уровней
и понял, что GDI+ мне больше не хватает, нужно переходить на что-то ускоренное, причем за минимальное время. Немного погуглив, я решил остановить свой выбор на библиотеке OpenTK.
+36
Pixelheart — тут признаются в любви
1 мин
513Строительство самого большого сердца в интернете!
Пиксельное сердце или PIXELHEART.RU — это пространство любви, где ты можешь открыто или инкогнито сказать о своих чувствах на весь мир и получить ответ…
После заполнения пиксельного сердца, будет построен Арт-объект в одном из парков г.Москвы с именами всех пар-участников!
Лучшие 10 пар поедут в круиз, а каждая 5000-я пара в романтический тур.
Пиксельное сердце или PIXELHEART.RU — это пространство любви, где ты можешь открыто или инкогнито сказать о своих чувствах на весь мир и получить ответ…
После заполнения пиксельного сердца, будет построен Арт-объект в одном из парков г.Москвы с именами всех пар-участников!
Лучшие 10 пар поедут в круиз, а каждая 5000-я пара в романтический тур.
А вот тут признаются в любви
-57
Асинхронное программирование — цепочки вызовов
6 мин
5.5KКогда в коде фигурирует пара вызовов BeginXxx()/EndXxx()
, это приемлимо. Но что если алгоритм требует несколько таких вызовов подряд, то количество методов (или анонимных делегатов) преумножится и код станет менее читабельным. К счастью, эта проблема решена как в F# так и в C#.
+32
Генерация музыки на основе заданного стиля
14 мин
11KВ данном посте я хочу рассказать об очень простом способе генерации музыки в заданном стиле с помощью контекстно-зависимой грамматики. |
+70
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность