2012-12-09

RVM + Passenger + proxy Apache/Nginx

Переезд и проблемы

Однажды затеяли мы в компании переезд на новый сервер, ибо все когда-то устаревает и не справляется с новыми нагрузками и современными технологиями.
Имея на борту обоих серверов ISPManager, перенос простых проектов на PHP можно смело поручить службе поддержки. А что делать с капризными RoR-проектами? Отсутствие вменяемого системного администратора это даже плюс - не программингом единым жив программист, иногда полезно окунуться в системное администрирование.

2012-10-14

Разработка под мобильные платформы с использованием Haxe NME

Мобильные приложения становятся еще роднее

В предыдущей статье мы рассматривали мобильную разработку с PhoneGap. Приложения, созданные с его помощью, работают на базе WebView. Теперь попробуем разобраться с другой технологией, использующей иной подход. Где, например, приложения под Android компилируются с помощью NDK.

Haxe и NME

2012-10-13

Разработка под мобильные платформы с использованием PhoneGap

Осмотримся

В мире становится все больше мобильных устройств, рынок мобильных приложений перспективный, поэтому нужно быть на волне прогресса.
Однажды я уже пробовал разработку под iOS и Android. С iOS что-то не срослось - Objective C и архитектуру приложений я не смог быстро понять, кажется, разработчики чего-то перемудрили. С Android все оказалось гораздо проще - тут и знакомый Java и свобода разработки. Но после того, как немного разобрался и попробовал написать демо-приложение, дальнейшая работа по изучению была прекращена, ибо есть еще много других более важных дел.
Есть несколько разных решений, позволяющих использовать для разработки не родные для платформ языки программирования. Я остановил свой выбор на продукции Adobe, это и Air приложения и PhoneGap. Приложения под Air, на мой взгляд, интересный проект, но еще не знакомый мне настолько, чтобы начать с ним работать, возможно, позже я к нему еще вернусь. А с PhoneGap было решено разобраться, ведь минимальных знаний Android SDK и большого опыта разработки сайтов вполне достаточно для хорошего начала.

2012-08-08

Расширяем пользовательские свойства в 1С-Битрикс

Лирическое отступление

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

2012-07-20

Простой переключатель классов связанных блоков (jquery plugin)

Часто на сайтах требуется переключать один класс между связанными блоками. Требуется, например, для табов или нестандартных радиобатонов.
По сути берем родительский блок и в нем между определенными дочерними блоками, кликая по ним, переключаем заданный класс.

2012-07-16

Реализация связи один-ко-многим в CMS 1С-Битрикс

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

2012-02-29

Overload (перегрузка) посредством Namespace в ActionScript

Снова лирическое отступление или мне начинает казаться, что я пишу мемуары, а не статьи о программировании...

Давным-давно, когда я только начал зарабатывать, я купил себе мобильный телефон. Выбирал специально с поддержкой установки Java-приложений (да-да, в те времена были и с зашитыми играми, впрочем, и сейчас такие модели изредка встречаются), чтобы можно было под него писать программы. Выбора на тот момент у меня особого не было и я погрузился в высокоуровневый и, на мой взгляд, хорошо организованный мир Java Mobile Edition.

После Delphi и Visual Basic писать на Java было приятней, язык оказался плотно завязан на ООП (то есть о функциональном программировании и речи быть не могло). Здесь все удобно получалось разложить по полочкам и, ввиду того, что стандартные интерфейсы, предоставляемые MIDP (mobile information device profile) меня не устроили, все элементы пользовательского интерфейса разрабатывались мною самостоятельно и описывались классами с наследованиями от базовых до конкретных представлений.

Сейчас, более плотно занявшись ActionScript, я понял, что мне не хватает некоторого функционала, что был в Java. Есть такое понятие "overloading" (перегрузка), то есть мы можем иметь сколь угодно много функций с одинаковым именем, но разными аргументами. Очень удобная и часто используемая мной фишка языка, к сожалению не присутствует в ActionScript, хотя могла бы существовать, ведь это язык со строгой типизацией. Зато в ActionScript есть "namespace", с помощью которых мы и попробуем организовать какое-то подобие overloading.

2012-02-24

Магические методы в ActionScript

Немного лирики

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

Конкретней...

2012-01-26

В поисках рабочего дневника


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