Усовершенствованный компонент 1С-Битрикс bitrix:menu
Апр 25, 2010 1С-Битрикс, CMS, JavaScript, PHP, Программирование, Работа
Добрый день, дорогие читатели!
Если Вы следите за моим twitter‘ом, то наверное, читали твит анонс, в котором я говорил про пост о 1С-Битрикс и jQuery меню. В данный момент, решил не много отдохнуть от работы и диплома, поэтому выкладываю пост.
Как видно из названия, в данном посте пойдет речь о стандартном компоненте 2.0 CMS 1С-Битрикс, который я немного усовершенствовал под свои нужды. Начну из далека, по работе дали задание, в котором требуется реализовать раскрывающиеся меню с сохранением раскрытых пунктов при переходе и реализовать все это на файлах меню (.left.menu.php). Как только я получил данное задание, задумался о том, как же реализовать меню на файлах? До этого я сталкивался только с меню строящимся из информационных блоков. Сразу бросается в глаза, что можно использовать стандартный компонент bitrix:menu, в котором есть все необходимые настройки, кроме одной: вывод полного меню на любой странице, даже после перехода.
Формулировка задачи
Во-первых, необходимо доработать компонент bitrix:menu и научить его всегда выводить выбранное меню (left) от корня сайта. Во-вторых, привязать меню на jQuery с плагином jQuery.cookie. Со вторым пунктом все намного проще, так как наработки в данном направлении уже имеются и о них я писал на блоге (пост “Меню на jQuery“). С первым в общем-то тоже проблем не было, нужно было только придумать как все красиво подправить, чтобы это работало, было удобно и можно было использовать в других проектах. С постановкой задачи мы определились, пора приступать к реализации. Читать полностью… »
Метки: 1С-Битрикс, JQuery, Компонент 2.0, Пример, программирование
Шаблон проектирования Singleton
Апр 20, 2010 PHP, Программирование
Добрый вечер!
Сегодня хотелось бы “пролить свет” на такую особенность создания крупных приложений, как Web направленности, так и оффлайн программ – как проектирование. Под проектированием системы понимается создание проекта программного обеспечения, на выходе мы должны иметь технический проект. Грамотное проектирование позволяет избежать многих проблем в будущем, связанных с расширением программы и доработками.
При проектировании программного обеспечения используют паттерны. Паттерн – это шаблон, т.е. готовое решение какой-либо задачи разработки ПО. При правильном подходе к проектированию и использованию шаблонов проектирования, мы получим мощный, гибкий, легко расширяемый и изменяемый программный код или продукт. Согласитесь это очень полезно, особенно тогда, когда проект разрастается до внушительных размеров.
Сегодня я попытаюсь рассказать о шаблоне проектирования Singleton.
Метки: PHP 5, Singleton, ООП, Паттерн, программирование, Проектирование, Шаблон проектирования
Проба пера -> RSA шифрование на Java
Апр 17, 2010 Java, Программирование
Добрый день!
Как Вы, наверное, помните я в данный момент пытаюсь разобраться и вникнуть в язык программирования Java. В данный момент читаю одну замечательную книгу в которой все доступно объясняется и вот вчера, читая ее, подумал, что пора что-нибудь написать, хотя бы кривое и не оптимизированное, но мало мальски рабочее. По бродил по интернету и в который раз вышел на статью о криптографии и в частности методе RSA. Раньше у меня как то не очень получалось разобраться в данной теме, но вчера решил, что пора наконец-то хотя бы эти азы понять.
В итоге потратив пару часов на чтение Wiki, реализовал данный вид шифрования информации. В данный момент он не совсем рабочий, т.е. иногда почему-то дешифрует не правильно – с этим буду еще конечно разбираться, но “проба пера”, я считаю, успешна.
Метки: Java, RSA, Пример, программирование
Введение в язык программирования Java
Апр 6, 2010 Java, Программирование
Добрый день!
Сегодня хотелось бы кратко рассказать о языке программирования Java. На данный момент я изучаю данный язык программирования и хотелось бы поделиться полученными знаниями с Вами, дорогие читатели. В данном посте я расскажу об истории Java, синтаксисе и об инструментах для разработки программ. Приступим.
История
Родителем языка Java, является компания Sun Microsystems, анонсировавшая язык в далеком 1995 году, а точнее 23 мая 1995 года. Изначально данный язык программирования был назван Oak, что в переводе означает “Дуб”, разрабатывался как язык программирования для бытовой техники, но со временем был переименован в Java. И со сменой названия поменялось использование – написание клиентских приложений и серверного программного обеспечения. Название Java происходит от кофе Java, которое любили многие программисты, именно по этому на эмблеме изображена дымящаяся чашка кофе. Стоит отметить, что данный язык является полностью объектно-ориентированным.
Синтаксис
Синтаксис языка программирования Java очень похож на синтаксис C++, все логические конструкции, такие как IF-ELSE, полностью схожи, а так же циклы FOR, WHILE и DO WHILE. Данный язык содержит 8 примитивных типов, опять таки все их знаем по C++, такие как: byte, short, int, long, float, double, char и boolean. Приведение типов, опять таки похоже на приведение типов в C++, например, чтобы привести переменную типа double к int типу, стоит воспользоваться такой конструкцией:
1 2 | double speed = 60.0; int speedInt = (int)speed; |
В более общем случае мы можем присвоить значение любого типа из следующего списка переменным любого типа, указанного в списке правее:
byte -> short -> int -> long -> float -> double
Так как язык программирования Java, является объектно-ориентированным, то все наши программы будут состоять из класса или классов. Читать полностью… »
Метки: Java, История, ООП, программирование
Своя форма добавления элемента в 1С-Битрикс
марта 24, 2010 1С-Битрикс, CMS, Программирование
Добрый день!
Работая программистами, мы сталкиваемся с различными задачами, некоторые задачи относятся к наиболее часто встречающимся, некоторые наоборот, достаточно редкие и поэтому вызывают трудности при реализации. Сегодня мы рассмотрим стандартную задачу при разработке сайтов на CMS 1С-Битрикс. Задача будет заключаться в создании своей формы добавления элемента в инфоблок. По данной задаче хватает материала, но я бы хотел, так сказать, собрать все воедино и показать, как я реализовал данный функционал.
С задачей мы определились, пора приступить к реализации, первым шагом к достижению нашей цели будет – создание инфоблока. Думаю кто работает с CMS 1С-Битрикс, знают как это сделать, но все же я напишу подробнее этот шаг. Во-первых, создаем обычный тип инфоблока, даем ему нужное название и так далее. Во-вторых, в данном типе инфоблока создаем информационный блок, опять таки даем ему имя, настраиваем, но дальше самое интересное, в пункте “Файл для редактирования элемента, позволяющий модифицировать поля перед сохранением“, вписываем путь, пока на несуществующий файл: “/bitrix/php_interface/include/iblock_actions.php“. Для чего нам это нужно я объясню ниже, сейчас главное сделать подготовительные работы. Последним штрихом будет заполнение пункта с именем: “Файл с формой редактирования элемента“, опять таки вставляем ссылку на несуществующий пока что файл: “/bitrix/php_interface/include/iblock_element_edit.php“. Все на этом наши подготовительные работы с информационным блоком закончены.

