Программист на Drupal против программиста на ЯП. Друпал программист


Для кого же, все таки, Drupal? / Хабр

В 2008 году, когда я впервые услышал о Друпале, я жадно хотел ее попробовать, так как на тот момент не знал ничего кроме Wordpress и Joomla. Не зная историю происхождения и значение названия, оно мне показалось слишком серьезным и внушающим доверия. Может на тот момент оно с чем-то ассоциировалось или просто было созвучно чему-то серьезному… Хотя желание посмотреть, что же это такое, было очень большим, какой-то странный страх перед той неизведанной серьезностью удерживал меня. Все же пришло время и я решился на знакомство с самой серьезной CMS для меня. Знакомство то было полным разочарованием! Привыкший к структуре Joomla, я боялся представить жизнь без компонентов и плагинов. В общем, то время, которое я провел с Drupal — было недолгим и крайне непродуктивным. И я решился расстаться с ней, как минимум — надолго, как максимум — навсегда. Расставание это оказалось достаточно продолжительным. Я решил вернуться к Drupal только в конце прошлого года, когда в массы продолжала прорываться версия под номером 7. Но и второе начинание наталкивало меня на мысль о какой-то суровости и неведомой мне серьезности. Может виной тому были стандартные шаблоны, ведь еще никто не отменял «встречание по одежке». Но я пересилил себя и, набравшись мужества, установил эту CMS второй раз. В этот раз я планировал капнуть чуть глубже чем прошлый и понять, на самом ли деле эта система идеальна именно для программистов. Сразу оговорюсь, что вовсе я не программист и моих знаний php хватило только на более или менее продвинутую гостевую книгу, которую я писал под чутким руководством друга.

На этот раз я решил, что правильным подходом к изучению Drupal будет понимание принципа работы и поиска аналогий с уже знакомыми мне CMS. Ознакомившись с фундаментальными понятиями, в голове все начало становиться на свои места. Рушились стереотипы Joomla, где были компоненты, модули и плагины. В понятиях пришлось перестраиваться и находить аналогии (например: Joomla-модули ≤ Drupal-блоки, Joomla-компоненты и плагины ≤ Drupal-модули). На это ушло не так много времени. Нужно было узнавать сильнейшие стороны Drupal, в которых по словам моих товарищей таилась гибкость и всемогущество.

Погружение
Однажды, один знакомый «друпалист» сказал мне, что если я узнаю тонкости модуля Views, то у меня практически не будет невозможного в плане вывода и представления информации на сайте. Я поверил на слово, и уже через небольшой промежуток времени обратился к нему с первой проблемой. Помнится проблема была на тот момент для меня нерешимая и я посетовал знакомому, что уж слишком сложный этот Друпал для меня. Он недолго думая, прислал мне забавную кривую обучения популярных CMS:

Долго я разглядывал эту картинку, пытаясь найти себя на этой кривой. Может меня уже можно отнести к тем, кто упал, даже не покорив вершину? Рассмотрев ее внимательнее я понял, что это не больше чем шуточная картинка с долей правды. Настроившись двигаться дальше, я отбросил мрачные мысли и принялся искать решения. Большую часть ответов на свои вопросы я находил на официальном сайте Drupal. Русскоязычные форумы оставили о себе плохие впечатления. Там мало, кто помогает бесплатно. Хотя, изредка, все же, появляются те, кто делится за «так» очень полезной информацией, реально расширяющей кругозор.

Отбросив все стереотипы, я стал погружаться глубже; все чаще и чаще самостоятельно находил решения на поставленные перед мной задачи и узнавал многие прелести Drupal, такие как модули Views, Rules и разного рода темизации. Зная, пусть и не на сто процентов, данные темы, мне пришло понимание того, что многое в Drupal можно сделать без кодинга вообще. Жаль, что такое понимание приходит далеко не всем, кто сталкивается с с этой CMS…

Drupal не для программистов?
Однажды знакомый попросил меня помочь разобраться с сайтом, который был создан с помощью Drupal каким-то суровым программистом. Я с радостью отозвался на просьбу о помощи и, получив доступы к сайту, был слегка шокирован. Сайт был создан без использования привычных подходов: для меню, создатель того сайта написал свой модуль; категоризация была сделана без использования таксономии; многие информационные блоки, были вшиты прямо в шаблон. Я понял, что многие php-программисты используют Drupal всего на несколько процентов, не используя весь его потенциал. Остальное пишут сами, иногда в модулях, порой прям в шаблоне, а нередко дописывая файлы, которые, по сути, являются ядром Drupal.

