Стандарты оформления кода
Март 3, 2010 Web-программирование
Пару суток назад пришел интересный заказ на доработку скрипта. В данный момент пребываю в глубоком желании дать по рукам человеку, который это писал до меня.
Я не сторонник тотального документирования, но глубоко убежден что использовать односимвольные имена переменных в ключевых участках кода это свинство.
Я не сторонник описывать все и вся, но ставить хотя бы блочные комментарии для систем сложнее одной функции просто необходимо.
Мне ложить на лицензии, но в больших проектах я считаю просто необходимым указывать свои координаты и как со мной связаться, если уж впадлу описать общую логику приложения.
Использование n-мерных представлений для двухмерных данных это моветон. Я убежден в этом.
31 запрос к БД для формирования одной страницы двухмерного отчета это вещь за которую нужно расстреливать.
Наличие в БД избыточных полей и присутствие в таблицах-хранилищах дублирующих текстовых ключей это извращение, это заслуживает строжайшего порицания.
На сегодняшний день, на мой простите профессиональный взгляд на первое место в разработке выходит понятность и лаконичность кода, внимание к структуре БД (неужели трудно нагуглить что такое НФ) и простота дальнейшей поддержки и модернизации.
В 2010 году всем нужно просто обязательно выучить что такое процедуры, а для особо продвинутых стоит озаботиться даже объектами. После этого сверхусилия из многих модулей объемом 41к можно будет получить 20к, а иногда даже 7к что положительно скажется на вашей карме.
That`s all.
Метки: комментарии, методология, программирование
InTV без рекламы (просмотрщик InTV) — 15wmz
Фев 24, 2010 Web-программирование, Бизнес, Купи-продай
Начались продажи граббера InTV. Позволяет быстро и удобно засунуть на сайт онлайн просмотр сериалов, фильмов, мультфильмов, документалок и т.д.
В комплект поставки входят:
1. Настройка на движке заказчика. Интеграция со всеми известными мне CMS. (форумные тоже годятся)
2. Пожизненные обновления
3. Тех. поддержка по icq
Стоимость 15WMZ
Для покупки и уточнений нужно и можно связаться со мной по icq 274–037–572.
PS Сериалы поддерживает, платные материалы не тянет. Сериалы оформляются в виде плейлиста для плеера. В комплекте со скриптом идет Uppod.
На самом InTV запущена неплохая партнерка. По 50 центов за регистрацию, так что у кого есть траф можно лить.
Возьму заказы на скрипты. Цены договорные. Обращаться все в ту же аську.
Метки: intv, веб программирование., граббер, скрипты
На каких движках делать сайты
Дек 28, 2009 Web-программирование, Манимейкерство
В разное время у разных людей читал разные отзывы про тот или иной движок или CMS. Конечной точкой кипения для моего организма стала раскритикованная в пух и прах Перфекционисткой книга неизвестного подмастерья. В связи с этим выскажусь немного по теме.
На первых порах рассматривать платные движки не имеет ни малейшего смысла. Просто забываем за них как таковые. Подобные решения возможно станут нужны в будущем, но сейчас станут скорее ненужной тратой времени, хотя одного представителя данного племени я таки упомяну.
WordPress
В моем списке движок номер один. Единственным недостатком вордпресса можно считать некоторую его неповоротливость под нагрузкой. Это конечно лечится, но путем хитрых манипуляций с шаманским бубном. В остальном это прекрасный движок.
Установка проходит буквально за минуту. Ничего невообразимо сложного в данном процессе нет. Под WP в рунете доступна масса плагинов, шкурок. Поддержка от довольно большого сообщества и хорошо развитая информационная сеть выводят этот движок для новичка пожалуй на первое место. Внутри есть все что прописал доктор включая отложенные публикации, удобную (на мой взгляд админку), механизм пингов, xml. Он хорошо индексируется поисковиками, выстраивает нормальную структуру перелинковки. Все чего нет в базовой поставке можно легко добить через плагины.
На API интерфейсе подробно останавливаться не буду, но из того с чем работал сделано прозрачно и очень удобно. Хорошая архитектура без особых вычурностей. Если что-то не идет сходу, то можно легко подправить в исходниках и не морочить себе голову.
Некоторые сложности могут возникнуть с созданием шаблона с нуля, но это уже далеко не стартовый уровень и достигший такой необходимости человек вполне может либо заплатить умеющему, либо сделать сам.
У меня за все время совместной жизни претензий к WP нет.
Joomla
Движок который меня раздражает. При всей своей популярности и типа доступности. При всех имеющихся плюсах в виде сообщества, шаблонов и модулей расширения данный движок тяжел, туп и крайне неудобен для любых внутренних переделок. Внутренняя структура апи достаточно сложна, вертикальная структура объектов и их связей заставляет постоянно за шота думать.
Сам по себе движок достаточно вроде как и гибок, но сделан через жопу. ИМХО. В общем для потренироваться пойдет, но учитывая прожорливость и неторопливость юзать его в качестве основного я бы не решился.
DLE (платный)
DLE легок, понятен и линеен как шея жирафа. В коде шаблонов разберется хорошо тренированный шимпанзе, верстка простейшая. Разбирается и собирается после 3–5 часов работы как автомат калашникова, легко и с фантазией. Сам по себе код движка довольно прост, позволяет без лишних сложностей засовывать туда все что нужно. Быстр, я бы даже сказал стремителен. Нагрузку держит прекрасно. Умеет сам грабить ленты. В общем просто супер. К числу недостатков можно отнести его платность, но цена не слишком велика, да и нуленые копии встречаются повсеместно.
Drupal
За друпал много не скажу. Работал с ним один раз около года назад. Впечатления остались положительные, но сильно в подноготную не вникал. Усатый хвалит. Поверю на слово. Еще одним преимуществом Друпала на данный момент является его малая распространенность в рунете. Что дает пускай небольшие бенефиты в плане оценки поисковиками.
Самописы
Самописы прекрасное решение на все случаи жизни. Недостатки в необходимости делать админку, в необходимости совать внутрь пингатор (по нынешним временам без него уже никуда), в желательности наличия rss на борту самописа.
Когда имеет смысл делать самопис?
Писать движок самостоятельно с нуля однозначно имеет смысл когда
— вы знаете что вы делаете,
— для развертывания сетей,
— для построение каких-то сложных решений реализация которых на базе имеющихся CMS требует больших трудо и временных затрат.
Когда не нужно писать движок самостоятельно?
Когда вы пишете свою CMS ради того, чтобы
— написать.
— сделать как WP, DLE, Joomla etc.
— вы уверены что разбираться с чужими CMS слишком сложно и глупо
Более мелкие решения
На сегодняшний день на сео рынке представленна целая куча различных решений от мелких производителей движков и частников. У всех у них есть свои сильные и слабые стороны. Как правило большая часть из них заточены под решение каких-либо узких решений. К сожалению под подобные CMS нет столь серьезных сообществ. Наблюдаются проблемы с поиском модов и шаблонов. Из этого можно сделать вывод, что собираясь работать с такими CMS вы уже отчетливо понимать, для чего вам это нужно и как планируется использовать данное решение. Описывать их в рамках данной статьи не вижу смысла. В случае выхода на контакт авторов подобных решений с удовольствие поиграюсь с их детищем и напишу обзор.
На каком из движков разворачивать в конечном итоге сайты?
Оптимальным ответом на данный вопрос будет «На той CMS которой вы лучше всего владеете». Если не владеете ни чем, то по уровню убывания приоритета, по которой могут проконсультировать, по которой больше всего материалов. Иначе что-то тупое и максимально простое аля WordPress.
ЗЫ Кто еще не допер. Написать книженцию по веб строительству типа для новичков в ворде за один раз для меня оказалось неподсильной задачей. Поэтому материалы будут публиковаться и протоколироваться на блоге. В итоге будет сделана компиляция и редактура и одной гавнокнижкой по гавнозаработку станет больше. Аллелуя нах.
Блок рекламы
Мало сайт сделать. Выбор движка и натягивание шаблона это только вершина айсберга. Для нормальной жизни и монетизации проекта ему потребуется продвижение. Раскрутка сайта на Украине это web-promo.com.ua. Заказываем и расслабляемся.
Анонс. Direct Blog Autopost для LoadPartners
Дек 7, 2009 Web-программирование
К концу этой недели мир увидит новая система быстрого развертывания блогов под партнерку LoadPartners. На этот раз в отличии от базовой автопостилки речь будет идти уже за вполне себе такую коммерческую системку с обвесами.
По секрету могу запалить пару фич:
1. Поддержка не только WP, но и ряда блогохостингов
2. Полностью нейтивная работа с кодом WP (предыдущая версия рылась напрямую в базе)
3. Поддержка шаблонизатора для мешапа.
4. Возможность «постепенного» наполнения блога.
А теперь переходим к сути поста. Дабы не прослыть тиранозавром и мудаком я спрашиваю Вас (да, лично тебя) за сколько вы готовы купить подобный скрипт?
ЗЫ Совместно с Перфекционисткой началась работа над ебукой по саттелитам (много палить не обещаю, но кое что зажгу).
Google OS
Дек 4, 2009 Web-программирование
В немного освободившегося свободного времени была скачана и запущена ГуглОс. Печально, но факт. ГуглОс оказалась гуглоотсосом.
Из под моего любимого рабочего прокси дальше панели логина я к сожалению не ушел. Мыши нет. Настроек нет. Короче планета шелезяка.
По моим скромным прикидкам Вин3.1 была поярче чем первое детище Гугл на пути к ОС строению.
Мои выводы лет через 10–15 возможно будет шота приличное, но линуксового типа. Нахрена заниматься подобной фигней загадка, но у богатых компаний свои причуды.
Остается пожелать удачи доблестным гугловцам (не предусмотревшим режим демонтстрации для своего детища и выкинувших этого недоноска в сеть) и вернуться в родную уютную виндовз.
Раскрыта тема саттелитов
Ноя 25, 2009 Web-программирование
Есть у меня генератор саттелитов. Ничего сложного, но с фантазией. И способен генератор саттелиты под сапу генерить. Количество страниц от 200 до N. В индексе даже первые модели держатся по 5–7 месяцев (да и уходят не в бан, а под АГС).
Внимание вопрос: Если вдруг в моей шальной башке родится мысль загнать 100–200 сайтов кто бы и сколько взял? Какие тематики интересуют? Какое количество страниц для вас оптимально? Ну и главное сколько денег за подобное чудо вы готовы отвалить?
ЗЫ Количество сайтов взято не с потолка, а есть оптимальное (по сложнейшим формулам, в основе которых лежат тибетские мудрости и наработки кровавой гебни, расчитанное число) дабы не спалить тему.
ЗЫ2 Сразу предупреждаю под партнерки саты практически не пригодны, тока под сапу или для прокачки основных площадок. Пригодные сделать можно, но я не буду ибо это палево. Из этого и исходим.
ЗЫ3 Данный пост не повод стучать в аську и задавать тупые вопросы. Тема генератора не обсуждается.
ЗЫ4. А граждан программистов я попрошу воздержаться от срача в комментах. Да Декус тоже решил под новый год шота продать. Есть шота! Кому шота!
Метки: продажа
Программисты vs Заказчики
Ноя 3, 2009 Web-программирование
Сегодня на прочитал что во всех бедах заказчиков виноваты программисты. Люди это в большинстве своем ненадежные, кидалы и просто ходячее пособие по распиздяйству. Можете считать все что ниже ответом разгневанного программиста:
1. По хорошему между программистом и заказчиком должен находиться еще как минимум проектный менеджер. Проектный менеджер это человек понимающий заказчика и программиста (грубо говоря это аналог совкового технолога способный невнятное лепетание заказчика перевести в простые логические конструкции).
2. Т.к. менеджеров у нас нет, а там где есть дорого, то заказчики идут к частникам. Частник лицо анонимное, на данный момент у нас школьник за 2 недели прочитавший книжку по пхп уже считается программистом. Здесь важно понимать, что большая часть провальных проектов именно на это и напарывается. Понимаете, в программировании есть понятия проектирования и кодирования. Книжка по пхп дает понятие о кодировании, но не учит алгоритмистике, не объясняет паттернов, не дает устойчивых конструкций.
Вообще большая часть из присутствующих на рынке сегодня программистов ниже среднего уровня (чтобы было понятно себя со своими около 10 годами опыта промышленного и коммерческого программирования я отношу к разделу чуть ниже среднего). У нас много кодеров, но мало архитекторов. Даже изучая исходные коды большей части крупных веб систем на сегодняшний день понимаешь что код и архитектура находятся на доисторическом уровне.
3. ТЗ превращается. По моим оценкам порядка 40–60% проблем на рынке фриланс программирования приходится на нечеткую постановку задачи. В ходе начала работы ТЗ начинает мутировать, расти, меняться в итоге на выходе получается совсем не то, что заказывали. Причины я думаю всем понятны, в ходе работы заказчику очень хочется добавить пару удобных вещиц, присобачить еще вот это, на середине проекта понять, что ошибался и переделать заново и т.д. При этом на все заявки программиста о том, что цена меняется начинаются вопли, мол обирают нас и работать вы не умеете.
4. Неумение формулировать задачу. Второй проблемой с ТЗ является неумение заказчика объяснить что он хочет. Очень часто заказ носит характер показа страницы или скрипта и вопля мне нужно вот это но не так. Здесь сходу можно оценить уровень программиста на которого вы наткнулись. При неясных вводных нормальный исполнитель запросит как минимум пару примеров входных и выходных данных. На основе этой информации можно попробовать прикинуть, как работает потенциальный заказ. Проблема в том, что мы не Кашпировские и знать что происходит в фантазии заказчика не можем. Проблема решается прототипированием — сбором минимальной конфигурации рабочего примера и последующим обсуждением с заказчиком что так, а что нет. Это естественно требует времени. (подробнее об этом ниже).
5. Я не знаю ни одного проекта сложнее 2+2 который писался бы с первого раза. Любой проект в рамках сущесвтующих систем управления разработкой проходит несколько обязательных этапов. Агиле жестокая штука. Без прототипа вы не выйдете на альфу. Без альфы нет беты. Без беты сложно прыгнуть сразу на релизкандидат. Ну а от релизкандидата до релиза уже рукой подать. В ходе этих этапов разработки программист и заказчик вырабатывают общее видение разрабатываемого продукта и начинают хоть как-то друг друга понимать.
6. Наиболее производительные спарки — хорошо притерты. При длительной работе с программистами на каком-то этапе заказчик все же мутирует в подобие проектного менеджера, правда программист тоже частично в него мутирует, тем самым они вдвоем заполняют имеющуюся брешь в процессе разработки. Многие заказчики часто входят в заблуждение что если они успешно работают с одним программистом, то эта же схема будет работать и на другом. Это заблужение. Программист не БМВ, уровень мастерства, опыт и понимание у каждого разные. Факты понятные изначально одному, могут представлять собой темный лес для другого. Именно поэтому я считаю наилучшим вариантом длительное сотрудничество подобных пар (для примера я работаю, правда уже с партнером, над проектом порядка полугода. За полгода мы научились как-то понимать друг друга).
7. Программисты работают лишь 30% времени в день. Господа, я открою вам секрет, 30% это очень большой показатель. Ваши вечные жалобы что программисты лишь в пустую тратят ваше время и бабки — ошибка. Программирование (именно программирование, а не кодинг) это не гайки на заводе закручивать. Любой программист, как и писатель 90% времени думает и лишь 10% времени пишет. Если программист не будет думать, то вы получите тонны кода, который будет либо не оптимальным, либо нерабочим, либо просто не там где надо.
Все выше имхо, но близко к истине. Думайте. Комменты в тему приветствуются.
Метки: заказ, программирование, фриланс
WP автопостилка
Окт 29, 2009 Web-программирование, Манимейкерство
Я собирался доделать человеческий интерфейс хоть какой-то, но раз уж у вас такая истерика, хуй с вами. Предоставляется бесплатно, предоставляется as is.
Будет сильно надо с вопросами ищите меня в аське и на мыле. По возможности отвечу. Скрипт рабочий, на базе него создано по крайней мере 10 сайтов поэтому если не работает не ебите мне мозг. У вас просто кривые руки.
Для работы нужен php5. Конект к wp осуществляется путем инклуда wp-config.php. Ложить нужно в корень сайта.
Об ошибках и пожеланиях в дальнейшей разработке можно писать в данной записи в комментах. По мере возможности может и доделаю. Скрипт не коммерческий поэтому все ваши претензии я на хую вертел. В комплекте со скриптом идет моя php библиотека на базе которой много чего еще можно разработать. Синтаксис несложный я думаю разберетесь. Базу данных нужно прописывать помимо wp-config также в engine/cdbinfo.php. Логин и пароль на доступ к базе прописывается в core/cdb.php
После использования скрипт с хостинга удалять т.к. он подвержен ряду инъекционных атак и в силу последних 4 лет жизни в тепличных условиях обладает вообще слабой системой безопасности.
Формат сообщения, метки и катерогории настраиваются только в скрипте. ГУИ интерфейса НЕТ.
ЗЫ Сразу пресекая вопли «не могу разобраться». Выложили гавно. и т.д. Господа есть плаги RC-Kino — стоит $75 и RC-Alawar — тоже стоит $75
Они с интерфейсом, тех поддержкой, и т.д. и т.п. или мой бесплатный конструктор сделай сам. Вот такая хуевая жизнь друзья мои.
Роланд Чанишвили запустил в бета партнерку по продаже скриптов
Окт 29, 2009 Web-программирование, Новости
Пост носит характер социальной рекламы. Я не получаю за это денег, я не набираю рефов, я не хочу вам ничего продать. тчк. Просто мне искренне симпатичен этот человек.
Итак сегодня утром в моем ридере нарисовался пост по началу тестирования партнерской программы от Роланда.
подробности: http://www.chanishvili.org/testirovanie-partnerskoj-programmy/
В целом человек вменяемый, сама партнерка выполнена достаточно удобно есть возможность формирования наценки и бандлов. Скрипты (я их тоже видел) выполнены очень качественно. Сам не использую, предпочитаю свои, но если бы я надумал торговать своими модулями, то многие интерфейсные решения я бы у Роланда дернул. Да и дернул собственно, для собственного удобства ))
Скрипты сильно облегчают развертывание партнерских сайтов без знаний программирования. При учете всеобщей истерии по поводу АГС и ажиотажа вокруг партнерских сайтов товар вполне ходовой.
При наличии мозга сумма затрат на покупку отбивается очень быстро. Роланд вменяемый, приятный в общении человек, поэтому будущим реселлерам советую стучать в аську, спрашивать и договариваться.
Удачных продаж
Метки: партнерки
Ext gwt (gxt). Компоновка страницы. LayoutContainer
Окт 13, 2009 Web-программирование
Базовым классом хранилищем в gxt является LayoutContainer. Для позиционирования содержимого внутри контейнера применяются специальные layout managers.
По умолчанию для LayoutContainer применяется раскладка FlowLayout. Это базовая раскладка характерная для обычного html. Т.е. стартуем от левого верхнего угла и заполняем контейнер слева на право и сверху вниз.
Для отображения любого элемента в проекте его необходимо добавить в корневой элемент GWT RootPanel.
Пример инициализации LayoutContainer
LayoutContainer container = new LayoutContainer();
container.add(new Button("Бабло"));
container.setSize(300,300);
container.setBorders(true);
RootPanel.get().add(container);
container.layout();
На что в этом коде стоит обратить внимание:
1. По умолчанию границы контейнера не отображаются. Чтобы сделать их видимыми используем container.setBorders(true);
2. Для добавления элемента на RootPanel необходимо получить ссылку на экземпляр (на сколько я понимаю) делается это при помощи RootPanel.get().add(собственно добавляемый элемент)
3. В отличии от GWT элементов GXT виджеты отрисовываются по вызову рендера (этот механизм я рассмотрю чуть позднее (пока сам еще не полностью понимаю архитектуру)) поэтому при динамическом добавлении элементов в ходе работы или для первичной отрисовки элемента необходимо сделать вызов container.layout();, который применяет текущую схему раскладки и прорисовывает элементы. .layout() для child элементов вызывается автоматом.
Метки: gxt, LayoutContainer