Вторым шагом будет создание формы добавления элемента, для этого перейдем в папку “/bitrix/php_interface/” и создадим новую папку с именем “include“, думаю все понимают что имя папки может быть и другим, но для этого не забудьте исправить пути в первом шаге. В папке “/bitrix/php_interface/include/” создаем файл, который будет содержать нашу форму добавления товара, имя файлу даем следующее: “iblock_element_edit.php“. Все теперь нам надо написать форму.
Метки: 1С-Битрикс, программирование, Работа
О программировании и языке Java
марта 22, 2010 Java, Программирование
Добрый день, дорогие читатели!
Сегодня я хотел бы поделиться своими мыслями насчет программистов и развития знаний. Под развитием знаний я имею ввиду профессиональные знания программиста в целом, т.е. это знание языков программирования, архитектуры ОС, компьютера и приемов программирования.
Есть такое мнение, что хороший программист должен учить 1 язык программирования в полгода или год. Я с этим мнением полностью согласен по нескольким причинам. Во-первых, когда мы начинаем учить новый язык, то сразу активируется фантазия, что можно написать на нем, т.е. как и где применить. Во-вторых, изучая новый язык или новую технологию, мы получаем необходимые теоретические знания, которые нам могут пригодиться в будущем. В-третьих, изучение нового языка программирования – это повышение классификации программиста.
Возможно изучив новый язык программирования Вам не придется часто на нем писать, например, я выучил C#, да я не скажу что я знаю его вдоль и поперек, но у меня есть те необходимые знания для быстрого старта разработки своей задумки, если она вдруг появится, но в целом я почти не пишу на нем. Но изучая язык программирования C# я получил достаточно интересный и богатый опыт разработки на объектно-ориентированном языке, так как писал не большие программки по мере изучения языка, и сейчас эти знания я применяю при разработке на PHP. В учебе мне тоже пригодились знания по C# почти все курсовики по программированию и сейчас диплом, я пишу именно на этом языке.
В общем я думаю со мной многие согласятся, что изучение новых технологий и языков, дает только положительные результаты, но стоит помнить, что не надо перепрыгивать с одного языка на другой, так и не разобравшись в сути.
Метки: Java, Объектно-ориентированное программирование, программирование, Программист
Меню на jQuery
марта 10, 2010 JavaScript, Программирование
Доброго времени суток, уважаемый читатель!
Совсем не давно по работе получил задание сделать раскрывающееся меню, да не просто меню, а с запоминанием раскрытых разделов, возможностью перехода на страницу товара по нажатию на название раздела и раскрытием / закрытием по нажатию на знак “+”. Данный функционал, необходимо было интегрировать в CMS 1С-Битрикс, поэтому я принял решение делать компонент, но в данном посте не об этом речь, если конечно будет интересно почитать о компоненте, то напишу.
Итак, постановка задачи ясна, теперь приступим к реализации. Но перед тем как перейти непосредственно к программированию и написанию, я думаю стоит более подробно разобраться в требованиях предъявляемых к нашему меню, а именно сохранение раскрытия после перезагрузки страницы и возможность перехода на страницу раздела по нажатию на название. Во-первых, чтобы сохранялась иерархия, мы будем использовать куки, так как это самый простой вариант реализации, да и другого я что-то сходу так и не придумаю. Во-вторых, переход осуществляется по нажатию на название раздела, т.е. для раскрытия мы сделаем знак “+”, который будет храниться в теге span, ну вот теперь приступим. Читать полностью… »
Метки: JQuery, JS, Меню, Пример, программирование
Интересные решения на PHP
марта 5, 2010 PHP, Интересности, Программирование
Добрый день!
Сегодня, как видно из названия поста, я бы хотел поделиться интересными способами решения задач (определенных), на языке программирования PHP. Хотелось бы показать интересный способ работы с ассоциативным массивом, на примере решения задачи: “нахождение коэффициентов”, интересный способ получения переданных переменных ($_POST[], $_GET[]). Данные способы не претендуют на оригинальность, но они по-своему красивы, вот это я сейчас и попытаюсь Вам показать.
Первое решение, связанно с лабораторной работой, которую я недавно делал студенту программисту. Лучше всего сразу рассказать об области применения, так я думаю и реализация станет намного понятнее. Данный метод применяется в функции, основной задачей которой является нахождение коэффициентов и присваивание полученных коэффициентов – ассоциации. Под ассоциацией я понимаю слово (символ) ключ. Сразу же уточню, что данный метод не просто вносит в массив пару ключ – значение, а сразу проверяет, есть ли такая ассоциация (ключ) и если есть, то заново пересчитывает коэффициент. Ну я думаю хватит теории и разговоров, пора демонстрировать.
//Вычисляем знак if($i == ($count_param-1)){ $minus = -1; }else{$minus = 1;} foreach($word as $pos => $letter) { //Цель данной функции привести такой пример: A+AC=AD к //1*A+10*A+1*C=10*A+1*D //С учетом знаков при переносе $coefficient[$letter] += $minus * pow(10, count($word) - ($pos + 1)); }
Что есть что? Знак, как видно из комментария, относиться к упрощению, т.е. когда упрощаем уравнения такого вида 1*A + 10*A + 1*C = 10 *A + 1*D, приводим к 1*A + 10*A + 1*C – 10 *A – 1*D = 0, тут все понятно. Массив $word, содержит слово, $pos – его позиция (от 0 до $count_param-1), $letter – символ. Теперь еще не много объясню, что мы тут сделали такого хитрого. В массив coefficient, мы заносим каждую букву слова, а значение – это ее коэффициент, получается $coefficient['A'] = 1, это при занесении первой буквы, заносим дальше: $coefficient['A'] = 11, а самую последнюю вычитаем, получаем в итоге: $coefficient['A'] = 1. Вот в этом то и есть “крутость” метода, нам ничего не надо считать самим, все это сделает PHP, при заносе повторного элемента.
Метки: PHP, Оптимизация, программирование, Решения
Плагин WP ToDoList для WordPress!
Фев 5, 2010 PHP, WordPress, Программирование
Добрый день!
Начну с того, что так как я являюсь программистом, то рано или поздно меня должно было заинтересовать написание плагинов под всеми любимый WP…и это свершилось
Сегодня хочу представить мой первый плагин с говорящим названием WP ToDoList! В данном посте я хочу рассказать о применении, назначении, функционале и просто об этом плагине. Надеюсь, что мой плагин заинтересует множество блоггеров и самое главное найдет свое применение!
Первая мысль о написании данного плагина мне пришла в тот момент, когда я сидел и смотрел в админку своего блога и меня осенила идея…а вот записать ее было не куда
Так и родилась мысль о плагине WP ToDoList. Данный плагин предназначен для записи идей, заданий, важных дел и все это с возможностью показа пользователям, т.е. точно так же можно писать анонсы на посты!
Плагин WP ToDoList на сегодняшний момент имеет версию 0.9.5 Beta, в данную версию включен такой функционал: добавление простой записи или задания, редактирование или удаление записей и заданий, просмотр всех записей и заданий, настройка плагина. Теперь подробно о каждой функции. Начнем с добавления простой записи или задания.
В плагине WP ToDoList предусмотрено два вида записей: простая запись и задание. Простая запись отличается от задания, тем что не содержит даты начала и даты окончания, в остальном все одинаково.