Есть ли в этом необходимость? В том, чтобы писать что-то свое? Иногда — да, но такое возникает редко. Для большинства задач есть прекрасные модули, которые уже оттестированы и успешно применены на многих работающих проектах. Конечно, можно встретиться с задачей, для которой модуль еще не написан, но и в таком случае можно что-то придумать, поменяв подход к выполнению поставленной задачи. Зачастую на невыполнимую задачу нужно посмотреть чуть-чуть иначе и становится ясно, что решение на поверхности и нет никакой необходимости городить что-то свое.

Естественно, бывают задачи, когда без программирования не обойтись, но сделать это можно правильно, не трогая код ядра, шаблона или стороннего модуля. В Druapl из коробки есть возможность программировать прямо через веб-интерфейс: будь то в материале, в блоке или представлении (Views). По моему, такие куски кода значительно проще обнаружить и обслужить.

Заключение
Из вышесказанного, ясно, что для решение конкретной задачи обычно есть не один способ решения. И тот что используют программисты имеет место быть. Но у меня остается вопрос: зачем тогда вам, дорогие программисты, вообще нужен Drupal или другая CMS? Может пора переходить на фреймворки, там кодить придется чаще и там это вполне ожидаемо…

habr.com

Введение в программирование PHP | Руководство DrupalBook.ru

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

Любая машина, в том числе и компьютер, в своей работе выполняет те команды, которые специально составлены человеком. Чем сложнее техника, тем большее количество операций она может выполнять. На данный момент компьютер является одним из самых сложных технических устройств. Он может решать сложнейшие задачи. Однако же, для того, чтобы компьютер мог решать такие задачи, человек должен написать для него специальную программу на одном из языков программирования.Языки программирования (ЯП) для ЭВМ начали разрабатывать с середины 50-х годов XX в. В настоящее время в мире имеется более 2500 различных языков программирования и их разновидностей. Для решения большинства задач можно использовать любой из них.

Всё множество языков программирования можно разделить на две группы: языки низкого уровня и языки высокого уровня. Языки низкого уровня (типа ассемблеров) понятны лишь компьютеру и узкому кругу программистов высокой квалификации, поэтому их и называют «машинными языками». Написание программ на этих языках - процесс сложный и трудоёмкий. Большинство программистов пользуются для составления программ языками высокого уровня. Языки высокого уровня более понятны человеку и играют роль посредника между человеком и компьютером, позволяя общаться с компьютером более привычным для человека способом. Для таких языков нужен «переводчик» на машинный язык - транслятор, но процесс программирования упрощается. Наиболее известными высокоуровневыми языками программирования являются языки Java, C++, PHP, ASP, Ruby, Python и многие другие. Каждый из них имеет множество версий. PHP и ASP применяются в основном в Интернете. PHP считается одним из самых простых языков программирования.По эффективности и простоте программирования, PHP занимает промежуточное положение между ASP и Ruby. Поэтому он наиболее подходит для освоения его учащимися в школе. Синтаксис во всех версиях PHP практически одинаков.Для обучения подходит любая свободно распространяемая версия PHP.

Языки программирования

Язык программирования - это формальная знаковая система (набор команд), которую понимает компьютер. Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при написании алгоритмов компьютерных программ. Алфавит языка - множество символов, используемых в этом ЯП.

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

Перед тем как писать программу на языке высокого уровня, программист должен составить алгоритм решения задачи, то есть пошаговый план действий, который нужно выполнить для решения этой задачи. Поэтому языки, требующие предварительного составления алгоритма, часто называют алгоритмическими языками. Для написания текста программы можно использовать обычный текстовый редактор (например, Блокнот), а затем с помощью компилятора перевести её в машинный код, т.е. получить исполняемую программу. Но проще и удобнее пользоваться специально разработанными системами программирования.

История PHP начинается с 1995 года, когда Расмус Лердорф (Rasmus Lerdorf) создал простое приложение на языке Perl, анализирующее посещения пользователями его резюме на веб-сайте. Затем, когда этим приложением уже пользовались несколько человек, а число желающих получить его постоянно увеличивалось, Лердорф назвал свое творение Personal Home Page Tools версия 1 и выставил для свободного скачивания. С этого момента начался небывалый взлет популярности PHP.

Язык PHP удобен для начального обучения программированию, не только потому, что учит как правильно написать программу, но и тому, как правильно разрабатывать методы решения задач программирования.

Список используемой литературы:

1. http://scholtro.narod.ru/metodika/DocMetod/Metod_posobie_PascalABC.pdf 

 Введения "Методическое пособие по программированию на языке Pascal abc”. Ерёмин О. Ф (от 2009 г.)

Статья создана для целей образования, науки и культуры.

 

drupalbook.ru

Друпал программист (напис.модулей, удаленно) | Drupal

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

Суть проекта, кто нужен.

Система для учета и продажи товаров в физических точках (магазинах). Друпалы стоят на локальных серверах и продавцы работают через Flex интерфейс, поэтому париться над дизайном не приходится (то есть знания html, css, javascript, графический пакетов не нужны). Есть план развития и расширения функционала системы, который Вы будете мне помогать осуществлять путем написания дополнительных модулей и доработки старых. На данный момент это: создание/допиливание своих entity типов, дописывание проверок прав на запись/чтение полей в зависимости от роли юзера; описание правил расфасовки и скидок через Rules; синхронизация локальных Друпалов с центральным сервером; система статистики продаж и предсказания спроса...

Требования.

Обязательно: PHP, опыт разработки своих модулей на Друпал, Forms API, hooks.Желательно: Drupal DB Layer, Entity API, Field API; git.Надо будет изучить: RulesКод: обязательна привычка хорошо комментировать алгоритм, не только сами функции, но и части кода внутри их и, желательно, сразу на английском каменты писать. Модули пишем гибкие, с возможностью их дальнейшего расширения, по best-ptactice, чтобы другие разработчики могли легко понять что происходит в коде, пользуясь хуками, все как положено, без костылей в ядре.НЕ нужно: графика, верстка, css, html, javascript - не пригодятся, нужен чисто прогер.

При ответе на мой запрос (на мыло или сюда) прикрепите, пожалуйста, файлы с примером вашего модуля и сколько вам надо будет платить (ваши предложения по схеме работы и оплаты). Если чего-то не поняли или не умеете из желательных знаний, но есть стремление разобраться в будущем в этой отличной платформе, тоже пишите, начнем с более простых/рутинных задач, таковые тоже имеются, но за меньшую плату.

Как я вижу наш процесс работы.

Вы, допустим, студент, у которого есть свободная треть дня после учебы и гуляний в которую вы пишите код, по оговоренному нами плану и тз. Задачек куча мелких, так что можем определиться с почасовой оплатой, предварительно оценив вашу продуктивность назначим цену. Или можете указывать цену за каждый пунктик плана. Работы на плотную занятость пока нет, так что это будет подработка.

Обо мнеЧастный клиент с Краматорска, Украина. Оплата webmoney.мой wmid: http://passport.webmoney.ru/asp/CertView.asp?wmid=229351916405email/gtalk: slykirill [с0ба4kа) gmail к0мskype: slyk.ruтелефон: 066 89 89 507

drupal.ru

Программист на Drupal против программиста на ЯП

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

Не знаю, почему он сам не хотел этим заниматься, возможно, решил, что стоит заняться менеджментом… В общем, не знаю. Меня устраивает моя нынешняя работа, поэтому, ни менять её, ни писать код «на два фронта» я не хотел, о чём сразу же ему сообщил. Он тут же у меня спросил, не могу ли я ему посоветовать хорошего программиста на Drupal’е. Этим вопросом я был выбит из колеи…

Drupal — это cms на php. «Программист на cms» звучит как-то бредово, не так ли? Я, признаться, считаю, что программист должен уметь писать на любом языке, в котором присутствует хоть какая-то логика, близкая к человеческой. Программист способен уже через неделю знакомства с языком, суметь написать на нём проект. Это не потому, что он такой замечательный лингвист, а потому, что написание программы, разработка проектов — задачи больше архитектурные, нежели кодерские/лингвистические.

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

«Силу бойца определяют его умение, острота меча и пыл сердца» — пардон, цитата не точная.

it216

Себя я предпочитаю считать программистом на императивных языках. У меня есть предпочтения, но я стараюсь не ограничивать себя предубеждениями, пробовать разные языки (это ещё и гиковский способ отдыха, но не  об этом).

Поэтому мне было странно слышать, что человек ищет программиста на конкретной cms. В голову сразу приходила аналогия — автомеханик, специализирующийся на ключе на 16…

Но чем больше меня грыз этот вопрос, тем больше во мне возникали сомнения. Да ещё Валерий Павлович временами подливал масло в огонь, рассказами про виртуоза монтёра кондиционеров.