Метки: WordPress, WP ToDoList, Блогосфера, плагин, программирование
Я сейчас работаю над…
Фев 3, 2010 Новости, Программирование, Работа
Добрый вечер!
Хотелось бы рассказать над чем я сейчас работаю! Как Вы знаете, я работаю программистом в одной фирме, а так же работаю ИП’ником, ну и конечно же поддерживаю себя в форме и для себя пишу программки и реализую свои проекты. В последние дни за работай и своими проектами провожу очень много времени и вот, чем я занимался сейчас расскажу.
Начну со своей работы программистом в фирме, тут все очень даже…плохо
С одним заданием уже сижу немерено времени, а все из-за того, что много трудностей в готовых компонентах Битрикса
Например, сейчас вообще в тупике с компонентом вывода результатов и формы голосования, в общем тут все движется, но, увы, совсем не спеша. Остается только надеяться, что сегодня решу все возникшие проблемы и доделаю…
С ИП, относительно предыдущего – все более менее. Завтра или послезавтра буду подписывать договор на поддержку сайта на год, а в общем поддерживать тот сайт буду уже 3 год – постоянство радует
Правда обновлений там совсем не много и следовательно и денег тоже не много на этом зарабатываю, но это лучше, чем совсем ничего
Хотелось бы конечно найти заказ на сайт, но пока, что то никто не обращается, а жаль…
И последним пунктом будут мои проекты. В данный момент изучаю тему написания плагинов на WordPress. Уже начал писать свой плагин, аналогов, лично я не видел, так что думаю будет востребован. Вот по своим проектам много, чего могу рассказать, но так как все они в стадии глубокой альфы – не буду. Скажу только, что первый плагин должен будет выйти в течении недели, а вот второй намного дольше.
Еще в последнее время заинтересовала разработка под ОС Android, вот хожу пускаю слюни на коммуникаторы – денег нет
(( Но я надеюсь, что я найду их и куплю себе все таки Android’a, так как разработка программного обеспечения под данную ОС в данный момент очень востребована, да и лично мне очень интересна.
Ну, а Вам советую, подписываться на RSS ленту, чтобы не пропустить выход плагинов и других программ от меня
С уважением, Главный Лаборант!
Метки: 1С-Битрикс, WordPress, плагин, программирование, Проекты, Работа, Разработка