Специализация, разделение труда, всё большая дискретизация наук… Почему всё это работает? Мир не скатывается в каменный век, а развивается, не смотря на то, что главенствующим является не системный подход. Парадигмы программирования и паттерны проектирования держат программистов в узких рамках, заковывая в себя мозги на столько, что порой человек не может переключиться с ООП на что-либо другое. Или увидеть очевидное решение, которое противоречит модным паттернам.

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

P.S.

Пару месяцев назад, когда нужно было выбрать сервер стримминга видео для одного проекта, наткнулся на стенограмму доклада Максима Лапшина, где он рассказывал о своём сервере erlyvideo и преимуществах erlang в разработке подобных проектов. В ней довольно красиво описываются преимущества нестандартного подхода (архитектуры) erlang перед распространёнными языками.

Иной раз метла как оружие лучше, чем самый острый меч. Главное — понимать их особенности и не зацикливаться на чём-то одном.

www.bazhukov.net

Программист на Drupal против программиста на ЯП. История одного программиста

Первая часть текста написана до 2011-ого. Точную дату уже не скажу.

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

Не знаю, почему он сам не хотел этим заниматься, возможно, решил, что стоит заняться менеджментом… В общем, не знаю. Меня устраивает моя нынешняя работа, поэтому, ни менять её, ни писать код «на два фронта» я не хотел, о чём сразу же ему сообщил. Он тут же у меня спросил, не могу ли я ему посоветовать хорошего программиста на Drupal’е. Этим вопросом я был выбит из колеи…

Drupal — это cms на php. «Программист на cms» звучит как-то бредово, не так ли? Я, признаться, считаю, что программист должен уметь писать на любом языке, в котором присутствует хоть какая-то логика, близкая к человеческой. Программист способен уже через неделю знакомства с языком, суметь написать на нём проект. Это не потому, что он такой замечательный лингвист, а потому, что написание программы, разработка проектов — задачи больше архитектурные, нежели кодерские/лингвистические.

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

«Силу бойца определяют его умение, острота меча и пыл сердца» — пардон, цитата не точная из вроде бы 7-ми самураев.

Себя я предпочитаю считать программистом на императивных языках. У меня есть предпочтения, но я стараюсь не ограничивать себя предубеждениями, пробовать разные языки (это ещё и гиковский способ отдыха, но не об этом).

Поэтому мне было странно слышать, что человек ищет программиста на конкретной cms. В голову сразу приходила аналогия — автомеханик, специализирующийся на ключе на 16…

Но чем больше меня грыз этот вопрос, тем больше во мне возникали сомнения. Да ещё Валерий Павлович временами подливал масло в огонь, рассказами про виртуоза монтёра кондиционеров.

Специализация, разделение труда, всё большая дискретизация наук… Почему всё это работает? Мир не скатывается в каменный век, а развивается, не смотря на то, что главенствующим является не системный подход. Парадигмы программирования и паттерны проектирования держат программистов в узких рамках, заковывая в себя мозги на столько, что порой человек не может переключиться с ООП на что-либо другое. Или увидеть очевидное решение, которое противоречит модным паттернам.

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

P.S. (2011-ый)

Пару месяцев назад, когда нужно было выбрать сервер стримминга видео для одного проекта, наткнулся на стенограмму доклада Максима Лапшина, где он рассказывал о своём сервере erlyvideo и преимуществах erlang в разработке подобных проектов. В ней довольно красиво описываются преимущества нестандартного подхода (архитектуры) erlang перед распространёнными языками.

Иной раз метла как оружие лучше, чем самый острый меч. Главное — понимать их особенности и не зацикливаться на чём-то одном.

P. P. S. (2017-ый)

Слишком много я видел специалистов по всему. Я сам когда-то гордился, что хоть на tasm под DOS, хоть на C под Linux, хоть на JavaScript под v8. Это полезно для общего развития. Пригождается для переквалификации.

Я искренне радуюсь, видя стажера, который увлекается C, программирует контроллеры, при этом пишет интерфейсы на React+Redux. Когда его попросили ради эксперимента сделать интерфейс на Sencha — он просто сел, разобрался и сделал. Это тот подход, который мне больше всего нравится: не гнушаться технологиями, а программировать.

Я выберу его при прочих равных, ибо я сам такой. Здесь вопрос уже не профессионализма, а взаимопонимания и комфорта.

Но при иных вариантах, когда нужен конкретный специалист на задачу (например, запрограммировать Drupal), выбор очевиден — нам нужен «программист на Drupal». И тут не важен опыт в Haskell, понимание ядра Linux. Тут важно сделать быстро то, что нужно. Если это сделает программист-универсал так, чтобы это было в рамках логики «Drupal» и прекрасно поддерживаемо любым другим — я выберу его (с отставанием не больше 20 — 30 %%).

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

Когда-то давно я писал курсовую — считалка боевой части Heroes of Might and Magic 3. Для того, чтобы обучать нейросеть. Она у меня заняла 200 — 300 строк кода на Perl. И каждая строка была своеобразным развлечением — можно было разбирать её минуты. Но мой науч. рук. через пару месяцев сказал: для того, чтобы я её принял, надо добавить ещё тото и тото. И тут у меня случился провал… Я переписал с нуля всё на том же Perl, но теперь каждая строка была проста и понятна. Комментарии были ненужны — всё было в коде разжёвано до предела. Это уже было 2 тысячи строк кода, но я мог добавить туда любую сумасшедшую идею.

Чем дальше, тем меньше я программирую. Теперь мой код часто можно сравнить с кодом неуверенного новичка — никаких хитрых конструкций. Всё разбито на простые функции. Всё пресно и скучно. И никак не определить: кто это писал — никакого самовыражения. Применяются простые и дубовые подходы в архитектуре вместо изящных и эффективных.

А всё потому, что я стараюсь быть в любой сфере «программистом на Drupal». Человеком, который не сделает хуже, а просто сделает.

«Программисты на Drupal», безусловно, нужны. Они делают хорошо, быстро, дёшево. В своей области, но делают. Вместо объяснений: «Ну, понимаете, нельзя просто так взять и сделать insert в базу данных — нам нужно предварительно сделать проверку данных, открыть транзакцию, написать залочку, поднять пул соединений…» они просто делают «add_item(…)» — и верят в то, что всё пройдёт хорошо. А если там баг — в следующем обновлении они его починят.

В итоге: будь «специалистом во всём», веди себя как «программист на Drupal».

Будь первым – оставь комментарий!

900913.ru

drupal программист (+ возможно верстка) | DrupalSN

Направление

Программирование, разработка

Должность

drupal программист (+ возможно верстка)

Зарплата

Ваше предложение

Местоположение:

Образование:

Не имеет значения

Опыт работы:

2 года

Занятость:

Фриланс

Основные требования:

Важно знать сроки и цену. Чем быстрее тем лучше.Также если вдруг не окажется верстки у клиента хотелось бы узнать сколько будет стоить судя по скриншотам такая верстка для друпала?Дело в том, что у нам есть недоделанный интернет магазин, построенный на CMS Drupal, и нам бы хотелось его доделать.Приблизительный фронт оставшихся работ по сайту.1. Привязать платежку Интеркасса, договор с ней уже заключен.2. Привязать модули расчета доставки «Почта России», DPD, EMS. ЕMS привязан сейчас, но не настроен. Почта России — есть готовый модуль, привязан, но не настроен.3. Так же нужно сделать вывод информации о том, что клиент может расчитаться с курьером после доставки.4. У магазина есть торговое предложение – дарить одно издвух средств на выбор своим клиентам при первой покупке.Реализация данного метода должна быть следующая: клиенту привыборе товара из баннера(баннер есть) в корзину падаеттовар, цена которого равна 0. Это делается ТОЛБКО ОДИН РАЗ,иначе магазин обанкротится).5. На сайте будет видео-двойник, который будет виден наглавной странице (флешка эта тоже уже есть),зарегистрированным пользователям этот двойник непоказывается.6. В каталоге есть группа товаров, которые могут быть разных цветов, например, Тушь разных цветов. Необходимо реализовать возможность выбора цвета с помощью карты цветов (просто картинка, вторая фотка к товару) и выпадающего меню с артикулами цветов.7. Сделать верстку исходя из макетов.8. Доделать выпадающие окна «Корзина» с ее содержимым, всплывающую форму авторизации, шаги оформления заказа сделать не как в сборке OpenStore, а в три шага.Также в наличии имеется техническое задание и другие сопутствующие материалыДополнение — приложение к Техническому заданию

https://docs.google.com/leaf?id=16z6A5-VT-Aqj2ZPSpB1hRTE8ZPkRpvWK0bHIMRy...

http://www.drupal.ru/node/63191

Условия:

Удаленная работа

Контактное лицо:

Данные доступны авторизованным пользователям

Телефон:

Данные доступны авторизованным пользователям

Автор вакансии:

Дата публикации:

Ср, 01/06/2011 - 19:55

drupalsn.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта